Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Arranged the lists and updated the text a bit. Added a permalink.

Permalink to this page:

The Tomcat project uses POEditor to manage translations.


  • Join Tomcat translations project.
    A public link, available to everyone. Once you join the project, you can access it via Dashboard page at POEditor site.
  • View Tomcat translations project.
    This link requires additional privileges (and responds with error 404 unless you have them). This page lists translation status for each language and provides additional controls.
    Note: Accessing this page requires additional privileges. An error 404 is shown if you do not have them.

Key points:

  • The Export/Import code that copies to/from POEditor prefixes each property key with the package name to ensure that the keys are always unique.
  • In POEditor the keys are known as terms.
  • If a value contains a {n} sequence (usually written as [{n}] to distinguish a value from the surrounding text) then it will be processed by a MessageFormatter which means any single quotes must be escaped by using two single quotes.
  • The Manager and Host Manager applications use messages that start with "OK - " to indicate success of an operation. This prefix has to be preserved when translating. See Bug 63141 for details.

The process to synchronise synchronize the Tomcat source code with POEditor works as follows:

  1. Update English translations in Tomcat:
    Add or remove keys (terms) to the English files.
    Make any changes required to the values in the English files.
  2. Export (the translations from Tomcat:
    run org.apache.tomcat.buildutil.translate.Export) the translations
  3. Import the terms with English translations to POEditor.
  4. Update the translations for other languages on POEditor web site.
  5. Export one or more languages (Note: only export translated terms).
  6. Import (the translations into Tomcat:
    run org.apache.tomcat.buildutil.translate.Import) the translations

It is recommended that one language is imported at a time and that steps 5 and 6 and 7 are repeated for each language to be imported.

Steps 1 to 4 3 are only required when adding terms, removing terms or changing the English translation.

For small changes it is possible to make the change in both svn git repository and POEditor - effectively keeping the two in sync manually - and not use the Import/Export process. Care needs to be taken to ensure that the two systems remain synchronized.