2010年8月17日

在 Kindle 2 國際版裡安裝英漢字典

了Kindle 2國際版也已經快要一年了。我Kindle裡面雖然裝了不少書籍,不過,大多數是中文的PDF檔案,原文的書籍並不多,花錢買來的,就只有最近才下單的「iPhone and iPad Apps for Absolute Beginners」。我得承認,我看原文書籍,是需要翻找字典的。剛買來的時候,也稍稍研究了一下怎麼安裝中文字體,讓Kindle可以顯示中文內容的文字檔。後來Amazon以推出來幾個系統版本,讓Kindle 2國際版可以直接開啓內嵌中文字體的PDF檔。實用性雖然慢慢在增加中,不過,對於我這個腦子裡英文單字不多的人來說,在我閱讀原文書籍時,尤其是在電子閱讀器裡頭閱讀原文書籍時,能夠即時幫我查找我關心的英文單字的中文解釋,會是一件相當棒的功能。

由於 Kindle 本來就內建了一個英英字典,因此查起單字的英文解釋不是個問題。再者,老師也說過,看原文書,要查英英字典,這樣英文的程度才會越來越好。不過,因為我不想當英文老師,只想趕快讀完我感興趣的原文書籍,趕快解決我關心的非英文的問題。所以,我就在想,既然在閱讀英文書籍時都可以查英英字典了,那為何不能查英漢字典?於是,我就在網路上爬文,終於拼湊出一個可以給 Kindle 用的英漢字典了。但是要讓這個字典可以正確顯示中文,可得要事先進行中文的封印解除喔。如果您是使用第三代 Kindle 的話,因為它原生就支援中文顯示,因此,不必做中文的封印解除就可以顯示中文解釋,而且更棒的是,連音標都可以顯示出來喔。

準備工作

工作平台

主要是Windows XP,因為一堆工具軟體都是Windows平台的。但是我解壓縮字典檔案時,是在Mac OS X底下解開的。另外,解開來時,這些字典檔是採UTF-8編碼存檔的,以便在轉換之後,讓Kindle的中文字型破解檔可以辨識。

字典檔來源

我所製做的Kindle英漢電子字典檔案來源,是網路上的免費英漢字典檔案:「21世紀英漢漢英雙向字典」。可以在這裡找到。這是StarDict Project所需要的字典檔案。

工具軟體

StarDict 提供的字典檔案並無法直接給 Kindle 使用,必須要轉成 MobiPocket 的字典格式後,才能讓Kindle 使用。這個轉換過程,並沒有轉換一次就完成的工具,需要借助幾個不同的工具分階段來完成。這些工具分別是StarDictStarDict EditorPython 2.7tab2opf.py,以及MobiPocket Creator


製作 Kindle 英漢字典檔案的程序

準備程序

下載來的英漢字典檔案是個壓縮檔案,副檔名是.tar.bz2。我是在Mac OS X底下解開它的。在Windows底下,應該可以用WinZip解開它。解開之後,你會在解壓縮的資料夾中看到有個副檔名是.dz的字典檔案。請變更.dz副檔名為.gz,之後再次解開它,就會得到一個副檔名為.dict的字典檔。這個檔案是後續轉換時要用到的。

抓好Python後,請安裝它。後續的 tab2opf.py 轉換批次檔需要用到Python來作解譯的工作。請記住,Python請安裝比較舊的2.7版,不要安裝比較新的3.x版。否則在轉換時會出現批次檔錯誤的訊息而停止轉換的工作。

轉換及製作程序

第一階段

我們需要StarDict Editor(會連同StarDict一起安裝)將「21世紀英漢漢英雙向詞典」檔案轉換成以列為單位的文字檔案。但因為這個StarDict Editor會用到數個和StarDict相關的DLL檔案,因此,您也要一併先安裝StarDict後,才能順利執行StarDict Editor。

執行StarDict Editor之後,請選到切換到Decompile分頁,選到解壓縮字典檔目錄中的.ifo檔案,讓StarDict Editor幫你解譯字典檔案成純文字檔案。副檔名是.txt的那個檔案就是我們接下來要用的了。

StarDIct Editor選.ifo檔

StarDict Editor

第二階段

我們需要把上述已經轉換成以列為單位的「21世紀英漢漢英雙向詞典」純文字檔,轉換成MobiPocket可以製作電子字典的HTML檔案。這時候就需要 tab2opt.py 這個批次檔來幫忙了。不過,這個批次檔本來是為了轉換英文字典而設計的,因此,我們需要修改幾個地方,以便讓它可以正確的轉換採用 UTF-8 編碼的字典文字檔案。以下就是幾個經過我修改的地方:


output encoding="Windows-1252" flatten-dynamic-dir="yes"
改成
output encoding="UTF-8" flatten-dynamic-dir="yes"


DictionaryOutLanguage標籤的en-us
改成
zh-han

dt = normalizeUnicode(dt,'cp1252')
dd = normalizeUnicode(dd,'cp1252')
改成
dt = normalizeUnicode(dt,'utf-8')
dd = normalizeUnicode(dd,'utf-8')

接著把改過的批次檔存檔後,將上述的批次檔以及字典文字檔(在此假設是dictionary.txt)放在同一個目錄。接著打開Windows的DOS視窗,輸入以下的指令:

tab2opf.py dictionary.txt

然後,在同一個目錄底下,就會產生一堆.html的檔案,以及一個.opf的檔案。這些是稍候要給MobiPocket製作字典的檔案。

第三階段

開啓MobiPocket Creator,在畫面的左側欄中,選到Personal Dictionary/Glossary這個項目。接著就是把前一階段所產生的那一堆.html檔案和.opf檔案都拖曳進去給MobiPocket Creator使用,然後編輯一些MetaData的資料,按下Build按鈕讓它幫我們建立字典檔案。

有一個在進行建立字典前應該要注意的設定就是Book Settings裡的項目。Input Language要設定為English,Output Language要設定為Chinese。如果都設定成Chinese的話,接下去所建立出來的英漢字典,Kindle將會無法正確的進行英漢查詢。

MobiPocket

等建立好之後,只要把.prc檔案拖曳進去Kindle的document目錄底下即可。接著就是打開Kindle,看看是否已經可以開啓所製作好的字典了。

變更預設字典

進入Home畫面後,按下Menu按鈕,選取「Settings」功能項目。接著在Settings畫面下,再按下Menu按鈕,會在畫面上看到「Change Primary Dictionary」的項目,選它。

「設定」頁面下的變更主要詞典功能選單項目

當你進入到變更預設字典畫面時,應該會看到如下圖所示的畫面。因為我們已經安裝好一個英漢字典,所以就選它當作預設的字典,以便讓 Kindle 幫我們做查詢中文解釋的工作。

改選預設的主要參考詞典

變更好了之後,我們就可以開啓英文書籍來測試看看了。當這個字典正確運作時,你應該會看到如下圖所示的中文單字解釋,它會出現在畫面的最下方。如果要看完整的解釋,可以按下Return按鈕,就會開啓字典。在字典畫面中按下Back按鈕,就會回到書籍最後被閱讀的頁面。雖然我所採用的中文字型破解檔無法完整的顯示音標,不過能有這樣的功能,對我來說,Kindle才是接近實用的一個電子書閱讀器。

在原文書中查找單字解釋

後記


網路上抓來的免費「21世紀英漢漢英雙向字典」原始資料檔案,可能是原始的資料來源是簡體版,所以我自己是有重新編輯和稍作中文解釋的補缺。我是在轉換成純文字檔之後,再用文字編輯器去刪除漢英字典的部份,並且修改了許多會在Kindle顯示上出現瑕疵的一些字元和標籤。

我把漢英翻譯的那一部份刪除了,除了因為目前Kindle Store上面沒有中文書籍,把「漢英」字典部份刪除,可以省下一點點空間外,或許也可以讓 Kindle 找英漢翻譯的部份快一點。因此各位讀者看到我截取的畫面中,字典的標題是「英漢字典」,而不是「英漢漢英雙向字典」,就是依據這個因素而命名的。

我改編過的「21世紀英漢字典」(21 Century English-Chinese Dictionary),目前已經有網友編好放在網路上供大家下載。如果讀者想依照本文自己動手做,您是完全可以依照本文所說明的方式和相關資源,自己動手做出完全一樣的英漢字典的。

最近才推出內建Wi-Fi及免費3G網路服務的六吋Kindle 3,已經原生支援了正體中文、簡體中文、日文、韓文等東北亞地區的字型。這個「21世紀英漢字典」不但能在新版的 Kindle 上正常運作,而且音標也可以正常顯示。

36 則留言:

Natalie 提到...

有沒有辦法讓kindle輸入中文?

提個拉米蘇 提到...

目前我尚未找到可以輸入中文的方法或是軟體。

B_LOGIC_all 提到...

0.先感謝你提供的Kindle字典.
1.建議:在 http://reciteword.cosoft.org.cn/stardict-iso/stardict-dic/zh_TW/
下載字典檔很慢...可google
/ftp/pub/software/Dictionary/StarDict
來下載較快.

2.問題:在XP下解壓縮,改dz => gz
之後再解壓縮(by WinRAR)為何會失敗(訊息如下)?
! C:\Documents and Settings\Administrator\桌面\stardict-21shijishuangxiangcidian-big5-2.4.2\21shijishuangxiangcidian-big5.dict.gz: 壓縮檔意外的結束
! C:\Documents and Settings\Administrator\桌面\stardict-21shijishuangxiangcidian-big5-2.4.2\21shijishuangxiangcidian-big5.dict.gz: CRC 失敗於 21shijishuangxiangcidian-big5.dict,檔案損壞。

提個拉米蘇 提到...

我自己在 Windows 底下解 .gz 檔案是使用WinZip,我沒試過WinRAR。或許改用7zip這個免費的也可以。

CRC錯誤的狀況我遇過,就是當初檔案沒抓完整。重抓即可。原始來源網站的下載速度確實很慢,要有耐心。

小梅子 提到...

to 君憲

我測試過了,在 Kindle3 上也可以安裝使用,沒有問題 :D

http://images.plurk.com/27368_1536bd892a943789e44b5065ff96d719.gif

Steve 提到...

請問支持複數或變化型態嗎?比如單字後有個 s 或有 ing 能否正常查出呢?感謝。

提個拉米蘇 提到...

該字典原始檔案中沒有建立多少複數或是變化形態的詞條,所以,只有少數字彙可以在複數或是變化型之下被查尋到。這也是我傷腦筋的地方。

我再找找看有沒有好的解法好了。因為我也需要這功能啊。

Libin 提到...

抱歉未經允許轉帖此文到HI-PDA EINK討論版(http://www.hi-pda.com/forum/viewthread.php?tid=653516&page=1&extra=page=1#pid8917914),那裡是大陸較大的ELINK討論版,但大陸可能無法直接訪問這裡。
我注明了作者和這裡的地址,如果有不妥,我會刪除那個轉帖。
再次抱歉

提個拉米蘇 提到...

@Libin 轉貼並註明出處是沒問題的啦。我很樂意分享的。

只不過,您轉貼後,我那 Kindle 字典檔下載點,就要請讀者們自己連結過來了。

提個拉米蘇 提到...

目前,在下編輯的這個「21世紀英漢字典」已經上Kindle Store販售了。原本是要定價0元的,但是因為檔案太大、Amazon要使用者負擔數據傳輸費用(3G部份),所以,我只能採最低價格:美國境內2.99美金,國際傳輸4.99美金。書籍網址:http://www.amazon.com/gp/product/B0041T4FFC/

aabman 提到...

感謝你的無私奉獻,需然過程煩鎖了一點。最終可在我的 Kindle3 上安裝並使用。再一次感謝。

JamesLiangtw 提到...

請問 kindle3是否直接支援中文而不需JB再加漢化 ?
Thanks

提個拉米蘇 提到...

Kindle 3 (Free 3G + WiFi, WiFi)是可以免中文破解就可以顯示中文,並且更棒的是,連音標都可以顯示。以下有網友測試成功,請參考:

http://jacobmei.blogspot.com/2010/09/kindle-3-shortcuts-hot-keys-hidden.html

因為這字典來源本來就是GPL授權的,因此,我把方法公開,來源公開,也自己加工過再上架,算是符合了GPL的規範吧?

sc 提到...

我也在amazon付款下載了, 用在新買的kindle 3上。用了一陣子, 不是太爽, 因為查不到複數和詞態變化, 可是我看的小說大部分動詞都是過去式, 很傷腦筋呢.....

不過也要感謝你的努力, 加油~

提個拉米蘇 提到...

To sc: 複數形及變化形確實也是我的需求之一,因為我看英文的書籍,最常碰見的也是這一類的。我再來研究看看要怎麼從這個原始的GPL字典來源來加強改版。

感謝您的建議,非常寶貴。

怡怡 提到...

你好 我也在amazon上付了2.99美金下載英漢字典 其實還不錯用 不過還是希望能有複數及變化形的查閱   否則現在就只先到別的字再行輸入想要查閱的單字

另外有先部分好像沒有辦法完全顯現
右上角視窗的字會被遮住

不知道有沒有網友遇到同樣的問題?

Vivi 提到...

這個字典的來源是GPL嗎?我對此有些懷疑。Stardict的程式本身是開源,但不代表那些字典的內容也都是經過合法授權的。我如果沒記錯,21世紀大字典裡面收錄的內容就是當初有侵犯某出版商的著作權的爭議,所以才停止販售。
Stardict上會有21世紀大字典,得感謝某位不知名的神人,把21世紀大字典的內容轉出來(最初也不是轉成Stardict的格式)。但散佈它的內容還是未經合法授權的。
提醒版主,有侵犯著作權疑慮的東西,如果要共享,最好別放在Amazon上,很容易成為著作權人控告的標的。

提個拉米蘇 提到...

To Vivi:

感謝您的提醒。我那字典檔案,確實是來自StarDict Project網站上標示為"GPL, 13M, 212918 words"的那個字典檔案。該網站還有很多字典檔案,也都標示了GPL。我相信該網站應該不會擺上有爭議的內容讓網友去踩地雷吧?XD

我把字典檔放上Amazon,主要目的是要瞭解Amazon的數位出版品運作方式,以及中文的相容程度,目前大致上已經瞭解了一部份。如果真有這麼大的版權疑慮,那麼,擺在網誌上和擺在Kindle Store,其實結果應該是都一樣的。或許過一陣子,我就會把它們全部都下架,以免惹上麻煩。

再次謝謝Vivi的提醒。

Vivi 提到...

這個網址http://forum.palmislife.com/archiver/tid-12973.html你去看看。

看你是要相信Stardict作者自己標示的GPL,還是2003年就存在的話題。

真要說起來,Stardict的作者不是21世紀大字典的著作權人,他是沒資格把21世紀大字典標示成GPL的。真正有資格的人,應該是台灣的建宏出版社(我猜想)。而21世紀大字典的漢英字典,目前還是在一些電子字典機子上經合法授權在使用,怎麼可能會變成GPL呢?稍微想一想,就可以推斷,那個GPL根本是胡亂標示的。

提個拉米蘇 提到...

To Vivi:

再次謝謝您的提醒。該字典檔案我推測應該是從簡體字那邊做轉換過來的,因為我發現有些中文辭彙,是別字或是錯字,例如「制作」、「若幹」等。那些轉換錯誤的部份,我已經有稍加修改。

但是,為了免除爭議,我看我還是把字典從Amazon下架,另外與國內字典版權擁有者洽談技術合作案好了。另外,StarDict應該也看過我這篇文章,因為他們也自己做了一個檔案更大的字典在Kindle Store販售。銷售情況應該是比我的好。

再次感謝Vivi的關心。

jr 提到...

作者你好:我在执行tab2opf.py dictionary.txt这一步骤后提示有错误如下:
Traceback
File :C:\\kk\tab2opf.py",line 242 ,in
dt = nomalizeUnicode
File :C:\\kk\tab2opf.py",line 103,in
nomalizeUnicode
text = Unicode
UnicodeDecodeError: 'utf8'codec can't decode byte 0xff in position 0:invalid
start byte

提個拉米蘇 提到...

TO jr:

您使用的Python版本是否為較舊的2.7版?我自己試過,用較新的3.x版,執行該轉換之批次檔案,會出現錯誤。

xiaohu 提到...

大大能不能帮我看一下我的操作在哪一步出现问题了
http://www.hi-pda.com/forum/viewthread.php?tid=653516&extra=page%3D1

8楼的贴图就是我的操作。谢谢

Chenhua 提到...

感謝您的分享
已經完成了自制的字典
但跟怡怡提到的一樣
有些部分好像沒有辦法完全顯現
右上角的字會被視窗遮住

好像是有些字解比較長
但原設定的換行是到框底
是否有方式可以設定斷行的字數或長度呢?
內建的英英字典好像不會有這個問題

另外請教一下付費下載StaDict的是否會有這個問題呢?
他們家的可以查到複數或是變化型嗎?

提個拉米蘇 提到...

To Chenhua:

因為我都是使用現成的工具和程式碼,改的也不多,所以並不知道該怎麼修改,才會讓這個現象消除。

Gemini 提到...

出現tab2opf.py 不是內部或外部命令、可執行的程式或批次檔

卡在這個步驟了><
要怎麼解決呢

提個拉米蘇 提到...

TO Gemini:

要先安裝Python,之後才能執行tab2opf.py。因為tab2opf.py是使用Python寫的。我在文章中有說明。請記得安裝較舊的版本。較新的版本無法執行,會出現錯誤。

MH 提到...

請問我常用的"PONS:Deutsch-English Dictionary" (prc檔)是否也可以如法炮製,便成即時德英字典使用呢?

提個拉米蘇 提到...

To MH:
我這裡提供的方法,只有試過從StarDicts那邊找來的字典檔案。如果您原來的那個德英字典不是文字檔,那麼可能就得要花一番工夫了。

Irene 提到...

請問在哪裡可以下載「21世紀英漢字典」 ?找了很久都沒找到。

提個拉米蘇 提到...

To Irene:

大概是被移除了吧?就按照本文的說明,就可以自己做出來了。

JoAsAzureBlue 提到...

你好,
好不容易拿到kindle3
看得T大的文章連絡來,可是我使用的是mac不知怎麼安裝字典?
可以幫忙嗎?
真的非常感謝!
身在國外沒有書看得感覺很糟呢!

joanne

www.plurk.com/joannehung

jameswong91 提到...

我找不到字典檔呀,可以比我嗎?謝謝

提個拉米蘇 提到...

我大概檢視了一下這篇文章所引用的鏈結,剛剛發現,那些字典檔由於有侵權疑慮,所以已經被移除了。因此,應該不是只有您找不到字典檔,而是絕大多數的網友都找不到字典檔了。

夏魚 提到...

請問這個可以用在ipad 內建的kindle 嗎?

提個拉米蘇 提到...

可以安裝到 Kindle for iPad,但是無法設定為可供翻譯的字典。

 
Blogger Template Layout Design by [ METAMUSE ] : Code Name Gadget 1.1