谷歌插件多语言切换失效,默认英文,通过下拉框切换为中文可以成功,再切换为英文,界面还是中文

2023 年 8 月 16 日
 HUZHUANGZHUANG
function translateUI() {
const elements = document.querySelectorAll('[data-i18n]');

elements.forEach(element => {
const key = element.getAttribute('data-i18n');

let translation, translation1
if (key.includes('|')) {
const newkey = key.split('|')
translation = chrome.i18n.getMessage(newkey[0]);
translation1 = chrome.i18n.getMessage(newkey[1]);
if (element.hasAttribute('data-tooltip')) {
element.setAttribute('data-tooltip', translation1);
}
if (element.hasAttribute('title')) {
element.setAttribute('title', translation1);
}
element.textContent = translation;

} else {
translation = chrome.i18n.getMessage(key);
element.textContent = translation;
}
})
}

document.addEventListener('DOMContentLoaded', function () {
// 语言选项事件监听器
var languageSelector = document.getElementById("languageSelector");
// 为<select>添加 change 事件监听器
languageSelector.addEventListener("change", function () {
// 获取用户选择的语言后要进行存储
const saveLanguage = languageSelector.value
console.log("Selected language:", saveLanguage);
translateUI()
});
})

translateUI 是一个语言切换函数,我只有两种语言,一种英文,一种中文.默认进入是英文界面,当语言下拉框选择为中文的时候可以切换成功,然后从中文切换为英文就没有反应.translateUI 函数中加过输出,中文切换为英文的时候有输出,但是界面就是不变.求诸位暴富的大佬们指点,感谢
481 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965687

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX