一个简繁转换的jQuery插件——jquery-s2t

2013-11-01 15:45:41 +08:00
 hustlzp
源代码:
https://github.com/hustlzp/jquery-s2t

之前写一个网站的时候需要简繁转换功能,当时还不知道 byvoid 大大的opencc( https://github.com/BYVoid/OpenCC ),自己也不想写,于是就在网上随便找了一个js代码用上去了,地址如下:

http://www.cnblogs.com/luluping/archive/2009/07/10/1520450.html

最近花点时间将它从头到尾重整了一遍,包装成一个jQuery plugin。

特性如下:

- 文本简繁转换
- 对HTML节点中的文本进行简繁转换,同时会遍历处理所有的子节点
- 对HTML节点的alt, placeholder, title进行简繁转换
- 支持2553简体字/繁体字的相互转换(尚未验证其准确性和完整性)
- IE6+, Chrome, Firefox测试通过

我的一个个人兴趣站点正在用: http://www.xichuangzhu.com/

大家如果以后需要在web前端进行简繁转换,欢迎使用、提交issue、pull-request等等。可以直接改源码,我整理得还比较清晰。

本来打算往npm上放,不过 byvoid 大神已经支持多种语言了(包括Node.js),而且感觉opencc的功能比这个玩意儿强大一万倍,所以还是不要去丢脸了...
11650 次点击
所在节点    分享创造
5 条回复
orzfly
2013-11-01 16:07:38 +08:00
楼主你必须理解的是,这只是字形转换。而且,字形转换也并非这么简单。汉字简化过程中,有些字符简化后合并成了一个字。

比如:
> 比如一般人都很容易认为笔画多的“鬥”就是“斗”的繁体字,因而遇到简体字“斗”就全部转为“鬥”。其实,只有当“斗”读dòu,用于“斗争、斗殴、斗智”等与打斗有关的意义时,才可以转换为繁体字“鬥”。“斗”读dǒu,表示容量单位、升斗类器具或者升斗形状的意义时,古今都写成“斗”而不能写成“鬥”。
> http://mail.ywcbs.com/more.asp?infoid=4430

我以前写过一个 JS 脚本,
http://bbs.moe9th.com/source/plugin/moe9th_chinese_variant/script.js
http://bbs.moe9th.com/source/plugin/moe9th_chinese_variant/table.js
数据来自于 OpenCC,translateTables 里整个 Hant 和 Hans 表是用来字形转换的,而 TW, HK, CN, SG 四张表才是用来用语转换的。效果可以在那个站首页上看到,事实上这个东西还是问题多多。

另外,看了一下你的西窗烛,我个人觉得,文章部分,应该在数据库里存原文和一份人工参与的简化版本。因为古文的简繁转换相比现代文是更加困难的。
orzfly
2013-11-01 16:09:57 +08:00
另外,推荐一下《中國哲學書電子化計劃》。 http://ctext.org/zh
hustlzp
2013-11-01 16:13:27 +08:00
@orzfly 感谢回复!现在还是脑残地硬替换,其他的都没管,以后可以学习下你的代码。
再次感谢!
avalon
2013-11-01 16:20:31 +08:00
收藏学习了~ 感谢lz
hustlzp
2013-11-02 09:42:09 +08:00
@avalon 谢谢支持,@orzfly 为我指明了改进方向,我会抽时间不断改进的 : )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/87707

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX