You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Supported to customize translation text position and delete original content. resoved yihong0618#7
2. Supported to exclude original content by keyword and regular expression. resolvedyihong0618#2
3. Added Baidu and Youdao translation engines. resolvedyihong0618#3
4. Changed to save translated ebooks as a new book in Calibre library.
5. Supported to customize the color of translation text.
6. Supported to customize ChatGPT prompt word. resolvedyihong0618#4
7. Ignored to translate phonetic symbols (e.g. Japanese). fixedyihong0618#3
8. Added Spanish as supported interface language. resolvedyihong0618#5
9. Added disgnosis information to log.
10. Added "lang" attribute at translation element.
11. Fixed plugin icon disappearance when changing Calibre interface language.
12. Improved the functionality to extract original text.
A Calibre plugin to translate ebook into a specified language (the translated text will be added after original text).
3
+
A Calibre plugin to translate ebook into a specified language (optionally keeping the original content).
4
4
5
5
---
6
6
@@ -9,60 +9,89 @@ A Calibre plugin to translate ebook into a specified language (the translated te
9
9
* Support languages supported by the selected translation engine (e.g. Google Translate supports 134 languages)
10
10
* Support multiple translation engines, including Google Translate, ChatGPT, and DeepL
11
11
* Support all ebook formats supported by Calibre (48 input formats, 20 output formats)
12
-
* Support to translate more than one ebooks, the translation process of each book is carried out simultaneously without affecting one another
13
-
* Support caching translated content, no need to re-translate after request failure or network interruption
12
+
* Support to translate more than one ebooks. The translation process of each book is carried out simultaneously without affecting one another
13
+
* Support caching translated content, with no need to re-translate after request failure or network interruption
14
14
* Provide a large number of customization settings, such as saving translated ebooks to Calibre library or designated location
15
15
16
16
---
17
17
18
18
## Settings
19
19
20
-
__[Output Path]__
20
+
You can customize the plugin through "Content" and "Setting" panels.
21
21
22
-
* Library [default]: After the ebook is translated, it will be placed in Calibre library
23
-
* Path: After the ebook is translated, it will be stored in specified directory
22
+
### Content
24
23
25
-
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.
24
+
__[ Translation Position ]__
26
25
27
-
__[Translation Engine]__
26
+
*__Add after original__[default]: Add the translation text after original text
27
+
*__Add before original__: Add the translation text before original text
28
+
*__Add without original__: Add the translation text and delete original text
You can click the [Select] button to select a color from color palette, or enter the color value manually. Please refer to "[color value](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)" on MDN documentation for details. If left blank no customized color will be used.
35
+
36
+
__[ Do not Translate ]__
37
+
38
+
*__Normal__[default]: Exclude content by keyword (one keyword per line)
39
+
*__Normal(case-sensitive)__: Exclude content by case-sensitive keyword (one keyword per line)
40
+
*__Regular Expression__: Exclude content by Regular Expression rule (one rule per line)
41
+
42
+
For regular expression syntax, please refer to "[Regular Expression Syntax](https://docs.python.org/3/library/re.html#regular-expression-syntax)" on Python documentation.
43
+
44
+
### Setting
45
+
46
+
__[ Output Path ]__
47
+
48
+
*__Library__[default]: After the ebook is translated, it will be placed in Calibre library
49
+
*__Path__: After the ebook is translated, it will be stored in specified directory
50
+
51
+
__[ Translation Engine ]__
52
+
53
+
*__Google__[default]: Free translation engine
54
+
*__ChatGPT__: API key required
55
+
*__DeepL__: API key required
56
+
*__DeepL(Pro)__: API key required
33
57
34
58
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.
35
59
36
60
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.
37
61
38
-
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](https://platform.openai.com/tokenizer) to estimate how many tokens will be consumed to translate the amount of words in order to estimate the cost.
62
+
If you opt for a paid translation engine, we recommend you to refer to its official documentation for pricing rules. For example, ChatGPT uses its official tool, [Tokenizer](https://platform.openai.com/tokenizer), to estimate the number of tokens required to translate a given amount of text in order to provide a cost estimate.
63
+
64
+
__[ ChatGPT Prompt ]__
65
+
66
+
*__For auto detecting source language__: Customize ChatGPT prompt to translate from 'Auto detect' source language
67
+
*__For specifying source language__: Customize ChatGPT prompt to translate from specified source language
*Enable[default checked]: Enable to cache translated content
50
-
*Clear: Delete all caches
78
+
*__Enable__[default checked]: Enable to cache translated content
79
+
*__Clear__: Delete all caches
51
80
52
81
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.
53
82
54
-
__[Request]__
83
+
__[Request]__
55
84
56
-
*Attempt Times[default 3]: The number of times to attempt if the request to translation engine fails
57
-
*Maximum Interval[default 5 seconds]: The maximum time interval to request translation engine
85
+
*__Attempt Times__[default 3]: The number of times to attempt if failed to request translation engine
86
+
*__Maximum Interval__[default 5 seconds]: The maximum time interval to request translation engine
58
87
59
-
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.
88
+
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 1 and the specified maximum interval.
60
89
61
-
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.
90
+
When using Google Translate API, which is currently available for free, we recommend you to increase the "Maximum Interval" to an appropriate value (more than 5 seconds is recommended) to prevent it from being flagged as abusive behavior, which could lead to translation interruptions or denial of service. For paid translation engines, the "Maximum Interval" can be set to 1.
62
91
63
-
__[Log]__
92
+
__[Log]__
64
93
65
-
*Display translation[Default checked]: The translation content will be displayed in real time from the respective log window of the translation job
94
+
*__Display translation__[Default checked]: The translation content will be displayed in real time from the respective log window of the translation job
0 commit comments