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 page lists translation status for each language and provides additional controls.
    Note: Accessing this page requires additional privileges. If you do not have them, an error 404 is shown after your sign-in.

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.
  • The POEditor import/export process automatically handles any necessary escaping/unescaping.
  • 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 synchronize the Tomcat source code with POEditor needs to be performed by a committer. The process 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
  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

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

Steps 1 to 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 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.

Changes are typically imported from POEditor by the release manager shortly before a release is tagged.

  • No labels