fix(langs): close P0 #3 — translations 58 errors + 8 warnings → 6 (all words) + 2

Catalogs creados (los 3 que faltaban):
- src/uix/langs/components/month-grid.ts (label)
- src/uix/langs/components/year-grid.ts (label)
- src/uix/langs/components/textarea.ts (label + count)

Catalogs con claves anadidas:
- field.ts: required-indicator (*), optional-indicator ((opcional))
- time-picker.ts: clock + hour + minute + second + day-period + am + pm + clear + cancel + close
- time-range-picker.ts: clock + day-period + clear + cancel + close

Common keys anadidas (compartidas entre grid components y picker views):
- common.month-grid.prev-year, next-year
- common.year-grid.prev-page, next-page

Barrel index.ts actualizado con los 3 nuevos catalogs:
month-grid, textarea, year-grid.

Cleanup de huerfanas que ningun morfo referenciaba (date-picker y
date-range-picker tenian clear/cancel/close en el catalog pero el morfo
los habia migrado a Button consumer via PickerShell):
- date-picker.ts: drop clear, cancel, close
- date-range-picker.ts: drop clear, cancel, close

Errores restantes (6 + 2 warn) son TODOS de words — out of scope
(en desarrollo aparte, no se toca esta sesion).

Pre: 58 errors + 8 warnings (translations:check)
Post: 6 errors (words) + 2 warnings (words)
Net: 0 errores y 0 warnings de no-words.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
active-uix
dev 5 months ago
parent 5256008700
commit ee1afdcfbb

@ -28,6 +28,17 @@ export const commonLangs = {
'month-select': { es: 'Seleccionar mes', en: 'Select month' },
'year-select': { es: 'Seleccionar año', en: 'Select year' }
},
// Shared month-grid / year-grid navigation strings — consumed by
// `month-grid`, `year-grid`, and the picker `MonthView`/`YearView`
// composites that delegate to them.
'month-grid': {
'prev-year': { es: 'Año anterior', en: 'Previous year' },
'next-year': { es: 'Año siguiente', en: 'Next year' }
},
'year-grid': {
'prev-page': { es: 'Años anteriores', en: 'Previous years' },
'next-page': { es: 'Años siguientes', en: 'Next years' }
},
date: {
year: { es: 'Año', en: 'Year' },
month: { es: 'Mes', en: 'Month' },

@ -20,16 +20,4 @@ export const datePickerLangs = {
es: "Calendario de fecha",
en: "Date calendar"
},
clear: {
es: 'Borrar fecha',
en: 'Clear date'
},
cancel: {
es: 'Cancelar',
en: 'Cancel'
},
close: {
es: 'Cerrar',
en: 'Close'
}
} satisfies LangNode;

@ -19,17 +19,5 @@ export const dateRangePickerLangs = {
calendar: {
es: 'Calendario de rango de fechas',
en: 'Date range calendar'
},
clear: {
es: 'Borrar rango',
en: 'Clear range'
},
cancel: {
es: 'Cancelar',
en: 'Cancel'
},
close: {
es: 'Cerrar',
en: 'Close'
}
} satisfies LangNode;

@ -5,4 +5,12 @@ export const fieldLangs = {
es: 'Campo',
en: 'Field'
},
'required-indicator': {
es: '*',
en: '*'
},
'optional-indicator': {
es: '(opcional)',
en: '(optional)'
}
} satisfies LangNode;

@ -35,6 +35,7 @@ import { linkPreviewLangs } from './link-preview';
import { listboxLangs } from './listbox';
import { menubarLangs } from './menubar';
import { meterLangs } from './meter';
import { monthGridLangs } from './month-grid';
import { navigationMenuLangs } from './navigation-menu';
import { numberFieldLangs } from './number-field';
import { paginationLangs } from './pagination';
@ -59,6 +60,7 @@ import { tableLangs } from './table';
import { tabsLangs } from './tabs';
import { tagGroupLangs } from './tag-group';
import { tagsInputLangs } from './tags-input';
import { textareaLangs } from './textarea';
import { timeFieldLangs } from './time-field';
import { timePickerLangs } from './time-picker';
import { timeRangeFieldLangs } from './time-range-field';
@ -73,6 +75,7 @@ import { treeViewLangs } from './tree-view';
import { virtualGridLangs } from './virtual-grid';
import { virtualListLangs } from './virtual-list';
import { wordsLangs } from './words';
import { yearGridLangs } from './year-grid';
/**
* Per-component default strings. Each morfo that uses `texts:` with
@ -115,6 +118,7 @@ export const componentLangs = {
listbox: listboxLangs,
menubar: menubarLangs,
meter: meterLangs,
'month-grid': monthGridLangs,
'navigation-menu': navigationMenuLangs,
'number-field': numberFieldLangs,
pagination: paginationLangs,
@ -139,6 +143,7 @@ export const componentLangs = {
tabs: tabsLangs,
'tag-group': tagGroupLangs,
'tags-input': tagsInputLangs,
textarea: textareaLangs,
'time-field': timeFieldLangs,
'time-picker': timePickerLangs,
'time-range-field': timeRangeFieldLangs,
@ -152,5 +157,6 @@ export const componentLangs = {
'tree-view': treeViewLangs,
'virtual-grid': virtualGridLangs,
'virtual-list': virtualListLangs,
words: wordsLangs
words: wordsLangs,
'year-grid': yearGridLangs
} satisfies LangNode;

@ -0,0 +1,18 @@
import type { LangNode } from '$libs/langs';
/**
* Default strings for the month-grid component. Merged under
* `components.month-grid.*` by `ActiveUix` (via `componentLangs` barrel).
*
* Morfo references entries by absolute idlangref:
* `'#?components.month-grid.{key}|fallback'`.
*
* Note: the prev/next navigation labels live under `common.month-grid.*`
* (shared with `date-picker.month-view` and `date-range-picker.month-view`).
*/
export const monthGridLangs = {
label: {
es: 'Cuadrícula de meses',
en: 'Month grid'
}
} satisfies LangNode;

@ -0,0 +1,19 @@
import type { LangNode } from '$libs/langs';
/**
* Default strings for the textarea component. Merged under
* `components.textarea.*` by `ActiveUix` (via `componentLangs` barrel).
*
* Morfo references entries by absolute idlangref:
* `'#?components.textarea.{key}|fallback'`.
*/
export const textareaLangs = {
label: {
es: 'Área de texto',
en: 'Text area'
},
count: {
es: '{{count}} de {{max}}',
en: '{{count}} of {{max}}'
}
} satisfies LangNode;

@ -13,7 +13,47 @@ export const timePickerLangs = {
en: 'Time picker'
},
trigger: {
es: "Abrir selector de hora",
en: "Open time picker"
es: 'Abrir selector de hora',
en: 'Open time picker'
},
clock: {
es: 'Reloj',
en: 'Time clock'
},
hour: {
es: 'Hora',
en: 'Hour'
},
minute: {
es: 'Minuto',
en: 'Minute'
},
second: {
es: 'Segundo',
en: 'Second'
},
'day-period': {
es: 'AM / PM',
en: 'AM / PM'
},
am: {
es: 'AM',
en: 'AM'
},
pm: {
es: 'PM',
en: 'PM'
},
clear: {
es: 'Borrar hora',
en: 'Clear time'
},
cancel: {
es: 'Cancelar',
en: 'Cancel'
},
close: {
es: 'Cerrar',
en: 'Close'
}
} satisfies LangNode;

@ -33,11 +33,31 @@ export const timeRangePickerLangs = {
en: "End minute"
},
'start-second-slider': {
es: "Segundo inicial",
en: "Start second"
es: 'Segundo inicial',
en: 'Start second'
},
'end-second-slider': {
es: "Segundo final",
en: "End second"
es: 'Segundo final',
en: 'End second'
},
clock: {
es: 'Reloj de rango',
en: 'Time range clock'
},
'day-period': {
es: 'AM / PM',
en: 'AM / PM'
},
clear: {
es: 'Borrar rango horario',
en: 'Clear time range'
},
cancel: {
es: 'Cancelar',
en: 'Cancel'
},
close: {
es: 'Cerrar',
en: 'Close'
}
} satisfies LangNode;

@ -0,0 +1,18 @@
import type { LangNode } from '$libs/langs';
/**
* Default strings for the year-grid component. Merged under
* `components.year-grid.*` by `ActiveUix` (via `componentLangs` barrel).
*
* Morfo references entries by absolute idlangref:
* `'#?components.year-grid.{key}|fallback'`.
*
* Note: the prev/next page labels live under `common.year-grid.*`
* (shared with `date-picker.year-view` and `date-range-picker.year-view`).
*/
export const yearGridLangs = {
label: {
es: 'Cuadrícula de años',
en: 'Year grid'
}
} satisfies LangNode;
Loading…
Cancel
Save

Powered by TurnKey Linux.