diff --git a/web/app/components/app/workflow-log/trigger-by-display.tsx b/web/app/components/app/workflow-log/trigger-by-display.tsx index 2d71ad097a..27676c5239 100644 --- a/web/app/components/app/workflow-log/trigger-by-display.tsx +++ b/web/app/components/app/workflow-log/trigger-by-display.tsx @@ -96,9 +96,26 @@ const getTriggerIcon = (triggeredFrom: string, triggerInfo?: TriggerInfo) => { const pickLabel = (labelMap?: Record, language?: string) => { if (!labelMap) return '' - if (language && labelMap[language]) - return labelMap[language] - return labelMap.en_US || labelMap['en-US'] || Object.values(labelMap)[0] || '' + + const candidates: string[] = [] + if (language) { + candidates.push(language) + const underscored = language.replace('-', '_') + candidates.push(underscored) + const parts = underscored.split('_') + if (parts.length > 1) + candidates.push(`${parts[0]}_${parts[1].toUpperCase()}`) + candidates.push(parts[0]) + } + candidates.push('en_US', 'en-US', 'en') + + for (const key of candidates) { + if (key && labelMap[key]) + return labelMap[key] + } + + const firstValue = Object.values(labelMap)[0] + return firstValue || '' } const TriggerByDisplay: FC = ({