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