@seliseblocks/mailcraft 0.1.1 → 0.2.0
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.
- package/DOCS.md +238 -10
- package/README.md +11 -3
- package/README.md.txt +134 -0
- package/dist/mailcraft-editor.bundle.js +51 -39
- package/dist/mailcraft-editor.bundle.js.map +3 -3
- package/examples/templates/order-confirmed.html +80 -80
- package/examples/vanilla.html +234 -22
- package/package.json +7 -2
- package/src/core/assets.js +10 -15
- package/src/core/binder.js +120 -118
- package/src/core/blocks.js +14 -1
- package/src/core/css-cascade.js +117 -117
- package/src/core/editor-core.js +1530 -1492
- package/src/core/export.js +142 -55
- package/src/core/i18n/ar.js +219 -177
- package/src/core/i18n/bg.js +196 -152
- package/src/core/i18n/bn.js +218 -176
- package/src/core/i18n/ca.js +196 -152
- package/src/core/i18n/cs.js +196 -152
- package/src/core/i18n/da.js +196 -152
- package/src/core/i18n/de-CH.js +196 -152
- package/src/core/i18n/de.js +196 -152
- package/src/core/i18n/dz.js +221 -179
- package/src/core/i18n/el.js +196 -152
- package/src/core/i18n/en.js +3 -10
- package/src/core/i18n/es.js +196 -152
- package/src/core/i18n/et.js +196 -152
- package/src/core/i18n/fi.js +196 -152
- package/src/core/i18n/fr.js +196 -152
- package/src/core/i18n/hr.js +196 -152
- package/src/core/i18n/hu.js +196 -152
- package/src/core/i18n/index.js +83 -83
- package/src/core/i18n/it.js +196 -152
- package/src/core/i18n/lt.js +196 -152
- package/src/core/i18n/lv.js +196 -152
- package/src/core/i18n/nb.js +196 -152
- package/src/core/i18n/nl.js +196 -152
- package/src/core/i18n/pl.js +196 -152
- package/src/core/i18n/pt.js +196 -152
- package/src/core/i18n/ro.js +196 -152
- package/src/core/i18n/ru.js +196 -152
- package/src/core/i18n/sk.js +196 -152
- package/src/core/i18n/sl.js +196 -152
- package/src/core/i18n/sv.js +196 -152
- package/src/core/i18n/tables.js +50 -50
- package/src/core/i18n/tr.js +196 -152
- package/src/core/i18n/uk.js +196 -152
- package/src/core/icons.js +237 -235
- package/src/core/ids.js +1 -1
- package/src/core/import-html.js +1025 -959
- package/src/core/layout-style.js +100 -100
- package/src/core/parse.js +10 -10
- package/src/core/placeholder.js +15 -15
- package/src/core/sanitize.js +141 -141
- package/src/core/storage-limits.js +184 -184
- package/src/core/storage.js +85 -85
- package/src/core/theme.js +1 -1
- package/src/core/variables.js +11 -11
- package/src/index.js +9 -9
- package/src/mailcraft-editor.js +26 -14
- package/src/render/block-body.js +49 -6
- package/src/render/canvas.js +31 -2
- package/src/render/fields.js +602 -588
- package/src/render/focus-preserve.js +158 -158
- package/src/render/rte.js +241 -212
- package/src/render/screenshot.js +132 -132
- package/src/render/story.js +415 -415
- package/src/render/style.js +8 -0
- package/types/index.d.ts +419 -0
package/src/core/i18n/bg.js
CHANGED
|
@@ -1,152 +1,196 @@
|
|
|
1
|
-
/** Bulgarian (Български) — `bg`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
|
|
2
|
-
export const BG = {
|
|
3
|
-
'action.undoHint': 'Отмяна — ⌘Z',
|
|
4
|
-
'action.redoHint': 'Повторение — ⌘⇧Z',
|
|
5
|
-
'action.chromeToDark': 'Тъмна',
|
|
6
|
-
'action.chromeToLight': 'Светла',
|
|
7
|
-
'action.chromeHint': 'Тема на редактора светла / тъмна',
|
|
8
|
-
'action.
|
|
9
|
-
'action.
|
|
10
|
-
'action.
|
|
11
|
-
'action.
|
|
12
|
-
'action.
|
|
13
|
-
'action.
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'device.
|
|
19
|
-
'device.
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'status.
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'tab.
|
|
27
|
-
'tab.
|
|
28
|
-
'tab.
|
|
29
|
-
'tab.
|
|
30
|
-
'tab.
|
|
31
|
-
'tab.
|
|
32
|
-
'tab.
|
|
33
|
-
'tab.
|
|
34
|
-
'tab.
|
|
35
|
-
'tab.
|
|
36
|
-
'tab.
|
|
37
|
-
'tab.
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'inspector.
|
|
41
|
-
'inspector.
|
|
42
|
-
'inspector.
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
|
|
47
|
-
'inspector.
|
|
48
|
-
|
|
49
|
-
'
|
|
50
|
-
'shortcut.
|
|
51
|
-
'shortcut.
|
|
52
|
-
'shortcut.
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'rows.
|
|
58
|
-
'rows.
|
|
59
|
-
'rows.
|
|
60
|
-
'rows.
|
|
61
|
-
'rows.
|
|
62
|
-
'rows.
|
|
63
|
-
'rows.
|
|
64
|
-
|
|
65
|
-
'rows.
|
|
66
|
-
|
|
67
|
-
'
|
|
68
|
-
'files.
|
|
69
|
-
'
|
|
70
|
-
'
|
|
71
|
-
'layers.
|
|
72
|
-
'layers.
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'vars.
|
|
77
|
-
'vars.
|
|
78
|
-
'vars.
|
|
79
|
-
'vars.
|
|
80
|
-
'vars.
|
|
81
|
-
'vars.
|
|
82
|
-
'vars.
|
|
83
|
-
'
|
|
84
|
-
'
|
|
85
|
-
'modal.
|
|
86
|
-
'
|
|
87
|
-
'
|
|
88
|
-
'library.
|
|
89
|
-
'
|
|
90
|
-
'library.
|
|
91
|
-
'library.
|
|
92
|
-
'library.
|
|
93
|
-
'library.
|
|
94
|
-
'library.
|
|
95
|
-
'
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'
|
|
99
|
-
'
|
|
100
|
-
'
|
|
101
|
-
'
|
|
102
|
-
'
|
|
103
|
-
'
|
|
104
|
-
'
|
|
105
|
-
'
|
|
106
|
-
'
|
|
107
|
-
'
|
|
108
|
-
'
|
|
109
|
-
'
|
|
110
|
-
'
|
|
111
|
-
'
|
|
112
|
-
'
|
|
113
|
-
'
|
|
114
|
-
|
|
115
|
-
'
|
|
116
|
-
'
|
|
117
|
-
'
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'modal.
|
|
122
|
-
'
|
|
123
|
-
'
|
|
124
|
-
'
|
|
125
|
-
'
|
|
126
|
-
'
|
|
127
|
-
'
|
|
128
|
-
'
|
|
129
|
-
'
|
|
130
|
-
'
|
|
131
|
-
'
|
|
132
|
-
'
|
|
133
|
-
|
|
134
|
-
'
|
|
135
|
-
'toast.
|
|
136
|
-
'toast.
|
|
137
|
-
'
|
|
138
|
-
'
|
|
139
|
-
'
|
|
140
|
-
'
|
|
141
|
-
'
|
|
142
|
-
'
|
|
143
|
-
'
|
|
144
|
-
'
|
|
145
|
-
'
|
|
146
|
-
'
|
|
147
|
-
'
|
|
148
|
-
'
|
|
149
|
-
'
|
|
150
|
-
'
|
|
151
|
-
|
|
152
|
-
|
|
1
|
+
/** Bulgarian (Български) — `bg`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
|
|
2
|
+
export const BG = {
|
|
3
|
+
'action.undoHint': 'Отмяна — ⌘Z',
|
|
4
|
+
'action.redoHint': 'Повторение — ⌘⇧Z',
|
|
5
|
+
'action.chromeToDark': 'Тъмна',
|
|
6
|
+
'action.chromeToLight': 'Светла',
|
|
7
|
+
'action.chromeHint': 'Тема на редактора светла / тъмна',
|
|
8
|
+
'action.chromeHintToDark': 'Тъмен режим',
|
|
9
|
+
'action.chromeHintToLight': 'Светъл режим',
|
|
10
|
+
'action.aiDraft': 'Чернова',
|
|
11
|
+
'action.aiDraftHint': 'Създаване на съдържание с изкуствен интелект',
|
|
12
|
+
'action.code': 'Код',
|
|
13
|
+
'action.codeHint': 'Редактиране на суров HTML с преглед на живо',
|
|
14
|
+
'action.preview': 'Преглед',
|
|
15
|
+
'action.previewHint': 'Преглед на имейла',
|
|
16
|
+
'action.export': 'Изнасяне',
|
|
17
|
+
'action.exportHint': 'Изнасяне на имейла',
|
|
18
|
+
'device.desktop': 'Компютър',
|
|
19
|
+
'device.desktopHint': 'Ширина за компютър',
|
|
20
|
+
'device.mobile': 'Телефон',
|
|
21
|
+
'device.mobileHint': 'Ширина за телефон',
|
|
22
|
+
'status.autosaveOn': 'автоматичното запазване е включено',
|
|
23
|
+
'status.saved': 'запазено {time}',
|
|
24
|
+
'status.saveFailed': 'не е запазено — хранилището е пълно',
|
|
25
|
+
'canvas.meta': '{rows} реда · {blocks} блока · {width}px',
|
|
26
|
+
'tab.design': 'Стил',
|
|
27
|
+
'tab.designHint': 'Стилизиране на избраното',
|
|
28
|
+
'tab.blocks': 'Блокове',
|
|
29
|
+
'tab.blocksHint': 'Блокове съдържание и променливи',
|
|
30
|
+
'tab.rows': 'Секции',
|
|
31
|
+
'tab.rowsHint': 'Оформления на секции и модел на платното',
|
|
32
|
+
'tab.files': 'Файлове',
|
|
33
|
+
'tab.filesHint': 'Библиотека с ресурси',
|
|
34
|
+
'tab.layers': 'Структура',
|
|
35
|
+
'tab.layersHint': 'Структура на документа',
|
|
36
|
+
'tab.settings': 'Настройки',
|
|
37
|
+
'tab.settingsHint': 'Настройки на имейла',
|
|
38
|
+
'tab.data': 'Промен.',
|
|
39
|
+
'tab.dataHint': 'Променливи, предоставени от вашия код',
|
|
40
|
+
'inspector.blockProperties': 'Свойства на блока',
|
|
41
|
+
'inspector.sectionProperties': 'Свойства на секцията',
|
|
42
|
+
'inspector.title': 'Инспектор',
|
|
43
|
+
'inspector.sectionLabel': 'Секция',
|
|
44
|
+
'inspector.nothingSelected': 'Нищо не е избрано',
|
|
45
|
+
'action.duplicateHint': 'Дублиране — ⌘D',
|
|
46
|
+
'action.deleteHint': 'Изтриване — ⌫',
|
|
47
|
+
'inspector.emptyBody':
|
|
48
|
+
'Изберете ред или блок на платното, за да го стилизирате тук. Плъзнете блокове от раздела <strong style="color: var(--ed-text); font-weight: 600;">Блокове</strong>; кликнете два пъти върху текст, за да го редактирате на място.',
|
|
49
|
+
'inspector.shortcuts': 'Клавишни комбинации',
|
|
50
|
+
'shortcut.undoRedo': '⌘Z / ⌘⇧Z — отмяна, повторение',
|
|
51
|
+
'shortcut.duplicate': '⌘D — дублиране на избора',
|
|
52
|
+
'shortcut.delete': '⌫ — изтриване на избора',
|
|
53
|
+
'shortcut.export': '⌘E — изнасяне на HTML',
|
|
54
|
+
'shortcut.escape': 'ESC — премахване на избора, затваряне',
|
|
55
|
+
'blocks.dragHint': 'Плъзнете върху платното',
|
|
56
|
+
'blocks.count': '{count} блока',
|
|
57
|
+
'rows.sectionLayouts': 'Оформления на секции',
|
|
58
|
+
'rows.customMarkup': 'Персонализирана маркировка',
|
|
59
|
+
'rows.htmlRowHint': 'Плъзнете, за да вмъкнете, или кликнете, за да добавите — ред на цялата ширина, който запълвате със суров HTML',
|
|
60
|
+
'rows.rawHtmlSection': 'Секция със суров HTML',
|
|
61
|
+
'rows.rawHtmlDesc': 'Секция на цялата ширина, ваша собствена маркировка, все още може да се плъзга',
|
|
62
|
+
'rows.canvasModel': 'Модел на платното',
|
|
63
|
+
'rows.modeRowBased': 'Базирано на редове',
|
|
64
|
+
'rows.modeFreeStack': 'Свободно подреждане',
|
|
65
|
+
'rows.hintRows':
|
|
66
|
+
'Базирано на секции: първо пуснете оформление, после блокове в неговите колони — всяка секция има собствен фон, рамка, flex или grid настройки.',
|
|
67
|
+
'rows.hintStack': 'Свободно подреждане: без оформления — всеки пуснат блок става собствена секция на цялата ширина, подредена по ред.',
|
|
68
|
+
'files.libraryCount': 'Библиотека — {count} файла',
|
|
69
|
+
'files.openManager': 'Отваряне на файловия мениджър',
|
|
70
|
+
'files.dragToCanvas': 'Плъзнете произволен файл директно върху платното, за да го поставите като блок с изображение.',
|
|
71
|
+
'layers.structure': 'Структура',
|
|
72
|
+
'layers.sectionSingle': 'Секция',
|
|
73
|
+
'layers.sectionMulti': 'Секция · {count} колони',
|
|
74
|
+
'layers.column': 'Колона {index}',
|
|
75
|
+
'layers.blockCount': '{count} бл.',
|
|
76
|
+
'vars.title': 'Променливи',
|
|
77
|
+
'vars.fromCode': '{count} от вашия код',
|
|
78
|
+
'vars.declaredNote': 'Декларирани от вашето приложение — платното винаги показва токена, никога стойност.',
|
|
79
|
+
'vars.filterPlaceholder': 'Филтриране на променливи…',
|
|
80
|
+
'vars.insertHint': 'Кликнете, за да вмъкнете в избрания текст, заглавие или бутон',
|
|
81
|
+
'vars.insert': 'вмъкване',
|
|
82
|
+
'vars.noMatch': 'Няма променлива, отговаряща на този филтър.',
|
|
83
|
+
'vars.noneDeclared': 'Вашето приложение все още не е декларирало променливи.',
|
|
84
|
+
'vars.rteHint': 'При редактиране на текст можете да изберете променлива и директно от падащото меню на вградената лента с инструменти.',
|
|
85
|
+
'modal.fileManager': 'Файлов мениджър',
|
|
86
|
+
'modal.assetsTitle': 'Ресурси',
|
|
87
|
+
'modal.replaceImage': 'Замяна на изображение',
|
|
88
|
+
'library.searchPlaceholder': 'Търсене на файлове…',
|
|
89
|
+
'action.upload': 'Качване',
|
|
90
|
+
'library.clickToPlace': 'Кликнете върху файл, за да го поставите · или плъзнете файл върху платното',
|
|
91
|
+
'library.clickToReplace': 'Кликнете върху файл, за да замените избраното изображение',
|
|
92
|
+
'library.storageLabel': '{count} файла · {size}',
|
|
93
|
+
'library.folders': 'Папки',
|
|
94
|
+
'library.dropHint': 'Пуснете файлове с изображения тук за качване — или използвайте бутона Качване.',
|
|
95
|
+
'library.deleteFileHint': 'Изтриване на файл',
|
|
96
|
+
'library.del': 'ИЗТР',
|
|
97
|
+
'toast.assetDeleted': '{name} изтрит',
|
|
98
|
+
'library.allFiles': 'Всички файлове',
|
|
99
|
+
'library.loadMore': 'Зареждане на още',
|
|
100
|
+
'library.empty': 'Тук още няма файлове.',
|
|
101
|
+
'storage.loading': 'Файловете се зареждат…',
|
|
102
|
+
'storage.uploading': 'Качване на {count}…',
|
|
103
|
+
'storage.errLoadFailed': 'Библиотеката с файлове не можа да се зареди — {reason}',
|
|
104
|
+
'storage.errNoLimits': 'Качването е изключено: това приложение не е задало ограничения за качване.',
|
|
105
|
+
'storage.errNoAccept': 'Качването е изключено: не са разрешени файлови формати.',
|
|
106
|
+
'storage.errNoMaxBytes': 'Качването е изключено: не е зададен максимален размер на файл.',
|
|
107
|
+
'storage.errTooLarge': '{name} е {size} — ограничението е {max}.',
|
|
108
|
+
'storage.errFormat': '{name} е файл от тип {type}, който не е разрешен тук.',
|
|
109
|
+
'storage.errSvg': '{name} е SVG, който това приложение не приема.',
|
|
110
|
+
'storage.errDimensions': '{name} е {w}×{ht}px — ограничението е {maxW}×{maxH}px.',
|
|
111
|
+
'storage.errTooMany': 'Наведнъж могат да се качат само {max} файла.',
|
|
112
|
+
'storage.errUnreadable': '{name} не е четимо изображение.',
|
|
113
|
+
'storage.errUploadFailed': '{name} не можа да бъде качен — {reason}',
|
|
114
|
+
'storage.errDeleteFailed': '{name} не можа да бъде изтрит — {reason}',
|
|
115
|
+
'modal.export': 'Изнасяне',
|
|
116
|
+
'modal.exportTitle': 'HTML на имейл, базиран на таблици',
|
|
117
|
+
'export.copy': 'Копиране',
|
|
118
|
+
'export.copied': 'Копирано',
|
|
119
|
+
'action.download': 'Изтегляне',
|
|
120
|
+
'export.meta': '{kb} KB · таблици + вградени стилове · ширини, безопасни за Outlook',
|
|
121
|
+
'modal.rawHtmlTitle': 'Суров HTML, преглед на живо',
|
|
122
|
+
'code.statusEdited': 'Изглед на кода — редактиран — преглед на живо, все още не е приложен',
|
|
123
|
+
'code.statusSynced': 'Изглед на кода — синхронизиран с платното',
|
|
124
|
+
'action.reload': 'Презареждане',
|
|
125
|
+
'action.reloadHint': 'Презареждане на изходния код от платното',
|
|
126
|
+
'action.applyToCanvas': 'Приложи върху платното',
|
|
127
|
+
'action.applyToCanvasHint': 'Анализиране на изходния код обратно в редактируеми редове',
|
|
128
|
+
'action.closeWithoutApplyingHint': 'Затваряне без прилагане',
|
|
129
|
+
'code.source': 'Изходен код',
|
|
130
|
+
'code.livePreview': 'Преглед на живо',
|
|
131
|
+
'code.liveHtmlPreviewTitle': 'Преглед на HTML на живо',
|
|
132
|
+
'code.applyNote':
|
|
133
|
+
'Прилагането анализира всеки ред на таблица от най-високо ниво в ред на платното, който все още можете да избирате, преподреждате и изтривате — ръчно написаната маркировка преминава непроменена.',
|
|
134
|
+
'code.meta': '{kb} KB · {lines} реда',
|
|
135
|
+
'toast.sourceReloaded': 'Изходният код е презареден от платното',
|
|
136
|
+
'toast.sourceAppliedOne': 'Изходният код е приложен — 1 ред на платното',
|
|
137
|
+
'toast.sourceAppliedMany': 'Изходният код е приложен — {rows} реда на платното',
|
|
138
|
+
'toast.parseError': 'Този HTML не можа да бъде анализиран',
|
|
139
|
+
'modal.aiDraft': 'Асистент за писане с ИИ',
|
|
140
|
+
'modal.aiDraftTitle': 'Напишете имейла си с изкуствен интелект',
|
|
141
|
+
'ai.disclosure': 'Изкуственият интелект създава предложения по вашето задание. Прегледайте и редактирайте резултата преди изпращане.',
|
|
142
|
+
'ai.goal': 'Цел',
|
|
143
|
+
'ai.tone': 'Тон',
|
|
144
|
+
'ai.briefLabel': 'За какво е този имейл?',
|
|
145
|
+
'ai.briefPlaceholder': 'напр. Есенна колекция, 15% за абонати, безплатна доставка над 150 лв',
|
|
146
|
+
'ai.generate': 'Генериране на текст',
|
|
147
|
+
'ai.writing': 'Пишем…',
|
|
148
|
+
'ai.kindHeadline': 'Заглавие',
|
|
149
|
+
'ai.kindBody': 'Основен текст',
|
|
150
|
+
'ai.kindButton': 'Текст на бутона',
|
|
151
|
+
'ai.actionInsertHeading': 'Вмъкни като заглавие',
|
|
152
|
+
'ai.actionInsertText': 'Вмъкни като текстов блок',
|
|
153
|
+
'ai.actionInsertButton': 'Вмъкни като бутон',
|
|
154
|
+
'toast.headingAdded': 'Заглавието е добавено',
|
|
155
|
+
'toast.textBlockAdded': 'Текстовият блок е добавен',
|
|
156
|
+
'toast.buttonAdded': 'Бутонът е добавен',
|
|
157
|
+
'preview.kickerMobile': 'Преглед — телефон 375px',
|
|
158
|
+
'preview.kickerDesktop': 'Преглед — компютър {width}px',
|
|
159
|
+
'action.close': 'Затваряне',
|
|
160
|
+
'toast.duplicated': 'Дублирано',
|
|
161
|
+
'toast.fileUploadedOne': 'Качен е 1 файл',
|
|
162
|
+
'toast.fileUploadedMany': 'Качени са {count} файла',
|
|
163
|
+
'toast.imageReplaced': 'Изображението е заменено',
|
|
164
|
+
'toast.imageAdded': 'Изображението е добавено към платното',
|
|
165
|
+
'toast.htmlCopied': 'HTML е копиран в клипборда',
|
|
166
|
+
'toast.templateLoaded': '{name} е зареден',
|
|
167
|
+
'toast.snippetDefaultLabel': 'Откъс',
|
|
168
|
+
'toast.snippetInserted': '{name} е вмъкнат',
|
|
169
|
+
'toast.snippetCopied': '{name} е копиран — изберете текстов блок, за да го вмъкнете',
|
|
170
|
+
'rte.textStyle': 'Стил на текста',
|
|
171
|
+
'rte.mergeTags': 'Полета за сливане',
|
|
172
|
+
'rte.noMergeTags': 'Няма налични полета за сливане',
|
|
173
|
+
'rte.textColor': 'Цвят на текста',
|
|
174
|
+
'rte.highlightColor': 'Цвят на маркиране',
|
|
175
|
+
'rte.removeHighlight': 'Премахване на маркирането',
|
|
176
|
+
'rte.clearFormatting': 'Изчистване на форматирането',
|
|
177
|
+
'action.downloadPng': 'Изтегляне на PNG',
|
|
178
|
+
'action.screenshot': 'Екранна снимка',
|
|
179
|
+
'action.screenshotHint': 'Прегледайте целия шаблон като изображение и го изтеглете',
|
|
180
|
+
'toast.pngSaved': 'Екранната снимка е изтеглена',
|
|
181
|
+
'toast.pngFailed': 'Екранната снимка се провали — външно изображение не можа да се зареди',
|
|
182
|
+
'toast.pngCopied': 'Екранната снимка е копирана в клипборда',
|
|
183
|
+
'toast.pngCopyFailed': 'Този браузър не прие изображение в клипборда',
|
|
184
|
+
'story.kicker': 'Екранна снимка',
|
|
185
|
+
'story.rendering': 'Екранната снимка се изготвя',
|
|
186
|
+
'story.renderingHint': 'Всеки блок се рисува при 2× — при дълъг шаблон отнема момент.',
|
|
187
|
+
'story.failed': 'Екранната снимка се провали',
|
|
188
|
+
'story.failedHint': 'Изображение в шаблона не можа да се зареди за заснемане.',
|
|
189
|
+
'story.retry': 'Опитайте отново',
|
|
190
|
+
'story.play': 'Пускане',
|
|
191
|
+
'story.pause': 'Пауза',
|
|
192
|
+
'story.replay': 'Отначало',
|
|
193
|
+
'story.copy': 'Копиране',
|
|
194
|
+
'story.meta': '{w}×{h} · екран {i} от {n}',
|
|
195
|
+
'footer.poweredBy': 'С технологията на SELISE Blocks © 2026',
|
|
196
|
+
};
|