diff --git a/src/config/i18n.js b/src/config/i18n.js index 2e58c5c..dcd4726 100644 --- a/src/config/i18n.js +++ b/src/config/i18n.js @@ -568,13 +568,17 @@ export const I18N = { en: `Trigger Translation Shortcut Keys`, }, trigger_trans_shortcut_help: { - zh: `不设则默认为单击快捷键“Alt+i”`, - en: `If not set, the default is to click the shortcut key "Alt+i"`, + zh: `默认为单击“Alt+i”`, + en: `Default is "Alt+i"`, }, shortcut_press_count: { zh: `快捷键连击次数`, en: `Shortcut Press Number`, }, + combo_timeout: { + zh: `连击超时时间 (10-1000ms)`, + en: `Combo Timeout (10-1000ms)`, + }, input_trans_start_sign: { zh: `翻译起始标识`, en: `Translation Start Sign`, diff --git a/src/config/index.js b/src/config/index.js index 5fef63e..85b4094 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -209,6 +209,7 @@ export const DEFAULT_INPUT_RULE = { toLang: "en", triggerShortcut: DEFAULT_INPUT_SHORTCUT, triggerCount: 1, + triggerTime: 200, transSign: OPT_INPUT_TRANS_SIGNS[0], }; diff --git a/src/libs/translator.js b/src/libs/translator.js index ebba7aa..3482f33 100644 --- a/src/libs/translator.js +++ b/src/libs/translator.js @@ -340,6 +340,7 @@ export class Translator { fromLang, toLang, triggerCount, + triggerTime, transSign, } = this._inputRule; const apiSetting = (this._setting.transApis || DEFAULT_TRANS_APIS)[ @@ -434,7 +435,8 @@ export class Translator { removeLoading(loadingId); } }, - triggerCount + triggerCount, + triggerTime ); }; diff --git a/src/views/Options/InputSetting.js b/src/views/Options/InputSetting.js index 9ec0b30..5f4b07b 100644 --- a/src/views/Options/InputSetting.js +++ b/src/views/Options/InputSetting.js @@ -15,7 +15,7 @@ import Switch from "@mui/material/Switch"; import { useInputRule } from "../../hooks/InputRule"; import { useCallback } from "react"; import Grid from "@mui/material/Grid"; -import Alert from "@mui/material/Alert"; +import { limitNumber } from "../../libs/utils"; export default function InputSetting() { const i18n = useI18n(); @@ -24,12 +24,12 @@ export default function InputSetting() { const handleChange = (e) => { e.preventDefault(); let { name, value } = e.target; - // switch (name) { - // case "triggerCount": - // value = limitNumber(value, 1, 5); - // break; - // default: - // } + switch (name) { + case "triggerTime": + value = limitNumber(value, 10, 1000); + break; + default: + } updateInputRule({ [name]: value, }); @@ -49,6 +49,7 @@ export default function InputSetting() { toLang, triggerShortcut, triggerCount, + triggerTime, transSign, } = inputRule; @@ -132,8 +133,8 @@ export default function InputSetting() { - - + + - + + + + diff --git a/src/views/Options/Setting.js b/src/views/Options/Setting.js index f41978a..6733088 100644 --- a/src/views/Options/Setting.js +++ b/src/views/Options/Setting.js @@ -110,7 +110,7 @@ export default function Settings() { label={i18n("fetch_limit")} type="number" name="fetchLimit" - value={fetchLimit} + defaultValue={fetchLimit} onChange={handleChange} /> @@ -119,7 +119,7 @@ export default function Settings() { label={i18n("fetch_interval")} type="number" name="fetchInterval" - value={fetchInterval} + defaultValue={fetchInterval} onChange={handleChange} /> @@ -128,7 +128,7 @@ export default function Settings() { label={i18n("min_translate_length")} type="number" name="minLength" - value={minLength} + defaultValue={minLength} onChange={handleChange} /> @@ -137,7 +137,7 @@ export default function Settings() { label={i18n("max_translate_length")} type="number" name="maxLength" - value={maxLength} + defaultValue={maxLength} onChange={handleChange} /> @@ -146,7 +146,7 @@ export default function Settings() { label={i18n("num_of_newline_characters")} type="number" name="newlineLength" - value={newlineLength} + defaultValue={newlineLength} onChange={handleChange} /> @@ -200,7 +200,7 @@ export default function Settings() { - +