注意:Manga Image Translator是以指令為主的翻譯軟體,如果你不喜歡跑指令,請改用圖形版 BallonsTranslator
Manga Image Translator是一個開源的漫畫翻譯軟體,由VoileLabs開發,能夠翻譯整本漫畫。
開發者說,因為有些漫畫永不會有人翻譯,所以開發此軟體,至少能讓自己看懂個大概。
下圖是自動翻譯的成果,可以看到各家翻譯的結果都不同。ChatGPT雖然仍有缺陷,但是翻的已經夠好了。
主要功能:
- 自動偵測並翻譯漫畫對話框,將日文翻成正體/簡體中文,自動嵌字
- 整合ChatGPT、Google翻譯、DeepL、m2m100等翻譯服務
- 可自動將對話框變成全空白,方便漢化組後續處理
- 除了提供網頁圖形化界面,也可以用指令批次處理圖片
Manga Image Translator本體是偏向打指令執行的程式。您可以先用開發者提供的線上展示網站玩玩看,只要上傳圖片就會吐出翻譯結果!名字叫做CoTrans。網址: https://cotrans.touhou.ai
本文的重點將討論如何在電腦自架Manga Image Translator,解說相關指令的用法。
自架的好處是能使用更好的翻譯服務,像是ChatGPT和DeepL。Manga Image Translator不需要強力顯示卡也能跑,但有的話更好。
1. 安裝Manga Image Translator#
參考 Github儲存庫安裝指示,以Linux系統為例:
安裝 Nvidia顯示卡驅動和CUDA,還有 Anaconda
建立Python 3.10.6環境
conda create --name manga-image-translator python=3.10.6
conda activate manga-image-translator
- 安裝依賴套件
git clone https://github.com/zyddnys/manga-image-translator.git
cd manga-image-translator
pip install -r requirements.txt
pip install git+https://github.com/lucasb-eyer/pydensecrf.git
2. 設定要使用的翻譯服務#
Manga Image Translator支援許多線上與離線的翻譯服務:
translator名稱 | 需要 API Key | 離線運作 | 註解 |
---|---|---|---|
google (Google翻譯) | |||
youdao(有道翻譯) | ✔️ | 需要 YOUDAO_APP_KEY 和YOUDAO_SECRET_KEY | |
baidu (百度翻譯) | ✔️ | 需要 BAIDU_APP_ID and BAIDU_SECRET_KEY | |
deepl | ✔️ | 需要 DEEPL_AUTH_KEY | |
gpt3 | ✔️ | 實作text-davinci-003。需要OPENAI_API_KEY | |
gpt3.5 (ChatGPT) | ✔️ | 實作gpt-3.5-turbo。需要OPENAI_API_KEY | |
gpt4 | ✔️ | 實作gpt-4。需要 OPENAI_API_KEY | |
papago | |||
offline | ✔️ | 自動選取合適的離線翻譯 | |
sugoi | ✔️ | 使用Sugoi V4.0模型翻譯(僅適合日翻英) | |
m2m100 | ✔️ | 支援更多語言 | |
m2m100_big | ✔️ | 同上,效果較好。 | |
none | ✔️ | 將文字用空白填充。 | |
original | ✔️ | 保留原文。 |
其中離線版的翻譯只有m2m100 (Meta 2020年發表的翻譯語言模型),不幸的是翻譯品質只比Google翻譯好一點,我不是很推薦。
線上翻譯萬用解就是「Google翻譯」,完全不用錢,但大家都知道品質不佳。
線上翻譯品質較好的有gpt3.5 (ChatGPT)和DeepL。
ChatGPT請先按照 OpenAI指示申請付費帳號(注意是訂閱"API access",不是ChatGPT Plus),再建立API key。或者你可以開個新OpenAI帳號,獲取18美元的API key使用額度。
DeepL請 用美國/日本信用卡訂閱Pro方案取用API key。
取得你要用的API key後,在manga-image-translator
目錄下新建.env
檔案,填入各家服務的API Key:
OPENAI_API_KEY="sk-xxxxx"
DEEPL_AUTH_KEY="xxxxx"
3. 使用指令翻譯#
Manga Image Transtlor的翻譯過程是先用OCR將圖片的文字抓出來,再使用翻譯服務翻譯文字,然後再填回去中文字。
在
manga-image-translator
下新增target
目錄,將要翻譯的原始圖片放進去,可以一次翻譯多張圖片。這裡我放了22張圖片。輸入指令,
--translator=gpt3.5
代表使用ChatGPT翻譯。--use-cuda
用顯示卡加快OCR處理速度。--target-lang CHT
代表翻譯成正體中文。--input ./target
代表原始圖片所在目錄。
python -m manga_translator -v -f png --mode batch --translator=gpt3.5 --target-lang CHT --input ./target
- 一張圖通常不到30秒就翻完了,22頁的漫畫約5分鐘,成品位於
target_translated
目錄。
這本漫畫的名字:(C92) [Penetrate (零覇)] 北上×提督×大井 (艦隊これくしょん -艦これ-)
從翻譯結果可以看出,除了對話框以外,連有背景的字體都能翻譯出來。
討論:手動複製prompt,丟給其他離線AI翻譯
如果你想丟給其他離線AI,例如 LLaMA翻譯,可以觀察一下該軟體是怎麼撰寫prompt的。
終端機輸出範本:
GPT Prompt
System:
You are a professional translation engine, please translate the text into a colloquial, elegant and fluent content, without referencing machine translations. You must only translate the text content, never interpret it. If there is any issue in the text, output the text as is.
Translate to Traditional Chinese.
User:
<|1|>ケッコンカコカリ それは艦娘の練度の上限を 突破するアテ
<|2|>だが艦娘にとっては それだけの物ではない そう 艦娘は兵器であると 同時に年頃の娘
<|3|>指輪を貰う結婚は 女性の一つの目標である 到達点に立つ事を意味し 同時に「女」として 認識されてるとう 証明にも他ならな
<|4|>兵器と娘、両方を備えた 艦娘にとって娘の証明は 困難で憧れで夢見る物 それが実装された頃の お話…
<|5|>ケッコンカッコカが 大本営から発表された 1週間後…
<|6|>提督 私 夕飯の支度に 行ってきますね
<|7|>美味しいの作って あげよ…♡ 提督の好物で♡
<|8|>未来の 旦那様…♡ だろうし
<|9|>提督から好意は感じている もちろんこの大井も 長く秘書艦をしていて お互い言葉は無くても それは解ってる
<|10|>練度も十分… きっと指輪は私に くれるはず 北上さんも祝福して くれますよね…
<|11|>1時間くらいで 戻りますから
<|12|>大井 練度99
<|13|>サボらずに 仕事して 下さいね
<|14|>わかってる
4. 使用網頁圖形界面翻譯#
網頁界面即為開發者Cotrans展示網頁使用的界面,由於現在是跑在本機所以有更多翻譯選項。
- 使用此指令啟動網頁伺服器,在瀏覽器開啟
http://127.0.0.1:5003
網址
python -m manga_translator -v --mode web --use-cuda
此界面可上傳圖片翻譯,一次只能翻譯一張。點選網頁選單,選擇使用GPT3.5翻譯。
翻譯後的圖片要手動下載,如果要批次翻譯效率較指令來說為低。
5. 即時翻譯網頁漫畫#
開發者提供 Greasyfork指令稿,用於即時翻譯Pixiv與Twitter漫畫圖片。預設是將圖片上傳到Cotrans伺服器處理再覆蓋原本圖片。
安裝瀏覽器擴充功能 TamperMonkey
登入Pixiv或Twitter,檢視圖片時旁邊會顯示翻譯按鈕,點選後Cotrans就會翻譯圖片,有時候需要排隊。
此指令稿還會在Pixiv(
https://www.pixiv.net/setting_user.php
)和Twitter(https://twitter.com/settings/__imgtrans_regular
)的頁面插入Cotrans設定檔的頁面。