位置: 编程技术 - 正文

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

  • 抄税报税流程图片
  • 设计印刷合同
  • 企业所得税税前扣除吗
  • 收到劳务发票还未付款
  • 基金份额股权转让
  • 折扣折让属于什么科目
  • 固定收益凭证是固定的吗
  • 公司的软件服务包括哪些
  • 建筑工程怎么确定施工工程进度
  • 企业注销资产负债表年初数要调整吗?
  • 以股抵债的会计分录
  • 一个公司帮另一个公司代付款
  • 收到社会保险基金管理局转来的失业保险金,社保代发
  • 公司出差是自己先垫付再报账吗
  • 个体行业哪些不需要交税
  • 货运代理公司可以开运输费发票吗
  • 租车服务的税率
  • 购买国债逆回购有股东限制
  • 个税申报系统操作流程app
  • 一张抵扣发票能分多次抵扣不
  • 债务免除的税务处理
  • 外经证过期没报验
  • 坏账准备的转回对资产的影响
  • 1697509666
  • 辅助生产费用的核算
  • 待抵扣的进项税因不能抵扣做转出的会计处理
  • 房产税从租计征按月还是按季
  • 支付劳保用品会计怎么做
  • 存量资金上缴国库是哪个文件规定了
  • win10wifi老是自动断开怎么回事
  • win10下载软件被阻止安装怎么办
  • scheduler.exe - scheduler是什么进程 有何作用
  • 报关代理费是什么
  • 服务费的进项发票怎么做
  • dat文件转换成wps表格
  • php使用oci8扩展连接oracle
  • php验证电子邮件格式
  • thinkphp3.x中session方法的用法分析
  • densenet详解
  • 关于商业承兑汇票的多选题有哪些
  • 汇兑损益计算方法有哪些
  • 总公司中标后走账怎么办
  • 建筑公司包含哪些业务
  • 资本公积和盈余公积都与利润有关
  • 经营租入的设备属于什么会计要素
  • 付款后发票的扩张怎么开
  • 预缴税款计算表填0.01行吗
  • 纳税人及时提供信息
  • 员工加班餐费算什么费用
  • 以前年度损益调整怎么结转
  • 运输费用如何做账
  • 建安业一般纳税人税率是多少
  • 公司有外籍人员怎么办
  • 已付款收货未收货怎么办
  • 销项发票怎么导出的是压缩包怎么打开
  • 个人出租租房收什么税
  • 暂估入账后费用怎么做账
  • 固定制造费用包括变动制造费用吗
  • 企业发生亏损时,下列各项,( )是弥补亏损的渠道
  • 新一代win10
  • win8和win10双系统安装教程
  • u盘启动pe工具
  • wrsvn.exe是什么
  • winxp无法删除文件
  • ubuntu 系统卡住
  • 手机耳机插在电脑上能说话吗
  • 写出linux安装的详细步骤
  • 怎么才能给电脑提速
  • mac命令行终端快捷键
  • linux 源文件
  • html5lib
  • Android游戏开发案例教程小小弹球
  • unity点击按钮没反应
  • node.js怎么搭建服务器
  • javascript学习指南
  • 正确的解决方式
  • android布局教程
  • 谷歌的全球化发展战略
  • python dict.get()和dict['key']的区别详解
  • 国家税务总局公告2013年第12号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设