feat: add translate interval setting
This commit is contained in:
@@ -167,6 +167,10 @@ export const I18N = {
|
|||||||
zh: `请求间隔时间 (0-5000ms)`,
|
zh: `请求间隔时间 (0-5000ms)`,
|
||||||
en: `Request Interval (0-5000ms)`,
|
en: `Request Interval (0-5000ms)`,
|
||||||
},
|
},
|
||||||
|
translate_interval: {
|
||||||
|
zh: `翻译间隔时间 (100-5000ms)`,
|
||||||
|
en: `Translate Interval (100-5000ms)`,
|
||||||
|
},
|
||||||
min_translate_length: {
|
min_translate_length: {
|
||||||
zh: `最小翻译长度 (1-100)`,
|
zh: `最小翻译长度 (1-100)`,
|
||||||
en: `Min Translate Length (1-100)`,
|
en: `Min Translate Length (1-100)`,
|
||||||
|
|||||||
@@ -430,10 +430,13 @@ export class Translator {
|
|||||||
|
|
||||||
_reTranslate = debounce(() => {
|
_reTranslate = debounce(() => {
|
||||||
if (this._rule.transOpen === "true") {
|
if (this._rule.transOpen === "true") {
|
||||||
|
window.removeEventListener("keydown", this._handleKeydown);
|
||||||
|
this._mutaObserver.disconnect();
|
||||||
|
this._interseObserver.disconnect();
|
||||||
this._removeInjector();
|
this._removeInjector();
|
||||||
this._register();
|
this._register();
|
||||||
}
|
}
|
||||||
}, 500);
|
}, this._setting.transInterval);
|
||||||
|
|
||||||
_invalidLength = (q) =>
|
_invalidLength = (q) =>
|
||||||
!q ||
|
!q ||
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ export default function Settings() {
|
|||||||
case "fetchInterval":
|
case "fetchInterval":
|
||||||
value = limitNumber(value, 0, 5000);
|
value = limitNumber(value, 0, 5000);
|
||||||
break;
|
break;
|
||||||
|
case "transInterval":
|
||||||
|
value = limitNumber(value, 100, 5000);
|
||||||
|
break;
|
||||||
case "minLength":
|
case "minLength":
|
||||||
value = limitNumber(value, 1, 100);
|
value = limitNumber(value, 1, 100);
|
||||||
break;
|
break;
|
||||||
@@ -94,6 +97,7 @@ export default function Settings() {
|
|||||||
contextMenuType = 1,
|
contextMenuType = 1,
|
||||||
touchTranslate = 2,
|
touchTranslate = 2,
|
||||||
blacklist = DEFAULT_BLACKLIST.join(",\n"),
|
blacklist = DEFAULT_BLACKLIST.join(",\n"),
|
||||||
|
transInterval = 500,
|
||||||
} = setting;
|
} = setting;
|
||||||
const { isHide = false } = fab || {};
|
const { isHide = false } = fab || {};
|
||||||
|
|
||||||
@@ -134,6 +138,15 @@ export default function Settings() {
|
|||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<TextField
|
||||||
|
size="small"
|
||||||
|
label={i18n("translate_interval")}
|
||||||
|
type="number"
|
||||||
|
name="transInterval"
|
||||||
|
defaultValue={transInterval}
|
||||||
|
onChange={handleChange}
|
||||||
|
/>
|
||||||
|
|
||||||
<TextField
|
<TextField
|
||||||
size="small"
|
size="small"
|
||||||
label={i18n("min_translate_length")}
|
label={i18n("min_translate_length")}
|
||||||
|
|||||||
Reference in New Issue
Block a user