帮助:繁简处理/技术方案

字词转换
主页 讨论
转换请求
错误修复请求
地区词候选
转换介绍
字词转换处理 讨论
  繁简处理 讨论
  地区词处理 讨论
  公共转换组 讨论
帮助文档
繁简与地区词处理 讨论
  转换原理 讨论
  手工转换 讨论
  高级语法 讨论
  用字模式选择说明
相关模板
NoteTA 全文字词转换
CGroup 公共转换组列表
Lan 界面文字转换
地区用词 地区词模板
地区用词2 高级地区词模板
各地中文名 地区用词信息框
查看 - 讨论 - 编辑 - 变动

这个页面主要用来记录如何从技术上解决繁简体问题的一个备忘录。讨论请在对话页进行。

现在大家一致同意通过程序脚本从服务器端自动转换繁简体,这涉及到对mediawiki软件的许多修改,以及兼容性。

系统界面

现在可以先解决系统界面的繁简体问题。现在已经有了LanguageZh.php(简体界面,也是当前的系统界面),m:LanguageZh-tw.php(繁体界面,可能需要做一些修改,兼容简体版本),Special:Allmessages可以定制系统界面。需要对程序作一些修改,同时确定繁简体用户的识别机制(参数设置,匿名用户等),并且在Special:Allmessages中生成一个繁体的MediaWiki:命名空间。MediaWiki:命名空间中的内容不做繁简转换。完成这一步之后,解决内容的繁简体问题应该更轻松一些。因为已经对程序有了一定的认识,对繁简体转换中涉及的一些基础工作(例如繁简用户的检测)也有了一定的基础和经验。

跨语言链接

  1. 如何实现与以前的跨语言链接的兼容性?(中文版的解决方案,其他语言版本的解决方案)
    1. 先行逐字作繁简转换。
    2. 若有关汉字有多于一个对应,以最大分词法选取最大长度的词语,然后再从词语对照表中寻找翻译。
    3. 没有对应的,以最常见的对应频率为优先。
    4. 翻译后应把文章的字频双字频记录在数据库,以作为日后翻译的数据依归。
  2. 跨语言链接的方式
    1. 在中文版
      1. 如果检测为简体用户,则自动产生一个zh-hant:的繁体跨语言链接,反之亦然。
      2. 如果简体用户点击zh-hant:的跨语言链接,则显示繁体版本,并有一个zh-hans:的简体跨语言链接,反之亦然
    2. 在其他语言版本,有两种方式可选
      1. 例如在英语版,一个用户添加了一个zh:的跨语言链接,显示时系统自动产生zh-hans:和zh-hant:两个跨语言链接。如果用户添加的是zh-hans:或zh-hant:同样如此处理。点击zh-hans:或zh-hant:进入相应的繁简版本
      2. 无论用户添加zh:,zh-hans:或zh-hant:,显示则只有一个到中文版的跨语言链接,点击该链接,根据系统的判断决定显示繁体或简体其中一个版本。
      • 前一种方法似乎比较简单,而且对于读者来说有更大的灵活性。
      • 测试过测试站点,可以在用户参数中更改界面语言和转换语言,但是速度有些慢,还有,应该留下一个不用转换的选项,原来是简体的显示为简体,原文为繁体的显示成繁体,有时候这样可能更好一些。

繁简字对照表

  1. 一些特殊繁简体汉字的转换。参看wikipedia:中文繁简体对照表
  2. Unicode 4.0标准中的繁简转换数据。参看wikipedia:Unihan繁简体对照表

繁简词对照表

可以有两类对应关系:

  1. 同一个词,对应的字不同。如“专业<=>專業”,“电话<=>電話”;
  2. 同一个概念,不同的说法。如“克罗地亚<=>克羅埃西亞”,“打印机<=>印表機”。

对于第一种情况,我们只需考虑包含一对多的单字的词。如“专业”无需包含在转换表中,因为“专”和“业”都只有唯一的繁体对应。但“饼干”则要列在表中,因为“干”可对“乾”或 “幹”。因此,简繁表可以这样构造:搜集一个较全面的繁体词汇表,把包含简繁一对多的繁体字(缺省对应除外)的词找出来,然后翻译成简体。繁简表亦然。见wikipedia:简繁词表wikipedia:繁简词表

对于第二种情况,当然所有词都要包含。以后更新的对应表主要应该是增加这类词。见wikipedia:繁简分歧词表

数据库

  • 使用同一个数据库(里面包含了简体和繁体的混合数据,界面显示的是根据用户选择后的语言通过软件转换成繁体或简体)。

繁简体用户的识别

  1. help:参数设置上的修改,用户可以自定义显示繁简体
  2. 匿名用户(通过对ip访问检测解决?)
  3. 通过检测浏览器的语言选项来实现

不自动转换的汉字

出于特殊的需要,个别汉字可以不进行自动繁简转换。使用-{文字}-来表示不进行繁简转换的汉字,以及-{zh-hans:简体;zh-hant:繁体}-进行手工转换。

测试站

请到http://s87257573.onlinehome.us/wiki/测试。目前测试站采用上述基于Unihan数据库的繁简字转换,以及从SCIM输入平台获取的词表所做的词的转换表来进行自动转换。手工转换使用上述标记。

转换表校对工作

请大家到Wikipedia:繁简处理/转换表校对工作帮忙校对转换表!

相关技术方案

如果想把mediawiki软件的繁简处理技术整合到你的 PHP 程序中,可以参考http://code.google.com/p/mediawiki-zhconverter/