Zotero Pdf Translate

PDF translation add-on for Zotero
Alternatives To Zotero Pdf Translate
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Etherpad Lite13,993
8 days ago1November 10, 2021173apache-2.0JavaScript
Etherpad: A modern really-real-time collaborative document editor.
3 days ago32mitKotlin
Translation plugin for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio.
Zotero Pdf Translate2,620
a day ago30agpl-3.0TypeScript
PDF translation add-on for Zotero
a year ago52Java
Android Studio Plugin,Translate English to Chinese. Android Studio 翻译插件,可以将英文翻译为中文.
Mediacenterjs1,249114 years ago45December 13, 201431JavaScript
A HTML/CSS/Javascript (NodeJS) based Media center
3 days ago63gpl-3.0Java
Android OBD diagnostics with any ELM327 adapter
Xunity.autotranslator903224 days ago1November 24, 2019134mitC#
Mobility87930106 days ago87June 24, 202231mitRuby
Pluggable Ruby translation framework
7 years ago31apache-2.0Java
This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically.
5 days ago158gpl-2.0C
Liferea (Linux Feed Reader), a news reader for GTK/GNOME
Alternatives To Zotero Pdf Translate
Select To Compare

Alternative Project Comparisons

PDFTranslateZotero PDF Translate

Using Zotero Plugin Template

This is an add-on for Zotero's built-in PDF reader.
Translate PDFs, annotations, notes, and item titles automatically.

Quick Start Guide


From local file

  • Download the latest release (.xpi file) from the Latest Release Page
    Note If you're using Firefox as your browser, right-click the .xpi and select "Save As.."
  • In Zotero click Tools in the top menu bar and then click Addons
  • Go to the Extensions page and then click the gear icon in the top right.
  • Select Install Add-on from file.
  • Browse to where you downloaded the .xpi file and select it.
  • Restart Zotero, by clicking restart now in the extensions list where the Zotero PDF Translate plugin is now listed.

From remote link

  • In Zotero click Tools in the top menu bar and then click Addons.
  • Drag Latest Release and drop it in the Zotero UI.
  • Click install now.
  • Restart Zotero, by clicking restart now in the extensions list where the Zotero PDF Translate plugin is now listed.


Once you have the plugin installed simply, open any PDF in your collections.

  • Select some text, the translations are shown on the popup and the right sidebar(v0.2.0); Hold Alt/Option to concat selections.

  • Highlight some text, the translations are added to the annotation comment(v0.3.0); Modify & retranslate the annotation text in the sidebar 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).

  • Translate item abstract with right-click menu(v0.8.0). Thanks @iShareStuff

  • Standalone translation window available(v0.7.0). View & compare translations from multiply engines in one window!

  • Dictionary for single word translation(v0.7.1).

  • SentenceBySentence Translation(v1.1.0). After a translation, press shift+P and select Translate Sentences. Only for en2zh and en2en now. Thanks @MuiseDestiny


Q I want to translate manually.
A Go to Edit->Preferences->PDF Translate->General, uncheck the Automatic Translation. Click the translate button on the popup or sidebar 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 seletions and translate them together.
A Press Alt/Option when selecting text in PDF.

Q Not the language I want.
A The default target language is the same as your Zotero language. Go to Edit->Preferences->PDF Translate->General and change the language settings.

Q Translation not correct or report an error.
A See Language Settings and #6. Make sure you use the right secret.

Q I want to change the font size.
A Go to Edit->Preferences->PDF Translate->Advanced and set the font size.



  • Enable Translation, default true
  • Automatic Translation, default true
  • Enable Dictionary: single word will be translated using dictionary-engine instead of translate engine, default true
  • Enable Popup: Show results in a right-click popup or only in the sidebar, default true
  • Automatic Annotation Translation: Save annotation's translation as comment, default true
  • Show 'Add to Note(With Translation)' in Popup: default true

    Unvisible if no active note editor opened.

    • Replace Source Text: Use translation to replace the source text when adding to note, default false


The default engine is Google Translate. Currently, we support:
| Translate Engine | Require Secret | Supported Languages | | ---------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Google Translate | No | 100+ | | Google Translate(API) | No | Use translate.googleapis.com | | CNKI | No | https://dict.cnki.net | | Youdao Translate | No | 100+? | | Youdao Zhiyun | Yes | 100+ | | Niu Translate(Trial) | No | 100+ UNSTABLE | | Niu Translate | Yes | 100+ | | Microsoft Translate | Yes(free 2M) | 200+ | | LingoCloud(Caiyun) Translate | Yes | zh, en, ja, es, fr, ru | | DeepL Translate | Yes(free 500k) | 100+ | | Baidu Translate | Yes(free-QPS1/free-2M) | 200+ | | Baidu Field | Yes(free-QPS1/free-2M) | en-zh | | Tencent Translate | Yes(QPS5, free-5M) | 15 | | GPT(OpenAI) | Yes(free-$18) | Based on the gpt-3.5-turbo model |

If the engine you want is not yet supported, please post an issue.

Microsoft Translate
Apply here. Copy your secret and paste it into the settings.
The secret format is MY_SECRET.

See this issue for detailed steps to set up the Microsoft Translate.

DeepL Translate
Apply here.

**Youdao Zhiyun Translate **
Apply here.
The secret format is MY_APPID#MY_SECRET#MY_VOCABID(optional).


Official Document

Niu Translate
Apply here.
The secret format is MY_APIKEY#dictNo(optional)#memoryNo(optional).

Chinese Document

Baidu Translate
Apply here.
The secret format is MY_APPID#MY_KEY#ACTION(optional, see https://api.fanyi.baidu.com/doc/21, default 0)(split with '#').

**Baidu Field Translate **
Apply here.
The secret format is MY_APPID#MY_KEY#DOMAIN_CODE(split with '#').

Domain Code
electronics -->
finance -->
finance -->
mechanics -->
medicine -->
medicine -->
novel -->

Chinese Document

Tencent Translate
Apply here.
The secret format is secretId#SecretKey#Region(optional, default ap-shanghai)#ProjectId(optional, default 0)(split with '#').

Chinese Document

OpenL Translate
Apply here.
The secret format is service1,service2,...#apikey(split with '#'; split service codes with ',').

Supported service codes are: deepl,youdao,tencent,aliyun,baidu,caiyun,wechat,sogou,azure,ibm,aws,google, See Service Code

Chinese Document

Apply here.
The secret format is sk-#SecretKey(split with '#').

Chinese Document

User Interface

  • Font Size: The font size of result text, default 12
  • Line Height: The line height of result text, default 1.5
  • SideBar: Show xxx: Show or hide sidebar elements, default true
  • SideBar: Reverse Raw/Result: Reverse the order of Raw/Result in the sidebar if true, default false
  • Popup: Remember Size: Remember size of popup if true, else automatically adjust the size, default false


  • Disable Automatic Translation when File Language is(split with ','): If you want to disable automatic translation in zh and ja files, set zh,ja.

Development & Contributing

This addon is built based on the Zotero Plugin Template. See the setup and debug details there.

To startup, run

git clone https://github.com/windingwind/zotero-pdf-translate.git
cd zotero-pdf-translate
npm install
npm run build

The plugin is built to ./builds/*.xpi.


Add new translate service

  1. Add service config to src/utils/config.ts > SERVICES;
  2. Add translation task processor under src/modules/services/${serviceId}.ts with the same format with other services. The export function set the translation result to data.result if runs successfully and throw an error if fails;
  3. Import the task processor function in src/modules/services.ts.
  4. Add locale string service.${serviceId} in addon/chrome/locale/${lang}/addon.properties.
  5. Build and test.

Extra options for translate service

If the service requires extra options, the minimal implement would be putting them in the secret input in the prefs window, like the existing services does.

If there are complex options, please bind a callback in src/utils/translate.ts > secretStatusButtonData which create a highly customizable dialog window with ztoolkit.Dialog. See the example of NiuTrans login here: https://github.com/windingwind/zotero-pdf-translate/blob/main/src/utils/niuTransLogin.ts


Use this code under AGPL. No warranties are provided. Keep the laws of your locality in mind!

My Other Zotero Addons

Sponsor Me

I'm windingwind, an active Zotero(https://www.zotero.org) plugin developer. Devoting to making reading papers easier.

Sponsor me to buy a cup of coffee. I spend more than 24 hours every week coding, debugging, and replying to issues in my plugin repositories. The plugins are open-source and totally free.

If you sponsor more than $10 a month, you can list your name/logo here and have priority for feature requests/bug fixes!


Thanks peachgirl100 and other anonymous sponsors!

If you want to leave your name here, please email me or leave a message with the donation.

Popular Translation Projects
Popular Plugin Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.