位置: 编程技术 - 正文

基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计)

编辑:rootadmin

推荐整理分享基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js基于什么,基于JAVASCRIPT实现的可视化工具是,基于JAVASCRIPT实现的可视化工具是,javascript运用,基于JAVASCRIPT实现的可视化工具是,基于javascript的毕业设计选题,基于javascript的毕业设计,基于JAVASCRIPT实现的可视化工具是,内容如对您有帮助,希望把文章链接给更多的朋友!

一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项(或曰“繁体中文”)。传统做法是在服务端完成的,即通过某些控件或者过滤器转换文本语言。这里笔者介绍一种简单可行的方法,不是在服务端而是利用前端的 JavaScript 就可以切换正体中文。如下图,我们把切换按钮放在页脚(当然你也可以放置在“导航”或者其他更醒目的位置)。

由于页面假设设定均使用 Unicode 字符集,于是一般不用考虑 GB/BIG5 字符集问题,伟大的 Unicode 字符集已经涵盖了繁体字的字符了(UTF-8 编码)。

怎么在页面调用这个功能呢?很简单,首先引入下面 Js(注意还依赖 Function.prototype.delegate(), 下面会提及):

基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计)

然后绑定按钮事件,我们简单地使用 onclick 绑定来全局函数 window.toChinese(el)、window.toSimpleChinese(el)。el 是按钮元素。

js 代码中比较长的两个字符串变量分别是简体中文和繁体中文,他们切换没有什么神奇之处,只是所有文本经过这些变量一一对应即可。当然这里只是常用的繁简对应,而且是机械的,有些特殊的翻译需要联系上下文的,这种高级转换不在此讨论之列。

首先我们看看变量函数 translate,执行它会通过递归遍历完整个 DOM(可以说比较笨的方法)

转换 DOM 内容,我们第一时间想到的可能是 el.innerHTML,但其实大可不必,而且递归的时候不太方便。不妨再想想看,我们其实只需要对文本转换即可,DOM API 能够判断 文本节点(node.nodeType == 3),然后可读可写的 data 属性就是设置文本的(textNode.data),由此我们就是完成到繁体的切换。节点其他属性 title、alt、value 也是同样原理。另外,if (("||BR|HR|TEXTAREA|".indexOf("|" + node.tagName + "|")) > 0)continue; 是排除某些节点的方法,其思路比较特别,可以多借鉴下。

至于 coverntFn 是一函数参数。通过根函数 translateText(text, isBig5) 新生成两个函数 :var traditionalized = translateText.delegate(null, true), simplized = translateText.delegate(null, false);

Function.prototype.delegate() 方法如下。

繁简的转换基本如此了。值得一提的是,浏览器其实替我们识别语言环境的变量,主要是 navigator.userLanguage || navigator.language。这个变量在服务端也可以获取,头读取:Request.ServerVariables("http_accept_language")。

最后我们还通过 cookie 来保存语言状态。

标签: 基于javascript的毕业设计

本文链接地址:https://www.jiuchutong.com/biancheng/378968.html 转载请保留说明!

上一篇:论JavaScript模块化编程(javascript module)

下一篇:javascript特殊日历控件分享(js特殊字符有哪些)

  • 进项票管理软件
  • 停车费增值税税率
  • 实际发的工资跟个人所得税不一样
  • 增值税纳税申报表附列资料(三)
  • 计提减值准备是什么凭证
  • 累计个税是每年累计吗
  • 增值税附加税由买方承担如何计算
  • 按月按季申报
  • 开发票 专业设计服务
  • 利润分配未分配利润借贷方表示什么
  • 企业贷款罚息可以减免吗
  • 供热企业不得抵扣的进项计算
  • 企业转让土地需要交土地增值税吗
  • 应交税金减免税金需要结转吗
  • 存款取款业务记入那个日记账?
  • 股权转让个人交的印花税可以入账吗
  • 房产继承税征收标准是多少
  • 专票当月开的能作废吗
  • 事业单位什么情况下可以提前退休
  • 支付保洁费用
  • 承兑到期了怎么办
  • 合伙企业营业执照多少钱
  • 异地项目预缴个人所得税
  • 以前年度未申报的专项附加扣除
  • 华为手机找回删除的通讯录号码
  • win11系统摄像头黑屏
  • 如何在mac上快速打开聚焦搜索
  • php tr td
  • 企业自建自用房的规定
  • php 模拟post
  • 鹤顶兰的养殖方法和管理
  • 集体租赁住房有房产证吗
  • 固定资产清理的审计目标不包括
  • 建设工程项目设计质量控制的内容
  • is not defined at HTMLInputElement.onclick
  • vue render ref
  • ai绘画网站
  • 分公司和总公司的税务和财务关系
  • 购入固定资产的会计处理
  • 销售返点什么意思
  • 适用会计准则或会计制度(填写代码)
  • 其他应收款借贷方表示什么意思
  • python解释器的多种使用
  • 如何解决安装包解析错误
  • mysql启动器
  • centos7.9 防火墙
  • 会计人员信息采集怎么填
  • 社保可以抵扣吗
  • 使用sqlserver创建数据库和删除数据库的实验总结
  • MySQL: mysql is not running but lock exists 的解决方法
  • 国际货运代理需要什么样的人才
  • 进项大于销项的会计分录怎么做?
  • 本期无销项税额,勾选抵扣的进项税填在哪里
  • 员工购买口罩会计科目
  • 保证金159001收益如何计算
  • 开发成本期末如何结转
  • 搬迁赔偿款
  • 高新技术企业一定是先进制造业吗
  • 票据到期无力支付怎么办
  • 哪些资产减值损失一经计提不得转回
  • 营业外收入属于借方还是贷方
  • sql server2005一个表中可以设置
  • 联想电脑BIOS启动键
  • win8更新win8.1
  • linux常用命令修改
  • vc运行程序exe停止工作怎么办
  • xp桌面底部任务在右边
  • windows8安装密钥永久
  • win7 64位系统使用dos命令快速提高u盘传输速度的技巧
  • html5+css3新特性
  • unity调用android方法
  • vue中使用foreach
  • 批处理清除保留扇区
  • python中的字符型
  • Python中模块和包的区别
  • 使用jquery
  • 深入理解计算机系统
  • 2020年增值税运费税率是多少
  • 即征即退进项税额分摊方法
  • 核定征收一般纳税人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设