位置: 编程技术 - 正文

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

  • 国有股权无偿划转协议
  • 出租车发票上没有二维码
  • 出纳个人账户转公户
  • 企业所得税年报错了怎么更正
  • 品种法怎么计算在产品成本
  • 有留抵增值税怎么做账
  • 4s店收取的金融服务费用
  • 以前没有计提增值税吗
  • 劳务派遣能不能预支工资
  • 车辆一次性入费用会计分录
  • 福利费需要交纳个税吗
  • 个体工商户转为企业要交税吗
  • 一般纳税人申请流程
  • 单位旧电脑处置
  • 法律规定临时工工资最迟多久结清
  • 个人独资企业所得税税率表最新
  • 工会开票是否需要开户银行
  • 公司按月工资怎么算
  • 如何申报固定资产投资
  • 内部收益率的计算步骤有
  • 个税申报汇总表怎么填写
  • 商业现金折扣计算
  • 增值税普通发票有什么用
  • 出售汽车属于什么费用
  • 房地产销售佣金表格模板
  • smss.exe是干嘛的
  • 在路由器设置中怎么设置
  • php访问mysql数据库函数
  • 给文件夹设置密码的软件
  • androirc下载
  • linux统计文件行数字数
  • 股份有限公司向股东借款
  • 什么时候使用多进程
  • 归属性质
  • 促销费可以进项抵扣吗
  • framework core
  • 经营性存款人违反规定
  • 用友的应付单和付款单的区别各是什么时候填制
  • vuecli3创建项目的过程
  • php curl_setopt
  • python yolo
  • iozone测试结果分析
  • 场外期权怎么交税
  • 电子发票如何发邮箱给别人
  • 物流公司可以作为货物收货人吗
  • 未确认融资费用怎么算
  • 企业给灾区捐款可以抵税吗
  • 企业收到的
  • 税金及附加可以结转吗
  • 借款与报销流程设计
  • 出库成本会计分录
  • 会计报表作用 镜
  • 翻唱歌曲发行至国外的好处
  • 发票上的印记能去掉吗
  • 房地产行业扣税标准
  • 施工项目部主要职责
  • 诉讼财产保全保函
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 以前年度不合规发票如何调年报
  • 银行承兑汇票记载事项
  • 建账是不是只需要科目余额表
  • 城市维护建设税的计税依据
  • mysql工作内容
  • win8系统怎么重置
  • 如何用u盘装系统 知乎
  • linux的grep命令详解
  • lumia 925 win10
  • 网站遇到错误号怎么办
  • 修改linux系统用户密码
  • win10更新补丁导致打印机
  • win10 edge浏览器崩溃
  • 安装perl模块
  • androidstudio git
  • javascript详细介绍
  • js图片浏览器
  • javascript的基本数据
  • python怎么处理json数据
  • 出国海关申报单图片
  • 青岛税务局局长是什么级别?
  • 租赁合同备案后可以更改吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设