我正在撰写Google Chrome扩展程序。目标页面用俄语写成。 Chrome翻译为英语。我可以看到一些似乎与翻译有关的不一致。例如,在以下代码中,我检查我是否在特定文件夹中:
if (searchResult[0].innerHTML.indexOf("Общая папка")!=-1) alert("You are in Shared Folder."); else (alert(searchResult[0].innerHTML));
如果我多次重新加载完全相同的页面,则结果不一致。有时它会检测到“Общаяпапка”,但有时却没有。当它没有检测到这个短语时,警告说我在“共享文件夹”中,这是“”Общаяпапка的翻译。“这里似乎没有一致性。有时我正在处理原始文本(这是首选)但有时我会处理对我的脚本无用的糟糕翻译,因为翻译一直在变化。
有谁知道如何解决这个问题?关闭它可能会解决它,但实际上翻译对于扩展的其他方面是有用的和必要的。我理解翻译适用于HTML的一些辅助层(我还没有很好地研究过)。我可以在脚本中简单地引用原文吗?
答案 0 :(得分:6)
根据此answer,您可以通过将以下元素放在网页的头部来禁用翻译:
Insert this to the head section of your web page.
<meta name="google" value="notranslate">
如果您需要以编程方式禁用翻译,可以通过JavaScript添加该标记。
答案 1 :(得分:0)
不确定是否禁用它,但看起来在翻译后Chrome将class="translated-ltr"
添加到<html>
元素,因此您可能至少可以检测到页面何时被翻译并警告用户该扩展名可能无法在此页面上正常工作或只是禁用它。