twitter_cldr 3.5.0 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -6
  3. data/History.txt +3 -0
  4. data/README.md +15 -15
  5. data/lib/twitter_cldr/data_readers/data_reader.rb +2 -2
  6. data/lib/twitter_cldr/data_readers/timespan_data_reader.rb +23 -78
  7. data/lib/twitter_cldr/formatters/numbers/rbnf.rb +1 -1
  8. data/lib/twitter_cldr/resources/locales_resources_importer.rb +3 -3
  9. data/lib/twitter_cldr/tokenizers/numbers/rbnf_tokenizer.rb +1 -4
  10. data/lib/twitter_cldr/version.rb +1 -1
  11. data/resources/custom/shared/postal_codes.yml +8 -0
  12. data/resources/locales/af/fields.yml +325 -98
  13. data/resources/locales/ar/fields.yml +532 -210
  14. data/resources/locales/ar/plurals.yml +4 -3
  15. data/resources/locales/be/fields.yml +21 -112
  16. data/resources/locales/be/plurals.yml +6 -4
  17. data/resources/locales/bg/fields.yml +342 -98
  18. data/resources/locales/bn/fields.yml +342 -98
  19. data/resources/locales/bn/plurals.yml +2 -2
  20. data/resources/locales/ca/fields.yml +342 -98
  21. data/resources/locales/ca/plurals.yml +2 -2
  22. data/resources/locales/cs/fields.yml +438 -126
  23. data/resources/locales/cs/plurals.yml +3 -3
  24. data/resources/locales/cy/fields.yml +202 -98
  25. data/resources/locales/da/fields.yml +342 -98
  26. data/resources/locales/da/plurals.yml +2 -2
  27. data/resources/locales/de-CH/fields.yml +342 -98
  28. data/resources/locales/de-CH/plurals.yml +2 -2
  29. data/resources/locales/de/fields.yml +342 -98
  30. data/resources/locales/de/plurals.yml +2 -2
  31. data/resources/locales/el/fields.yml +342 -98
  32. data/resources/locales/en-150/fields.yml +283 -98
  33. data/resources/locales/en-150/plurals.yml +5 -5
  34. data/resources/locales/en-AU/fields.yml +283 -98
  35. data/resources/locales/en-AU/plurals.yml +5 -5
  36. data/resources/locales/en-CA/fields.yml +283 -98
  37. data/resources/locales/en-CA/plurals.yml +5 -5
  38. data/resources/locales/en-GB/fields.yml +357 -98
  39. data/resources/locales/en-GB/plurals.yml +5 -5
  40. data/resources/locales/en-IE/fields.yml +283 -98
  41. data/resources/locales/en-IE/plurals.yml +5 -5
  42. data/resources/locales/en-SG/fields.yml +283 -98
  43. data/resources/locales/en-SG/plurals.yml +5 -5
  44. data/resources/locales/en-ZA/fields.yml +283 -98
  45. data/resources/locales/en-ZA/plurals.yml +5 -5
  46. data/resources/locales/en/fields.yml +283 -98
  47. data/resources/locales/en/plurals.yml +5 -5
  48. data/resources/locales/es-419/fields.yml +342 -98
  49. data/resources/locales/es-CO/fields.yml +342 -98
  50. data/resources/locales/es-MX/fields.yml +342 -98
  51. data/resources/locales/es-US/fields.yml +342 -98
  52. data/resources/locales/es/fields.yml +342 -98
  53. data/resources/locales/eu/fields.yml +342 -98
  54. data/resources/locales/fa/fields.yml +342 -98
  55. data/resources/locales/fa/plurals.yml +2 -2
  56. data/resources/locales/fi/fields.yml +342 -98
  57. data/resources/locales/fi/plurals.yml +2 -2
  58. data/resources/locales/fil/fields.yml +342 -98
  59. data/resources/locales/fil/plurals.yml +4 -4
  60. data/resources/locales/fr-BE/fields.yml +342 -98
  61. data/resources/locales/fr-CA/fields.yml +342 -98
  62. data/resources/locales/fr-CH/fields.yml +342 -98
  63. data/resources/locales/fr/fields.yml +342 -98
  64. data/resources/locales/ga/fields.yml +484 -98
  65. data/resources/locales/ga/plurals.yml +3 -3
  66. data/resources/locales/gl/fields.yml +313 -98
  67. data/resources/locales/gl/plurals.yml +2 -2
  68. data/resources/locales/gu/fields.yml +342 -98
  69. data/resources/locales/gu/plurals.yml +7 -7
  70. data/resources/locales/he/fields.yml +438 -154
  71. data/resources/locales/he/plurals.yml +4 -3
  72. data/resources/locales/hi/fields.yml +342 -98
  73. data/resources/locales/hi/plurals.yml +2 -2
  74. data/resources/locales/hr/fields.yml +390 -154
  75. data/resources/locales/hr/plurals.yml +7 -4
  76. data/resources/locales/hu/fields.yml +342 -98
  77. data/resources/locales/id/fields.yml +294 -98
  78. data/resources/locales/is/fields.yml +342 -98
  79. data/resources/locales/is/plurals.yml +2 -2
  80. data/resources/locales/it-CH/fields.yml +342 -98
  81. data/resources/locales/it-CH/plurals.yml +2 -2
  82. data/resources/locales/it/fields.yml +342 -98
  83. data/resources/locales/it/plurals.yml +2 -2
  84. data/resources/locales/ja/fields.yml +294 -98
  85. data/resources/locales/kn/fields.yml +342 -98
  86. data/resources/locales/kn/plurals.yml +3 -3
  87. data/resources/locales/ko/fields.yml +294 -98
  88. data/resources/locales/lv/fields.yml +390 -126
  89. data/resources/locales/lv/plurals.yml +6 -4
  90. data/resources/locales/mr/fields.yml +340 -98
  91. data/resources/locales/mr/plurals.yml +6 -7
  92. data/resources/locales/ms/fields.yml +294 -98
  93. data/resources/locales/nb/fields.yml +342 -98
  94. data/resources/locales/nl/fields.yml +342 -98
  95. data/resources/locales/nl/plurals.yml +2 -2
  96. data/resources/locales/pl/fields.yml +438 -154
  97. data/resources/locales/pl/plurals.yml +8 -4
  98. data/resources/locales/pt/fields.yml +342 -98
  99. data/resources/locales/pt/plurals.yml +2 -2
  100. data/resources/locales/ro/fields.yml +390 -126
  101. data/resources/locales/ro/plurals.yml +4 -3
  102. data/resources/locales/ru/fields.yml +438 -154
  103. data/resources/locales/ru/plurals.yml +8 -4
  104. data/resources/locales/sk/fields.yml +438 -126
  105. data/resources/locales/sk/plurals.yml +3 -3
  106. data/resources/locales/sq/fields.yml +340 -98
  107. data/resources/locales/sq/plurals.yml +2 -2
  108. data/resources/locales/sr/fields.yml +390 -154
  109. data/resources/locales/sr/plurals.yml +7 -4
  110. data/resources/locales/sv/fields.yml +342 -98
  111. data/resources/locales/sv/plurals.yml +4 -4
  112. data/resources/locales/ta/fields.yml +342 -98
  113. data/resources/locales/th/fields.yml +294 -98
  114. data/resources/locales/tr/fields.yml +342 -98
  115. data/resources/locales/uk/fields.yml +438 -154
  116. data/resources/locales/uk/plurals.yml +10 -6
  117. data/resources/locales/ur/fields.yml +342 -98
  118. data/resources/locales/ur/plurals.yml +2 -2
  119. data/resources/locales/vi/fields.yml +294 -98
  120. data/resources/locales/zh-Hant/fields.yml +294 -98
  121. data/resources/locales/zh/fields.yml +294 -98
  122. data/spec/data_readers/timespan_data_reader_spec.rb +68 -3
  123. data/spec/localized/localized_date_spec.rb +13 -13
  124. data/spec/localized/localized_timespan_spec.rb +43 -84
  125. data/twitter_cldr.gemspec +1 -1
  126. metadata +6 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c98dcf19490f99d16be160956f9398cecd73f9ae
4
- data.tar.gz: a2f9f7696e6a7faf40ab9c7861b1ec26f35a8177
3
+ metadata.gz: cc6c6c92fe5dec780cafeb5fd8930add773c46d7
4
+ data.tar.gz: a7f4a52136cacf6e26d1b9bf0057dd19f9b852a8
5
5
  SHA512:
6
- metadata.gz: 3a74e79f927faeef96b86d119a0596e7345e3be9c9dd7f16adf32f55e68184e66ab7377fb9bb42471204ca4954c6ac28d4eaccb1af5bf078dd1ad9723da05b17
7
- data.tar.gz: f176da6b6eac7b64ac012f8e9cae2566ef4525192716612668d24ecb4a0ba1a9cfdf3f50c75e664d7c2f98188ef65578157f96895548e0dc14b151162e217cbf
6
+ metadata.gz: 1192dfcd1168d55d7c30c586a8ece42f49d5d854e99a4ccb35e167c4cf7aa12c2b0c6040db5b08375acbc0532afbdad1888a62fa7a2c1ed57ae301706cbb8366
7
+ data.tar.gz: cc0b77e683c92a52af0ecb76a77192e93bb1157e1c428651822f3b713b844abe1ada7aa21b635663da67ac68606bdb88a15e7662594fff09a55c6b74c5c27736
data/Gemfile CHANGED
@@ -4,21 +4,17 @@ gemspec
4
4
 
5
5
  group :development, :test do
6
6
  gem 'rake'
7
-
8
- gem 'pry'
9
7
  gem 'pry-nav'
10
-
11
8
  gem 'ruby-prof' unless RUBY_PLATFORM == 'java'
12
-
13
9
  gem 'regexp_parser', '~> 0.1'
14
10
  end
15
11
 
16
12
  group :development do
17
13
  gem 'nokogiri', "~> 1.5.9"
18
14
 
19
- gem 'ruby-cldr', github: 'svenfuchs/ruby-cldr'
15
+ gem 'ruby-cldr', github: 'camertron/ruby-cldr', branch: 'fields'
20
16
  gem 'i18n', '~> 0.6.11'
21
- gem 'cldr-plurals', '~> 1.0.0'
17
+ gem 'cldr-plurals', '~> 1.0'
22
18
 
23
19
  gem 'rest-client', '~> 1.8'
24
20
  end
@@ -28,6 +24,7 @@ group :test do
28
24
  gem 'rr', '~> 1.1.2'
29
25
 
30
26
  gem 'rubyzip'
27
+ gem 'term-ansicolor', '~> 1.3.0' # 1.4 breaks ruby 1.9 support
31
28
  gem 'coveralls', require: false
32
29
  gem 'tins', '~> 1.6.0', require: false # 1.7 breaks ruby 1.9 support
33
30
 
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ == 3.6.0
2
+ * Override South Korean postal code format, which changed recently.
3
+
1
4
  == 3.5.0
2
5
  * Only add JSON as a dependency if running under Ruby < 2 (#191).
3
6
 
data/README.md CHANGED
@@ -268,29 +268,29 @@ In addition to formatting full dates and times, TwitterCLDR supports relative ti
268
268
  (DateTime.now - 1).localize.ago.to_s # "1 day ago"
269
269
  (DateTime.now - 0.5).localize.ago.to_s # "12 hours ago" (i.e. half a day)
270
270
 
271
- (DateTime.now + 1).localize.until.to_s # "In 1 day"
272
- (DateTime.now + 0.5).localize.until.to_s # "In 12 hours"
271
+ (DateTime.now + 1).localize.until.to_s # "in 1 day"
272
+ (DateTime.now + 0.5).localize.until.to_s # "in 12 hours"
273
273
  ```
274
274
 
275
275
  Specify other locales:
276
276
 
277
277
  ```ruby
278
- (DateTime.now - 1).localize(:de).ago.to_s # "Vor 1 Tag"
279
- (DateTime.now + 1).localize(:de).until.to_s # "In 1 Tag"
278
+ (DateTime.now - 1).localize(:de).ago.to_s # "vor 1 Tag"
279
+ (DateTime.now + 1).localize(:de).until.to_s # "in 1 Tag"
280
280
  ```
281
281
 
282
282
  Force TwitterCLDR to use a specific time unit by including the `:unit` option:
283
283
 
284
284
  ```ruby
285
- (DateTime.now - 1).localize(:de).ago.to_s(:unit => :hour) # "Vor 24 Stunden"
286
- (DateTime.now + 1).localize(:de).until.to_s(:unit => :hour) # "In 24 Stunden"
285
+ (DateTime.now - 1).localize(:de).ago.to_s(:unit => :hour) # "vor 24 Stunden"
286
+ (DateTime.now + 1).localize(:de).until.to_s(:unit => :hour) # "in 24 Stunden"
287
287
  ```
288
288
 
289
289
  Specify a different reference point for the time span calculation:
290
290
 
291
291
  ```ruby
292
292
  # 86400 = 1 day in seconds, 259200 = 3 days in seconds
293
- (Time.now + 86400).localize(:de).ago(:base_time => (Time.now + 259200)).to_s(:unit => :hour) # "Vor 48 Stunden"
293
+ (Time.now + 86400).localize(:de).ago(:base_time => (Time.now + 259200)).to_s(:unit => :hour) # "vor 48 Stunden"
294
294
  ```
295
295
 
296
296
  Behind the scenes, these convenience methods are creating instances of `LocalizedTimespan`, whose constructor accepts a number of seconds as the first argument. You can do the same thing if you're feeling adventurous:
@@ -298,21 +298,21 @@ Behind the scenes, these convenience methods are creating instances of `Localize
298
298
  ```ruby
299
299
 
300
300
  ts = TwitterCldr::Localized::LocalizedTimespan.new(86400, :locale => :de)
301
- ts.to_s # "In 1 Tag"
302
- ts.to_s(:unit => :hour) # "In 24 Stunden"
301
+ ts.to_s # "in 1 Tag"
302
+ ts.to_s(:unit => :hour) # "in 24 Stunden"
303
303
 
304
304
 
305
305
  ts = TwitterCldr::Localized::LocalizedTimespan.new(-86400, :locale => :de)
306
- ts.to_s # "Vor 1 Tag"
307
- ts.to_s(:unit => :hour) # "Vor 24 Stunden"
306
+ ts.to_s # "vor 1 Tag"
307
+ ts.to_s(:unit => :hour) # "vor 24 Stunden"
308
308
  ```
309
309
 
310
310
  By default, timespans are exact representations of a given unit of elapsed time. TwitterCLDR also supports approximate timespans which round up to the nearest larger unit. For example, "44 seconds" remains "44 seconds" while "45 seconds" becomes "1 minute". To approximate, pass the `:approximate => true` option into `to_s`:
311
311
 
312
312
  ```ruby
313
- TwitterCldr::Localized::LocalizedTimespan.new(44).to_s(:approximate => true) # "In 44 seconds"
314
- TwitterCldr::Localized::LocalizedTimespan.new(45).to_s(:approximate => true) # "In 1 minute"
315
- TwitterCldr::Localized::LocalizedTimespan.new(52).to_s(:approximate => true) # "In 1 minute"
313
+ TwitterCldr::Localized::LocalizedTimespan.new(44).to_s(:approximate => true) # "in 44 seconds"
314
+ TwitterCldr::Localized::LocalizedTimespan.new(45).to_s(:approximate => true) # "in 1 minute"
315
+ TwitterCldr::Localized::LocalizedTimespan.new(52).to_s(:approximate => true) # "in 1 minute"
316
316
  ```
317
317
 
318
318
  ### Calendar Data
@@ -548,7 +548,7 @@ postal_code.regexp # /(\d{5})(?:[ \-](\d{4}))?/
548
548
  Get a sample of valid postal codes with the `#sample` method:
549
549
 
550
550
  ```ruby
551
- postal_code.sample(5) # ["04937-1403", "24033-3284", "40707-3618", "56564", "53993"]
551
+ postal_code.sample(5) # ["40741-8626", "87304", "02763-2183", "78302", "37171"]
552
552
  ```
553
553
 
554
554
  ### Phone Codes
@@ -10,7 +10,7 @@ module TwitterCldr
10
10
  attr_reader :locale
11
11
 
12
12
  def initialize(locale)
13
- @locale = locale
13
+ @locale = TwitterCldr.convert_locale(locale)
14
14
  end
15
15
 
16
16
  def pattern_at_path(path)
@@ -29,4 +29,4 @@ module TwitterCldr
29
29
 
30
30
  end
31
31
  end
32
- end
32
+ end
@@ -6,48 +6,12 @@
6
6
  module TwitterCldr
7
7
  module DataReaders
8
8
  class TimespanDataReader < DataReader
9
-
10
- DEFAULT_DIRECTION = :none
9
+ DEFAULT_DIRECTION = :ago
11
10
  DEFAULT_TYPE = :default
12
11
  VALID_FIELDS = [:second, :minute, :hour, :day, :week, :month, :year]
13
12
  BASE_PATH = [:fields]
14
13
 
15
- PATHS = {
16
- ago: {
17
- default: :'hour-past',
18
- second: :'second-past',
19
- minute: :'minute-past',
20
- hour: :'hour-past',
21
- day: :'day-past',
22
- week: :'week-past',
23
- month: :'month-past',
24
- year: :'year-past'
25
- },
26
-
27
- until: {
28
- default: :'hour-future',
29
- second: :'second-future',
30
- minute: :'minute-future',
31
- hour: :'hour-future',
32
- day: :'day-future',
33
- week: :'week-future',
34
- month: :'month-future',
35
- year: :'year-future'
36
- },
37
-
38
- none: {
39
- default: :second,
40
- second: :second,
41
- minute: :minute,
42
- hour: :hour,
43
- day: :day,
44
- week: :week,
45
- month: :month,
46
- year: :year
47
- }
48
- }
49
-
50
- attr_reader :direction, :unit, :type, :rule
14
+ attr_reader :direction, :unit, :type, :plural_rule
51
15
 
52
16
  def initialize(locale, seconds, options = {})
53
17
  super(locale)
@@ -56,67 +20,48 @@ module TwitterCldr
56
20
  @direction = options[:direction] || DEFAULT_DIRECTION
57
21
  @unit = options[:unit]
58
22
 
59
- @rule = options[:rule] ||
23
+ @plural_rule = options[:plural_rule] ||
60
24
  TwitterCldr::Formatters::Plurals::Rules.rule_for(seconds, locale)
61
25
  end
62
26
 
63
- # type is stuff like :abbreviated, etc
64
27
  def pattern
65
- path = full_path_for(direction, unit, type)
66
- available = traverse(path)
67
- pluralization = pluralization_for(rule, available)
68
-
69
- if available.include?(pluralization)
70
- path << pluralization
71
- else
72
- return [] unless available.keys.first
73
- path << available.keys.first
74
- end
75
-
76
28
  traverse(path)
77
29
  end
78
30
 
79
31
  def tokenizer
80
- TwitterCldr::Tokenizers::TimespanTokenizer.new(self)
32
+ @tokenizer ||= TwitterCldr::Tokenizers::TimespanTokenizer.new(self)
81
33
  end
82
34
 
83
35
  def formatter
84
- TwitterCldr::Formatters::TimespanFormatter.new(self)
36
+ @formatter ||= TwitterCldr::Formatters::TimespanFormatter.new(self)
85
37
  end
86
38
 
87
- protected
39
+ private
40
+
41
+ def path
42
+ BASE_PATH + [type_field, :relative_time, direction_field, plural_rule]
43
+ end
88
44
 
89
- def pluralization_for(rule, available)
90
- # sometimes the plural rule will return ":one" when the resource only contains a path with "1"
91
- case rule
92
- when :zero
93
- available.include?(0) ? 0 : rule
94
- when :one
95
- available.include?(1) ? 1 : rule
96
- when :two
97
- available.include?(2) ? 2 : rule
45
+ def direction_field
46
+ case direction
47
+ when :ago
48
+ :past
98
49
  else
99
- rule
50
+ :future
100
51
  end
101
52
  end
102
53
 
103
- def full_path_for(direction, unit, type)
104
- BASE_PATH + [PATHS[direction][unit], type]
54
+ def type_field
55
+ case type
56
+ when :default
57
+ unit
58
+ else
59
+ :"#{unit}-#{type}"
60
+ end
105
61
  end
106
62
 
107
63
  def resource
108
- @resource ||= self.class.resource_for_locale(locale)
109
- end
110
-
111
- class << self
112
- def all_types_for(locale, unit, direction)
113
- TwitterCldr::Utils.traverse_hash(resource_for_locale(locale), BASE_PATH + [PATHS[direction][unit]]).keys
114
- end
115
-
116
- def resource_for_locale(locale)
117
- @resources ||= {}
118
- @resources[locale] ||= TwitterCldr.get_locale_resource(locale, :fields)[TwitterCldr.convert_locale(locale)]
119
- end
64
+ @resource ||= TwitterCldr.get_locale_resource(locale, :fields)[locale]
120
65
  end
121
66
  end
122
67
  end
@@ -37,7 +37,7 @@ module TwitterCldr
37
37
 
38
38
  def format(number, options = {})
39
39
  rule_group_name, rule_set_name = *if options[:rule_group].nil? && options[:rule_set].nil?
40
- [DEFAULT_CARDINAL_OPTIONS[:rule_group], DEFAULT_CARDINAL_OPTIONS[:rule_set]]
40
+ [DEFAULT_SPELLOUT_OPTIONS[:rule_group], DEFAULT_SPELLOUT_OPTIONS[:rule_set]]
41
41
  else
42
42
  [options[:rule_group], options[:rule_set]]
43
43
  end
@@ -14,8 +14,6 @@ module TwitterCldr
14
14
 
15
15
  class LocalesResourcesImporter
16
16
 
17
- # NOTE: units.yml was NOT updated to cldr 24 (too many significant changes) - add back in when appropriate.
18
- # Meanwhile, use ruby-cldr v0.0.2 and CLDR 22.1 to update units.yml files.
19
17
  LOCALE_COMPONENTS = %w[
20
18
  calendars
21
19
  languages
@@ -24,7 +22,9 @@ module TwitterCldr
24
22
  lists
25
23
  territories
26
24
  rbnf
27
- ] # units
25
+ units
26
+ fields
27
+ ]
28
28
 
29
29
  SHARED_COMPONENTS = %w[
30
30
  currency_digits_and_rounding
@@ -15,9 +15,6 @@ module TwitterCldr
15
15
 
16
16
  def tokenizer
17
17
  @tokenizer ||= begin
18
- # i.e. %spellout-numbering, %%2d-year
19
- rule_regex = Regexp.new("%%?[[:word:]\-]+")
20
-
21
18
  recognizers = [
22
19
  # special rule descriptors
23
20
  TokenRecognizer.new(:negative, /-x/),
@@ -27,7 +24,7 @@ module TwitterCldr
27
24
 
28
25
  # normal rule descriptors
29
26
  TokenRecognizer.new(:equals, /=/),
30
- TokenRecognizer.new(:rule, rule_regex),
27
+ TokenRecognizer.new(:rule, /%%?[[:word:]-]+/), # i.e. %spellout-numbering, %%2d-year
31
28
  TokenRecognizer.new(:right_arrow, />/),
32
29
  TokenRecognizer.new(:left_arrow, /</),
33
30
  TokenRecognizer.new(:open_bracket, /\[/),
@@ -4,5 +4,5 @@
4
4
  # http://www.apache.org/licenses/LICENSE-2.0
5
5
 
6
6
  module TwitterCldr
7
- VERSION = '3.5.0'
7
+ VERSION = '3.6.0'
8
8
  end
@@ -0,0 +1,8 @@
1
+ # Override South Korean format, which hasn't been updated in i18napis.appspot.com's data yet.
2
+ :kr:
3
+ :regex: !ruby/regexp /\d{5}/
4
+ :ast: |
5
+ BAhvOihUd2l0dGVyQ2xkcjo6VXRpbHM6OlJlZ2V4cEFzdDo6Um9vdAc6EUBl
6
+ eHByZXNzaW9uc1sGbzopVHdpdHRlckNsZHI6OlV0aWxzOjpSZWdleHBBc3Q6
7
+ OkRpZ2l0BzsGWwA6EEBxdWFudGlmaWVybzouVHdpdHRlckNsZHI6OlV0aWxz
8
+ OjpSZWdleHBBc3Q6OlF1YW50aWZpZXIHOglAbWF4aQo6CUBtaW5pCjsIMA==
@@ -2,107 +2,334 @@
2
2
  :af:
3
3
  :fields:
4
4
  :day:
5
- :default:
6
- :one: "{0} dag"
7
- :other: "{0} dae"
8
- :short:
9
- :one: "{0} dag"
10
- :other: "{0} dae"
11
- :day-future:
12
- :default:
13
- :one: "In {0} dag"
14
- :other: "In {0} dae"
15
- :day-past:
16
- :default:
17
- :one: "{0} dag gelede"
18
- :other: "{0} dae gelede"
5
+ :display_name: Dag
6
+ :relative:
7
+ -1: gister
8
+ -2: eergister
9
+ 0: vandag
10
+ 1: môre
11
+ 2: oormôre
12
+ :relative_time:
13
+ :future:
14
+ :one: "Oor {0} dag"
15
+ :other: "Oor {0} dae"
16
+ :past:
17
+ :one: "{0} dag gelede"
18
+ :other: "{0} dae gelede"
19
+ :day-narrow:
20
+ :display_name: d.
21
+ :relative_time:
22
+ :future:
23
+ :one: "oor {0} dag"
24
+ :other: "oor {0} dae"
25
+ :past:
26
+ :one: "{0} dag gelede"
27
+ :other: "{0} dae gelede"
28
+ :day-short:
29
+ :display_name: d.
30
+ :relative_time:
31
+ :future:
32
+ :one: "oor {0} dag"
33
+ :other: "oor {0} dae"
34
+ :past:
35
+ :one: "{0} dag gelede"
36
+ :other: "{0} dae gelede"
37
+ :dayperiod:
38
+ :display_name: VM/NM
39
+ :era:
40
+ :display_name: Era
41
+ :fri:
42
+ :relative:
43
+ -1: "verlede Vrydag"
44
+ 0: "hierdie Vrydag"
45
+ 1: "volgende Vrydag"
46
+ :fri-short:
47
+ :relative:
48
+ -1: "verlede Vr."
19
49
  :hour:
20
- :default:
21
- :one: "{0} uur"
22
- :other: "{0} uur"
23
- :short:
24
- :one: "{0} uur"
25
- :other: "{0} uur"
26
- :hour-future:
27
- :default:
28
- :one: "In {0} uur"
29
- :other: "In {0} uur"
30
- :hour-past:
31
- :default:
32
- :one: "{0} uur gelede"
33
- :other: "{0} uur gelede"
50
+ :display_name: Uur
51
+ :relative_time:
52
+ :future:
53
+ :one: "Oor {0} uur"
54
+ :other: "Oor {0} uur"
55
+ :past:
56
+ :one: "{0} uur gelede"
57
+ :other: "{0} uur gelede"
58
+ :hour-narrow:
59
+ :display_name: u.
60
+ :relative_time:
61
+ :future:
62
+ :one: "oor {0} uur"
63
+ :other: "oor {0} uur"
64
+ :past:
65
+ :one: "{0} uur gelede"
66
+ :other: "{0} uur gelede"
67
+ :hour-short:
68
+ :display_name: u.
69
+ :relative_time:
70
+ :future:
71
+ :one: "oor {0} uur"
72
+ :other: "oor {0} uur"
73
+ :past:
74
+ :one: "{0} uur gelede"
75
+ :other: "{0} uur gelede"
34
76
  :minute:
35
- :default:
36
- :one: "{0} minuut"
37
- :other: "{0} minute"
38
- :short:
39
- :one: "{0} min"
40
- :other: "{0} min"
41
- :minute-future:
42
- :default:
43
- :one: "In {0} minuut"
44
- :other: "In {0} minute"
45
- :minute-past:
46
- :default:
47
- :one: "{0} minuut gelede"
48
- :other: "{0} minute gelede"
77
+ :display_name: Minuut
78
+ :relative_time:
79
+ :future:
80
+ :one: "Oor {0} minuut"
81
+ :other: "Oor {0} minute"
82
+ :past:
83
+ :one: "{0} minuut gelede"
84
+ :other: "{0} minute gelede"
85
+ :minute-narrow:
86
+ :display_name: m.
87
+ :relative_time:
88
+ :future:
89
+ :one: "oor {0} min."
90
+ :other: "oor {0} min."
91
+ :past:
92
+ :one: "{0} min. gelede"
93
+ :other: "{0} min. gelede"
94
+ :minute-short:
95
+ :display_name: min.
96
+ :relative_time:
97
+ :future:
98
+ :one: "oor {0} min."
99
+ :other: "oor {0} min."
100
+ :past:
101
+ :one: "{0} min. gelede"
102
+ :other: "{0} min. gelede"
103
+ :mon:
104
+ :relative:
105
+ -1: "verlede Maandag"
106
+ 0: "hierdie Maandag"
107
+ 1: "volgende Maandag"
108
+ :mon-narrow:
109
+ :relative:
110
+ -1: "verlede Ma."
111
+ 0: "hierdie Ma."
112
+ 1: "volgende Ma."
113
+ :mon-short:
114
+ :relative:
115
+ -1: "verlede Ma."
116
+ 0: "hierdie Ma."
117
+ 1: "volgende Ma."
49
118
  :month:
50
- :default:
51
- :one: "{0} maand"
52
- :other: "{0} maande"
53
- :short:
54
- :one: "{0} mnd"
55
- :other: "{0} mnde"
56
- :month-future:
57
- :default:
58
- :one: "In {0} maand"
59
- :other: "In {0} maande"
60
- :month-past:
61
- :default:
62
- :one: "{0} maand gelede"
63
- :other: "{0} maande gelede"
119
+ :display_name: Maand
120
+ :relative:
121
+ -1: "verlede maand"
122
+ 0: vandeesmaand
123
+ 1: "volgende maand"
124
+ :relative_time:
125
+ :future:
126
+ :one: "Oor {0} maand"
127
+ :other: "Oor {0} maande"
128
+ :past:
129
+ :one: "{0} maand gelede"
130
+ :other: "{0} maande gelede"
131
+ :month-narrow:
132
+ :display_name: md.
133
+ :relative_time:
134
+ :future:
135
+ :one: "oor {0} md."
136
+ :other: "oor {0} md."
137
+ :past:
138
+ :one: "{0} md. gelede"
139
+ :other: "{0} md. gelede"
140
+ :month-short:
141
+ :display_name: md.
142
+ :relative_time:
143
+ :future:
144
+ :one: "oor {0} md."
145
+ :other: "oor {0} md."
146
+ :past:
147
+ :one: "{0} md. gelede"
148
+ :other: "{0} md. gelede"
149
+ :quarter:
150
+ :display_name: Kwartaal
151
+ :relative_time:
152
+ :future:
153
+ :one: "oor {0} kwartaal"
154
+ :other: "oor {0} kwartale"
155
+ :past:
156
+ :one: "{0} kwartaal gelede"
157
+ :other: "{0} kwartale gelede"
158
+ :quarter-narrow:
159
+ :display_name: kw.
160
+ :relative_time:
161
+ :future:
162
+ :one: "oor {0} kwartale"
163
+ :other: "oor {0} kwartale"
164
+ :past:
165
+ :one: "{0} kwartale gelede"
166
+ :other: "{0} kwartale gelede"
167
+ :quarter-short:
168
+ :display_name: kw.
169
+ :relative_time:
170
+ :future:
171
+ :one: "oor {0} kwartaal"
172
+ :other: "oor {0} kwartale"
173
+ :past:
174
+ :one: "{0} kwartaal gelede"
175
+ :other: "{0} kwartale gelede"
176
+ :sat:
177
+ :relative:
178
+ -1: "verlede Saterdag"
179
+ 0: "hierdie Saterdag"
180
+ 1: "volgende Saterdag"
64
181
  :second:
65
- :default:
66
- :one: "{0} sekonde"
67
- :other: "{0} sekondes"
68
- :short:
69
- :one: "{0} sek"
70
- :other: "{0} sek"
71
- :second-future:
72
- :default:
73
- :one: "In {0} sekond"
74
- :other: "In {0} sekondes"
75
- :second-past:
76
- :default:
77
- :one: "{0} sekonde gelede"
78
- :other: "{0} sekondes gelede"
182
+ :display_name: Sekonde
183
+ :relative:
184
+ 0: nou
185
+ :relative_time:
186
+ :future:
187
+ :one: "Oor {0} sekonde"
188
+ :other: "Oor {0} sekondes"
189
+ :past:
190
+ :one: "{0} sekonde gelede"
191
+ :other: "{0} sekondes gelede"
192
+ :second-narrow:
193
+ :display_name: s.
194
+ :relative_time:
195
+ :future:
196
+ :one: "oor {0} sek."
197
+ :other: "oor {0} sek."
198
+ :past:
199
+ :one: "{0} sek. gelede"
200
+ :other: "{0} sek. gelede"
201
+ :second-short:
202
+ :display_name: sek.
203
+ :relative_time:
204
+ :future:
205
+ :one: "oor {0} sek."
206
+ :other: "oor {0} sek."
207
+ :past:
208
+ :one: "{0} sek. gelede"
209
+ :other: "{0} sek. gelede"
210
+ :sun:
211
+ :relative:
212
+ -1: "verlede Sondag"
213
+ 0: "hierdie Sondag"
214
+ 1: "volgende Sondag"
215
+ :sun-narrow:
216
+ :relative:
217
+ -1: "verlede Son."
218
+ 0: "hierdie Son."
219
+ 1: "volgende Son."
220
+ :sun-short:
221
+ :relative:
222
+ -1: "verlede Son."
223
+ 0: "hierdie Son."
224
+ 1: "volgende Son."
225
+ :thu:
226
+ :relative:
227
+ -1: "verlede Donderdag"
228
+ 0: "hierdie Donderdag"
229
+ 1: "volgende Donderdag"
230
+ :thu-narrow:
231
+ :relative:
232
+ -1: "verlede Do."
233
+ 0: "hierdie Do."
234
+ 1: "volgende Do."
235
+ :thu-short:
236
+ :relative:
237
+ -1: "verlede Do."
238
+ 0: "hierdie Do."
239
+ 1: "volgende Do."
240
+ :tue:
241
+ :relative:
242
+ -1: "verlede Dinsdag"
243
+ 0: "hierdie Dinsdag"
244
+ 1: "volgende Dinsdag"
245
+ :tue-narrow:
246
+ :relative:
247
+ -1: "verlede Di."
248
+ 0: "hierdie Di."
249
+ 1: "volgende Di."
250
+ :tue-short:
251
+ :relative:
252
+ -1: "verlede Di."
253
+ 0: "hierdie Di."
254
+ 1: "volgende Di."
255
+ :wed:
256
+ :relative:
257
+ -1: "verlede Woensdag"
258
+ 0: "hierdie Woensdag"
259
+ 1: "volgende Woensdag"
260
+ :wed-narrow:
261
+ :relative:
262
+ -1: "verlede Wo."
263
+ 0: "hierdie Wo."
264
+ 1: "volgende Wo."
265
+ :wed-short:
266
+ :relative:
267
+ -1: "verlede Wo."
268
+ 0: "hierdie Wo."
269
+ 1: "volgende Wo."
79
270
  :week:
80
- :default:
81
- :one: "{0} week"
82
- :other: "{0} weke"
83
- :short:
84
- :one: "{0} week"
85
- :other: "{0} weke"
86
- :week-future:
87
- :default:
88
- :one: "In {0} week"
89
- :other: "In {0} weke"
90
- :week-past:
91
- :default:
92
- :one: "{0} week gelede"
93
- :other: "{0} weke gelede"
271
+ :display_name: Week
272
+ :relative:
273
+ -1: "verlede week"
274
+ 0: vandeesweek
275
+ 1: "volgende week"
276
+ :relative_time:
277
+ :future:
278
+ :one: "Oor {0} week"
279
+ :other: "Oor {0} weke"
280
+ :past:
281
+ :one: "{0} week gelede"
282
+ :other: "{0} weke gelede"
283
+ :week-narrow:
284
+ :display_name: wk.
285
+ :relative_time:
286
+ :future:
287
+ :one: "oor {0} w."
288
+ :other: "oor {0} w."
289
+ :past:
290
+ :one: "{0} w. gelede"
291
+ :other: "{0} w. gelede"
292
+ :week-short:
293
+ :display_name: wk.
294
+ :relative_time:
295
+ :future:
296
+ :one: "oor {0} w."
297
+ :other: "oor {0} w."
298
+ :past:
299
+ :one: "{0} w. gelede"
300
+ :other: "{0} w. gelede"
301
+ :weekday:
302
+ :display_name: "Dag van die Week"
94
303
  :year:
95
- :default:
96
- :one: "{0} jaar"
97
- :other: "{0} jaar"
98
- :short:
99
- :one: "{0} jr"
100
- :other: "{0} jr"
101
- :year-future:
102
- :default:
103
- :one: "In {0} jaar"
104
- :other: "In {0} jaar"
105
- :year-past:
106
- :default:
107
- :one: "{0} jaar gelede"
108
- :other: "{0} jaar gelede"
304
+ :display_name: Jaar
305
+ :relative:
306
+ -1: "verlede jaar"
307
+ 0: "hierdie jaar"
308
+ 1: "volgende jaar"
309
+ :relative_time:
310
+ :future:
311
+ :one: "Oor {0} jaar"
312
+ :other: "Oor {0} jaar"
313
+ :past:
314
+ :one: "{0} jaar gelede"
315
+ :other: "{0} jaar gelede"
316
+ :year-narrow:
317
+ :display_name: j.
318
+ :relative_time:
319
+ :future:
320
+ :one: "Oor {0} jaar"
321
+ :other: "Oor {0} jaar"
322
+ :past:
323
+ :one: "{0} jaar gelede"
324
+ :other: "{0} jaar gelede"
325
+ :year-short:
326
+ :display_name: j.
327
+ :relative_time:
328
+ :future:
329
+ :one: "Oor {0} jaar"
330
+ :other: "Oor {0} jaar"
331
+ :past:
332
+ :one: "{0} jaar gelede"
333
+ :other: "{0} jaar gelede"
334
+ :zone:
335
+ :display_name: Tydsone