pwb 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +30 -3
- data/app/assets/javascripts/pwb/{application.js → application.js.erb} +19 -2
- data/app/assets/javascripts/pwb/paloma/landing.js +10 -10
- data/app/assets/javascripts/pwb/paloma/prop.js +14 -22
- data/app/assets/javascripts/pwb/paloma/sections.js +15 -15
- data/app/assets/javascripts/pwb/shared/inmo-map.js +121 -0
- data/app/assets/javascripts/pwb/shared/select-picker.js +15 -0
- data/app/assets/javascripts/pwb/shared/slick-carousel.js +10 -0
- data/app/assets/javascripts/pwb/shared/vue-main.js +31 -0
- data/app/assets/javascripts/pwb/themes/{berlin.js → berlin.js.erb} +61 -5
- data/app/assets/stylesheets/pwb/themes/berlin.scss +3 -0
- data/app/assets/stylesheets/pwb/themes/default.scss +4 -2
- data/app/assets/stylesheets/pwb/themes/default/landing_general.scss +1 -1
- data/app/assets/stylesheets/pwb/themes/default/language_switcher.scss +20 -0
- data/app/assets/stylesheets/pwb/themes/default/prop.scss +0 -4
- data/app/assets/stylesheets/pwb/themes/default/shame.scss +0 -59
- data/app/assets/stylesheets/pwb/themes/shared/gmap.scss +38 -0
- data/app/assets/stylesheets/pwb/themes/shared/search_box.scss +62 -0
- data/app/assets/stylesheets/pwb/themes/shared/shame.scss +6 -1
- data/app/assets/stylesheets/pwb/themes/shared/social.scss +84 -0
- data/app/controllers/pwb/api_public/v1/props_controller.rb +47 -1
- data/app/controllers/pwb/props_controller.rb +32 -3
- data/app/controllers/pwb/search_controller.rb +35 -3
- data/app/controllers/pwb/sections_controller.rb +24 -7
- data/app/controllers/pwb/welcome_controller.rb +2 -0
- data/app/helpers/pwb/application_helper.rb +16 -31
- data/app/helpers/pwb/images_helper.rb +43 -0
- data/app/models/pwb/agency.rb +2 -2
- data/app/models/pwb/content.rb +3 -2
- data/app/models/pwb/content_photo.rb +1 -1
- data/app/models/pwb/feature.rb +2 -2
- data/app/models/pwb/message.rb +1 -1
- data/app/models/pwb/prop.rb +10 -1
- data/app/models/pwb/prop_photo.rb +1 -1
- data/app/models/pwb/section.rb +2 -1
- data/app/models/pwb/website.rb +1 -1
- data/app/themes/berlin/views/layouts/pwb/application.html.erb +9 -4
- data/app/themes/berlin/views/pwb/props/not_found.html.erb +37 -0
- data/app/themes/berlin/views/pwb/props/show.html.erb +44 -11
- data/app/themes/berlin/views/pwb/search/buy.html.erb +15 -8
- data/app/themes/berlin/views/pwb/search/rent.html.erb +13 -6
- data/app/themes/berlin/views/pwb/sections/about_us.html.erb +25 -34
- data/app/themes/berlin/views/pwb/sections/contact_us.html.erb +23 -24
- data/app/themes/berlin/views/pwb/sections/static.html.erb +26 -26
- data/app/themes/berlin/views/pwb/welcome/_landing_carousel.html.erb +27 -18
- data/app/themes/berlin/views/pwb/welcome/_service.html.erb +2 -2
- data/app/themes/berlin/views/pwb/welcome/index.html.erb +5 -2
- data/app/themes/default/views/layouts/pwb/application.html.erb +15 -12
- data/app/themes/default/views/pwb/props/show.html.erb +29 -8
- data/app/themes/default/views/pwb/search/buy.html.erb +44 -48
- data/app/themes/default/views/pwb/search/rent.html.erb +44 -48
- data/app/themes/default/views/pwb/sections/about_us.html.erb +1 -0
- data/app/themes/default/views/pwb/sections/contact_us.html.erb +4 -0
- data/app/themes/default/views/pwb/sections/static.html.erb +1 -0
- data/app/themes/default/views/pwb/welcome/index.html.erb +14 -4
- data/app/views/pwb/_meta_tags.html.erb +10 -0
- data/app/views/pwb/props/_meta_tags.html.erb +8 -0
- data/app/views/pwb/search/_search_form_for_rent.html.erb +19 -16
- data/app/views/pwb/search/_search_form_landing.html.erb +35 -0
- data/app/views/pwb/search/search_ajax.js.erb +3 -1
- data/config/client_setups/default.json +113 -55
- data/config/initializers/i18n.rb +1 -0
- data/config/locales/admin.en.yml +19 -10
- data/config/locales/admin.es.yml +18 -0
- data/config/locales/de.yml +9 -6
- data/config/locales/devise.tr.yml +135 -0
- data/config/locales/devise.vi.yml +137 -0
- data/config/locales/en.yml +151 -161
- data/config/locales/es.yml +37 -35
- data/config/locales/fr.yml +147 -184
- data/config/locales/pt.yml +10 -8
- data/config/locales/rails.tr.yml +211 -0
- data/config/locales/rails.vi.yml +203 -0
- data/config/locales/ru.yml +13 -12
- data/config/locales/tr.yml +160 -0
- data/config/locales/vi.yml +162 -0
- data/config/locales/zh-HK.yml +2 -0
- data/config/routes.rb +4 -3
- data/db/migrate/20170513221300_create_cms.rb +1 -1
- data/lib/pwb/seeder.rb +1 -1
- data/lib/pwb/version.rb +1 -1
- data/spec/dummy/config/routes.rb +3 -4
- data/spec/dummy/db/schema.rb +11 -10
- data/spec/dummy/log/test.log +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/1/carousel_windows.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/2/carousel_deck_chair.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/3/carousel_grass.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/content_photo/image/4/carousel_grass.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/gdaje3atcct1gx2ngv9u.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/1/new_villa.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/kitchen_modern.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/2/rxo23syongfydjpoizrd.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/3/mansion_front.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/3/vzlptgtccsk2d2ewp4id.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/4/mansion_bedroom.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/4/xwayprwnmmmhrzrgwvch.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/5/flat_window.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/5/ilxn2u37bak0v60u6f8q.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/6/kitchen_classic.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/7/flat_balcony.jpg +0 -0
- data/spec/dummy/public/uploads/pwb/prop_photo/image/8/lounge_cosy.jpg +0 -0
- data/spec/requests/pwb/themes_spec.rb +1 -0
- data/spec/views/pwb/welcome.html.erb_spec.rb +7 -0
- metadata +63 -6
- data/app/assets/javascripts/pwb/themes/berlin/jquery.min.js +0 -5
- data/app/assets/stylesheets/pwb/themes/default/search.scss +0 -8
data/config/locales/pt.yml
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
---
|
2
2
|
pt:
|
3
|
-
devise:
|
4
|
-
user_update_success_title: Congratulations
|
5
|
-
user_update_success: You have successfully updated your account.
|
6
3
|
aboutUs: Sobre nós
|
7
4
|
address: Endereço
|
8
5
|
back: Costas
|
@@ -13,6 +10,9 @@ pt:
|
|
13
10
|
success: Obrigado pela sua mensagem. Entraremos em contato em breve!
|
14
11
|
contactUs: Contato
|
15
12
|
contactUsPrompt: Preencha o seguinte formulário para entrar em contato conosco
|
13
|
+
devise:
|
14
|
+
user_update_success: You have successfully updated your account.
|
15
|
+
user_update_success_title: Congratulations
|
16
16
|
editarPropiedad: Editar uma propriedade
|
17
17
|
email: O email
|
18
18
|
'false': Não
|
@@ -24,7 +24,9 @@ pt:
|
|
24
24
|
labels:
|
25
25
|
create: Crio
|
26
26
|
edit: Editar
|
27
|
+
latestProperties: Latest properties
|
27
28
|
new: Novo
|
29
|
+
ourServices: Our services
|
28
30
|
save: Salve
|
29
31
|
leaveBlank: deixe em branco se você não quer mudá-lo
|
30
32
|
legalAdvice: Notícia legal
|
@@ -49,14 +51,14 @@ pt:
|
|
49
51
|
name: Nome
|
50
52
|
navbar:
|
51
53
|
aboutUs: Sobre nós
|
52
|
-
admin:
|
54
|
+
admin: Admin
|
53
55
|
buy: Comprar
|
54
56
|
contactUs: Contato
|
55
|
-
home:
|
56
|
-
rent: Aluguel
|
57
|
-
sell: Vender
|
57
|
+
home: Inicio
|
58
58
|
legalAdvice: Notícia legal
|
59
59
|
privacyPolicy: Política de Privacidade
|
60
|
+
rent: Aluguel
|
61
|
+
sell: Vender
|
60
62
|
needCurrentPwd: precisamos de sua senha atual para confirmar as alterações
|
61
63
|
newPassword: Nova senha
|
62
64
|
noResultsForSearch: Desculpe, nenhum resultado encontrado
|
@@ -150,6 +152,6 @@ pt:
|
|
150
152
|
webContentSections:
|
151
153
|
aboutUs: Sobre nós
|
152
154
|
contactInformation: Informações de contato
|
153
|
-
home:
|
155
|
+
home: Inicio
|
154
156
|
sell: Vender
|
155
157
|
tagLine: Linha tag
|
@@ -0,0 +1,211 @@
|
|
1
|
+
# https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/tr.yml
|
2
|
+
---
|
3
|
+
tr:
|
4
|
+
activerecord:
|
5
|
+
errors:
|
6
|
+
messages:
|
7
|
+
record_invalid: 'Doğrulama başarısız oldu: %{errors}'
|
8
|
+
restrict_dependent_destroy:
|
9
|
+
has_one: Bağlı bir kayıt %{record} bulunduğu için kayıt silinemedi
|
10
|
+
has_many: Bağlı kayıtlar %{record} bulunduğu için kayıt silinemedi
|
11
|
+
date:
|
12
|
+
abbr_day_names:
|
13
|
+
- Pzr
|
14
|
+
- Pzt
|
15
|
+
- Sal
|
16
|
+
- Çrş
|
17
|
+
- Prş
|
18
|
+
- Cum
|
19
|
+
- Cts
|
20
|
+
abbr_month_names:
|
21
|
+
-
|
22
|
+
- Oca
|
23
|
+
- Şub
|
24
|
+
- Mar
|
25
|
+
- Nis
|
26
|
+
- May
|
27
|
+
- Haz
|
28
|
+
- Tem
|
29
|
+
- Ağu
|
30
|
+
- Eyl
|
31
|
+
- Eki
|
32
|
+
- Kas
|
33
|
+
- Ara
|
34
|
+
day_names:
|
35
|
+
- Pazar
|
36
|
+
- Pazartesi
|
37
|
+
- Salı
|
38
|
+
- Çarşamba
|
39
|
+
- Perşembe
|
40
|
+
- Cuma
|
41
|
+
- Cumartesi
|
42
|
+
formats:
|
43
|
+
default: "%d.%m.%Y"
|
44
|
+
long: "%e %B %Y, %A"
|
45
|
+
short: "%e %b"
|
46
|
+
month_names:
|
47
|
+
-
|
48
|
+
- Ocak
|
49
|
+
- Şubat
|
50
|
+
- Mart
|
51
|
+
- Nisan
|
52
|
+
- Mayıs
|
53
|
+
- Haziran
|
54
|
+
- Temmuz
|
55
|
+
- Ağustos
|
56
|
+
- Eylül
|
57
|
+
- Ekim
|
58
|
+
- Kasım
|
59
|
+
- Aralık
|
60
|
+
order:
|
61
|
+
- :day
|
62
|
+
- :month
|
63
|
+
- :year
|
64
|
+
datetime:
|
65
|
+
distance_in_words:
|
66
|
+
about_x_hours:
|
67
|
+
one: yaklaşık 1 saat
|
68
|
+
other: yaklaşık %{count} saat
|
69
|
+
about_x_months:
|
70
|
+
one: yaklaşık 1 ay
|
71
|
+
other: yaklaşık %{count} ay
|
72
|
+
about_x_years:
|
73
|
+
one: yaklaşık 1 yıl
|
74
|
+
other: yaklaşık %{count} yıl
|
75
|
+
almost_x_years:
|
76
|
+
one: neredeyse 1 yıl
|
77
|
+
other: neredeyse %{count} yıl
|
78
|
+
half_a_minute: yarım dakika
|
79
|
+
less_than_x_minutes:
|
80
|
+
one: 1 dakikadan az
|
81
|
+
other: "%{count} dakikadan az"
|
82
|
+
less_than_x_seconds:
|
83
|
+
one: 1 saniyeden az
|
84
|
+
other: "%{count} saniyeden az"
|
85
|
+
over_x_years:
|
86
|
+
one: 1 yıldan fazla
|
87
|
+
other: "%{count} yıldan fazla"
|
88
|
+
x_days:
|
89
|
+
one: 1 gün
|
90
|
+
other: "%{count} gün"
|
91
|
+
x_minutes:
|
92
|
+
one: 1 dakika
|
93
|
+
other: "%{count} dakika"
|
94
|
+
x_months:
|
95
|
+
one: 1 ay
|
96
|
+
other: "%{count} ay"
|
97
|
+
x_seconds:
|
98
|
+
one: 1 saniye
|
99
|
+
other: "%{count} saniye"
|
100
|
+
prompts:
|
101
|
+
day: Gün
|
102
|
+
hour: Saat
|
103
|
+
minute: Dakika
|
104
|
+
month: Ay
|
105
|
+
second: Saniye
|
106
|
+
year: Yıl
|
107
|
+
errors:
|
108
|
+
format: "%{attribute} %{message}"
|
109
|
+
messages:
|
110
|
+
accepted: kabul edilmeli
|
111
|
+
blank: doldurulmalı
|
112
|
+
present: boş bırakılmalı
|
113
|
+
confirmation: "%{attribute} teyidiyle uyuşmuyor"
|
114
|
+
empty: doldurulmalı
|
115
|
+
equal_to: tam olarak %{count} olmalı
|
116
|
+
even: çift olmalı
|
117
|
+
exclusion: kullanılamaz
|
118
|
+
greater_than: "%{count} sayısından büyük olmalı"
|
119
|
+
greater_than_or_equal_to: "%{count} sayısına eşit veya büyük olmalı"
|
120
|
+
inclusion: kabul edilen bir kelime değil
|
121
|
+
invalid: geçersiz
|
122
|
+
less_than: "%{count} sayısından küçük olmalı"
|
123
|
+
less_than_or_equal_to: "%{count} sayısına eşit veya küçük olmalı"
|
124
|
+
not_a_number: geçerli bir sayı değil
|
125
|
+
not_an_integer: tam sayı olmalı
|
126
|
+
odd: tek olmalı
|
127
|
+
taken: hali hazırda kullanılmakta
|
128
|
+
too_long:
|
129
|
+
one: çok uzun (en fazla 1 karakter)
|
130
|
+
other: çok uzun (en fazla %{count} karakter)
|
131
|
+
too_short:
|
132
|
+
one: çok kısa (en az 1 karakter)
|
133
|
+
other: çok kısa (en az %{count} karakter)
|
134
|
+
wrong_length:
|
135
|
+
one: hatalı uzunlukta (1 karakter olmalı)
|
136
|
+
other: hatalı uzunlukta (%{count} karakter olmalı)
|
137
|
+
other_than: "%{count} karakterden oluşamaz"
|
138
|
+
model_invalid: "Doğrulama başarısız oldu: %{errors}"
|
139
|
+
required: doldurulmalı
|
140
|
+
template:
|
141
|
+
body: 'Lütfen aşağıdaki hataları düzeltiniz:'
|
142
|
+
header:
|
143
|
+
one: 1 hata oluştuğu için %{model} kaydedilemedi
|
144
|
+
other: "%{count} hata oluştuğu için %{model} kaydedilemedi"
|
145
|
+
helpers:
|
146
|
+
select:
|
147
|
+
prompt: Lütfen seçiniz
|
148
|
+
submit:
|
149
|
+
create: "%{model} Ekle"
|
150
|
+
submit: "%{model} Kaydet"
|
151
|
+
update: "%{model} Güncelle"
|
152
|
+
number:
|
153
|
+
currency:
|
154
|
+
format:
|
155
|
+
delimiter: "."
|
156
|
+
format: "%n %u"
|
157
|
+
precision: 2
|
158
|
+
separator: ","
|
159
|
+
significant: false
|
160
|
+
strip_insignificant_zeros: false
|
161
|
+
unit: ₺
|
162
|
+
format:
|
163
|
+
delimiter: "."
|
164
|
+
precision: 2
|
165
|
+
separator: ","
|
166
|
+
significant: false
|
167
|
+
strip_insignificant_zeros: false
|
168
|
+
human:
|
169
|
+
decimal_units:
|
170
|
+
format: "%n %u"
|
171
|
+
units:
|
172
|
+
billion: Milyar
|
173
|
+
million: Milyon
|
174
|
+
quadrillion: Katrilyon
|
175
|
+
thousand: Bin
|
176
|
+
trillion: Trilyon
|
177
|
+
unit: ''
|
178
|
+
format:
|
179
|
+
delimiter: "."
|
180
|
+
precision: 3
|
181
|
+
significant: true
|
182
|
+
strip_insignificant_zeros: true
|
183
|
+
storage_units:
|
184
|
+
format: "%n %u"
|
185
|
+
units:
|
186
|
+
byte:
|
187
|
+
one: Bayt
|
188
|
+
other: Bayt
|
189
|
+
gb: GB
|
190
|
+
kb: KB
|
191
|
+
mb: MB
|
192
|
+
tb: TB
|
193
|
+
percentage:
|
194
|
+
format:
|
195
|
+
delimiter: ''
|
196
|
+
format: "%%n"
|
197
|
+
precision:
|
198
|
+
format:
|
199
|
+
delimiter: "."
|
200
|
+
support:
|
201
|
+
array:
|
202
|
+
last_word_connector: " ve "
|
203
|
+
two_words_connector: " ve "
|
204
|
+
words_connector: ", "
|
205
|
+
time:
|
206
|
+
am: öğleden önce
|
207
|
+
formats:
|
208
|
+
default: "%a %d.%b.%y %H:%M"
|
209
|
+
long: "%e %B %Y, %A, %H:%M"
|
210
|
+
short: "%e %B, %H:%M"
|
211
|
+
pm: öğleden sonra
|
@@ -0,0 +1,203 @@
|
|
1
|
+
#https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/vi.yml
|
2
|
+
---
|
3
|
+
vi:
|
4
|
+
activerecord:
|
5
|
+
errors:
|
6
|
+
messages:
|
7
|
+
record_invalid: 'Có các lỗi sau: %{errors}'
|
8
|
+
restrict_dependent_destroy:
|
9
|
+
has_one: Không thể xóa do tồn tại đối tượng phụ thuộc %{record}
|
10
|
+
has_many: Không thể xóa do tồn tại một số đối tượng phụ thuộc %{record}
|
11
|
+
date:
|
12
|
+
abbr_day_names:
|
13
|
+
- Chủ nhật
|
14
|
+
- Thứ hai
|
15
|
+
- Thứ ba
|
16
|
+
- Thứ tư
|
17
|
+
- Thứ năm
|
18
|
+
- Thứ sáu
|
19
|
+
- Thứ bảy
|
20
|
+
abbr_month_names:
|
21
|
+
-
|
22
|
+
- Tháng một
|
23
|
+
- Tháng hai
|
24
|
+
- Tháng ba
|
25
|
+
- Tháng tư
|
26
|
+
- Tháng năm
|
27
|
+
- Tháng sáu
|
28
|
+
- Tháng bảy
|
29
|
+
- Tháng tám
|
30
|
+
- Tháng chín
|
31
|
+
- Tháng mười
|
32
|
+
- Tháng mười một
|
33
|
+
- Tháng mười hai
|
34
|
+
day_names:
|
35
|
+
- Chủ nhật
|
36
|
+
- Thứ hai
|
37
|
+
- Thứ ba
|
38
|
+
- Thứ tư
|
39
|
+
- Thứ năm
|
40
|
+
- Thứ sáu
|
41
|
+
- Thứ bảy
|
42
|
+
formats:
|
43
|
+
default: "%d-%m-%Y"
|
44
|
+
long: "%d %B, %Y"
|
45
|
+
short: "%d %b"
|
46
|
+
month_names:
|
47
|
+
-
|
48
|
+
- Tháng một
|
49
|
+
- Tháng hai
|
50
|
+
- Tháng ba
|
51
|
+
- Tháng tư
|
52
|
+
- Tháng năm
|
53
|
+
- Tháng sáu
|
54
|
+
- Tháng bảy
|
55
|
+
- Tháng tám
|
56
|
+
- Tháng chín
|
57
|
+
- Tháng mười
|
58
|
+
- Tháng mười một
|
59
|
+
- Tháng mười hai
|
60
|
+
order:
|
61
|
+
- :day
|
62
|
+
- :month
|
63
|
+
- :year
|
64
|
+
datetime:
|
65
|
+
distance_in_words:
|
66
|
+
about_x_hours:
|
67
|
+
one: khoảng 1 giờ
|
68
|
+
other: khoảng %{count} giờ
|
69
|
+
about_x_months:
|
70
|
+
one: khoảng 1 tháng
|
71
|
+
other: khoảng %{count} tháng
|
72
|
+
about_x_years:
|
73
|
+
one: khoảng 1 năm
|
74
|
+
other: khoảng %{count} năm
|
75
|
+
almost_x_years:
|
76
|
+
one: gần 1 năm
|
77
|
+
other: gần %{count} năm
|
78
|
+
half_a_minute: 30 giây
|
79
|
+
less_than_x_minutes:
|
80
|
+
one: chưa tới 1 phút
|
81
|
+
other: chưa tới %{count} phút
|
82
|
+
less_than_x_seconds:
|
83
|
+
one: chưa tới 1 giây
|
84
|
+
other: chưa tới %{count} giây
|
85
|
+
over_x_years:
|
86
|
+
one: hơn 1 năm
|
87
|
+
other: hơn %{count} năm
|
88
|
+
x_days:
|
89
|
+
one: 1 ngày
|
90
|
+
other: "%{count} ngày"
|
91
|
+
x_minutes:
|
92
|
+
one: 1 phút
|
93
|
+
other: "%{count} phút"
|
94
|
+
x_months:
|
95
|
+
one: 1 tháng
|
96
|
+
other: "%{count} tháng"
|
97
|
+
x_seconds:
|
98
|
+
one: 1 giây
|
99
|
+
other: "%{count} giây"
|
100
|
+
prompts:
|
101
|
+
day: Ngày
|
102
|
+
hour: Giờ
|
103
|
+
minute: Phút
|
104
|
+
month: Tháng
|
105
|
+
second: Giây
|
106
|
+
year: Năm
|
107
|
+
errors:
|
108
|
+
format: "%{attribute} %{message}"
|
109
|
+
messages:
|
110
|
+
accepted: phải được đồng ý
|
111
|
+
blank: không thể để trắng
|
112
|
+
present: cần phải để trắng
|
113
|
+
confirmation: không khớp với xác nhận
|
114
|
+
empty: không thể rỗng
|
115
|
+
equal_to: phải bằng %{count}
|
116
|
+
even: phải là số chẵn
|
117
|
+
exclusion: đã được giành trước
|
118
|
+
greater_than: phải lớn hơn %{count}
|
119
|
+
greater_than_or_equal_to: phải lớn hơn hoặc bằng %{count}
|
120
|
+
inclusion: không có trong danh sách
|
121
|
+
invalid: không hợp lệ
|
122
|
+
less_than: phải nhỏ hơn %{count}
|
123
|
+
less_than_or_equal_to: phải nhỏ hơn hoặc bằng %{count}
|
124
|
+
not_a_number: không phải là số
|
125
|
+
not_an_integer: phải là một số nguyên
|
126
|
+
odd: phải là số lẻ
|
127
|
+
taken: đã có
|
128
|
+
too_long: quá dài (tối đa %{count} ký tự)
|
129
|
+
too_short: quá ngắn (tối thiểu %{count} ký tự)
|
130
|
+
wrong_length: độ dài không đúng (phải là %{count} ký tự)
|
131
|
+
other_than: cần phải khác %{count}
|
132
|
+
template:
|
133
|
+
body: 'Có lỗi với các mục sau:'
|
134
|
+
header:
|
135
|
+
one: 1 lỗi ngăn không cho lưu %{model} này
|
136
|
+
other: "%{count} lỗi ngăn không cho lưu %{model} này"
|
137
|
+
helpers:
|
138
|
+
select:
|
139
|
+
prompt: Vui lòng chọn
|
140
|
+
submit:
|
141
|
+
create: Tạo %{model}
|
142
|
+
submit: Lưu %{model}
|
143
|
+
update: Cập nhật %{model}
|
144
|
+
number:
|
145
|
+
currency:
|
146
|
+
format:
|
147
|
+
delimiter: "."
|
148
|
+
format: "%n %u"
|
149
|
+
precision: 2
|
150
|
+
separator: ","
|
151
|
+
significant: false
|
152
|
+
strip_insignificant_zeros: false
|
153
|
+
unit: đồng
|
154
|
+
format:
|
155
|
+
delimiter: "."
|
156
|
+
precision: 3
|
157
|
+
separator: ","
|
158
|
+
significant: false
|
159
|
+
strip_insignificant_zeros: false
|
160
|
+
human:
|
161
|
+
decimal_units:
|
162
|
+
format: "%n %u"
|
163
|
+
units:
|
164
|
+
unit: ''
|
165
|
+
billion: Tỷ
|
166
|
+
million: Triệu
|
167
|
+
quadrillion: Triệu tỷ
|
168
|
+
thousand: Nghìn
|
169
|
+
trillion: Nghìn tỷ
|
170
|
+
format:
|
171
|
+
delimiter: ''
|
172
|
+
precision: 1
|
173
|
+
significant: true
|
174
|
+
strip_insignificant_zeros: true
|
175
|
+
storage_units:
|
176
|
+
format: "%n %u"
|
177
|
+
units:
|
178
|
+
byte:
|
179
|
+
one: Byte
|
180
|
+
other: Byte
|
181
|
+
gb: GB
|
182
|
+
kb: KB
|
183
|
+
mb: MB
|
184
|
+
tb: TB
|
185
|
+
percentage:
|
186
|
+
format:
|
187
|
+
delimiter: ''
|
188
|
+
format: "%n%"
|
189
|
+
precision:
|
190
|
+
format:
|
191
|
+
delimiter: ''
|
192
|
+
support:
|
193
|
+
array:
|
194
|
+
last_word_connector: ", và "
|
195
|
+
two_words_connector: " và "
|
196
|
+
words_connector: ", "
|
197
|
+
time:
|
198
|
+
am: sáng
|
199
|
+
formats:
|
200
|
+
default: "%a, %d %b %Y %H:%M:%S %z"
|
201
|
+
long: "%d %B, %Y %H:%M"
|
202
|
+
short: "%d %b %H:%M"
|
203
|
+
pm: chiều
|