1.4 KiB
1.4 KiB
F-116 — Traducir categorías legacy a Español (Title Case)
Cambios
src/modules/categories/legacy/legacy-catalog.ts:CATEGORY_TRANSLATIONS: tabla de traducción para las 39 categorías reales (incluye las que ya estaban en español como alias).translateCategoryName(name): devuelve el nombre en español o el original si no hay mapping.buildRenamePlan(existingCategoryNames): lista de renombres en sitio (ocId, oldName, newName).buildImportPlan: ahora ignora entradas cuyo nombre en inglés ya está en el catálogo (las maneja el rename plan).
src/modules/categories/tests/legacy-catalog.test.ts: 3 nuevos tests (Title Case, cobertura, renombre).scripts/seed-legacy-categories.mjs:buildRenamePlanse calcula al inicio.- Tras los inserts, ejecuta
UPDATE categories_categories SET name = $1 WHERE name = $2por cada rename. - Idempotente: re-ejecuciones no renombran nada.
Aplicación
- 30 categorías renombradas en su lugar (slugs conservados).
- 0 inserts nuevos (todas las categorías ya existían desde F-114).
- 0 renames en segunda ejecución (idempotente).
Evidencia
npm run typecheckOK.npm test: 172 passed / 0 failed (3 nuevos).npm run buildOK.- DB:
nuts-and-seeds→ "Frutos Secos y Semillas",wine→ "Vino",tea-and-infusions→ "Té e Infusiones",home→ "Hogar". - URLs (
/categoria/<slug>) intactas: los slugs no cambian.