首頁 > 軟體

Ubuntu 14.04 下編譯、安裝、設定最新開發版 GoldenDict

2020-06-16 17:51:05

1. 背景介紹

GoldenDict 是一款非常優秀的跨平台電子詞典軟體,支援 StarDict、Babylon 等多種詞典。其 PC 版基於 Qt 編寫,完全免費、開源且沒有廣告。GoldenDict 的 Android 版是另外一個全新實現的系統,採用了付費版去廣告、免費版顯示廣告的策略,這裡就不詳細討論了。

GoldenDict 在 GitHub 上的地址是 https://github.com/goldendict/goldendict,截至目前(2015-10-17)已經有 1872 個 commit、36 位 contributor、184 次 Fork,開發仍然非常活躍。

但是有個問題是該軟體的發布維護並不太完善。官方網站 http://goldendict.org/ 上的下載連結 GodenDict 1.0.1 是 2010 年發布的,距現在已經有 1337 個 commit 了。

如果你是 Windows 使用者,想快速安裝 GoldenDict 的最新開發版,可以開啟這個連結:https://github.com/goldendict/goldendict/wiki/Early-Access-Builds-for-Windows。這個 Wiki Page 一直在持續的更新中,因此就免去了手動編譯的麻煩了。

Linux 下的使用者就沒有那麼幸運了。雖然也有一個頁面 https://github.com/goldendict/goldendict/wiki/Early-Access-Builds-for-Linux-Portable,但是已經兩年多沒人維護了。Ubuntu 軟體倉庫的情況也沒有好多少,上面的軟體包同樣從 2013 年開始就停止更新了,另外目前也沒有活躍的 PPA 維護者。

所以在 Linux 下,如果你體驗最新的 GoldenDict,手動編譯是唯一的選擇。

2. 下載、編譯、安裝

下面就不廢話了,介紹一下 Ubuntu 下安裝 GodenDict 開發版的方法。下面的描述適用於 Ubuntu 14.04,如果你使用的發行版不一樣,可能需要進行一些必要的調整。

首先安裝必要的軟體包:

1
2
3
sudo apt-get install git g++ libqt4-dev
sudo apt-get install libvorbis-dev libhunspell-dev libao-dev libavutil-dev libavformat-dev
sudo apt-get install libxtst-dev libeb16-dev zlib1g-dev libbz2-dev liblzo2-dev libtiff5-dev

然後下載最新原始碼:

1
2
cd ~
git clone https://github.com/goldendict/goldendict.git

進入 godendict 目錄,然後開始編譯:

1
2
3
cd goldendict
qmake
make

最後安裝編譯好的二進位制檔案:

1
sudo make install

完成之後,GoldenDict 的主程式位於 /usr/local/bin 目錄下,之後可以手動把它加到桌面上。

3. 簡單設定、使用指南

如果你之前沒用過 GoldenDict 的話,可以看一下這一節。

3.1 準備字典檔案

GodenDict 需要外掛字典執行,首先把你需要使用的字典放到任何一個目錄下:

3.2 新增字典檔案

然後開啟 GodenDict 的 Edit / Dictionaries 選單,新增剛才的目錄,勾選 Recursive,然後點選 Rescan now

在完成後,就可以在 Dictionaries 頁面中看到新新增的字典了:

這裡可以通過拖放來改變字典的顯示順序。

3.3 設定你喜歡的主題樣式

開啟 GodenDict 的 Edit / Preferences 選單,可以切換 Display style 選擇自己比較喜歡的樣式,比如下圖展示的是 Lingvo 主題:

3.4 設定 Wikipedia

預設情況下,GodenDict 中整合的 English Wikipedia 每次查詢都會提示:

1
Query error: XML parse error: unexpected end of file at 1,1

這是由 HTTP 協定無法運作導致的。解決方法很簡單:開啟 Edit / Dictionaries 選單,點選 Wikipedia,然後將 English Wikipedia 的 Address 修改為 https://en.wikipedia.org/w 即可:

現在 GoldenDict 就能正常顯示 Wikipedia 的內容了:

3.5 新增音標字型

筆者經常在查詢結果的最上面放一個金山簡明英漢字典用來顯示音標。這個字典在顯示音標時用到了一個叫 Kingsoft Phonetic Plain 的字型。因為目前還沒有安裝這個字型,所以上面的音標顯示是不正確的。但是如果直接將 Windows 下的字型複製到 Linux 下,你會發現得到的都是一個個方框,這是由於 Windows 下的 ttf 檔案編碼和 Linux 下不同導致的。為了在 Linux 下正常顯示音標,就需要對原 ttf 檔案進行編碼調整。這裡提供一個網友製作的專用 ttf 檔案:

將圖片儲存到本地,然後把擴充套件名改為 .rar 解壓,就可以得到檔案 kingsoft-phonetic-unicode.ttf。把這個檔案複製到 /usr/share/fonts/truetype 目錄下,然後將許可權修改為 644,然後重新登陸就可以使字型生效了。

如果這個圖片失效了,可以從這裡下載字型檔案:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

使用者名稱與密碼都是www.linuxidc.com

具體下載目錄在 /2015年資料/8月/23日/Ubuntu 14.04 下編譯、安裝、設定最新開發版 GoldenDict/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

最終得到的效果如下圖所示:

4. 編譯問題

理論上只要按照上面的提示安裝就不會出現下面的這些問題。如果出現了,那基本上就是缺少對應的開發檔案。這裡把一些情況列出來,只是為了方便遇到問題的人可以通過搜尋引擎搜尋定位到對應的問題。

a) 如果編譯時遇到下面的提示:

1
2
3
4
5
hotkeywrapper.hh:11:35: fatal error: X11/extensions/record.h: No such file or directory
 #include <X11/extensions/record.h>
                                   ^
compilation terminated.
make: *** [build/main.o] Error 1

那麼需要確保這個軟體包已安裝:libxtst-dev

b) 如果編譯時遇到下面的提示:

1
2
3
4
5
epwing_book.hh:21:19: fatal error: eb/eb.h: No such file or directory
 #include <eb/eb.h>
                   ^
compilation terminated.
make: *** [build/mainwindow.o] Error 1

那麼需要確保這個軟體包已安裝:libeb16-dev

c) 如果編譯時遇到下面的提示:

1
2
3
4
5
bgl_babylon.hh:25:18: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
                  ^
compilation terminated.
make: *** [build/bgl_babylon.o] Error 1

那麼需要確保這個軟體包已安裝:zlib1g-dev

d) 如果編譯時遇到下面的提示:

1
2
3
4
5
decompress.cc:3:19: fatal error: bzlib.h: No such file or directory
 #include "bzlib.h"
                   ^
compilation terminated.
make: *** [build/decompress.o] Error 1

那麼需要確保這個軟體包已安裝:libbz2-dev

e) 如果編譯時遇到下面的提示:

1
2
3
4
5
mdictparser.cc:26:23: fatal error: lzo/lzo1x.h: No such file or directory
 #include <.zo/lzo1x.h>
                       ^
compilation terminated.
make: *** [build/mdictparser.o] Error 1

那麼需要確保這個軟體包已安裝:liblzo2-dev

f) 如果編譯時遇到下面的提示:

1
2
3
4
5
tiff.cc:12:18: fatal error: tiff.h: No such file or directory
 #include "tiff.h"
                  ^
compilation terminated.
make: *** [build/tiff.o] Error 1

那麼需要確保這個軟體包已安裝:libtiff5-dev


IT145.com E-mail:sddin#qq.com