mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-09 14:59:27 +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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
setTranslating(true)
|
|
||||||
|
|
||||||
let translated: string
|
let translated: string
|
||||||
try {
|
try {
|
||||||
translated = await translateText(text, actualTargetLanguage, throttle(setTranslatedContent, 100))
|
translated = await translateText(text, actualTargetLanguage, throttle(setTranslatedContent, 100))
|
||||||
@ -145,8 +143,6 @@ const TranslatePage: FC = () => {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error('Failed to translate', e as Error)
|
logger.error('Failed to translate', e as Error)
|
||||||
window.message.error(t('translate.error.unknown') + ': ' + (e as Error).message)
|
window.message.error(t('translate.error.unknown') + ': ' + (e as Error).message)
|
||||||
} finally {
|
|
||||||
setTranslating(false)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[setTranslatedContent, setTranslating, t, translating]
|
[setTranslatedContent, setTranslating, t, translating]
|
||||||
@ -163,6 +159,8 @@ const TranslatePage: FC = () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTranslating(true)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 确定源语言:如果用户选择了特定语言,使用用户选择的;如果选择'auto',则自动检测
|
// 确定源语言:如果用户选择了特定语言,使用用户选择的;如果选择'auto',则自动检测
|
||||||
let actualSourceLanguage: TranslateLanguage
|
let actualSourceLanguage: TranslateLanguage
|
||||||
@ -202,11 +200,14 @@ const TranslatePage: FC = () => {
|
|||||||
key: 'translate-message'
|
key: 'translate-message'
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
} finally {
|
||||||
|
setTranslating(false)
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
bidirectionalPair,
|
bidirectionalPair,
|
||||||
getLanguageByLangcode,
|
getLanguageByLangcode,
|
||||||
isBidirectional,
|
isBidirectional,
|
||||||
|
setTranslating,
|
||||||
sourceLanguage,
|
sourceLanguage,
|
||||||
t,
|
t,
|
||||||
targetLanguage,
|
targetLanguage,
|
||||||
|
|||||||
@ -41,7 +41,7 @@ export const detectLanguage = async (inputText: string): Promise<TranslateLangua
|
|||||||
throw new Error('Invalid detection method.')
|
throw new Error('Invalid detection method.')
|
||||||
}
|
}
|
||||||
logger.info(`Detected Language: ${result}`)
|
logger.info(`Detected Language: ${result}`)
|
||||||
return result
|
return result.trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
const detectLanguageByLLM = async (inputText: string): Promise<TranslateLanguageCode> => {
|
const detectLanguageByLLM = async (inputText: string): Promise<TranslateLanguageCode> => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user