Translate for Zotero, a.k.a. Zotero PDF Translate, is a Zotero plugin.
Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20+ translate services.

Note If you're using Firefox as your browser, right-click the .xpi and select "Save As.."
Tools in the top menu bar and then click PluginsInstall Plugin from file..xpi file and select it.Open any PDF/EPub/webpage in the Zotero reader.
Select text, the translations are shown on the pop-up and the item pane(v0.2.0).

Highlight/Underline some text, the translations are added to the annotation comment(v0.3.0); Modify & retranslate the annotation text in the item pane and click the Update Annotation to modify the annotation text and translation(v0.6.6);
Add selected text along with translation to note(v0.4.0); Only works when a note editor is active.

Translate item titles with right-click menu or shortcut Ctrl+T(v0.6.0).
Standalone translation window available(v0.7.0). View & compare translations from multiply services in one window!

Dictionary for single word translation(v0.7.1).
shift+P and select Translate Sentences. Only for en2zh and en2en now. Thanks @MuiseDestinyQ I want to translate manually.
A Go to Edit->Settings->Translate->General, uncheck the Automatically Translate Selection. Click the Translate button on the pop-up or item pane to translate.
Q I want a translate shortcut.
A
Press shortcut Ctrl+T after you selected some text. If you are in the collection view, the titles' translation will show/hide.
Q I want to concat different selections and translate them together.
A Press Ctrl/⌘ or select the Concat Mode check box on item pane when selecting text in PDF/EPub/webpage.
Q Not the language I want.
A The default target language is the same as your Zotero language. Go to Edit->Settings->Translate->Service and change the language settings.
Q Translation not correct or report an error.
A See Language Settings above and FAQ(#6). Make sure you use the right secret.
Q I want to change the font size.
A Go to Edit->Settings->Translate->User Interface and set the font size.
Q I want to resize the raw and result text area in the translate panel.
A Drag the separator up and down to adjust the size. Double-click the separator to reset the size.
truefalsetrue, default falsetruetrueInvisible if no active note editor opened.
falsetruetruefalseThe default service is Google Translate. Currently, we support:
| Translate Service | Require Secret | Supported Languages |
|---|---|---|
| Google Translate | No [Free] | 100+ |
| Google Translate(API) | No [Free] | Use translate.googleapis.com |
| CNKI | No [Free] | https://dict.cnki.net |
| Haici Translate | No [Free] | https://fanyi.dict.cn |
| Youdao Translate | No [Free] | 100+? |
| Bing | No [Free] | en-zh |
| DeepLX | No [Free] | Based on DeepLX |
| DeepLX(API) | No [Require config] | DeepLX related projects |
| LibreTranslate | Optional [Require config] | LibreTranslate |
| MTranServer | Optional [Require config] | MTranServer |
| NLLB | No [Require config] | nllb-api or NLLB Serve |
| Pot | No [Require config] | Pot Translate results show in Pot |
| Huoshan | Yes | 50+ |
| Volcengine Web | No [Free] | en, zh, and more (auto-detect, web version) |
| Youdao Zhiyun | Yes | 100+ |
| Youdao LLM | Yes | LLM-based(en-zh) |
| Niu Trans | Yes | 400+ |
| Microsoft Translate | Yes(free 2M) | 200+ |
| LingoCloud(Caiyun) Translate | Yes | 10+ |
| DeepL Translate | Yes(free 500k) | 100+ |
| Aliyun Translate | Yes(free-1M) | 200+ |
| Baidu Translate | Yes(free-QPS1/free-2M) | 200+ |
| Baidu Field | Yes(free-QPS1/free-2M) | en-zh |
| OpenL | Yes | 11 |
| Tencent Translate | Yes(QPS5, free-5M) | 15 |
| Tencent Transmart | No [Free] | en, zh, and more (auto-detect, web version) |
| Xftrans | Yes(free 2M) | Xftrans API(70+), NiuTrans API(100+) |
| GPT | Yes(free-$18) | OpenAI(ChatGPT), AzureGPT, compatible GPT-like LLM (Custom GPT) |
| Gemini | Yes(free-) | LLM-based |
| Qwen-MT | Yes(free-) | LLM-based |
| Claude | Yes | LLM-based |
If the service you want is not yet supported, please post an issue.
Google
Google does not require a secret, but you can put your own API URL in the secret to replace the default URL (translate.google.com/translate.googleapi.com).
Huoshan
Apply here.
The secret format is accessKeyId#accessKeySecret
Youdao Zhiyun Translate 有道智云
Apply here.
The secret format is MY_APPID#MY_SECRET#MY_VOCABID(optional).
About
VOCABID
登录控制台,选择文本翻译服务,点击右侧的术语表,选择新建,填写表名称和语言方向,添加需要的术语表,然后获取对应词表 id 即可。
AboutConfig -> Domain
登录控制台,点击创建应用,输入应用名称,在选择服务一栏勾选文本翻译,然后勾选领域化翻译即可开通领域化翻译。领域化翻译仅支持中英互译。
**Youdao
$ claude mcp add zotero-pdf-translate \
-- python -m otcore.mcp_server <graph>