diff --git a/frontend/src/app/dashboard/translate/GlossarySelector.tsx b/frontend/src/app/dashboard/translate/GlossarySelector.tsx index 5dba7c5..3bffa45 100644 --- a/frontend/src/app/dashboard/translate/GlossarySelector.tsx +++ b/frontend/src/app/dashboard/translate/GlossarySelector.tsx @@ -284,10 +284,13 @@ export function GlossarySelector({ sourceLang, targetLang, isPro, mode, glossary setIsGlossaryEnabled(nextVal); if (!nextVal) { onChange(null); - } else if (filteredGlossaries.length > 0 && !glossaryId) { - // Prefer glossary matching target language, fall back to first + } else if (!glossaryId) { + // Only auto-select if a glossary matches BOTH source and target language const matching = filteredGlossaries.find(g => g.target_language === targetLang); - onChange(matching ? matching.id : filteredGlossaries[0].id); + if (matching) { + onChange(matching.id); + } + // If no glossary matches the target, leave unselected — user picks manually } }} className={cn(