diff --git a/src/uix/active-uix/active-uix.svelte.test.ts b/src/uix/active-uix/active-uix.svelte.test.ts index f8717fc5b..8adca7902 100644 --- a/src/uix/active-uix/active-uix.svelte.test.ts +++ b/src/uix/active-uix/active-uix.svelte.test.ts @@ -25,6 +25,7 @@ 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'; const minimalLang = { schema: {} satisfies LangNode, defaultLocale: 'es' as const }; const bilingualPrefs = standardPrefsDimensions({ @@ -117,7 +118,6 @@ describe('createActiveUix (standalone)', () => { const out = uix.langs.t('components.dialog.content.roledescription'); expect(typeof out).toBe('string'); expect(out.length).toBeGreaterThan(0); - expect(uix.langs.t('components.file-upload.dropzone')).toBe('Subir archivos'); expect(uix.langs.t('components.calendar.prev-month')).toBe('Mes anterior'); expect(uix.langs.t('components.range-calendar.range-start')).toBe('inicio del rango'); expect(uix.langs.t('components.rating-group.value-text', { value: 3, max: 5 })).toBe('3 de 5'); @@ -182,6 +182,10 @@ describe('createActiveUix (standalone)', () => { } satisfies Morfo); expect(uix.langs.t('components.lazy-sample.label')).toBe('Muestra diferida'); + registerMorfo(fileUploadMorfo); + expect(uix.langs.t('components.file-upload.dropzone')).toBe('Subir archivos'); + expect(uix.langs.t('components.file-upload.list')).toBe('Archivos seleccionados'); + expect(uix.langs.ts('#?common.buttons.clear|Clear all')).toBe('Limpiar todo'); } finally { uix.dispose(); _resetMorfoRegistryForTesting(); diff --git a/src/uix/langs.ts b/src/uix/langs.ts index 3fc5568be..0e27b4c3c 100644 --- a/src/uix/langs.ts +++ b/src/uix/langs.ts @@ -277,14 +277,6 @@ export const componentLangs = { preview: { es: 'Haz clic para editar', en: 'Click to edit' }, }, - 'file-upload': { - dropzone: { es: 'Subir archivos', en: 'Upload files' }, - trigger: { es: 'Seleccionar archivos', en: 'Select files' }, - remove: { es: 'Eliminar archivo', en: 'Remove file' }, - clear: { es: 'Limpiar todo', en: 'Clear all' }, - list: { es: 'Archivos subidos', en: 'Uploaded files' }, - }, - form: { submit: { es: 'Enviar', en: 'Submit' }, reset: { es: 'Restablecer', en: 'Reset' }, diff --git a/src/uix/morfo/components/file-upload.ts b/src/uix/morfo/components/file-upload.ts index 2f67b9622..8eeeced59 100644 --- a/src/uix/morfo/components/file-upload.ts +++ b/src/uix/morfo/components/file-upload.ts @@ -5,6 +5,12 @@ export const fileUploadMorfo = { name: 'FileUpload', kebab: 'file-upload', scope: ['soma'], + translations: { + dropzone: { es: 'Subir archivos', en: 'Upload files' }, + trigger: { es: 'Seleccionar archivos', en: 'Select files' }, + list: { es: 'Archivos seleccionados', en: 'Selected files' }, + remove: { es: 'Eliminar archivo', en: 'Remove file' } + }, parts: [ { name: 'Provider', diff --git a/src/uix/soma/components/file-upload/README.md b/src/uix/soma/components/file-upload/README.md index 594a764e5..27cfa083f 100644 --- a/src/uix/soma/components/file-upload/README.md +++ b/src/uix/soma/components/file-upload/README.md @@ -57,7 +57,7 @@ A file upload component with drag-and-drop, click-to-browse, clipboard paste, va | Dropzone | `aria-disabled` | `true` \| `false` | | HiddenInput | `aria-hidden` | `true` | | FileList | `role` | `list` | -| FileList | `aria-label` | Translated "Uploaded files" | +| FileList | `aria-label` | Translated "Selected files" | | Item | `role` | `listitem` | | ItemProgress | `role` | `progressbar` | | ItemProgress | `aria-valuenow` | `0`–`100` | diff --git a/src/uix/soma/components/file-upload/langs.ts b/src/uix/soma/components/file-upload/langs.ts index efe77f0c2..d48de66d2 100644 --- a/src/uix/soma/components/file-upload/langs.ts +++ b/src/uix/soma/components/file-upload/langs.ts @@ -3,6 +3,6 @@ export const FILE_UPLOAD_LANGS = { DROPZONE: '#?components.file-upload.dropzone|Upload files', TRIGGER: '#?components.file-upload.trigger|Select files', REMOVE: '#?components.file-upload.remove|Remove file', - CLEAR: '#?components.file-upload.clear|Clear all', - LIST: '#?components.file-upload.list|Uploaded files' + CLEAR: '#?common.buttons.clear|Clear all', + LIST: '#?components.file-upload.list|Selected files' } as const;