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`, en: `Trigger Translation Shortcut Keys`,
}, },
trigger_trans_shortcut_help: { trigger_trans_shortcut_help: {
zh: `不设则默认为单击快捷键“Alt+i”`, zh: `默认为单击“Alt+i”`,
en: `If not set, the default is to click the shortcut key "Alt+i"`, en: `Default is "Alt+i"`,
}, },
shortcut_press_count: { shortcut_press_count: {
zh: `快捷键连击次数`, zh: `快捷键连击次数`,
en: `Shortcut Press Number`, en: `Shortcut Press Number`,
}, },
combo_timeout: {
zh: `连击超时时间 (10-1000ms)`,
en: `Combo Timeout (10-1000ms)`,
},
input_trans_start_sign: { input_trans_start_sign: {
zh: `翻译起始标识`, zh: `翻译起始标识`,
en: `Translation Start Sign`, en: `Translation Start Sign`,

View File

@@ -209,6 +209,7 @@ export const DEFAULT_INPUT_RULE = {
toLang: "en", toLang: "en",
triggerShortcut: DEFAULT_INPUT_SHORTCUT, triggerShortcut: DEFAULT_INPUT_SHORTCUT,
triggerCount: 1, triggerCount: 1,
triggerTime: 200,
transSign: OPT_INPUT_TRANS_SIGNS[0], transSign: OPT_INPUT_TRANS_SIGNS[0],
}; };

View File

@@ -340,6 +340,7 @@ export class Translator {
fromLang, fromLang,
toLang, toLang,
triggerCount, triggerCount,
triggerTime,
transSign, transSign,
} = this._inputRule; } = this._inputRule;
const apiSetting = (this._setting.transApis || DEFAULT_TRANS_APIS)[ const apiSetting = (this._setting.transApis || DEFAULT_TRANS_APIS)[
@@ -434,7 +435,8 @@ export class Translator {
removeLoading(loadingId); removeLoading(loadingId);
} }
}, },
triggerCount triggerCount,
triggerTime
); );
}; };

View File

@@ -15,7 +15,7 @@ import Switch from "@mui/material/Switch";
import { useInputRule } from "../../hooks/InputRule"; import { useInputRule } from "../../hooks/InputRule";
import { useCallback } from "react"; import { useCallback } from "react";
import Grid from "@mui/material/Grid"; import Grid from "@mui/material/Grid";
import Alert from "@mui/material/Alert"; import { limitNumber } from "../../libs/utils";
export default function InputSetting() { export default function InputSetting() {
const i18n = useI18n(); const i18n = useI18n();
@@ -24,12 +24,12 @@ export default function InputSetting() {
const handleChange = (e) => { const handleChange = (e) => {
e.preventDefault(); e.preventDefault();
let { name, value } = e.target; let { name, value } = e.target;
// switch (name) { switch (name) {
// case "triggerCount": case "triggerTime":
// value = limitNumber(value, 1, 5); value = limitNumber(value, 10, 1000);
// break; break;
// default: default:
// } }
updateInputRule({ updateInputRule({
[name]: value, [name]: value,
}); });
@@ -49,6 +49,7 @@ export default function InputSetting() {
toLang, toLang,
triggerShortcut, triggerShortcut,
triggerCount, triggerCount,
triggerTime,
transSign, transSign,
} = inputRule; } = inputRule;
@@ -132,8 +133,8 @@ export default function InputSetting() {
</TextField> </TextField>
<Box> <Box>
<Grid container rowSpacing={2} columns={12}> <Grid container spacing={2} columns={12}>
<Grid item xs={12} sm={12} md={6} lg={6}> <Grid item xs={12} sm={12} md={4} lg={4}>
<ShortcutInput <ShortcutInput
value={triggerShortcut} value={triggerShortcut}
onChange={handleShortcutInput} onChange={handleShortcutInput}
@@ -141,11 +142,11 @@ export default function InputSetting() {
helperText={i18n("trigger_trans_shortcut_help")} helperText={i18n("trigger_trans_shortcut_help")}
/> />
</Grid> </Grid>
<Grid item xs={12} sm={12} md={6} lg={6}> <Grid item xs={12} sm={12} md={4} lg={4}>
<TextField <TextField
select select
size="small"
fullWidth fullWidth
size="small"
name="triggerCount" name="triggerCount"
value={triggerCount} value={triggerCount}
label={i18n("shortcut_press_count")} label={i18n("shortcut_press_count")}
@@ -158,6 +159,17 @@ export default function InputSetting() {
))} ))}
</TextField> </TextField>
</Grid> </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> </Grid>
</Box> </Box>
</Stack> </Stack>

View File

@@ -110,7 +110,7 @@ export default function Settings() {
label={i18n("fetch_limit")} label={i18n("fetch_limit")}
type="number" type="number"
name="fetchLimit" name="fetchLimit"
value={fetchLimit} defaultValue={fetchLimit}
onChange={handleChange} onChange={handleChange}
/> />
@@ -119,7 +119,7 @@ export default function Settings() {
label={i18n("fetch_interval")} label={i18n("fetch_interval")}
type="number" type="number"
name="fetchInterval" name="fetchInterval"
value={fetchInterval} defaultValue={fetchInterval}
onChange={handleChange} onChange={handleChange}
/> />
@@ -128,7 +128,7 @@ export default function Settings() {
label={i18n("min_translate_length")} label={i18n("min_translate_length")}
type="number" type="number"
name="minLength" name="minLength"
value={minLength} defaultValue={minLength}
onChange={handleChange} onChange={handleChange}
/> />
@@ -137,7 +137,7 @@ export default function Settings() {
label={i18n("max_translate_length")} label={i18n("max_translate_length")}
type="number" type="number"
name="maxLength" name="maxLength"
value={maxLength} defaultValue={maxLength}
onChange={handleChange} onChange={handleChange}
/> />
@@ -146,7 +146,7 @@ export default function Settings() {
label={i18n("num_of_newline_characters")} label={i18n("num_of_newline_characters")}
type="number" type="number"
name="newlineLength" name="newlineLength"
value={newlineLength} defaultValue={newlineLength}
onChange={handleChange} onChange={handleChange}
/> />
@@ -200,7 +200,7 @@ export default function Settings() {
</FormControl> </FormControl>
<Box> <Box>
<Grid container rowSpacing={2} columns={12}> <Grid container spacing={2} columns={12}>
<Grid item xs={12} sm={12} md={3} lg={3}> <Grid item xs={12} sm={12} md={3} lg={3}>
<ShortcutItem <ShortcutItem
action={OPT_SHORTCUT_TRANSLATE} action={OPT_SHORTCUT_TRANSLATE}