位置: 编程技术 - 正文

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

  • 纳税会计的要素有
  • 缴纳印花税的会计凭证
  • 公司销户本金转到哪里
  • 小规模开普票多少税点
  • 初始余额录入时需要录入什么
  • 物流企业账务流程
  • 服装行业营业收入存在的问题与对策
  • 股权收购溢价的原因
  • 装修未付款的会计分录
  • 经营期间银行存在的问题
  • 发行收入要减去股本吗
  • 企业利润分配如何分析
  • 营改增后建筑业开票规定
  • 加工产品不一定有合理损耗
  • 补缴去年附加税及滞纳金
  • 建筑业开票内容
  • 一般纳税人财务报表申报流程
  • 小规模纳税人增值税优惠政策2023
  • 定额发票上除了发票章还有其他章吗
  • 押金算不算房租
  • 废品损失的计算公式
  • 房地产公司的存货分析
  • 每月计提的工资包含社保吗
  • 职工福利费汇算清缴怎么填写
  • 没有进项发票的货物能算成本吗
  • 监事会职权范围是什么
  • edge弹窗
  • 代扣代缴个人所得税怎么申报
  • 前端后端选择
  • vue父组件怎么调用子组件的方法
  • 未取得专用发票详细原因怎么写
  • 2023年生活性服务业加计扣除
  • php连接数据库mysql做登录页
  • 承兑贴现会计分录怎么做
  • angular 初学者快速上手教程
  • echarts图大小设置
  • ci框架视频教程
  • 金蝶k3固定资产如何入账
  • 公司购买的商品是白酒用于招待现金流项目是哪类
  • 个人所得税专项扣除新标准一览表最新
  • 差旅费具体包括哪些
  • sql2008还原到2012
  • 汽车报废残值如何处理
  • 临时工资怎么核算
  • 违约金 专票
  • 二手车置换新车需要什么手续
  • 外地预缴怎么算
  • 收到现金货款怎么处理
  • 混凝土增值税发票税率
  • 公司开出发票但未收到款如何写分录?
  • 广告费应该计入办公费还是印刷费
  • 贷款的拨备覆盖率
  • 仓储费计入哪个部门的费用
  • 营销活动开什么发票
  • 房地产企业以土地入股如何交纳企业所得税
  • mysql外键是什么意思
  • linux图形化界面怎么打开命令窗口
  • Mac怎么查看WiFi使用量
  • 在windowsxp中设置控制计算机硬件设备
  • 编写一个定时间隔为5ms的子程序
  • win8系统笔记本忘记开机密码怎么办
  • windows8如何分盘
  • android 开发 教程
  • jquery移动节点的方法
  • Building Unity3D Plugins for Android
  • 狗刨教学视频新手入门
  • unity手机游戏开发教程
  • 详解怎样利用双色球密码选号
  • linux 编译
  • jqgrid单元格点击事件
  • python中的条件判断和循环语句
  • 不同版本安卓控制台区别
  • Jquery和BigFileUpload实现大文件上传及进度条显示
  • js继承的方法
  • 重庆电子税务局怎么开电子发票
  • 公司税务电子发票怎么开
  • 纳税人谈感受
  • 法律服务所与律师事务所区别
  • 上海税务登记如何网上申请
  • 深圳为何
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设