mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-10 15:49:29 +08:00
parent
a112b143e7
commit
a6a4a32159
@ -22,9 +22,12 @@ const TranslateButton: FC<Props> = ({ text, onTranslated, disabled, style, isLoa
|
|||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { translateModel } = useDefaultModel()
|
const { translateModel } = useDefaultModel()
|
||||||
const [isTranslating, setIsTranslating] = useState(false)
|
const [isTranslating, setIsTranslating] = useState(false)
|
||||||
const { targetLanguage } = useSettings()
|
const { targetLanguage, showTranslateConfirm } = useSettings()
|
||||||
|
|
||||||
const translateConfirm = () => {
|
const translateConfirm = () => {
|
||||||
|
if (!showTranslateConfirm) {
|
||||||
|
return Promise.resolve(true)
|
||||||
|
}
|
||||||
return window?.modal?.confirm({
|
return window?.modal?.confirm({
|
||||||
title: t('translate.confirm.title'),
|
title: t('translate.confirm.title'),
|
||||||
content: t('translate.confirm.content'),
|
content: t('translate.confirm.content'),
|
||||||
|
|||||||
@ -1051,6 +1051,7 @@
|
|||||||
"general.user_name.placeholder": "Enter your name",
|
"general.user_name.placeholder": "Enter your name",
|
||||||
"general.view_webdav_settings": "View WebDAV settings",
|
"general.view_webdav_settings": "View WebDAV settings",
|
||||||
"input.auto_translate_with_space": "Quickly translate with 3 spaces",
|
"input.auto_translate_with_space": "Quickly translate with 3 spaces",
|
||||||
|
"input.show_translate_confirm": "Show translation confirmation dialog",
|
||||||
"input.target_language": "Target language",
|
"input.target_language": "Target language",
|
||||||
"input.target_language.chinese": "Simplified Chinese",
|
"input.target_language.chinese": "Simplified Chinese",
|
||||||
"input.target_language.chinese-traditional": "Traditional Chinese",
|
"input.target_language.chinese-traditional": "Traditional Chinese",
|
||||||
|
|||||||
@ -1051,6 +1051,7 @@
|
|||||||
"general.user_name.placeholder": "请输入用户名",
|
"general.user_name.placeholder": "请输入用户名",
|
||||||
"general.view_webdav_settings": "查看 WebDAV 设置",
|
"general.view_webdav_settings": "查看 WebDAV 设置",
|
||||||
"input.auto_translate_with_space": "快速敲击3次空格翻译",
|
"input.auto_translate_with_space": "快速敲击3次空格翻译",
|
||||||
|
"input.show_translate_confirm": "显示翻译确认对话框",
|
||||||
"input.target_language": "目标语言",
|
"input.target_language": "目标语言",
|
||||||
"input.target_language.chinese": "简体中文",
|
"input.target_language.chinese": "简体中文",
|
||||||
"input.target_language.chinese-traditional": "繁体中文",
|
"input.target_language.chinese-traditional": "繁体中文",
|
||||||
|
|||||||
@ -1050,6 +1050,7 @@
|
|||||||
"general.user_name.placeholder": "輸入您的名稱",
|
"general.user_name.placeholder": "輸入您的名稱",
|
||||||
"general.view_webdav_settings": "檢視 WebDAV 設定",
|
"general.view_webdav_settings": "檢視 WebDAV 設定",
|
||||||
"input.auto_translate_with_space": "快速敲擊 3 次空格翻譯",
|
"input.auto_translate_with_space": "快速敲擊 3 次空格翻譯",
|
||||||
|
"input.show_translate_confirm": "顯示翻譯確認對話框",
|
||||||
"input.target_language": "目標語言",
|
"input.target_language": "目標語言",
|
||||||
"input.target_language.chinese": "簡體中文",
|
"input.target_language.chinese": "簡體中文",
|
||||||
"input.target_language.chinese-traditional": "繁體中文",
|
"input.target_language.chinese-traditional": "繁體中文",
|
||||||
|
|||||||
@ -40,7 +40,8 @@ import {
|
|||||||
setRenderInputMessageAsMarkdown,
|
setRenderInputMessageAsMarkdown,
|
||||||
setShowInputEstimatedTokens,
|
setShowInputEstimatedTokens,
|
||||||
setShowMessageDivider,
|
setShowMessageDivider,
|
||||||
setThoughtAutoCollapse
|
setThoughtAutoCollapse,
|
||||||
|
setShowTranslateConfirm
|
||||||
} from '@renderer/store/settings'
|
} from '@renderer/store/settings'
|
||||||
import {
|
import {
|
||||||
Assistant,
|
Assistant,
|
||||||
@ -100,7 +101,8 @@ const SettingsTab: FC<Props> = (props) => {
|
|||||||
thoughtAutoCollapse,
|
thoughtAutoCollapse,
|
||||||
messageNavigation,
|
messageNavigation,
|
||||||
enableQuickPanelTriggers,
|
enableQuickPanelTriggers,
|
||||||
enableBackspaceDeleteModel
|
enableBackspaceDeleteModel,
|
||||||
|
showTranslateConfirm
|
||||||
} = useSettings()
|
} = useSettings()
|
||||||
|
|
||||||
const onUpdateAssistantSettings = (settings: Partial<AssistantSettings>) => {
|
const onUpdateAssistantSettings = (settings: Partial<AssistantSettings>) => {
|
||||||
@ -609,6 +611,15 @@ const SettingsTab: FC<Props> = (props) => {
|
|||||||
<SettingDivider />
|
<SettingDivider />
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
<SettingRow>
|
||||||
|
<SettingRowTitleSmall>{t('settings.input.show_translate_confirm')}</SettingRowTitleSmall>
|
||||||
|
<Switch
|
||||||
|
size="small"
|
||||||
|
checked={showTranslateConfirm}
|
||||||
|
onChange={(checked) => dispatch(setShowTranslateConfirm(checked))}
|
||||||
|
/>
|
||||||
|
</SettingRow>
|
||||||
|
<SettingDivider />
|
||||||
<SettingRow>
|
<SettingRow>
|
||||||
<SettingRowTitleSmall>{t('settings.messages.input.enable_quick_triggers')}</SettingRowTitleSmall>
|
<SettingRowTitleSmall>{t('settings.messages.input.enable_quick_triggers')}</SettingRowTitleSmall>
|
||||||
<Switch
|
<Switch
|
||||||
|
|||||||
@ -75,6 +75,7 @@ export interface SettingsState {
|
|||||||
webdavMaxBackups: number
|
webdavMaxBackups: number
|
||||||
translateModelPrompt: string
|
translateModelPrompt: string
|
||||||
autoTranslateWithSpace: boolean
|
autoTranslateWithSpace: boolean
|
||||||
|
showTranslateConfirm: boolean
|
||||||
enableTopicNaming: boolean
|
enableTopicNaming: boolean
|
||||||
customCss: string
|
customCss: string
|
||||||
topicNamingPrompt: string
|
topicNamingPrompt: string
|
||||||
@ -182,6 +183,7 @@ export const initialState: SettingsState = {
|
|||||||
webdavMaxBackups: 0,
|
webdavMaxBackups: 0,
|
||||||
translateModelPrompt: TRANSLATE_PROMPT,
|
translateModelPrompt: TRANSLATE_PROMPT,
|
||||||
autoTranslateWithSpace: false,
|
autoTranslateWithSpace: false,
|
||||||
|
showTranslateConfirm: true,
|
||||||
enableTopicNaming: true,
|
enableTopicNaming: true,
|
||||||
customCss: '',
|
customCss: '',
|
||||||
topicNamingPrompt: '',
|
topicNamingPrompt: '',
|
||||||
@ -388,6 +390,9 @@ const settingsSlice = createSlice({
|
|||||||
setAutoTranslateWithSpace: (state, action: PayloadAction<boolean>) => {
|
setAutoTranslateWithSpace: (state, action: PayloadAction<boolean>) => {
|
||||||
state.autoTranslateWithSpace = action.payload
|
state.autoTranslateWithSpace = action.payload
|
||||||
},
|
},
|
||||||
|
setShowTranslateConfirm: (state, action: PayloadAction<boolean>) => {
|
||||||
|
state.showTranslateConfirm = action.payload
|
||||||
|
},
|
||||||
setEnableTopicNaming: (state, action: PayloadAction<boolean>) => {
|
setEnableTopicNaming: (state, action: PayloadAction<boolean>) => {
|
||||||
state.enableTopicNaming = action.payload
|
state.enableTopicNaming = action.payload
|
||||||
},
|
},
|
||||||
@ -554,6 +559,7 @@ export const {
|
|||||||
setCodeStyle,
|
setCodeStyle,
|
||||||
setTranslateModelPrompt,
|
setTranslateModelPrompt,
|
||||||
setAutoTranslateWithSpace,
|
setAutoTranslateWithSpace,
|
||||||
|
setShowTranslateConfirm,
|
||||||
setEnableTopicNaming,
|
setEnableTopicNaming,
|
||||||
setPasteLongTextThreshold,
|
setPasteLongTextThreshold,
|
||||||
setCustomCss,
|
setCustomCss,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user