Skip to content
Zanata is a web-based system for translators to translate documentation and software online using a web browser.
Java JavaScript HTML CSS Kotlin TypeScript Other
Branch: master
Clone or download
Latest commit 68c80db Sep 4, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github doc: Update PR template (#560) Oct 6, 2017
.mvn chore: update to Maven 3.5.4 (#998) Jul 25, 2018
api chore(version): new snapshot version 4.7.0-SNAPSHOT Jul 19, 2018
build-tools chore(version): new snapshot version 4.7.0-SNAPSHOT Jul 19, 2018
client Merge commit 'e704fbace697488062b6295b79bfaae0633f7e12' into HEAD Aug 23, 2018
common chore(ZNTA-2694): Upgrade Okapi to M36 (#982) Aug 24, 2018
docs doc(release): Update docs/ for version 4.6.2 Aug 20, 2018
parent Update JaCoCo (filters out Kotlin codegen) (#1037) Aug 29, 2018
server Merge pull request #1041 from zanata/rundev-compose Sep 4, 2018
.editorconfig Convert MTMerge UI to TSX, modularise, add types Jul 6, 2018
.gitattributes Add .gitattributes for scripts and JS files (#422) Jul 13, 2017
.gitignore fix(pom): use doclint none for maven-javadoc 3.X Jun 4, 2018
.travis-settings.xml Travis: prefetch dependencies without logging; disable openjdk6 Nov 6, 2014 doc: Update PR template (#560) Oct 6, 2017
Jenkinsfile Increase JS heap (#1032) Aug 23, 2018 docs: Fix link in README to Docker docs (#1024) Aug 20, 2018
build Update to JBoss EAP 7.1 (#632) Dec 14, 2017 Use Markdown licences, Maven badges for clients (#417) Jul 11, 2017 Use Markdown licences, Maven badges for clients (#417) Jul 11, 2017
license_header.txt chore(ZNTA-1391): update references for zanata-platform (#36) Nov 12, 2016
mkdocs.yml docs: MT merge (#1008) Jul 31, 2018
mvnw Optimise/tweak Jenkinsfile Mar 30, 2017
mvnw.cmd Add Maven Wrapper Oct 20, 2016
pom.xml chore(version): new snapshot version 4.7.0-SNAPSHOT Jul 19, 2018 Update Jenkinsfile (wip) Mar 30, 2017


Zanata is a web-based system for translators to translate documentation and software online using a web-browser. It is written in Java and uses modern web technologies like JBoss EAP, CDI, GWT, Hibernate, and a REST API. It currently supports translation of DocBook/Publican documentation through PO files, and a number of other formats. Projects can be uploaded to and downloaded from a Zanata server using a Maven plugin or a command line client.

For developers and writers: By using Zanata for your document translations, you can open up your project for translations without opening your entire project in version control.

For translators: No need to deal with PO files, gettext or a version control system - just log in to the website, join a language team and start translating, with translation memory (history of similar translations) and the ability to see updates from other translators in seconds.

Find out about Zanata here:

Zanata is Free software, licensed under the LGPL.

Developers: Building Zanata from source


You will need:

  • Java SDK 8 (OpenJDK recommended)
  • zsh (for the build script)
  • npm (optional)
  • MySQL or MariaDB (optional)
  • JBoss EAP 7 or WildFly 10 (optional)
  • Linux or Mac OSX. Windows works too, sometimes.

A full build needs to download and install node, npm, mysql and WildFly/EAP, some of which are platform-dependent.


The build script you need to know about is ./build. It covers all your Zanata-building needs. Disclaimer: may not cover all your Zanata-building needs.

The -h argument prints the build script's help.

Building on Mac OS X and macOS Sierra

Currently, there is an extra step needed to build Zanata on a Mac. For ./build to work, you will need to point to the correct Java directory using the following command (using the correct JDK version on your Mac):

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.X_XX.jdk/Contents/Home"

This JAVA_HOME workaround will not be needed in the next release of the Maven wrapper: io.takari:maven-wrapper:0.1.7.

See for details.

Build everything with unit tests

./build --all - Builds the entire project (client and server ) fairly quickly, skipping integration tests and static analysis (checkstyle, etc), but including unit tests.

NB: If you need to run functional tests later without rebuilding, you should add -i to install the war file to your Maven repo after packaging.

Quickly build a .war file for later tests or docker deployment

./build --server -iQ - Builds and installs the project as quickly as possible, skipping all checks and verifications (i.e. tests, checkstyle, etc).

The binaries will be installed to your Maven repo for usage in later (partial) builds and tests.

Quickly build and run a server for testing

./build -w - Builds zanata-war and starts a JBoss/WildFly server using the cargo plugin. This is intended for starting a Zanata instance with the aim of running functional tests from an IDE.

Development using docker (experimental)

For a quick Zanata development environment with Docker, please visit the docker README.


These are the format rules for our git commit messages. This leads to more readable messages that are easy to follow when looking through the project history.

Commit Message Format

Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:

<type>: <subject>
<Jira reference>


Must be one of the following:

  • revert: Revert previous commit. Subject should be This reverts commit <hash>
  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

Source code note

Please note that any references to pull request numbers in commit messages (eg merge nodes) prior to 20 October 2016 are referring to the old repositories (before they were merged into the zanata-platform repository):

GitHub tries to auto-link numbers to pull requests, but such links will generally be incorrect for old commit messages.

You can’t perform that action at this time.