Ebook Translator is a Calibre plugin to translate your ebook into a specified language (the translated text will be added after the original text).
While reading a foreign ebook/document/file, it is a pain to switch between translation tool and reading content now and then. We can use Ebook Translator to get all translated text just below each original paragraph by one click. It is a good assistant for reading and translation work.
With the huge ebook formats supported by Calibre, and the huge number of languages supported by translation engines, we can put almost any ebook format to translate and output as format we like. For example, you can put TXT and get TXT/EPUB translation, or put PDF and get PDF/DOCX translation.
Here is what a translated ebook looks like (French -> English):
▲ Translated ebook from Ebook Translator (French -> English)
- Support languages supported by the selected translation engine (e.g. Google Translate supports 134 languages)
- Support multiple translation engines, including Google Translate, ChatGPT, and DeepL
- Support all ebook formats supported by Calibre (48 input formats, 20 output formats)
- Support to translate more than one ebooks, the translation process of each book is carried out simultaneously without affecting one another
- Support caching translated content, no need to re-translate after request failure or network interruption
- Provide a large number of customization settings, such as saving translated ebooks to Calibre library or designated location
Please make sure Calibre is installed on your OS, and follow steps below:
- Download the plugin zip file from Github.
- Click Calibre Menu [Preference… -> Plug-ins -> Load plug-in from file], and choose the zip file you got.
- Reboot Calibre (if the “Translate Book” plugin is not showing up on Calibre menu, you need to add it from [Preference… -> Toolbars & menus], choose [The main toolbar], find the plugin and click ->, and [Apply]).
- Select the ebook(s), and click the plugin icon “Translate Book“.
- Select the Target Language (and Output Format if needed).
- Click [TRANSLATE].
▲ Translate interface of Ebook Translator
After that, you can check the translation process by clicking “Jobs” at the bottom right. Double clicking the job item, you can check the real-time translation log from the window it prompts.
▲ Translation log of Ebook Translator
Ebook Translator offers plenty of customization settings. You can choose as needed:
▲ Setting interface of Ebook Translator
- Library [default] : After the ebook is translated, it will be placed in Calibre library
- Path: After the ebook is translated, it will be stored in specified directory
When translating an ebook, you need to pay attention to the selected output format. If the selected output format is an existing format in Calibre library, the original input format file will be backed up by renaming. Therefore, it is not recommended to select the same output format as the input format. If you really need to use the same format for output, it is recommended to specify the path to store.
- Google [default]: Free translation engine
- ChatGPT: API key required
- DeepL: API key required
- DeepL(Pro): API key required
Except for Google, who does not require an API key, other translation engines require you to register a corresponding account and pay to obtain an API key.
According to the response information sample provided by DeepL official website, the program can run properly, but due to the lack of DeepL’s API key, the actual operation status is unknown.
If you choose to use a translation engine that requires payment, it is recommended to go to its official documentation to check the pricing rules. For example, ChatGPT uses its official tool Tokenizer to estimate how many tokens will be consumed to translate the amount of words in order to estimate the cost.
- Enable [default unchecked]: Enable network proxy
- Host: Support IP and domain name
- Port: Range 0-65536
- Test: Test the connectivity of proxy
- Enable [default checked]: Enable to cache translated content
- Clear: Delete all caches
Enabling the caching function can avoid re-translation of translated content after request failure or network interruption. You can also check the amount of disk space occupied by the cache here, and click [Clear] button to delete all caches. Note that if a translation job is currently in progress, the [Clear] button will be disabled to use.
- Attempt Times [default 3]: The number of times to attempt if the request to translation engine fails
- Maximum Interval [default 5 seconds]: The maximum time interval to request translation engine
A single request to translation engine can last up to 300 seconds. After the timeout, it will retry according to the specified attempt times, and the waiting time for each retry will be gradually increased. The request interval will be a random number between 0 and the specified maximum interval.
When using Google Translate API, which is currently available for free, it is recommended to increase the “Maximum Interval” to an appropriate value (more than 5 seconds is recommended) to prevent it from being flagged as abusive behavior by Google, which could lead to translation interruptions or denial of service. For paid translation engines, the “Maximum Interval” can be set to 0.
- Display translation [Default checked]: The translation content will be displayed in real time from the respective log window of the translation job