From 302c8821d68ececbf4b2b78257d2a4810b7d4993 Mon Sep 17 00:00:00 2001 From: Owen Young Date: Sun, 6 Nov 2022 20:46:18 +0800 Subject: [PATCH] support twitter do not translate target language --- src/chrome_manifest.json | 2 +- src/contentScript/enhance.js | 15 +++++++++++++++ src/manifest.json | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/chrome_manifest.json b/src/chrome_manifest.json index 8d0f8dfe..c02efe22 100644 --- a/src/chrome_manifest.json +++ b/src/chrome_manifest.json @@ -3,7 +3,7 @@ "default_locale": "en", "name": "Immersive Translate - 沉浸式翻译", "description": "支持整页翻译·双语显示·只翻译正文。布局全面优化,和浏览器阅读模式类似,对Twitter, Reddit等网站做了定制优化", - "version": "0.0.5", + "version": "0.0.6", "homepage_url": "https://github.com/theowenyoung/Traduzir-paginas-web", "commands": { diff --git a/src/contentScript/enhance.js b/src/contentScript/enhance.js index af2882fe..640cdad5 100644 --- a/src/contentScript/enhance.js +++ b/src/contentScript/enhance.js @@ -227,11 +227,26 @@ function getNodesThatNeedToTranslate(root,hostname,options){ // all block nodes, nodes should have a order from top to bottom let allNodes = []; + let currentTargetLanguage = twpConfig.get("targetLanguage") + // check sites if(allBlocksSelectors.length>0){ for(const selector of allBlocksSelectors){ const nodes = root.querySelectorAll(selector); for(const node of nodes){ + if(hostname==="twitter.com"){ + // check language + try{ + const lang = node.getAttribute("lang"); + if(lang && currentTargetLanguage.startsWith(lang)){ + continue; + } + }catch(e){ + // ignore + // console.log("e", e) + } + } + if(isValidNode(node)){ allNodes.push(node); } diff --git a/src/manifest.json b/src/manifest.json index 21388e4f..6acf578d 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -3,7 +3,7 @@ "default_locale": "en", "name": "Immersive Translate - 沉浸式翻译", "description": "支持整页翻译·双语显示·只翻译正文。布局全面优化,和浏览器阅读模式类似,对Twitter, Reddit等网站做了定制优化", - "version": "0.0.5", + "version": "0.0.6", "homepage_url": "https://github.com/theowenyoung/Traduzir-paginas-web", "browser_specific_settings": {