JS 实现中英文翻译
2024-08-26 02:34:28
缺点就是还是会闪出中文,但是效果还行。
var langPackage = {
"主题":"Title",
"下一页":"NextPage",
"末页":"LastPage",
"首页":" FirstPage ",
"上一页":" PreviousPage ",
"待办工作":"MyTasks",
"中":"Middle",
"每页":" EachPage ",
"条":" Record ",
"共":" Total ",
"页":" Page ",
"第":" Current ",
"工作主题":" ProcTitle"
};
执行遍历 DOM 的逻辑
/*
主调函数
在 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));
最新文章
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数016,xld,xld轮廓
- CSS3动画
- win8 VB6打开提示MSCOMCTL.ocx未注册
- Promising Linking
- 【Gym 100610A】Alien Communication Masterclass
- trap在shell中捕捉信号
- IoC/DI
- 创建触发器在表中播入数据时ID自动增长
- php数组去重的函数代码
- 2013 Multi-University Training Contest 4 Who's Aunt Zhang
- Struts2权威指南笔记
- MyBatis 返回新增数据的自增id
- .Net Core 2.0+ InfluxDB+Grafana+App Metrics 实现跨平台的实时性能监控
- java错误分类
- @ControllerAdvice详解
- WCF系列教程之WCF服务配置工具
- post请求中data参数的应用
- Node Redis 入门
- ios微信浏览器中video视频播放问题
- SQLServer 创建自己的数据库
热门文章
- 关于使用注解出现BeanCreationException或者NameNotFoundException的解决方法
- iOS简单排序--字母排序、NSDictionary排序
- SVN hooks强制提交时填写日志
- java分形树
- sell-- 英文网站产品显示404?
- Webapp的display-name问题
- App Store idfa被拒检查办法
- 为什么一个object_id在dba_objects中为什么查不到记录?
- Oracle利用external table 查看trace文件
- C语言中malloc()和calloc()c函数用法