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,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à "