前端翻译国际化
标签: 网站国际化支持
在网站中加入:
<script>
var langPackage = {
"主题": "Title",
"下一页": "NextPage",
"末页": "LastPage",
"首页": " FirstPage ",
"上一页": " PreviousPage ",
"待办工作": "MyTasks",
"中": "Middle",
"每页": " EachPage ",
"条": " Record ",
"共": " Total ",
"页": " Page ",
"第": " Current ",
"工作主题": " ProcTitle"
};
/*
主调函数
在 Jquery的 .read方法里调用 ReplaceChildChs($(document));
或者页面的最后调用
ReplaceChildChs($(document));
*/
function ReplaceChildChs(nodeObj) {
// if($("#hdfUseLang").val()=="CN")return;
if (nodeObj.children().length > 0) {
nodeObj.children().each(function() {
ReplaceChildChs($(this));
// if ($(this)[0].nodeName.toUpperCase() == "TD"){
FindChsAndReplaceIt($(this));
// }
});
} else {
FindChsAndReplaceIt(nodeObj);
}
}
// 直接替换html 的一种设想,但总是报错
function JustReplaceChsDom(nodeObj) {
var pat = new RegExp("[\u4e00-\u9fa5]+", "g"); // 匹配中文的正则表达式
var str = $(nodeObj).html();
while ((arr = pat.exec(str)) != null) {
if (langPackage[arr[0]]) {
str = str.replace(arr[0], langPackage[arr[0]]);
}
}
$(nodeObj).html(str);
}
function FindChsAndReplaceIt(nodeObj) {
var pat = new RegExp("[\u4e00-\u9fa5]+", "g");
if ((nodeObj.text() || nodeObj.val() || nodeObj.attr("title")) &&
(pat.exec(nodeObj.text()) || pat.exec(nodeObj.val()) || pat.exec(nodeObj.attr("title")))) {
var str = ""
if (nodeObj.text()) {
str = nodeObj.text();
ReplaceValue(str, nodeObj, "text");
}
if (nodeObj.val()) {
str = nodeObj.val();
ReplaceValue(str, nodeObj, "val");
}
if (nodeObj.attr("title")) {
str = nodeObj.attr("title");
ReplaceValue(str, nodeObj, "title");
}
}
}
function ReplaceValue(str, nodeObj, attrType) {
var arr;
var pat = new RegExp("[\u4e00-\u9fa5]+", "g");
while ((arr = pat.exec(str)) != null) {
if (langPackage[arr[0]]) {
str = str.replace(arr[0], langPackage[arr[0]]);
if (attrType == "text") {
nodeObj.text(str);
} else if (attrType == "val") {
nodeObj.val(str);
} else if (attrType == "title") {
nodeObj.attr("title", str);
}
}
}
}
ReplaceChildChs($(document));
</script>
上面数组进行单词替换;
文章啥的最好还是有多语言的支持
translate翻译方式-注意关注接口请求是否通
<div id="google_translate_element"></div>
<script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'zh-CN',
layout: google.translate.TranslateElement.InlineLayout.SIMPLE
}, 'google_translate_element');
}
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<!-- Begin TranslateThis Button -->
<div id="translate-this"><a href="http://translateth.is/" class="translate-this-button">Translate</a></div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://x.translateth.is/translate-this.js"></script>
<script type="text/javascript">
TranslateThis();
</script>
<!-- End TranslateThis Button -->
整体项目思路:
文章同步发布到我的blog: 传送门
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。