From 23675fa5a587f63b0ab1ae72da93aaf795e4a9ad Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 6 Mar 2026 08:11:21 -0800 Subject: [PATCH] feat(chat): use app language setting for voice-to-text STT language Reads settingsProvider.language (BCP-47 code) and passes it to the Whisper transcribe call instead of hardcoding 'zh'. Co-Authored-By: Claude Sonnet 4.6 --- it0_app/lib/features/chat/presentation/pages/chat_page.dart | 4 +++- .../features/chat/presentation/providers/chat_providers.dart | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/it0_app/lib/features/chat/presentation/pages/chat_page.dart b/it0_app/lib/features/chat/presentation/pages/chat_page.dart index 2e9e6fd..c1b343d 100644 --- a/it0_app/lib/features/chat/presentation/pages/chat_page.dart +++ b/it0_app/lib/features/chat/presentation/pages/chat_page.dart @@ -13,6 +13,7 @@ import '../widgets/approval_action_card.dart'; import '../widgets/conversation_drawer.dart'; import '../../../agent_call/presentation/pages/agent_call_page.dart'; import '../widgets/voice_mic_button.dart'; +import '../../../settings/presentation/providers/settings_providers.dart'; // --------------------------------------------------------------------------- // Chat page – Timeline workflow style (inspired by Claude Code VSCode) @@ -61,7 +62,8 @@ class _ChatPageState extends ConsumerState { _messageController.text = '识别中…'; }); try { - final text = await ref.read(chatProvider.notifier).transcribeAudio(audioPath); + final language = ref.read(settingsProvider).language; + final text = await ref.read(chatProvider.notifier).transcribeAudio(audioPath, language: language); if (mounted) { setState(() { _messageController.text = text; diff --git a/it0_app/lib/features/chat/presentation/providers/chat_providers.dart b/it0_app/lib/features/chat/presentation/providers/chat_providers.dart index 347e985..db97861 100644 --- a/it0_app/lib/features/chat/presentation/providers/chat_providers.dart +++ b/it0_app/lib/features/chat/presentation/providers/chat_providers.dart @@ -573,9 +573,9 @@ class ChatNotifier extends StateNotifier { } } - Future transcribeAudio(String audioPath) async { + Future transcribeAudio(String audioPath, {String language = 'zh'}) async { final datasource = _ref.read(chatRemoteDatasourceProvider); - return datasource.transcribeAudio(audioPath: audioPath); + return datasource.transcribeAudio(audioPath: audioPath, language: language); } Future cancelCurrentTask() async {