Move simple utility translations to morfo

active-uix
dev 5 months ago
parent 912be7769a
commit fbea8f5a64

@ -25,11 +25,16 @@ import { defineUixServices } from './services';
import type { LangNode } from '$libs/langs';
import { standardPrefsDimensions } from '$prefs';
import { _resetMorfoRegistryForTesting, registerMorfo, v, type Morfo } from '$uix/morfo';
import { fileUploadMorfo } from '$uix/morfo/components/file-upload';
import { alertDialogMorfo } from '$uix/morfo/components/alert-dialog';
import { announceMorfo } from '$uix/morfo/components/announce';
import { breadcrumbMorfo } from '$uix/morfo/components/breadcrumb';
import { carouselMorfo } from '$uix/morfo/components/carousel';
import { clipboardMorfo } from '$uix/morfo/components/clipboard';
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 { fileUploadMorfo } from '$uix/morfo/components/file-upload';
import { gridListMorfo } from '$uix/morfo/components/grid-list';
import { listboxMorfo } from '$uix/morfo/components/listbox';
import { meterMorfo } from '$uix/morfo/components/meter';
@ -254,6 +259,18 @@ describe('createActiveUix (standalone)', () => {
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');
registerMorfo(alertDialogMorfo);
registerMorfo(announceMorfo);
registerMorfo(breadcrumbMorfo);
registerMorfo(clipboardMorfo);
registerMorfo(carouselMorfo);
expect(uix.langs.t('components.alert-dialog.action')).toBe('Confirmar');
expect(uix.langs.t('components.announce.label')).toBe('Anuncios');
expect(uix.langs.t('components.breadcrumb.ellipsis')).toBe('Más');
expect(uix.langs.t('components.clipboard.copy')).toBe('Copiar al portapapeles');
expect(uix.langs.t('components.carousel.indicator', { index: 2 })).toBe(
'Ir a la diapositiva 2'
);
} finally {
uix.dispose();
_resetMorfoRegistryForTesting();

@ -49,36 +49,6 @@ export const componentLangs = {
},
},
'alert-dialog': {
action: { es: 'Confirmar', en: 'Confirm' },
cancel: { es: 'Cancelar', en: 'Cancel' },
},
announce: {
label: { es: 'Anuncios', en: 'Announcements' },
},
breadcrumb: {
label: { es: 'Migas de pan', en: 'Breadcrumb' },
ellipsis: { es: 'Más', en: 'More' },
},
clipboard: {
copy: { es: 'Copiar al portapapeles', en: 'Copy to clipboard' },
copied: { es: 'Copiado', en: 'Copied' },
},
carousel: {
label: { es: 'Carrusel', en: 'Carousel' },
prev: { es: 'Diapositiva anterior', en: 'Previous slide' },
next: { es: 'Diapositiva siguiente', en: 'Next slide' },
indicator: { es: 'Ir a la diapositiva {{index}}', en: 'Go to slide {{index}}' },
slide: {
es: 'Diapositiva {{index}} de {{total}}',
en: 'Slide {{index}} of {{total}}'
},
},
calendar: {
label: { es: 'Calendario', en: 'Calendar' },
'prev-month': { es: 'Mes anterior', en: 'Previous month' },

@ -6,6 +6,10 @@ export const alertDialogMorfo: Morfo = {
kebab: 'alert-dialog',
scope: ['soma'],
apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/',
translations: {
action: { es: 'Confirmar', en: 'Confirm' },
cancel: { es: 'Cancelar', en: 'Cancel' }
},
focus: {
initial: 'first-focusable',

@ -5,6 +5,9 @@ export const announceMorfo = {
name: 'Announce',
kebab: 'announce',
scope: ['soma'],
translations: {
label: { es: 'Anuncios', en: 'Announcements' }
},
parts: [
{
name: 'Provider',

@ -6,6 +6,10 @@ export const breadcrumbMorfo = {
kebab: 'breadcrumb',
scope: ['soma'],
apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/',
translations: {
label: { es: 'Migas de pan', en: 'Breadcrumb' },
ellipsis: { es: 'Más', en: 'More' }
},
parts: [
{
name: 'Provider',

@ -6,6 +6,16 @@ export const carouselMorfo = {
kebab: 'carousel',
scope: ['soma'],
apg: 'https://www.w3.org/WAI/ARIA/apg/patterns/carousel/',
translations: {
label: { es: 'Carrusel', en: 'Carousel' },
prev: { es: 'Diapositiva anterior', en: 'Previous slide' },
next: { es: 'Diapositiva siguiente', en: 'Next slide' },
indicator: { es: 'Ir a la diapositiva {{index}}', en: 'Go to slide {{index}}' },
slide: {
es: 'Diapositiva {{index}} de {{total}}',
en: 'Slide {{index}} of {{total}}'
}
},
parts: [
{
name: 'Provider',

@ -5,6 +5,10 @@ export const clipboardMorfo = {
name: 'Clipboard',
kebab: 'clipboard',
scope: ['soma'],
translations: {
copy: { es: 'Copiar al portapapeles', en: 'Copy to clipboard' },
copied: { es: 'Copiado', en: 'Copied' }
},
parts: [
{
name: 'Provider',

@ -119,7 +119,7 @@ Focus lands on the first focusable child when the dialog opens (`Cancel` by DOM
## i18n
Default button labels resolve through the UIX lang system. The canonical component catalog is `morfo.translations` under `components.alert-dialog`; the legacy `componentLangs` table may still provide these keys during migration.
Default button labels resolve through the UIX lang system. The component catalog is owned by `morfo.translations` under `components.alert-dialog`.
| Key | English | Spanish |
| -------- | --------- | ------------ |

Loading…
Cancel
Save

Powered by TurnKey Linux.