[libvirt] [PATCH 1/5] po: provide custom make rules for po file management

Ján Tomko jtomko at redhat.com
Thu Apr 19 07:46:10 UTC 2018


On Thu, Apr 12, 2018 at 02:28:18PM +0100, Daniel P. Berrangé wrote:
>Historically we have relied on autopoint/gettextize to install a
>standard po/Makefile.in.in. There is very limited scope for customizing
>this and it also causes a bunch of extra stuff to be pulled into
>configure.ac which potentially clashes with gnulib. Writing make rules
>for po file management is no more difficult than any other rules libvirt
>has, so stop using autopoint/gettextize.
>
>Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
>---
> .gitignore                   |  6 +--
> ABOUT-NLS                    |  1 +
> autogen.sh                   |  3 +-
> bootstrap.conf               | 38 -----------------
> configure.ac                 | 33 +++------------
> m4/virt-nls.m4               | 70 ++++++++++++++++++++++++++++++++
> po/Makefile.am               | 97 ++++++++++++++++++++++++++++++++++++++++++++
> po/{POTFILES.in => POTFILES} |  0
> po/README.md                 | 36 ++++++++++++++++
> src/internal.h               | 16 ++++----
> src/libvirt-admin.c          |  2 +
> src/libvirt.c                |  2 +
> src/util/virgettext.c        |  3 +-
> tools/virt-host-validate.c   |  4 +-
> 14 files changed, 228 insertions(+), 83 deletions(-)
> create mode 120000 ABOUT-NLS
> create mode 100644 m4/virt-nls.m4
> create mode 100644 po/Makefile.am
> rename po/{POTFILES.in => POTFILES} (100%)
> create mode 100644 po/README.md
>
>diff --git a/m4/virt-nls.m4 b/m4/virt-nls.m4
>new file mode 100644
>index 0000000000..d258d39506
>--- /dev/null
>+++ b/m4/virt-nls.m4
>@@ -0,0 +1,70 @@

[...]

>+
>+  dnl GNU gettext tools (optional).
>+  AC_CHECK_PROG([XGETTEXT],[xgettext],[xgettext],[no])
>+  AC_CHECK_PROG([MSGFMT],[msgfmt],[msgfmt],[no])
>+  AC_CHECK_PROG([MSGMERGE],[msgmerge],[msgmerge],[no])

These lines feel crowded with no spaces after commas.

>+
>+  dnl Check they are the GNU gettext tools.
>+  AC_MSG_CHECKING([msgfmt is GNU tool])
>+  if $MSGFMT --version >/dev/null 2>&1 && $MSGFMT --version | grep -q 'GNU gettext'; then
>+    msgfmt_is_gnu=yes
>+  else
>+    msgfmt_is_gnu=no
>+  fi
>+  AC_MSG_RESULT([$msgfmt_is_gnu])
>+  AM_CONDITIONAL([HAVE_GNU_GETTEXT_TOOLS],
>+    [test "x$XGETTEXT" != "xno" && test "x$MSGFMT" != "xno" && test "x$MSGMERGE" != "xno" && test "x$msgfmt_is_gnu" != "xno"])

Can this long line be split?

>+])
>+

>diff --git a/po/README.md b/po/README.md
>new file mode 100644
>index 0000000000..e46455e0c0
>--- /dev/null
>+++ b/po/README.md
>@@ -0,0 +1,36 @@
>+Libvirt Message Translation
>+===========================
>+
>+Libvirt translatable messages are maintained using the GNU Gettext tools and
>+file formats, in combination with the Zanata web service.
>+
>+Source repository
>+=================
>+
>+The libvirt GIT repository stores the master "libvirt.pot" file and full "po"
>+files for translations. The master "libvirt.pot" file can be re-generated using
>+
>+   make libvirt.pot
>+
>+The full po files can have their source locations and msgids updated using
>+
>+   make update-po
>+
>+Normally these updates are only done when either refreshing translations from
>+Zanata, or when creating a new release.
>+
>+Zanata web service
>+==================
>+
>+The translation of libvirt messages has been outsourced to the Fedora
>+translation team using the Zanata web service:
>+
>+  https://fedora.zanata.org/project/view/libvirt
>+
>+As such, changes to translations will generally NOT be accepted as patches
>+directly to libvirt GIT. Any changes made to "$LANG.mini.po" files in libvirt
>+GIT will be overwritten & lost the next time content is imported from Zanata.

s/&/and/

>+
>+The master "libvirt.pot" file is periodically pushed to Zanata to provide the
>+translation team with content changes. New translated text is then periodically
>+pulled down from Zanata to update the po files.

Reviewed-by: Ján Tomko <jtomko at redhat.com>

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180419/3ebcdf79/attachment-0001.sig>


More information about the libvir-list mailing list