mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 18:50:56 +08:00
fix(translate): fix translating state management (#9387)
* fix(translate): 修复翻译状态管理逻辑 调整翻译状态设置的位置,确保在翻译开始和结束时正确更新状态 * fix(translate): 添加缺失的setTranslating属性 * fix(translate): 去除检测语言结果中的空格 检测语言返回的结果可能包含多余空格,导致后续处理出现问题。通过trim()去除前后空格确保结果干净
This commit is contained in:
parent
ea797ac88a
commit
8e82f54c2b
@ -122,8 +122,6 @@ const TranslatePage: FC = () => {
|
||||
return
|
||||
}
|
||||
|
||||
setTranslating(true)
|
||||
|
||||
let translated: string
|
||||
try {
|
||||
translated = await translateText(text, actualTargetLanguage, throttle(setTranslatedContent, 100))
|
||||
@ -145,8 +143,6 @@ const TranslatePage: FC = () => {
|
||||
} catch (e) {
|
||||
logger.error('Failed to translate', e as Error)
|
||||
window.message.error(t('translate.error.unknown') + ': ' + (e as Error).message)
|
||||
} finally {
|
||||
setTranslating(false)
|
||||
}
|
||||
},
|
||||
[setTranslatedContent, setTranslating, t, translating]
|
||||
@ -163,6 +159,8 @@ const TranslatePage: FC = () => {
|
||||
return
|
||||
}
|
||||
|
||||
setTranslating(true)
|
||||
|
||||
try {
|
||||
// 确定源语言:如果用户选择了特定语言,使用用户选择的;如果选择'auto',则自动检测
|
||||
let actualSourceLanguage: TranslateLanguage
|
||||
@ -202,11 +200,14 @@ const TranslatePage: FC = () => {
|
||||
key: 'translate-message'
|
||||
})
|
||||
return
|
||||
} finally {
|
||||
setTranslating(false)
|
||||
}
|
||||
}, [
|
||||
bidirectionalPair,
|
||||
getLanguageByLangcode,
|
||||
isBidirectional,
|
||||
setTranslating,
|
||||
sourceLanguage,
|
||||
t,
|
||||
targetLanguage,
|
||||
|
||||
@ -41,7 +41,7 @@ export const detectLanguage = async (inputText: string): Promise<TranslateLangua
|
||||
throw new Error('Invalid detection method.')
|
||||
}
|
||||
logger.info(`Detected Language: ${result}`)
|
||||
return result
|
||||
return result.trim()
|
||||
}
|
||||
|
||||
const detectLanguageByLLM = async (inputText: string): Promise<TranslateLanguageCode> => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user