OpenCC支持地区用词转换了

OpenCC刚刚发布了0.3.0版本,这次发布最大的变化是终于支持地区习惯用词和异体字转换了,这是之前一直被大家呼吁的功能。上个版本0.2.0发布已经是一年前的事情了,这一年来花在OpenCC上面的时间屈指可数。其实我在半年前就发布了一个用QT写的OpenCC图形界面,只是做得水平很一般,这次也修改了不少。

为了展示地区转换的效果,我随便造了几个句子: 原文:

鼠标里面的二极管坏了,导致光标分辨率降低。
我们在老挝服务器硬盘需要使用互联网算法软件解决异步的问题。
什么你在面睡
转换到台湾标准:
滑鼠里面的二极体坏了,导致游标解析度降低。
我们在寮国伺服器硬碟需要使用网际网路演算法软体解决非同步的问题。
什么你在面睡

以上例子前两个句子展示了地区用词转换,第三个句子是台湾标准的异体字,如“为、床、里、著”,OpenCC默认转换的结果是“什么你在面睡?”。

此次发布新增了Mac版,和Windows版一样都包含图形界面:

至于libopencc和命令行,还是说一下怎么使用吧,这次一下增加了10个默认配置文件,如下:

  • zhs2zhtw_p.ini
  • zhs2zhtw_v.ini
  • zhs2zhtw_vp.ini
  • zht2zhtw_p.ini
  • zht2zhtw_v.ini
  • zht2zhtw_vp.ini
  • zhtw2zhs.ini
  • zhtw2zht.ini
  • zhtw2zhcn_s.ini
  • zhtw2zhcn_t.ini

看起来貌似很吓人,到底用哪个呢?我来分别解释一下,首先,为了保证转换的准确性和异体字的统一,OpenCC引入了一种“能分则不和”的繁体作为中间表示,任何转换都要经过这个中间表示,而这个中间表示同时也是我所推崇的用字标准。同时区域转换又分为用字转换和用词转换,即异体字(里、里)和地区习惯词汇(服务器、伺服器)。这10个配置文件分别是不同的源头和目标:

  • zhs2zhtw_p.ini 简体到台湾标准(只转换词汇)
  • zhs2zhtw_v.ini 简体到台湾标准(只转换异体字)
  • zhs2zhtw_vp.ini 简体到台湾标准(转换异体字和词汇)
  • zht2zhtw_p.ini 繁体到台湾标准(只转换词汇)
  • zht2zhtw_v.ini 繁体到台湾标准(只转换异体字)
  • zht2zhtw_vp.ini 繁体到台湾标准(转换异体字和词汇)
  • zhtw2zhs.ini 台湾标准到简体(不转换词汇)
  • zhtw2zht.ini 台湾标准到繁体(不转换词汇)
  • zhtw2zhcn_s.ini 台湾标准到中国大陆标准(转换词汇,并转换为简体)
  • zhtw2zhcn_t.ini 台湾标准到中国大陆标准(转换词汇,保持繁体)

其中后缀p表示phrases,v表示variants,s表示simplified,t表示traditional。我们到底应该用哪个呢?多数情况下简繁转换只需用zhs2zht.ini即可,如果需要转换台湾常用词汇,一般用zhs2zhtw_vp.ini;一般从台湾繁体到简体用zhtw2zhcn_s.ini,如果不需要转换词汇,用zht2zhs.ini。其他的配置依据需求使用,更复杂的情况,我们还可以自定义配置文件,参见说明。当然,如果你仅仅使用OpenCC的图形版,完全没有必要理会这些细节。

为什么要设计得看起来这么复杂呢?目的是为了适应各种不同的需求,例如很多时候转换一片文章需要将其中的地区习惯用词连带转换了,但在输入法中就完全不能,否则就会干扰使用者的原意。更复杂的情形还有异体字的选择等等。OpenCC创立之初的宗旨就是建造一个最好的简繁转换工具,而不是仅仅能用而已。

相关日志