On 7/7/20 4:53 PM, Pino Toscano wrote: > This patch series improve the handling of translations. > > Split the current virt-manager catalog in two: > - a virt-manager one, containing only the messages for the GUI; its > translations are still build and installed as usual > - a virt-manager-meta one, containing only the messages in .in files > (e.g. the appdata and the desktop files); its translations are used to > create the translated versions of the files, and not installed > > To make sure the translations are updated in Weblate, commit the two > catalogs in the repository. > > This also extracts the virt-manager-meta translations out of > virt-manager, to make sure nothing is lost. > > Changes from v1: > - fix issue in the Python sources extraction; regenerate the catalog > accordingly > Thanks for the patches. I haven't see this meta-po pattern before. Is it used elsewhere? Does weblate handle this multi .pot/.po workflow? The benefit is that less translations are installed? You mention dropping some intltool usage here but a few uses remain. I've read that modern gettext can fully replace intltool. Do you have any ideas about the dropping the other usage? One small comment, I haven't done a full review: glob.glob recursive=True is python 3.5+ but technically we are 3.4+. I think Pathlib recursive glob is 3.4+ - Cole > Pino Toscano (5): > setup: split listing of .in sources for POTFILES > setup: add a extract_messages command > setup: refactor build_i18n > Commit the translation catalogs > Split virt-manager-meta translations > > .gitignore | 1 - > meta-po/as.po | 57 + > meta-po/bg.po | 56 + > meta-po/bn_IN.po | 58 + > meta-po/bs.po | 56 + > meta-po/ca.po | 73 + > meta-po/cmn.po | 52 + > meta-po/cs.po | 68 + > meta-po/da.po | 57 + > meta-po/de.po | 71 + > meta-po/en_GB.po | 63 + > meta-po/es.po | 81 + > meta-po/fi.po | 63 + > meta-po/fr.po | 81 + > meta-po/gu.po | 60 + > meta-po/hi.po | 60 + > meta-po/hr.po | 56 + > meta-po/hu.po | 71 + > meta-po/it.po | 65 + > meta-po/ja.po | 75 + > meta-po/kn.po | 62 + > meta-po/ko.po | 58 + > meta-po/ml.po | 59 + > meta-po/mr.po | 59 + > meta-po/ms.po | 55 + > meta-po/nl.po | 59 + > meta-po/or.po | 59 + > meta-po/pa.po | 61 + > meta-po/pl.po | 70 + > meta-po/pt.po | 63 + > meta-po/pt_BR.po | 72 + > meta-po/ro.po | 57 + > meta-po/ru.po | 67 + > meta-po/sk.po | 60 + > meta-po/sr.po | 59 + > meta-po/sr@xxxxxxxx | 57 + > meta-po/sv.po | 67 + > meta-po/ta.po | 61 + > meta-po/te.po | 59 + > meta-po/tr.po | 63 + > meta-po/uk.po | 70 + > meta-po/virt-manager-meta.pot | 51 + > meta-po/zh_CN.po | 69 + > meta-po/zh_TW.po | 66 + > po/virt-manager.pot | 6332 +++++++++++++++++++++++++++++++++ > setup.py | 117 +- > 46 files changed, 9111 insertions(+), 45 deletions(-) > create mode 100644 meta-po/as.po > create mode 100644 meta-po/bg.po > create mode 100644 meta-po/bn_IN.po > create mode 100644 meta-po/bs.po > create mode 100644 meta-po/ca.po > create mode 100644 meta-po/cmn.po > create mode 100644 meta-po/cs.po > create mode 100644 meta-po/da.po > create mode 100644 meta-po/de.po > create mode 100644 meta-po/en_GB.po > create mode 100644 meta-po/es.po > create mode 100644 meta-po/fi.po > create mode 100644 meta-po/fr.po > create mode 100644 meta-po/gu.po > create mode 100644 meta-po/hi.po > create mode 100644 meta-po/hr.po > create mode 100644 meta-po/hu.po > create mode 100644 meta-po/it.po > create mode 100644 meta-po/ja.po > create mode 100644 meta-po/kn.po > create mode 100644 meta-po/ko.po > create mode 100644 meta-po/ml.po > create mode 100644 meta-po/mr.po > create mode 100644 meta-po/ms.po > create mode 100644 meta-po/nl.po > create mode 100644 meta-po/or.po > create mode 100644 meta-po/pa.po > create mode 100644 meta-po/pl.po > create mode 100644 meta-po/pt.po > create mode 100644 meta-po/pt_BR.po > create mode 100644 meta-po/ro.po > create mode 100644 meta-po/ru.po > create mode 100644 meta-po/sk.po > create mode 100644 meta-po/sr.po > create mode 100644 meta-po/sr@xxxxxxxx > create mode 100644 meta-po/sv.po > create mode 100644 meta-po/ta.po > create mode 100644 meta-po/te.po > create mode 100644 meta-po/tr.po > create mode 100644 meta-po/uk.po > create mode 100644 meta-po/virt-manager-meta.pot > create mode 100644 meta-po/zh_CN.po > create mode 100644 meta-po/zh_TW.po > create mode 100644 po/virt-manager.pot > - Cole