我想为翻译页面创建Chrome扩展到我的语言。
我的解决方案不起作用:
function google_translate_api(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
document.body.appendChild(script);
}
function tElement(){
var gt = document.createElement('div');
gt.setAttribute("id", "google_translate_element");
document.body.appendChild(gt);
}
function googleTranslateElementInit() {
new google.translate.TranslateElement(
{pageLanguage: 'en'},
'google_translate_element'
);
}
chrome.action.onClicked.addListener(async (tab) => {
if (tab.url || tab.url) {
const prevState = await chrome.action.getBadgeText({ tabId: tab.id });
const nextState = prevState === 'ON' ? 'OFF' : 'ON'
await chrome.action.setBadgeText({
tabId: tab.id,
text: nextState,
});
chrome.runtime.onInstalled.addListener(() => {
chrome.action.setBadgeText({
text: "OFF",
});
});
function changeHtmlLangFr(){
document.documentElement.setAttribute('lang','fr')
tElement()
google_translate_api()
}
function changeHtmlLangEn(){
document.documentElement.setAttribute('lang','en')
tElement()
google_translate_api()
}
if (nextState === "ON")
{
await chrome.scripting.executeScript({
target : {tabId : tab.id},
func : changeHtmlLangFr,
});
}
else if (nextState === "OFF")
{
await chrome.scripting.executeScript({
target : {tabId : tab.id},
func : changeHtmlLangEn,
});
}
}
});
我想通过运行此扩展将整个页面翻译成法语。在manifest.json文件中,有一个suggested_key来运行这个扩展。
是否有解决方案来进行此扩展?请帮帮我。
1条答案
按热度按时间f2uvfpb91#
这不是一个完整的答案,但我希望它能有所帮助。
manifest.json
popup.html
popup.js