From ac65d03658d5bdbd2febacbeb653d65e66d89e8a Mon Sep 17 00:00:00 2001 From: Johan Cwiklinski Date: Sun, 27 Sep 2026 22:13:09 +0200 Subject: [PATCH] Build MO files instead of versioning them --- .gitignore | 3 +++ bin/release | 9 +++++++++ lang/Makefile | 16 +--------------- lang/en_US/LC_MESSAGES/fullcard.mo | Bin 669 -> 0 bytes lang/fr_FR.utf8/LC_MESSAGES/fullcard.mo | Bin 756 -> 0 bytes 5 files changed, 13 insertions(+), 15 deletions(-) delete mode 100644 lang/en_US/LC_MESSAGES/fullcard.mo delete mode 100644 lang/fr_FR.utf8/LC_MESSAGES/fullcard.mo diff --git a/.gitignore b/.gitignore index a8db417..6dfc75f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ *.vimentry .vimfiles.* quick_gen_project_*_autogen.sh + +# compiled translations, built by bin/console galette:compile-locales +lang/*/LC_MESSAGES/*.mo diff --git a/bin/release b/bin/release index 7298c9f..68d0459 100755 --- a/bin/release +++ b/bin/release @@ -399,6 +399,15 @@ def add_libs(rel_name, galette_archive): galette.extractall(path=src_dir) galette.close() + # compile translations: MO files are not versioned + lang_dir = os.path.join(src_dir, rel_name, 'lang') + for pot in fnmatch.filter(os.listdir(lang_dir), '*.pot'): + domain = pot[:-len('.pot')] + for po in fnmatch.filter(os.listdir(lang_dir), '%s_*.po' % domain): + mo_dir = os.path.join(lang_dir, po[len(domain) + 1:-len('.po')], 'LC_MESSAGES') + os.makedirs(mo_dir, exist_ok=True) + run('msgfmt --check -o "%s" "%s"' % (os.path.join(mo_dir, domain + '.mo'), os.path.join(lang_dir, po))) + plugin_dir = os.path.join(src_dir, rel_name) # development only, nothing a Galette installation needs diff --git a/lang/Makefile b/lang/Makefile index 9d8a4a9..95f0a42 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -23,21 +23,7 @@ po : done mo : - @echo "Generating MO files:" - @for l in ${LANGUAGES}; do \ - for d in ${DOMAINS}; do \ - mkdir -p ${INSTALLDIR}/$${l}/LC_MESSAGES; \ - echo " formatting ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo."; \ - msgfmt $${d}_$${l}.po -o ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo.new; \ - if diff -qI 'PO-Revision-Date:.*' ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo.new ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo > /dev/null; then \ - echo " $${d}.mo NOT updated."; \ - rm ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo.new; \ - else \ - echo " $${d}.mo UPDATED."; \ - mv ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo.new ${INSTALLDIR}/$${l}/LC_MESSAGES/$${d}.mo; \ - fi; \ - done \ - done + cd ../../../../ && bin/console galette:compile-locales plugin-fullcard extract : ${PHP_SOURCES} Makefile xgettext ${PHP_SOURCES} --keyword=_T:1,2t --keyword=__:1,2t --keyword=_Tn:1,2,4t --keyword=_Tx:1c,2,3t --keyword=_Tnx:1c,2,3,5t -L PHP --from-code=UTF-8 --add-comments=TRANS --force-po -o fullcard.pot; diff --git a/lang/en_US/LC_MESSAGES/fullcard.mo b/lang/en_US/LC_MESSAGES/fullcard.mo deleted file mode 100644 index 5187954fe95c7c7fe247c2964c52a0a61003f11c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmchT&2G~`6om&UKQg-t7D%YNJCM+{u&Yc!ohCzSVaLI7D_}Q?Z(V~sj>Z#2-+?8( z3oLjEc5HY89)dGPkn#c?>C^R$?k6A3kIjuw0=W+Ef)d;WA3(@wa0Pq;x4>6$4SWNe z;5)bveu5j|_9Y?ifGrTb-OInd0cP-CURy&zOwlx#1;1;8BS+{M(<`kC zndNe%=pc`?Q<|tu(?Dk`N%z!fROs34DOPR0GBwMR z&1p=jnv4%alR=v9was?t>h%s9WJ#viwI6LijE0@{Z1KCZCHi=N?{}81Y3yTKoEX=$ he=Hj`Beq1=)%f9f$^@_3ij>CgwJ?}|_?-S`Y((j~X zna>g43qhsR2yZSC7yneYJg_~~XoW`!{S(*|6?%`XBl=i5*2PgD?TUlJq^cknRfP&Thw_8>qCiL#SP7+$u}vf8CxuxQyAE&yWibij2_qO(T>p`HBE3b zrV%|J`?YZ;lx{*^3hU6f9%OCaSoDQS2Wa`O&W%*MNTJbJK6=D||NZa@J%dttxJ&o< zs)-d9ZyP&uDd_P$b*-cczmBa{4I2>OZbqyv$TNFKdz?-6Y-(py7z=y4$k{8eo=(C} g9c!z+M34y8ijXDs(kHME{&$7{>@&EZkP+v;pEYZ~hyVZp