pwb 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -3
  3. data/app/assets/javascripts/pwb/{application.js → application.js.erb} +19 -2
  4. data/app/assets/javascripts/pwb/paloma/landing.js +10 -10
  5. data/app/assets/javascripts/pwb/paloma/prop.js +14 -22
  6. data/app/assets/javascripts/pwb/paloma/sections.js +15 -15
  7. data/app/assets/javascripts/pwb/shared/inmo-map.js +121 -0
  8. data/app/assets/javascripts/pwb/shared/select-picker.js +15 -0
  9. data/app/assets/javascripts/pwb/shared/slick-carousel.js +10 -0
  10. data/app/assets/javascripts/pwb/shared/vue-main.js +31 -0
  11. data/app/assets/javascripts/pwb/themes/{berlin.js → berlin.js.erb} +61 -5
  12. data/app/assets/stylesheets/pwb/themes/berlin.scss +3 -0
  13. data/app/assets/stylesheets/pwb/themes/default.scss +4 -2
  14. data/app/assets/stylesheets/pwb/themes/default/landing_general.scss +1 -1
  15. data/app/assets/stylesheets/pwb/themes/default/language_switcher.scss +20 -0
  16. data/app/assets/stylesheets/pwb/themes/default/prop.scss +0 -4
  17. data/app/assets/stylesheets/pwb/themes/default/shame.scss +0 -59
  18. data/app/assets/stylesheets/pwb/themes/shared/gmap.scss +38 -0
  19. data/app/assets/stylesheets/pwb/themes/shared/search_box.scss +62 -0
  20. data/app/assets/stylesheets/pwb/themes/shared/shame.scss +6 -1
  21. data/app/assets/stylesheets/pwb/themes/shared/social.scss +84 -0
  22. data/app/controllers/pwb/api_public/v1/props_controller.rb +47 -1
  23. data/app/controllers/pwb/props_controller.rb +32 -3
  24. data/app/controllers/pwb/search_controller.rb +35 -3
  25. data/app/controllers/pwb/sections_controller.rb +24 -7
  26. data/app/controllers/pwb/welcome_controller.rb +2 -0
  27. data/app/helpers/pwb/application_helper.rb +16 -31
  28. data/app/helpers/pwb/images_helper.rb +43 -0
  29. data/app/models/pwb/agency.rb +2 -2
  30. data/app/models/pwb/content.rb +3 -2
  31. data/app/models/pwb/content_photo.rb +1 -1
  32. data/app/models/pwb/feature.rb +2 -2
  33. data/app/models/pwb/message.rb +1 -1
  34. data/app/models/pwb/prop.rb +10 -1
  35. data/app/models/pwb/prop_photo.rb +1 -1
  36. data/app/models/pwb/section.rb +2 -1
  37. data/app/models/pwb/website.rb +1 -1
  38. data/app/themes/berlin/views/layouts/pwb/application.html.erb +9 -4
  39. data/app/themes/berlin/views/pwb/props/not_found.html.erb +37 -0
  40. data/app/themes/berlin/views/pwb/props/show.html.erb +44 -11
  41. data/app/themes/berlin/views/pwb/search/buy.html.erb +15 -8
  42. data/app/themes/berlin/views/pwb/search/rent.html.erb +13 -6
  43. data/app/themes/berlin/views/pwb/sections/about_us.html.erb +25 -34
  44. data/app/themes/berlin/views/pwb/sections/contact_us.html.erb +23 -24
  45. data/app/themes/berlin/views/pwb/sections/static.html.erb +26 -26
  46. data/app/themes/berlin/views/pwb/welcome/_landing_carousel.html.erb +27 -18
  47. data/app/themes/berlin/views/pwb/welcome/_service.html.erb +2 -2
  48. data/app/themes/berlin/views/pwb/welcome/index.html.erb +5 -2
  49. data/app/themes/default/views/layouts/pwb/application.html.erb +15 -12
  50. data/app/themes/default/views/pwb/props/show.html.erb +29 -8
  51. data/app/themes/default/views/pwb/search/buy.html.erb +44 -48
  52. data/app/themes/default/views/pwb/search/rent.html.erb +44 -48
  53. data/app/themes/default/views/pwb/sections/about_us.html.erb +1 -0
  54. data/app/themes/default/views/pwb/sections/contact_us.html.erb +4 -0
  55. data/app/themes/default/views/pwb/sections/static.html.erb +1 -0
  56. data/app/themes/default/views/pwb/welcome/index.html.erb +14 -4
  57. data/app/views/pwb/_meta_tags.html.erb +10 -0
  58. data/app/views/pwb/props/_meta_tags.html.erb +8 -0
  59. data/app/views/pwb/search/_search_form_for_rent.html.erb +19 -16
  60. data/app/views/pwb/search/_search_form_landing.html.erb +35 -0
  61. data/app/views/pwb/search/search_ajax.js.erb +3 -1
  62. data/config/client_setups/default.json +113 -55
  63. data/config/initializers/i18n.rb +1 -0
  64. data/config/locales/admin.en.yml +19 -10
  65. data/config/locales/admin.es.yml +18 -0
  66. data/config/locales/de.yml +9 -6
  67. data/config/locales/devise.tr.yml +135 -0
  68. data/config/locales/devise.vi.yml +137 -0
  69. data/config/locales/en.yml +151 -161
  70. data/config/locales/es.yml +37 -35
  71. data/config/locales/fr.yml +147 -184
  72. data/config/locales/pt.yml +10 -8
  73. data/config/locales/rails.tr.yml +211 -0
  74. data/config/locales/rails.vi.yml +203 -0
  75. data/config/locales/ru.yml +13 -12
  76. data/config/locales/tr.yml +160 -0
  77. data/config/locales/vi.yml +162 -0
  78. data/config/locales/zh-HK.yml +2 -0
  79. data/config/routes.rb +4 -3
  80. data/db/migrate/20170513221300_create_cms.rb +1 -1
  81. data/lib/pwb/seeder.rb +1 -1
  82. data/lib/pwb/version.rb +1 -1
  83. data/spec/dummy/config/routes.rb +3 -4
  84. data/spec/dummy/db/schema.rb +11 -10
  85. data/spec/dummy/log/test.log +0 -0
  86. data/spec/dummy/public/uploads/pwb/content_photo/image/1/carousel_windows.jpg +0 -0
  87. data/spec/dummy/public/uploads/pwb/content_photo/image/2/carousel_deck_chair.jpg +0 -0
  88. data/spec/dummy/public/uploads/pwb/content_photo/image/3/carousel_grass.jpg +0 -0
  89. data/spec/dummy/public/uploads/pwb/content_photo/image/4/carousel_grass.jpg +0 -0
  90. data/spec/dummy/public/uploads/pwb/prop_photo/image/1/flat_balcony.jpg +0 -0
  91. data/spec/dummy/public/uploads/pwb/prop_photo/image/1/gdaje3atcct1gx2ngv9u.jpg +0 -0
  92. data/spec/dummy/public/uploads/pwb/prop_photo/image/1/new_villa.jpg +0 -0
  93. data/spec/dummy/public/uploads/pwb/prop_photo/image/2/flat_balcony.jpg +0 -0
  94. data/spec/dummy/public/uploads/pwb/prop_photo/image/2/kitchen_modern.jpg +0 -0
  95. data/spec/dummy/public/uploads/pwb/prop_photo/image/2/rxo23syongfydjpoizrd.jpg +0 -0
  96. data/spec/dummy/public/uploads/pwb/prop_photo/image/3/mansion_front.jpg +0 -0
  97. data/spec/dummy/public/uploads/pwb/prop_photo/image/3/vzlptgtccsk2d2ewp4id.jpg +0 -0
  98. data/spec/dummy/public/uploads/pwb/prop_photo/image/4/mansion_bedroom.jpg +0 -0
  99. data/spec/dummy/public/uploads/pwb/prop_photo/image/4/xwayprwnmmmhrzrgwvch.jpg +0 -0
  100. data/spec/dummy/public/uploads/pwb/prop_photo/image/5/flat_window.jpg +0 -0
  101. data/spec/dummy/public/uploads/pwb/prop_photo/image/5/ilxn2u37bak0v60u6f8q.jpg +0 -0
  102. data/spec/dummy/public/uploads/pwb/prop_photo/image/6/kitchen_classic.jpg +0 -0
  103. data/spec/dummy/public/uploads/pwb/prop_photo/image/7/flat_balcony.jpg +0 -0
  104. data/spec/dummy/public/uploads/pwb/prop_photo/image/8/lounge_cosy.jpg +0 -0
  105. data/spec/requests/pwb/themes_spec.rb +1 -0
  106. data/spec/views/pwb/welcome.html.erb_spec.rb +7 -0
  107. metadata +63 -6
  108. data/app/assets/javascripts/pwb/themes/berlin/jquery.min.js +0 -5
  109. data/app/assets/stylesheets/pwb/themes/default/search.scss +0 -8
@@ -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: administrador
54
+ admin: Admin
53
55
  buy: Comprar
54
56
  contactUs: Contato
55
- home: Casa
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: Casa
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