上一篇文章讲到了Trados的插件开发,其实主流的CAT软件,比如Trados、memoQ、Deja Vu和OmegaT等,都支持开发插件。OmegaT我相对熟悉一点,除了插件,它还支持运行脚本。
另外,句段分割、质量检查规则,以及自定义文件格式过滤器(如纯文本、XML解析),也都是属于可定制的内容。
为什么要提供定制,说到底还是翻译会碰到的问题实在太多了,软件很难做到包罗万象,适合所有的问题。而且,很多时候,做进去的功能对于某些问题很适合,对于某些问题则一点关系都没有。所以,通过插件来定制解决特殊问题的能力是很重要的。
雪人CAT的一个特点就是它针对不同的语言对推出不同的版本,这样对源语和目标语的针对性更强,软件操作也极大地简化,比如创建项目只需选择是英到中还是中到英。而且因为只需要包含中英的词典和模型,软件体积也会小巧不少。
Trados的机器插件开发,把TM和MT混在一起,增加了开发的复杂度。其实调用机器翻译是一个很简单的过程,就是调用API,然后可以再用一个替换词表,对生成的结果进行些替换什么的。Trados机器翻译插件的类多达起码4个,而BasicCAT的机器插件只需一个类,几十行代码即可完成,相对来说简单很多。因为我喜欢把一切都设计得很简单,而B4J也正是这样的工具。
雪人CAT和Trados插件的例子涉及了定制的细化和定制的难度问题。
除了计算机辅助翻译软件,其它大多数软件也都提供定制功能。比如Office的宏和VBA、WordPress的插件等等。而开源的软件,可以直接修改源码做定制,Linux有很多的发行版,都是做了定制化。欧委会基于OmegaT开发了DGT-OmegaT以加强其术语功能。相比于闭源软件通过开放API提供有限的定制功能,开源软件的定制性要强大得多。
不过,有时候也要考虑,是基于软件定制容易,还是重新写一个工具容易。比如我碰到一个Notepad++批量修改编码的插件,需要安装Python等一系列依赖,还不一定好使。那我干嘛不直接用独立的工具呢。