diff --git a/src/config/i18n.js b/src/config/i18n.js index 41cd338..007101a 100644 --- a/src/config/i18n.js +++ b/src/config/i18n.js @@ -790,8 +790,8 @@ export const I18N = { en: `Secondary Context Menus`, }, mulkeys_help: { - zh: `支持用换行或英文逗号“,”分隔多个KEY轮询调用。`, - en: `Supports multiple KEY polling calls separated by newlines or English commas ",".`, + zh: `支持用换行或英文逗号“,”分隔,轮询调用。`, + en: `Supports polling calls separated by newlines or English commas ",".`, }, translation_element_tag: { zh: `译文元素标签`, diff --git a/src/libs/req.js b/src/libs/req.js index b4af67a..54553c1 100644 --- a/src/libs/req.js +++ b/src/libs/req.js @@ -29,9 +29,10 @@ import { genDeeplFree } from "../apis/deepl"; import { genBaidu } from "../apis/baidu"; const keyMap = new Map(); +const urlMap = new Map(); -// 轮询key -const keyPick = (translator, key = "") => { +// 轮询key/url +const keyPick = (translator, key = "", cacheMap) => { const keys = key .split(/\n|,/) .map((item) => item.trim()) @@ -41,9 +42,9 @@ const keyPick = (translator, key = "") => { return ""; } - const preIndex = keyMap.get(translator) ?? -1; + const preIndex = cacheMap.get(translator) ?? -1; const curIndex = (preIndex + 1) % keys.length; - keyMap.set(translator, curIndex); + cacheMap.set(translator, curIndex); return keys[curIndex]; }; @@ -336,7 +337,10 @@ export const newTransReq = ({ translator, text, from, to }, apiSetting) => { case OPT_TRANS_GEMINI: case OPT_TRANS_CLOUDFLAREAI: case OPT_TRANS_NIUTRANS: - args.key = keyPick(translator, args.key); + args.key = keyPick(translator, args.key, keyMap); + break; + case OPT_TRANS_DEEPLX: + args.url = keyPick(translator, args.url, urlMap); break; default: } diff --git a/src/views/Options/Apis.js b/src/views/Options/Apis.js index c51fdc6..cd988b9 100644 --- a/src/views/Options/Apis.js +++ b/src/views/Options/Apis.js @@ -6,6 +6,7 @@ import { OPT_TRANS_ALL, OPT_TRANS_MICROSOFT, OPT_TRANS_DEEPL, + OPT_TRANS_DEEPLX, OPT_TRANS_DEEPLFREE, OPT_TRANS_BAIDU, OPT_TRANS_TENCENT, @@ -171,6 +172,11 @@ function ApiFields({ translator }) { name="url" value={url} onChange={handleChange} + multiline={translator === OPT_TRANS_DEEPLX} + maxRows={10} + helperText={ + translator === OPT_TRANS_DEEPLX ? i18n("mulkeys_help") : "" + } /> @@ -200,6 +207,7 @@ function ApiFields({ translator }) { value={prompt} onChange={handleChange} multiline + maxRows={10} /> )} @@ -231,6 +239,7 @@ function ApiFields({ translator }) { value={customOption} onChange={handleChange} multiline + maxRows={10} /> )}