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")}