[Py] Python 製作簡易 Mac 辭典 – 以國家教育研究院專有名詞網站資料為例(下)

「國家教育研究院雙語詞彙、學術名詞暨辭書資訊網」在讀文章、寫作業的時候是常常會用到的網站,他是一本涵蓋不同領域大量的專有名詞的好用網站。本文將介紹如何將從網站下載的試算表檔案包裝成 Mac 辭典並匯入之。下篇將會用 Python 產生必要的檔案供 DDK 編譯成 Mac 自有的字典格式。

需要的資源:

  • Python 3 (測試時使用 Python 3.5.2 ( Anaconda custom (x86_64) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin )。你會需要「Pandas」來讀取 MS xlsx 的檔案。未在 Python2 中測試,不過 Python2 在處理中文字很麻煩,所以就盡量避免吧~
  • 字詞對照表:請至「國家教育研究院雙語詞彙、學術名詞暨辭書資訊網」的「下載專區」下載所需的檔案。或建立 Excel 試算表,並在第一列以「英文名稱」、「中文名稱」作為標題。
  • Apple 的 Dictionary Development Kit(下面簡稱 DDK)。請至 開發者網站(https://developer.apple.com/)中 「Develop」>「Downloads」搜尋並下載「Auxiliary_Tools_for_Xcode_7.dmg」。
    網路上也有人在 Github 分享,可以見這邊
  • Xcode 7 以上 (我是用 Xcode 8)

流程:

這邊先說明我們要做什麼:

  1. 製作 MyDictionary.xml 鍵值配對的檔案,就是你的字典內容。
  2. 製作其他編譯時的必須檔案。這邊就比較次要的包括辭典名稱、文字外觀等等。

完整的程式連結會放在文末,下面記錄一些比較需要注意的部分。

開始吧!

最重要的就是產生 MyDictionary.xml 了!我們複習一下範例檔裡面的內容:

上面的檔案中,所有的字典內容包在「<d:entry>」的標籤中,而「<d:index d:value=””/>」則是紀錄字典服務中搜尋的鍵(key),其他內容則是 HTML格式的內容,使用者可以客製化的做出漂亮的頁面。因為我們只是要做一個很簡單的字典,所以內部的內容就只會有簡單的兩種標籤:「<p>」:內文、「<h1>」:大標題。

我用 Pandas 去讀取 MS Excel 的 xlsx 試算表檔案,所以沒有 Pandas 的可能要自己找個替代方案。這邊做的事很簡單:先列舉出資料夾中所有 xlsx 檔案,讀取每一個 Excel 檔案中第一個試算表中「英文名稱」與「中文名稱」兩個欄的內容,並且將其內容合併唯兩個 list :self.en 與 self.zhtw(用pandas.concat(),注意要加上 ignore_index=True 的選項)。

輸出完 list 以後,我們就開始寫入文字的檔案了。由於只是簡單的辭典,字典內容的格式是固定的,就分別把 self.en 填入「<d:index d:value=””>」裡面、把 self.zhtw 填入文字的內容中。

函式前面做了一些文字處理,因為有些英文中會有括號「()」,如果含有這些誇號的話文字內容要完全 Match 才搜尋的到,是十分的不便,可是國家教育研究院辭典有些令人困惑的部分,就是有些括號是代表「同義」,有些卻是「可有可無」,所以目前沒有很好的方法,使用者也可以自己改變部分處理方式來最佳化自己的需求。

產生其他必須的檔案

這部分的更改在程式碼第 363 行開始(if __name__ == “__main__”:)有些客製化的選項

  • Name_of_Dictionary:字典的名字
  • Directory_where_xlsx_is:所有 xlsx 檔案所在的位置。os.getcwd() 會搜尋使用者所在的資料夾,你也可以換成其他路徑如: r”~/Dictionary”。
  • Copyright_of_dictionary:字典的版權。
  • Manufacturer_Name_of_Dictionary:字典的製造者。
  • BundleIdentifier:字典的開發者ID。
  • FBundleName:簡短的辭典名。
  • Title_Colour:標題顏色。

之後程式會自己產生上篇所述的其他檔案。

製作字典

使用說明:

  1. 先用文字編輯器開啟 MakeMacDictXHTML.py 檔案,移到最下面更改上一節提到的客製化部分。
  2. 將 MakeMacDictXHTML.py 放在你的 xlsx 相同資料夾下。
  3. 執行 python 產生製造字典必要的檔案。
    python MakeMacDictXHTML.py
  4. 確定你的 DDK 在「/Developer/Extras/Dictionary Development Kit」路徑,否則請在產生的 Makefile 中更改「DICT_BUILD_TOOL_DIR」參數的位置。
  5. 在完成的資料夾中,執行「make」指令,之後會產生一個「objects」的資料夾,生成的檔案會在這邊(如:國家教育研究院地球科學名詞_NAER_Geology_Dictionary.dictionary)。複製這個檔案到「~/Library/Dictionaries」即可使用。
    如果你想直接安裝到你的字典位置(~/Library/Dictionaries),你也可以用「make install」。

程式網址:https://github.com/lcabon258/EZMacDict

有任何問題歡迎回應與討論,或者有可以改進的地方也請指教:D


請多多指教!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料