To help with the localization of Haiku's graphical user interface, you first have to register an account at the Haiku Interface Translation site, which relies on the widely used Pootle.

Once you're all set up, you'll find all available languages on the front page.
Clicking on one, you follow down the directory tree from "Haiku (core)" into the various branching folders, like add-ons, apps, bin, kits, etc. and on from there.

For every folder, you get statistics showing you the state of the translation:

Statistics of untranslated strings

Here, we have 31 untranslated words, all in the "media" folder. Clicking "Continue translation (31 words left)" will take you to the translation editor where you find all those untranslated strings:

Editor showing untranslated string

In this example, you're asked to translate "Gain", which is part of the media-add-on multi_audio. At the bottom you have a list of "Similar translations" that can be a help sometimes. If you think one of those suggestions is correct, just click on it. Otherwise fill in the correct term into the text field.
If you're not completely sure, activate the checkbox "Needs work" and maybe describe your concerns by clicking "Add Comment" below the text field.

The "Context: MultiAudio" shows from what section in the source code the particular string comes from. Sometimes, you'll get an additional commentary to that string, explaining the context the string appears in.

Only language managers have the permissions to actually use the "Submit" button to accept a localized string. Everyone else has to use the "Suggest" button, which tells the language manager that there's work for him.

The accepted strings are regularly updated with Haiku's master repository (currently once a week), and are included in the nightly builds.


Don't translate variables like "%s" or "%something%"! Those variables are translated in-code. If you change those, the code won't find them anymore and you'll have your translated variable in there, %-characters included...

Plural forms

Some languages use more specific plural forms than English, for example special plural forms for 2 or 3 to 5 items. To account for that you may find strings to translate like:

{0, plural, one{There is # new message} other{There are # new messages}}

You only translate the strings in the deepest level of braces, i.e. There is # new message and There are # new messages. The # is replaced by a number. If your target language has additional plural forms, you can add additional rules besides one and other, see the spec and this language table. For example:

{0, plural, zero{There are no new messages} one{There is # new message} few{There are # new messages} other{There are # new messages}}
Last modified 4 years ago Last modified on Nov 29, 2014 7:15:50 AM

Attachments (2)

Download all attachments as: .zip