refactor: implement i18n in MetodologiaDrawer (phase 4)

Refactored MetodologiaDrawer to use react-i18next translations:
- All 8 subsections (DataSummary, Pipeline, Taxonomy, KPI, CPI, BeforeAfter, SkillsMapping, Guarantees)
- 100+ text strings replaced with t() calls
- Month names in date formatting

Added translation keys to es.json and en.json:
- methodology section with 40+ new keys
- CPI calculation components
- Impact analysis labels
- Skill mapping explanations

Build verified successfully.

https://claude.ai/code/session_4f888c33-8937-4db8-8a9d-ddc9ac51a725
This commit is contained in:
Claude
2026-02-06 19:11:38 +00:00
parent bbc9cce344
commit 92931ea2dd
3 changed files with 195 additions and 150 deletions

View File

@@ -713,6 +713,10 @@
"monthsHistory": "Months of history",
"sourceSystem": "Source system",
"periodRange": "Period: {{period}}",
"defaultPeriod": "January - December 2025",
"sourceGenesys": "Genesys Cloud CX",
"sourceDataset": "Loaded dataset",
"pdfDevelopment": "PDF download functionality under development. The document will be available soon.",
"pipeline": {
"title": "Transformation Pipeline",
"description": "Modular 3-layer architecture to ensure traceability and scalability.",
@@ -771,6 +775,21 @@
"howCalculate": "How is Total Cost calculated?",
"costEquals": "Cost ="
},
"cpi": {
"description": "CPI is calculated by dividing <strong>total cost</strong> by <strong>interaction volume</strong>. Total cost includes <em>all</em> interactions (noise, zombie, and valid) because all are billed, and applies a productivity factor of {{productivity}}%.",
"volume": "Volume",
"ahtExplanation": "The <strong>AHT</strong> is in seconds, converted to hours by dividing by 3600. Includes all interactions that generate cost (noise + zombie + valid). Only abandons are excluded because they don't consume agent time.",
"hourlyRate": "Agent Hourly Rate (Fully Loaded)",
"configuredValue": "Configured value: €{{value}}/h",
"includesAllCosts": "This value was configured in the data input screen and should include all costs associated with the agent:",
"cost1": "Agent gross salary",
"cost2": "Social security costs",
"cost3": "Software licenses",
"cost4": "Infrastructure and workstation",
"cost5": "Supervision and QA",
"cost6": "Training and overhead",
"adjustNote": "If you need to adjust this value, you can return to the data input screen and modify it."
},
"impact": {
"title": "Transformation Impact",
"metric": "Metric",
@@ -784,12 +803,18 @@
"revealsDemand": "Reveals hidden failed demand",
"detectsFrustration": "Detects real customer frustration",
"executiveVision": "Actionable executive vision",
"reflectsPerformance": "KPIs reflect real performance"
"reflectsPerformance": "KPIs reflect real performance",
"technicalSkills": "{{count}} technical",
"businessLines": "{{count}} business lines",
"distorted": "Distorted",
"clean": "Clean",
"withoutTransformation": "Without this transformation,",
"wrongInvestments": "automation decisions would be based on incorrect data, generating investments in the wrong processes."
},
"skillMapping": {
"title": "Skills to Business Lines Mapping",
"simplificationApplied": "Simplification applied",
"reductionDesc": "Reduced complexity from 980 technical skills to {{count}} actionable Business Lines using fuzzy keyword logic.",
"reductionDesc": "Reduced complexity from 980 technical skills to {{count}} Business Lines. This simplification is vital for executive visualization and strategic decision making.",
"businessLine": "Business Line",
"keywords": "Detected Keywords (Fuzzy Logic)",
"baggage": "Baggage & Handling",
@@ -799,7 +824,8 @@
"changes": "Changes & Post-Sales",
"digital": "Digital Support",
"customer": "Customer Service",
"internal": "Internal / Backoffice"
"internal": "Internal / Backoffice",
"fuzzyLogicNote": "The mapping uses fuzzy logic to automatically classify each technical skill based on keywords detected in its name. Unclassified skills are assigned to \"Customer Service\"."
},
"quality": {
"title": "Quality Guarantees",

View File

@@ -713,6 +713,10 @@
"monthsHistory": "Meses de histórico",
"sourceSystem": "Sistema origen",
"periodRange": "Periodo: {{period}}",
"defaultPeriod": "Enero - Diciembre 2025",
"sourceGenesys": "Genesys Cloud CX",
"sourceDataset": "Dataset cargado",
"pdfDevelopment": "Funcionalidad de descarga PDF en desarrollo. El documento estará disponible próximamente.",
"pipeline": {
"title": "Pipeline de Transformación",
"description": "Arquitectura modular de 3 capas para garantizar trazabilidad y escalabilidad.",
@@ -771,6 +775,21 @@
"howCalculate": "¿Cómo se calcula el Coste Total?",
"costEquals": "Coste ="
},
"cpi": {
"description": "El CPI se calcula dividiendo el <strong>coste total</strong> entre el <strong>volumen de interacciones</strong>. El coste total incluye <em>todas</em> las interacciones (noise, zombie y válidas) porque todas se facturan, y aplica un factor de productividad del {{productivity}}%.",
"volume": "Volumen",
"ahtExplanation": "El <strong>AHT</strong> está en segundos, se convierte a horas dividiendo por 3600. Incluye todas las interacciones que generan coste (noise + zombie + válidas). Solo se excluyen los abandonos porque no consumen tiempo de agente.",
"hourlyRate": "Coste por Hora del Agente (Fully Loaded)",
"configuredValue": "Valor introducido: €{{value}}/h",
"includesAllCosts": "Este valor fue configurado en la pantalla de entrada de datos y debe incluir todos los costes asociados al agente:",
"cost1": "Salario bruto del agente",
"cost2": "Costes de seguridad social",
"cost3": "Licencias de software",
"cost4": "Infraestructura y puesto",
"cost5": "Supervisión y QA",
"cost6": "Formación y overhead",
"adjustNote": "Si necesita ajustar este valor, puede volver a la pantalla de entrada de datos y modificarlo."
},
"impact": {
"title": "Impacto de la Transformación",
"metric": "Métrica",
@@ -784,12 +803,18 @@
"revealsDemand": "Revela demanda fallida oculta",
"detectsFrustration": "Detecta frustración cliente real",
"executiveVision": "Visión ejecutiva accionable",
"reflectsPerformance": "KPIs reflejan desempeño real"
"reflectsPerformance": "KPIs reflejan desempeño real",
"technicalSkills": "{{count}} técnicos",
"businessLines": "{{count}} líneas negocio",
"distorted": "Distorsionado",
"clean": "Limpio",
"withoutTransformation": "Sin esta transformación,",
"wrongInvestments": "las decisiones de automatización se basarían en datos incorrectos, generando inversiones en los procesos equivocados."
},
"skillMapping": {
"title": "Mapeo de Skills a Líneas de Negocio",
"simplificationApplied": "Simplificación aplicada",
"reductionDesc": "Se redujo la complejidad de 980 skills técnicos a {{count}} Líneas de Negocio accionables mediante lógica fuzzy de palabras clave.",
"reductionDesc": "Se redujo la complejidad de 980 skills técnicos a {{count}} Líneas de Negocio. Esta simplificación es vital para la visualización ejecutiva y la toma de decisiones estratégicas.",
"businessLine": "Línea de Negocio",
"keywords": "Keywords Detectadas (Lógica Fuzzy)",
"baggage": "Baggage & Handling",
@@ -799,7 +824,8 @@
"changes": "Changes & Post-Sales",
"digital": "Digital Support",
"customer": "Customer Service",
"internal": "Internal / Backoffice"
"internal": "Internal / Backoffice",
"fuzzyLogicNote": "El mapeo utiliza lógica fuzzy para clasificar automáticamente cada skill técnico según las keywords detectadas en su nombre. Los skills no clasificados se asignan a \"Customer Service\"."
},
"quality": {
"title": "Garantías de Calidad",