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() {
-
+