diff options
| author | Petr Spacek <pspacek@redhat.com> | 2016-11-15 16:43:58 +0100 |
|---|---|---|
| committer | Martin Basti <mbasti@redhat.com> | 2016-11-22 16:14:50 +0100 |
| commit | 8a7962585069d7b0ff7e8d87ce094f07c16b3cd4 (patch) | |
| tree | 418800cfd88cdc8df9e86228290b148772e64b74 | |
| parent | 9ef5a7de781f2508c2925225533973417458d0ea (diff) | |
| download | freeipa-8a7962585069d7b0ff7e8d87ce094f07c16b3cd4.tar.gz freeipa-8a7962585069d7b0ff7e8d87ce094f07c16b3cd4.tar.xz freeipa-8a7962585069d7b0ff7e8d87ce094f07c16b3cd4.zip | |
Build: integrate translation system tests again
The Makefile test targets were lost when gettextize infrastructure was
introduced. Now it is re-added in its modernized form which counts with
generated .pot files.
ipatests/i18n.py is now explicitly setting character encoding in files
it generates. According to gettext manual chapter "Filling in the Header Entry"
the Content-Type header is language-specific so it does not make sense
to fill it in in .pot file.
https://fedorahosted.org/freeipa/ticket/6418
Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Lukas Slebodnik <lslebodn@redhat.com>
| -rw-r--r-- | Makefile.am | 2 | ||||
| -rwxr-xr-x | ipatests/i18n.py | 5 | ||||
| -rw-r--r-- | po/Makefile.hack.in | 15 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 80f708b1d..07e998c60 100644 --- a/Makefile.am +++ b/Makefile.am @@ -128,7 +128,7 @@ apilint: .PHONY: polint polint: - $(MAKE) -C $(srcdir)/po validate-src-strings + $(MAKE) -C $(srcdir)/po validate-src-strings validate-po test-gettext # Run pylint for all python files. Finds all python files/packages, skips # folders rpmbuild, freeipa-* and dist. Skip (match, but don't print) .*, diff --git a/ipatests/i18n.py b/ipatests/i18n.py index 1f48e65bb..8c6e641fd 100755 --- a/ipatests/i18n.py +++ b/ipatests/i18n.py @@ -546,7 +546,10 @@ def create_po(pot_file, po_file, mo_file): for k in po.metadata: if k.lower() == 'plural-forms': po.metadata[k] = 'nplurals=2; plural=(n != 1)' - break + # the auto-generated PO file should have charset set to UTF-8 + # because we are using UTF-8 prefix and suffix below + elif k.lower() == 'content-type': + po.metadata[k] = 'Content-Type: text/plain; charset=UTF-8' # Iterate over all msgid's and form a msgstr by prepending diff --git a/po/Makefile.hack.in b/po/Makefile.hack.in index 362d3a45a..2f2522be4 100644 --- a/po/Makefile.hack.in +++ b/po/Makefile.hack.in @@ -4,6 +4,7 @@ DISTFILES.common.extra3 = Makefile.hack.in +IPA_TEST_I18N = @top_srcdir@/ipatests/i18n.py MSGATTRIB = @MSGATTRIB@ .PHONY: strip-po @@ -20,3 +21,17 @@ strip-po: clean: mostlyclean rm -f *~ + +# linters +test-gettext: $(DOMAIN).pot + $(IPA_TEST_I18N) --test-gettext + +validate-pot: + $(IPA_TEST_I18N) --show-strings --validate-pot $(DOMAIN).pot + +validate-po: + $(IPA_TEST_I18N) --show-strings --validate-po $(POFILES) + +# forcefully re-generate .pot file and test it +validate-src-strings: $(DOMAIN).pot-update + $(MAKE) validate-pot |
