diff --git a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx index 820adfd4..e4260ceb 100644 --- a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx +++ b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx @@ -126,8 +126,9 @@ const MessageMenubar: FC = (props) => { setIsTranslating(true) try { - const translatedText = await translateText(message.content, language) - onEditMessage?.({ ...message, translatedContent: translatedText }) + await translateText(message.content, language, (text) => + onEditMessage?.({ ...message, translatedContent: text }) + ) } catch (error) { console.error('Translation failed:', error) window.message.error({ diff --git a/src/renderer/src/services/TranslateService.ts b/src/renderer/src/services/TranslateService.ts index bda31b68..2d6a2c4d 100644 --- a/src/renderer/src/services/TranslateService.ts +++ b/src/renderer/src/services/TranslateService.ts @@ -6,7 +6,7 @@ import { getDefaultTopic } from './AssistantService' import { getDefaultTranslateAssistant } from './AssistantService' import { getUserMessage } from './MessagesService' -export const translateText = async (text: string, targetLanguage: string) => { +export const translateText = async (text: string, targetLanguage: string, onResponse?: (text: string) => void) => { const translateModel = store.getState().llm.translateModel if (!translateModel) { @@ -25,7 +25,7 @@ export const translateText = async (text: string, targetLanguage: string) => { content: text }) - const translatedText = await fetchTranslate({ message, assistant }) + const translatedText = await fetchTranslate({ message, assistant, onResponse }) const trimmedText = translatedText.trim()