位置: 编程技术 - 正文

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

  • 分销佣金税务处理
  • 固定资产的折余价值计算公式
  • 收到发票未收到款
  • 注册公司认缴出资方式怎么选
  • 小规模印花税是季报还是月报
  • 银行日记账写错了怎么改
  • 房地产简易征收可以开专用发票吗
  • 房地产开发企业资质等级有几个
  • 减免的增值税如何账务处理
  • 进货发票未到怎么做账
  • 预付材料款会计分录
  • 微信支付的钱到哪里去了
  • 银行贷款利息可以减免吗
  • 制造业异地安装要预缴增值税吗?如何预缴?
  • 财税2010121号文件解读
  • 记账凭证按照填列方式的分类包括
  • 产品研发费用计入什么科目
  • 计提工资是计提当月的还是上个月的
  • 哪些行业需要缴纳水利建设基金
  • 公司账务审计费用取费标准
  • 留置权什么时候才可以行使
  • 专用发票红字发票
  • mac系列电脑
  • windows10怎么设置自启动
  • win7系统中怎么找不到投影仪
  • 本月未抵扣完的进项税是否转出
  • 既征收消费税又征收增值税的是
  • 跨平台桌面程序
  • yii实现使用CUploadedFile上传文件的方法
  • 混合销售行为的税务处理
  • Linux(CentOS)下PHP扩展PDO编译安装的方法
  • nvm for window
  • jsoup js
  • 学前端的可以是什么专业的
  • 2021前端热门技术解读
  • win10日历点不开
  • Using Visual Leak Detector
  • python3 静态方法
  • 支付水电费如何做账务处理
  • 帝国cms8.0
  • ❤️国庆假期快到了,用python写个倒计时程序,助你熬到假期!❤️
  • 企业所得税计提分录
  • 红字发票信息表怎么打印出来
  • 企业进行存货清查时,对于盘亏的存货
  • 个人提供的劳务费要开发票,但是薪资不需要开发票
  • 未开票收入如何计提增值税
  • 移动平均加权法怎么算
  • 盖骑缝章的合同可以双面打印吗
  • 销售返利如何做会计分录
  • 业务招待费专用会计科目
  • 固定资产相关业务
  • 支付到期承兑汇票属于什么现金流量项目
  • 提取备用金怎么做账务处理
  • 查账征收的含义
  • 给股东分利润怎么做账
  • 出口退税进项发票有什么要求
  • 协会会费怎么入账
  • ubuntu-
  • win8的系统怎么装win7
  • linux系统
  • linux文件压缩和解压缩命令
  • 苹果Mac OS X 10.13系统怎么调整设置窗口透明度?
  • macbookair扫描文件怎么弄
  • linux查看磁盘io负载
  • cocos怎么用
  • 深入解析java编译器源码剖析与实例详解pdf百度云
  • bat文件加密bat解密脚本
  • 分享一下相亲时碰见过哪些奇葩事
  • android tabview
  • unity3d winform
  • JavaScript italics方法入门实例(把字符串显示为斜体)
  • 在python程序中变量名不能用
  • js能写贪吃蛇游戏是什么水平
  • 国税局宁夏税务
  • 晋城兰花集团招聘
  • 税控盘怎么申请领发票
  • 税控盘专票作废流程
  • 阿尔及利亚关税起征点查询
  • 公办幼儿园和企办幼儿园区别
  • 税务局发票邮寄费用谁承担
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设