alula 0.2.3 → 0.4.0b
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.
- data/.gitignore +2 -0
- data/Gemfile +7 -0
- data/Guardfile +9 -0
- data/Rakefile +12 -1
- data/VERSION +1 -1
- data/alula.gemspec +20 -4
- data/lib/alula/attachment_processor.rb +77 -0
- data/lib/alula/cdn.rb +30 -0
- data/lib/alula/cdns/edgecast.rb +16 -0
- data/lib/alula/cdns/hosts.rb +14 -0
- data/lib/alula/cli.rb +90 -39
- data/lib/alula/compressors.rb +22 -10
- data/lib/alula/config.rb +141 -0
- data/lib/alula/content.rb +113 -0
- data/lib/alula/contents/attachment.rb +8 -0
- data/lib/alula/contents/item.rb +409 -0
- data/lib/alula/contents/metadata.rb +73 -0
- data/lib/alula/contents/page.rb +9 -0
- data/lib/alula/contents/post.rb +32 -0
- data/lib/alula/context.rb +72 -0
- data/lib/alula/core_ext.rb +5 -0
- data/lib/alula/core_ext/environment.rb +20 -0
- data/lib/alula/core_ext/filter.rb +20 -0
- data/lib/alula/core_ext/filters/smilies.rb +36 -0
- data/lib/alula/core_ext/manifest.rb +30 -0
- data/lib/alula/core_ext/tag.rb +100 -0
- data/lib/alula/core_ext/tags/attachment.rb +28 -0
- data/lib/alula/core_ext/tags/blockquote.rb +21 -0
- data/lib/alula/core_ext/tags/image.rb +48 -0
- data/lib/alula/core_ext/tags/locale.rb +17 -0
- data/lib/alula/core_ext/tags/video.rb +103 -0
- data/lib/alula/generator.rb +31 -0
- data/lib/alula/generators/feedbuilder.rb +44 -0
- data/lib/alula/generators/paginate.rb +88 -0
- data/lib/alula/generators/sitemap.rb +26 -0
- data/lib/alula/helpers.rb +2 -0
- data/lib/alula/helpers/addons.rb +12 -0
- data/lib/alula/helpers/assets.rb +56 -0
- data/lib/alula/helpers/url_helpers.rb +16 -0
- data/lib/alula/plugin.rb +32 -0
- data/lib/alula/processor.rb +86 -0
- data/lib/alula/processors/dummy.rb +24 -0
- data/lib/alula/processors/image.rb +52 -0
- data/lib/alula/processors/magick.rb +83 -0
- data/lib/alula/processors/video.rb +97 -0
- data/lib/alula/processors/zencoder.rb +199 -0
- data/lib/alula/progress.rb +95 -0
- data/lib/alula/progressbar.rb +66 -0
- data/lib/alula/site.rb +331 -262
- data/lib/alula/storage.rb +46 -0
- data/lib/alula/storages/file_item.rb +43 -0
- data/lib/alula/storages/filestorage.rb +96 -0
- data/lib/alula/storages/item.rb +12 -0
- data/lib/alula/support/commonlogger.rb +30 -0
- data/lib/alula/theme.rb +70 -13
- data/lib/alula/theme/layout.rb +56 -0
- data/lib/alula/theme/view.rb +43 -0
- data/lib/alula/version.rb +1 -1
- data/locales/en.yml +9 -0
- data/locales/fi.yml +10 -0
- data/locales/l10n/ar.yml +199 -0
- data/locales/l10n/az.yml +199 -0
- data/locales/l10n/bg.yml +199 -0
- data/locales/l10n/bn-IN.yml +182 -0
- data/locales/l10n/bs.yml +242 -0
- data/locales/l10n/ca.yml +199 -0
- data/locales/l10n/cs.yml +198 -0
- data/locales/l10n/csb.yml +210 -0
- data/locales/l10n/cy.yml +199 -0
- data/locales/l10n/da.yml +199 -0
- data/locales/l10n/de-AT.yml +203 -0
- data/locales/l10n/de-CH.yml +203 -0
- data/locales/l10n/de.yml +203 -0
- data/locales/l10n/dsb.yml +215 -0
- data/locales/l10n/el.yml +199 -0
- data/locales/l10n/en-AU.yml +205 -0
- data/locales/l10n/en-CA.yml +214 -0
- data/locales/l10n/en-GB.yml +205 -0
- data/locales/l10n/en-IN.yml +205 -0
- data/locales/l10n/en-US.yml +205 -0
- data/locales/l10n/en.yml +205 -0
- data/locales/l10n/eo.yml +201 -0
- data/locales/l10n/es-AR.yml +205 -0
- data/locales/l10n/es-CL.yml +199 -0
- data/locales/l10n/es-CO.yml +205 -0
- data/locales/l10n/es-MX.yml +205 -0
- data/locales/l10n/es-PE.yml +181 -0
- data/locales/l10n/es-VE.yml +205 -0
- data/locales/l10n/es.yml +199 -0
- data/locales/l10n/et.yml +199 -0
- data/locales/l10n/eu.yml +199 -0
- data/locales/l10n/fa.yml +199 -0
- data/locales/l10n/fi.yml +199 -0
- data/locales/l10n/fr-CA.yml +207 -0
- data/locales/l10n/fr-CH.yml +207 -0
- data/locales/l10n/fr.yml +222 -0
- data/locales/l10n/fur.yml +199 -0
- data/locales/l10n/gl-ES.yml +178 -0
- data/locales/l10n/gsw-CH.yml +199 -0
- data/locales/l10n/he.yml +201 -0
- data/locales/l10n/hi-IN.yml +199 -0
- data/locales/l10n/hi.yml +199 -0
- data/locales/l10n/hr.yml +237 -0
- data/locales/l10n/hsb.yml +214 -0
- data/locales/l10n/hu.yml +199 -0
- data/locales/l10n/id.yml +200 -0
- data/locales/l10n/is.yml +213 -0
- data/locales/l10n/it.yml +205 -0
- data/locales/l10n/ja.yml +197 -0
- data/locales/l10n/kn.yml +199 -0
- data/locales/l10n/ko.yml +197 -0
- data/locales/l10n/lo.yml +186 -0
- data/locales/l10n/lt.yml +182 -0
- data/locales/l10n/lv.yml +215 -0
- data/locales/l10n/mk.yml +170 -0
- data/locales/l10n/mn.yml +205 -0
- data/locales/l10n/nb.yml +207 -0
- data/locales/l10n/nl.yml +199 -0
- data/locales/l10n/nn.yml +160 -0
- data/locales/l10n/pl.yml +221 -0
- data/locales/l10n/pt-BR.yml +207 -0
- data/locales/l10n/pt-PT.yml +207 -0
- data/locales/l10n/quotes.yml +24 -0
- data/locales/l10n/rm.yml +182 -0
- data/locales/l10n/ro.yml +199 -0
- data/locales/l10n/ru.yml +257 -0
- data/locales/l10n/sk.yml +213 -0
- data/locales/l10n/sl.yml +210 -0
- data/locales/l10n/sr-Latn.yml +170 -0
- data/locales/l10n/sr.yml +170 -0
- data/locales/l10n/sv-SE.yml +199 -0
- data/locales/l10n/sw.yml +197 -0
- data/locales/l10n/th.yml +173 -0
- data/locales/l10n/tl.yml +229 -0
- data/locales/l10n/tr.yml +199 -0
- data/locales/l10n/uk.yml +257 -0
- data/locales/l10n/vi.yml +201 -0
- data/locales/l10n/wo.yml +205 -0
- data/locales/l10n/zh-CN.yml +199 -0
- data/locales/l10n/zh-TW.yml +199 -0
- data/template/Gemfile.erb +14 -4
- data/template/README +16 -0
- data/template/config.yml.erb +42 -38
- data/test/fixtures/config_001_simple.yml +2 -0
- data/test/fixtures/config_002_l10n.yml +5 -0
- data/test/fixtures/pages/invalid-page.markdown +1 -0
- data/test/fixtures/pages/multilingual-page.markdown +20 -0
- data/test/fixtures/pages/section/subpage.markdown +5 -0
- data/test/fixtures/pages/simple-page.markdown +7 -0
- data/test/fixtures/posts/2012-07-02-invalid-post.markdown +1 -0
- data/test/fixtures/posts/2012-07-02-simple.markdown +7 -0
- data/test/fixtures/posts/2012-07-03-full-metadata.markdown +8 -0
- data/test/fixtures/posts/2012-07-03-multilingual-full-metadata.markdown +20 -0
- data/test/fixtures/theme/test/layouts/default.html.erb +1 -0
- data/test/fixtures/theme/test/views/page.html.erb +1 -0
- data/test/fixtures/theme/test/views/post.html.erb +1 -0
- data/test/minitest_helper.rb +14 -0
- data/test/test_config.rb +33 -0
- data/test/test_content.rb +30 -0
- data/test/test_metadata.rb +83 -0
- data/test/test_page.rb +81 -0
- data/test/test_post.rb +123 -0
- data/test/test_storage.rb +23 -0
- data/test/test_storage_file.rb +32 -0
- data/test/test_theme.rb +45 -0
- data/vendor/assets/images/favicon.png +0 -0
- data/vendor/assets/images/grey.gif +0 -0
- data/vendor/assets/javascripts/jquery.alula.js.coffee +16 -0
- data/vendor/{javascripts → assets/javascripts}/jquery.js +0 -0
- data/vendor/assets/javascripts/jquery.lazyload.js +210 -0
- data/vendor/assets/javascripts/lazyload.js.coffee +15 -0
- data/vendor/layouts/feed.xml.builder +19 -0
- data/vendor/layouts/sitemap.xml.builder +10 -0
- data/vendor/views/feed_post.html.haml +1 -0
- metadata +529 -50
- data/lib/alula.rb +0 -5
- data/lib/alula/assethelper.rb +0 -75
- data/lib/alula/plugins.rb +0 -23
- data/lib/alula/plugins/assets.rb +0 -82
- data/lib/alula/plugins/pagination.rb +0 -121
- data/lib/alula/rake_tasks.rb +0 -42
- data/lib/alula/tasks.rb +0 -2
data/locales/l10n/uk.yml
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
uk:
|
|
2
|
+
date:
|
|
3
|
+
abbr_day_names:
|
|
4
|
+
- нд.
|
|
5
|
+
- пн.
|
|
6
|
+
- вт.
|
|
7
|
+
- ср.
|
|
8
|
+
- чт.
|
|
9
|
+
- пт.
|
|
10
|
+
- сб.
|
|
11
|
+
abbr_month_names:
|
|
12
|
+
-
|
|
13
|
+
- січ.
|
|
14
|
+
- лют.
|
|
15
|
+
- бер.
|
|
16
|
+
- квіт.
|
|
17
|
+
- трав.
|
|
18
|
+
- черв.
|
|
19
|
+
- лип.
|
|
20
|
+
- серп.
|
|
21
|
+
- вер.
|
|
22
|
+
- жовт.
|
|
23
|
+
- лист.
|
|
24
|
+
- груд.
|
|
25
|
+
day_names:
|
|
26
|
+
- неділя
|
|
27
|
+
- понеділок
|
|
28
|
+
- вівторок
|
|
29
|
+
- середа
|
|
30
|
+
- четвер
|
|
31
|
+
- п'ятниця
|
|
32
|
+
- субота
|
|
33
|
+
formats:
|
|
34
|
+
default: ! '%d.%m.%Y'
|
|
35
|
+
long: ! '%d %B %Y'
|
|
36
|
+
short: ! '%d %b'
|
|
37
|
+
month_names:
|
|
38
|
+
-
|
|
39
|
+
- Січень
|
|
40
|
+
- Лютий
|
|
41
|
+
- Березень
|
|
42
|
+
- Квітень
|
|
43
|
+
- Травень
|
|
44
|
+
- Червень
|
|
45
|
+
- Липень
|
|
46
|
+
- Серпень
|
|
47
|
+
- Вересень
|
|
48
|
+
- Жовтень
|
|
49
|
+
- Листопад
|
|
50
|
+
- Грудень
|
|
51
|
+
order:
|
|
52
|
+
- :day
|
|
53
|
+
- :month
|
|
54
|
+
- :year
|
|
55
|
+
datetime:
|
|
56
|
+
distance_in_words:
|
|
57
|
+
about_x_hours:
|
|
58
|
+
few: близько %{count} години
|
|
59
|
+
many: близько %{count} годин
|
|
60
|
+
one: близько %{count} година
|
|
61
|
+
other: близько %{count} години
|
|
62
|
+
about_x_months:
|
|
63
|
+
few: близько %{count} місяців
|
|
64
|
+
many: близько %{count} місяців
|
|
65
|
+
one: близько %{count} місяця
|
|
66
|
+
other: близько %{count} місяця
|
|
67
|
+
about_x_years:
|
|
68
|
+
few: близько %{count} років
|
|
69
|
+
many: близько %{count} років
|
|
70
|
+
one: близько %{count} року
|
|
71
|
+
other: близько %{count} року
|
|
72
|
+
almost_x_years:
|
|
73
|
+
few: майже %{count} років
|
|
74
|
+
many: майже %{count} років
|
|
75
|
+
one: майже %{count} роки
|
|
76
|
+
other: майже %{count} років
|
|
77
|
+
half_a_minute: півхвилини
|
|
78
|
+
less_than_x_minutes:
|
|
79
|
+
few: менше %{count} хвилин
|
|
80
|
+
many: менше %{count} хвилин
|
|
81
|
+
one: менше %{count} хвилини
|
|
82
|
+
other: менше %{count} хвилини
|
|
83
|
+
less_than_x_seconds:
|
|
84
|
+
few: менше %{count} секунд
|
|
85
|
+
many: менше %{count} секунд
|
|
86
|
+
one: менше %{count} секунди
|
|
87
|
+
other: менше %{count} секунди
|
|
88
|
+
over_x_years:
|
|
89
|
+
few: більше %{count} років
|
|
90
|
+
many: більше %{count} років
|
|
91
|
+
one: більше %{count} року
|
|
92
|
+
other: більше %{count} року
|
|
93
|
+
x_days:
|
|
94
|
+
few: ! '%{count} дні'
|
|
95
|
+
many: ! '%{count} днів'
|
|
96
|
+
one: ! '%{count} день'
|
|
97
|
+
other: ! '%{count} дня'
|
|
98
|
+
x_minutes:
|
|
99
|
+
few: ! '%{count} хвилини'
|
|
100
|
+
many: ! '%{count} хвилин'
|
|
101
|
+
one: ! '%{count} хвилина'
|
|
102
|
+
other: ! '%{count} хвилини'
|
|
103
|
+
x_months:
|
|
104
|
+
few: ! '%{count} місяці'
|
|
105
|
+
many: ! '%{count} місяців'
|
|
106
|
+
one: ! '%{count} місяць'
|
|
107
|
+
other: ! '%{count} місяця'
|
|
108
|
+
x_seconds:
|
|
109
|
+
few: ! '%{count} секунди'
|
|
110
|
+
many: ! '%{count} секунд'
|
|
111
|
+
one: ! '%{count} секунда'
|
|
112
|
+
other: ! '%{count} секунди'
|
|
113
|
+
prompts:
|
|
114
|
+
day: День
|
|
115
|
+
hour: Година
|
|
116
|
+
minute: Хвилина
|
|
117
|
+
month: Місяць
|
|
118
|
+
second: Секунда
|
|
119
|
+
year: Рік
|
|
120
|
+
errors: &errors
|
|
121
|
+
format: ! '%{attribute} %{message}'
|
|
122
|
+
messages:
|
|
123
|
+
accepted: має бути прийнятий
|
|
124
|
+
blank: не може бути пустим
|
|
125
|
+
confirmation: не збігається з підтвердженням
|
|
126
|
+
empty: не може бути порожнім
|
|
127
|
+
equal_to: має дорівнювати %{count}
|
|
128
|
+
even: має бути парним
|
|
129
|
+
exclusion: зарезервовано
|
|
130
|
+
greater_than: має бути більше ніж %{count}
|
|
131
|
+
greater_than_or_equal_to: має бути більше ніж або дорівнювати %{count}
|
|
132
|
+
inclusion: не включено до переліку
|
|
133
|
+
invalid: недійсний
|
|
134
|
+
less_than: має бути менше ніж %{count}
|
|
135
|
+
less_than_or_equal_to: має бути менше ніж або дорівнювати %{count}
|
|
136
|
+
not_a_number: не число
|
|
137
|
+
not_an_integer: не э цілим числом
|
|
138
|
+
odd: має бути непарним
|
|
139
|
+
record_invalid: ! 'Виникли помилки: %{errors}'
|
|
140
|
+
taken: вже зайнятий
|
|
141
|
+
too_long:
|
|
142
|
+
few: занадто довгий (максимум %{count} знаки)
|
|
143
|
+
many: занадто довгий (максимум %{count} знаків)
|
|
144
|
+
one: занадто довгий (максимум %{count} знак)
|
|
145
|
+
other: занадто довгий (максимум %{count} знаку)
|
|
146
|
+
too_short:
|
|
147
|
+
few: занадто короткий (мінімум %{count} знаки)
|
|
148
|
+
many: занадто короткий (мінімум %{count} знаків)
|
|
149
|
+
one: занадто короткий (мінімум %{count} знак)
|
|
150
|
+
other: занадто короткий (мінімум %{count} знаку)
|
|
151
|
+
wrong_length:
|
|
152
|
+
few: неправильна довжина (має бути %{count} знаки)
|
|
153
|
+
many: неправильна довжина (має бути %{count} знаків)
|
|
154
|
+
one: неправильна довжина (має бути %{count} знак)
|
|
155
|
+
other: неправильна довжина (має бути %{count} знаку)
|
|
156
|
+
template:
|
|
157
|
+
body: ! 'Помилки виявлено в таких полях:'
|
|
158
|
+
header:
|
|
159
|
+
few: ! '%{model} не збережено через %{count} помилки'
|
|
160
|
+
many: ! '%{model} не збережено через %{count} помилок'
|
|
161
|
+
one: ! '%{model} не збережено через %{count} помилку'
|
|
162
|
+
other: ! '%{model} не збережено через %{count} помилки'
|
|
163
|
+
helpers:
|
|
164
|
+
select:
|
|
165
|
+
prompt: ! 'Оберіть: '
|
|
166
|
+
submit:
|
|
167
|
+
create: Створити %{model}
|
|
168
|
+
submit: Зберегти %{model}
|
|
169
|
+
update: Зберегти %{model}
|
|
170
|
+
number:
|
|
171
|
+
currency:
|
|
172
|
+
format:
|
|
173
|
+
delimiter: ! ' '
|
|
174
|
+
format: ! '%n %u'
|
|
175
|
+
precision: 2
|
|
176
|
+
separator: ! ','
|
|
177
|
+
significant: false
|
|
178
|
+
strip_insignificant_zeros: false
|
|
179
|
+
unit: грн.
|
|
180
|
+
format:
|
|
181
|
+
delimiter: ! ' '
|
|
182
|
+
precision: 3
|
|
183
|
+
separator: ! ','
|
|
184
|
+
significant: false
|
|
185
|
+
strip_insignificant_zeros: false
|
|
186
|
+
human:
|
|
187
|
+
decimal_units:
|
|
188
|
+
format: ! '%n %u'
|
|
189
|
+
units:
|
|
190
|
+
billion:
|
|
191
|
+
few: Мільярдів
|
|
192
|
+
many: Мільярдів
|
|
193
|
+
one: Мільярд
|
|
194
|
+
other: Мільярдів
|
|
195
|
+
million:
|
|
196
|
+
few: Мільйонів
|
|
197
|
+
many: Мільйонів
|
|
198
|
+
one: Мільйон
|
|
199
|
+
other: Мільйонів
|
|
200
|
+
quadrillion:
|
|
201
|
+
few: Квадрильйонів
|
|
202
|
+
many: Квадрильйонів
|
|
203
|
+
one: Кквадрильйон
|
|
204
|
+
other: Квадрильйонів
|
|
205
|
+
thousand:
|
|
206
|
+
few: Тисяч
|
|
207
|
+
many: Тисяч
|
|
208
|
+
one: Тисяча
|
|
209
|
+
other: Тисяч
|
|
210
|
+
trillion:
|
|
211
|
+
few: Трильйонів
|
|
212
|
+
many: Трильйонів
|
|
213
|
+
one: Трильйон
|
|
214
|
+
other: Трильйонів
|
|
215
|
+
unit: ''
|
|
216
|
+
format:
|
|
217
|
+
delimiter: ''
|
|
218
|
+
precision: 1
|
|
219
|
+
significant: false
|
|
220
|
+
strip_insignificant_zeros: false
|
|
221
|
+
storage_units:
|
|
222
|
+
format: ! '%n %u'
|
|
223
|
+
units:
|
|
224
|
+
byte:
|
|
225
|
+
few: байти
|
|
226
|
+
many: байтів
|
|
227
|
+
one: байт
|
|
228
|
+
other: байту
|
|
229
|
+
gb: ГБ
|
|
230
|
+
kb: кБ
|
|
231
|
+
mb: МБ
|
|
232
|
+
tb: ТБ
|
|
233
|
+
percentage:
|
|
234
|
+
format:
|
|
235
|
+
delimiter: ''
|
|
236
|
+
precision:
|
|
237
|
+
format:
|
|
238
|
+
delimiter: ''
|
|
239
|
+
support:
|
|
240
|
+
array:
|
|
241
|
+
last_word_connector: ! ' та '
|
|
242
|
+
two_words_connector: ! ' і '
|
|
243
|
+
words_connector: ! ', '
|
|
244
|
+
time:
|
|
245
|
+
am: до полудня
|
|
246
|
+
formats:
|
|
247
|
+
default: ! '%a, %d %b %Y, %H:%M:%S %z'
|
|
248
|
+
long: ! '%d %B %Y, %H:%M'
|
|
249
|
+
short: ! '%d %b, %H:%M'
|
|
250
|
+
pm: по полудні
|
|
251
|
+
# remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
|
|
252
|
+
activemodel:
|
|
253
|
+
errors:
|
|
254
|
+
<<: *errors
|
|
255
|
+
activerecord:
|
|
256
|
+
errors:
|
|
257
|
+
<<: *errors
|
data/locales/l10n/vi.yml
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
vi:
|
|
2
|
+
date:
|
|
3
|
+
abbr_day_names:
|
|
4
|
+
- Chủ nhật
|
|
5
|
+
- Thứ hai
|
|
6
|
+
- Thứ ba
|
|
7
|
+
- Thứ tư
|
|
8
|
+
- Thứ năm
|
|
9
|
+
- Thứ sáu
|
|
10
|
+
- Thứ bảy
|
|
11
|
+
abbr_month_names:
|
|
12
|
+
-
|
|
13
|
+
- Tháng một
|
|
14
|
+
- Tháng hai
|
|
15
|
+
- Tháng ba
|
|
16
|
+
- Tháng tư
|
|
17
|
+
- Tháng năm
|
|
18
|
+
- Tháng sáu
|
|
19
|
+
- Tháng bảy
|
|
20
|
+
- Tháng tám
|
|
21
|
+
- Tháng chín
|
|
22
|
+
- Tháng mười
|
|
23
|
+
- Tháng mười một
|
|
24
|
+
- Tháng mười hai
|
|
25
|
+
day_names:
|
|
26
|
+
- Chủ nhật
|
|
27
|
+
- Thứ hai
|
|
28
|
+
- Thứ ba
|
|
29
|
+
- Thứ tư
|
|
30
|
+
- Thứ năm
|
|
31
|
+
- Thứ sáu
|
|
32
|
+
- Thứ bảy
|
|
33
|
+
formats:
|
|
34
|
+
default: ! '%d-%m-%Y'
|
|
35
|
+
long: ! '%d %B, %Y'
|
|
36
|
+
short: ! '%d %b'
|
|
37
|
+
month_names:
|
|
38
|
+
-
|
|
39
|
+
- Tháng một
|
|
40
|
+
- Tháng hai
|
|
41
|
+
- Tháng ba
|
|
42
|
+
- Tháng tư
|
|
43
|
+
- Tháng năm
|
|
44
|
+
- Tháng sáu
|
|
45
|
+
- Tháng bảy
|
|
46
|
+
- Tháng tám
|
|
47
|
+
- Tháng chín
|
|
48
|
+
- Tháng mười
|
|
49
|
+
- Tháng mười một
|
|
50
|
+
- Tháng mười hai
|
|
51
|
+
order:
|
|
52
|
+
- :day
|
|
53
|
+
- :month
|
|
54
|
+
- :year
|
|
55
|
+
datetime:
|
|
56
|
+
distance_in_words:
|
|
57
|
+
about_x_hours:
|
|
58
|
+
one: khoảng 1 giờ
|
|
59
|
+
other: khoảng %{count} giờ
|
|
60
|
+
about_x_months:
|
|
61
|
+
one: khoảng 1 tháng
|
|
62
|
+
other: khoảng %{count} tháng
|
|
63
|
+
about_x_years:
|
|
64
|
+
one: khoảng 1 năm
|
|
65
|
+
other: khoảng %{count} năm
|
|
66
|
+
almost_x_years:
|
|
67
|
+
one: gần 1 năm
|
|
68
|
+
other: gần %{count} năm
|
|
69
|
+
half_a_minute: 30 giây
|
|
70
|
+
less_than_x_minutes:
|
|
71
|
+
one: chưa tới 1 phút
|
|
72
|
+
other: chưa tới %{count} phút
|
|
73
|
+
less_than_x_seconds:
|
|
74
|
+
one: chưa tới 1 giây
|
|
75
|
+
other: chưa tới %{count} giây
|
|
76
|
+
over_x_years:
|
|
77
|
+
one: hơn 1 năm
|
|
78
|
+
other: hơn %{count} năm
|
|
79
|
+
x_days:
|
|
80
|
+
one: 1 ngày
|
|
81
|
+
other: ! '%{count} ngày'
|
|
82
|
+
x_minutes:
|
|
83
|
+
one: 1 phút
|
|
84
|
+
other: ! '%{count} phút'
|
|
85
|
+
x_months:
|
|
86
|
+
one: 1 tháng
|
|
87
|
+
other: ! '%{count} tháng'
|
|
88
|
+
x_seconds:
|
|
89
|
+
one: 1 giây
|
|
90
|
+
other: ! '%{count} giây'
|
|
91
|
+
prompts:
|
|
92
|
+
day: Ngày
|
|
93
|
+
hour: Giờ
|
|
94
|
+
minute: Phút
|
|
95
|
+
month: Tháng
|
|
96
|
+
second: Giây
|
|
97
|
+
year: Năm
|
|
98
|
+
errors: &errors
|
|
99
|
+
format: ! '%{attribute} %{message}'
|
|
100
|
+
messages:
|
|
101
|
+
accepted: phải được đồng ý
|
|
102
|
+
blank: không thể để trắng
|
|
103
|
+
confirmation: không khớp với xác nhận
|
|
104
|
+
empty: không thể rỗng
|
|
105
|
+
equal_to: phải bằng %{count}
|
|
106
|
+
even: phải là số chẵn
|
|
107
|
+
exclusion: đã được giành trước
|
|
108
|
+
greater_than: phải lớn hơn %{count}
|
|
109
|
+
greater_than_or_equal_to: phải lớn hơn hoặc bằng %{count}
|
|
110
|
+
inclusion: không có trong danh sách
|
|
111
|
+
invalid: không hợp lệ
|
|
112
|
+
less_than: phải nhỏ hơn %{count}
|
|
113
|
+
less_than_or_equal_to: phải nhỏ hơn hoặc bằng %{count}
|
|
114
|
+
not_a_number: không phải là số
|
|
115
|
+
not_an_integer: phải là một số nguyên
|
|
116
|
+
odd: phải là số lẻ
|
|
117
|
+
taken: đã có
|
|
118
|
+
too_long: quá dài (tối đa %{count} ký tự)
|
|
119
|
+
too_short: quá ngắn (tối thiểu %{count} ký tự)
|
|
120
|
+
wrong_length: độ dài không đúng (phải là %{count} ký tự)
|
|
121
|
+
template:
|
|
122
|
+
body: ! 'Có lỗi với các mục sau:'
|
|
123
|
+
header:
|
|
124
|
+
one: 1 lỗi ngăn không cho lưu %{model} này
|
|
125
|
+
other: ! '%{count} lỗi ngăn không cho lưu %{model} này'
|
|
126
|
+
helpers:
|
|
127
|
+
select:
|
|
128
|
+
prompt: Vui lòng chọn
|
|
129
|
+
submit:
|
|
130
|
+
create: Tạo %{model}
|
|
131
|
+
submit: Lưu %{model}
|
|
132
|
+
update: Cập nhật %{model}
|
|
133
|
+
number:
|
|
134
|
+
currency:
|
|
135
|
+
format:
|
|
136
|
+
delimiter: .
|
|
137
|
+
format: ! '%n %u'
|
|
138
|
+
precision: 2
|
|
139
|
+
separator: ! ','
|
|
140
|
+
significant: false
|
|
141
|
+
strip_insignificant_zeros: false
|
|
142
|
+
unit: đồng
|
|
143
|
+
format:
|
|
144
|
+
delimiter: .
|
|
145
|
+
precision: 3
|
|
146
|
+
separator: ! ','
|
|
147
|
+
significant: false
|
|
148
|
+
strip_insignificant_zeros: false
|
|
149
|
+
human:
|
|
150
|
+
decimal_units:
|
|
151
|
+
format: ! '%n %u'
|
|
152
|
+
units:
|
|
153
|
+
unit: ''
|
|
154
|
+
billion: Tỷ
|
|
155
|
+
million: Triệu
|
|
156
|
+
quadrillion: Triệu tỷ
|
|
157
|
+
thousand: Nghìn
|
|
158
|
+
trillion: Nghìn tỷ
|
|
159
|
+
format:
|
|
160
|
+
delimiter: ''
|
|
161
|
+
precision: 1
|
|
162
|
+
significant: true
|
|
163
|
+
strip_insignificant_zeros: true
|
|
164
|
+
storage_units:
|
|
165
|
+
format: ! '%n %u'
|
|
166
|
+
units:
|
|
167
|
+
byte:
|
|
168
|
+
one: Byte
|
|
169
|
+
other: Byte
|
|
170
|
+
gb: GB
|
|
171
|
+
kb: KB
|
|
172
|
+
mb: MB
|
|
173
|
+
tb: TB
|
|
174
|
+
percentage:
|
|
175
|
+
format:
|
|
176
|
+
delimiter: ''
|
|
177
|
+
precision:
|
|
178
|
+
format:
|
|
179
|
+
delimiter: ''
|
|
180
|
+
support:
|
|
181
|
+
array:
|
|
182
|
+
last_word_connector: ! ', và '
|
|
183
|
+
two_words_connector: ! ' và '
|
|
184
|
+
words_connector: ! ', '
|
|
185
|
+
time:
|
|
186
|
+
am: sáng
|
|
187
|
+
formats:
|
|
188
|
+
default: ! '%a, %d %b %Y %H:%M:%S %z'
|
|
189
|
+
long: ! '%d %B, %Y %H:%M'
|
|
190
|
+
short: ! '%d %b %H:%M'
|
|
191
|
+
pm: chiều
|
|
192
|
+
# remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
|
|
193
|
+
activemodel:
|
|
194
|
+
errors:
|
|
195
|
+
<<: *errors
|
|
196
|
+
activerecord:
|
|
197
|
+
errors:
|
|
198
|
+
<<: *errors
|
|
199
|
+
messages:
|
|
200
|
+
record_invalid: "Lỗi xác nhận: %{errors}"
|
|
201
|
+
taken: "đã có"
|