[GRASS-git] [OSGeo/grass] c0958a: CI(i18n): Create a workflow to update and extract ...
Edouard Choinière
noreply at github.com
Fri May 23 12:21:27 PDT 2025
Branch: refs/heads/main
Home: https://github.com/OSGeo/grass
Commit: c0958a4f6edc66c7ec47e95b91ae4fb4148c1869
https://github.com/OSGeo/grass/commit/c0958a4f6edc66c7ec47e95b91ae4fb4148c1869
Author: Edouard Choinière <27212526+echoix at users.noreply.github.com>
Date: 2025-05-23 (Fri, 23 May 2025)
Changed paths:
M .github/workflows/periodic_update.yml
M .github/workflows/ubuntu.yml
M locale/Makefile
M locale/po/grasslibs_ar.po
M locale/po/grasslibs_bn.po
M locale/po/grasslibs_cs.po
M locale/po/grasslibs_de.po
M locale/po/grasslibs_el.po
M locale/po/grasslibs_es.po
M locale/po/grasslibs_fi.po
M locale/po/grasslibs_fr.po
M locale/po/grasslibs_hu.po
M locale/po/grasslibs_id_ID.po
M locale/po/grasslibs_it.po
M locale/po/grasslibs_ja.po
M locale/po/grasslibs_ko.po
M locale/po/grasslibs_lv.po
M locale/po/grasslibs_ml.po
M locale/po/grasslibs_pl.po
M locale/po/grasslibs_pt.po
M locale/po/grasslibs_pt_BR.po
M locale/po/grasslibs_ro.po
M locale/po/grasslibs_ru.po
M locale/po/grasslibs_si.po
M locale/po/grasslibs_sl.po
M locale/po/grasslibs_ta.po
M locale/po/grasslibs_th.po
M locale/po/grasslibs_tr.po
M locale/po/grasslibs_uk.po
M locale/po/grasslibs_vi.po
M locale/po/grasslibs_zh.po
M locale/po/grasslibs_zh_CN.po
M locale/po/grassmods_ar.po
M locale/po/grassmods_bn.po
M locale/po/grassmods_cs.po
M locale/po/grassmods_de.po
M locale/po/grassmods_el.po
M locale/po/grassmods_es.po
M locale/po/grassmods_fi.po
M locale/po/grassmods_fr.po
M locale/po/grassmods_hu.po
M locale/po/grassmods_id_ID.po
M locale/po/grassmods_it.po
M locale/po/grassmods_ja.po
M locale/po/grassmods_ko.po
M locale/po/grassmods_lv.po
M locale/po/grassmods_ml.po
M locale/po/grassmods_pl.po
M locale/po/grassmods_pt.po
M locale/po/grassmods_pt_BR.po
M locale/po/grassmods_ro.po
M locale/po/grassmods_ru.po
M locale/po/grassmods_si.po
M locale/po/grassmods_sl.po
M locale/po/grassmods_ta.po
M locale/po/grassmods_th.po
M locale/po/grassmods_tr.po
M locale/po/grassmods_uk.po
M locale/po/grassmods_vi.po
M locale/po/grassmods_zh.po
M locale/po/grassmods_zh_CN.po
M locale/po/grasswxpy_ar.po
M locale/po/grasswxpy_bn.po
M locale/po/grasswxpy_cs.po
M locale/po/grasswxpy_de.po
M locale/po/grasswxpy_el.po
M locale/po/grasswxpy_es.po
M locale/po/grasswxpy_fi.po
M locale/po/grasswxpy_fr.po
M locale/po/grasswxpy_hu.po
M locale/po/grasswxpy_id_ID.po
M locale/po/grasswxpy_it.po
M locale/po/grasswxpy_ja.po
M locale/po/grasswxpy_ko.po
M locale/po/grasswxpy_lv.po
M locale/po/grasswxpy_ml.po
M locale/po/grasswxpy_pl.po
M locale/po/grasswxpy_pt.po
M locale/po/grasswxpy_pt_BR.po
M locale/po/grasswxpy_ro.po
M locale/po/grasswxpy_ru.po
M locale/po/grasswxpy_si.po
M locale/po/grasswxpy_sl.po
M locale/po/grasswxpy_ta.po
M locale/po/grasswxpy_th.po
M locale/po/grasswxpy_tr.po
M locale/po/grasswxpy_uk.po
M locale/po/grasswxpy_vi.po
M locale/po/grasswxpy_zh.po
M locale/po/grasswxpy_zh_CN.po
M locale/templates/grasslibs.pot
M locale/templates/grassmods.pot
M locale/templates/grasswxpy.pot
Log Message:
-----------
CI(i18n): Create a workflow to update and extract strings to translate (#5752)
This PR adds a job in our periodic update workflow. For now, it runs once a month, plus can be triggered manually.
In order to better analyze the changes that are created with subsequent updates, I had to run some processing steps to the existing template and translation files with new flags, before running the step that actually collects new strings and line number locations. These file changes were remade on CI-only (not my machine), and with different configurations, to make sure nothing else was changing. The flags added/changed in the Makefile were done with consultation of Maris, the gettext family of tools docs, Weblate docs and guides, and other established projects translation setups.
The updating workflow and the PRs it creates are similar to what we use for keeping our config.sub and config.guess files updated. They have been tested successfully on my fork, in the situations with changes to do and no changes to apply. The logic uses the `--ignore-matching-lines` argument of git diff to ignore the lines that always change if the version-control modification time of the input files use change, which will always do in our case, even if no actual strings have changed. This limits useless PRs, and was tested in both cases. Other established projects use a similar approach, with plain diff instead of git diff, in bash or perl scripts. This implementation is adapted to our reality.
To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications
More information about the grass-commit
mailing list