位置: 编程技术 - 正文

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

  • 个人在境外取得收入纳税办法
  • 珠宝饰品在什么地方买
  • 社保与个税有关系么
  • 个人所得税如何办理退税
  • 流动资产周转天数下降说明什么
  • 法人章和财务章谁保管
  • 电子银行承兑汇票查询
  • 电子发票冲红还是作废
  • 销售出库发票会计分录怎么做?
  • 应收账款核销后收回
  • 违约金收入计入应纳税所得额吗
  • 实收资本印花税属于什么税目
  • 私对公转账需要开发票吗
  • 哪些情况下小型车不能走
  • 没有发票的固定资产可以税前扣除吗
  • 网络科技公司会计核算及账务处理
  • 可供出售债券投资
  • 同期比较百分比如何计算
  • 查账征收企业所得税季报怎么填
  • 广告公司的收入增加原因
  • 生产成本包括什么科目内容
  • 实收资本要求
  • 项目设计费怎么算
  • 辉柏嘉彩铅一共多少色
  • vue方法顺序执行
  • 集体土地使用权可以抵债吗
  • mac phpstudy
  • 后端怎么返回数据给前端
  • pytorch train()
  • 劳务公司企业所得税税负率
  • 转让使用过的固定资产增值税
  • 普通增值发票作废税务局能查到吗
  • 企业筹建期间
  • c语言f lf
  • mongodb数据表
  • 不认定为一般纳税人的有哪些
  • 购买办公楼之后怎么入住
  • 低值易耗品的
  • 下列项目的进项税额可以从销售税额中抵扣的是
  • 家庭分割财产怎么处理
  • 小规模未达起征点销售额是多少
  • 公户里的钱可以随便转出嘛
  • 计提地税会计分录怎么做
  • 清算期间发生的利息支出应计入
  • 政府拨款怎么做账
  • 公司账户的钱怎么合理的转出来
  • 房地产开发企业与转让房地产有关的税金
  • 土地使用税和房产税是一起的吗
  • 先计提所得税还是先出报表
  • 员工体检费发票怎么入账
  • 联营公司是关联方吗
  • 一般纳税人增值税优惠政策2023
  • 明细账设置是什么意思
  • sql server 3417错误
  • mysql5.7闪退
  • windows禁止安装
  • Win10 Build 10565版Edge浏览器完整更新日志一览
  • windows一体机
  • Win10怎么关闭任务栏搜索
  • Linux桌面环境选择
  • win8.1屏幕键盘
  • win7系统存储在哪
  • Win7系统打开文件夹没有自动排列选项
  • dos到windows
  • pops基本属性
  • shell脚本echo输出变量
  • opengl怎么用
  • 微信小程序tabbar颜色
  • jquery注释有哪几种
  • js不重复集合
  • nodejs dgram
  • jquery ajax分页插件的简单实现
  • java script
  • jquery propertychange
  • jquery使用教程
  • 北京市大兴区有多少人口
  • 广东省退休公务员死亡抚恤金和丧葬费标准
  • 深圳市国家税务局网站
  • 潍坊市滨海经济开发区属于哪里
  • 江苏几个地级市几个县级市
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设