comfortable_mexican_sofa 1.12.7 → 1.12.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/app/assets/javascripts/comfy/admin/cms/application.js.coffee +1 -1
- data/app/assets/javascripts/comfy/admin/cms/base.js.coffee +4 -2
- data/app/assets/javascripts/comfy/admin/cms/lib/redactor.js +309 -218
- data/app/assets/javascripts/comfy/admin/cms/lib/redactor/definedlinks.js +53 -0
- data/app/controllers/comfy/admin/cms/pages_controller.rb +21 -0
- data/app/helpers/comfy/cms_helper.rb +1 -1
- data/app/models/comfy/cms/site.rb +1 -1
- data/app/views/comfy/admin/cms/pages/_form.html.haml +2 -4
- data/app/views/layouts/comfy/admin/cms/_head.html.haml +1 -0
- data/config/environments/test.rb +4 -0
- data/config/locales/cs.yml +28 -23
- data/config/locales/da.yml +36 -31
- data/config/locales/de.yml +32 -27
- data/config/locales/en.yml +10 -7
- data/config/locales/es.yml +21 -16
- data/config/locales/fr.yml +28 -23
- data/config/locales/it.yml +12 -7
- data/config/locales/ja.yml +28 -23
- data/config/locales/nb.yml +12 -7
- data/config/locales/nl.yml +21 -16
- data/config/locales/pl.yml +28 -23
- data/config/locales/pt-BR.yml +27 -22
- data/config/locales/ru.yml +19 -16
- data/config/locales/sv.yml +28 -23
- data/config/locales/uk.yml +10 -7
- data/config/locales/zh-CN.yml +22 -17
- data/config/locales/zh-TW.yml +22 -17
- data/lib/comfortable_mexican_sofa/render_methods.rb +1 -1
- data/lib/comfortable_mexican_sofa/version.rb +1 -1
- data/test/controllers/comfy/admin/cms/pages_controller_test.rb +59 -46
- data/test/gemfiles/Gemfile.rails.4.0 +2 -2
- data/test/gemfiles/Gemfile.rails.4.1 +1 -1
- data/test/gemfiles/Gemfile.rails.4.2 +1 -1
- data/test/gemfiles/Gemfile.rails.master +1 -1
- data/test/integration/i18n_test.rb +37 -0
- data/test/integration/js_variables_test.rb +1 -0
- data/test/lib/mirrors_test.rb +35 -35
- metadata +4 -2
data/config/locales/pl.yml
CHANGED
@@ -1,22 +1,17 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
pl:
|
3
|
-
attributes:
|
4
|
-
label: Tytuł
|
5
|
-
slug: Ścieżka
|
6
|
-
parent_id: Rodzic
|
7
|
-
content: Zawartość
|
8
|
-
identifier: Identyfikator
|
9
|
-
full_path: Full path
|
10
3
|
activerecord:
|
11
4
|
models:
|
12
5
|
comfy/cms/site: Witryna
|
13
6
|
comfy/cms/layout: Szablin
|
14
7
|
comfy/cms/page: Strona
|
15
8
|
comfy/cms/snippet: Snippet
|
16
|
-
|
9
|
+
comfy/cms/file: Plik
|
10
|
+
|
17
11
|
attributes:
|
18
12
|
comfy/cms/site:
|
19
13
|
identifier: Identyfikator
|
14
|
+
label: Tytuł
|
20
15
|
hostname: Nazwa hosta
|
21
16
|
path: Ścieżka
|
22
17
|
locale: Język
|
@@ -26,19 +21,26 @@ pl:
|
|
26
21
|
label: Nazwa layout'u
|
27
22
|
app_layout: Nazwa aplikacji
|
28
23
|
parent_id: Rodzic
|
24
|
+
content: Zawartość
|
29
25
|
css: Style
|
30
26
|
js: Javascript
|
31
27
|
comfy/cms/page:
|
32
28
|
label: Tytuł
|
33
29
|
layout_id: Identyfikator szablonu
|
34
30
|
slug: Ścieżka
|
31
|
+
full_path: Full path
|
32
|
+
parent_id: Rodzic
|
35
33
|
target_page_id: Przekieruj do strony
|
34
|
+
content: Zawartość
|
36
35
|
is_published: Opublikowana
|
37
36
|
comfy/cms/file:
|
37
|
+
label: Tytuł
|
38
38
|
file: Plik
|
39
39
|
description: Opis
|
40
40
|
comfy/cms/snippet:
|
41
41
|
identifier: Identyfikator
|
42
|
+
label: Tytuł
|
43
|
+
content: Zawartość
|
42
44
|
|
43
45
|
comfy:
|
44
46
|
cms:
|
@@ -46,19 +48,19 @@ pl:
|
|
46
48
|
site_not_found: Witryna nie została znaleziona
|
47
49
|
layout_not_found: Szablon nie został znaleziony
|
48
50
|
page_not_found: Strona nie została znaleziona
|
49
|
-
|
51
|
+
|
50
52
|
admin:
|
51
53
|
cms:
|
52
54
|
base:
|
53
55
|
site_not_found: Strona nie została znaleziona
|
54
56
|
fixtures_enabled: Fikstury CMS są włączone. Wszystkie zmiany zpisane tutaj nie będą uwzględnione.
|
55
|
-
|
57
|
+
|
56
58
|
sites: Witryny
|
57
59
|
layouts: Szablony
|
58
60
|
pages: Pages
|
59
61
|
snippets: Snippets
|
60
62
|
files: Files
|
61
|
-
|
63
|
+
|
62
64
|
sites:
|
63
65
|
created: Witryna została utworzona
|
64
66
|
creation_failure: Błąd przy tworzeniu witryny
|
@@ -66,7 +68,7 @@ pl:
|
|
66
68
|
update_failure: Błąd przy uaktualnianiu witryny
|
67
69
|
deleted: Witryna została usunięta
|
68
70
|
not_found: Nie znaleziono witryny
|
69
|
-
|
71
|
+
|
70
72
|
index:
|
71
73
|
title: Witryny
|
72
74
|
new_link: Utwórz nowa witrynę
|
@@ -83,7 +85,7 @@ pl:
|
|
83
85
|
cancel: Anulować
|
84
86
|
update: Uaktualnij witrynę
|
85
87
|
is_mirrored: Mirror
|
86
|
-
|
88
|
+
|
87
89
|
layouts:
|
88
90
|
created: Szablon został utworzony
|
89
91
|
creation_failure: Błąd przy tworzeniu layoutu
|
@@ -91,7 +93,7 @@ pl:
|
|
91
93
|
update_failure: Błąd przy uaktualnianiu layoutu
|
92
94
|
deleted: Szablon został usunięty
|
93
95
|
not_found: Nie znaleziono layoutu
|
94
|
-
|
96
|
+
|
95
97
|
index:
|
96
98
|
title: Szablony
|
97
99
|
new_link: Utwórz nowy szablon
|
@@ -116,7 +118,7 @@ pl:
|
|
116
118
|
create: Stwórz szablon
|
117
119
|
cancel: Anulować
|
118
120
|
update: Uaktualnij szablon
|
119
|
-
|
121
|
+
|
120
122
|
pages:
|
121
123
|
created: Strona została utworzona
|
122
124
|
creation_failure: Błąd przy tworzeniu strony
|
@@ -125,7 +127,7 @@ pl:
|
|
125
127
|
deleted: Strona została usunięta
|
126
128
|
not_found: Nie znaleziono strony
|
127
129
|
layout_not_found: Brakuje layoutu. Proszę utworzyć
|
128
|
-
|
130
|
+
|
129
131
|
index:
|
130
132
|
title: Strony
|
131
133
|
new_link: Utwórz nową stronę
|
@@ -148,11 +150,12 @@ pl:
|
|
148
150
|
cancel: Anulować
|
149
151
|
update: Uaktualnij stronę
|
150
152
|
is_published: Opublikowana
|
153
|
+
choose_link: Select page...
|
151
154
|
form_blocks:
|
152
155
|
no_tags: |-
|
153
156
|
Szablon nie ma zdefiniowanych tagów<br/>
|
154
157
|
Wyedytuj treść aby dodać stronę lub pole np. <code>{{cms:page:content}}</code>
|
155
|
-
|
158
|
+
|
156
159
|
snippets:
|
157
160
|
created: Snippet został utworzony
|
158
161
|
creation_failure: Błąd przy tworzeniu snippeta
|
@@ -160,7 +163,7 @@ pl:
|
|
160
163
|
update_failure: Błąd przy uaktualnianiu snippeta
|
161
164
|
deleted: Snippet został usunięty
|
162
165
|
not_found: Nie znaleziono snippeta
|
163
|
-
|
166
|
+
|
164
167
|
index:
|
165
168
|
title: Snippets
|
166
169
|
new_link: Utwórz nowy snippet
|
@@ -177,12 +180,12 @@ pl:
|
|
177
180
|
create: Utwórz snippet
|
178
181
|
cancel: Anulować
|
179
182
|
update: Uaktualnij snippet
|
180
|
-
|
183
|
+
|
181
184
|
revisions:
|
182
185
|
reverted: Zawartość zostala przywrócona
|
183
186
|
record_not_found: Wpis nie został znaleziony
|
184
187
|
not_found: Wersja nie została znaleziona
|
185
|
-
|
188
|
+
|
186
189
|
show:
|
187
190
|
title: Wersje dla
|
188
191
|
revision: Wersja
|
@@ -193,7 +196,7 @@ pl:
|
|
193
196
|
changes: Changes
|
194
197
|
previous: Previous
|
195
198
|
current: Aktualna
|
196
|
-
|
199
|
+
|
197
200
|
files:
|
198
201
|
created: Plik wrzucony na serwer
|
199
202
|
creation_failure: Błąd przy wrzucaniu pliku
|
@@ -201,7 +204,7 @@ pl:
|
|
201
204
|
update_failure: Błąd przy uaktualnianiu pliku
|
202
205
|
deleted: Plik został usunięty
|
203
206
|
not_found: Plik nie został znaleziony
|
204
|
-
|
207
|
+
|
205
208
|
index:
|
206
209
|
title: Pliki
|
207
210
|
new_link: Wrzuć nowy plik
|
@@ -218,11 +221,13 @@ pl:
|
|
218
221
|
create: Wrzuć plik
|
219
222
|
cancel: Anulować
|
220
223
|
update: Uaktualnij plik
|
224
|
+
delete: Usuń
|
225
|
+
are_you_sure: Jesteś pewien?
|
221
226
|
page_form:
|
222
227
|
are_you_sure: Jesteś pewien?
|
223
228
|
file:
|
224
229
|
are_you_sure: Jesteś pewien?
|
225
|
-
|
230
|
+
|
226
231
|
categories:
|
227
232
|
index:
|
228
233
|
label: Kategorie
|
data/config/locales/pt-BR.yml
CHANGED
@@ -1,12 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
pt-BR:
|
3
|
-
attributes:
|
4
|
-
label: Nome
|
5
|
-
slug: Identificador
|
6
|
-
parent_id: Pai
|
7
|
-
content: Conteúdo
|
8
|
-
identifier: Identificador
|
9
|
-
full_path: Full path
|
10
3
|
activerecord:
|
11
4
|
models:
|
12
5
|
comfy/cms/site: Site
|
@@ -14,9 +7,11 @@ pt-BR:
|
|
14
7
|
comfy/cms/page: Página
|
15
8
|
comfy/cms/snippet: Fragmento
|
16
9
|
comfy/cms/file: Arquivo
|
10
|
+
|
17
11
|
attributes:
|
18
12
|
comfy/cms/site:
|
19
13
|
identifier: Identificador
|
14
|
+
label: Nome
|
20
15
|
hostname: Nome do Host
|
21
16
|
path: Caminho
|
22
17
|
locale: Idioma
|
@@ -26,39 +21,46 @@ pt-BR:
|
|
26
21
|
label: Nome do Leiaute
|
27
22
|
app_layout: Leiaute da Aplicação
|
28
23
|
parent_id: Leiaute Pai
|
24
|
+
content: Conteúdo
|
29
25
|
css: Stylesheet
|
30
26
|
js: Javascript
|
31
27
|
comfy/cms/page:
|
32
28
|
label: Título
|
33
29
|
layout_id: Leiaute
|
34
30
|
slug: Identificador
|
31
|
+
full_path: Full path
|
32
|
+
parent_id: Pai
|
35
33
|
target_page_id: Redirecionar para a Página
|
34
|
+
content: Conteúdo
|
36
35
|
is_published: Publicada
|
37
36
|
comfy/cms/file:
|
37
|
+
label: Nome
|
38
38
|
file: Arquivo
|
39
39
|
description: Descrição
|
40
40
|
comfy/cms/snippet:
|
41
41
|
identifier: Identificador
|
42
|
-
|
42
|
+
label: Nome
|
43
|
+
content: Conteúdo
|
44
|
+
|
43
45
|
comfy:
|
44
46
|
cms:
|
45
47
|
content:
|
46
48
|
site_not_found: Site Não Encontrado
|
47
49
|
layout_not_found: Leiaute Não Encontrado
|
48
50
|
page_not_found: Página Não Encontrada
|
49
|
-
|
51
|
+
|
50
52
|
admin:
|
51
53
|
cms:
|
52
54
|
base:
|
53
55
|
site_not_found: Site não encontrado
|
54
56
|
fixtures_enabled: Os Fixtures do CMS estão ativados. Todas as mudanças feitas aqui serão descartadas.
|
55
|
-
|
57
|
+
|
56
58
|
sites: Sites
|
57
59
|
layouts: Leiautes
|
58
60
|
pages: Páginas
|
59
61
|
snippets: Fragmentos
|
60
62
|
files: Arquivos
|
61
|
-
|
63
|
+
|
62
64
|
sites:
|
63
65
|
created: Site criado com sucesso.
|
64
66
|
creation_failure: Não foi possível criar site.
|
@@ -66,7 +68,7 @@ pt-BR:
|
|
66
68
|
update_failure: Não foi possível atualizar site.
|
67
69
|
deleted: Site excluído com sucesso.
|
68
70
|
not_found: Site não encontrado.
|
69
|
-
|
71
|
+
|
70
72
|
index:
|
71
73
|
title: Sites
|
72
74
|
new_link: Criar Novo Site
|
@@ -83,7 +85,7 @@ pt-BR:
|
|
83
85
|
cancel: Cancelar
|
84
86
|
update: Atualizar Site
|
85
87
|
is_mirrored: Espelhado
|
86
|
-
|
88
|
+
|
87
89
|
layouts:
|
88
90
|
created: Leiaute criado com sucesso.
|
89
91
|
creation_failure: Não foi possível criar leiaute.
|
@@ -91,7 +93,7 @@ pt-BR:
|
|
91
93
|
update_failure: Não foi possível atualizar leiaute.
|
92
94
|
deleted: Leiaute excluído com sucesso.
|
93
95
|
not_found: Leiaute não encontrado.
|
94
|
-
|
96
|
+
|
95
97
|
index:
|
96
98
|
title: Leiautes
|
97
99
|
new_link: Criar Novo Leiaute
|
@@ -116,7 +118,7 @@ pt-BR:
|
|
116
118
|
create: Criar Leiaute
|
117
119
|
cancel: Cancelar
|
118
120
|
update: Atualizar Leiaute
|
119
|
-
|
121
|
+
|
120
122
|
pages:
|
121
123
|
created: Página criada com sucesso.
|
122
124
|
creation_failure: Não foi possível criar página.
|
@@ -125,7 +127,7 @@ pt-BR:
|
|
125
127
|
deleted: Página excluída com sucesso.
|
126
128
|
not_found: Página não encontrada.
|
127
129
|
layout_not_found: "Nenhum leiaute foi encontrado. Por favor, crie um."
|
128
|
-
|
130
|
+
|
129
131
|
index:
|
130
132
|
title: Páginas
|
131
133
|
new_link: Criar Nova Página
|
@@ -148,11 +150,12 @@ pt-BR:
|
|
148
150
|
cancel: Cancelar
|
149
151
|
update: Atualizar Página
|
150
152
|
is_published: Publicada
|
153
|
+
choose_link: Select page...
|
151
154
|
form_blocks:
|
152
155
|
no_tags: |-
|
153
156
|
O leiaute não possui tags de conteúdo definidas.<br/>
|
154
157
|
Edite o conteúdo e inclua uma tag de página ou de campo. Por exemplo: <code>{{cms:page:content}}</code>
|
155
|
-
|
158
|
+
|
156
159
|
snippets:
|
157
160
|
created: Fragmento criado com sucesso.
|
158
161
|
creation_failure: Não foi possível criar fragmento.
|
@@ -160,7 +163,7 @@ pt-BR:
|
|
160
163
|
update_failure: Não foi possível atualizar fragmento.
|
161
164
|
deleted: Fragmento excluído com sucesso.
|
162
165
|
not_found: Fragmento não encontrado.
|
163
|
-
|
166
|
+
|
164
167
|
index:
|
165
168
|
title: Fragmentos
|
166
169
|
new_link: Criar Novo Fragmento
|
@@ -182,7 +185,7 @@ pt-BR:
|
|
182
185
|
reverted: Conteúdo revertido com sucesso.
|
183
186
|
record_not_found: Registro não encontrado.
|
184
187
|
not_found: Revisão não encontrada.
|
185
|
-
|
188
|
+
|
186
189
|
show:
|
187
190
|
title: Revisões de
|
188
191
|
revision: Revisão
|
@@ -193,7 +196,7 @@ pt-BR:
|
|
193
196
|
changes: Changes
|
194
197
|
previous: Previous
|
195
198
|
current: Atual
|
196
|
-
|
199
|
+
|
197
200
|
files:
|
198
201
|
created: Arquivo enviado com sucesso.
|
199
202
|
creation_failure: Não foi possível enviar arquivo.
|
@@ -201,7 +204,7 @@ pt-BR:
|
|
201
204
|
update_failure: Não foi possível atualizar arquivo.
|
202
205
|
deleted: Arquivo excluído com sucesso.
|
203
206
|
not_found: Arquivo não encontrado.
|
204
|
-
|
207
|
+
|
205
208
|
index:
|
206
209
|
title: Arquivos
|
207
210
|
new_link: Enviar Novo Arquivo
|
@@ -218,11 +221,13 @@ pt-BR:
|
|
218
221
|
create: Enviar Arquivo
|
219
222
|
cancel: Cancelar
|
220
223
|
update: Atualizar Arquivo
|
224
|
+
delete: Excluir
|
225
|
+
are_you_sure: Tem certeza?
|
221
226
|
page_form:
|
222
227
|
are_you_sure: Tem certeza?
|
223
228
|
file:
|
224
229
|
are_you_sure: Tem certeza?
|
225
|
-
|
230
|
+
|
226
231
|
categories:
|
227
232
|
index:
|
228
233
|
label: Categorias
|
data/config/locales/ru.yml
CHANGED
@@ -1,12 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
ru:
|
3
|
-
attributes:
|
4
|
-
label: Название
|
5
|
-
slug: Ссылка
|
6
|
-
parent_id: Родитель
|
7
|
-
content: Контент
|
8
|
-
identifier: Идентификатор
|
9
|
-
full_path: Full path
|
10
3
|
activerecord:
|
11
4
|
models:
|
12
5
|
comfy/cms/site: Сайт
|
@@ -14,9 +7,11 @@ ru:
|
|
14
7
|
comfy/cms/page: Страница
|
15
8
|
comfy/cms/snippet: Сниппет
|
16
9
|
comfy/cms/file: Файл
|
10
|
+
|
17
11
|
attributes:
|
18
12
|
comfy/cms/site:
|
19
13
|
identifier: Идентификатор
|
14
|
+
label: Название
|
20
15
|
hostname: Имя хоста
|
21
16
|
path: Путь
|
22
17
|
locale: Язык
|
@@ -26,6 +21,7 @@ ru:
|
|
26
21
|
label: Название шаблона
|
27
22
|
app_layout: Шаблон приложения
|
28
23
|
parent_id: Родительский шаблон
|
24
|
+
content: Контент
|
29
25
|
css: CSS
|
30
26
|
js: Javascript
|
31
27
|
comfy/cms/page:
|
@@ -35,12 +31,16 @@ ru:
|
|
35
31
|
full_path: Полный путь
|
36
32
|
slug: Ссылка
|
37
33
|
target_page_id: Редирект на страницу
|
34
|
+
content: Контент
|
38
35
|
is_published: Опубликована
|
39
36
|
comfy/cms/file:
|
37
|
+
label: Название
|
40
38
|
file: Файл
|
41
39
|
description: Описание
|
42
40
|
comfy/cms/snippet:
|
43
41
|
identifier: Идентификатор
|
42
|
+
label: Название
|
43
|
+
content: Контент
|
44
44
|
|
45
45
|
comfy:
|
46
46
|
cms:
|
@@ -48,13 +48,13 @@ ru:
|
|
48
48
|
site_not_found: Сайт не найден
|
49
49
|
layout_not_found: Шаблон не найден
|
50
50
|
page_not_found: Страница не найдена
|
51
|
-
|
51
|
+
|
52
52
|
admin:
|
53
53
|
cms:
|
54
54
|
base:
|
55
55
|
site_not_found: Сайт не найден
|
56
56
|
fixtures_enabled: CMS Fixtures включены. Все изменения, сделанные здесь, будут отменены.
|
57
|
-
|
57
|
+
|
58
58
|
sites: Сайты
|
59
59
|
layouts: Шаблоны
|
60
60
|
pages: Страницы
|
@@ -68,7 +68,7 @@ ru:
|
|
68
68
|
update_failure: Не удалось обновить сайт
|
69
69
|
deleted: Сайт удален
|
70
70
|
not_found: Сайт не найден
|
71
|
-
|
71
|
+
|
72
72
|
index:
|
73
73
|
title: Сайты
|
74
74
|
new_link: Создать новый сайт
|
@@ -93,7 +93,7 @@ ru:
|
|
93
93
|
update_failure: Не удалось обновить шаблон
|
94
94
|
deleted: Шаблон удален
|
95
95
|
not_found: Шаблон не найден
|
96
|
-
|
96
|
+
|
97
97
|
index:
|
98
98
|
title: Шаблоны
|
99
99
|
new_link: Создать новый шаблон
|
@@ -127,7 +127,7 @@ ru:
|
|
127
127
|
deleted: Страница удалена
|
128
128
|
not_found: Страница не найдена
|
129
129
|
layout_not_found: Шаблоны не найдены. Пожалуйста, создайте хотя бы один шаблон.
|
130
|
-
|
130
|
+
|
131
131
|
index:
|
132
132
|
title: Страницы
|
133
133
|
new_link: Создать новую страницу
|
@@ -150,6 +150,7 @@ ru:
|
|
150
150
|
cancel: Oтменить
|
151
151
|
update: Обновить страницу
|
152
152
|
is_published: Опубликована
|
153
|
+
choose_link: Select page...
|
153
154
|
form_blocks:
|
154
155
|
no_tags: |-
|
155
156
|
Шаблон не содержит ни одного контент-тега.<br/>
|
@@ -162,7 +163,7 @@ ru:
|
|
162
163
|
update_failure: Не удалось обновить сниппет
|
163
164
|
deleted: Сниппет удален
|
164
165
|
not_found: Сниппет не найден
|
165
|
-
|
166
|
+
|
166
167
|
index:
|
167
168
|
title: Сниппеты
|
168
169
|
new_link: Создать новый сниппет
|
@@ -184,7 +185,7 @@ ru:
|
|
184
185
|
reverted: Контент возвращен в прежнее состояние
|
185
186
|
record_not_found: Запись не найдена
|
186
187
|
not_found: Ревизия не найдена
|
187
|
-
|
188
|
+
|
188
189
|
show:
|
189
190
|
title: Ревизии для
|
190
191
|
revision: Ревизия
|
@@ -203,7 +204,7 @@ ru:
|
|
203
204
|
update_failure: Не удалось обновить файл
|
204
205
|
deleted: Файл удален
|
205
206
|
not_found: Файл не найден
|
206
|
-
|
207
|
+
|
207
208
|
index:
|
208
209
|
title: Файлы
|
209
210
|
new_link: Загрузить новый файл
|
@@ -220,11 +221,13 @@ ru:
|
|
220
221
|
create: Загрузить файл
|
221
222
|
cancel: Oтменить
|
222
223
|
update: Обновить файл
|
224
|
+
delete: Удалить
|
225
|
+
are_you_sure: Вы уверены?
|
223
226
|
page_form:
|
224
227
|
are_you_sure: Вы уверены?
|
225
228
|
file:
|
226
229
|
are_you_sure: Вы уверены?
|
227
|
-
|
230
|
+
|
228
231
|
categories:
|
229
232
|
index:
|
230
233
|
label: Категории
|