feat: add translate interval setting

This commit is contained in:
Gabe Yuan
2024-03-17 12:09:32 +08:00
parent 61ef5df559
commit 75830aaea7
3 changed files with 21 additions and 1 deletions

View File

@@ -167,6 +167,10 @@ export const I18N = {
zh: `请求间隔时间 (0-5000ms)`,
en: `Request Interval (0-5000ms)`,
},
translate_interval: {
zh: `翻译间隔时间 (100-5000ms)`,
en: `Translate Interval (100-5000ms)`,
},
min_translate_length: {
zh: `最小翻译长度 (1-100)`,
en: `Min Translate Length (1-100)`,

View File

@@ -430,10 +430,13 @@ export class Translator {
_reTranslate = debounce(() => {
if (this._rule.transOpen === "true") {
window.removeEventListener("keydown", this._handleKeydown);
this._mutaObserver.disconnect();
this._interseObserver.disconnect();
this._removeInjector();
this._register();
}
}, 500);
}, this._setting.transInterval);
_invalidLength = (q) =>
!q ||

View File

@@ -52,6 +52,9 @@ export default function Settings() {
case "fetchInterval":
value = limitNumber(value, 0, 5000);
break;
case "transInterval":
value = limitNumber(value, 100, 5000);
break;
case "minLength":
value = limitNumber(value, 1, 100);
break;
@@ -94,6 +97,7 @@ export default function Settings() {
contextMenuType = 1,
touchTranslate = 2,
blacklist = DEFAULT_BLACKLIST.join(",\n"),
transInterval = 500,
} = setting;
const { isHide = false } = fab || {};
@@ -134,6 +138,15 @@ export default function Settings() {
onChange={handleChange}
/>
<TextField
size="small"
label={i18n("translate_interval")}
type="number"
name="transInterval"
defaultValue={transInterval}
onChange={handleChange}
/>
<TextField
size="small"
label={i18n("min_translate_length")}