gravatar

Convert dict file from StarDict

StarDict有很多的字典檔,像是 cdict5 英漢/漢英、朗道英漢/漢英、牛津英漢、xdict 英漢/漢英。不過 StarDict 在 Mac OS X 下編譯,似乎有點問題,加上他是 GTK 寫的,所以要用 X11 來開,中文輸入的話要不就用 X11 的輸入法,不然就只能用 paste,否則無法使用 Mac OS X 輸入法給 X11 使用。另外一個 tool,SDCV 就是 StarDict Command line Version,可以在命令列查詢字典。但是原始檔似乎有點問題,在 Mac OS X 上使用 mmap 會出問題,只能手動改成不用 mmap。但是一旦配合很多字典檔,啟動會非常慢,加上命令列模式和 Terminal 非常的不實用。所以手動修改了一下 sdcv.cpp,把字典檔裡面每條字彙和解釋相對應地轉換為 SQLite 的 database。如此一來,再來寫個 Cocoa 程式來查詢 database 應會快不少。如果要寫 Dashboard widget 的話,也可以很簡單的寫個 Obj-C + SQLite 的 Plugin,配合 HTML/Javascript 就可以了,不用受 SDCV command line 啟動速度和 interactive 的麻煩,及 widget.system(...) 的 4K 問題影響。