Nutmeg i18n strings
This is issue is regard the strings of nutmeg.
Between 21.Dec and 22.May there was not syncing between TX and github; this PR cherry picks the first TX commit which occured after nutmeg cut.
The PR: openedx/edx-platform/pull/30733 is cherry picking transfiex bot commit (on 22 May) https://github.com/openedx/edx-platform/commit/26fa6c2b97e06fd7498749a386db87c84f264698 but however since there is a lag between Nutmeg cut (sometimes in April) and 22 May. sometests are failing. Which is expected given some strings are removed from the platform between nutmeg cut and 22 May.
So what would be the way to move forward?, how can we backport the strings without removing the others. (May be just adding add git add patches...etc)
@nedbat in latest BTR meeting suggested to open this issue as a strating point. Also is aware of the issue from @Carlos-Muniz Translation working group
This is the part which I did not understand at the last meeting. Let me try to explain what I understand after years of translating fr_CA for use on our Open edX instance.
The strings are originally harvested from the Open edX source and put into Transifex under the edx-platform project. As you can see in the next image, the strings do get to Transifex in order to be translated.
[image: Capture d’écran, le 2022-07-21 à 11.09.48.png]
I believe what Ghassan is referring to might be the files that need to be created as part of the Open edX Releases project.
[image: Capture d’écran, le 2022-07-21 à 11.11.44.png] As you can see there are no release-maple and release-maple-js or even release-nutmeg and release-nutmeg-js created. Those files are normally the concatenation of the different po files created as part of the edx-platform project. This is what would normally end up in a release as django.po and djangojs.po but it wasn't done for maple or nutmeg.
I don't have a problem on my side because at release time I always download the po files from the edx-platform and create myself the django.po and djangojs.po files for fr-CA based on the instructions specified in config/locale/config.yaml (see the generate_merge instructions at the end).
Le jeu. 21 juill. 2022, à 05 h 21, Ghassan Maslamani < @.***> a écrit :
This is issue is regard the strings of nutmeg.
Between 21.Dec and 22.May there was not syncing between TX and github; this PR cherry picks the first TX commit which occured after nutmeg cut.
The PR: openedx/edx-platform/pull/30733 https://github.com/openedx/edx-platform/pull/30733 is cherry picking transfiex bot commit (on 22 May) @.*** https://github.com/openedx/edx-platform/commit/26fa6c2b97e06fd7498749a386db87c84f264698 but however since there is a lag between Nutmeg cut (sometimes in April) and 22 May. sometests are failing. We expected given some strings are removed from the platform between nutmeg cut and 22 May.
So what would be the way to move forward?, how can we backport the strings without removing the others. (May be just adding add git add patches ...etc)
@nedbat https://github.com/nedbat in latest BTR meeting suggested to open this issue as a strating point. Also is aware of the issue from @Carlos-Muniz https://github.com/Carlos-Muniz Translation working group
— Reply to this email directly, view it on GitHub https://github.com/openedx/build-test-release-wg/issues/193, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACD6PLMWJV76WXPUTVMN4VLVVEJATANCNFSM54G4VGOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
-- Salutations / Regards , Pierre Mailhot, M.Sc., CISSP 514-916-9558
@sambapete there are no images in your commetns, I guess because you sent from an email. Any way I think I know what you are referring to:
So regarding the release file that part the Open edX releases project in Transfiex; what I understood from @nedbat in the last meeting, is that those files are there because in case there was a change in strings in an open release branch they would be used to make translator translated the new strings (for the already deployed open release not the master) Also qouting Ned, there hasn't been a case so far in which those were used. But there meant to be there just in case.
⚠️ Please anyone correct if I am wrong I am speculating here:
The translation is as following:
- Developer change code, thus could add, delete strings or both.
- The bot on frequenct basis would push updates raw strings to TX. (Again this means that for particualr resource it might has new strigns or deleted old unsed strings)
- Translator logs in to TX and translate those strings.
- The bot on frequent basis would downlad the new strings to github (here we have two steps)
- It would translate strings of each resources.
- It would merge rescourese into two disticnt file: django.po and djangojs.po per lanaguge. which are saved in
confe/locale/lang_code/LC_MESSAGES/.
- When a release occuar the files where last synced step 4 at the time of release will be pushed back TX (This again as what I understood from Ned, is to create a snapshot of string files so that we can update them just in case). That being said you can either use files open-release project (assuming there were pushed) OR files which are saved in
confe/locale/lang_code/LC_MESSAGES/They should be the same just the name is different i.e django.po lilac.po lilacjs.po ref: https://openedx.atlassian.net/wiki/spaces/COMM/pages/19662426/Process+to+Create+an+Open+edX+Release#Translations
Now Let's go back to our issue:
The thing what happend with TX is that step 4 above was not happening. And when branch was cut, there was lag for about 3 months. Now it doesn't if step 5 was successful or not, because it will push from release branch anyway, and the realse branch is already lagged.
Yes @ghassanmas this is exactly my understanding too.
I am not certain if the django.po and djangojs.po per language are updated on a regular basis. If they are, it would only apply to master. And even then, master changes so often it would mean regular updates possibly multiple times a day (I could be wrong) and not necessarily in sync with the code in master (I could also be wrong).
I am convinced the de facto languages files at all time are the .po files created in Transifex. Now, how often are they assembled to create the django.po and djangojs.po file in master is a different story. I don't know.
I am not certain if the django.po and djangojs.po per language are updated on a regular basis. If they are, it would only apply to master. And even then, master changes so often it would mean regular updates possibly multiple times a day (I could be wrong) and not necessarily in sync with the code in master (I could also be wrong).
Yes exactly there are only updated for the master. And not for release brnach. However the issue is when the release branch nutmeg were cut. The syncing wasn't happening to the master before the branch were cut
See this screenshot below:

Notice the lag, the branch cut oocured in between: Dec 26 - 13th May. It happened in April; this means the nutmeg branch has translation of Dec 26
openedx/edx-platform#30733 Needs to be reviewed
Closing as stale.