diff --git a/StarCitizenBoxBrowserEx/background.js b/StarCitizenBoxBrowserEx/background.js index b9d094b..e99e7d2 100644 --- a/StarCitizenBoxBrowserEx/background.js +++ b/StarCitizenBoxBrowserEx/background.js @@ -151,3 +151,16 @@ function setLocalData(key, data) { }); }); } + +chrome.contextMenus.create({ + id: "translate", + title: "翻译本页面", + contexts: ["page"] +}); + +chrome.contextMenus.onClicked.addListener((info, tab) => { + console.log("contextMenus", info, tab); + _initLocalization("manual").then(data => { + chrome.tabs.sendMessage(tab.id, {action: "_initTranslation", data}); + }); +}); diff --git a/StarCitizenBoxBrowserEx/core.js b/StarCitizenBoxBrowserEx/core.js index f0dcfa5..c21a63c 100644 --- a/StarCitizenBoxBrowserEx/core.js +++ b/StarCitizenBoxBrowserEx/core.js @@ -193,6 +193,13 @@ function _loadLocalizationData() { }); } +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request.action === "_initTranslation") { + SCLocalizationEnableSplitMode = true; + WebLocalizationUpdateReplaceWords(request.data); + } +}); + // 注入脚本到网页上下文 const script = document.createElement('script'); script.src = chrome.runtime.getURL('injected.js'); diff --git a/StarCitizenBoxBrowserEx/manifest.json b/StarCitizenBoxBrowserEx/manifest.json index f77d900..84af67b 100644 --- a/StarCitizenBoxBrowserEx/manifest.json +++ b/StarCitizenBoxBrowserEx/manifest.json @@ -5,13 +5,16 @@ "description": "为星际公民网站及工具站提供汉化", "author": "xkeyC", "icons": { + "16": "icon.png", + "48": "icon.png", "192": "icon.png" }, "host_permissions": [ "https://git.scbox.xkeyc.cn/*" ], "permissions": [ - "storage" + "storage", + "contextMenus" ], "action": { "default_popup": "popup.html" @@ -22,10 +25,6 @@ "content_scripts": [ { "matches": [ - "https://robertsspaceindustries.com/*", - "https://*.robertsspaceindustries.com/*", - "https://www.erkul.games/*", - "https://uexcorp.space/*", "*://*/*" ], "exclude_matches": [