@seliseblocks/mailcraft 0.1.0 → 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 +240 -12
- 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 +242 -23
- 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/cs.js
CHANGED
|
@@ -1,152 +1,196 @@
|
|
|
1
|
-
/** Czech (Čeština) — `cs`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
|
|
2
|
-
export const CS = {
|
|
3
|
-
'action.undoHint': 'Zpět — ⌘Z',
|
|
4
|
-
'action.redoHint': 'Znovu — ⌘⇧Z',
|
|
5
|
-
'action.chromeToDark': 'Tmavý',
|
|
6
|
-
'action.chromeToLight': 'Světlý',
|
|
7
|
-
'action.chromeHint': 'Motiv editoru světlý / tmavý',
|
|
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
|
+
/** Czech (Čeština) — `cs`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
|
|
2
|
+
export const CS = {
|
|
3
|
+
'action.undoHint': 'Zpět — ⌘Z',
|
|
4
|
+
'action.redoHint': 'Znovu — ⌘⇧Z',
|
|
5
|
+
'action.chromeToDark': 'Tmavý',
|
|
6
|
+
'action.chromeToLight': 'Světlý',
|
|
7
|
+
'action.chromeHint': 'Motiv editoru světlý / tmavý',
|
|
8
|
+
'action.chromeHintToDark': 'Tmavý režim',
|
|
9
|
+
'action.chromeHintToLight': 'Světlý režim',
|
|
10
|
+
'action.aiDraft': 'Návrh',
|
|
11
|
+
'action.aiDraftHint': 'Napsat obsah e-mailu pomocí AI',
|
|
12
|
+
'action.code': 'Kód',
|
|
13
|
+
'action.codeHint': 'Upravit surové HTML s živým náhledem',
|
|
14
|
+
'action.preview': 'Náhled',
|
|
15
|
+
'action.previewHint': 'Náhled e-mailu',
|
|
16
|
+
'action.export': 'Exportovat',
|
|
17
|
+
'action.exportHint': 'Exportovat váš e-mail',
|
|
18
|
+
'device.desktop': 'Počítač',
|
|
19
|
+
'device.desktopHint': 'Šířka pro počítač',
|
|
20
|
+
'device.mobile': 'Mobil',
|
|
21
|
+
'device.mobileHint': 'Šířka pro mobil',
|
|
22
|
+
'status.autosaveOn': 'automatické ukládání zapnuto',
|
|
23
|
+
'status.saved': 'uloženo {time}',
|
|
24
|
+
'status.saveFailed': 'neuloženo — úložiště je plné',
|
|
25
|
+
'canvas.meta': '{rows} řádků · {blocks} bloků · {width}px',
|
|
26
|
+
'tab.design': 'Styl',
|
|
27
|
+
'tab.designHint': 'Stylovat výběr',
|
|
28
|
+
'tab.blocks': 'Bloky',
|
|
29
|
+
'tab.blocksHint': 'Bloky obsahu a proměnné',
|
|
30
|
+
'tab.rows': 'Sekce',
|
|
31
|
+
'tab.rowsHint': 'Rozvržení sekcí a model plátna',
|
|
32
|
+
'tab.files': 'Soubory',
|
|
33
|
+
'tab.filesHint': 'Knihovna souborů',
|
|
34
|
+
'tab.layers': 'Struktura',
|
|
35
|
+
'tab.layersHint': 'Struktura dokumentu',
|
|
36
|
+
'tab.settings': 'Nastavení',
|
|
37
|
+
'tab.settingsHint': 'Nastavení e-mailu',
|
|
38
|
+
'tab.data': 'Prom.',
|
|
39
|
+
'tab.dataHint': 'Proměnné poskytnuté vaším kódem',
|
|
40
|
+
'inspector.blockProperties': 'Vlastnosti bloku',
|
|
41
|
+
'inspector.sectionProperties': 'Vlastnosti sekce',
|
|
42
|
+
'inspector.title': 'Inspektor',
|
|
43
|
+
'inspector.sectionLabel': 'Sekce',
|
|
44
|
+
'inspector.nothingSelected': 'Nic není vybráno',
|
|
45
|
+
'action.duplicateHint': 'Duplikovat — ⌘D',
|
|
46
|
+
'action.deleteHint': 'Smazat — ⌫',
|
|
47
|
+
'inspector.emptyBody':
|
|
48
|
+
'Vyberte řádek nebo blok na plátně a stylujte jej zde. Přetáhněte bloky z karty <strong style="color: var(--ed-text); font-weight: 600;">Bloky</strong>; dvojklikem na text jej upravíte přímo na místě.',
|
|
49
|
+
'inspector.shortcuts': 'Zkratky',
|
|
50
|
+
'shortcut.undoRedo': '⌘Z / ⌘⇧Z — zpět, znovu',
|
|
51
|
+
'shortcut.duplicate': '⌘D — duplikovat výběr',
|
|
52
|
+
'shortcut.delete': '⌫ — smazat výběr',
|
|
53
|
+
'shortcut.export': '⌘E — exportovat HTML',
|
|
54
|
+
'shortcut.escape': 'ESC — zrušit výběr, zavřít',
|
|
55
|
+
'blocks.dragHint': 'Přetáhněte na plátno',
|
|
56
|
+
'blocks.count': '{count} bloků',
|
|
57
|
+
'rows.sectionLayouts': 'Rozvržení sekcí',
|
|
58
|
+
'rows.customMarkup': 'Vlastní kód',
|
|
59
|
+
'rows.htmlRowHint': 'Přetáhněte pro vložení nebo klikněte pro přidání — řádek na celou šířku, který vyplníte surovým HTML',
|
|
60
|
+
'rows.rawHtmlSection': 'Sekce se surovým HTML',
|
|
61
|
+
'rows.rawHtmlDesc': 'Sekce na celou šířku, váš vlastní kód, stále přetažitelná',
|
|
62
|
+
'rows.canvasModel': 'Model plátna',
|
|
63
|
+
'rows.modeRowBased': 'Založeno na řádcích',
|
|
64
|
+
'rows.modeFreeStack': 'Volný zásobník',
|
|
65
|
+
'rows.hintRows':
|
|
66
|
+
'Založeno na sekcích: nejprve umístěte rozvržení, poté bloky do jeho sloupců — každá sekce má vlastní pozadí, ohraničení, nastavení flex nebo mřížky.',
|
|
67
|
+
'rows.hintStack': 'Volný zásobník: bez rozvržení — každý umístěný blok se stane vlastní sekcí na celou šířku, seřazenou postupně.',
|
|
68
|
+
'files.libraryCount': 'Knihovna — {count} souborů',
|
|
69
|
+
'files.openManager': 'Otevřít správce souborů',
|
|
70
|
+
'files.dragToCanvas': 'Přetáhněte libovolný soubor přímo na plátno a umístěte jej jako obrazový blok.',
|
|
71
|
+
'layers.structure': 'Struktura',
|
|
72
|
+
'layers.sectionSingle': 'Sekce',
|
|
73
|
+
'layers.sectionMulti': 'Sekce · {count} sloupců',
|
|
74
|
+
'layers.column': 'Sloupec {index}',
|
|
75
|
+
'layers.blockCount': '{count} bl.',
|
|
76
|
+
'vars.title': 'Proměnné',
|
|
77
|
+
'vars.fromCode': '{count} z vašeho kódu',
|
|
78
|
+
'vars.declaredNote': 'Deklarované vaší aplikací — plátno vždy zobrazuje token, nikdy hodnotu.',
|
|
79
|
+
'vars.filterPlaceholder': 'Filtrovat proměnné…',
|
|
80
|
+
'vars.insertHint': 'Klikněte pro vložení do vybraného textu, nadpisu nebo tlačítka',
|
|
81
|
+
'vars.insert': 'vložit',
|
|
82
|
+
'vars.noMatch': 'Žádná proměnná neodpovídá tomuto filtru.',
|
|
83
|
+
'vars.noneDeclared': 'Vaše aplikace zatím nedeklarovala žádné proměnné.',
|
|
84
|
+
'vars.rteHint': 'Při úpravě textu můžete proměnnou vybrat i přímo z rozbalovací nabídky vloženého panelu nástrojů.',
|
|
85
|
+
'modal.fileManager': 'Správce souborů',
|
|
86
|
+
'modal.assetsTitle': 'Zdroje',
|
|
87
|
+
'modal.replaceImage': 'Nahradit obrázek',
|
|
88
|
+
'library.searchPlaceholder': 'Hledat soubory…',
|
|
89
|
+
'action.upload': 'Nahrát',
|
|
90
|
+
'library.clickToPlace': 'Klikněte na soubor pro umístění · nebo přetáhněte soubor na plátno',
|
|
91
|
+
'library.clickToReplace': 'Klikněte na soubor pro nahrazení vybraného obrázku',
|
|
92
|
+
'library.storageLabel': '{count} souborů · {size}',
|
|
93
|
+
'library.folders': 'Složky',
|
|
94
|
+
'library.dropHint': 'Sem přetáhněte obrázkové soubory pro nahrání — nebo použijte tlačítko Nahrát.',
|
|
95
|
+
'library.deleteFileHint': 'Smazat soubor',
|
|
96
|
+
'library.del': 'SMAZ',
|
|
97
|
+
'toast.assetDeleted': '{name} smazán',
|
|
98
|
+
'library.allFiles': 'Všechny soubory',
|
|
99
|
+
'library.loadMore': 'Načíst další',
|
|
100
|
+
'library.empty': 'Zatím tu nejsou žádné soubory.',
|
|
101
|
+
'storage.loading': 'Načítání souborů…',
|
|
102
|
+
'storage.uploading': 'Nahrávání {count}…',
|
|
103
|
+
'storage.errLoadFailed': 'Knihovnu souborů se nepodařilo načíst — {reason}',
|
|
104
|
+
'storage.errNoLimits': 'Nahrávání je vypnuté: tato aplikace nenastavila žádné limity nahrávání.',
|
|
105
|
+
'storage.errNoAccept': 'Nahrávání je vypnuté: nebyl povolen žádný formát souboru.',
|
|
106
|
+
'storage.errNoMaxBytes': 'Nahrávání je vypnuté: není nastavena maximální velikost souboru.',
|
|
107
|
+
'storage.errTooLarge': '{name} má {size} — limit je {max}.',
|
|
108
|
+
'storage.errFormat': '{name} je soubor typu {type}, který tu není povolen.',
|
|
109
|
+
'storage.errSvg': '{name} je SVG, které tato aplikace nepřijímá.',
|
|
110
|
+
'storage.errDimensions': '{name} má {w}×{ht}px — limit je {maxW}×{maxH}px.',
|
|
111
|
+
'storage.errTooMany': 'Najednou lze nahrát jen {max} souborů.',
|
|
112
|
+
'storage.errUnreadable': '{name} není čitelný obrázek.',
|
|
113
|
+
'storage.errUploadFailed': '{name} se nepodařilo nahrát — {reason}',
|
|
114
|
+
'storage.errDeleteFailed': '{name} se nepodařilo smazat — {reason}',
|
|
115
|
+
'modal.export': 'Exportovat',
|
|
116
|
+
'modal.exportTitle': 'HTML e-mailu založené na tabulkách',
|
|
117
|
+
'export.copy': 'Kopírovat',
|
|
118
|
+
'export.copied': 'Zkopírováno',
|
|
119
|
+
'action.download': 'Stáhnout',
|
|
120
|
+
'export.meta': '{kb} KB · tabulky + vložené styly · šířky bezpečné pro Outlook',
|
|
121
|
+
'modal.rawHtmlTitle': 'Surové HTML, živý náhled',
|
|
122
|
+
'code.statusEdited': 'Zobrazení kódu — upraveno — náhled živě, zatím neaplikováno',
|
|
123
|
+
'code.statusSynced': 'Zobrazení kódu — synchronizováno s plátnem',
|
|
124
|
+
'action.reload': 'Znovu načíst',
|
|
125
|
+
'action.reloadHint': 'Znovu načíst zdroj z plátna',
|
|
126
|
+
'action.applyToCanvas': 'Použít na plátno',
|
|
127
|
+
'action.applyToCanvasHint': 'Znovu rozebrat zdroj na editovatelné řádky',
|
|
128
|
+
'action.closeWithoutApplyingHint': 'Zavřít bez použití',
|
|
129
|
+
'code.source': 'Zdroj',
|
|
130
|
+
'code.livePreview': 'Živý náhled',
|
|
131
|
+
'code.liveHtmlPreviewTitle': 'Živý náhled HTML',
|
|
132
|
+
'code.applyNote':
|
|
133
|
+
'Použití rozebere každý řádek tabulky nejvyšší úrovně do řádku plátna, který lze stále vybírat, přeuspořádávat a mazat — ručně psaný kód proces přežije beze změny.',
|
|
134
|
+
'code.meta': '{kb} KB · {lines} řádků',
|
|
135
|
+
'toast.sourceReloaded': 'Zdroj znovu načten z plátna',
|
|
136
|
+
'toast.sourceAppliedOne': 'Zdroj použit — 1 řádek na plátně',
|
|
137
|
+
'toast.sourceAppliedMany': 'Zdroj použit — {rows} řádků na plátně',
|
|
138
|
+
'toast.parseError': 'Toto HTML se nepodařilo rozebrat',
|
|
139
|
+
'modal.aiDraft': 'Asistent psaní s AI',
|
|
140
|
+
'modal.aiDraftTitle': 'Napište svůj e-mail pomocí AI',
|
|
141
|
+
'ai.disclosure': 'AI vytváří návrhy podle vašeho zadání. Před odesláním výsledek zkontrolujte a upravte.',
|
|
142
|
+
'ai.goal': 'Cíl',
|
|
143
|
+
'ai.tone': 'Tón',
|
|
144
|
+
'ai.briefLabel': 'O čem tento e-mail je?',
|
|
145
|
+
'ai.briefPlaceholder': 'např. Podzimní kolekce, 15 % pro odběratele, doprava zdarma nad 150 €',
|
|
146
|
+
'ai.generate': 'Vygenerovat text',
|
|
147
|
+
'ai.writing': 'Píše se…',
|
|
148
|
+
'ai.kindHeadline': 'Nadpis',
|
|
149
|
+
'ai.kindBody': 'Hlavní text',
|
|
150
|
+
'ai.kindButton': 'Text tlačítka',
|
|
151
|
+
'ai.actionInsertHeading': 'Vložit jako nadpis',
|
|
152
|
+
'ai.actionInsertText': 'Vložit jako textový blok',
|
|
153
|
+
'ai.actionInsertButton': 'Vložit jako tlačítko',
|
|
154
|
+
'toast.headingAdded': 'Nadpis přidán',
|
|
155
|
+
'toast.textBlockAdded': 'Textový blok přidán',
|
|
156
|
+
'toast.buttonAdded': 'Tlačítko přidáno',
|
|
157
|
+
'preview.kickerMobile': 'Náhled — mobil 375px',
|
|
158
|
+
'preview.kickerDesktop': 'Náhled — počítač {width}px',
|
|
159
|
+
'action.close': 'Zavřít',
|
|
160
|
+
'toast.duplicated': 'Duplikováno',
|
|
161
|
+
'toast.fileUploadedOne': 'Nahrán 1 soubor',
|
|
162
|
+
'toast.fileUploadedMany': 'Nahráno souborů: {count}',
|
|
163
|
+
'toast.imageReplaced': 'Obrázek nahrazen',
|
|
164
|
+
'toast.imageAdded': 'Obrázek přidán na plátno',
|
|
165
|
+
'toast.htmlCopied': 'HTML zkopírováno do schránky',
|
|
166
|
+
'toast.templateLoaded': '{name} načteno',
|
|
167
|
+
'toast.snippetDefaultLabel': 'Úryvek',
|
|
168
|
+
'toast.snippetInserted': '{name} vloženo',
|
|
169
|
+
'toast.snippetCopied': '{name} zkopírováno — vyberte textový blok pro vložení',
|
|
170
|
+
'rte.textStyle': 'Styl textu',
|
|
171
|
+
'rte.mergeTags': 'Slučovací pole',
|
|
172
|
+
'rte.noMergeTags': 'Nejsou k dispozici žádná slučovací pole',
|
|
173
|
+
'rte.textColor': 'Barva textu',
|
|
174
|
+
'rte.highlightColor': 'Barva zvýraznění',
|
|
175
|
+
'rte.removeHighlight': 'Odebrat zvýraznění',
|
|
176
|
+
'rte.clearFormatting': 'Zrušit formátování',
|
|
177
|
+
'action.downloadPng': 'Stáhnout PNG',
|
|
178
|
+
'action.screenshot': 'Snímek',
|
|
179
|
+
'action.screenshotHint': 'Zobrazit celou šablonu jako obrázek a stáhnout ji',
|
|
180
|
+
'toast.pngSaved': 'Snímek stažen',
|
|
181
|
+
'toast.pngFailed': 'Snímek se nezdařil — externí obrázek se nepodařilo načíst',
|
|
182
|
+
'toast.pngCopied': 'Snímek zkopírován do schránky',
|
|
183
|
+
'toast.pngCopyFailed': 'Tento prohlížeč nepřijal obrázek do schránky',
|
|
184
|
+
'story.kicker': 'Snímek',
|
|
185
|
+
'story.rendering': 'Vykreslování snímku',
|
|
186
|
+
'story.renderingHint': 'Každý blok se kreslí ve 2× — u dlouhé šablony to chvíli trvá.',
|
|
187
|
+
'story.failed': 'Snímek se nezdařil',
|
|
188
|
+
'story.failedHint': 'Obrázek v šabloně se nepodařilo načíst pro zachycení.',
|
|
189
|
+
'story.retry': 'Zkusit znovu',
|
|
190
|
+
'story.play': 'Přehrát',
|
|
191
|
+
'story.pause': 'Pozastavit',
|
|
192
|
+
'story.replay': 'Přehrát znovu',
|
|
193
|
+
'story.copy': 'Kopírovat',
|
|
194
|
+
'story.meta': '{w}×{h} · obrazovka {i} z {n}',
|
|
195
|
+
'footer.poweredBy': 'Běží na SELISE Blocks © 2026',
|
|
196
|
+
};
|