twitter_cldr 6.9.0 → 6.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -28
  3. data/lib/twitter_cldr/resources/calendars_importer.rb +48 -46
  4. data/lib/twitter_cldr/resources/cldr_data_builder.rb +36 -0
  5. data/lib/twitter_cldr/resources/cldr_document_set.rb +149 -0
  6. data/lib/twitter_cldr/resources/cldr_dtd.rb +110 -0
  7. data/lib/twitter_cldr/resources/cldr_locale.rb +78 -0
  8. data/lib/twitter_cldr/resources/list_formats_importer.rb +1 -1
  9. data/lib/twitter_cldr/resources/number_formats_importer.rb +1 -1
  10. data/lib/twitter_cldr/resources/readme_renderer.rb +6 -2
  11. data/lib/twitter_cldr/resources/requirements/cldr_requirement.rb +12 -61
  12. data/lib/twitter_cldr/resources/territories_importer.rb +1 -1
  13. data/lib/twitter_cldr/resources/timezones_importer.rb +1 -1
  14. data/lib/twitter_cldr/resources/unicode_property_aliases_importer.rb +2 -0
  15. data/lib/twitter_cldr/resources/units_importer.rb +1 -1
  16. data/lib/twitter_cldr/resources.rb +8 -3
  17. data/lib/twitter_cldr/shared/calendar.rb +1 -1
  18. data/lib/twitter_cldr/version.rb +1 -1
  19. data/resources/locales/ar/calendars.yml +2 -1
  20. data/resources/locales/az/calendars.yml +2 -1
  21. data/resources/locales/be/calendars.yml +2 -1
  22. data/resources/locales/bg/calendars.yml +2 -1
  23. data/resources/locales/bn/calendars.yml +2 -1
  24. data/resources/locales/bo/calendars.yml +34 -2
  25. data/resources/locales/bs/calendars.yml +1 -0
  26. data/resources/locales/cy/calendars.yml +1 -0
  27. data/resources/locales/el/calendars.yml +2 -1
  28. data/resources/locales/en/calendars.yml +15 -0
  29. data/resources/locales/en-001/calendars.yml +6 -0
  30. data/resources/locales/en-150/calendars.yml +6 -0
  31. data/resources/locales/en-AU/calendars.yml +4 -0
  32. data/resources/locales/en-CA/calendars.yml +11 -5
  33. data/resources/locales/en-GB/calendars.yml +3 -0
  34. data/resources/locales/en-IE/calendars.yml +6 -0
  35. data/resources/locales/en-IN/calendars.yml +6 -0
  36. data/resources/locales/en-NZ/calendars.yml +6 -0
  37. data/resources/locales/en-SG/calendars.yml +6 -0
  38. data/resources/locales/en-US/calendars.yml +15 -0
  39. data/resources/locales/en-ZA/calendars.yml +6 -0
  40. data/resources/locales/eo/calendars.yml +27 -0
  41. data/resources/locales/es/calendars.yml +2 -1
  42. data/resources/locales/es-419/calendars.yml +2 -1
  43. data/resources/locales/es-AR/calendars.yml +2 -1
  44. data/resources/locales/es-CO/calendars.yml +2 -1
  45. data/resources/locales/es-MX/calendars.yml +2 -1
  46. data/resources/locales/es-US/calendars.yml +2 -1
  47. data/resources/locales/fil/calendars.yml +4 -3
  48. data/resources/locales/gl/calendars.yml +2 -1
  49. data/resources/locales/hi/calendars.yml +2 -1
  50. data/resources/locales/hy/calendars.yml +4 -3
  51. data/resources/locales/ka/calendars.yml +2 -1
  52. data/resources/locales/kk/calendars.yml +2 -1
  53. data/resources/locales/km/calendars.yml +2 -1
  54. data/resources/locales/kn/calendars.yml +2 -1
  55. data/resources/locales/ko/calendars.yml +2 -1
  56. data/resources/locales/lo/calendars.yml +2 -1
  57. data/resources/locales/mk/calendars.yml +1 -1
  58. data/resources/locales/mr/calendars.yml +2 -1
  59. data/resources/locales/mt/calendars.yml +2 -1
  60. data/resources/locales/my/calendars.yml +2 -1
  61. data/resources/locales/pl/calendars.yml +2 -1
  62. data/resources/locales/pt/calendars.yml +2 -1
  63. data/resources/locales/pt-PT/calendars.yml +2 -1
  64. data/resources/locales/sk/calendars.yml +2 -1
  65. data/resources/locales/sl/calendars.yml +2 -1
  66. data/resources/locales/sr/calendars.yml +2 -0
  67. data/resources/locales/sr-Cyrl-ME/calendars.yml +3 -1
  68. data/resources/locales/sr-Latn-ME/calendars.yml +3 -1
  69. data/resources/locales/sw/calendars.yml +2 -1
  70. data/resources/locales/ta/calendars.yml +2 -1
  71. data/resources/locales/th/calendars.yml +1 -0
  72. data/resources/locales/tr/calendars.yml +2 -1
  73. data/resources/locales/ur/calendars.yml +2 -1
  74. data/resources/locales/xh/calendars.yml +32 -1
  75. data/resources/locales/zu/calendars.yml +3 -1
  76. data/spec/formatters/calendars/datetime_formatter_spec.rb +2 -2
  77. data/spec/shared/calendar_spec.rb +8 -8
  78. metadata +6 -2
@@ -0,0 +1,78 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2012 Twitter, Inc
4
+ # http://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ require 'nokogiri'
7
+
8
+ module TwitterCldr
9
+ module Resources
10
+
11
+ class CldrLocale
12
+ attr_reader :base_locale, :cldr_requirement
13
+
14
+ def initialize(base_locale, cldr_requirement)
15
+ @base_locale = base_locale
16
+ @cldr_requirement = cldr_requirement
17
+ end
18
+
19
+ def ancestors
20
+ @ancestors ||= [].tap do |ancestry|
21
+ locale = from_fs(base_locale)
22
+ ancestry << locale
23
+
24
+ loop do
25
+ cur = from_fs(ancestry.last)
26
+
27
+ if parents = parent_locales[cur]
28
+ ancestry << to_fs(parents)
29
+ elsif I18n::Locale::Tag.tag(cur).self_and_parents.count > 1
30
+ ancestry << I18n::Locale::Tag.tag(cur).self_and_parents.last.to_sym
31
+ else
32
+ parents = TwitterCldr::Shared::Locale
33
+ .parse(cur)
34
+ .permutations
35
+ .select do |loc|
36
+ File.exist?(File.join(cldr_requirement.common_path, 'main', "#{loc}.xml"))
37
+ end
38
+
39
+ ancestry.concat(parents - [cur])
40
+ break
41
+ end
42
+ end
43
+
44
+ ancestry << "root"
45
+ ancestry.freeze
46
+ end
47
+ end
48
+
49
+ private
50
+
51
+ def to_fs(locale)
52
+ locale.to_s.gsub('_', '-').to_sym
53
+ end
54
+
55
+ def from_fs(locale)
56
+ locale.to_s.gsub('-', '_')
57
+ end
58
+
59
+ def parent_locales
60
+ @parent_locales ||= supplemental_data.xpath('//parentLocales/parentLocale').each_with_object({}) do |node, ret|
61
+ parent = node.attr('parent')
62
+ locales = node.attr('locales').split(' ')
63
+
64
+ locales.each do |locale|
65
+ ret[locale] = parent
66
+ end
67
+ end
68
+ end
69
+
70
+ def supplemental_data
71
+ @supplemental_data ||= Nokogiri.XML(
72
+ File.read(File.join(cldr_requirement.common_path, 'supplemental', 'supplementalData.xml'))
73
+ )
74
+ end
75
+ end
76
+
77
+ end
78
+ end
@@ -49,7 +49,7 @@ module TwitterCldr
49
49
  # locales, we fill in any missing parts at the minor risk of being slightly wrong
50
50
  # when formatting lists. In my opinion, it's far better to produce a slightly wrong
51
51
  # string than to error or produce an entirely empty string.
52
- data = requirements[:cldr].merge_each_ancestor(locale) do |ancestor_locale|
52
+ data = requirements[:cldr].build_data(locale) do |ancestor_locale|
53
53
  ListFormats.new(ancestor_locale, requirements[:cldr]).to_h
54
54
  end
55
55
 
@@ -36,7 +36,7 @@ module TwitterCldr
36
36
  end
37
37
 
38
38
  def import_locale(locale)
39
- data = requirements[:cldr].merge_each_ancestor(locale) do |ancestor_locale|
39
+ data = requirements[:cldr].build_data(locale) do |ancestor_locale|
40
40
  NumberFormats.new(ancestor_locale, requirements[:cldr]).to_h
41
41
  end
42
42
 
@@ -4,6 +4,7 @@
4
4
  # http://www.apache.org/licenses/LICENSE-2.0
5
5
 
6
6
  require 'erb'
7
+ require 'yaml'
7
8
 
8
9
  module TwitterCldr
9
10
  module Resources
@@ -79,8 +80,6 @@ module TwitterCldr
79
80
  end
80
81
  end
81
82
 
82
- private
83
-
84
83
  def line_num_from_stack_trace(trace)
85
84
  trace[0].split(":")[1].to_i # kind of a hack...
86
85
  end
@@ -101,6 +100,11 @@ module TwitterCldr
101
100
  ret
102
101
  end
103
102
  end
103
+
104
+ def tested_ruby_versions
105
+ workflow = YAML.load_file(File.join(*%w(.github workflows unit_tests.yml)))
106
+ workflow["jobs"]["build"]["strategy"]["matrix"]["ruby-version"].join(", ")
107
+ end
104
108
  end
105
109
 
106
110
  end
@@ -42,15 +42,6 @@ module TwitterCldr
42
42
  File.join(source_path, 'common')
43
43
  end
44
44
 
45
- def merge_each_ancestor(locale, merge_root: true)
46
- locales = locale_chain(locale)
47
- locales << :root if merge_root
48
-
49
- locales.inject({}) do |result, ancestor_locale|
50
- deep_merge(yield(ancestor_locale), result)
51
- end
52
- end
53
-
54
45
  def alt?(node)
55
46
  !node.attribute('alt').nil?
56
47
  end
@@ -62,49 +53,26 @@ module TwitterCldr
62
53
  )
63
54
  end
64
55
 
65
- private
66
-
67
- def locale_chain(locale)
68
- locale = from_fs(locale)
69
- ancestry = [locale]
70
-
71
- loop do
72
- cur = from_fs(ancestry.last)
73
-
74
- if parents = parent_locales[cur]
75
- ancestry << to_fs(parents)
76
- elsif I18n::Locale::Tag.tag(cur).self_and_parents.count > 1
77
- ancestry << I18n::Locale::Tag.tag(cur).self_and_parents.last.to_sym
78
- else
79
- parents = TwitterCldr::Shared::Locale
80
- .parse(cur)
81
- .permutations
82
- .select do |loc|
83
- File.exist?(File.join(common_path, 'main', "#{loc}.xml"))
84
- end
85
-
86
- ancestry += parents - [cur]
87
- break
88
- end
89
- end
90
-
91
- ancestry
56
+ def build_data(locale, &block)
57
+ CldrDataBuilder.new(locale_for(locale)).merge_each_ancestor(&block)
92
58
  end
93
59
 
94
- def to_fs(locale)
95
- locale.to_s.gsub('_', '-').to_sym
60
+ def docset(path, root_locale)
61
+ CldrDocumentSet.new(path, locale_for(root_locale), self)
96
62
  end
97
63
 
98
- def from_fs(locale)
99
- locale.to_s.gsub('-', '_')
64
+ def dtd
65
+ @dtd ||= CldrDTD.new(self)
100
66
  end
101
67
 
102
- DEEP_MERGER = proc do |key, v1, v2|
103
- Hash === v1 && Hash === v2 ? v1.merge(v2, &DEEP_MERGER) : (v2 || v1)
68
+ private
69
+
70
+ def locale_for(locale)
71
+ locales[locale] ||= CldrLocale.new(locale, self)
104
72
  end
105
73
 
106
- def deep_merge(h1, h2)
107
- h1.merge(h2, &DEEP_MERGER)
74
+ def locales
75
+ @locales ||= {}
108
76
  end
109
77
 
110
78
  def cldr_url
@@ -134,23 +102,6 @@ module TwitterCldr
134
102
  end
135
103
  end
136
104
  end
137
-
138
- def parent_locales
139
- @parent_locales ||= supplemental_data.xpath('//parentLocales/parentLocale').each_with_object({}) do |node, ret|
140
- parent = node.attr('parent')
141
- locales = node.attr('locales').split(' ')
142
-
143
- locales.each do |locale|
144
- ret[locale] = parent
145
- end
146
- end
147
- end
148
-
149
- def supplemental_data
150
- @supplemental_data ||= Nokogiri.XML(
151
- File.read(File.join(common_path, 'supplemental', 'supplementalData.xml'))
152
- )
153
- end
154
105
  end
155
106
 
156
107
  end
@@ -26,7 +26,7 @@ module TwitterCldr
26
26
  end
27
27
 
28
28
  def import_locale(locale)
29
- data = requirements[:cldr].merge_each_ancestor(locale) do |ancestor_locale|
29
+ data = requirements[:cldr].build_data(locale) do |ancestor_locale|
30
30
  TerritoryData.new(ancestor_locale, requirements[:cldr]).to_h
31
31
  end
32
32
 
@@ -38,7 +38,7 @@ module TwitterCldr
38
38
  end
39
39
 
40
40
  def import_locale(locale)
41
- data = requirements[:cldr].merge_each_ancestor(locale) do |ancestor_locale|
41
+ data = requirements[:cldr].build_data(locale) do |ancestor_locale|
42
42
  TimezoneData.new(ancestor_locale, requirements[:cldr]).to_h
43
43
  end
44
44
 
@@ -17,6 +17,8 @@ module TwitterCldr
17
17
  private
18
18
 
19
19
  def execute
20
+ FileUtils.mkdir_p(output_path)
21
+
20
22
  File.write(
21
23
  File.join(output_path, 'property_value_aliases.yml'),
22
24
  YAML.dump(parse_property_value_aliases)
@@ -36,7 +36,7 @@ module TwitterCldr
36
36
  end
37
37
 
38
38
  def import_locale(locale)
39
- data = requirements[:cldr].merge_each_ancestor(locale) do |ancestor_locale|
39
+ data = requirements[:cldr].build_data(locale) do |ancestor_locale|
40
40
  Units.new(ancestor_locale, requirements[:cldr]).to_h
41
41
  end
42
42
 
@@ -10,6 +10,10 @@ module TwitterCldr
10
10
  autoload :BidiTestImporter, 'twitter_cldr/resources/bidi_test_importer'
11
11
  autoload :CalendarsImporter, 'twitter_cldr/resources/calendars_importer'
12
12
  autoload :CasefolderClassGenerator, 'twitter_cldr/resources/casefolder_class_generator'
13
+ autoload :CldrDataBuilder, 'twitter_cldr/resources/cldr_data_builder'
14
+ autoload :CldrDocumentSet, 'twitter_cldr/resources/cldr_document_set'
15
+ autoload :CldrDTD, 'twitter_cldr/resources/cldr_dtd'
16
+ autoload :CldrLocale, 'twitter_cldr/resources/cldr_locale'
13
17
  autoload :CollationTestsImporter, 'twitter_cldr/resources/collation_tests_importer'
14
18
  autoload :CollationTriesImporter, 'twitter_cldr/resources/collation_tries_importer'
15
19
  autoload :CurrencySymbolsImporter, 'twitter_cldr/resources/currency_symbols_importer'
@@ -25,6 +29,7 @@ module TwitterCldr
25
29
  autoload :ParentLocalesImporter, 'twitter_cldr/resources/parent_locales_importer'
26
30
  autoload :PostalCodesImporter, 'twitter_cldr/resources/postal_codes_importer'
27
31
  autoload :Properties, 'twitter_cldr/resources/properties'
32
+ autoload :ResourceLoadError, 'twitter_cldr/resources/loader'
28
33
  autoload :SegmentDictionariesImporter, 'twitter_cldr/resources/segment_dictionaries_importer'
29
34
  autoload :SegmentRulesImporter, 'twitter_cldr/resources/segment_rules_importer'
30
35
  autoload :SegmentTestsImporter, 'twitter_cldr/resources/segment_tests_importer'
@@ -54,6 +59,8 @@ module TwitterCldr
54
59
  AliasesImporter,
55
60
  Bcp47TimezoneMetadataImporter,
56
61
  BidiTestImporter,
62
+ ValidityDataImporter,
63
+ UnicodePropertyAliasesImporter,
57
64
  CalendarsImporter,
58
65
  CasefolderClassGenerator,
59
66
  CollationTestsImporter,
@@ -79,9 +86,7 @@ module TwitterCldr
79
86
  TransformTestsImporter,
80
87
  TransformsImporter,
81
88
  UnicodeDataImporter,
82
- UnicodePropertyAliasesImporter,
83
- UnitsImporter,
84
- ValidityDataImporter,
89
+ UnitsImporter
85
90
  ]
86
91
  end
87
92
 
@@ -7,7 +7,7 @@ module TwitterCldr
7
7
  module Shared
8
8
  class Calendar
9
9
 
10
- DEFAULT_FORMAT = :'stand-alone'
10
+ DEFAULT_FORMAT = :format
11
11
 
12
12
  NAMES_FORMS = [:wide, :narrow, :short, :abbreviated]
13
13
  ERAS_NAMES_FORMS = [:abbr, :name]
@@ -4,5 +4,5 @@
4
4
  # http://www.apache.org/licenses/LICENSE-2.0
5
5
 
6
6
  module TwitterCldr
7
- VERSION = '6.9.0'
7
+ VERSION = '6.10.0'
8
8
  end
@@ -129,7 +129,8 @@
129
129
  0: "قبل الحقبة الحالية"
130
130
  1: "بعد الميلاد"
131
131
  :narrow:
132
- 0: ""
132
+ 0: BCE
133
+ 1: CE
133
134
  :fields:
134
135
  :day: يوم
135
136
  :day-narrow: يوم
@@ -126,7 +126,8 @@
126
126
  0: "bizim eradan əvvəl"
127
127
  1: "bizim era"
128
128
  :narrow:
129
- 0: ""
129
+ 0: BCE
130
+ 1: CE
130
131
  :fields:
131
132
  :day: Gün
132
133
  :day-narrow: Gün
@@ -127,7 +127,8 @@
127
127
  0: "да нашай эры"
128
128
  1: "нашай эры"
129
129
  :narrow:
130
- 0: ""
130
+ 0: BCE
131
+ 1: CE
131
132
  :fields:
132
133
  :day: дзень
133
134
  :day-narrow: д.
@@ -134,7 +134,8 @@
134
134
  0: "преди новата ера"
135
135
  1: "след новата ера"
136
136
  :narrow:
137
- 0: ""
137
+ 0: BCE
138
+ 1: CE
138
139
  :fields:
139
140
  :day: ден
140
141
  :day-narrow: д
@@ -129,7 +129,8 @@
129
129
  0: খ্রিষ্টপূর্বাব্দ
130
130
  1: খ্রিষ্টাব্দ
131
131
  :narrow:
132
- 0: ""
132
+ 0: BCE
133
+ 1: CE
133
134
  :fields:
134
135
  :day: দিন
135
136
  :day-narrow: দিন
@@ -124,25 +124,57 @@
124
124
  0: སྤྱི་ལོ་སྔོན་
125
125
  1: སྤྱི་ལོ་
126
126
  :name:
127
- 0: ""
127
+ 0: BCE
128
+ 1: CE
128
129
  :narrow:
129
- 0: ""
130
+ 0: BCE
131
+ 1: CE
130
132
  :fields:
131
133
  :day: ཉིན།
134
+ :day-narrow: Day
135
+ :day-short: Day
132
136
  :dayOfYear: "Day Of Year"
137
+ :dayOfYear-narrow: "Day Of Year"
138
+ :dayOfYear-short: "Day Of Year"
133
139
  :dayperiod: "སྔ་དྲོ། ཕྱི་དྲོ།"
140
+ :dayperiod-narrow: Dayperiod
141
+ :dayperiod-short: Dayperiod
134
142
  :era: ལོ་རིམ།
143
+ :era-narrow: Era
144
+ :era-short: Era
135
145
  :hour: ཆུ་ཚོད་
146
+ :hour-narrow: Hour
147
+ :hour-short: Hour
136
148
  :minute: སྐར་མ།
149
+ :minute-narrow: Minute
150
+ :minute-short: Minute
137
151
  :month: ཟླ་བ་
152
+ :month-narrow: Month
153
+ :month-short: Month
138
154
  :quarter: Quarter
155
+ :quarter-narrow: Quarter
156
+ :quarter-short: Quarter
139
157
  :second: སྐར་ཆ།
158
+ :second-narrow: Second
159
+ :second-short: Second
140
160
  :week: གཟའ་འཁོར།
161
+ :week-narrow: Week
162
+ :week-short: Week
141
163
  :weekOfMonth: "Week Of Month"
164
+ :weekOfMonth-narrow: "Week Of Month"
165
+ :weekOfMonth-short: "Week Of Month"
142
166
  :weekday: གཟའ་འཁོར་གཅིག
167
+ :weekday-narrow: "Day of the Week"
168
+ :weekday-short: "Day of the Week"
143
169
  :weekdayOfMonth: "Weekday Of Month"
170
+ :weekdayOfMonth-narrow: "Weekday Of Month"
171
+ :weekdayOfMonth-short: "Weekday Of Month"
144
172
  :year: ལོ།
173
+ :year-narrow: Year
174
+ :year-short: Year
145
175
  :zone: དུས་ཚོད།
176
+ :zone-narrow: Zone
177
+ :zone-short: Zone
146
178
  :formats:
147
179
  :date:
148
180
  :full:
@@ -130,6 +130,7 @@
130
130
  1: "Nove ere"
131
131
  :narrow:
132
132
  0: p.n.e.
133
+ 1: CE
133
134
  :fields:
134
135
  :day: dan
135
136
  :day-narrow: dan
@@ -132,6 +132,7 @@
132
132
  :fields:
133
133
  :day: diwrnod
134
134
  :day-narrow: diwrnod
135
+ :day-short: Day
135
136
  :dayOfYear: "rhif y dydd yn y flwyddyn"
136
137
  :dayOfYear-narrow: "dydd y fl."
137
138
  :dayOfYear-short: "rhif y dydd yn y fl."
@@ -127,7 +127,8 @@
127
127
  0: "πριν από την Κοινή Χρονολογία"
128
128
  1: "Κοινή Χρονολογία"
129
129
  :narrow:
130
- 0: ""
130
+ 0: BCE
131
+ 1: CE
131
132
  :fields:
132
133
  :day: ημέρα
133
134
  :day-narrow: ημ.
@@ -130,34 +130,49 @@
130
130
  1: A
131
131
  :fields:
132
132
  :day: day
133
+ :day-narrow: Day
133
134
  :day-short: day
134
135
  :dayOfYear: "day of year"
136
+ :dayOfYear-narrow: "Day Of Year"
135
137
  :dayOfYear-short: "day of yr."
136
138
  :dayperiod: AM/PM
139
+ :dayperiod-narrow: Dayperiod
137
140
  :dayperiod-short: AM/PM
138
141
  :era: era
142
+ :era-narrow: Era
139
143
  :era-short: era
140
144
  :hour: hour
145
+ :hour-narrow: Hour
141
146
  :hour-short: hr.
142
147
  :minute: minute
148
+ :minute-narrow: Minute
143
149
  :minute-short: min.
144
150
  :month: month
151
+ :month-narrow: Month
145
152
  :month-short: mo.
146
153
  :quarter: quarter
154
+ :quarter-narrow: Quarter
147
155
  :quarter-short: qtr.
148
156
  :second: second
157
+ :second-narrow: Second
149
158
  :second-short: sec.
150
159
  :week: week
160
+ :week-narrow: Week
151
161
  :week-short: wk.
152
162
  :weekOfMonth: "week of month"
163
+ :weekOfMonth-narrow: "Week Of Month"
153
164
  :weekOfMonth-short: "wk. of mo."
154
165
  :weekday: "day of the week"
166
+ :weekday-narrow: "Day of the Week"
155
167
  :weekday-short: "day of wk."
156
168
  :weekdayOfMonth: "weekday of the month"
169
+ :weekdayOfMonth-narrow: "Weekday Of Month"
157
170
  :weekdayOfMonth-short: "wkday. of mo."
158
171
  :year: year
172
+ :year-narrow: Year
159
173
  :year-short: yr.
160
174
  :zone: "time zone"
175
+ :zone-narrow: Zone
161
176
  :zone-short: zone
162
177
  :formats:
163
178
  :date:
@@ -131,6 +131,7 @@
131
131
  1: A
132
132
  :fields:
133
133
  :day: day
134
+ :day-narrow: Day
134
135
  :day-short: day
135
136
  :dayOfYear: "day of year"
136
137
  :dayOfYear-narrow: "day of yr"
@@ -139,8 +140,10 @@
139
140
  :dayperiod-narrow: am/pm
140
141
  :dayperiod-short: am/pm
141
142
  :era: era
143
+ :era-narrow: Era
142
144
  :era-short: era
143
145
  :hour: hour
146
+ :hour-narrow: Hour
144
147
  :hour-short: hr
145
148
  :minute: minute
146
149
  :minute-narrow: min
@@ -152,6 +155,7 @@
152
155
  :quarter-narrow: qtr
153
156
  :quarter-short: qtr
154
157
  :second: second
158
+ :second-narrow: Second
155
159
  :second-short: sec
156
160
  :week: week
157
161
  :week-narrow: wk
@@ -166,8 +170,10 @@
166
170
  :weekdayOfMonth-narrow: "wkday of mo"
167
171
  :weekdayOfMonth-short: "wkday of mo"
168
172
  :year: year
173
+ :year-narrow: Year
169
174
  :year-short: yr
170
175
  :zone: "time zone"
176
+ :zone-narrow: Zone
171
177
  :zone-short: zone
172
178
  :formats:
173
179
  :date:
@@ -131,6 +131,7 @@
131
131
  1: A
132
132
  :fields:
133
133
  :day: day
134
+ :day-narrow: Day
134
135
  :day-short: day
135
136
  :dayOfYear: "day of year"
136
137
  :dayOfYear-narrow: "day of yr"
@@ -139,8 +140,10 @@
139
140
  :dayperiod-narrow: am/pm
140
141
  :dayperiod-short: am/pm
141
142
  :era: era
143
+ :era-narrow: Era
142
144
  :era-short: era
143
145
  :hour: hour
146
+ :hour-narrow: Hour
144
147
  :hour-short: hr
145
148
  :minute: minute
146
149
  :minute-narrow: min
@@ -152,6 +155,7 @@
152
155
  :quarter-narrow: qtr
153
156
  :quarter-short: qtr
154
157
  :second: second
158
+ :second-narrow: Second
155
159
  :second-short: sec
156
160
  :week: week
157
161
  :week-narrow: wk
@@ -166,8 +170,10 @@
166
170
  :weekdayOfMonth-narrow: "wkday of mo"
167
171
  :weekdayOfMonth-short: "wkday of mo"
168
172
  :year: year
173
+ :year-narrow: Year
169
174
  :year-short: yr
170
175
  :zone: "time zone"
176
+ :zone-narrow: Zone
171
177
  :zone-short: zone
172
178
  :formats:
173
179
  :date:
@@ -131,6 +131,7 @@
131
131
  1: A
132
132
  :fields:
133
133
  :day: day
134
+ :day-narrow: Day
134
135
  :day-short: day
135
136
  :dayOfYear: "day of year"
136
137
  :dayOfYear-narrow: "day of yr"
@@ -139,6 +140,7 @@
139
140
  :dayperiod-narrow: am/pm
140
141
  :dayperiod-short: am/pm
141
142
  :era: era
143
+ :era-narrow: Era
142
144
  :era-short: era
143
145
  :hour: hour
144
146
  :hour-narrow: h
@@ -168,8 +170,10 @@
168
170
  :weekdayOfMonth-narrow: "wkday of mo"
169
171
  :weekdayOfMonth-short: "wkday of mo."
170
172
  :year: year
173
+ :year-narrow: Year
171
174
  :year-short: yr
172
175
  :zone: "time zone"
176
+ :zone-narrow: Zone
173
177
  :zone-short: zone
174
178
  :formats:
175
179
  :date: