雖然我們系統(tǒng)并沒有占對(duì)這塊做特別優(yōu)化。雖然我們會(huì)把模板中的中文都變成英文,但還有大量的通用標(biāo)簽里面殘留中文信息,例如:分頁標(biāo)簽、熱點(diǎn)信息、日期標(biāo)簽,位置導(dǎo)航、內(nèi)容審核、上下一條等等等。以前的做法我們通常會(huì)復(fù)制大量公共標(biāo)簽來修改,但這樣一來給版本升級(jí)會(huì)帶來非常不便。
其實(shí)還有一種更為方便的辦法,就是通過腳本映射。這樣,完善好這個(gè)腳本,待下一個(gè)需求來臨時(shí)只需要把這腳本一放,就十分方便了。
英文版映射腳本
// 中文轉(zhuǎn)英文映射
const zh2en = {
"年": "-",
"月": "-",
"日": "",
"星期一": "Monday",
"星期二": "Tuesday",
"星期三": "Wednesday",
"星期四": "Thursday",
"星期五": "Friday",
"星期六": "Saturday",
"星期日": "Sunday",
"站點(diǎn)導(dǎo)航": "Site Navigation",
"站群導(dǎo)航": "Site Group",
"搜索": "Search",
"您的位置": "Your Location",
"首頁": "Home",
"詳細(xì)內(nèi)容": "Details",
"上一頁": "Previous",
"下一頁": "Next",
"尾頁": "Last",
"共": "Total",
"條": "",
"信息": "Items",
"頁": "Pages",
"轉(zhuǎn)到": "Go to",
"第": "No.",
"發(fā)布時(shí)間": "Published Time",
"作者": "Author",
"瀏覽次數(shù)": "Views",
"次": "",
"字體": "Font",
"大": "Large",
"小": "Small",
"熱點(diǎn)資訊": "Hot News",
"終審": "Final Review",
"打印正文": "Print Content",
"打印": "Print",
"上一條": "Previous Item",
"下一條": "Next Item",
"沒有了": "No More",
":": ":",
"!": "!"
};
function translateTextNodes(node) {
if (node.nodeType === 3) { // Text node
let text = node.nodeValue;
Object.keys(zh2en).forEach(function (zh) {
if (text.indexOf(zh) !== -1) {
text = text.replace(new RegExp(zh, 'g'), zh2en[zh]);
}
});
node.nodeValue = text;
} else if (node.nodeType === 1 && node.childNodes) {
node.childNodes.forEach(translateTextNodes);
}
}
document.addEventListener("DOMContentLoaded", function () {
translateTextNodes(document.body);
});效果如下