CrossDict: 交叉索引字典

1 CrossDict是自由软件

这是一款Android上的字典软件,你可以在 Google Play 上安装,或者如果你的 手机不支持Google Play的话,你可以上 新浪微盘 下载这个APK。从2.0版本开始, CrossDict的字典数据与它是分开发布的,你运行CrossDict时如果还没有安装字 典数据的话,它会告诉你从哪里安装该字典数据(也是一个Android APK,但运行 一次后即可卸载)。

这是一款自由软件。

它的字典数据来自于 GCIDE ,一个GNU项目,所以也是自由的。我修正了 dico 的一些bug,并用它来从GCIDE里抽取出我需要的字典数据(以HTML格式呈现)。 我对dico的改动在这个github项目里

但是它也支持切换字典数据,比如American Heritage Dictionary的字典数据。 当然你需要把它改成CrossDict的数据格式。我以后会写一个脚本,争取可以从 StarDict的字典数据生成CrossDict需要的格式。

2 CrossDict 1.0很酷

我开发了一些我认为所有字典软件都应该有的功能:

  • 搜索定义中的引用

    比如,你可以搜哪些单词在它们的词条解释中使用了“Hello”这个单词。这也 是此软件的名字的由来。这个功能对我们理解一个单词如何使用、造句很有帮 助。

  • 正则表达式搜索

    比如,你可以用“let$”去搜出所有的以 let 结尾的小东西(-let作为词根 表示一件事物的比较小的体现,比如booklet–小册子)。这对我们通过字根 学习掌握更多单词很有帮助。

  • 上下文菜单

    在这个字典软件中,你长按字条解释中的任意一个单词,都会弹出一个菜单, 允许你搜索该单词的解释、引用、匹配。这个功能的实现要感谢 这个github项目 。事实上你可能注意到了我的CrossDict是此项目的一个 fork

3 CrossDict 2.0更酷

  • 支持单词截取、生词列表

    Android里内置社交分享功能可以为我的CrossDict所用,比如我目前在用 fbreader看英文原版的指环王,它支持选定一个单词然后分享给别的软件,如 果我能让CrossDict接收这样的分享,查生词岂不是变得简单到不能再简单?

  • 把字典数据与App分开

    目前的状态App自带字典数据,这样能让大家装上就可以用,但是对App升级是 很不利的,字典数据如果不升级的话不应该需要下载那么大的Apk包。

以上,在2.0里已经实现。

4 CrossDict还会继续变酷

目前我正继续开发这些features:

  • 支持更多的设备

    目前只支持 Android 4.0 或更高版本。

5 CrossDict的开发过程很酷

我用的是Emacs而不是Eclipse来开发这款Apk。事实上,这是我的第一个认真的 Java程序。以前一直没写过比较大的Java程序,原因是我是一个Emacs死忠用户, 切换到Eclipse去做Java/Android开发的想法简直让我抓狂。

后来我试着用了 emacs-eclim 。这个软件很不错,开发普通的Java/Android程 序足够用了。但它不能满足我的胃口。我希望能把整个Android源码放到一个 Eclim项目中进行开发–结果后台的Eclipse就开始爬了。

但是不管怎么说,我很感谢 emacs-eclim 给了我灵感,我开始用 gtagsexuberant ctags 自己搞了一套Emacs/Android的开发环境。

这套开发环境还没有完成到可以让大家很方便的用的程度(有人会觉得遗憾 吗?:-)),但是你可以在 这里 看一下简介(英文版,内有使用视频链接)。

6 请支持

如果你喜欢CrossDict、想支持我的工作的话,请点 这里 了解给我捐款的方法。 非常感谢!