18 lines
2.3 KiB
Markdown
18 lines
2.3 KiB
Markdown
# F-116 — Traducir categorías legacy a Español (Title Case)
|
|
|
|
## Cambios
|
|
1. **Tabla de traducciones** en `src/modules/categories/legacy/legacy-catalog.ts`:
|
|
- Map de nombre en inglés → nombre en español Title Case.
|
|
- Cubre las 39 categorías reales (no marcas).
|
|
- Cambios: HERBALIST → Herbolaria, FOOD → Alimentación, COSMETICS → Cosmética, DIET AND NUTRITION → Dietética y Nutrición, NUTS & SEEDS → Frutos Secos y Semillas, BREAD & PASTRIES → Pan y Bollería, LEGUMES → Legumbres, FLOUR & CEREALS → Harinas y Cereales, PASTA & RICE → Pasta y Arroz, CREAMS & JAMS → Cremas y Mermeladas, FRUTAS Y VERDURAS (ya está en español), SUGAR & SWEETENERS → Azúcar y Endulzantes, BEVERAGES → Bebidas, OIL AND VINEGAR → Aceite y Vinagre, RAW FOOD → Comida Cruda, HIERBAS MEDICINALES (ya está), SUPLEMENTS → Suplementos, OILS & EXTRACTS → Aceites y Extractos, FACIAL → Facial, CORPORAL → Corporal, ASEO PERSONAL → Aseo Personal, HOME → Hogar, MACROBIOTIC → Macrobiótica, SNACKS → Snacks, BOOKS → Libros, FRESH PRODUCTS → Productos Frescos, WINE → Vino, BEER → Cerveza, VEGETAL MILKS → Bebidas Vegetales, JUICES → Zumos, SODAS → Refrescos, CHILDREN → Niños, BABYS & KIDS → Bebés y Niños, TEA & INFUSIONS → Té e Infusiones, SPICE & CONDIMENTS → Especias y Condimentos, CHOCOLATE & SWEETS → Chocolate y Dulces, CLEANING → Limpieza, PROVEEDORES (ya está), GRANOLA → Granola.
|
|
|
|
2. **Slug con acento**: `slugify` actualmente quita los diacríticos. Para F-116, los slugs de categorías en español deben preservar lo fundamental. Decisión: seguir quitando los diacríticos (consistente con el resto del catálogo: `alimentacion`, `cosmetica-e-higiene`). Alternativa: dejar los acentos y relajar la regex. Nos quedamos con la primera opción por consistencia.
|
|
|
|
3. **Seed script**: añade un comando `seed --translate` (o ampliar el actual) que traduce los nombres en su lugar. Idempotente: si el slug existe y el name ya está en español, skip.
|
|
|
|
4. **Tests**: validación de la tabla de traducción (cubrir todas las entradas), normalización Title Case.
|
|
|
|
## Tests
|
|
- `legacy-catalog-translations.test.ts`: la tabla tiene la misma cantidad de entradas que `LEGACY_ENTRIES` con kind='category' (excepto los que ya están en español).
|
|
- Validación de Title Case: la primera letra de cada palabra en mayúscula.
|