位置: 编程技术 - 正文

基于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显示器颜色不正常
  • 购买境外技术缴纳税费
  • windows10如何开热点
  • windows11家庭版本地策略组
  • 代扣代缴增值税怎么做账
  • 如何调整任务栏图标大小
  • 软件远程调用失败是什么意思
  • 现金日记账漏记一笔怎么办
  • 企业的民间借贷合法吗
  • windows7简洁版
  • PHP:connection_status()的用法_misc函数
  • 新准则下的现金流量包括
  • kindeditor编辑器图片上传
  • SSD目标检测算法
  • 发ai的英文单词
  • 订单超时十分钟
  • 《中华人民共和国民法典》
  • 专票认证期限多长时间
  • 上月普通发票怎么作废
  • 帝国cms移动端
  • 公司开的餐费专票可以抵扣吗
  • 帝国cms可以做商标吗
  • sql server备份数据还原不了怎么办
  • mongodb创建库
  • 织梦网站怎么添加关键词
  • 无形资产入账价值错误怎么调
  • 利息收入为负数的原因
  • 增值税勾选统计后如何导出明细表
  • 企业所得税季度申报表怎么填
  • 公司章程在工商局盖章需要什么
  • 计提的工会经费年底有余额咋处理
  • 物业费没收到可以确认收入吗
  • 所有者权益包括少数股东权益吗
  • 固定资产一次性扣除申报表怎么填
  • 外经证预交税款可以以后月份抵扣吗
  • 实缴制下未到位资金
  • 单独计价作为固定资产入账的土地为什么不计提折旧
  • 进项发票超过期限不认证怎么办
  • 给法人交社保,不发工资可以吗
  • 房地产企业的土地使用权计入什么科目
  • win8系统和win7哪个好
  • centos6.9开启ssh服务
  • linux文本处理实验报告
  • Ubuntu系统怎么设置IP
  • sdl_init
  • 删除隐藏文件命令
  • windows8任务栏在下面怎么不显示
  • cocos环境搭建
  • python os.path模块
  • perl-v
  • JavaScript中的变量名不区分大小写
  • jquery滚动条滚动到指定位置
  • 不使用jsp
  • shell脚本进程号
  • Unity3D WebCamTexture 调用外部摄像头
  • JavaScript toFixed() 方法
  • EasyTouch Broadcast messages选项在js和c#下的用法
  • 电子税务局怎么添加开票员
  • 广州市国家税务局第三分局
  • 地税局科员干什么的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设