Calibre 支援中文檔名

Hsuan
6 min readAug 23, 2022

--

因為 Calibre 支援了太多的裝置,作者並不打算解決傳入非英文檔案會被轉成英譯的問題。雖然使用上並無什麼不方便之處,但偶爾強迫症發作,還是會想看到中文檔名。

calibre 作者沒有打算增加傳送至裝置的非英文字元轉換功能,討論串在此

目前沒有最快最方便的解決方式,唯一的方式是走保存到磁碟,保存磁碟的設置可以把將非英文轉為英文同義的選項取消(如下圖),但這樣代表還要自己手動轉檔、儲存,再丟到裝置裡,步驟繁多。

如果使用了 KoboTouchExtended 這個外掛,更是無法走同樣的流程了。

偏好設定裡,將書本儲存致磁碟

最後的想法是去找原始碼來改,改完後重新 build 出 .exe/.dmg 檔的方式來破解,可惜發現要建制 calibre 也不是件簡單的事,如官方文件所說,環境必須是 linux,若想用 windows 或 macOs,都要用虛擬機。

再來還有參考這篇,他提供了修改後的安裝檔(且只有 macOs 的),但這個改法只支援到 5.1 版。

後來亂找,終於找到了開發者模式!!

寫這篇時,最新的 Calibre 是 6.3 版。
目前簡單測試,看起來沒有造成任何問題,如果有發現錯誤,也歡迎告知,但不一定會解。

步驟如下:

以 windows 為例,macOs 不另外寫,但做法大同小異,可以參考官方文件開發者環境

Step 1: 按照官網正常安裝 Calibre v6.3

官網網址: calibre — Download calibre (calibre-ebook.com)

Step 2: 抓原始碼

  • 會 git 的可以直接 git clone,然後直接跳到 Step3
git clone https://github.com/kovidgoyal/calibre.git
  • 不會的 git 的

kovidgoyal/calibre 這下載 .zip ,解壓縮到自己選定的位置。
(Release version 6.3.0 · kovidgoyal/calibre · GitHub)

下載方式:(擇一即可)

  1. 按照下圖紅色步驟下載 .zip
  2. 從黃色圈起來那進去,找到對應的版本,列表裡會有
    Source Code(zip) 的字樣,點選下載。
下載 zip 步驟

Step 3: 改環境變數,讓檔案執行的路徑是原始碼的位置

設置裡找到系統資訊,點選進階系統設定

新增環境變數,變數名稱為 CALIBRE_DEVELOP_FROM,值則為第二步下載的原始碼裡的 /calibre/src 這個路徑,例如:G:\Project\calibre\src

點選環境變數,再系統變數的地方新增一組

試試看有沒有成功,win+R,執行 cmd。
在 cmd 裡打 echo %CALIBRE_DEVELOP_FROM%,確認位置要與剛剛設定的是一致。沒有成功的話,可以把使用者變數也加上一組一模一樣的試試。

執行 cmd

Step 4: 改原始碼

找到 src/calibre/utils/filenames.py,修改 ascii_text 回傳的值即可。
另外在上面新增一句 print('確認有修改到!!!!!') ,這只是為了確認有正確執行到修改後的檔案。

Step 5: 確認執行

再次打開 cmd,執行 calibredb ,確認看看有沒有把那句確認有修改到印出來,成功的話,就直接把 calibre 開起來即可使用。

目前不知道這一步,到底有沒有需要執行,因為有時候沒改成功,回來執行完這句,就又可以了。

Step 6: 完成

成功示意圖,把一個名為測試的 epub,放進書庫,然後執行傳送至裝置,再至裝置查看,檔名是中文的囉,也有成功轉成 .kepub.epub!

Calibre 更新!

隨著 Calibre 更新

如何隨著 Calibre 更新仍持續保持中文檔名

方式 1:適合當初下載 source code 是使用 git 的人

  • 進到原始碼的資料夾,直接在 master git pull 即可
    > 這個有機會拉到作者還在修正的 code(機率不大),較好的方式:
> git checkout master
> git pull
> git checkout tags/<tag_name> -b <tag_name>

<tag_name> 看自己要更新的版本是哪個,就在下圖 tags 的地方找到對應的版本。

  • calibre 的應用程式則是按照官網步驟更新至最新,或是自己要的版本。
  • 結束,直接使用。

方式 2:當初是下載 .zip 解壓縮的人

下載對應版本原始碼,載點 Releases · kovidgoyal/calibre (github.com),這是所有版本列表,找到自己要的下載即可。

  • 按照官網步驟將應用程式更新對應版本
  • 重新操作 step2、4、 5 步驟

目前不管更新到哪一版都還是可以繼續用上述的方式完成,但發現有些人可能會遇到 E-book viewer 閃退的問題。

解:

E-book viewer 閃退,先試試在安全模式下會不會有一樣的問題,如果在安全模式下可以正常開啟,表示跟已經在執行的程式衝突了,唯一的解法就是找出衝突的程式,在使用 calibre 時把他關閉。
如何找衝突的程式:打開工作管理員,開機就執行(背景執行)那個 tab,把所有已啟用的一個一個關掉嘗試。

--

--

Hsuan
Hsuan

Written by Hsuan

想寫就寫,給自己一個記錄的地方,還在持續學習的前端工程師。

Responses (3)

Write a response