detect lang remote
This commit is contained in:
@@ -595,4 +595,20 @@ export const I18N = {
|
|||||||
zh: `标识后面可以加目标语言代码,如: “/en 你好”、“/zh hello”`,
|
zh: `标识后面可以加目标语言代码,如: “/en 你好”、“/zh hello”`,
|
||||||
en: `The target language code can be added after the sign, such as: "/en 你好", "/zh hello"`,
|
en: `The target language code can be added after the sign, such as: "/en 你好", "/zh hello"`,
|
||||||
},
|
},
|
||||||
|
detect_lang_remote: {
|
||||||
|
zh: `远程语言检测`,
|
||||||
|
en: `Remote language detection`,
|
||||||
|
},
|
||||||
|
detect_lang_remote_help: {
|
||||||
|
zh: `启用后检测准确度增加,但会降低翻译速度,请酌情开启`,
|
||||||
|
en: `After enabling, the detection accuracy will increase, but it will reduce the translation speed. Please enable it as appropriate.`,
|
||||||
|
},
|
||||||
|
disable: {
|
||||||
|
zh: `禁用`,
|
||||||
|
en: `Disable`,
|
||||||
|
},
|
||||||
|
enable: {
|
||||||
|
zh: `启用`,
|
||||||
|
en: `Enable`,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -319,6 +319,7 @@ export const DEFAULT_SETTING = {
|
|||||||
clearCache: false, // 是否在浏览器下次启动时清除缓存
|
clearCache: false, // 是否在浏览器下次启动时清除缓存
|
||||||
injectRules: true, // 是否注入订阅规则
|
injectRules: true, // 是否注入订阅规则
|
||||||
injectWebfix: true, // 是否注入修复补丁
|
injectWebfix: true, // 是否注入修复补丁
|
||||||
|
detectRemote: false, // 是否使用远程语言检测
|
||||||
subrulesList: DEFAULT_SUBRULES_LIST, // 订阅列表
|
subrulesList: DEFAULT_SUBRULES_LIST, // 订阅列表
|
||||||
owSubrule: DEFAULT_OW_RULE, // 覆写订阅规则
|
owSubrule: DEFAULT_OW_RULE, // 覆写订阅规则
|
||||||
transApis: DEFAULT_TRANS_APIS, // 翻译接口
|
transApis: DEFAULT_TRANS_APIS, // 翻译接口
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export function useTranslate(q, rule, setting) {
|
|||||||
try {
|
try {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
|
||||||
const deLang = await tryDetectLang(q, true);
|
const deLang = await tryDetectLang(q, setting.detectRemote);
|
||||||
if (deLang && toLang.includes(deLang)) {
|
if (deLang && toLang.includes(deLang)) {
|
||||||
setSamelang(true);
|
setSamelang(true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -363,6 +363,7 @@ export class Translator {
|
|||||||
const apiSetting = (this._setting.transApis || DEFAULT_TRANS_APIS)[
|
const apiSetting = (this._setting.transApis || DEFAULT_TRANS_APIS)[
|
||||||
translator
|
translator
|
||||||
];
|
];
|
||||||
|
const { detectRemote } = this._setting;
|
||||||
|
|
||||||
let triggerShortcut = initTriggerShortcut;
|
let triggerShortcut = initTriggerShortcut;
|
||||||
let triggerCount = initTriggerCount;
|
let triggerCount = initTriggerCount;
|
||||||
@@ -421,7 +422,7 @@ export class Translator {
|
|||||||
try {
|
try {
|
||||||
addLoading(node, loadingId);
|
addLoading(node, loadingId);
|
||||||
|
|
||||||
const deLang = await tryDetectLang(text, true);
|
const deLang = await tryDetectLang(text, detectRemote);
|
||||||
if (deLang && toLang.includes(deLang)) {
|
if (deLang && toLang.includes(deLang)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ export default function Settings() {
|
|||||||
clearCache,
|
clearCache,
|
||||||
newlineLength = TRANS_NEWLINE_LENGTH,
|
newlineLength = TRANS_NEWLINE_LENGTH,
|
||||||
mouseKey = OPT_MOUSEKEY_DISABLE,
|
mouseKey = OPT_MOUSEKEY_DISABLE,
|
||||||
|
detectRemote = false,
|
||||||
} = setting;
|
} = setting;
|
||||||
const { isHide = false } = fab || {};
|
const { isHide = false } = fab || {};
|
||||||
|
|
||||||
@@ -183,6 +184,20 @@ export default function Settings() {
|
|||||||
</Select>
|
</Select>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
|
|
||||||
|
<FormControl size="small">
|
||||||
|
<InputLabel>{i18n("detect_lang_remote")}</InputLabel>
|
||||||
|
<Select
|
||||||
|
name="detectRemote"
|
||||||
|
value={detectRemote}
|
||||||
|
label={i18n("detect_lang_remote")}
|
||||||
|
onChange={handleChange}
|
||||||
|
>
|
||||||
|
<MenuItem value={false}>{i18n("disable")}</MenuItem>
|
||||||
|
<MenuItem value={true}>{i18n("enable")}</MenuItem>
|
||||||
|
</Select>
|
||||||
|
<FormHelperText>{i18n("detect_lang_remote_help")}</FormHelperText>
|
||||||
|
</FormControl>
|
||||||
|
|
||||||
{isExt ? (
|
{isExt ? (
|
||||||
<FormControl size="small">
|
<FormControl size="small">
|
||||||
<InputLabel>{i18n("if_clear_cache")}</InputLabel>
|
<InputLabel>{i18n("if_clear_cache")}</InputLabel>
|
||||||
|
|||||||
Reference in New Issue
Block a user