位置: 编程技术 - 正文

基于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特殊字符有哪些)

  • 收到其他与经营活动有关的现金是什么意思
  • 一般增值税怎么开票的
  • 营业成本包括哪些费用
  • 商誉 会计
  • 小规模纳税人税控系统
  • 收了押金不退
  • 纳税申报现金流量表报错了可以重新申报吗
  • 什么费用可以报销工会经费
  • 库存现金贷方为负数说明什么
  • 免税项目怎么做账
  • 公司老板个人卡收款 出纳有责任吗
  • 人力资源公司劳务派遣怎么收费
  • 增值税转售行为怎么做会计处理?
  • 研发无形资产摊销加计扣除计算
  • 3个点的发票有哪些
  • 生产企业电费要不要计提?
  • 旧税号还能开票吗
  • 汇总纳税企业的分公司如何享受税收优惠政策
  • 小规模计提季度怎么算
  • 筹建期员工社保分录
  • 汇算清缴后需要退税如何操作?
  • 物流公司进项票多了,可以帮人开票吗
  • 高新加计扣除怎么做账
  • 现金支票丢了
  • linux清理磁盘空间
  • window11调节屏幕亮度
  • 局域网内ip地址冲突怎么找出来
  • linux系统的
  • 默认网关不可用的解决办法
  • 如何删除驱动器里面的文件
  • php判断链表是否有环
  • 跨年冲减无发票怎么入账
  • 先开票后收款的发票怎么备注
  • php目录操作
  • php xml转数组
  • 现代信号处理张贤达pdf
  • pytorch sgd优化器
  • ChatGPT 的 10 种集成模式:从开源 AI 体验平台 ClickPrompt 中受到的启发
  • 企业销售固定资产房屋都要交什么税
  • 微擎框架破解版v2.7.7
  • 一般纳税人设备安装税率
  • 应收预收的区别
  • linux mysql忘记密码的多种解决或Access denied for user 'root'@'localhost'
  • 含税与不含税的计算公式
  • 无偿调入的固定资产怎么记账
  • sqlserver2005安装失败
  • c语言http请求解析表单内容
  • 管理费用核算的是
  • 购货方收到销售折扣发票怎么入账
  • 红字发票的数量乘以单价可以不等于含税金额吗
  • 建筑业增值税税负率一览表
  • 停车费比油费还贵
  • 企业银行贷款报表模板
  • 不动产进项税额分期抵扣暂行办法还有效吗
  • 消费税的账务处理方法
  • 企业接受非货币性资产投资的入账金额
  • 事假 扣工资
  • sqlserver字符函数
  • win7隐藏共享文件夹
  • linux查看可执行命令
  • vsftpd 550错误
  • centos 文件搜索
  • 怎么自己安装windows7
  • macbookpro客人用户
  • linux系统中怎么输入中文
  • sharedprem.exe - sharedprem是什么进程 有什么作用
  • naimag32.exe - naimag32是什么进程 有什么用
  • 从《AndEngine游戏开发实践指南》开始,学习AndEngine引擎
  • Android游戏开发读后感
  • js面向对象编程实例
  • 纸嫁衣6攻略全文图解
  • 批处理for命令修改后缀名
  • 在Android EditText中实现日期时间选择器(DatePicker和TimePicker)
  • unity shader ao
  • android设计模式的应用场景
  • linearlayout布局怎么设置
  • 税务系统今天不能用
  • 研发费用加计扣除2022政策
  • 深圳市地方税务局历任局长
  • 去税务局补缴税款医疗费不带证件可以吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设