diff --git a/src/uix/active-uix/active-uix.svelte.test.ts b/src/uix/active-uix/active-uix.svelte.test.ts index 6eb9a58d5..b145da637 100644 --- a/src/uix/active-uix/active-uix.svelte.test.ts +++ b/src/uix/active-uix/active-uix.svelte.test.ts @@ -34,6 +34,7 @@ import { gridListMorfo } from '$uix/morfo/components/grid-list'; import { listboxMorfo } from '$uix/morfo/components/listbox'; import { meterMorfo } from '$uix/morfo/components/meter'; import { navigationMenuMorfo } from '$uix/morfo/components/navigation-menu'; +import { paginationMorfo } from '$uix/morfo/components/pagination'; import { pinInputMorfo } from '$uix/morfo/components/pin-input'; import { progressMorfo } from '$uix/morfo/components/progress'; import { ratingGroupMorfo } from '$uix/morfo/components/rating-group'; @@ -43,6 +44,8 @@ import { splitterMorfo } from '$uix/morfo/components/splitter'; import { tagGroupMorfo } from '$uix/morfo/components/tag-group'; import { tagsInputMorfo } from '$uix/morfo/components/tags-input'; import { stepperMorfo } from '$uix/morfo/components/stepper'; +import { tableMorfo } from '$uix/morfo/components/table'; +import { treeGridMorfo } from '$uix/morfo/components/tree-grid'; import { treeViewMorfo } from '$uix/morfo/components/tree-view'; const minimalLang = { schema: {} satisfies LangNode, defaultLocale: 'es' as const }; @@ -243,6 +246,14 @@ describe('createActiveUix (standalone)', () => { expect(uix.langs.t('components.tag-group.remove', { tag: 'UIX' })).toBe('Eliminar UIX'); expect(uix.langs.t('components.tags-input.remove')).toBe('Eliminar etiqueta'); expect(uix.langs.t('components.tags-input.clear')).toBe('Limpiar todas las etiquetas'); + registerMorfo(treeGridMorfo); + registerMorfo(tableMorfo); + registerMorfo(paginationMorfo); + expect(uix.langs.t('components.tree-grid.expand')).toBe('Expandir fila'); + expect(uix.langs.t('components.tree-grid.toggle')).toBe('Alternar fila'); + expect(uix.langs.t('components.table.row-detail-collapse')).toBe('Ocultar detalles'); + expect(uix.langs.t('components.table.toggle-detail')).toBe('Alternar detalle'); + expect(uix.langs.t('components.pagination.page', { value: 4 })).toBe('Página 4'); } finally { uix.dispose(); _resetMorfoRegistryForTesting(); diff --git a/src/uix/langs.ts b/src/uix/langs.ts index 1403ecc16..929ea73f5 100644 --- a/src/uix/langs.ts +++ b/src/uix/langs.ts @@ -250,30 +250,4 @@ export const componentLangs = { }, }, - pagination: { - label: { es: 'Paginación', en: 'Pagination' }, - prev: { es: 'Página anterior', en: 'Previous page' }, - next: { es: 'Página siguiente', en: 'Next page' }, - page: { es: 'Página {{value}}', en: 'Page {{value}}' }, - }, - - table: { - label: { es: 'Tabla de datos', en: 'Data table' }, - 'sort-asc': { es: 'Ordenado ascendente', en: 'Sorted ascending' }, - 'sort-desc': { es: 'Ordenado descendente', en: 'Sorted descending' }, - 'per-page': { es: 'por página', en: 'per page' }, - 'no-results': { es: 'Sin resultados', en: 'No results' }, - 'global-filter': { es: 'Buscar en todas las columnas...', en: 'Search all columns...' }, - 'all-roles': { es: 'Todos los roles', en: 'All roles' }, - columns: { es: 'Columnas', en: 'Columns' }, - 'row-detail-expand': { es: 'Mostrar detalles', en: 'Show details' }, - 'row-detail-collapse': { es: 'Ocultar detalles', en: 'Hide details' }, - }, - - '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' }, - }, - } satisfies LangNode; diff --git a/src/uix/morfo/components/pagination.ts b/src/uix/morfo/components/pagination.ts index ca60825b0..9fbb4e990 100644 --- a/src/uix/morfo/components/pagination.ts +++ b/src/uix/morfo/components/pagination.ts @@ -5,6 +5,12 @@ export const paginationMorfo = { name: 'Pagination', kebab: 'pagination', scope: ['soma'], + translations: { + label: { es: 'Paginación', en: 'Pagination' }, + prev: { es: 'Página anterior', en: 'Previous page' }, + next: { es: 'Página siguiente', en: 'Next page' }, + page: { es: 'Página {{value}}', en: 'Page {{value}}' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/morfo/components/table.ts b/src/uix/morfo/components/table.ts index 75368f763..5cc13b7dc 100644 --- a/src/uix/morfo/components/table.ts +++ b/src/uix/morfo/components/table.ts @@ -5,6 +5,12 @@ export const tableMorfo = { name: 'Table', kebab: 'table', scope: ['soma'], + translations: { + label: { es: 'Tabla de datos', en: 'Data table' }, + 'toggle-detail': { es: 'Alternar detalle', en: 'Toggle detail' }, + 'row-detail-expand': { es: 'Mostrar detalles', en: 'Show details' }, + 'row-detail-collapse': { es: 'Ocultar detalles', en: 'Hide details' } + }, parts: [ { name: 'Provider', @@ -17,7 +23,7 @@ export const tableMorfo = { aria: [ { attr: 'aria-label', - value: v.translationRef('#?components.table.label|Table'), + value: v.translationRef('#?components.table.label|Data table'), severity: 'recommended' } ] diff --git a/src/uix/morfo/components/tree-grid.ts b/src/uix/morfo/components/tree-grid.ts index 55c58eec7..6f58ba805 100644 --- a/src/uix/morfo/components/tree-grid.ts +++ b/src/uix/morfo/components/tree-grid.ts @@ -6,6 +6,12 @@ export const treeGridMorfo = { kebab: 'tree-grid', scope: ['soma'], apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/treegrid/', + translations: { + label: { es: 'Cuadrícula de árbol', en: 'Tree grid' }, + toggle: { es: 'Alternar fila', en: 'Toggle row' }, + expand: { es: 'Expandir fila', en: 'Expand row' }, + collapse: { es: 'Colapsar fila', en: 'Collapse row' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/soma/components/pagination/langs.ts b/src/uix/soma/components/pagination/langs.ts index 4a2d4f768..090e2331a 100644 --- a/src/uix/soma/components/pagination/langs.ts +++ b/src/uix/soma/components/pagination/langs.ts @@ -1,7 +1,4 @@ /** Idlangref constants for the Pagination component. */ export const PAGINATION_LANGS = { - LABEL: '#?components.pagination.label|Pagination', - PREV: '#?common.buttons.prev|Previous page', - NEXT: '#?common.buttons.next|Next page', - PAGE: '#?components.pagination.page|Page {{value}}', + PAGE: '#?components.pagination.page|Page {{value}}' } as const;