For translators, Polyglot should be pretty much self-explanatory with only very few things that need explaining.
Before you can start translating, an admin has to grant you the necessary permissions. Please see the Haiku forum post Help translating applications with Polyglot.

The start page with a list of all projects

After logging into Polyglot, the start page shows a list of all the hosted projects. After a project's name you may see a globe symbol, linking the it's website and a sheet icon linking to its bugtracker. Some developers also include the date of the next planned release, so translators can cram to get in their translations in time.

Projects that aren't 100% translated in your preferred language - see Edit profile in your user menu at the top right of the page - are highlighted yellow.

Click on a project to go to its translation page:

The "Translation modules" page of a project, with the status of all translations

Most projects have only one Translation module (one "catkeys" file) per language, i.e. there's only one column with the language progress for the main application. If the software, however, includes for example a Tracker add-on or a library or consists of several applications, you'll see more columns that you'll have to get to 100%.

Polyglot can be used to translate other files besides catkeys. For this guide, we focus on catkeys, but the translation of "Line separated files" and "Java properties" works in a similar way.

By default, only languages that are being actively translated are listed. If yours isn't among them, it means that nobody has started a translation yet: Click Show all languages to see it.

If the progress of a translation is below 100% the menu Continue beside the progress bar is highlighted blue and a click brings you to a page with all still unfinished text blocks.
In the menu, the item All blocks opens that page with all text blocks, the ones already translated and the ones still needing work.

Pre-translate opens a page with all the text blocks that have been automatically translated according to the Glossaries (see below).

Export lets you download the catkeys of that particular language, just like Export languages: all | only completed at the bottom of the list of languages lets you download the catkeys of all languages or just the 100% completed ones (as a ZIP archive). The downloaded file can then be edited in a text editor or CatKeysEditor, if you prefer that.

You can only edit text blocks for the languages you have permissions for. All others you can only Export or View all the text blocks.

This is the translation page:

Upload translated catkeys at the top of the "Translation" page

At the top, you can upload a previously exported and edited catkeys file of your language. Be aware: if the developer has updated the original English catkeys of his project, they take precedence. If it has changed - more or fewer text blocks - only the ones of yours that still match will be imported.
So everthing's safe, but you may want to prefer leaving the exporting/uploading to the developer and stick to the Polyglot web interface...

Search for text in the original or translation

Next is a search bar if you need to find a specific string in either the original or the translation. To get back to the unfiltered list, you have to click the "X" button that appears at the left of the text box when you started your search.

Below the search bar, there's a table with all the GUI texts that need localization. Clicking in a row expands it to the editing mode (last row in this example):

A translation block while editing with a legend of its elements

Yet untouched rows are highlighted yellow, and the Needs work button of the editing mode is yellow, too. This means that the text isn't counted as being translated and the percentage status won't increase.
If you are not sure about your translation yet, keep the Needs work yellow until you are.

On the other hand: Some texts may be the same in the English original and your language; OK buttons are a good example. Don't forget to go into editing mode and click Save in that case!


Polyglot 'pre-translates' common strings that are defined in the Glossaries, linked at the top of the page.

The Glossary for German

Clicking on Add opens a page with one text box for the English original and a second for the translation. You can add several string pairs at the same time, just make sure that each line of English text has a corresponding line with the translated string.
This 'pre-translation' works only for full phrases, no partial matches. However, punctuation at the end ("...", "…", "." and ":") will be separated and applied to the translation, so you only need one glossary entry for "Add" and "Add:" - both will be pre-translated.

Choosing Pre-translate for a language of a project instead of Continue or All blocks should be the first thing you do when starting the translation of a project. That way you'll quickly get through the most common strings of many apps. The Pre-translate page:

The list of pre-translated strings

Here you can quickly move through the list and correct any flawed proposed translations. If that happens a lot, you may want to edit the Glossary... The Context column shows where in the source these texts are found, and sometimes there's a Comment that provides additional information.
All entries with a ticked checkbox are committed to the project's database when you finally click the Save button at the bottom.


A few points on localization in general, and Haiku specifics in particular: