位置: 编程技术 - 正文

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

  • 证券交易印花税税率是多少
  • 办公室电话费计入什么科目
  • 普票需要填写全部开票信息吗
  • 上期金额和本期金额是什么意思
  • 增值税减免税款怎么算
  • 用自产货物用抵债交换是否视同销售
  • 收票据计息利息为什么要红字冲账?
  • 其他综合收益的税后净额怎么计算
  • 拆迁补偿款上交财政
  • 租房提前退租违约金国家标准
  • 递延所得税费用为负数是什么意思
  • 建筑工程安装合同
  • 有进项无销项会计分录
  • 外贸企业出口收入怎么账务处理
  • 加计扣除两种情况
  • 福利费的进项税怎么做账
  • mac打印机状态暂停怎么处理
  • 长期股权投资增加的原因
  • 申报个税和缴纳个税一样吗
  • 进项税税额抵扣
  • 企业注销时实收资本为0
  • win10无法上网,显示灰色的飞行模式
  • 公司法人向公司借款未还,公司可以倒闭吗
  • 业绩补偿是什么意思
  • PHP:imageellipse()的用法_GD库图像处理函数
  • 境外汇款预处理是什么意思
  • thinkPHP5 tablib标签库自定义方法详解
  • 编写一个php程序,展示双引号和单引号的区别
  • st的电机库性能怎么样呢
  • 浏览器你
  • 通信原理简明
  • uni-app编译
  • 车船税是不是车损
  • 养殖场租赁发票图片
  • 教育经费什么情况下可以报销
  • 其他应付款贷方表示什么意思
  • 公司注销员工的经济补偿哪些情况才能是2N呢
  • 无形资产有在建工程吗
  • 其他应付款贷方余额怎么冲平
  • 税款差0.05是怎么处理
  • 收到服务费发票怎么做账
  • 原材料不良赔偿率怎么算
  • 境外服务费代扣代缴所得税怎么做账
  • 预收账款退款的会计处理
  • 公司卖出货物没有发票
  • 企业迁移税务如何办理
  • 收到残保金退税现金流
  • 固定资产以提足金为准吗
  • 发票跨年红冲 交税
  • 年末利润如何计算
  • 现金流量结构分析表
  • 劳务派遣服务怎么做会计分录
  • ubuntu安装transmission
  • 怎么删除服务器管理的服务
  • linux网卡lo
  • linux 应用程序
  • centos6.x下安装maven CentOS自动安装Maven的方法
  • linux各种命令
  • PHPMyAdmin 2.7.0-pl1下载
  • win7系统网速太慢怎么办
  • linux小技巧
  • win8系统电脑卡
  • perl常用函数
  • perl -p -i
  • 实用的批处理
  • 样式默认有几种修改格式
  • unity全屏
  • Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
  • linux shell脚本命令
  • unity接入第三方sdk
  • 安卓app性能测试
  • javascript数据结构与算法第三版
  • js设置rem
  • jquery自定义函数
  • jquery有哪些
  • 企业个税网上申报时间
  • 补办契税需要哪些资料
  • 四川省国家电子税务局网上申报
  • 广东省国家税务总局班子成员
  • 重庆网上社保怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设