@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.
Files changed (69) hide show
  1. package/DOCS.md +240 -12
  2. package/README.md +11 -3
  3. package/README.md.txt +134 -0
  4. package/dist/mailcraft-editor.bundle.js +51 -39
  5. package/dist/mailcraft-editor.bundle.js.map +3 -3
  6. package/examples/templates/order-confirmed.html +80 -80
  7. package/examples/vanilla.html +242 -23
  8. package/package.json +7 -2
  9. package/src/core/assets.js +10 -15
  10. package/src/core/binder.js +120 -118
  11. package/src/core/blocks.js +14 -1
  12. package/src/core/css-cascade.js +117 -117
  13. package/src/core/editor-core.js +1530 -1492
  14. package/src/core/export.js +142 -55
  15. package/src/core/i18n/ar.js +219 -177
  16. package/src/core/i18n/bg.js +196 -152
  17. package/src/core/i18n/bn.js +218 -176
  18. package/src/core/i18n/ca.js +196 -152
  19. package/src/core/i18n/cs.js +196 -152
  20. package/src/core/i18n/da.js +196 -152
  21. package/src/core/i18n/de-CH.js +196 -152
  22. package/src/core/i18n/de.js +196 -152
  23. package/src/core/i18n/dz.js +221 -179
  24. package/src/core/i18n/el.js +196 -152
  25. package/src/core/i18n/en.js +3 -10
  26. package/src/core/i18n/es.js +196 -152
  27. package/src/core/i18n/et.js +196 -152
  28. package/src/core/i18n/fi.js +196 -152
  29. package/src/core/i18n/fr.js +196 -152
  30. package/src/core/i18n/hr.js +196 -152
  31. package/src/core/i18n/hu.js +196 -152
  32. package/src/core/i18n/index.js +83 -83
  33. package/src/core/i18n/it.js +196 -152
  34. package/src/core/i18n/lt.js +196 -152
  35. package/src/core/i18n/lv.js +196 -152
  36. package/src/core/i18n/nb.js +196 -152
  37. package/src/core/i18n/nl.js +196 -152
  38. package/src/core/i18n/pl.js +196 -152
  39. package/src/core/i18n/pt.js +196 -152
  40. package/src/core/i18n/ro.js +196 -152
  41. package/src/core/i18n/ru.js +196 -152
  42. package/src/core/i18n/sk.js +196 -152
  43. package/src/core/i18n/sl.js +196 -152
  44. package/src/core/i18n/sv.js +196 -152
  45. package/src/core/i18n/tables.js +50 -50
  46. package/src/core/i18n/tr.js +196 -152
  47. package/src/core/i18n/uk.js +196 -152
  48. package/src/core/icons.js +237 -235
  49. package/src/core/ids.js +1 -1
  50. package/src/core/import-html.js +1025 -959
  51. package/src/core/layout-style.js +100 -100
  52. package/src/core/parse.js +10 -10
  53. package/src/core/placeholder.js +15 -15
  54. package/src/core/sanitize.js +141 -141
  55. package/src/core/storage-limits.js +184 -184
  56. package/src/core/storage.js +85 -85
  57. package/src/core/theme.js +1 -1
  58. package/src/core/variables.js +11 -11
  59. package/src/index.js +9 -9
  60. package/src/mailcraft-editor.js +26 -14
  61. package/src/render/block-body.js +49 -6
  62. package/src/render/canvas.js +31 -2
  63. package/src/render/fields.js +602 -588
  64. package/src/render/focus-preserve.js +158 -158
  65. package/src/render/rte.js +241 -212
  66. package/src/render/screenshot.js +132 -132
  67. package/src/render/story.js +415 -415
  68. package/src/render/style.js +8 -0
  69. package/types/index.d.ts +419 -0
@@ -1,152 +1,196 @@
1
- /** Slovenian (Slovenščina) — `sl`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
2
- export const SL = {
3
- 'action.undoHint': 'Razveljavi — ⌘Z',
4
- 'action.redoHint': 'Ponovi — ⌘⇧Z',
5
- 'action.chromeToDark': 'Temno',
6
- 'action.chromeToLight': 'Svetlo',
7
- 'action.chromeHint': 'Tema urejevalnika svetla / temna',
8
- 'action.aiCopy': 'Besedilo',
9
- 'action.aiCopyHint': 'Napiši besedilo z UI',
10
- 'action.code': 'Koda',
11
- 'action.codeHint': 'Uredi surovi HTML z ogledom v živo',
12
- 'action.preview': 'Predogled',
13
- 'action.export': 'Izvozi',
14
- 'device.desktop': 'Namizje',
15
- 'device.desktopHint': 'Širina za namizje',
16
- 'device.mobile': 'Mobilna naprava',
17
- 'device.mobileHint': 'Širina za mobilno napravo',
18
- 'device.dark': 'Temno',
19
- 'device.darkHint': 'Temen način nabiralnika',
20
- 'status.autosaveOn': 'samodejno shranjevanje vklopljeno',
21
- 'status.saved': 'shranjeno {time}',
22
- 'status.saveFailed': 'ni shranjeno — pomnilnik je poln',
23
- 'canvas.meta': '{rows} vrstic · {blocks} blokov · {width}px',
24
- 'tab.design': 'Slog',
25
- 'tab.designHint': 'Oblikuj izbor',
26
- 'tab.blocks': 'Bloki',
27
- 'tab.blocksHint': 'Vsebinski bloki in spremenljivke',
28
- 'tab.rows': 'Odseki',
29
- 'tab.rowsHint': 'Postavitve odsekov in model platna',
30
- 'tab.files': 'Datoteke',
31
- 'tab.filesHint': 'Knjižnica virov',
32
- 'tab.layers': 'Struktura',
33
- 'tab.layersHint': 'Struktura dokumenta',
34
- 'tab.theme': 'Tema',
35
- 'tab.themeHint': 'Globalni slogi',
36
- 'tab.data': 'Spr.',
37
- 'tab.dataHint': 'Spremenljivke, ki jih zagotavlja vaša koda',
38
- 'inspector.blockProperties': 'Lastnosti bloka',
39
- 'inspector.sectionProperties': 'Lastnosti odseka',
40
- 'inspector.title': 'Inšpektor',
41
- 'inspector.sectionLabel': 'Odsek',
42
- 'inspector.nothingSelected': 'Nič ni izbrano',
43
- 'action.duplicateHint': 'Podvoji — ⌘D',
44
- 'action.deleteHint': 'Izbriši ',
45
- 'inspector.emptyBody':
46
- 'Izberite vrstico ali blok na platnu, da ga oblikujete tukaj. Povlecite bloke iz zavihka <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; dvokliknite besedilo za urejanje na mestu.',
47
- 'inspector.shortcuts': 'Bližnjice',
48
- 'shortcut.undoRedo': '⌘Z / ⌘⇧Z razveljavi, ponovi',
49
- 'shortcut.duplicate': '⌘D — podvoji izbor',
50
- 'shortcut.delete': 'izbriši izbor',
51
- 'shortcut.export': '⌘Eizvozi HTML',
52
- 'shortcut.escape': 'ESCprekliči izbor, zapri',
53
- 'blocks.dragHint': 'Povlecite na platno',
54
- 'blocks.count': '{count} blokov',
55
- 'rows.sectionLayouts': 'Postavitve odsekov',
56
- 'rows.customMarkup': 'Lastna koda',
57
- 'rows.htmlRowHint': 'Povlecite za vstavitev ali kliknite za dodajanje — vrstica čez celo širino, ki jo zapolnite s surovim HTML-jem',
58
- 'rows.rawHtmlSection': 'Odsek s surovim HTML-jem',
59
- 'rows.rawHtmlDesc': 'Odsek čez celo širino, vaša lastna koda, še vedno vlečljiv',
60
- 'rows.canvasModel': 'Model platna',
61
- 'rows.modeRowBased': 'Temelji na vrsticah',
62
- 'rows.modeFreeStack': 'Prosti sklad',
63
- 'rows.hintRows':
64
- 'Temelji na odsekih: najprej spustite postavitev, nato bloke v njene stolpce — vsak odsek ima lastno ozadje, rob, nastavitve flex ali mreže.',
65
- 'rows.hintStack': 'Prosti sklad: brez postavitev — vsak spuščen blok postane lasten odsek čez celo širino, zložen po vrsti.',
66
- 'files.libraryCount': 'Knjižnica{count} datotek',
67
- 'files.openManager': 'Odpri upravitelja datotek',
68
- 'files.dragToCanvas': 'Povlecite katero koli datoteko neposredno na platno, da jo postavite kot slikovni blok.',
69
- 'layers.structure': 'Struktura',
70
- 'layers.sectionSingle': 'Odsek',
71
- 'layers.sectionMulti': 'Odsek · {count} stolpcev',
72
- 'layers.blockCount': '{count} bl.',
73
- 'theme.globalStyles': 'Globalni slogi',
74
- 'vars.title': 'Spremenljivke',
75
- 'vars.fromCode': '{count} iz vaše kode',
76
- 'vars.declaredNote': 'Deklarirane s strani vaše aplikacije — platno vedno prikaže žeton, nikoli vrednosti.',
77
- 'vars.filterPlaceholder': 'Filtriraj spremenljivke…',
78
- 'vars.insertHint': 'Kliknite za vstavitev v izbrano besedilo, naslov ali gumb',
79
- 'vars.insert': 'vstavi',
80
- 'vars.noMatch': 'Nobena spremenljivka ne ustreza temu filtru.',
81
- 'vars.noneDeclared': 'Vaša aplikacija še ni deklarirala nobenih spremenljivk.',
82
- 'vars.rteHint': 'Med urejanjem besedila lahko spremenljivko izberete tudi neposredno iz spustnega menija vgrajene orodne vrstice.',
83
- 'modal.fileManager': 'Upravitelj datotek',
84
- 'modal.assetsTitle': 'Viri',
85
- 'modal.replaceImage': 'Zamenjaj sliko',
86
- 'library.searchPlaceholder': 'Iskanje datotek…',
87
- 'action.upload': 'Naloži',
88
- 'library.clickToPlace': 'Kliknite datoteko za postavitev · ali povlecite datoteko na platno',
89
- 'library.clickToReplace': 'Kliknite datoteko za zamenjavo izbrane slike',
90
- 'library.storageLabel': '{count} datotek · {size}',
91
- 'library.folders': 'Mape',
92
- 'library.dropHint': 'Sem spustite slikovne datoteke za nalaganje — ali uporabite gumb Naloži.',
93
- 'library.deleteFileHint': 'Izbriši datoteko',
94
- 'library.del': 'IZBR',
95
- 'toast.assetDeleted': '{name} izbrisano',
96
- 'modal.export': 'Izvozi',
97
- 'modal.exportTitle': 'HTML e-pošte na osnovi tabel',
98
- 'export.copy': 'Kopiraj',
99
- 'export.copied': 'Kopirano',
100
- 'action.download': 'Prenesi',
101
- 'export.meta': '{kb} KB · tabele + vgrajeni slogi · širine, varne za Outlook',
102
- 'modal.rawHtmlTitle': 'Surovi HTML, ogled v živo',
103
- 'code.statusEdited': 'Pogled kode urejeno ogled v živo, še ni uporabljeno',
104
- 'code.statusSynced': 'Pogled kode usklajeno s platnom',
105
- 'action.reload': 'Znova naloži',
106
- 'action.reloadHint': 'Znova naloži vir s platna',
107
- 'action.applyToCanvas': 'Uporabi na platnu',
108
- 'action.applyToCanvasHint': 'Znova razčleni vir v uredljive vrstice',
109
- 'action.closeWithoutApplyingHint': 'Zapri brez uporabe',
110
- 'code.source': 'Vir',
111
- 'code.livePreview': 'Ogled v živo',
112
- 'code.liveHtmlPreviewTitle': 'Ogled HTML v živo',
113
- 'code.applyNote':
114
- 'Uporabi razčleni vsako vrstico tabele najvišje ravni v vrstico platna, ki jo lahko še vedno izberete, prerazporedite in izbrišete ročno napisana koda postopek preživi nespremenjena.',
115
- 'code.meta': '{kb} KB · {lines} vrstic',
116
- 'toast.sourceReloaded': 'Vir znova naložen s platna',
117
- 'toast.sourceAppliedOne': 'Vir uporabljen — 1 vrstica na platnu',
118
- 'toast.sourceAppliedMany': 'Vir uporabljen — {rows} vrstic na platnu',
119
- 'toast.parseError': 'Tega HTML-ja ni bilo mogoče razčleniti',
120
- 'modal.copyAssist': 'Pomočnik za besedilo',
121
- 'modal.draftCopyTitle': 'Napiši besedilo za to kampanjo',
122
- 'ai.goal': 'Cilj',
123
- 'ai.tone': 'Ton',
124
- 'ai.briefLabel': 'O čem govori ta e-pošta?',
125
- 'ai.briefPlaceholder': 'npr. jesenska kolekcija, 15 % za naročnike, brezplačna dostava nad 150 €',
126
- 'ai.generate': 'Ustvari besedilo',
127
- 'ai.writing': 'Pisanje…',
128
- 'ai.kindHeadline': 'Naslov',
129
- 'ai.kindBody': 'Glavno besedilo',
130
- 'ai.kindButton': 'Besedilo gumba',
131
- 'ai.actionInsertHeading': 'Vstavi kot naslov',
132
- 'ai.actionInsertText': 'Vstavi kot besedilni blok',
133
- 'ai.actionInsertButton': 'Vstavi kot gumb',
134
- 'toast.headingAdded': 'Naslov dodan',
135
- 'toast.textBlockAdded': 'Besedilni blok dodan',
136
- 'toast.buttonAdded': 'Gumb dodan',
137
- 'preview.kickerMobile': 'Predogledmobilna naprava 375px',
138
- 'preview.kickerDark': 'Predogled temen nabiralnik',
139
- 'preview.kickerDesktop': 'Predogled namizje {width}px',
140
- 'action.close': 'Zapri',
141
- 'toast.duplicated': 'Podvojeno',
142
- 'toast.fileUploadedOne': 'Naložena 1 datoteka',
143
- 'toast.fileUploadedMany': 'Naloženih {count} datotek',
144
- 'toast.imageReplaced': 'Slika zamenjana',
145
- 'toast.imageAdded': 'Slika dodana na platno',
146
- 'toast.htmlCopied': 'HTML kopiran v odložišče',
147
- 'toast.templateLoaded': '{name} naloženo',
148
- 'toast.snippetDefaultLabel': 'Odlomek',
149
- 'toast.snippetInserted': '{name} vstavljeno',
150
- 'toast.snippetCopied': '{name} kopirano — izberite besedilni blok za vstavitev',
151
- };
152
-
1
+ /** Slovenian (Slovenščina) — `sl`. AI-drafted, not reviewed by a native speaker. Correctable one key at a time via `.messages` overrides. */
2
+ export const SL = {
3
+ 'action.undoHint': 'Razveljavi — ⌘Z',
4
+ 'action.redoHint': 'Ponovi — ⌘⇧Z',
5
+ 'action.chromeToDark': 'Temno',
6
+ 'action.chromeToLight': 'Svetlo',
7
+ 'action.chromeHint': 'Tema urejevalnika svetla / temna',
8
+ 'action.chromeHintToDark': 'Temni način',
9
+ 'action.chromeHintToLight': 'Svetli način',
10
+ 'action.aiDraft': 'Osnutek',
11
+ 'action.aiDraftHint': 'Napiši vsebino e-pošte z UI',
12
+ 'action.code': 'Koda',
13
+ 'action.codeHint': 'Uredi surovi HTML z ogledom v živo',
14
+ 'action.preview': 'Predogled',
15
+ 'action.previewHint': 'Predogled e-pošte',
16
+ 'action.export': 'Izvozi',
17
+ 'action.exportHint': 'Izvozi svojo e-pošto',
18
+ 'device.desktop': 'Namizje',
19
+ 'device.desktopHint': 'Širina za namizje',
20
+ 'device.mobile': 'Mobilna naprava',
21
+ 'device.mobileHint': 'Širina za mobilno napravo',
22
+ 'status.autosaveOn': 'samodejno shranjevanje vklopljeno',
23
+ 'status.saved': 'shranjeno {time}',
24
+ 'status.saveFailed': 'ni shranjeno — pomnilnik je poln',
25
+ 'canvas.meta': '{rows} vrstic · {blocks} blokov · {width}px',
26
+ 'tab.design': 'Slog',
27
+ 'tab.designHint': 'Oblikuj izbor',
28
+ 'tab.blocks': 'Bloki',
29
+ 'tab.blocksHint': 'Vsebinski bloki in spremenljivke',
30
+ 'tab.rows': 'Odseki',
31
+ 'tab.rowsHint': 'Postavitve odsekov in model platna',
32
+ 'tab.files': 'Datoteke',
33
+ 'tab.filesHint': 'Knjižnica virov',
34
+ 'tab.layers': 'Struktura',
35
+ 'tab.layersHint': 'Struktura dokumenta',
36
+ 'tab.settings': 'Nastavitve',
37
+ 'tab.settingsHint': 'Nastavitve e-pošte',
38
+ 'tab.data': 'Spr.',
39
+ 'tab.dataHint': 'Spremenljivke, ki jih zagotavlja vaša koda',
40
+ 'inspector.blockProperties': 'Lastnosti bloka',
41
+ 'inspector.sectionProperties': 'Lastnosti odseka',
42
+ 'inspector.title': 'Inšpektor',
43
+ 'inspector.sectionLabel': 'Odsek',
44
+ 'inspector.nothingSelected': 'Nič ni izbrano',
45
+ 'action.duplicateHint': 'Podvoji — ⌘D',
46
+ 'action.deleteHint': 'Izbriši ',
47
+ 'inspector.emptyBody':
48
+ 'Izberite vrstico ali blok na platnu, da ga oblikujete tukaj. Povlecite bloke iz zavihka <strong style="color: var(--ed-text); font-weight: 600;">Bloki</strong>; dvokliknite besedilo za urejanje na mestu.',
49
+ 'inspector.shortcuts': 'Bližnjice',
50
+ 'shortcut.undoRedo': '⌘Z / ⌘⇧Z razveljavi, ponovi',
51
+ 'shortcut.duplicate': '⌘Dpodvoji izbor',
52
+ 'shortcut.delete': 'izbriši izbor',
53
+ 'shortcut.export': '⌘E izvozi HTML',
54
+ 'shortcut.escape': 'ESC — prekliči izbor, zapri',
55
+ 'blocks.dragHint': 'Povlecite na platno',
56
+ 'blocks.count': '{count} blokov',
57
+ 'rows.sectionLayouts': 'Postavitve odsekov',
58
+ 'rows.customMarkup': 'Lastna koda',
59
+ 'rows.htmlRowHint': 'Povlecite za vstavitev ali kliknite za dodajanje — vrstica čez celo širino, ki jo zapolnite s surovim HTML-jem',
60
+ 'rows.rawHtmlSection': 'Odsek s surovim HTML-jem',
61
+ 'rows.rawHtmlDesc': 'Odsek čez celo širino, vaša lastna koda, še vedno vlečljiv',
62
+ 'rows.canvasModel': 'Model platna',
63
+ 'rows.modeRowBased': 'Temelji na vrsticah',
64
+ 'rows.modeFreeStack': 'Prosti sklad',
65
+ 'rows.hintRows':
66
+ 'Temelji na odsekih: najprej spustite postavitev, nato bloke v njene stolpce vsak odsek ima lastno ozadje, rob, nastavitve flex ali mreže.',
67
+ 'rows.hintStack': 'Prosti sklad: brez postavitev — vsak spuščen blok postane lasten odsek čez celo širino, zložen po vrsti.',
68
+ 'files.libraryCount': 'Knjižnica {count} datotek',
69
+ 'files.openManager': 'Odpri upravitelja datotek',
70
+ 'files.dragToCanvas': 'Povlecite katero koli datoteko neposredno na platno, da jo postavite kot slikovni blok.',
71
+ 'layers.structure': 'Struktura',
72
+ 'layers.sectionSingle': 'Odsek',
73
+ 'layers.sectionMulti': 'Odsek · {count} stolpcev',
74
+ 'layers.column': 'Stolpec {index}',
75
+ 'layers.blockCount': '{count} bl.',
76
+ 'vars.title': 'Spremenljivke',
77
+ 'vars.fromCode': '{count} iz vaše kode',
78
+ 'vars.declaredNote': 'Deklarirane s strani vaše aplikacije — platno vedno prikaže žeton, nikoli vrednosti.',
79
+ 'vars.filterPlaceholder': 'Filtriraj spremenljivke…',
80
+ 'vars.insertHint': 'Kliknite za vstavitev v izbrano besedilo, naslov ali gumb',
81
+ 'vars.insert': 'vstavi',
82
+ 'vars.noMatch': 'Nobena spremenljivka ne ustreza temu filtru.',
83
+ 'vars.noneDeclared': 'Vaša aplikacija še ni deklarirala nobenih spremenljivk.',
84
+ 'vars.rteHint': 'Med urejanjem besedila lahko spremenljivko izberete tudi neposredno iz spustnega menija vgrajene orodne vrstice.',
85
+ 'modal.fileManager': 'Upravitelj datotek',
86
+ 'modal.assetsTitle': 'Viri',
87
+ 'modal.replaceImage': 'Zamenjaj sliko',
88
+ 'library.searchPlaceholder': 'Iskanje datotek…',
89
+ 'action.upload': 'Naloži',
90
+ 'library.clickToPlace': 'Kliknite datoteko za postavitev · ali povlecite datoteko na platno',
91
+ 'library.clickToReplace': 'Kliknite datoteko za zamenjavo izbrane slike',
92
+ 'library.storageLabel': '{count} datotek · {size}',
93
+ 'library.folders': 'Mape',
94
+ 'library.dropHint': 'Sem spustite slikovne datoteke za nalaganje — ali uporabite gumb Naloži.',
95
+ 'library.deleteFileHint': 'Izbriši datoteko',
96
+ 'library.del': 'IZBR',
97
+ 'toast.assetDeleted': '{name} izbrisano',
98
+ 'library.allFiles': 'Vse datoteke',
99
+ 'library.loadMore': 'Naloži več',
100
+ 'library.empty': 'Tu še ni datotek.',
101
+ 'storage.loading': 'Nalaganje datotek…',
102
+ 'storage.uploading': 'Nalaganje {count}…',
103
+ 'storage.errLoadFailed': 'Knjižnice datotek ni bilo mogoče naložiti {reason}',
104
+ 'storage.errNoLimits': 'Nalaganje je izklopljeno: ta aplikacija ni določila omejitev nalaganja.',
105
+ 'storage.errNoAccept': 'Nalaganje je izklopljeno: dovoljena ni nobena vrsta datoteke.',
106
+ 'storage.errNoMaxBytes': 'Nalaganje je izklopljeno: največja velikost datoteke ni določena.',
107
+ 'storage.errTooLarge': '{name} je {size} — omejitev je {max}.',
108
+ 'storage.errFormat': '{name} je datoteka vrste {type}, ki tu ni dovoljena.',
109
+ 'storage.errSvg': '{name} je SVG, ki ga ta aplikacija ne sprejema.',
110
+ 'storage.errDimensions': '{name} je {w}×{ht}px — omejitev je {maxW}×{maxH}px.',
111
+ 'storage.errTooMany': 'Naenkrat je mogoče naložiti le {max} datotek.',
112
+ 'storage.errUnreadable': '{name} ni berljiva slika.',
113
+ 'storage.errUploadFailed': '{name} ni bilo mogoče naložiti — {reason}',
114
+ 'storage.errDeleteFailed': '{name} ni bilo mogoče izbrisati{reason}',
115
+ 'modal.export': 'Izvozi',
116
+ 'modal.exportTitle': 'HTML e-pošte na osnovi tabel',
117
+ 'export.copy': 'Kopiraj',
118
+ 'export.copied': 'Kopirano',
119
+ 'action.download': 'Prenesi',
120
+ 'export.meta': '{kb} KB · tabele + vgrajeni slogi · širine, varne za Outlook',
121
+ 'modal.rawHtmlTitle': 'Surovi HTML, ogled v živo',
122
+ 'code.statusEdited': 'Pogled kode — urejeno — ogled v živo, še ni uporabljeno',
123
+ 'code.statusSynced': 'Pogled kode — usklajeno s platnom',
124
+ 'action.reload': 'Znova naloži',
125
+ 'action.reloadHint': 'Znova naloži vir s platna',
126
+ 'action.applyToCanvas': 'Uporabi na platnu',
127
+ 'action.applyToCanvasHint': 'Znova razčleni vir v uredljive vrstice',
128
+ 'action.closeWithoutApplyingHint': 'Zapri brez uporabe',
129
+ 'code.source': 'Vir',
130
+ 'code.livePreview': 'Ogled v živo',
131
+ 'code.liveHtmlPreviewTitle': 'Ogled HTML v živo',
132
+ 'code.applyNote':
133
+ 'Uporabi razčleni vsako vrstico tabele najvišje ravni v vrstico platna, ki jo lahko še vedno izberete, prerazporedite in izbrišete — ročno napisana koda postopek preživi nespremenjena.',
134
+ 'code.meta': '{kb} KB · {lines} vrstic',
135
+ 'toast.sourceReloaded': 'Vir znova naložen s platna',
136
+ 'toast.sourceAppliedOne': 'Vir uporabljen — 1 vrstica na platnu',
137
+ 'toast.sourceAppliedMany': 'Vir uporabljen {rows} vrstic na platnu',
138
+ 'toast.parseError': 'Tega HTML-ja ni bilo mogoče razčleniti',
139
+ 'modal.aiDraft': 'Pomočnik za pisanje z UI',
140
+ 'modal.aiDraftTitle': 'Napišite svojo e-pošto z UI',
141
+ 'ai.disclosure': 'UI ustvari predloge na podlagi vašega povzetka. Pred pošiljanjem rezultat preglejte in uredite.',
142
+ 'ai.goal': 'Cilj',
143
+ 'ai.tone': 'Ton',
144
+ 'ai.briefLabel': 'O čem govori ta e-pošta?',
145
+ 'ai.briefPlaceholder': 'npr. jesenska kolekcija, 15 % za naročnike, brezplačna dostava nad 150 €',
146
+ 'ai.generate': 'Ustvari besedilo',
147
+ 'ai.writing': 'Pisanje…',
148
+ 'ai.kindHeadline': 'Naslov',
149
+ 'ai.kindBody': 'Glavno besedilo',
150
+ 'ai.kindButton': 'Besedilo gumba',
151
+ 'ai.actionInsertHeading': 'Vstavi kot naslov',
152
+ 'ai.actionInsertText': 'Vstavi kot besedilni blok',
153
+ 'ai.actionInsertButton': 'Vstavi kot gumb',
154
+ 'toast.headingAdded': 'Naslov dodan',
155
+ 'toast.textBlockAdded': 'Besedilni blok dodan',
156
+ 'toast.buttonAdded': 'Gumb dodan',
157
+ 'preview.kickerMobile': 'Predogled — mobilna naprava 375px',
158
+ 'preview.kickerDesktop': 'Predogled — namizje {width}px',
159
+ 'action.close': 'Zapri',
160
+ 'toast.duplicated': 'Podvojeno',
161
+ 'toast.fileUploadedOne': 'Naložena 1 datoteka',
162
+ 'toast.fileUploadedMany': 'Naloženih {count} datotek',
163
+ 'toast.imageReplaced': 'Slika zamenjana',
164
+ 'toast.imageAdded': 'Slika dodana na platno',
165
+ 'toast.htmlCopied': 'HTML kopiran v odložišče',
166
+ 'toast.templateLoaded': '{name} naloženo',
167
+ 'toast.snippetDefaultLabel': 'Odlomek',
168
+ 'toast.snippetInserted': '{name} vstavljeno',
169
+ 'toast.snippetCopied': '{name} kopirano — izberite besedilni blok za vstavitev',
170
+ 'rte.textStyle': 'Slog besedila',
171
+ 'rte.mergeTags': 'Spojna polja',
172
+ 'rte.noMergeTags': 'Na voljo ni nobenega spojnega polja',
173
+ 'rte.textColor': 'Barva besedila',
174
+ 'rte.highlightColor': 'Barva poudarka',
175
+ 'rte.removeHighlight': 'Odstrani poudarek',
176
+ 'rte.clearFormatting': 'Počisti oblikovanje',
177
+ 'action.downloadPng': 'Prenesi PNG',
178
+ 'action.screenshot': 'Posnetek zaslona',
179
+ 'action.screenshotHint': 'Poglej celotno predlogo kot sliko in jo prenesi',
180
+ 'toast.pngSaved': 'Posnetek zaslona prenesen',
181
+ 'toast.pngFailed': 'Posnetek zaslona ni uspel — zunanje slike ni bilo mogoče naložiti',
182
+ 'toast.pngCopied': 'Posnetek zaslona kopiran v odložišče',
183
+ 'toast.pngCopyFailed': 'Ta brskalnik ni sprejel slike v odložišče',
184
+ 'story.kicker': 'Posnetek zaslona',
185
+ 'story.rendering': 'Posnetek zaslona se izdeluje',
186
+ 'story.renderingHint': 'Vsak blok se riše v 2× — pri dolgi predlogi to traja trenutek.',
187
+ 'story.failed': 'Posnetek zaslona ni uspel',
188
+ 'story.failedHint': 'Slike v predlogi ni bilo mogoče naložiti za zajem.',
189
+ 'story.retry': 'Poskusi znova',
190
+ 'story.play': 'Predvajaj',
191
+ 'story.pause': 'Premor',
192
+ 'story.replay': 'Predvajaj znova',
193
+ 'story.copy': 'Kopiraj',
194
+ 'story.meta': '{w}×{h} · zaslon {i} od {n}',
195
+ 'footer.poweredBy': 'Poganja SELISE Blocks © 2026',
196
+ };