Page tree
Skip to end of metadata
Go to start of metadata

Permalink to this page: https://cwiki.apache.org/confluence/x/vIPzBQ

The Tomcat project uses POEditor to manage translations.

Links:

  • 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.
  • 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 synchronize the Tomcat source code with POEditor works as follows:

  1. Update English translations in Tomcat:
    Add or remove keys (terms) to the English LocalStrings.properties files.
    Make any changes required to the values in the English LocalStrings.properties 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.

  • No labels