diff --git a/src/uix/active-uix/active-uix.svelte.test.ts b/src/uix/active-uix/active-uix.svelte.test.ts index df612b9ab..ad2198513 100644 --- a/src/uix/active-uix/active-uix.svelte.test.ts +++ b/src/uix/active-uix/active-uix.svelte.test.ts @@ -30,9 +30,15 @@ import { comboboxMorfo } from '$uix/morfo/components/combobox'; import { commandMorfo } from '$uix/morfo/components/command'; import { drawerMorfo } from '$uix/morfo/components/drawer'; import { feedMorfo } from '$uix/morfo/components/feed'; +import { listboxMorfo } from '$uix/morfo/components/listbox'; import { meterMorfo } from '$uix/morfo/components/meter'; +import { navigationMenuMorfo } from '$uix/morfo/components/navigation-menu'; import { progressMorfo } from '$uix/morfo/components/progress'; +import { scrollAreaMorfo } from '$uix/morfo/components/scroll-area'; import { searchFieldMorfo } from '$uix/morfo/components/search-field'; +import { splitterMorfo } from '$uix/morfo/components/splitter'; +import { stepperMorfo } from '$uix/morfo/components/stepper'; +import { treeViewMorfo } from '$uix/morfo/components/tree-view'; const minimalLang = { schema: {} satisfies LangNode, defaultLocale: 'es' as const }; const bilingualPrefs = standardPrefsDimensions({ @@ -207,6 +213,20 @@ describe('createActiveUix (standalone)', () => { expect(uix.langs.t('components.command.list')).toBe('Paleta de comandos'); expect(uix.langs.t('components.drawer.trigger')).toBe('Abrir cajón'); expect(uix.langs.t('components.feed.label')).toBe('Feed'); + registerMorfo(listboxMorfo); + registerMorfo(navigationMenuMorfo); + registerMorfo(treeViewMorfo); + registerMorfo(stepperMorfo); + registerMorfo(splitterMorfo); + registerMorfo(scrollAreaMorfo); + expect(uix.langs.t('components.listbox.label')).toBe('Opciones'); + expect(uix.langs.t('components.navigation-menu.label')).toBe('Principal'); + expect(uix.langs.t('components.tree-view.label')).toBe('Árbol'); + expect(uix.langs.t('components.stepper.list')).toBe('Pasos'); + expect(uix.langs.t('components.splitter.resize')).toBe('Redimensionar paneles'); + expect(uix.langs.t('components.scroll-area.scrollbar-horizontal')).toBe( + 'Barra de desplazamiento horizontal' + ); } finally { uix.dispose(); _resetMorfoRegistryForTesting(); diff --git a/src/uix/langs.ts b/src/uix/langs.ts index 8e094f91a..f2da7cf58 100644 --- a/src/uix/langs.ts +++ b/src/uix/langs.ts @@ -279,10 +279,6 @@ export const componentLangs = { }, }, - listbox: { - label: { es: 'Opciones', en: 'Options' }, - }, - table: { label: { es: 'Tabla de datos', en: 'Data table' }, 'sort-asc': { es: 'Ordenado ascendente', en: 'Sorted ascending' }, @@ -300,10 +296,6 @@ export const componentLangs = { role: { es: 'Campo numérico', en: 'Number field' }, }, - 'navigation-menu': { - label: { es: 'Principal', en: 'Main' }, - }, - 'tag-group': { label: { es: 'Etiquetas', en: 'Tags' }, remove: { es: 'Eliminar {{tag}}', en: 'Remove {{tag}}' }, @@ -313,26 +305,10 @@ export const componentLangs = { clear: { es: 'Limpiar todo', en: 'Clear all' }, }, - 'scroll-area': { - 'scrollbar-vertical': { es: 'Barra de desplazamiento vertical', en: 'Vertical scrollbar' }, - 'scrollbar-horizontal': { es: 'Barra de desplazamiento horizontal', en: 'Horizontal scrollbar' }, - }, - 'tree-grid': { label: { es: 'Cuadrícula de árbol', en: 'Tree grid' }, expand: { es: 'Expandir fila', en: 'Expand row' }, collapse: { es: 'Colapsar fila', en: 'Collapse row' }, }, - 'tree-view': { - label: { es: 'Árbol', en: 'Tree' }, - }, - - splitter: { - resize: { es: 'Redimensionar', en: 'Resize' }, - }, - - stepper: { - list: { es: 'Pasos', en: 'Steps' }, - }, } satisfies LangNode; diff --git a/src/uix/morfo/components/listbox.ts b/src/uix/morfo/components/listbox.ts index cc33410c2..b2a7667e6 100644 --- a/src/uix/morfo/components/listbox.ts +++ b/src/uix/morfo/components/listbox.ts @@ -6,6 +6,9 @@ export const listboxMorfo = { kebab: 'listbox', scope: ['soma'], apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/listbox/', + translations: { + label: { es: 'Opciones', en: 'Options' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/morfo/components/navigation-menu.ts b/src/uix/morfo/components/navigation-menu.ts index 58b1b469d..7532d13b3 100644 --- a/src/uix/morfo/components/navigation-menu.ts +++ b/src/uix/morfo/components/navigation-menu.ts @@ -5,6 +5,9 @@ export const navigationMenuMorfo = { name: 'NavigationMenu', kebab: 'navigation-menu', scope: ['soma'], + translations: { + label: { es: 'Principal', en: 'Main' } + }, parts: [ { name: 'Provider', @@ -27,7 +30,7 @@ export const navigationMenuMorfo = { aria: [ { attr: 'aria-label', - value: v.translationRef('#?components.navigation-menu.label|Main navigation'), + value: v.translationRef('#?components.navigation-menu.label|Main'), severity: 'recommended' }, { attr: 'aria-orientation', value: v.propRef('orientation') } diff --git a/src/uix/morfo/components/scroll-area.ts b/src/uix/morfo/components/scroll-area.ts index 28a5ae7e3..3ffaa8814 100644 --- a/src/uix/morfo/components/scroll-area.ts +++ b/src/uix/morfo/components/scroll-area.ts @@ -5,6 +5,13 @@ export const scrollAreaMorfo = { name: 'ScrollArea', kebab: 'scroll-area', scope: ['soma'], + translations: { + 'scrollbar-vertical': { es: 'Barra de desplazamiento vertical', en: 'Vertical scrollbar' }, + 'scrollbar-horizontal': { + es: 'Barra de desplazamiento horizontal', + en: 'Horizontal scrollbar' + } + }, parts: [ { name: 'Provider', diff --git a/src/uix/morfo/components/splitter.ts b/src/uix/morfo/components/splitter.ts index bef40eeed..01c81eea1 100644 --- a/src/uix/morfo/components/splitter.ts +++ b/src/uix/morfo/components/splitter.ts @@ -5,6 +5,9 @@ export const splitterMorfo = { name: 'Splitter', kebab: 'splitter', scope: ['soma'], + translations: { + resize: { es: 'Redimensionar paneles', en: 'Resize panels' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/morfo/components/stepper.ts b/src/uix/morfo/components/stepper.ts index 3ec90b7a9..41a84a5f4 100644 --- a/src/uix/morfo/components/stepper.ts +++ b/src/uix/morfo/components/stepper.ts @@ -5,6 +5,9 @@ export const stepperMorfo = { name: 'Stepper', kebab: 'stepper', scope: ['soma'], + translations: { + list: { es: 'Pasos', en: 'Steps' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/morfo/components/tree-view.ts b/src/uix/morfo/components/tree-view.ts index 11cdf3ccc..cef1b44f8 100644 --- a/src/uix/morfo/components/tree-view.ts +++ b/src/uix/morfo/components/tree-view.ts @@ -6,6 +6,9 @@ export const treeViewMorfo = { kebab: 'tree-view', scope: ['soma'], apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/treeview/', + translations: { + label: { es: 'Árbol', en: 'Tree' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/soma/components/splitter/langs.ts b/src/uix/soma/components/splitter/langs.ts index 361f00b84..954b5834d 100644 --- a/src/uix/soma/components/splitter/langs.ts +++ b/src/uix/soma/components/splitter/langs.ts @@ -1,4 +1,4 @@ /** Idlangref constants for the Splitter component. */ export const SPLITTER_LANGS = { - RESIZE: '#?components.splitter.resize|Resize', + RESIZE: '#?components.splitter.resize|Resize panels', } as const;