air18n 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,37 +19,37 @@ module Air18n
19
19
  PLURAL_TYPES = {
20
20
  :chinese_like => {
21
21
  :num_forms => 1,
22
- :doc => ['One form for all counts.'],
22
+ :doc => nil,
23
23
  :rule => lambda { |n| 0 } },
24
24
 
25
25
  :german_like => {
26
26
  :num_forms => 2,
27
- :doc => ['Count is 1', 'Everything else (0, 2, 3, ...)'],
27
+ :doc => ['When count is 1', 'Everything else (0, 2, 3, ...)'],
28
28
  :rule => lambda { |n| n != 1 ? 1 : 0 } },
29
29
 
30
30
  :french_like => {
31
31
  :num_forms => 2,
32
- :doc => ['Count is 0 or 1', 'Everything else (2, 3, 4, ...)'],
32
+ :doc => ['When count is 0 or 1', 'Everything else (2, 3, 4, ...)'],
33
33
  :rule => lambda { |n| n > 1 ? 1 : 0 } },
34
34
 
35
35
  :russian_like => {
36
36
  :num_forms => 3,
37
- :doc => ['Count ends in 1, excluding 11 (1, 21, 31, ...)', 'Count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...)', 'Everything else (0, 5, 6, ...)'],
37
+ :doc => ['When count ends in 1, excluding 11 (1, 21, 31, ...)', 'When count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...)', 'Everything else (0, 5, 6, ...)'],
38
38
  :rule => lambda { |n| n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2 } },
39
39
 
40
40
  :czech_like => {
41
41
  :num_forms => 3,
42
- :doc => ['Count is 1', 'Count is 2, 3, 4', 'Everything else (0, 5, 6, ...)'],
42
+ :doc => ['When count is 1', 'When count is 2, 3, 4', 'Everything else (0, 5, 6, ...)'],
43
43
  :rule => lambda { |n| (n == 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2 } },
44
44
 
45
45
  :polish_like => {
46
46
  :num_forms => 3,
47
- :doc => ['Count is 1', 'Count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...)', 'Everything else (0, 5, 6, ...)'],
47
+ :doc => ['When count is 1', 'When count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...)', 'Everything else (0, 5, 6, ...)'],
48
48
  :rule => lambda { |n| (n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2) } },
49
49
 
50
50
  :icelandic_like => {
51
51
  :num_forms => 2,
52
- :doc => ['Count ends in 1, excluding 11 (1, 21, 31, ...)', 'Everything else (0, 2, 3, ...)'],
52
+ :doc => ['When count ends in 1, excluding 11 (1, 21, 31, ...)', 'Everything else (0, 2, 3, ...)'],
53
53
  :rule => lambda { |n| (n % 10 != 1 || n % 100 == 11) ? 1 : 0 } },
54
54
  }
55
55
 
@@ -111,7 +111,12 @@ module Air18n
111
111
 
112
112
  def hint(text, locale)
113
113
  if applies?(text)
114
- PLURAL_TYPES[plural_type_name(locale)][:doc].join(DELIMITER + ' ')
114
+ doc_array = PLURAL_TYPES[plural_type_name(locale)][:doc]
115
+ if doc_array
116
+ doc_string = doc_array.join(DELIMITER + ' ')
117
+ n = num_forms(locale)
118
+ "Must specify #{n} forms separated by \"#{DELIMITER}\": \"#{doc_string}\""
119
+ end
115
120
  end
116
121
  end
117
122
 
@@ -1,3 +1,3 @@
1
1
  module Air18n
2
- VERSION = "0.1.17"
2
+ VERSION = "0.1.18"
3
3
  end
@@ -101,7 +101,8 @@ describe Air18n::SmartCount do
101
101
  it 'should work' do
102
102
  Air18n::SmartCount::hint('hi there', :pl).should be_nil
103
103
  Air18n::SmartCount::hint('%{smart_count} reviews', :pl).should ==
104
- 'Count is 1; Count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...); Everything else (0, 5, 6, ...)'
104
+ "Must specify 3 forms separated by \";\": \"When count is 1; When count ends in 2-4, excluding 12-14 (2, 3, 4, 22, ...); Everything else (0, 5, 6, ...)\""
105
+ Air18n::SmartCount::hint('%{smart_count} reviews', :ja).should be_nil
105
106
  end
106
107
  end
107
108
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: air18n
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.18
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2012-10-02 00:00:00.000000000 Z
16
+ date: 2012-10-03 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: i18n