input box trans

This commit is contained in:
Gabe Yuan
2023-09-15 20:44:01 +08:00
parent 6e8158bb34
commit 9293f422f3
5 changed files with 39 additions and 20 deletions

View File

@@ -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`,

View File

@@ -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],
};

View File

@@ -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
);
};

View File

@@ -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() {
</TextField>
<Box>
<Grid container rowSpacing={2} columns={12}>
<Grid item xs={12} sm={12} md={6} lg={6}>
<Grid container spacing={2} columns={12}>
<Grid item xs={12} sm={12} md={4} lg={4}>
<ShortcutInput
value={triggerShortcut}
onChange={handleShortcutInput}
@@ -141,11 +142,11 @@ export default function InputSetting() {
helperText={i18n("trigger_trans_shortcut_help")}
/>
</Grid>
<Grid item xs={12} sm={12} md={6} lg={6}>
<Grid item xs={12} sm={12} md={4} lg={4}>
<TextField
select
size="small"
fullWidth
size="small"
name="triggerCount"
value={triggerCount}
label={i18n("shortcut_press_count")}
@@ -158,6 +159,17 @@ export default function InputSetting() {
))}
</TextField>
</Grid>
<Grid item xs={12} sm={12} md={4} lg={4}>
<TextField
fullWidth
size="small"
label={i18n("combo_timeout")}
type="number"
name="triggerTime"
defaultValue={triggerTime}
onChange={handleChange}
/>
</Grid>
</Grid>
</Box>
</Stack>

View File

@@ -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() {
</FormControl>
<Box>
<Grid container rowSpacing={2} columns={12}>
<Grid container spacing={2} columns={12}>
<Grid item xs={12} sm={12} md={3} lg={3}>
<ShortcutItem
action={OPT_SHORTCUT_TRANSLATE}