air18n 0.1.17 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -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