feat: 为chrome拓展添加手动调用翻译的功能 (#3)

* feat: 为chrome拓展添加手动调用翻译的功能

* feat: add SC-BOX-TRANSLATE-API-AVAILABLE message

* refactor: move content script logic to core.js

* feat: add context menu for translating pages

* chore: 🤖 使用extension.js

* chore: update package metadata

* chore: ensure context menu creation on extension install

* feat: add toggle translation functionality

* feat: add support for dynamic localization based on tab URL

* feat: add Chinese translation for Star Citizen browser extension

* docs: update README with new API usage instructions

* refactor: update translation logic to append original values

* typescript support

* feat: add manual URL handling for localization

* feat: add postMessage for toggling SC-BOX translate

* feat: add translation toggle event to postMessage

* feat: add translation status and message handling

* refactor: optimize localization version logging
This commit is contained in:
EduarteXD
2025-05-08 19:56:41 +08:00
committed by GitHub
parent 75565c0ef0
commit ebf6447507
35 changed files with 6174 additions and 795 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(()=>{var e={},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.rv=()=>"1.3.8",r.ruid="bundler=rspack@1.3.8",function(){function e(t,r,n,o=100){let a=setInterval(()=>{let e=t.querySelector(r);e&&(clearInterval(a),n(e))},o)}function t(e){if(!e||e.parentNode.querySelector('a[data-cy-id="button"][href="/account/pledges"]'))return;let t=e.cloneNode(!0);t.href="/account/pledges";let r=t.querySelector('span[data-cy-id="button__text"]');r&&(r.innerText="My Hangar");let n=t.querySelector('i[data-cy-id="button__icon"]');n&&(n.className="a-button__icon a-icon -gridView"),e.parentNode.insertBefore(t,e)}e(document,"#sidePanel",r=>{new MutationObserver(r=>{for(let n of r)"childList"===n.type&&n.addedNodes.length>0&&n.addedNodes.forEach(r=>{1===r.nodeType&&e(r,'a[data-cy-id="button"][href="/account/settings"]',e=>{t(e)})})}).observe(r,{childList:!0,subtree:!0});let n=r.querySelector('a[data-cy-id="button"][href="/account/settings"]');n&&t(n)})}()})();