mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-29 23:12:38 +08:00
fix: update source language handling and persist user selection in TranslatePage component (#7243)
This commit is contained in:
parent
c660aaba3d
commit
d9b8e68c30
@ -229,7 +229,7 @@ const TranslatePage: FC = () => {
|
||||
const [bidirectionalPair, setBidirectionalPair] = useState<[string, string]>(['english', 'chinese'])
|
||||
const [settingsVisible, setSettingsVisible] = useState(false)
|
||||
const [detectedLanguage, setDetectedLanguage] = useState<string | null>(null)
|
||||
const [sourceLanguage, setSourceLanguage] = useState<string>('auto') // 添加用户选择的源语言状态
|
||||
const [sourceLanguage, setSourceLanguage] = useState<string>('auto')
|
||||
const contentContainerRef = useRef<HTMLDivElement>(null)
|
||||
const textAreaRef = useRef<TextAreaRef>(null)
|
||||
const outputTextRef = useRef<HTMLDivElement>(null)
|
||||
@ -307,8 +307,7 @@ const TranslatePage: FC = () => {
|
||||
let actualSourceLanguage: string
|
||||
if (sourceLanguage === 'auto') {
|
||||
actualSourceLanguage = await detectLanguage(text)
|
||||
console.log('检测到的语言:', actualSourceLanguage)
|
||||
setDetectedLanguage(actualSourceLanguage) // 更新检测到的语言
|
||||
setDetectedLanguage(actualSourceLanguage)
|
||||
} else {
|
||||
actualSourceLanguage = sourceLanguage
|
||||
}
|
||||
@ -385,6 +384,9 @@ const TranslatePage: FC = () => {
|
||||
const targetLang = await db.settings.get({ id: 'translate:target:language' })
|
||||
targetLang && setTargetLanguage(targetLang.value)
|
||||
|
||||
const sourceLang = await db.settings.get({ id: 'translate:source:language' })
|
||||
sourceLang && setSourceLanguage(sourceLang.value)
|
||||
|
||||
const bidirectionalPairSetting = await db.settings.get({ id: 'translate:bidirectional:pair' })
|
||||
if (bidirectionalPairSetting) {
|
||||
const langPair = bidirectionalPairSetting.value
|
||||
@ -526,12 +528,15 @@ const TranslatePage: FC = () => {
|
||||
value={sourceLanguage}
|
||||
style={{ width: 180 }}
|
||||
optionFilterProp="label"
|
||||
onChange={(value) => setSourceLanguage(value)}
|
||||
onChange={(value) => {
|
||||
setSourceLanguage(value)
|
||||
db.settings.put({ id: 'translate:source:language', value })
|
||||
}}
|
||||
options={[
|
||||
{
|
||||
value: 'auto',
|
||||
label: detectedLanguage
|
||||
? `${t('translate.detected.language')}(${t(`languages.${detectedLanguage.toLowerCase()}`)})`
|
||||
? `${t('translate.detected.language')} (${t(`languages.${detectedLanguage.toLowerCase()}`)})`
|
||||
: t('translate.detected.language')
|
||||
},
|
||||
...translateLanguageOptions().map((lang) => ({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user