feat: translate final remaining Spanish text in AgenticReadinessTab
- Translate Quick Wins insights ("have >60% volume in T1+T2")
- Translate attention alerts ("has X% in HUMAN → prioritize in Wave 1")
- Translate balanced distribution message
- Translate "have at least one tier AUTOMATE queue"
- Translate "Show less" / "View all" buttons
- Add t parameter to SkillsReadinessTable component
- All AgenticReadinessTab text now 100% bilingual (en/es)
https://claude.ai/code/session_01GNbnkFoESkRcnPr3bLCYDg
This commit is contained in:
@@ -1958,18 +1958,18 @@ function SkillClassificationSection({ drilldownData }: { drilldownData: Drilldow
|
||||
{quickWins.length > 0 && (
|
||||
<p className="text-xs" style={{ color: COLORS.dark }}>
|
||||
<span style={{ color: COLORS.primary }}>🎯 Quick Wins:</span>{' '}
|
||||
{quickWins.map(s => s.skill).join(' + ')} tienen >60% volumen en T1+T2
|
||||
{quickWins.map(s => s.skill).join(' + ')} {t('agenticReadiness.roadmapConnection.quickWinsHaveVolume')}
|
||||
</p>
|
||||
)}
|
||||
{alerts.length > 0 && (
|
||||
<p className="text-xs" style={{ color: COLORS.dark }}>
|
||||
<span>⚠️ Atención:</span>{' '}
|
||||
{alerts.map(s => `${s.skill} tiene ${Math.round(s.tierPcts['HUMAN-ONLY'])}% en HUMAN`).join('; ')} → priorizar en Wave 1
|
||||
{alerts.map(s => `${s.skill} ${t('agenticReadiness.roadmapConnection.hasPercentInHuman', { pct: Math.round(s.tierPcts['HUMAN-ONLY']) })}`).join('; ')} {t('agenticReadiness.roadmapConnection.prioritizeInWave1')}
|
||||
</p>
|
||||
)}
|
||||
{quickWins.length === 0 && alerts.length === 0 && (
|
||||
<p className="text-xs" style={{ color: COLORS.medium }}>
|
||||
Distribución equilibrada entre tiers. Revisar colas individuales para priorización.
|
||||
{t('agenticReadiness.roadmapConnection.balancedDistribution')}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
@@ -1979,7 +1979,7 @@ function SkillClassificationSection({ drilldownData }: { drilldownData: Drilldow
|
||||
}
|
||||
|
||||
// Skills Heatmap/Table (fallback cuando no hay drilldownData)
|
||||
function SkillsReadinessTable({ heatmapData }: { heatmapData: HeatmapDataPoint[] }) {
|
||||
function SkillsReadinessTable({ heatmapData, t }: { heatmapData: HeatmapDataPoint[]; t: any }) {
|
||||
const sortedData = [...heatmapData].sort((a, b) => b.automation_readiness - a.automation_readiness);
|
||||
|
||||
const formatVolume = (v: number) => v >= 1000 ? `${Math.round(v / 1000)}K` : v.toString();
|
||||
@@ -2958,11 +2958,11 @@ function PriorityCandidatesSection({ drilldownData, redFlagConfigs, t }: { drill
|
||||
<div className="px-5 py-3 bg-gray-50 border-t border-gray-200">
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="text-xs text-gray-500">
|
||||
<span className="font-medium">{candidateSkills.length}</span> de {drilldownData.length} skills
|
||||
tienen al menos una cola tier AUTOMATE
|
||||
<span className="font-medium">{candidateSkills.length}</span> {t('agenticReadiness.filters.of')} {drilldownData.length} skills
|
||||
{t('agenticReadiness.roadmapConnection.haveAtLeastOne')}
|
||||
</p>
|
||||
<p className="text-xs text-gray-400">
|
||||
Haz clic en un skill para ver las colas individuales con desglose de score
|
||||
{t('agenticReadiness.table.clickToExpand')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3486,11 +3486,11 @@ function SkillsToOptimizeSection({ drilldownData }: { drilldownData: DrilldownDa
|
||||
>
|
||||
{showAll ? (
|
||||
<>
|
||||
<ChevronUp className="w-3 h-3" /> Mostrar menos
|
||||
<ChevronUp className="w-3 h-3" /> {t('agenticReadiness.roadmapConnection.showLess')}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<ChevronDown className="w-3 h-3" /> Ver todos ({skillsToOptimize.length})
|
||||
<ChevronDown className="w-3 h-3" /> {t('agenticReadiness.roadmapConnection.viewAll', { count: skillsToOptimize.length })}
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
@@ -3745,7 +3745,7 @@ export function AgenticReadinessTab({ data, onTabChange }: AgenticReadinessTabPr
|
||||
</>
|
||||
) : (
|
||||
/* Fallback a tabla por Línea de Negocio si no hay drilldown data */
|
||||
<SkillsReadinessTable heatmapData={data.heatmapData} />
|
||||
<SkillsReadinessTable heatmapData={data.heatmapData} t={t} />
|
||||
)}
|
||||
|
||||
{/* Link al Roadmap */}
|
||||
|
||||
@@ -1121,7 +1121,14 @@
|
||||
"potentialWithCopilot": "Potential with Copilot:",
|
||||
"deflection": "deflection",
|
||||
"requiresWave1": "→ Requires Wave 1 (Foundation) to enable Copilot in Wave 3",
|
||||
"calculationNote": "Calculation: {{volume}} int × 12 months × {{rate}}% {{type}} × €{{cpi}}/int"
|
||||
"calculationNote": "Calculation: {{volume}} int × 12 months × {{rate}}% {{type}} × €{{cpi}}/int",
|
||||
"quickWinsHaveVolume": "have >60% volume in T1+T2",
|
||||
"hasPercentInHuman": "has {{pct}}% in HUMAN",
|
||||
"prioritizeInWave1": "→ prioritize in Wave 1",
|
||||
"balancedDistribution": "Balanced distribution across tiers. Review individual queues for prioritization.",
|
||||
"haveAtLeastOne": "have at least one tier AUTOMATE queue",
|
||||
"showLess": "Show less",
|
||||
"viewAll": "View all ({{count}})"
|
||||
},
|
||||
"factorsExtended": {
|
||||
"volumeMethodology": "Score = normalized log10(Volume). >5000 → 10, <100 → 2",
|
||||
|
||||
@@ -1152,7 +1152,14 @@
|
||||
"potentialWithCopilot": "Potencial con Copilot:",
|
||||
"deflection": "deflection",
|
||||
"requiresWave1": "→ Requiere Wave 1 (Foundation) para habilitar Copilot en Wave 3",
|
||||
"calculationNote": "Cálculo: {{volume}} int × 12 meses × {{rate}}% {{type}} × €{{cpi}}/int"
|
||||
"calculationNote": "Cálculo: {{volume}} int × 12 meses × {{rate}}% {{type}} × €{{cpi}}/int",
|
||||
"quickWinsHaveVolume": "tienen >60% volumen en T1+T2",
|
||||
"hasPercentInHuman": "tiene {{pct}}% en HUMAN",
|
||||
"prioritizeInWave1": "→ priorizar en Wave 1",
|
||||
"balancedDistribution": "Distribución equilibrada entre tiers. Revisar colas individuales para priorización.",
|
||||
"haveAtLeastOne": "tienen al menos una cola tier AUTOMATE",
|
||||
"showLess": "Mostrar menos",
|
||||
"viewAll": "Ver todos ({{count}})"
|
||||
},
|
||||
"factorsExtended": {
|
||||
"volumeMethodology": "Score = log10(Volumen) normalizado. >5000 → 10, <100 → 2",
|
||||
|
||||
Reference in New Issue
Block a user