feat: complete translation of remaining Spanish strings in Law10Tab and RoadmapTab

Law10Tab changes:
- Fixed 3 Spanish time unit abbreviations (año→yr, mes→mo)
- Changed "65K/año" to "65K/yr" (line 1444)
- Changed "35K + 8K/mes" to "35K + 8K/mo" (line 1448)
- Changed "12-18K/año" to "12-18K/yr" (line 1452)

RoadmapTab changes (41 strings translated):
- Translated DECISION_GATES object (18 keys) - converted to getDecisionGates(t) function
- Translated timeline title and description (2 keys)
- Translated all payback tooltip texts (5 keys)
- Translated wave descriptions and recommendations (12 keys)
- Translated scenario comparison texts (4 keys)
- Added useTranslation() hook to RoadmapTimeline component
- Updated recommendation generation to use t() with interpolation

Translation keys added:
- roadmap.payback.* (5 new keys)
- roadmap.decisionGates.* (12 keys)
- roadmap.timeline.* (2 keys)
- roadmap.specificRecommendations.* (12 keys)
- roadmap.scenarios.* (3 keys)
- roadmap.wave2Description.* (2 keys)

All components now fully support Spanish-English translation switching.

https://claude.ai/code/session_01GNbnkFoESkRcnPr3bLCYDg
This commit is contained in:
Claude
2026-02-07 18:40:10 +00:00
parent 76a93e0dd0
commit bafd8e3f61
4 changed files with 135 additions and 51 deletions

View File

@@ -545,8 +545,11 @@
"immediate": "Inmediato",
"recoversWithAutomation": "Esta inversión se recupera con las waves de automatización (W3-W4). El payback se calcula sobre el roadmap completo, no sobre waves habilitadoras aisladas.",
"savingsDoNotCoverRecurring": "El ahorro anual no supera los costes recurrentes.",
"savingsDoNotCoverRecurringWithMargin": "El ahorro anual no supera los costes recurrentes. Margen neto: {{margin}}/año",
"implementationRecoveryMargin": "Implementación: {{impl}} meses → Recuperación: {{rec}} meses. Margen: {{margin}}/año.",
"moderateRecoveryPeriod": "Periodo de recuperación moderado.",
"longRecoveryPeriod": "Periodo de recuperación largo. Considerar escenario menos ambicioso."
"longRecoveryPeriod": "Periodo de recuperación largo. Considerar escenario menos ambicioso.",
"roiValidateWithPilot": "ROI alto - validar con piloto"
},
"waves": {
"wave1Name": "Wave 1",
@@ -645,7 +648,10 @@
"roiNote": "ROI: (Ahorro 3a - Coste Total 3a) / Coste Total 3a × 100. Ajustado aplica riesgo: W1-2: 75-90%, W3: 60%, W4: 50%.",
"enablerNote": "💡 Habilitador: Waves que desbloquean ROI de waves posteriores. Su payback se evalúa con el roadmap completo.",
"enablerValue": "💡 Valor real de esta inversión:",
"enablerUnlocks": "Desbloquea {{amount}}/año en {{waves}}. Sin esta base, las waves posteriores no son viables."
"enablerUnlocks": "Desbloquea {{amount}}/año en {{waves}}. Sin esta base, las waves posteriores no son viables.",
"unlocks": "Desbloquea {{waves}}",
"enablesAmount": "habilita {{amount}}",
"startConservative": "Iniciar con escenario conservador para validar modelo antes de escalar."
},
"decisionGates": {
"gate1Question": "¿CV ≤75% en 3+ colas?",
@@ -689,6 +695,7 @@
"risk": "Riesgo",
"scenario": "Escenario",
"recommendation": "Recomendación",
"recommendationEnabler": "Recomendación (Habilitador)",
"enabler": "Habilitador",
"recommended": "Recomendado"
},
@@ -779,6 +786,24 @@
"wave1": "Colas que alcancen Score 3.5-5.5 post Wave 1",
"wave2": "Colas que alcancen Score ≥5.5 post Wave 2",
"wave3": "Colas que alcancen Score ≥7.5 post Wave 3"
},
"wave2Description": {
"ready": "{{skill}} es el skill con mejor Score ({{score}}/10, categoría \"Copilot\"). Volumen {{volume}}/año = mayor impacto económico.",
"notReady": "Ningún skill alcanza actualmente Score ≥6. El mejor candidato es {{skill}} con Score {{score}}/10. Requiere optimización previa en Wave 1."
},
"specificRecommendations": {
"launchWave4": "Lanzar Wave 4 (AUTOMATE) en piloto",
"launchWave4Rationale": "{{count}} colas ya tienen Score ≥7.5 con volumen de {{volume}} int/mes.",
"launchWave4NextStep": "Iniciar piloto de automatización en las 2-3 colas de mayor volumen con ahorro potencial de {{amount}}/año.",
"initiateWave3": "Iniciar Wave 3 (ASSIST) con Copilot",
"initiateWave3Rationale": "{{count}} colas tienen Score 5.5-7.5, representando {{pct}}% del volumen.",
"initiateWave3NextStep": "Desplegar Copilot IA en colas Tier 2 para elevar score a ≥7.5 y habilitar Wave 4. Inversión: {{amount}}.",
"prioritizeWave1": "Priorizar Wave 1 (FOUNDATION)",
"prioritizeWave1Rationale": "{{count}} colas ({{pct}}%) tienen Red Flags que impiden automatización.",
"prioritizeWave1NextStep": "Estandarizar procesos antes de invertir en IA. La automatización sin fundamentos sólidos fracasa en 80%+ de casos.",
"executeWave12": "Ejecutar Wave 1-2 secuencialmente",
"executeWave12Rationale": "Operación mixta: {{automate}} colas Tier 1, {{assist}} Tier 2, {{augment}} Tier 3, {{human}} Tier 4.",
"executeWave12NextStep": "Comenzar con FOUNDATION para eliminar red flags, seguido de AUGMENT para elevar scores. Inversión inicial: {{amount}}."
}
},
"opportunities": {