Two loose ends from the rich-paste work: - The block drag-handle menu was hard-coded English (Inspect / Move up / Duplicate / Insert below / Paste below / Delete) inside a Spanish editor. Route every label through the langs system like the inspector already does: new langs-menu.ts (idlangref catalog + en/es bundle), registered by the eidos <Words> wrapper (`components.words.menu`); the gutter reads them via ActiveEidos.require().langs.ts(). Verified the menu renders in Spanish (Inspeccionar / Subir / Bajar / Duplicar / Insertar debajo / Pegar debajo / Eliminar) under the ES locale. - README serialization doctrine: the "Si algun dia hace falta pegar HTML externo" section ANTICIPATED exactly this feature (per-block parseHtml, clipboard best-effort, persistence stays JSON). Mark it IMPLEMENTED (2026-06-02) with the actual modules, fix the table's HTML Import cell, and correct the now-stale "paste HTML is rejected" line — HTML now parses to blocks; only content-free HTML logs unsupported-html. importContent unchanged (JSON + plain text); HTML enters only via paste. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>active-uix
parent
75556338db
commit
3a845f0454
@ -0,0 +1,30 @@
|
|||||||
|
/**
|
||||||
|
* Translation refs for the block-handle action menu (`WordsBlockGutter`).
|
||||||
|
*
|
||||||
|
* Same `idlangref` pattern as `langs-inspector.ts`: each entry is
|
||||||
|
* `#?components.words.menu.{key}|fallback`. `eidos.langs.ts(ref)` returns
|
||||||
|
* the localized string when `WORDS_MENU_BUNDLE` is registered (the eidos
|
||||||
|
* `<Words>` wrapper extends it on mount), else the English fallback.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const WORDS_MENU_LANGS = {
|
||||||
|
ACTIONS: '#?components.words.menu.actions|Block actions',
|
||||||
|
INSPECT: '#?components.words.menu.inspect|Inspect',
|
||||||
|
MOVE_UP: '#?components.words.menu.move-up|Move up',
|
||||||
|
MOVE_DOWN: '#?components.words.menu.move-down|Move down',
|
||||||
|
DUPLICATE: '#?components.words.menu.duplicate|Duplicate',
|
||||||
|
INSERT_BELOW: '#?components.words.menu.insert-below|Insert below',
|
||||||
|
PASTE_BELOW: '#?components.words.menu.paste-below|Paste below',
|
||||||
|
DELETE: '#?components.words.menu.delete|Delete'
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const WORDS_MENU_BUNDLE = {
|
||||||
|
actions: { en: 'Block actions', es: 'Acciones del bloque' },
|
||||||
|
inspect: { en: 'Inspect', es: 'Inspeccionar' },
|
||||||
|
'move-up': { en: 'Move up', es: 'Subir' },
|
||||||
|
'move-down': { en: 'Move down', es: 'Bajar' },
|
||||||
|
duplicate: { en: 'Duplicate', es: 'Duplicar' },
|
||||||
|
'insert-below': { en: 'Insert below', es: 'Insertar debajo' },
|
||||||
|
'paste-below': { en: 'Paste below', es: 'Pegar debajo' },
|
||||||
|
delete: { en: 'Delete', es: 'Eliminar' }
|
||||||
|
};
|
||||||
Loading…
Reference in new issue