refinerycms-i18n 0.9.8

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.
Files changed (88) hide show
  1. data/REFINERY_README +8 -0
  2. data/Rakefile +34 -0
  3. data/config/locales/ar.yml +121 -0
  4. data/config/locales/bg.yml +198 -0
  5. data/config/locales/bn-IN.yml +180 -0
  6. data/config/locales/bs.yml +114 -0
  7. data/config/locales/ca-ES.yml +155 -0
  8. data/config/locales/cz.rb +166 -0
  9. data/config/locales/da.yml +167 -0
  10. data/config/locales/de-AT.yml +140 -0
  11. data/config/locales/de.yml +141 -0
  12. data/config/locales/dsb.yml +182 -0
  13. data/config/locales/el.yml +191 -0
  14. data/config/locales/es-AR.yml +168 -0
  15. data/config/locales/es-CO.yml +146 -0
  16. data/config/locales/es-MX.yml +118 -0
  17. data/config/locales/es.yml +186 -0
  18. data/config/locales/et.yml +109 -0
  19. data/config/locales/fa.yml +119 -0
  20. data/config/locales/fi.yml +154 -0
  21. data/config/locales/fr-CH.yml +123 -0
  22. data/config/locales/fr.yml +140 -0
  23. data/config/locales/fun/en-AU.rb +105 -0
  24. data/config/locales/fun/gibberish.rb +109 -0
  25. data/config/locales/fur.yml +141 -0
  26. data/config/locales/gl-ES.yml +193 -0
  27. data/config/locales/he.yml +103 -0
  28. data/config/locales/hr.yml +116 -0
  29. data/config/locales/hsb.yml +190 -0
  30. data/config/locales/hu.yml +144 -0
  31. data/config/locales/id.yml +122 -0
  32. data/config/locales/is.yml +142 -0
  33. data/config/locales/it.yml +146 -0
  34. data/config/locales/ja.yml +139 -0
  35. data/config/locales/ko.yml +153 -0
  36. data/config/locales/lo.yml +201 -0
  37. data/config/locales/lt.yml +141 -0
  38. data/config/locales/lv.yml +132 -0
  39. data/config/locales/mk.yml +115 -0
  40. data/config/locales/nb.yml +103 -0
  41. data/config/locales/nl.yml +173 -0
  42. data/config/locales/nn.yml +96 -0
  43. data/config/locales/pl.yml +127 -0
  44. data/config/locales/pt-BR.yml +148 -0
  45. data/config/locales/pt-PT.yml +220 -0
  46. data/config/locales/rm.yml +134 -0
  47. data/config/locales/ro.yml +152 -0
  48. data/config/locales/ru.yml +210 -0
  49. data/config/locales/sk.yml +139 -0
  50. data/config/locales/sl.yml +190 -0
  51. data/config/locales/sr-Latn.yml +116 -0
  52. data/config/locales/sr.yml +116 -0
  53. data/config/locales/sv-SE.yml +191 -0
  54. data/config/locales/sw.yml +123 -0
  55. data/config/locales/th.rb +222 -0
  56. data/config/locales/tr.yml +139 -0
  57. data/config/locales/uk.yml +237 -0
  58. data/config/locales/vi.yml +198 -0
  59. data/config/locales/zh-CN.yml +131 -0
  60. data/config/locales/zh-TW.yml +132 -0
  61. data/i18n-js-readme.rdoc +249 -0
  62. data/lib/gemspec.rb +29 -0
  63. data/lib/refinery/i18n-filter.rb +38 -0
  64. data/lib/refinery/i18n-js.rb +132 -0
  65. data/lib/refinery/i18n-js.yml +4 -0
  66. data/lib/refinery/i18n.js +339 -0
  67. data/lib/refinery/i18n.rb +146 -0
  68. data/lib/refinery/translate.rb +13 -0
  69. data/lib/tasks/i18n-js_tasks.rake +16 -0
  70. data/lib/tasks/translate.rake +200 -0
  71. data/lib/translate/file.rb +35 -0
  72. data/lib/translate/keys.rb +123 -0
  73. data/lib/translate/log.rb +39 -0
  74. data/lib/translate/storage.rb +20 -0
  75. data/test/i18n-test.html +50 -0
  76. data/test/i18n-test.js +661 -0
  77. data/test/i18n_js_test.rb +168 -0
  78. data/test/jsunittest/jsunittest.js +1017 -0
  79. data/test/jsunittest/unittest.css +54 -0
  80. data/test/resources/custom_path.yml +4 -0
  81. data/test/resources/default.yml +4 -0
  82. data/test/resources/locales.yml +76 -0
  83. data/test/resources/multiple_files.yml +6 -0
  84. data/test/resources/no_scope.yml +3 -0
  85. data/test/resources/simple_scope.yml +4 -0
  86. data/test/test_helper.rb +24 -0
  87. data/translate-readme.md +61 -0
  88. metadata +154 -0
@@ -0,0 +1,154 @@
1
+ # Finnish translations for Ruby on Rails
2
+ # by Marko Seppä (marko.seppa@gmail.com)
3
+ #
4
+ # corrected by Petri Kivikangas (pkivik@gmail.com)
5
+ # corrected and amended by Niklas Laxström (niklas.laxstrom+rails@gmail.com) 2009
6
+
7
+ fi:
8
+ date:
9
+ formats:
10
+ default: "%e. %Bta %Y"
11
+ long: "%A %e. %Bta %Y"
12
+ short: "%e.%m.%Y"
13
+
14
+ day_names: [sunnuntai, maanantai, tiistai, keskiviikko, torstai, perjantai, lauantai]
15
+ abbr_day_names: [su, ma, ti, ke, to, pe, la]
16
+ month_names: [~, tammikuu, helmikuu, maaliskuu, huhtikuu, toukokuu, kesäkuu, heinäkuu, elokuu, syyskuu, lokakuu, marraskuu, joulukuu]
17
+ abbr_month_names: [~, tammi, helmi, maalis, huhti, touko, kesä, heinä, elo, syys, loka, marras, joulu]
18
+ order: [:day, :month, :year]
19
+
20
+ time:
21
+ formats:
22
+ default: "%A %e. %Bta %Y %H:%M:%S %z"
23
+ short: "%e.%m. %H.%M"
24
+ long: "%e. %Bta %Y %H.%M"
25
+ am: "aamupäivä"
26
+ pm: "iltapäivä"
27
+
28
+ support:
29
+ array:
30
+ words_connector: ", "
31
+ two_words_connector: " ja "
32
+ last_word_connector: " ja "
33
+
34
+ number:
35
+ format:
36
+ separator: ","
37
+ delimiter: "."
38
+ precision: 3
39
+
40
+ currency:
41
+ format:
42
+ format: "%n %u"
43
+ unit: "€"
44
+ separator: ","
45
+ delimiter: "."
46
+ precision: 2
47
+
48
+ percentage:
49
+ format:
50
+ # separator:
51
+ delimiter: ""
52
+ # precision:
53
+
54
+ precision:
55
+ format:
56
+ # separator:
57
+ delimiter: ""
58
+ # precision:
59
+
60
+ human:
61
+ format:
62
+ delimiter: ""
63
+ precision: 1
64
+ storage_units:
65
+ format: "%n %u"
66
+ units:
67
+ byte:
68
+ one: "tavu"
69
+ other: "tavua"
70
+ kb: "kB"
71
+ mb: "MB"
72
+ gb: "GB"
73
+ tb: "TB"
74
+
75
+ datetime:
76
+ distance_in_words:
77
+ half_a_minute: "puoli minuuttia"
78
+ less_than_x_seconds:
79
+ one: "alle sekunti"
80
+ other: "alle %{count} sekuntia"
81
+ x_seconds:
82
+ one: "sekunti"
83
+ other: "%{count} sekuntia"
84
+ less_than_x_minutes:
85
+ one: "alle minuutti"
86
+ other: "alle %{count} minuuttia"
87
+ x_minutes:
88
+ one: "minuutti"
89
+ other: "%{count} minuuttia"
90
+ about_x_hours:
91
+ one: "noin tunti"
92
+ other: "noin %{count} tuntia"
93
+ x_days:
94
+ one: "päivä"
95
+ other: "%{count} päivää"
96
+ about_x_months:
97
+ one: "noin kuukausi"
98
+ other: "noin %{count} kuukautta"
99
+ x_months:
100
+ one: "kuukausi"
101
+ other: "%{count} kuukautta"
102
+ about_x_years:
103
+ one: "vuosi"
104
+ other: "noin %{count} vuotta"
105
+ over_x_years:
106
+ one: "yli vuosi"
107
+ other: "yli %{count} vuotta"
108
+ almost_x_years:
109
+ one: "melkein yksi vuosi"
110
+ other: "melkein %{count} vuotta"
111
+ prompts:
112
+ year: "Vuosi"
113
+ month: "Kuukausi"
114
+ day: "Päivä"
115
+ hour: "Tunti"
116
+ minute: "Minuutti"
117
+ second: "Sekunti"
118
+
119
+ support:
120
+ select:
121
+ prompt: "Valitse"
122
+
123
+ # which one should it be
124
+ #activemodel:
125
+ activerecord:
126
+ errors:
127
+ template:
128
+ header:
129
+ one: "Virhe syötteessä esti mallin %{model} tallentamisen"
130
+ other: "%{count} virhettä esti mallin %{model} tallentamisen"
131
+ body: "Seuraavat kentät aiheuttivat ongelmia:"
132
+ #activerecord:
133
+ #errors:
134
+ messages:
135
+ inclusion: "ei löydy listasta"
136
+ exclusion: "on varattu"
137
+ invalid: "on kelvoton"
138
+ confirmation: "ei vastaa varmennusta"
139
+ accepted: "täytyy olla hyväksytty"
140
+ empty: "ei voi olla tyhjä"
141
+ blank: "ei voi olla sisällötön"
142
+ too_long: "on liian pitkä (saa olla enintään %{count} merkkiä)"
143
+ too_short: "on liian lyhyt (oltava vähintään %{count} merkkiä)"
144
+ wrong_length: "on väärän pituinen (täytyy olla täsmälleen %{count} merkkiä)"
145
+ taken: "on jo käytössä"
146
+ not_a_number: "ei ole luku"
147
+ greater_than: "täytyy olla suurempi kuin %{count}"
148
+ greater_than_or_equal_to: "täytyy olla suurempi tai yhtä suuri kuin %{count}"
149
+ equal_to: "täytyy olla yhtä suuri kuin %{count}"
150
+ less_than: "täytyy olla pienempi kuin %{count}"
151
+ less_than_or_equal_to: "täytyy olla pienempi tai yhtä suuri kuin %{count}"
152
+ odd: "täytyy olla pariton"
153
+ even: "täytyy olla parillinen"
154
+ record_invalid: "Validointi epäonnistui: %{errors}"
@@ -0,0 +1,123 @@
1
+ # French (Switzerland) translations for Ruby on Rails
2
+ # by Yann Lugrin (yann.lugrin@sans-savoir.net, http://github.com/yannlugrin)
3
+ #
4
+ # original translation into French by Christian Lescuyer
5
+ # contributor: Sebastien Grosjean - ZenCocoon.com
6
+
7
+ fr-CH:
8
+ date:
9
+ formats:
10
+ default: "%d.%m.%Y"
11
+ short: "%e. %b"
12
+ long: "%e. %B %Y"
13
+ long_ordinal: "%e %B %Y"
14
+ only_day: "%e"
15
+
16
+ day_names: [lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche]
17
+ abbr_day_names: [lun, mar, mer, jeu, ven, sam, dim]
18
+ month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
19
+ abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
20
+ order: [ :day, :month, :year ]
21
+
22
+ time:
23
+ formats:
24
+ default: "%d. %B %Y %H:%M"
25
+ time: "%H:%M"
26
+ short: "%d. %b %H:%M"
27
+ long: "%A, %d. %B %Y %H:%M:%S %Z"
28
+ long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
29
+ only_second: "%S"
30
+ am: 'am'
31
+ pm: 'pm'
32
+
33
+ datetime:
34
+ distance_in_words:
35
+ half_a_minute: "30 secondes"
36
+ less_than_x_seconds:
37
+ one: "moins d'une seconde"
38
+ other: "moins de %{count} secondes"
39
+ x_seconds:
40
+ one: "1 seconde"
41
+ other: "%{count} secondes"
42
+ less_than_x_minutes:
43
+ one: "moins d'une minute"
44
+ other: "moins de %{count} minutes"
45
+ x_minutes:
46
+ one: "1 minute"
47
+ other: "%{count} minutes"
48
+ about_x_hours:
49
+ one: "environ une heure"
50
+ other: "environ %{count} heures"
51
+ x_days:
52
+ one: "1 jour"
53
+ other: "%{count} jours"
54
+ about_x_months:
55
+ one: "environ un mois"
56
+ other: "environ %{count} mois"
57
+ x_months:
58
+ one: "1 mois"
59
+ other: "%{count} mois"
60
+ about_x_years:
61
+ one: "environ un an"
62
+ other: "environ %{count} ans"
63
+ over_x_years:
64
+ one: "plus d'un an"
65
+ other: "plus de %{count} ans"
66
+ prompts:
67
+ year: "Année"
68
+ month: "Mois"
69
+ day: "Jour"
70
+ hour: "Heure"
71
+ minute: "Minute"
72
+ second: "Seconde"
73
+
74
+ number:
75
+ format:
76
+ precision: 3
77
+ separator: '.'
78
+ delimiter: "'"
79
+ currency:
80
+ format:
81
+ unit: 'CHF'
82
+ precision: 2
83
+ format: '%n %u'
84
+ human:
85
+ format:
86
+ precision: 2
87
+ storage_units: [ Octet, ko, Mo, Go, To ]
88
+
89
+ support:
90
+ array:
91
+ sentence_connector: 'et'
92
+ skip_last_comma: true
93
+ word_connector: ", "
94
+ two_words_connector: " et "
95
+ last_word_connector: " et "
96
+
97
+ activerecord:
98
+ errors:
99
+ template:
100
+ header:
101
+ one: "Impossible d'enregistrer %{model}: 1 erreur"
102
+ other: "Impossible d'enregistrer %{model}: %{count} erreurs."
103
+ body: "Veuillez vérifier les champs suivants :"
104
+ messages:
105
+ inclusion: "n'est pas inclus(e) dans la liste"
106
+ exclusion: "n'est pas disponible"
107
+ invalid: "n'est pas valide"
108
+ confirmation: "ne concorde pas avec la confirmation"
109
+ accepted: "doit être accepté(e)"
110
+ empty: "doit être rempli(e)"
111
+ blank: "doit être rempli(e)"
112
+ too_long: "est trop long (pas plus de %{count} caractères)"
113
+ too_short: "est trop court (au moins %{count} caractères)"
114
+ wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
115
+ taken: "n'est pas disponible"
116
+ not_a_number: "n'est pas un nombre"
117
+ greater_than: "doit être supérieur à %{count}"
118
+ greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
119
+ equal_to: "doit être égal à %{count}"
120
+ less_than: "doit être inférieur à %{count}"
121
+ less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
122
+ odd: "doit être impair"
123
+ even: "doit être pair"
@@ -0,0 +1,140 @@
1
+ # French translations for Ruby on Rails
2
+ # by Christian Lescuyer (christian@flyingcoders.com)
3
+ # contributor: Sebastien Grosjean - ZenCocoon.com
4
+
5
+ fr:
6
+ date:
7
+ formats:
8
+ default: "%d/%m/%Y"
9
+ short: "%e %b"
10
+ long: "%e %B %Y"
11
+ long_ordinal: "%e %B %Y"
12
+ only_day: "%e"
13
+
14
+ day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
15
+ abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
16
+ month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
17
+ abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
18
+ order: [ :day, :month, :year ]
19
+
20
+ time:
21
+ formats:
22
+ default: "%d %B %Y %H:%M"
23
+ time: "%H:%M"
24
+ short: "%d %b %H:%M"
25
+ long: "%A %d %B %Y %H:%M:%S %Z"
26
+ long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
27
+ only_second: "%S"
28
+ am: 'am'
29
+ pm: 'pm'
30
+
31
+ datetime:
32
+ distance_in_words:
33
+ half_a_minute: "une demi-minute"
34
+ less_than_x_seconds:
35
+ zero: "moins d'une seconde"
36
+ one: "moins de 1 seconde"
37
+ other: "moins de %{count} secondes"
38
+ x_seconds:
39
+ one: "1 seconde"
40
+ other: "%{count} secondes"
41
+ less_than_x_minutes:
42
+ zero: "moins d'une minute"
43
+ one: "moins de 1 minute"
44
+ other: "moins de %{count} minutes"
45
+ x_minutes:
46
+ one: "1 minute"
47
+ other: "%{count} minutes"
48
+ about_x_hours:
49
+ one: "environ une heure"
50
+ other: "environ %{count} heures"
51
+ x_days:
52
+ one: "1 jour"
53
+ other: "%{count} jours"
54
+ about_x_months:
55
+ one: "environ un mois"
56
+ other: "environ %{count} mois"
57
+ x_months:
58
+ one: "1 mois"
59
+ other: "%{count} mois"
60
+ about_x_years:
61
+ one: "environ un an"
62
+ other: "environ %{count} ans"
63
+ over_x_years:
64
+ one: "plus d'un an"
65
+ other: "plus de %{count} ans"
66
+ prompts:
67
+ year: "Année"
68
+ month: "Mois"
69
+ day: "Jour"
70
+ hour: "Heure"
71
+ minute: "Minute"
72
+ second: "Seconde"
73
+
74
+ number:
75
+ format:
76
+ precision: 3
77
+ separator: ','
78
+ delimiter: ' '
79
+ currency:
80
+ format:
81
+ unit: '€'
82
+ precision: 2
83
+ format: '%n %u'
84
+ human:
85
+ format:
86
+ # These three are to override number.format and are optional
87
+ # separator:
88
+ delimiter: ""
89
+ precision: 2
90
+ # Rails <= v2.2.2
91
+ # storage_units: [octet, kb, Mb, Gb, Tb]
92
+ # Rails >= v2.3
93
+ storage_units:
94
+ format: "%n %u"
95
+ units:
96
+ byte:
97
+ one: "octet"
98
+ other: "octets"
99
+ kb: "ko"
100
+ mb: "Mo"
101
+ gb: "Go"
102
+ tb: "To"
103
+
104
+ support:
105
+ array:
106
+ sentence_connector: 'et'
107
+ skip_last_comma: true
108
+ words_connector: ", "
109
+ two_words_connector: " et "
110
+ last_word_connector: " et "
111
+
112
+ activerecord:
113
+ errors:
114
+ template:
115
+ header:
116
+ one: "Impossible d'enregistrer %{model}: 1 erreur"
117
+ other: "Impossible d'enregistrer %{model}: %{count} erreurs."
118
+ body: "Veuillez vérifier les champs suivants :"
119
+ messages:
120
+ inclusion: "n'est pas inclus(e) dans la liste"
121
+ exclusion: "n'est pas disponible"
122
+ invalid: "n'est pas valide"
123
+ confirmation: "ne concorde pas avec la confirmation"
124
+ accepted: "doit être accepté(e)"
125
+ empty: "doit être rempli(e)"
126
+ blank: "doit être rempli(e)"
127
+ too_long: "est trop long (pas plus de %{count} caractères)"
128
+ too_short: "est trop court (au moins %{count} caractères)"
129
+ wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
130
+ taken: "n'est pas disponible"
131
+ not_a_number: "n'est pas un nombre"
132
+ greater_than: "doit être supérieur à %{count}"
133
+ greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
134
+ equal_to: "doit être égal à %{count}"
135
+ less_than: "doit être inférieur à %{count}"
136
+ less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
137
+ odd: "doit être impair"
138
+ even: "doit être pair"
139
+ record_invalid: "La validation a échoué : %{errors}"
140
+
@@ -0,0 +1,105 @@
1
+ # original by Dr. Nic
2
+
3
+ {
4
+ :'en-AU' => {
5
+ :date => {
6
+ :formats => {
7
+ :default => "%d/%m/%Y",
8
+ :short => "%e %b",
9
+ :long => "%e %B, %Y",
10
+ :long_ordinal => lambda { |date| "#{date.day.ordinalize} %B, %Y" },
11
+ :only_day => "%e"
12
+ },
13
+ :day_names => Date::DAYNAMES,
14
+ :abbr_day_names => Date::ABBR_DAYNAMES,
15
+ :month_names => Date::MONTHNAMES,
16
+ :abbr_month_names => Date::ABBR_MONTHNAMES,
17
+ :order => [:year, :month, :day]
18
+ },
19
+ :time => {
20
+ :formats => {
21
+ :default => "%a %b %d %H:%M:%S %Z %Y",
22
+ :time => "%H:%M",
23
+ :short => "%d %b %H:%M",
24
+ :long => "%d %B, %Y %H:%M",
25
+ :long_ordinal => lambda { |time| "#{time.day.ordinalize} %B, %Y %H:%M" },
26
+ :only_second => "%S"
27
+ },
28
+ :datetime => {
29
+ :formats => {
30
+ :default => "%Y-%m-%dT%H:%M:%S%Z"
31
+ }
32
+ },
33
+ :time_with_zone => {
34
+ :formats => {
35
+ :default => lambda { |time| "%Y-%m-%d %H:%M:%S #{time.formatted_offset(false, 'UTC')}" }
36
+ }
37
+ },
38
+ :am => 'am',
39
+ :pm => 'pm'
40
+ },
41
+ :datetime => {
42
+ :distance_in_words => {
43
+ :half_a_minute => 'half a minute',
44
+ :less_than_x_seconds => {:zero => 'less than a second', :one => 'less than a second', :other => 'less than %{count} seconds'},
45
+ :x_seconds => {:one => '1 second', :other => '%{count} seconds'},
46
+ :less_than_x_minutes => {:zero => 'less than a minute', :one => 'less than a minute', :other => 'less than %{count} minutes'},
47
+ :x_minutes => {:one => "1 minute", :other => "%{count} minutes"},
48
+ :about_x_hours => {:one => 'about 1 hour', :other => 'about %{count} hours'},
49
+ :x_days => {:one => '1 day', :other => '%{count} days'},
50
+ :about_x_months => {:one => 'about 1 month', :other => 'about %{count} months'},
51
+ :x_months => {:one => '1 month', :other => '%{count} months'},
52
+ :about_x_years => {:one => 'about 1 year', :other => 'about %{count} years'},
53
+ :over_x_years => {:one => 'over 1 year', :other => 'over %{count} years'}
54
+ }
55
+ },
56
+ :number => {
57
+ :format => {
58
+ :precision => 2,
59
+ :separator => ',',
60
+ :delimiter => '.'
61
+ },
62
+ :currency => {
63
+ :format => {
64
+ :unit => 'AUD',
65
+ :precision => 2,
66
+ :format => '%n %u'
67
+ }
68
+ }
69
+ },
70
+
71
+ # Active Record
72
+ :activerecord => {
73
+ :errors => {
74
+ :template => {
75
+ :header => {
76
+ :one => "Couldn't save this %{model}: 1 error",
77
+ :other => "Couldn't save this %{model}: %{count} errors."
78
+ },
79
+ :body => "Please check the following fields, dude:"
80
+ },
81
+ :messages => {
82
+ :inclusion => "ain't included in the list",
83
+ :exclusion => "ain't available",
84
+ :invalid => "ain't valid",
85
+ :confirmation => "don't match its confirmation",
86
+ :accepted => "gotta be accepted",
87
+ :empty => "gotta be given",
88
+ :blank => "gotta be given",
89
+ :too_long => "is too long-ish (no more than %{count} characters)",
90
+ :too_short => "is too short-ish (no less than %{count} characters)",
91
+ :wrong_length => "ain't got the right length (gotta be %{count} characters)",
92
+ :taken => "ain't available",
93
+ :not_a_number => "ain't a number",
94
+ :greater_than => "gotta be greater than %{count}",
95
+ :greater_than_or_equal_to => "gotta be greater than or equal to %{count}",
96
+ :equal_to => "gotta be equal to %{count}",
97
+ :less_than => "gotta be less than %{count}",
98
+ :less_than_or_equal_to => "gotta be less than or equal to %{count}",
99
+ :odd => "gotta be odd",
100
+ :even => "gotta be even"
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }