refinerycms-i18n 0.9.8

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