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,139 @@
1
+ # Turkish translations for Ruby on Rails
2
+ # by Ozgun Ataman (ozataman@gmail.com)
3
+
4
+ tr:
5
+ locale:
6
+ native_name: Türkçe
7
+ address_separator: " "
8
+ date:
9
+ formats:
10
+ default: "%d.%m.%Y"
11
+ numeric: "%d.%m.%Y"
12
+ short: "%e %b"
13
+ long: "%e %B %Y, %A"
14
+ only_day: "%e"
15
+
16
+ day_names: [Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi]
17
+ abbr_day_names: [Pzr, Pzt, Sal, Çrş, Prş, Cum, Cts]
18
+ month_names: [~, Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
19
+ abbr_month_names: [~, Oca, Şub, Mar, Nis, May, Haz, Tem, Ağu, Eyl, Eki, Kas, Ara]
20
+ order: [ :day, :month, :year ]
21
+
22
+ time:
23
+ formats:
24
+ default: "%a %d.%b.%y %H:%M"
25
+ numeric: "%d.%b.%y %H:%M"
26
+ short: "%e %B, %H:%M"
27
+ long: "%e %B %Y, %A, %H:%M"
28
+ time: "%H:%M"
29
+
30
+ am: "öğleden önce"
31
+ pm: "öğleden sonra"
32
+
33
+ datetime:
34
+ distance_in_words:
35
+ half_a_minute: 'yarım dakika'
36
+ less_than_x_seconds:
37
+ zero: '1 saniyeden az'
38
+ one: '1 saniyeden az'
39
+ other: '%{count} saniyeden az'
40
+ x_seconds:
41
+ one: '1 saniye'
42
+ other: '%{count} saniye'
43
+ less_than_x_minutes:
44
+ zero: '1 dakikadan az'
45
+ one: '1 dakikadan az'
46
+ other: '%{count} dakikadan az'
47
+ x_minutes:
48
+ one: '1 dakika'
49
+ other: '%{count} dakika'
50
+ about_x_hours:
51
+ one: '1 saat civarında'
52
+ other: '%{count} saat civarında'
53
+ x_days:
54
+ one: '1 gün'
55
+ other: '%{count} gün'
56
+ about_x_months:
57
+ one: '1 ay civarında'
58
+ other: '%{count} ay civarında'
59
+ x_months:
60
+ one: '1 ay'
61
+ other: '%{count} ay'
62
+ about_x_years:
63
+ one: '1 yıl civarında'
64
+ other: '%{count} yıl civarında'
65
+ over_x_years:
66
+ one: '1 yıldan fazla'
67
+ other: '%{count} yıldan fazla'
68
+ almost_x_years:
69
+ one: "neredeyse 1 yıl"
70
+ other: "neredeyse %{count} yıl"
71
+
72
+ number:
73
+ format:
74
+ precision: 2
75
+ separator: ','
76
+ delimiter: '.'
77
+ currency:
78
+ format:
79
+ unit: 'TL'
80
+ format: '%n %u'
81
+ separator: ','
82
+ delimiter: '.'
83
+ precision: 2
84
+ percentage:
85
+ format:
86
+ delimiter: '.'
87
+ separator: ','
88
+ precision: 2
89
+ precision:
90
+ format:
91
+ delimiter: '.'
92
+ separator: ','
93
+ human:
94
+ format:
95
+ delimiter: '.'
96
+ separator: ','
97
+ precision: 2
98
+
99
+ support:
100
+ select:
101
+ # default value for :prompt => true in FormOptionsHelper
102
+ prompt: "Lütfen seçiniz"
103
+ array:
104
+ sentence_connector: "ve"
105
+ skip_last_comma: true
106
+ words_connector: ", "
107
+ two_words_connector: " ve "
108
+ last_word_connector: " ve "
109
+
110
+ activerecord:
111
+ errors:
112
+ template:
113
+ header:
114
+ one: "%{model} girişi kaydedilemedi: 1 hata."
115
+ other: "%{model} girişi kadedilemedi: %{count} hata."
116
+ body: "Lütfen aşağıdaki hataları düzeltiniz:"
117
+
118
+ messages:
119
+ inclusion: "kabul edilen bir kelime değil"
120
+ exclusion: "kullanılamaz"
121
+ invalid: "geçersiz"
122
+ confirmation: "teyidiyle uyuşmamakta"
123
+ accepted: "kabul edilmeli"
124
+ empty: "doldurulmalı"
125
+ blank: "doldurulmalı"
126
+ too_long: "çok uzun (en fazla %{count} karakter)"
127
+ too_short: "çok kısa (en az %{count} karakter)"
128
+ wrong_length: "yanlış uzunlukta (tam olarak %{count} karakter olmalı)"
129
+ taken: "hali hazırda kullanılmakta"
130
+ not_a_number: "geçerli bir sayı değil"
131
+ greater_than: "%{count} sayısından büyük olmalı"
132
+ greater_than_or_equal_to: "%{count} sayısına eşit veya büyük olmalı"
133
+ equal_to: "tam olarak %{count} olmalı"
134
+ less_than: "%{count} sayısından küçük olmalı"
135
+ less_than_or_equal_to: "%{count} sayısına eşit veya küçük olmalı"
136
+ odd: "tek olmalı"
137
+ even: "çift olmalı"
138
+ record_invalid: "Doğrulama başarısız oldu: %{errors}"
139
+ models:
@@ -0,0 +1,237 @@
1
+ # Ukrainian translations for Ruby on Rails
2
+ # by Andrii Ponomarov (http://github.com/andrii)
3
+ # improved (I hope) by Iwakura Taro
4
+ # it is recomended to use russian rubygem to make i18n of your app
5
+
6
+ uk:
7
+ number:
8
+ # Used in number_with_delimiter()
9
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
10
+ format:
11
+ # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
12
+ separator: ","
13
+ # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
14
+ delimiter: " "
15
+ # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
16
+ precision: 3
17
+
18
+ # Used in number_to_currency()
19
+ currency:
20
+ format:
21
+ # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
22
+ format: "%n %u"
23
+ unit: "грн."
24
+ # These three are to override number.format and are optional
25
+ separator: ","
26
+ delimiter: " "
27
+ precision: 2
28
+
29
+ # Used in number_to_percentage()
30
+ percentage:
31
+ format:
32
+ # These three are to override number.format and are optional
33
+ # separator:
34
+ delimiter: ""
35
+ # precision:
36
+
37
+ # Used in number_to_precision()
38
+ precision:
39
+ format:
40
+ # These three are to override number.format and are optional
41
+ # separator:
42
+ delimiter: ""
43
+ # precision:
44
+
45
+ # Used in number_to_human_size()
46
+ human:
47
+ format:
48
+ # These three are to override number.format and are optional
49
+ # separator:
50
+ delimiter: ""
51
+ precision: 1
52
+ storage_units:
53
+ # Storage units output formatting.
54
+ # %u is the storage unit, %n is the number (default: 2 MB)
55
+ format: "%n %u"
56
+ units:
57
+ byte:
58
+ one: "байт"
59
+ few: "байти"
60
+ many: "байтів"
61
+ other: "байту"
62
+ kb: "кБ"
63
+ mb: "МБ"
64
+ gb: "ГБ"
65
+ tb: "ТБ"
66
+
67
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
68
+ datetime:
69
+ distance_in_words:
70
+ half_a_minute: "півхвилини"
71
+ less_than_x_seconds:
72
+ one: "менше %{count} секунди"
73
+ few: "менше %{count} секунд"
74
+ many: "менше %{count} секунд"
75
+ other: "менше %{count} секунди"
76
+ x_seconds:
77
+ one: "%{count} секунда"
78
+ few: "%{count} секунди"
79
+ many: "%{count} секунд"
80
+ other: "%{count} секунди"
81
+ less_than_x_minutes:
82
+ one: "менше %{count} хвилини"
83
+ few: "менше %{count} хвилин"
84
+ many: "менше %{count} хвилин"
85
+ other: "менше %{count} хвилини"
86
+ x_minutes:
87
+ one: "%{count} хвилина"
88
+ few: "%{count} хвилини"
89
+ many: "%{count} хвилин"
90
+ other: "%{count} хвилини"
91
+ about_x_hours:
92
+ one: "близько %{count} година"
93
+ few: "близько %{count} години"
94
+ many: "близько %{count} годин"
95
+ other: "близько %{count} години"
96
+ x_days:
97
+ one: "%{count} день"
98
+ few: "%{count} дні"
99
+ many: "%{count} днів"
100
+ other: "%{count} дня"
101
+ about_x_months:
102
+ one: "близько %{count} місяця"
103
+ few: "близько %{count} місяців"
104
+ many: "близько %{count} місяців"
105
+ other: "близько %{count} місяця"
106
+ x_months:
107
+ one: "%{count} місяць"
108
+ few: "%{count} місяці"
109
+ many: "%{count} місяців"
110
+ other: "%{count} місяця"
111
+ about_x_years:
112
+ one: "близько %{count} року"
113
+ few: "близько %{count} років"
114
+ many: "близько %{count} років"
115
+ other: "близько %{count} року"
116
+ over_x_years:
117
+ one: "більше %{count} року"
118
+ few: "більше %{count} років"
119
+ many: "більше %{count} років"
120
+ other: "більше %{count} року"
121
+ prompts:
122
+ year: "Рік"
123
+ month: "Місяць"
124
+ day: "День"
125
+ hour: "Година"
126
+ minute: "Хвилина"
127
+ second: "Секунда"
128
+
129
+ activerecord:
130
+ errors:
131
+ template:
132
+ header:
133
+ one: "%{model} не збережено через %{count} помилку"
134
+ few: "%{model} не збережено через %{count} помилки"
135
+ many: "%{model} не збережено через %{count} помилок"
136
+ other: "%{model} не збережено через %{count} помилки"
137
+ # The variable :count is also available
138
+ body: "Помилки виявлено в таких полях:"
139
+
140
+ # The values :model, :attribute and :value are always available for interpolation
141
+ # The value :count is available when applicable. Can be used for pluralization.
142
+ messages:
143
+ inclusion: "не включено до переліку"
144
+ exclusion: "зарезервовано"
145
+ invalid: "недійсний"
146
+ confirmation: "не збігається з підтвердженням"
147
+ accepted: "має бути прийнятий"
148
+ empty: "не може бути порожнім"
149
+ blank: "не може бути пустим"
150
+ too_long:
151
+ one: "занадто довгий (максимум %{count} знак)"
152
+ few: "занадто довгий (максимум %{count} знаки)"
153
+ many: "занадто довгий (максимум %{count} знаків)"
154
+ other: "занадто довгий (максимум %{count} знаку)"
155
+ too_short:
156
+ one: "занадто короткий (мінімум %{count} знак)"
157
+ few: "занадто короткий (мінімум %{count} знаки)"
158
+ many: "занадто короткий (мінімум %{count} знаків)"
159
+ other: "занадто короткий (мінімум %{count} знаку)"
160
+ wrong_length:
161
+ one: "неправильна довжина (має бути %{count} знак)"
162
+ few: "неправильна довжина (має бути %{count} знаки)"
163
+ many: "неправильна довжина (має бути %{count} знаків)"
164
+ other: "неправильна довжина (має бути %{count} знаку)"
165
+ taken: "вже зайнятий"
166
+ not_a_number: "не число"
167
+ greater_than: "має бути більше ніж %{count}"
168
+ greater_than_or_equal_to: "має бути більше ніж або дорівнювати %{count}"
169
+ equal_to: "має дорівнювати %{count}"
170
+ less_than: "має бути менше ніж %{count}"
171
+ less_than_or_equal_to: "має бути менше ніж або дорівнювати %{count}"
172
+ odd: "має бути непарним"
173
+ even: "має бути парним"
174
+ # Append your own errors here or at the model/attributes scope.
175
+
176
+ # You can define own errors for models or model attributes.
177
+ # The values :model, :attribute and :value are always available for interpolation.
178
+ #
179
+ # For example,
180
+ # models:
181
+ # user:
182
+ # blank: "This is a custom blank message for %{model}: %{attribute}"
183
+ # attributes:
184
+ # login:
185
+ # blank: "This is a custom blank message for User login"
186
+ # Will define custom blank validation message for User model and
187
+ # custom blank validation message for login attribute of User model.
188
+ #models:
189
+
190
+ # Translate model names. Used in Model.human_name().
191
+ #models:
192
+ # For example,
193
+ # user: "Dude"
194
+ # will translate User model name to "Dude"
195
+
196
+ # Translate model attribute names. Used in Model.human_attribute_name(attribute).
197
+ #attributes:
198
+ # For example,
199
+ # user:
200
+ # login: "Handle"
201
+ # will translate User attribute "login" as "Handle"
202
+
203
+ date:
204
+ formats:
205
+ # Use the strftime parameters for formats.
206
+ # When no format has been given, it uses default.
207
+ # You can provide other formats here if you like!
208
+ default: "%d.%m.%Y"
209
+ short: "%d %b"
210
+ long: "%d %B %Y"
211
+
212
+ day_names: [неділя, понеділок, вівторок, середа, четвер, "п'ятниця", субота]
213
+ abbr_day_names: [нд., пн., вт., ср., чт., пт., сб.]
214
+
215
+ # Don't forget the nil at the beginning; there's no such thing as a 0th month
216
+ month_names: [~, Січень, Лютий, Березень, Квітень, Травень, Червень, Липень, Серпень, Вересень, Жовтень, Листопад, Грудень]
217
+ abbr_month_names: [~, січ., лют., бер., квіт., трав., черв., лип., серп., вер., жовт., лист., груд.]
218
+ # Used in date_select and datime_select.
219
+ order: [ :day, :month, :year ]
220
+
221
+ time:
222
+ formats:
223
+ default: "%a, %d %b %Y, %H:%M:%S %z"
224
+ short: "%d %b, %H:%M"
225
+ long: "%d %B %Y, %H:%M"
226
+ am: "до полудня"
227
+ pm: "по полудні"
228
+
229
+ # Used in array.to_sentence.
230
+ support:
231
+ array:
232
+ sentence_connector: "і"
233
+ skip_last_comma: true
234
+ words_connector: ", "
235
+ two_words_connector: " і "
236
+ last_word_connector: " та "
237
+
@@ -0,0 +1,198 @@
1
+ # Vietnamese translation for Ruby on Rails
2
+ # by
3
+ # Do Hai Bac (dohaibac@gmail.com)
4
+ # Dao Thanh Ngoc (ngocdaothanh@gmail.com, http://github.com/ngocdaothanh/rails-i18n/tree/master)
5
+
6
+ vi:
7
+ number:
8
+ # Used in number_with_delimiter()
9
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
10
+ format:
11
+ # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
12
+ separator: ","
13
+ # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
14
+ delimiter: "."
15
+ # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
16
+ precision: 3
17
+
18
+ # Used in number_to_currency()
19
+ currency:
20
+ format:
21
+ # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
22
+ format: "%n %u"
23
+ unit: "đồng"
24
+ # These three are to override number.format and are optional
25
+ separator: ","
26
+ delimiter: "."
27
+ precision: 2
28
+
29
+ # Used in number_to_percentage()
30
+ percentage:
31
+ format:
32
+ # These three are to override number.format and are optional
33
+ # separator:
34
+ delimiter: ""
35
+ # precision:
36
+
37
+ # Used in number_to_precision()
38
+ precision:
39
+ format:
40
+ # These three are to override number.format and are optional
41
+ # separator:
42
+ delimiter: ""
43
+ # precision:
44
+
45
+ # Used in number_to_human_size()
46
+ human:
47
+ format:
48
+ # These three are to override number.format and are optional
49
+ # separator:
50
+ delimiter: ""
51
+ precision: 1
52
+ storage_units:
53
+ # Storage units output formatting.
54
+ # %u is the storage unit, %n is the number (default: 2 MB)
55
+ format: "%n %u"
56
+ units:
57
+ byte:
58
+ one: "Byte"
59
+ other: "Byte"
60
+ kb: "KB"
61
+ mb: "MB"
62
+ gb: "GB"
63
+ tb: "TB"
64
+
65
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
66
+ datetime:
67
+ distance_in_words:
68
+ half_a_minute: "30 giây"
69
+ less_than_x_seconds:
70
+ one: "chưa tới 1 giây"
71
+ other: "chưa tới %{count} giây"
72
+ x_seconds:
73
+ one: "1 giây"
74
+ other: "%{count} giây"
75
+ less_than_x_minutes:
76
+ one: "chưa tới 1 phút"
77
+ other: "chưa tới %{count} phút"
78
+ x_minutes:
79
+ one: "1 phút"
80
+ other: "%{count} phút"
81
+ about_x_hours:
82
+ one: "khoảng 1 giờ"
83
+ other: "khoảng %{count} giờ"
84
+ x_days:
85
+ one: "1 ngày"
86
+ other: "%{count} ngày"
87
+ about_x_months:
88
+ one: "khoảng 1 tháng"
89
+ other: "khoảng %{count} tháng"
90
+ x_months:
91
+ one: "1 tháng"
92
+ other: "%{count} tháng"
93
+ about_x_years:
94
+ one: "khoảng 1 năm"
95
+ other: "khoảng %{count} năm"
96
+ over_x_years:
97
+ one: "hơn 1 năm"
98
+ other: "hơn %{count} năm"
99
+ prompts:
100
+ year: "Năm"
101
+ month: "Tháng"
102
+ day: "Ngày"
103
+ hour: "Giờ"
104
+ minute: "Phút"
105
+ second: "Giây"
106
+
107
+ activerecord:
108
+ errors:
109
+ template:
110
+ header:
111
+ one: "1 lỗi ngăn không cho lưu %{model} này"
112
+ other: "%{count} lỗi ngăn không cho lưu %{model} này"
113
+ # The variable :count is also available
114
+ body: "Có lỗi với các mục sau:"
115
+
116
+ # The values :model, :attribute and :value are always available for interpolation
117
+ # The value :count is available when applicable. Can be used for pluralization.
118
+ messages:
119
+ inclusion: "không có trong danh sách"
120
+ exclusion: "đã được giành trước"
121
+ invalid: "không hợp lệ"
122
+ confirmation: "không khớp với xác nhận"
123
+ accepted: "phải được đồng ý"
124
+ empty: "không thể rỗng"
125
+ blank: "không thể để trắng"
126
+ too_long: "quá dài (tối đa %{count} ký tự)"
127
+ too_short: "quá ngắn (tối thiểu %{count} ký tự)"
128
+ wrong_length: "độ dài không đúng (phải là %{count} ký tự)"
129
+ taken: "đã có"
130
+ not_a_number: "không phải là số"
131
+ greater_than: "phải lớn hơn %{count}"
132
+ greater_than_or_equal_to: "phải lớn hơn hoặc bằng %{count}"
133
+ equal_to: "phải bằng %{count}"
134
+ less_than: "phải nhỏ hơn %{count}"
135
+ less_than_or_equal_to: "phải nhỏ hơn hoặc bằng %{count}"
136
+ odd: "phải là số chẵn"
137
+ even: "phải là số lẻ"
138
+ # Append your own errors here or at the model/attributes scope.
139
+
140
+ # You can define own errors for models or model attributes.
141
+ # The values :model, :attribute and :value are always available for interpolation.
142
+ #
143
+ # For example,
144
+ # models:
145
+ # user:
146
+ # blank: "This is a custom blank message for %{model}: %{attribute}"
147
+ # attributes:
148
+ # login:
149
+ # blank: "This is a custom blank message for User login"
150
+ # Will define custom blank validation message for User model and
151
+ # custom blank validation message for login attribute of User model.
152
+ # models:
153
+
154
+ # Translate model names. Used in Model.human_name().
155
+ #models:
156
+ # For example,
157
+ # user: "Dude"
158
+ # will translate User model name to "Dude"
159
+
160
+ # Translate model attribute names. Used in Model.human_attribute_name(attribute).
161
+ #attributes:
162
+ # For example,
163
+ # user:
164
+ # login: "Handle"
165
+ # will translate User attribute "login" as "Handle"
166
+
167
+ date:
168
+ formats:
169
+ # Use the strftime parameters for formats.
170
+ # When no format has been given, it uses default.
171
+ # You can provide other formats here if you like!
172
+ default: "%d-%m-%Y"
173
+ short: "%d %b"
174
+ long: "%d %B, %Y"
175
+
176
+ day_names: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"]
177
+ abbr_day_names: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"]
178
+
179
+ # Don't forget the nil at the beginning; there's no such thing as a 0th month
180
+ month_names: [~, "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"]
181
+ abbr_month_names: [~, "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"]
182
+ # Used in date_select and datime_select.
183
+ order: [ :day, :month, :year ]
184
+
185
+ time:
186
+ formats:
187
+ default: "%a, %d %b %Y %H:%M:%S %z"
188
+ short: "%d %b %H:%M"
189
+ long: "%d %B, %Y %H:%M"
190
+ am: "sáng"
191
+ pm: "chiều"
192
+
193
+ # Used in array.to_sentence.
194
+ support:
195
+ array:
196
+ words_connector: ", "
197
+ two_words_connector: " và "
198
+ last_word_connector: ", và "