Help translating applications with Polyglot

Are you sure?
I just did a test with Clipdinger catkeys. There’s already a complete es.catkeys. As would be the case with starting “Spanish (LA)” at Polyglot, I start by copying en.catkeys and rename to es_419.catkeys. For a test, I only change the translation for “Help” to “Zuhülfe”. After “make bindcatalogs”, I change the Locale prefs to “Spanish (LA)” and start the modified Clipdinger.
Everything is English, except the “Zuhülfe”.
So it appears it did not fall back to the es.catkeys for all not-modified entries in es_419.catkeys.

You need to register at Pootle. Then I can create “Spanish (Latin American)”, grant you the necessary permissions and you can start translating.
We’ll have to see what comes of the “es_419 should fall back to es”…

If you copy en.catkeys, you now have all the english strings copied in your new catalog. For the locale kit, that’s what es_419 is, and it will use the strings from there and never look anywhere else, since that’s a complete catalog with all strings translated.

So the catalog should not include the untranslated english strings, to let the system compute the fallback correctly. It should include only the ones that are different from the “parent” language

Ah, I misunderstood. :slight_smile:
Tried that now and it does work!

So, @victroniko and others translating “subsets” of other languages (en_GB, pt_BR etc.) should actually clear the translated text box, if the translation is identical to the “main” language. Then the system will pick the translation from the “main” language.
That’s valuable info!

You’d need two open windows to compare to the “main” language though. So maybe you ex- and import the “main” language after all. Then you see the “main” translation and either empty the translation text box if it’s identical to your “subset”, or change the difference to the “subset” translation.

1 Like

Thanks, I assumed that’s how it works but good to confirm it is that way indeed. The exchange between you and @humdinger was helpful!


One last question: is it possible to “live-test” .catkeys on installed apps? I’m concerned mainly about correct placement of escape sequences and such, before uploading anything. I don’t wanna break the UI.

See Testing translations without compiling an app
The es_419 is finally ready at Pootle. I forgot one last step when setting it up yesterday…


whoever made the translation for Latin American Spanish in ArtPaint, please fix Manipulators->Translate related translations, because those do not refer to “translate” as “traducir” (converting from one thing to another, usually when talking about languages) but its meaning is “trasladar” or “mover” (move from one position to another). I’m not able to do that because I have permissions to edit “Spanish” only. If you aren’t sure, check ArtPaint’s related help here ArtPaint: Image Processing or open the App and use the tool.


Thank you, @cafeina!

@humdinger any reason @cafeina couldn’t have permissions for Latin American Spanish too?

No reason at all. :slight_smile:
I granted @cafeina permissions for Latin American Spanish, and @un_spacyar as well when seeing a suspicious .ar in his email address. Anyone else, just PM me.
And if there are things to discuss, I think it’s fine to abuse the haiku-i18n-es mailing list.

1 Like

For translators, don’t forget to use the Pre-translation tool (called “Glossaries”) to have a dictionary of commons translations, so we can speed up the translation process of every app and have consistency between translations of the same function in different apps.


Indeed. Many languages have a “Terminology” wiki at i18n – Haiku which can be a base for the “Glossaries”.

1 Like

dear humdinger…
can we translate WordClock too?

I experimentally did the German translation once. The (potential) problem is that translations use differently long words. The words per line and their order is fixed. On top of that, there may be idiosyncrasies of languages so there are more (or less) words than “quarter to/past”, or we need a different order etc.

This would be the German version as is:


As you can see, the “fünf Minuten vor” looks quite cramped.

I suppose we could start collecting translations and hope someone improves the code. We could already use those translations for the languages that look OK as is.

[Edit: I added this as an issue to WordClock.]

1 Like

Fünf vor reicht doch!
Typo, Typografie oder Schrift!

Das hängt davon ab wo man ist : )

Yeah that was me, I’ll fix it asap. That’s why I wanted to (and asked how to) “live-test” translations to make sense of UI context and not make mistakes. Unfortunately life got in the way these last days, but now I can dedicate time to this.

Added a PR to add Dutch translation and a fix for this, it now looks like this here:


One more change pushed to the PR:


There is a way to set an unsupported language in locale preflet with the command line?

Edit: ops, it seems I’ve replied the wrong persn, I’m :pensive:

There’s currently no way to set the locale from Terminal AFAIK. “locale” prints the current locale, but you cannot set it. There’s ticket #13828 which points to this patch on Gerrit, but there hasn’t been activity for some time.


When I try to pre-translate anything, the page shows no proposed translations at all. Happens on ALL programs. I tought it’d show the most common strings at least, no?

Furthermore if I click on “Save”, page throws me an error 500. Is this normal behavior?

FWIW these apps are fully es-419 localized now (all by hand :sweat:): ArmyKnife, ArtPaint, BePDF, BePodder, DeskNotes, KeymapSwitcher, ffmpegGUI, LnLauncher, ThemeManager and wpa_supplicant. More to come.