Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Server-side Zotero translation based on Mozilla xpcshell
JavaScript Shell
Branch: master

An xpcshell-based approach to Zotero server side translation.

Currently supports import, export, and web translation.


  1. Do a recursive clone of this repository. If you've already cloned it, you can run git submodule update --init --recursive to make sure you have all the files.

  2. Download the XULRunner SDK:

    translation-server is currently known to work with XULRunner version 31.

  3. Extract the XULRunner SDK into the repository root, which should create a xulrunner-sdk folder, or symlink the SDK from elsewhere on your system to 'xulrunner-sdk'. You do not need to build the SDK.


  1. Edit config.js and update the "translation-server.translatorsDirectory" preference to reflect the full path to the modules/zotero/translators directory.

Build and Run

  1. Run the script. If all goes well, there should be no output.

    $ ./
  2. Run the server:

    $ build/ 
    zotero(3)(+0000000): HTTP server listening on *:1969
  3. Try a query!

    $ curl -d '{"url":"","sessionid":"abc123"}' \
          --header "Content-Type: application/json" \



Supported endpoints are: /web, /import, /export, and /refresh.

Read server_translation.js for more information.

Something went wrong with that request. Please try again.