V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hustlzp
V2EX  ›  分享创造

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

  •  
  •   hustlzp ·
    hustlzp · 2013-11-01 15:45:41 +08:00 · 11749 次点击
    这是一个创建于 4035 天前的主题,其中的信息可能已经有所发展或是发生改变。
    源代码:
    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的功能比这个玩意儿强大一万倍,所以还是不要去丢脸了...
    5 条回复    1970-01-01 08:00:00 +08:00
    orzfly
        1
    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
        2
    orzfly  
       2013-11-01 16:09:57 +08:00   ❤️ 1
    另外,推荐一下《中國哲學書電子化計劃》。 http://ctext.org/zh
    hustlzp
        3
    hustlzp  
    OP
       2013-11-01 16:13:27 +08:00
    @orzfly 感谢回复!现在还是脑残地硬替换,其他的都没管,以后可以学习下你的代码。
    再次感谢!
    avalon
        4
    avalon  
       2013-11-01 16:20:31 +08:00
    收藏学习了~ 感谢lz
    hustlzp
        5
    hustlzp  
    OP
       2013-11-02 09:42:09 +08:00
    @avalon 谢谢支持,@orzfly 为我指明了改进方向,我会抽时间不断改进的 : )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:28 · PVG 06:28 · LAX 14:28 · JFK 17:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.