diff --git a/src/common.js b/src/common.js index e397b20..e74e772 100644 --- a/src/common.js +++ b/src/common.js @@ -142,7 +142,11 @@ async function showFab(translator) { * @param {*} param0 * @returns */ -function showTransbox({ tranboxSetting = DEFAULT_TRANBOX_SETTING, transApis }) { +function showTransbox({ + contextMenus = true, + tranboxSetting = DEFAULT_TRANBOX_SETTING, + transApis, +}) { if (!tranboxSetting?.transOpen) { return; } @@ -163,7 +167,11 @@ function showTransbox({ tranboxSetting = DEFAULT_TRANBOX_SETTING, transApis }) { ReactDOM.createRoot(shadowRootElement).render( - + ); diff --git a/src/views/Action/index.js b/src/views/Action/index.js index d998fb0..ce15963 100644 --- a/src/views/Action/index.js +++ b/src/views/Action/index.js @@ -95,40 +95,42 @@ export default function Action({ translator, fab }) { // 注册菜单 try { const menuCommandIds = []; - menuCommandIds.push( - GM.registerMenuCommand( - "Toggle Translate (Alt+q)", - (event) => { - translator.toggle(); - sendIframeMsg(MSG_TRANS_TOGGLE); - setShowPopup(false); - }, - "Q" - ), - GM.registerMenuCommand( - "Toggle Style (Alt+c)", - (event) => { - translator.toggleStyle(); - sendIframeMsg(MSG_TRANS_TOGGLE_STYLE); - setShowPopup(false); - }, - "C" - ), - GM.registerMenuCommand( - "Open Menu (Alt+k)", - (event) => { - setShowPopup((pre) => !pre); - }, - "K" - ), - GM.registerMenuCommand( - "Open Setting (Alt+o)", - (event) => { - window.open(process.env.REACT_APP_OPTIONSPAGE, "_blank"); - }, - "O" - ) - ); + const { contextMenus = true } = translator.setting; + contextMenus && + menuCommandIds.push( + GM.registerMenuCommand( + "Toggle Translate (Alt+q)", + (event) => { + translator.toggle(); + sendIframeMsg(MSG_TRANS_TOGGLE); + setShowPopup(false); + }, + "Q" + ), + GM.registerMenuCommand( + "Toggle Style (Alt+c)", + (event) => { + translator.toggleStyle(); + sendIframeMsg(MSG_TRANS_TOGGLE_STYLE); + setShowPopup(false); + }, + "C" + ), + GM.registerMenuCommand( + "Open Menu (Alt+k)", + (event) => { + setShowPopup((pre) => !pre); + }, + "K" + ), + GM.registerMenuCommand( + "Open Setting (Alt+o)", + (event) => { + window.open(process.env.REACT_APP_OPTIONSPAGE, "_blank"); + }, + "O" + ) + ); return () => { menuCommandIds.forEach((id) => { diff --git a/src/views/Options/Setting.js b/src/views/Options/Setting.js index c4e5c37..254f90f 100644 --- a/src/views/Options/Setting.js +++ b/src/views/Options/Setting.js @@ -68,7 +68,7 @@ export default function Settings() { value = limitNumber(value, 0, 4); break; case "contextMenus": - sendBgMsg(MSG_CONTEXT_MENUS, { contextMenus: value }); + isExt && sendBgMsg(MSG_CONTEXT_MENUS, { contextMenus: value }); break; default: } @@ -214,6 +214,19 @@ export default function Settings() { + + {i18n("add_context_menus")} + + + {i18n("detect_lang_remote")} - {i18n("disable")} - {i18n("enable")} - - - {i18n("if_clear_cache")}