Localizing Haiku for other languages?


I just ran Win32DiskImager on Windows to create a bootable Haiku USB stick, and it booted up just right on my laptop.

I was pleased to see it could mount the NTFS and ext4 partitions I had on it.

For non-English speakers, I was wondering if there were plans to translate the desktop so that Haiku would be available in languages other than English.

Thank you.

Hi Nereus,

Inside Haiku click on the Deskbar menu (the leaf), then go in Preferences > Locale. Here you can set your language :slight_smile:

Thanks for the tip. I added a second language in the right-side list in Locale, but how do I tell Haiku to use another language for the desktop?

There’s no language-related icon in the “little-box-in-the-upper-right-hand-corner-with-a-blue-feather” :slight_smile:

Hi nereus,

First, make sure your added second language on the right side in the Locale prefs is sorted on top (->drag&drop). This is establishing the order in which the system tries to translate the GUI. If there isn’t a translation in your 1st language, the system tries your 2nd and so on. Newly started apps will use your chosen language immediately. Already running apps (like Tracker and Deskbar) need to be restarted.

Have a look at the user guide for more info, it’s linked from your Desktop.


Thanks for the info. I tried drag and dropping the second language before the first, which doesn’t work, but didn’t think of doing the opposite, which does.

One little issue I noticed, though: When switching languages for the UI, Haiku doesn’t offer to change the keyboard layout accordingly.

But otherwise, considering how polished and attractive Haiku looks, I wonder why Linux is still behind after all those years.


What language do you select as your primary language?

Here you can find all of the interface languages and the translation status:

If your language is not listed or just partial translated, you can join the translators. For new language, just write a mail to the haiku-i18n@freelists.org maillist.

Works here. Maybe you dragged the 2nd language outside the list view. It works best to just drop the 2nd language on top of the 1st. The GUI feedback could be better, admittedly.

I’m not sure that would be always helpful. For example, I use an English GUI and a German keymap. In any case, since you’re normally not switching locale and keymap that often (besides when beta testing…), doing that configuration separately once should be OK. Note, if you’re installing Haiku (from CD, and I think since sometime after R4.1 also when first booting a USB installation), you can configure both language and keymap at once (execute “FirstBootPrompt” (formerly “ReadOnlyBootPrompt”) in Terminal).

Glad you like it. Though Haiku has plenty of unpolished corners still… :slight_smile:


Can I ask here? How work derivatives of languages like for example “X (Canadian)” is it work like derivative of “X” or like separate language?

Currently it is implemented as a “derivative”. If something isn’t found in “fr_ca” (canadian french), the system will try “fr” next.
This reduces the work when the variants are similar enough, but can be a bit confusing in other cases (for example, I don’t think there are that much common strings between “pt” and “pt_br”).

Thanks for the answer. Another question, is there some requirements for locale derivation? Only another state? Can be derivation of another language style? (I thinking about starting one).

I’m not sure I understand your question.

The automatic derivation process consists simply of stripping the locale from more specific elements, one at a time, building a chain of locales to try.

For example: en_GB@UTF8 -> en_GB -> en

Currently, the Locale preferences allow to set only the first two levels (the language, and local/country variant), except for some languages where there is also a script variant (often latin vs cyrillic alphabet). This is a list we get from ICU.

What is your specific need? Is it filled by this support or does it need more?

I am try to explain better:
Can I make another localization, not for different country, but in different language style, for example like:

You can, but it won’t be listed in the Locale preferences. I don’t know if enabling it (by modifying settings files manually) would work.

"For example: en_GB@UTF8 -> en_GB -> en"
Can I use instead something like “x@simple”?
What “@” do?

This is defined by ICU, and the rules are here: