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

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 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.

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

  1. Add or remove keys (terms) to the English LocalStrings.properties files
  2. Make any changes required to the values in the English LocalStrings.properties files
  3. Export (org.apache.tomcat.buildutil.translate.Export) the translations
  4. Import the terms with English translations to POEditor
  5. Update the translations for other languages
  6. Export one or more languages (only export translated terms)
  7. Import (org.apache.tomcat.buildutil.translate.Import) the translations

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

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