Jelajahi Sumber

Add Month & Weekday locale accessors.

joeybloggs 10 tahun lalu
induk
melakukan
d76a9c4189
100 mengubah file dengan 72 tambahan dan 114 penghapusan
  1. 0 1
      af/af.go
  2. 0 1
      af_NA/af_NA.go
  3. 0 1
      af_ZA/af_ZA.go
  4. 0 1
      agq/agq.go
  5. 0 1
      agq_CM/agq_CM.go
  6. 0 1
      ak/ak.go
  7. 0 1
      ak_GH/ak_GH.go
  8. 0 1
      am/am.go
  9. 0 1
      am_ET/am_ET.go
  10. 0 1
      ar/ar.go
  11. 0 1
      ar_001/ar_001.go
  12. 0 1
      ar_AE/ar_AE.go
  13. 0 1
      ar_BH/ar_BH.go
  14. 0 1
      ar_DJ/ar_DJ.go
  15. 0 1
      ar_DZ/ar_DZ.go
  16. 0 1
      ar_EG/ar_EG.go
  17. 0 1
      ar_EH/ar_EH.go
  18. 0 1
      ar_ER/ar_ER.go
  19. 0 1
      ar_IL/ar_IL.go
  20. 0 1
      ar_IQ/ar_IQ.go
  21. 0 1
      ar_JO/ar_JO.go
  22. 0 1
      ar_KM/ar_KM.go
  23. 0 1
      ar_KW/ar_KW.go
  24. 0 1
      ar_LB/ar_LB.go
  25. 0 1
      ar_LY/ar_LY.go
  26. 0 1
      ar_MA/ar_MA.go
  27. 0 1
      ar_MR/ar_MR.go
  28. 0 1
      ar_OM/ar_OM.go
  29. 0 1
      ar_PS/ar_PS.go
  30. 0 1
      ar_QA/ar_QA.go
  31. 0 1
      ar_SA/ar_SA.go
  32. 0 1
      ar_SD/ar_SD.go
  33. 0 1
      ar_SO/ar_SO.go
  34. 0 1
      ar_SS/ar_SS.go
  35. 0 1
      ar_SY/ar_SY.go
  36. 0 1
      ar_TD/ar_TD.go
  37. 0 1
      ar_TN/ar_TN.go
  38. 0 1
      ar_YE/ar_YE.go
  39. 0 1
      as/as.go
  40. 0 1
      as_IN/as_IN.go
  41. 0 1
      asa/asa.go
  42. 0 1
      asa_TZ/asa_TZ.go
  43. 0 1
      ast/ast.go
  44. 0 1
      ast_ES/ast_ES.go
  45. 0 1
      az/az.go
  46. 0 1
      az_Cyrl/az_Cyrl.go
  47. 0 1
      az_Cyrl_AZ/az_Cyrl_AZ.go
  48. 0 1
      az_Latn/az_Latn.go
  49. 0 1
      az_Latn_AZ/az_Latn_AZ.go
  50. 0 1
      bas/bas.go
  51. 0 1
      bas_CM/bas_CM.go
  52. 0 1
      be/be.go
  53. 0 1
      be_BY/be_BY.go
  54. 0 1
      bem/bem.go
  55. 0 1
      bem_ZM/bem_ZM.go
  56. 0 1
      bez/bez.go
  57. 0 1
      bez_TZ/bez_TZ.go
  58. 0 1
      bg/bg.go
  59. 0 1
      bg_BG/bg_BG.go
  60. 0 1
      bm/bm.go
  61. 0 1
      bm_ML/bm_ML.go
  62. 0 1
      bn/bn.go
  63. 0 1
      bn_BD/bn_BD.go
  64. 0 1
      bn_IN/bn_IN.go
  65. 0 1
      bo/bo.go
  66. 0 1
      bo_CN/bo_CN.go
  67. 0 1
      bo_IN/bo_IN.go
  68. 0 1
      br/br.go
  69. 0 1
      br_FR/br_FR.go
  70. 0 1
      brx/brx.go
  71. 0 1
      brx_IN/brx_IN.go
  72. 0 1
      bs/bs.go
  73. 0 1
      bs_Cyrl/bs_Cyrl.go
  74. 0 1
      bs_Cyrl_BA/bs_Cyrl_BA.go
  75. 0 1
      bs_Latn/bs_Latn.go
  76. 0 1
      bs_Latn_BA/bs_Latn_BA.go
  77. 0 1
      ca/ca.go
  78. 0 1
      ca_AD/ca_AD.go
  79. 0 1
      ca_ES/ca_ES.go
  80. 0 1
      ca_ES_VALENCIA/ca_ES_VALENCIA.go
  81. 0 1
      ca_FR/ca_FR.go
  82. 0 1
      ca_IT/ca_IT.go
  83. 0 1
      ce/ce.go
  84. 0 1
      ce_RU/ce_RU.go
  85. 0 1
      cgg/cgg.go
  86. 0 1
      cgg_UG/cgg_UG.go
  87. 0 1
      chr/chr.go
  88. 0 1
      chr_US/chr_US.go
  89. 0 1
      ckb/ckb.go
  90. 0 1
      ckb_IQ/ckb_IQ.go
  91. 0 1
      ckb_IR/ckb_IR.go
  92. 2 12
      cmd/generate_resources.go
  93. 70 4
      cmd/translator.tmpl
  94. 0 1
      cs/cs.go
  95. 0 1
      cs_CZ/cs_CZ.go
  96. 0 1
      cu/cu.go
  97. 0 1
      cu_RU/cu_RU.go
  98. 0 1
      cy/cy.go
  99. 0 1
      cy_GB/cy_GB.go
  100. 0 1
      da/da.go

File diff ditekan karena terlalu besar
+ 0 - 1
af/af.go


File diff ditekan karena terlalu besar
+ 0 - 1
af_NA/af_NA.go


File diff ditekan karena terlalu besar
+ 0 - 1
af_ZA/af_ZA.go


File diff ditekan karena terlalu besar
+ 0 - 1
agq/agq.go


File diff ditekan karena terlalu besar
+ 0 - 1
agq_CM/agq_CM.go


File diff ditekan karena terlalu besar
+ 0 - 1
ak/ak.go


File diff ditekan karena terlalu besar
+ 0 - 1
ak_GH/ak_GH.go


File diff ditekan karena terlalu besar
+ 0 - 1
am/am.go


File diff ditekan karena terlalu besar
+ 0 - 1
am_ET/am_ET.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar/ar.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_001/ar_001.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_AE/ar_AE.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_BH/ar_BH.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_DJ/ar_DJ.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_DZ/ar_DZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_EG/ar_EG.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_EH/ar_EH.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_ER/ar_ER.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_IL/ar_IL.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_IQ/ar_IQ.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_JO/ar_JO.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_KM/ar_KM.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_KW/ar_KW.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_LB/ar_LB.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_LY/ar_LY.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_MA/ar_MA.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_MR/ar_MR.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_OM/ar_OM.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_PS/ar_PS.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_QA/ar_QA.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_SA/ar_SA.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_SD/ar_SD.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_SO/ar_SO.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_SS/ar_SS.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_SY/ar_SY.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_TD/ar_TD.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_TN/ar_TN.go


File diff ditekan karena terlalu besar
+ 0 - 1
ar_YE/ar_YE.go


File diff ditekan karena terlalu besar
+ 0 - 1
as/as.go


File diff ditekan karena terlalu besar
+ 0 - 1
as_IN/as_IN.go


File diff ditekan karena terlalu besar
+ 0 - 1
asa/asa.go


File diff ditekan karena terlalu besar
+ 0 - 1
asa_TZ/asa_TZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
ast/ast.go


File diff ditekan karena terlalu besar
+ 0 - 1
ast_ES/ast_ES.go


File diff ditekan karena terlalu besar
+ 0 - 1
az/az.go


File diff ditekan karena terlalu besar
+ 0 - 1
az_Cyrl/az_Cyrl.go


File diff ditekan karena terlalu besar
+ 0 - 1
az_Cyrl_AZ/az_Cyrl_AZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
az_Latn/az_Latn.go


File diff ditekan karena terlalu besar
+ 0 - 1
az_Latn_AZ/az_Latn_AZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
bas/bas.go


File diff ditekan karena terlalu besar
+ 0 - 1
bas_CM/bas_CM.go


File diff ditekan karena terlalu besar
+ 0 - 1
be/be.go


File diff ditekan karena terlalu besar
+ 0 - 1
be_BY/be_BY.go


File diff ditekan karena terlalu besar
+ 0 - 1
bem/bem.go


File diff ditekan karena terlalu besar
+ 0 - 1
bem_ZM/bem_ZM.go


File diff ditekan karena terlalu besar
+ 0 - 1
bez/bez.go


File diff ditekan karena terlalu besar
+ 0 - 1
bez_TZ/bez_TZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
bg/bg.go


File diff ditekan karena terlalu besar
+ 0 - 1
bg_BG/bg_BG.go


File diff ditekan karena terlalu besar
+ 0 - 1
bm/bm.go


File diff ditekan karena terlalu besar
+ 0 - 1
bm_ML/bm_ML.go


File diff ditekan karena terlalu besar
+ 0 - 1
bn/bn.go


File diff ditekan karena terlalu besar
+ 0 - 1
bn_BD/bn_BD.go


File diff ditekan karena terlalu besar
+ 0 - 1
bn_IN/bn_IN.go


File diff ditekan karena terlalu besar
+ 0 - 1
bo/bo.go


File diff ditekan karena terlalu besar
+ 0 - 1
bo_CN/bo_CN.go


File diff ditekan karena terlalu besar
+ 0 - 1
bo_IN/bo_IN.go


File diff ditekan karena terlalu besar
+ 0 - 1
br/br.go


File diff ditekan karena terlalu besar
+ 0 - 1
br_FR/br_FR.go


File diff ditekan karena terlalu besar
+ 0 - 1
brx/brx.go


File diff ditekan karena terlalu besar
+ 0 - 1
brx_IN/brx_IN.go


File diff ditekan karena terlalu besar
+ 0 - 1
bs/bs.go


File diff ditekan karena terlalu besar
+ 0 - 1
bs_Cyrl/bs_Cyrl.go


File diff ditekan karena terlalu besar
+ 0 - 1
bs_Cyrl_BA/bs_Cyrl_BA.go


File diff ditekan karena terlalu besar
+ 0 - 1
bs_Latn/bs_Latn.go


File diff ditekan karena terlalu besar
+ 0 - 1
bs_Latn_BA/bs_Latn_BA.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca/ca.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca_AD/ca_AD.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca_ES/ca_ES.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca_ES_VALENCIA/ca_ES_VALENCIA.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca_FR/ca_FR.go


File diff ditekan karena terlalu besar
+ 0 - 1
ca_IT/ca_IT.go


File diff ditekan karena terlalu besar
+ 0 - 1
ce/ce.go


File diff ditekan karena terlalu besar
+ 0 - 1
ce_RU/ce_RU.go


File diff ditekan karena terlalu besar
+ 0 - 1
cgg/cgg.go


File diff ditekan karena terlalu besar
+ 0 - 1
cgg_UG/cgg_UG.go


File diff ditekan karena terlalu besar
+ 0 - 1
chr/chr.go


File diff ditekan karena terlalu besar
+ 0 - 1
chr_US/chr_US.go


File diff ditekan karena terlalu besar
+ 0 - 1
ckb/ckb.go


File diff ditekan karena terlalu besar
+ 0 - 1
ckb_IQ/ckb_IQ.go


File diff ditekan karena terlalu besar
+ 0 - 1
ckb_IR/ckb_IR.go


+ 2 - 12
cmd/generate_resources.go

@@ -107,7 +107,6 @@ type translator struct {
 
 	FmtMonthsAbbreviated string
 	FmtMonthsNarrow      string
-	FmtMonthsShort       string
 	FmtMonthsWide        string
 
 	FmtDaysAbbreviated string
@@ -428,10 +427,6 @@ func postProcess(cldr *cldr.CLDR) {
 			trans.FmtMonthsNarrow = base.FmtMonthsNarrow
 		}
 
-		if len(trans.FmtMonthsShort) == 0 && found {
-			trans.FmtMonthsShort = base.FmtMonthsShort
-		}
-
 		if len(trans.FmtMonthsWide) == 0 && found {
 			trans.FmtMonthsWide = base.FmtMonthsWide
 		}
@@ -813,7 +808,7 @@ func preProcess(cldrVar *cldr.CLDR) {
 						// month context starts at 'format', but there is also has 'stand-alone'
 						// I'm making the decision to use the 'stand-alone' if, and only if,
 						// the value does not exist in the 'format' month context
-						var abbrSet, narrSet, shortSet, wideSet bool
+						var abbrSet, narrSet, wideSet bool
 
 						for _, monthctx := range calendar.Months.MonthContext {
 
@@ -873,11 +868,6 @@ func preProcess(cldrVar *cldr.CLDR) {
 											narrSet = true
 											trans.FmtMonthsNarrow = fmt.Sprintf("%#v", monthData)
 										}
-									case "short":
-										if !shortSet {
-											shortSet = true
-											trans.FmtMonthsShort = fmt.Sprintf("%#v", monthData)
-										}
 									case "wide":
 										if !wideSet {
 											wideSet = true
@@ -1310,7 +1300,7 @@ func parseDateTimeFormat(baseLocale, format string) (results string) {
 
 				results += `
 					tz, _ := t.Zone()
-					
+
 					if btz, ok := ` + baseLocale + `.timezones[tz]; ok {
 						b = append(b, btz...)
 					} else {

+ 70 - 4
cmd/translator.tmpl

@@ -42,7 +42,6 @@ type {{ .Locale }} struct {
 	{{- end }}
 	monthsAbbreviated      [][]byte
 	monthsNarrow      	   [][]byte
-	monthsShort      	   [][]byte
 	monthsWide      	   [][]byte
 	daysAbbreviated        [][]byte
 	daysNarrow      	   [][]byte
@@ -100,9 +99,6 @@ func New() locales.Translator {
 		{{- if gt (len .FmtMonthsNarrow) 0 }}
 		monthsNarrow:   {{ .FmtMonthsNarrow }},
 		{{- end -}}
-		{{- if gt (len .FmtMonthsShort) 0 }}
-		monthsShort:   {{ .FmtMonthsShort }},
-		{{- end -}}
 		{{- if gt (len .FmtMonthsWide) 0 }}
 		monthsWide:   {{ .FmtMonthsWide }},
 		{{- end -}}
@@ -173,6 +169,76 @@ func({{ .BaseLocale }} *{{ .Locale }}) RangePluralRule(num1 float64, v1 uint64,n
 	{{ .RangeFunc }}
 }
 
+// MonthAbbreviated returns the locales abbreviated month given the 'month' provided
+func({{ .BaseLocale }} *{{ .Locale }}) MonthAbbreviated(month time.Month) []byte {
+	return {{ .BaseLocale }}.monthsAbbreviated[month]
+}
+
+// MonthsAbbreviated returns the locales abbreviated months
+func({{ .BaseLocale }} *{{ .Locale }}) MonthsAbbreviated() [][]byte {
+	return {{ .BaseLocale }}.monthsAbbreviated[1:]
+}
+
+// MonthNarrow returns the locales narrow month given the 'month' provided
+func({{ .BaseLocale }} *{{ .Locale }}) MonthNarrow(month time.Month) []byte {
+	return {{ .BaseLocale }}.monthsNarrow[month]
+}
+
+// MonthsNarrow returns the locales narrow months
+func({{ .BaseLocale }} *{{ .Locale }}) MonthsNarrow() [][]byte {
+	return {{ .BaseLocale }}.monthsNarrow[1:]
+}
+
+// MonthWide returns the locales wide month given the 'month' provided
+func({{ .BaseLocale }} *{{ .Locale }}) MonthWide(month time.Month) []byte {
+	return {{ .BaseLocale }}.monthsWide[month]
+}
+
+// MonthsWide returns the locales wide months
+func({{ .BaseLocale }} *{{ .Locale }}) MonthsWide() [][]byte {
+	return {{ .BaseLocale }}.monthsWide[1:]
+}
+
+// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdayAbbreviated(weekday time.Weekday) []byte {
+	return {{ .BaseLocale }}.daysAbbreviated[weekday]
+}
+
+// WeekdaysAbbreviated returns the locales abbreviated weekdays
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdaysAbbreviated() [][]byte {
+	return {{ .BaseLocale }}.daysAbbreviated
+}
+
+// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdayNarrow(weekday time.Weekday) []byte {
+	return {{ .BaseLocale }}.daysNarrow[weekday]
+}
+
+// WeekdaysNarrow returns the locales narrow weekdays
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdaysNarrow() [][]byte {
+	return {{ .BaseLocale }}.daysNarrow
+}
+
+// WeekdayShort returns the locales short weekday given the 'weekday' provided
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdayShort(weekday time.Weekday) []byte {
+	return {{ .BaseLocale }}.daysShort[weekday]
+}
+
+// WeekdaysShort returns the locales short weekdays
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdaysShort() [][]byte {
+	return {{ .BaseLocale }}.daysShort
+}
+
+// WeekdayWide returns the locales wide weekday given the 'weekday' provided
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdayWide(weekday time.Weekday) []byte {
+	return {{ .BaseLocale }}.daysWide[weekday]
+}
+
+// WeekdaysWide returns the locales wide weekdays
+func({{ .BaseLocale }} *{{ .Locale }}) WeekdaysWide() [][]byte {
+	return {{ .BaseLocale }}.daysWide
+}
+
 // FmtNumber returns 'num' with digits/precision of 'v' for '{{ .Locale }}' and handles both Whole and Real numbers based on 'v'
 // returned as a []byte just in case the caller wishes to add more and can help
 // avoid allocations; otherwise just cast as string.

File diff ditekan karena terlalu besar
+ 0 - 1
cs/cs.go


File diff ditekan karena terlalu besar
+ 0 - 1
cs_CZ/cs_CZ.go


File diff ditekan karena terlalu besar
+ 0 - 1
cu/cu.go


File diff ditekan karena terlalu besar
+ 0 - 1
cu_RU/cu_RU.go


File diff ditekan karena terlalu besar
+ 0 - 1
cy/cy.go


File diff ditekan karena terlalu besar
+ 0 - 1
cy_GB/cy_GB.go


File diff ditekan karena terlalu besar
+ 0 - 1
da/da.go


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini