We are migrating to Weblate (the Fedora instance, in particular) for translations instead of Zanata. Adapt our tooling a bit to the different workflow: - Weblate takes care of updating the po files whenever a new translation catalog is available, so stop doing that on our own: this meant also tweaking the po4a usage for POD documentations, resulting in simpler rules (IMHO) - ensure that the references to sources files in translation catalogs are relative to the top-level directory, so Weblate (and users too, actually) can properly locate the sources - regenerate the catalogs - drop references to Zanata Pino Toscano (9): po: turn language list into LINGUAS file po: remove rules for pot/po update po-docs: add missing dependencies for guestfish.1 podfiles: add missing documentation po-docs: split pot and po handling po: fix references to OCaml sources po-docs: fix references to sources po/po-docs: update catalog templates Remove references to Zanata .gitignore | 1 - Makefile.am | 4 +- docs/guestfs-hacking.pod | 14 - m4/guestfs-progs.m4 | 5 +- po-docs/Makefile.am | 50 +- po-docs/language.mk | 31 +- po-docs/libguestfs-docs.pot | 37211 +++++++++++++++++----------------- po-docs/podfiles | 181 +- po/LINGUAS | 22 + po/Makefile.am | 24 +- po/libguestfs.pot | 1597 +- subdir-rules.mk | 3 + zanata-pull.sh | 30 - zanata.xml | 8 - 14 files changed, 19456 insertions(+), 19725 deletions(-) create mode 100644 po/LINGUAS delete mode 100755 zanata-pull.sh delete mode 100644 zanata.xml -- 2.26.2
Pino Toscano
2020-Aug-12 13:50 UTC
[Libguestfs] [PATCH 1/9] po: turn language list into LINGUAS file
Use a LINGUAS file with the list of available translations instead of defining them in a make variable. This way Weblate will be able to update the list using an available addon. Signed-off-by: Pino Toscano <ptoscano@redhat.com> --- po/LINGUAS | 22 ++++++++++++++++++++++ po/Makefile.am | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 po/LINGUAS diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 000000000..696044892 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,22 @@ +cs +de +en_GB +es +eu +fr +gu +hi +ja +kn +ml +mr +nl +or +pa +pl +ru +ta +te +tg +uk +zh_CN diff --git a/po/Makefile.am b/po/Makefile.am index ea525dc6c..8c1d6dd60 100644 --- a/po/Makefile.am +++ b/po/Makefile.am @@ -23,7 +23,7 @@ MSGID_BUGS_ADDRESS = bugzilla.redhat.com/enter_bug.cgi?component=libgues # Languages. # Don't use LINGUAS (uppercase) as Gentoo defines it (RHBZ#804464). -linguas := cs de en_GB es eu fr gu hi ja kn ml mr nl or pa pl ru ta te tg uk zh_CN +linguas := $(shell cat $(srcdir)/LINGUAS) POTFILES := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES) POTFILES_PL := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES-pl) @@ -32,6 +32,7 @@ POFILES := $(linguas:%=%.po) GMOFILES := $(linguas:%=%.gmo) EXTRA_DIST = \ + LINGUAS \ POTFILES POTFILES-pl POTFILES-ml \ $(DOMAIN).pot \ $(POFILES) \ -- 2.26.2
Pino Toscano
2020-Aug-12 13:50 UTC
[Libguestfs] [PATCH 2/9] po: remove rules for pot/po update
Weblate will handle the update of the po files from the translation catalog, so avoid stomping on its feet by doing the same. The translation catalog will be regenerated manually periodically. --- po/Makefile.am | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/po/Makefile.am b/po/Makefile.am index 8c1d6dd60..2c7eeb5da 100644 --- a/po/Makefile.am +++ b/po/Makefile.am @@ -40,17 +40,6 @@ EXTRA_DIST = \ if HAVE_GNU_GETTEXT -dist-hook: - $(MAKE) update-po - cp *.po *.gmo $(distdir)/ - -update-po: - $(MAKE) $(DOMAIN).pot - $(MAKE) $(POFILES) - $(MAKE) update-gmo - -update-gmo: Makefile $(GMOFILES) - XGETTEXT_ARGS = \ --default-domain=$(DOMAIN) \ --from-code=utf-8 \ @@ -87,9 +76,6 @@ endif --files-from=$(abs_srcdir)/POTFILES-pl mv $@-t $@ -%.po: $(DOMAIN).pot - cd $(srcdir) && $(MSGMERGE) -N --update $@ $(DOMAIN).pot - .po.gmo: rm -f $@ $@-t $(MSGFMT) -c -o $@-t $(srcdir)/$< @@ -109,9 +95,4 @@ install-data-hook: $(GMOFILES) .PRECIOUS: $(DOMAIN).pot $(POFILES) -else - -# If no GNU gettext, 'make update-po' is a dummy rule. -update-po: - endif -- 2.26.2
Pino Toscano
2020-Aug-12 13:50 UTC
[Libguestfs] [PATCH 3/9] po-docs: add missing dependencies for guestfish.1
The guestfish man page uses also additional POD snippets, so list them as dependencies to make sure they are up-to-date. This does not change the behaviour at the moment, however it will matter when each traslated POD file will be generated on its own. --- po-docs/language.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po-docs/language.mk b/po-docs/language.mk index 108cf8c4c..ff25a0719 100644 --- a/po-docs/language.mk +++ b/po-docs/language.mk @@ -126,7 +126,7 @@ guestfs.3: guestfs.pod guestfs-actions.pod guestfs-availability.pod guestfs-stru # generated in any translated manual. To fix this we need to expand # out all the %.1 pattern rules below. -guestfish.1: guestfish.pod guestfish-actions.pod guestfish-commands.pod guestfish-prepopts.pod +guestfish.1: guestfish.pod guestfish-actions.pod guestfish-commands.pod guestfish-prepopts.pod blocksize-option.pod key-option.pod keys-from-stdin-option.pod $(PODWRAPPER) \ --no-strict-checks \ --man $@ \ -- 2.26.2
Pino Toscano
2020-Aug-12 13:51 UTC
[Libguestfs] [PATCH 4/9] podfiles: add missing documentation
--- po-docs/podfiles | 1 + 1 file changed, 1 insertion(+) diff --git a/po-docs/podfiles b/po-docs/podfiles index 0e3cbf307..b788b57d7 100644 --- a/po-docs/podfiles +++ b/po-docs/podfiles @@ -12,6 +12,7 @@ ../common/mlcustomize/customize-synopsis.pod ../common/options/blocksize-option.pod ../common/options/key-option.pod +../common/options/keys-from-stdin-option.pod ../customize/virt-customize.pod ../daemon/guestfsd.pod ../df/virt-df.pod -- 2.26.2
Pino Toscano
2020-Aug-12 13:51 UTC
[Libguestfs] [PATCH 5/9] po-docs: split pot and po handling
With the Weblate adoption, we let it update the po files from the catalog template. The po4a behaviour of extracting the template, merging the existing translations, and creating the translated PODs at once is problematic. Hence, split the extraction and the translated POD generation in two. Use po4a-gettextize to extract the catalog template only, not doing it anymore automatically at each build. There is no more need for a po4a.conf file. Use po4a-translate to create translated PODs from the po files, keeping the fixup of the generated files (to avoid spurious =encoding, etc). Add a silent rule to hide the po4a-translate command lines by default. These changes also allow us to get rid of the POD existance checks with associated error message pointing to the update-po rule. Now each translated POD file is generated because of make dependency, and it depends only on its po file. Signed-off-by: Pino Toscano <ptoscano@redhat.com> --- .gitignore | 1 - m4/guestfs-progs.m4 | 5 +++-- po-docs/Makefile.am | 37 ++++++------------------------------- po-docs/language.mk | 29 +++++++++++++++-------------- subdir-rules.mk | 3 +++ 5 files changed, 27 insertions(+), 48 deletions(-) diff --git a/.gitignore b/.gitignore index cdc90453c..ab4cd0667 100644 --- a/.gitignore +++ b/.gitignore @@ -444,7 +444,6 @@ Makefile.in /po-docs/*/*.3 /po-docs/*/*.5 /po-docs/*/*.8 -/po-docs/po4a.conf /po-docs/*/*.pod /podwrapper.1 /podwrapper.pl diff --git a/m4/guestfs-progs.m4 b/m4/guestfs-progs.m4 index c04ab8813..bf1f83c9d 100644 --- a/m4/guestfs-progs.m4 +++ b/m4/guestfs-progs.m4 @@ -59,8 +59,9 @@ AC_CHECK_PROG([XMLLINT],[xmllint],[xmllint],[no]) AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"]) dnl po4a for translating man pages and POD files (optional). -AC_CHECK_PROG([PO4A],[po4a],[po4a],[no]) -AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"]) +AC_CHECK_PROG([PO4A_GETTEXTIZE],[po4a-gettextize],[po4a-gettextize],[no]) +AC_CHECK_PROG([PO4A_TRANSLATE],[po4a-translate],[po4a-translate],[no]) +AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A_GETTEXTIZE" != "xno" && test "x$PO4A_TRANSLATE" != "xno"]) dnl Check for db_dump, db_load (optional). GUESTFS_FIND_DB_TOOL([DB_DUMP], [dump]) diff --git a/po-docs/Makefile.am b/po-docs/Makefile.am index 24d1a0338..aaffa0520 100644 --- a/po-docs/Makefile.am +++ b/po-docs/Makefile.am @@ -35,47 +35,22 @@ EXTRA_DIST = \ $(linguas_not_translated:%=%.po) \ podfiles -CLEANFILES += po4a.conf - # Build the final man pages from the translated POD files. Each # language directory contains a Makefile.am that we need to keep up to # date (note each $lang/Makefile.am should be identical). # XXX Is there a better way? SUBDIRS = $(linguas) -update-po: libguestfs-docs.pot - -# Note: po4a puts the following junk at the top of every POD file it -# generates: -# - a warning -# - a probably bogus =encoding line -# Remove both. -# XXX Fix po4a so it doesn't do this. -libguestfs-docs.pot: po4a.conf - $(PO4A) \ - -M utf-8 -L utf-8 -A utf-8 \ - -v \ - -k 0 \ +libguestfs-docs.pot: + $(PO4A_GETTEXTIZE) \ + -f pod \ + -M utf-8 -L utf-8 \ --package-name $(PACKAGE_NAME) \ --package-version $(PACKAGE_VERSION) \ --msgid-bugs-address libguestfs@redhat.com \ --copyright-holder "Red Hat Inc." \ - po4a.conf - for f in `cd $(srcdir); find $(linguas) -name '*.pod'`; do \ - $(SED) '0,/^=encoding/d' < $$f > $$f.new; \ - mv $$f.new $$f; \ - done - -po4a.conf: podfiles - rm -f $@-t - echo "[po_directory] $(srcdir)" >> $@-t - echo >> $@-t - for f in `cat podfiles`; do \ - out=`basename -- $$f .pod`.pod; \ - echo "[type: pod] $$f \$$lang:\$$lang/$$out" >> $@-t; \ - echo >> $@-t; \ - done; - mv $@-t $@ + -p $@ \ + $(patsubst %,-m %,$(shell cat $(srcdir)/podfiles)) podfiles: Makefile rm -f $@ $@-t diff --git a/po-docs/language.mk b/po-docs/language.mk index ff25a0719..354facafe 100644 --- a/po-docs/language.mk +++ b/po-docs/language.mk @@ -22,7 +22,7 @@ include $(top_srcdir)/subdir-rules.mk LINGUA = $(shell basename -- `pwd`) # Before 1.23.23, the old Perl tools were called *.pl. -CLEANFILES += *.pl +CLEANFILES += *.pl *.pod MANPAGES = \ guestfish.1 \ @@ -195,19 +195,20 @@ virt-p2v.1: virt-p2v.pod virt-p2v-kernel-config.pod --section 8 \ $< -# If a POD file is missing, the user needs to run make update-po. -# This cannot be done automatically by make because it would be unsafe -# to run po4a or update podfiles potentially in parallel. Therefore -# tell the user what to do and stop. -$(podfiles): - @if ! test -f $@; then \ - echo "***"; \ - echo "*** You need to run the following commands:"; \ - echo "*** rm po-docs/podfiles; make -C po-docs update-po"; \ - echo "*** After that, rerun make."; \ - echo "***"; \ - exit 1; \ - fi +# Note: po4a puts the following junk at the top of every POD file it +# generates: +# - a warning +# - a probably bogus =encoding line +# Remove both. +# XXX Fix po4a so it doesn't do this. +%.pod: $(srcdir)/../$(LINGUA).po + $(guestfs_am_v_po4a_translate)$(PO4A_TRANSLATE) \ + -f pod \ + -M utf-8 -L utf-8 \ + -k 0 \ + -m $(srcdir)/../$(shell grep '/$(notdir $@)$$' $(top_srcdir)/po-docs/podfiles) \ + -p $< \ + | $(SED) '0,/^=encoding/d' > $@ # XXX Can automake do this properly? install-data-hook: diff --git a/subdir-rules.mk b/subdir-rules.mk index 8532fb23a..40941a9ab 100644 --- a/subdir-rules.mk +++ b/subdir-rules.mk @@ -78,6 +78,9 @@ guestfs_am_v_podwrapper_0 = @echo " POD " $@; guestfs_am_v_jar = $(guestfs_am_v_jar_@AM_V@) guestfs_am_v_jar_ = $(guestfs_am_v_jar_@AM_DEFAULT_V@) guestfs_am_v_jar_0 = @echo " JAR " $@; +guestfs_am_v_po4a_translate = $(guestfs_am_v_po4a_translate_@AM_V@) +guestfs_am_v_po4a_translate_ = $(guestfs_am_v_po4a_translate_@AM_DEFAULT_V@) +guestfs_am_v_po4a_translate_0 = @echo " PO4A-T " $@; %.cmi: %.mli $(guestfs_am_v_ocamlcmi)$(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@ -- 2.26.2
Pino Toscano
2020-Aug-12 13:51 UTC
[Libguestfs] [PATCH 6/9] po: fix references to OCaml sources
Start the message extraction from the toplevel source directory, so the file references are relative to that, instead of relative to this po subdirectory. --- po/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/Makefile.am b/po/Makefile.am index 2c7eeb5da..08210c681 100644 --- a/po/Makefile.am +++ b/po/Makefile.am @@ -65,7 +65,7 @@ $(DOMAIN).pot: Makefile POTFILES $(POTFILES) POTFILES-pl $(POTFILES_PL) POTFILES rm -f $@-t touch $@-t if HAVE_OCAML_GETTEXT - $(OCAML_GETTEXT) --action extract --extract-pot $@-t $(POTFILES_ML) + cd $(top_srcdir) && $(OCAML_GETTEXT) --action extract --extract-pot $(abs_srcdir)/$@-t $(shell cat $(abs_srcdir)/POTFILES-ml) \ $(FIX_CHARSET) $@-t endif -- 2.26.2
Pino Toscano
2020-Aug-12 13:51 UTC
[Libguestfs] [PATCH 7/9] po-docs: fix references to sources
Start the message extraction from the toplevel source directory, so the file references are relative to that, instead of relative to this po-docs subdirectory. Also update/regenerate podfiles accordingly. --- po-docs/Makefile.am | 17 +++-- po-docs/language.mk | 2 +- po-docs/podfiles | 182 ++++++++++++++++++++++---------------------- 3 files changed, 101 insertions(+), 100 deletions(-) diff --git a/po-docs/Makefile.am b/po-docs/Makefile.am index aaffa0520..028fbbcea 100644 --- a/po-docs/Makefile.am +++ b/po-docs/Makefile.am @@ -42,24 +42,25 @@ EXTRA_DIST = \ SUBDIRS = $(linguas) libguestfs-docs.pot: - $(PO4A_GETTEXTIZE) \ + cd $(top_srcdir) && $(PO4A_GETTEXTIZE) \ -f pod \ -M utf-8 -L utf-8 \ --package-name $(PACKAGE_NAME) \ --package-version $(PACKAGE_VERSION) \ --msgid-bugs-address libguestfs@redhat.com \ --copyright-holder "Red Hat Inc." \ - -p $@ \ + -p $(abs_srcdir)/$@ \ $(patsubst %,-m %,$(shell cat $(srcdir)/podfiles)) podfiles: Makefile rm -f $@ $@-t - find $(top_srcdir) -name '*.pod' | \ - grep -v /debian/ | \ - grep -v /libguestfs-1 | \ - grep -v /po-docs/ | \ + cd $(top_srcdir) && find . -name '*.pod' -printf '%P\n'| \ + grep -v ^debian/ | \ + grep -v ^libguestfs-1 | \ + grep -v ^po-docs/ | \ + grep -v ^stamp- | \ grep -v /stamp- \ - > $@-t - for f in `cat $(top_srcdir)/po/POTFILES-pl`; do echo $(top_srcdir)/$$f; done >> $@-t + > $(abs_srcdir)/$@-t + cat $(top_srcdir)/po/POTFILES-pl >> $@-t LC_ALL=C sort -o $@-t $@-t mv $@-t $@ diff --git a/po-docs/language.mk b/po-docs/language.mk index 354facafe..88d7d3431 100644 --- a/po-docs/language.mk +++ b/po-docs/language.mk @@ -206,7 +206,7 @@ virt-p2v.1: virt-p2v.pod virt-p2v-kernel-config.pod -f pod \ -M utf-8 -L utf-8 \ -k 0 \ - -m $(srcdir)/../$(shell grep '/$(notdir $@)$$' $(top_srcdir)/po-docs/podfiles) \ + -m $(top_srcdir)/$(shell grep '/$(notdir $@)$$' $(top_srcdir)/po-docs/podfiles) \ -p $< \ | $(SED) '0,/^=encoding/d' > $@ diff --git a/po-docs/podfiles b/po-docs/podfiles index b788b57d7..9bde01aab 100644 --- a/po-docs/podfiles +++ b/po-docs/podfiles @@ -1,91 +1,91 @@ -../align/virt-alignment-scan.pod -../appliance/libguestfs-make-fixed-appliance.pod -../builder/virt-builder-repository.pod -../builder/virt-builder.pod -../builder/virt-index-validate.pod -../cat/virt-cat.pod -../cat/virt-filesystems.pod -../cat/virt-log.pod -../cat/virt-ls.pod -../cat/virt-tail.pod -../common/mlcustomize/customize-options.pod -../common/mlcustomize/customize-synopsis.pod -../common/options/blocksize-option.pod -../common/options/key-option.pod -../common/options/keys-from-stdin-option.pod -../customize/virt-customize.pod -../daemon/guestfsd.pod -../df/virt-df.pod -../dib/virt-dib.pod -../diff/virt-diff.pod -../docs/guestfs-building.pod -../docs/guestfs-faq.pod -../docs/guestfs-hacking.pod -../docs/guestfs-internals.pod -../docs/guestfs-performance.pod -../docs/guestfs-recipes.pod -../docs/guestfs-release-notes-1.10.pod -../docs/guestfs-release-notes-1.12.pod -../docs/guestfs-release-notes-1.14.pod -../docs/guestfs-release-notes-1.16.pod -../docs/guestfs-release-notes-1.18.pod -../docs/guestfs-release-notes-1.20.pod -../docs/guestfs-release-notes-1.22.pod -../docs/guestfs-release-notes-1.24.pod -../docs/guestfs-release-notes-1.26.pod -../docs/guestfs-release-notes-1.28.pod -../docs/guestfs-release-notes-1.30.pod -../docs/guestfs-release-notes-1.32.pod -../docs/guestfs-release-notes-1.34.pod -../docs/guestfs-release-notes-1.36.pod -../docs/guestfs-release-notes-1.38.pod -../docs/guestfs-release-notes-1.4.pod -../docs/guestfs-release-notes-1.40.pod -../docs/guestfs-release-notes-1.42.pod -../docs/guestfs-release-notes-1.6.pod -../docs/guestfs-release-notes-1.8.pod -../docs/guestfs-release-notes-historical.pod -../docs/guestfs-security.pod -../docs/guestfs-testing.pod -../docs/internal-documentation.pod -../edit/virt-edit.pod -../erlang/examples/guestfs-erlang.pod -../examples/guestfs-examples.pod -../fish/guestfish-actions.pod -../fish/guestfish-commands.pod -../fish/guestfish-prepopts.pod -../fish/guestfish.pod -../fish/libguestfs-tools.conf.pod -../fish/virt-copy-in.pod -../fish/virt-copy-out.pod -../fish/virt-tar-in.pod -../fish/virt-tar-out.pod -../format/virt-format.pod -../fuse/guestmount.pod -../fuse/guestunmount.pod -../get-kernel/virt-get-kernel.pod -../gobject/guestfs-gobject.pod -../golang/examples/guestfs-golang.pod -../inspector/virt-inspector.pod -../java/examples/guestfs-java.pod -../lib/guestfs-actions.pod -../lib/guestfs-availability.pod -../lib/guestfs-structs.pod -../lib/guestfs.pod -../lua/examples/guestfs-lua.pod -../make-fs/virt-make-fs.pod -../ocaml/examples/guestfs-ocaml.pod -../perl/examples/guestfs-perl.pod -../python/examples/guestfs-python.pod -../rescue/virt-rescue.pod -../resize/virt-resize.pod -../ruby/examples/guestfs-ruby.pod -../sparsify/virt-sparsify.pod -../sysprep/sysprep-extra-options.pod -../sysprep/sysprep-operations.pod -../sysprep/virt-sysprep.pod -../test-tool/libguestfs-test-tool.pod -../tools/virt-list-filesystems -../tools/virt-list-partitions -../tools/virt-tar -../tools/virt-win-reg +align/virt-alignment-scan.pod +appliance/libguestfs-make-fixed-appliance.pod +builder/virt-builder-repository.pod +builder/virt-builder.pod +builder/virt-index-validate.pod +cat/virt-cat.pod +cat/virt-filesystems.pod +cat/virt-log.pod +cat/virt-ls.pod +cat/virt-tail.pod +common/mlcustomize/customize-options.pod +common/mlcustomize/customize-synopsis.pod +common/options/blocksize-option.pod +common/options/key-option.pod +common/options/keys-from-stdin-option.pod +customize/virt-customize.pod +daemon/guestfsd.pod +df/virt-df.pod +dib/virt-dib.pod +diff/virt-diff.pod +docs/guestfs-building.pod +docs/guestfs-faq.pod +docs/guestfs-hacking.pod +docs/guestfs-internals.pod +docs/guestfs-performance.pod +docs/guestfs-recipes.pod +docs/guestfs-release-notes-1.10.pod +docs/guestfs-release-notes-1.12.pod +docs/guestfs-release-notes-1.14.pod +docs/guestfs-release-notes-1.16.pod +docs/guestfs-release-notes-1.18.pod +docs/guestfs-release-notes-1.20.pod +docs/guestfs-release-notes-1.22.pod +docs/guestfs-release-notes-1.24.pod +docs/guestfs-release-notes-1.26.pod +docs/guestfs-release-notes-1.28.pod +docs/guestfs-release-notes-1.30.pod +docs/guestfs-release-notes-1.32.pod +docs/guestfs-release-notes-1.34.pod +docs/guestfs-release-notes-1.36.pod +docs/guestfs-release-notes-1.38.pod +docs/guestfs-release-notes-1.4.pod +docs/guestfs-release-notes-1.40.pod +docs/guestfs-release-notes-1.42.pod +docs/guestfs-release-notes-1.6.pod +docs/guestfs-release-notes-1.8.pod +docs/guestfs-release-notes-historical.pod +docs/guestfs-security.pod +docs/guestfs-testing.pod +docs/internal-documentation.pod +edit/virt-edit.pod +erlang/examples/guestfs-erlang.pod +examples/guestfs-examples.pod +fish/guestfish-actions.pod +fish/guestfish-commands.pod +fish/guestfish-prepopts.pod +fish/guestfish.pod +fish/libguestfs-tools.conf.pod +fish/virt-copy-in.pod +fish/virt-copy-out.pod +fish/virt-tar-in.pod +fish/virt-tar-out.pod +format/virt-format.pod +fuse/guestmount.pod +fuse/guestunmount.pod +get-kernel/virt-get-kernel.pod +gobject/guestfs-gobject.pod +golang/examples/guestfs-golang.pod +inspector/virt-inspector.pod +java/examples/guestfs-java.pod +lib/guestfs-actions.pod +lib/guestfs-availability.pod +lib/guestfs-structs.pod +lib/guestfs.pod +lua/examples/guestfs-lua.pod +make-fs/virt-make-fs.pod +ocaml/examples/guestfs-ocaml.pod +perl/examples/guestfs-perl.pod +python/examples/guestfs-python.pod +rescue/virt-rescue.pod +resize/virt-resize.pod +ruby/examples/guestfs-ruby.pod +sparsify/virt-sparsify.pod +sysprep/sysprep-extra-options.pod +sysprep/sysprep-operations.pod +sysprep/virt-sysprep.pod +test-tool/libguestfs-test-tool.pod +tools/virt-list-filesystems +tools/virt-list-partitions +tools/virt-tar +tools/virt-win-reg -- 2.26.2
Pino Toscano
2020-Aug-12 13:51 UTC
[Libguestfs] [PATCH 8/9] po/po-docs: update catalog templates
Regenerate the catalog templates according to the updated extraction rules (mostly fixed paths). --- This patch was greatly shortened for mailing list posting. Originally it was ~3.5M. po-docs/libguestfs-docs.pot | 37211 +++++++++++++++++----------------- po/libguestfs.pot | 1597 +- 2 files changed, 19304 insertions(+), 19504 deletions(-) diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index 5e693e5cf..8e33712fe 100644 --- a/po-docs/libguestfs-docs.pot +++ b/po-docs/libguestfs-docs.pot @@ -8,103 +8,88 @@ msgid "" msgstr "" "Project-Id-Version: libguestfs 1.43.1\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2020-07-06 15:46+0100\n" +"POT-Creation-Date: 2020-08-12 15:34+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: =head1 -#: ../align/virt-alignment-scan.pod:1 -#: ../appliance/libguestfs-make-fixed-appliance.pod:1 -#: ../builder/virt-builder-repository.pod:8 ../builder/virt-builder.pod:8 -#: ../builder/virt-index-validate.pod:1 ../cat/virt-cat.pod:1 -#: ../cat/virt-filesystems.pod:1 ../cat/virt-log.pod:1 ../cat/virt-ls.pod:1 -#: ../cat/virt-tail.pod:1 ../customize/virt-customize.pod:1 -#: ../daemon/guestfsd.pod:1 ../df/virt-df.pod:1 ../dib/virt-dib.pod:1 -#: ../diff/virt-diff.pod:1 ../docs/guestfs-building.pod:1 -#: ../docs/guestfs-faq.pod:1 ../docs/guestfs-hacking.pod:1 -#: ../docs/guestfs-internals.pod:1 ../docs/guestfs-performance.pod:1 -#: ../docs/guestfs-recipes.pod:8 ../docs/guestfs-release-notes-1.10.pod:1 -#: ../docs/guestfs-release-notes-1.12.pod:1 -#: ../docs/guestfs-release-notes-1.14.pod:1 -#: ../docs/guestfs-release-notes-1.16.pod:1 -#: ../docs/guestfs-release-notes-1.18.pod:1 -#: ../docs/guestfs-release-notes-1.20.pod:1 -#: ../docs/guestfs-release-notes-1.22.pod:1 -#: ../docs/guestfs-release-notes-1.24.pod:1 -#: ../docs/guestfs-release-notes-1.26.pod:1 -#: ../docs/guestfs-release-notes-1.28.pod:1 -#: ../docs/guestfs-release-notes-1.30.pod:1 -#: ../docs/guestfs-release-notes-1.32.pod:1 -#: ../docs/guestfs-release-notes-1.34.pod:1 -#: ../docs/guestfs-release-notes-1.36.pod:1 -#: ../docs/guestfs-release-notes-1.38.pod:1 -#: ../docs/guestfs-release-notes-1.4.pod:1 -#: ../docs/guestfs-release-notes-1.40.pod:1 -#: ../docs/guestfs-release-notes-1.42.pod:1 -#: ../docs/guestfs-release-notes-1.6.pod:1 -#: ../docs/guestfs-release-notes-1.8.pod:1 -#: ../docs/guestfs-release-notes-historical.pod:1 -#: ../docs/guestfs-security.pod:1 ../docs/guestfs-testing.pod:1 -#: ../edit/virt-edit.pod:1 ../erlang/examples/guestfs-erlang.pod:1 -#: ../examples/guestfs-examples.pod:1 ../fish/guestfish.pod:1 -#: ../fish/libguestfs-tools.conf.pod:1 ../fish/virt-copy-in.pod:1 -#: ../fish/virt-copy-out.pod:1 ../fish/virt-tar-in.pod:1 -#: ../fish/virt-tar-out.pod:1 ../format/virt-format.pod:1 -#: ../fuse/guestmount.pod:1 ../fuse/guestunmount.pod:1 -#: ../get-kernel/virt-get-kernel.pod:1 ../gobject/guestfs-gobject.pod:1 -#: ../golang/examples/guestfs-golang.pod:1 ../inspector/virt-inspector.pod:1 -#: ../java/examples/guestfs-java.pod:1 ../lib/guestfs.pod:1 -#: ../lua/examples/guestfs-lua.pod:1 ../make-fs/virt-make-fs.pod:1 -#: ../ocaml/examples/guestfs-ocaml.pod:1 ../perl/examples/guestfs-perl.pod:1 -#: ../python/examples/guestfs-python.pod:1 ../rescue/virt-rescue.pod:1 -#: ../resize/virt-resize.pod:1 ../ruby/examples/guestfs-ruby.pod:1 -#: ../sparsify/virt-sparsify.pod:1 ../sysprep/virt-sysprep.pod:1 -#: ../test-tool/libguestfs-test-tool.pod:1 ../tools/virt-list-filesystems:27 -#: ../tools/virt-list-partitions:27 ../tools/virt-tar:28 -#: ../tools/virt-win-reg:32 +#: align/virt-alignment-scan.pod:1 +#: appliance/libguestfs-make-fixed-appliance.pod:1 +#: builder/virt-builder-repository.pod:8 builder/virt-builder.pod:8 +#: builder/virt-index-validate.pod:1 cat/virt-cat.pod:1 +#: cat/virt-filesystems.pod:1 cat/virt-log.pod:1 cat/virt-ls.pod:1 +#: cat/virt-tail.pod:1 customize/virt-customize.pod:1 daemon/guestfsd.pod:1 +#: df/virt-df.pod:1 dib/virt-dib.pod:1 diff/virt-diff.pod:1 +#: docs/guestfs-building.pod:1 docs/guestfs-faq.pod:1 +#: docs/guestfs-hacking.pod:1 docs/guestfs-internals.pod:1 +#: docs/guestfs-performance.pod:1 docs/guestfs-recipes.pod:8 +#: docs/guestfs-release-notes-1.10.pod:1 docs/guestfs-release-notes-1.12.pod:1 +#: docs/guestfs-release-notes-1.14.pod:1 docs/guestfs-release-notes-1.16.pod:1 +#: docs/guestfs-release-notes-1.18.pod:1 docs/guestfs-release-notes-1.20.pod:1 +#: docs/guestfs-release-notes-1.22.pod:1 docs/guestfs-release-notes-1.24.pod:1 +#: docs/guestfs-release-notes-1.26.pod:1 docs/guestfs-release-notes-1.28.pod:1 +#: docs/guestfs-release-notes-1.30.pod:1 docs/guestfs-release-notes-1.32.pod:1 +#: docs/guestfs-release-notes-1.34.pod:1 docs/guestfs-release-notes-1.36.pod:1 +#: docs/guestfs-release-notes-1.38.pod:1 docs/guestfs-release-notes-1.4.pod:1 +#: docs/guestfs-release-notes-1.40.pod:1 docs/guestfs-release-notes-1.42.pod:1 +#: docs/guestfs-release-notes-1.6.pod:1 docs/guestfs-release-notes-1.8.pod:1 +#: docs/guestfs-release-notes-historical.pod:1 docs/guestfs-security.pod:1 +#: docs/guestfs-testing.pod:1 edit/virt-edit.pod:1 +#: erlang/examples/guestfs-erlang.pod:1 examples/guestfs-examples.pod:1 +#: fish/guestfish.pod:1 fish/libguestfs-tools.conf.pod:1 +#: fish/virt-copy-in.pod:1 fish/virt-copy-out.pod:1 fish/virt-tar-in.pod:1 +#: fish/virt-tar-out.pod:1 format/virt-format.pod:1 fuse/guestmount.pod:1 +#: fuse/guestunmount.pod:1 get-kernel/virt-get-kernel.pod:1 +#: gobject/guestfs-gobject.pod:1 golang/examples/guestfs-golang.pod:1 +#: inspector/virt-inspector.pod:1 java/examples/guestfs-java.pod:1 +#: lib/guestfs.pod:1 lua/examples/guestfs-lua.pod:1 make-fs/virt-make-fs.pod:1 +#: ocaml/examples/guestfs-ocaml.pod:1 perl/examples/guestfs-perl.pod:1 +#: python/examples/guestfs-python.pod:1 rescue/virt-rescue.pod:1 +#: resize/virt-resize.pod:1 ruby/examples/guestfs-ruby.pod:1 +#: sparsify/virt-sparsify.pod:1 sysprep/virt-sysprep.pod:1 +#: test-tool/libguestfs-test-tool.pod:1 tools/virt-list-filesystems:27 +#: tools/virt-list-partitions:27 tools/virt-tar:28 tools/virt-win-reg:32 msgid "NAME" msgstr "" [122800+ lines follow...] diff --git a/po/libguestfs.pot b/po/libguestfs.pot index 8b334e226..7d73374ff 100644 --- a/po/libguestfs.pot +++ b/po/libguestfs.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: libguestfs 1.43.1\n" "Report-Msgid-Bugs-To: bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2020-07-06 15:46+0100\n" +"POT-Creation-Date: 2020-08-12 15:34+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -18,45 +18,45 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../dib/elements.ml:155 +#: dib/elements.ml:155 msgid " %s: already provided by %s" msgstr "" [4000+ lines follow...]
We migrated to Weblate, and Zanata is being decommissioned. --- Makefile.am | 4 +--- docs/guestfs-hacking.pod | 14 -------------- zanata-pull.sh | 30 ------------------------------ zanata.xml | 8 -------- 4 files changed, 1 insertion(+), 55 deletions(-) delete mode 100755 zanata-pull.sh delete mode 100644 zanata.xml diff --git a/Makefile.am b/Makefile.am index f9ca98602..0a8f139a3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -261,9 +261,7 @@ EXTRA_DIST = \ website/index.css \ website/index.html.in \ website/pod.css \ - website/standard.css \ - zanata.xml \ - zanata-pull.sh + website/standard.css WEBSITESDIR = $(HOME)/d/websites diff --git a/docs/guestfs-hacking.pod b/docs/guestfs-hacking.pod index 68040fd4c..90923f450 100644 --- a/docs/guestfs-hacking.pod +++ b/docs/guestfs-hacking.pod @@ -1029,20 +1029,6 @@ Finalize F<guestfs-release-notes.pod> =item * -Push and pull from Zanata. - -Run: - - zanata push - -to push the latest POT files to Zanata. Then run: - - ./zanata-pull.sh - -which is a wrapper to pull the latest translated F<*.po> files. - -=item * - Consider updating gnulib to latest upstream version. =item * diff --git a/zanata-pull.sh b/zanata-pull.sh deleted file mode 100755 index ee5f88303..000000000 --- a/zanata-pull.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# Pull translations from Zanata. -# Copyright (C) 2011-2020 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -set -e - -echo zanata po pull -zanata po pull - -# Remove PO files that have no translations in them. -for f in po/*.po po-docs/*.po; do - if ! grep -q '^msgstr "[^"]' $f; then - echo rm $f - rm $f - fi -done diff --git a/zanata.xml b/zanata.xml deleted file mode 100644 index ee4c20c62..000000000 --- a/zanata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<config xmlns="zanata.org/namespace/config"> - <url>fedora.zanata.org</url> - <project>libguestfs</project> - <project-version>master</project-version> - <project-type>gettext</project-type> - -</config> -- 2.26.2
Richard W.M. Jones
2020-Aug-13 09:23 UTC
Re: [Libguestfs] [PATCH 9/9] Remove references to Zanata
ACK series. Interestingly LINGUAS was removed back in 2012 when I replaced the gettextize nonsense with a hand-written Makefile.am (commit 75514ab57), but removing LINGUAS wasn't a necessary part of that change. Rich. -- Richard Jones, Virtualization Group, Red Hat people.redhat.com/~rjones Read my programming and virtualization blog: rwmj.wordpress.com virt-builder quickly builds VMs from scratch libguestfs.org/virt-builder.1.html