From a551234a29ee4f3915933fc3bd6c2a9d445a2300 Mon Sep 17 00:00:00 2001 From: Gigi Date: Mon, 20 Oct 2025 22:59:26 +0200 Subject: [PATCH] feat(tts): use Speaker language mode (system|content) with fallback to legacy flags --- src/components/TTSControls.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/TTSControls.tsx b/src/components/TTSControls.tsx index b782589e..305d5753 100644 --- a/src/components/TTSControls.tsx +++ b/src/components/TTSControls.tsx @@ -24,13 +24,18 @@ const TTSControls: React.FC = ({ text, defaultLang, className, settings } const canPlay = supported && text?.trim().length > 0 const resolvedSystemLang = useMemo(() => { - if (settings?.ttsUseSystemLanguage) { + const mode = settings?.ttsLanguageMode + if ((mode ? mode === 'system' : settings?.ttsUseSystemLanguage) === true) { return navigator?.language?.split('-')[0] } return undefined - }, [settings?.ttsUseSystemLanguage]) + }, [settings?.ttsLanguageMode, settings?.ttsUseSystemLanguage]) - const detectContentLang = useMemo(() => settings?.ttsDetectContentLanguage !== false, [settings?.ttsDetectContentLanguage]) + const detectContentLang = useMemo(() => { + const mode = settings?.ttsLanguageMode + if (mode) return mode === 'content' + return settings?.ttsDetectContentLanguage !== false + }, [settings?.ttsLanguageMode, settings?.ttsDetectContentLanguage]) const handlePlayPause = () => { if (!canPlay) return