[gcr/wip/nielsdg/kill-intltool: 3/3] Move from intltool to gettext



commit 4fb05684d2f181c35898fc26f5675b07e7e2dd34
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Thu May 30 21:07:39 2019 +0200

    Move from intltool to gettext
    
    Intltool is deprecated; use gettext instead.
    
    Fixes https://gitlab.gnome.org/GNOME/gcr/issues/18

 .gitignore                    |  3 ++
 Makefile.am                   |  9 +----
 autogen.sh                    |  1 -
 configure.ac                  |  4 +--
 po/Makevars                   | 78 +++++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in                |  8 ++---
 po/POTFILES.skip              |  1 -
 ui/Makefile.am                |  2 ++
 ui/gcr-prompter.desktop.in.in |  4 +--
 ui/gcr-viewer.desktop.in.in   |  5 +--
 10 files changed, 93 insertions(+), 22 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5f1a46a..72c9255 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,7 @@ frob-*
 .deps
 .libs
 .project
+ABOUT-NLS
 aclocal.m4
 autom4te.cache
 compile
@@ -41,6 +42,7 @@ config.h.in
 config.h.in~
 config.h~
 config.log
+config.rpath
 config.status
 config.sub
 configure
@@ -109,6 +111,7 @@ stamp-*
 /ui/gcr-resources.h
 
 /po/Makefile.in.in
+/po/Makevars.template
 /po/*.sed
 /po/*.sed.in
 /po/*.c
diff --git a/Makefile.am b/Makefile.am
index 9cdf14d..201af24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,9 +17,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-pkcs11-modules=$(abs_srcdir)/$(top_distdir)/_inst/lib/
 
 DISTCLEANFILES = \
-       intltool-extract \
-       intltool-merge \
-       intltool-update
+       $(NULL)
 
 dist-hook:
        @if test -d "$(srcdir)/.git"; \
@@ -109,9 +107,6 @@ CLEANFILES = \
        $(pkgconfig_DATA)
 
 EXTRA_DIST = \
-       intltool-extract.in \
-       intltool-merge.in \
-       intltool-update.in \
        HACKING \
        build/valgrind \
        $(VALGRIND_SUPPRESSIONS) \
@@ -148,8 +143,6 @@ SED_SUBST = sed \
 .desktop.in.in.desktop.in:
        $(V_SED) $(SED_SUBST) $< > $@
 
-@INTLTOOL_DESKTOP_RULE@
-
 .service.in.service:
        $(V_SED) $(SED_SUBST) $< > $@
 
diff --git a/autogen.sh b/autogen.sh
index 590b435..deab124 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -23,7 +23,6 @@ fi
 
 aclocal --install || exit 1
 gtkdocize --copy || exit 1
-intltoolize --force --copy --automake || exit 1
 autoreconf --verbose --force --install || exit 1
 
 cd $olddir
diff --git a/configure.ac b/configure.ac
index d08a50d..3909ed0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -71,13 +71,13 @@ AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AM_DISABLE_STATIC
 AM_PROG_LIBTOOL
-IT_PROG_INTLTOOL([0.35.0])
 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.19.8])
 GETTEXT_PACKAGE=gcr
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext domain name])
 AC_SUBST(GETTEXT_PACKAGE)
-AM_GLIB_GNU_GETTEXT
 
 # -----------------------------------------------------------------------------
 # GLib and GTK+ stuff
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..cba2b92
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,78 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_  --keyword=C_:1c,2 --keyword=NC_:1c,2 
--keyword=g_dngettext:2,3 --add-comments
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = $(PACKAGE_STRING) authors
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = $(PACKAGE_BUGREPORT)
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = yes
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = no
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = no
diff --git a/po/POTFILES.in b/po/POTFILES.in
index d4e943d..a67605d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -29,14 +29,14 @@ ui/gcr-gnupg-renderer.c
 ui/gcr-import-button.c
 ui/gcr-key-renderer.c
 ui/gcr-pkcs11-import-dialog.c
-[type: gettext/glade]ui/gcr-pkcs11-import-dialog.ui
+ui/gcr-pkcs11-import-dialog.ui
 ui/gcr-pkcs11-import-interaction.c
 ui/gcr-prompt-dialog.c
-ui/gcr-prompter.desktop.in.in
+ui/gcr-prompter.desktop.in
 ui/gcr-certificate-exporter.c
-[type: gettext/glade]ui/gcr-unlock-options-widget.ui
+ui/gcr-unlock-options-widget.ui
 ui/gcr-unlock-renderer.c
-ui/gcr-viewer.desktop.in.in
+ui/gcr-viewer.desktop.in
 ui/gcr-viewer-tool.c
 ui/gcr-viewer-widget.c
 ui/gcr-viewer-window.c
diff --git a/ui/Makefile.am b/ui/Makefile.am
index 2d2cfcd..d38e46a 100644
--- a/ui/Makefile.am
+++ b/ui/Makefile.am
@@ -193,6 +193,8 @@ desktopdir = $(datadir)/applications
 desktop_in_in_files = ui/gcr-viewer.desktop.in.in ui/gcr-prompter.desktop.in.in
 desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+$(desktop_DATA): $(desktop_in_files)
+       $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
 
 bin_PROGRAMS = gcr-viewer
 
diff --git a/ui/gcr-prompter.desktop.in.in b/ui/gcr-prompter.desktop.in.in
index 6d43e0c..67dfb93 100644
--- a/ui/gcr-prompter.desktop.in.in
+++ b/ui/gcr-prompter.desktop.in.in
@@ -1,6 +1,6 @@
 [Desktop Entry]
-_Name=Access Prompt
-_Comment=Unlock access to passwords and other secrets
+Name=Access Prompt
+Comment=Unlock access to passwords and other secrets
 Icon=security-medium
 Exec=@libexecdir@/gcr-prompter
 Terminal=false
diff --git a/ui/gcr-viewer.desktop.in.in b/ui/gcr-viewer.desktop.in.in
index d12e62c..d3b0f57 100644
--- a/ui/gcr-viewer.desktop.in.in
+++ b/ui/gcr-viewer.desktop.in.in
@@ -1,10 +1,7 @@
 [Desktop Entry]
-_Name=View file
+Name=View file
 
MimeType=application/pkcs12;application/pkcs12+pem;application/pkcs7-mime;application/pkcs7-mime+pem;application/pkcs8;application/pkcs8+pem;application/pkix-cert;application/pkix-cert+pem;application/pkix-crl;application/pkix-crl+pem;application/x-pem-file;application/x-pem-key;application/x-pkcs12;application/x-pkcs7-certificates;application/x-x509-ca-cert;application/x-x509-user-cert;application/pkcs10;application/pkcs10+pem;application/x-spkac;application/x-spkac+base64;
 Exec=@bindir@/gcr-viewer
 Type=Application
 Terminal=false
 NoDisplay=true
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=gnome-keyring
-X-GNOME-Bugzilla-Component=gcr
\ No newline at end of file


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]