Language addition on transifex

@NorwayFun

Katello 4.7.0 GA which is being built today and handed off to the release team, has translations in it finally :slight_smile:

1 Like

Hi,
Iā€™ve waited for another 3 weeks and updated my Katello/Foreman nightly only today.
Katello version I got is 4.8.0-0.1.pre.master.20221222225014git53b2a56.el8
However, Katello is still in English.
Was it only GA which got translation files or is there anything I have to know?

I am just getting back from being out for the holiday. I will add this to our sprint board and follow up shortly and see what went wrong.

1 Like

Any news, please?

Hi,

Starting to work on Katello 4.7.1 and will also make a translations PR to Katello master, so we can get the translations both in nightly so it carries over into Katello 4.8 and what was missing in 4.7.1

Hello,
Just saw 4.7.1 released, so went ahead and updated my nightly too. Version I got is: 4.8.0-0.1.pre.master.20230116175840git3ef7613.el8
Did update, reboot andā€¦


Itā€™s still in English.

I think the problem is that weā€™re not compiling the .po file to .mo: I only see locale/ka/katello.po but not any locale/ka/LC_MESSAGES/katello.mo file. Not for any language. I also donā€™t see a task in RPM packaging to generate those.

I also looked at the various other Katello releases and none of the Katello 4.5, 4.6 or 4.7 RPMs contain any .mo files.

This is something I noticed in more plugins: we donā€™t have a task to generate the .mo files so many store them in git. However, generated files do not belong in version control. This is something we should add to packaging. I already created Bug #35789: Compile plugin .mo files during package build - Packaging - Foreman a while back, but this is really needed.

1 Like

Amazing find!
I compiled it manually and put it in LC_MESSAGES folder, reboot andā€¦

Only 2 strings are in English, so I went ahead and grepped for other .po files. seems like there are 2 more:
/usr/share/gems/gems/katello-4.8.0.pre.master/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po
this, which I also recompiled and put it both with .po file and in LC_MESSAGES dir and
/usr/share/gems/gems/katello-4.8.0.pre.master/engines/bastion/app/assets/javascripts/bastion/i18n/locale/ directory,
Which has no ka.po in. Should it be pulled separately?

ops. Unfortunately, on screenshot there is foreman only which had Georgian even before.
I can provide katello screenshot with still English strings, if needed.
Sorry for inconvinience.

Itā€™s actually been my pain point for the releases: getting everything properly translated. As you can see, even if there are translated strings itā€™s really crucial to get them into releases. That process is broken in a few places. This post it partly a brain dump of what Iā€™m currently trying to fix.

So I came up with a script that uses pofilter to verify:

You can see I hardcoded a few languages, but changing that to just ka should help you decide on what needs work.

First a bit of background about the steps:

  1. Developer extracts strings: update locale/$DOMAIN.pot so Transifex can pick up the new strings
  2. Translators translate strings into each language
  3. Developer pulls in updated translations
  4. Developer releases new version
  5. New version is packaged

So for every plugin (and Foreman itself) we need to do these steps. In State of translations - 3.5 you can see I did steps 1 and 3 for the plugins (using a script), but because they were at the same time there may not have been time for step 2. It may also be that step 4 hasnā€™t happened yet. For some the step 3 PRs are still open.

All in all this is a rabbit hole thatā€™s deeper than I expected, but I still intend to find my way out.

1 Like

We got more Georgian strings translated in Katello 4.7.1 so I am going to do the same on Master/nightly today as we prepare for Katello 4.8

1 Like

Thanks for all the info. Will be testing it every now and then.
Just out of curiousity, is it me or releases happen more often then nightlies are compiled?
Iā€™ve installed it just to have latest translations available (thought itā€™s done automatically, when package is being built) and I see releases more often.

1 Like

There can certainly be more releases than nightly composes.

How it works is that for nightly packages we have: source release-> package release. So katello-master-source-release [Jenkins] will trigger after anything is merged to Katelloā€™s git master branch (with some delay, so you donā€™t build twice if you merge multiple times within a few minutes). This then triggers katello-master-source-release [Jenkins] which actually builds the RPM.

This is then done for all packages with nightly releases. For all non-nightly packages itā€™s whatever is merged to GitHub - theforeman/foreman-packaging at rpm/develop that gets build using foreman-packaging-rpm-nightly-release [Jenkins].

Then once every day we run foreman-nightly-rpm-pipeline [Jenkins] (or more if we trigger it manually) which takes all the latest package versions and runs some automated tests on them. If they pass, the foreman repository is published (Index of /releases/nightly) and the katello pipeline triggered. That does the same thing using katello-nightly-rpm-pipeline [Jenkins] and Index of /katello/nightly.

That is is in a very brief overview how we manage our nightly builds. I also linked to RPMs, but for Debian packages itā€™s all very similar.

2 Likes

Hello,
Any news, please? :slight_smile:

Hello,

Did another update round yesterday, Katello translations are still not there :frowning:

Temuri

Hello,
Even after a year, translations are not there.
Even when I compile po files to mo manually, language doesnā€™t change, itā€™s still in English.

Temuri

We have found several bugs in the basic layers. In Foreman 3.7 weā€™ve solved Bug #36330: Translated strings are not loaded for plugins into the browser, leading to react-based frontend not having translations - Foreman which should make a major difference. While we hoped to complete the translations and fix it proper for Foreman 3.7, we ran out of time so it may still be incomplete. Itā€™s not off our radar, but know the problems werenā€™t limited to the .mo files. I hope that within the 3.8 time frame weā€™ll get it resolved but this project has shown me so many additional problems that it wouldnā€™t surprise me if we find more big issues.

1 Like

Thanks for reply. Will keep waiting :slight_smile:

BR, Temuri