[quadrapassel] Use gettext (bgo#793041)



commit ba4bded473cba9fa33dfc4080a6dfe1a692db45e
Author: Robert Roth <robert roth off gmail com>
Date:   Fri Feb 2 23:29:15 2018 +0200

    Use gettext (bgo#793041)

 autogen.sh                       |    1 -
 configure.ac                     |    3 +-
 data/Makefile.am                 |    7 +-
 data/quadrapassel.appdata.xml.in |   12 ++--
 data/quadrapassel.desktop.in     |    8 ++-
 git.mk                           |  135 ++++++++++++++++++++++++++++++++-----
 po/Makevars                      |   78 ++++++++++++++++++++++
 po/POTFILES.in                   |    1 -
 8 files changed, 211 insertions(+), 34 deletions(-)
---
diff --git a/autogen.sh b/autogen.sh
index 60d0584..6ef8fc6 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -32,7 +32,6 @@ if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
 fi
 
 aclocal --install || exit 1
-intltoolize --force --copy --automake || exit 1
 autoreconf --verbose --force --install -Wno-portability || exit 1
 
 cd $olddir
diff --git a/configure.ac b/configure.ac
index c3893e6..bf05b22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,7 +40,8 @@ dnl ###########################################################################
 dnl Internationalization
 dnl ###########################################################################
 
-IT_PROG_INTLTOOL([0.50])
+AM_GNU_GETTEXT_VERSION([0.19.8])
+AM_GNU_GETTEXT([external])
 AC_SUBST(GETTEXT_PACKAGE, quadrapassel)
 
 dnl ###########################################################################
diff --git a/data/Makefile.am b/data/Makefile.am
index b9cc322..58d9272 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -17,12 +17,13 @@ sounds_DATA = \
 desktopdir = $(datadir)/applications
 desktop_in_files = quadrapassel.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
+$(desktop_DATA): $(desktop_in_files)
+               $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
 
 appstream_in_files = quadrapassel.appdata.xml.in
 appstream_XML = $(appstream_in_files:.xml.in=.xml)
-@APPSTREAM_XML_RULES@
-@INTLTOOL_XML_RULE@
+$(appstream_XML): $(appstream_in_files)
+               $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
 
 man_MANS = quadrapassel.6
 
diff --git a/data/quadrapassel.appdata.xml.in b/data/quadrapassel.appdata.xml.in
index 532fdf9..9dc302d 100644
--- a/data/quadrapassel.appdata.xml.in
+++ b/data/quadrapassel.appdata.xml.in
@@ -4,22 +4,22 @@
   <id>quadrapassel.desktop</id>
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-2.0+ and CC-BY-SA-3.0</project_license>
-  <_name>Quadrapassel</_name>
-  <_summary>Fit falling blocks together</_summary>
+  <name>Quadrapassel</name>
+  <summary>Fit falling blocks together</summary>
   <description>
-    <_p>
+    <p>
       Quadrapassel is a derivative of a classic Russian falling-block game.
       Reposition and rotate the blocks as they fall, and attempt to fit them
       together. When you form a complete horizontal row of blocks, the row will
       disappear and you score points. The game is over when the blocks get stacked
       too high. As your score gets higher, you level up and the blocks fall faster.
-    </_p>
-    <_p>
+    </p>
+    <p>
       If you’re looking for a challenge, Quadrapassel allows you to increase the
       initial speed of the blocks, or begin the game with partial blocks on some
       of the rows. Or, instead of allowing the blocks to fall randomly, it can
       select blocks that will be hard for you to place.
-  </_p>
+  </p>
   </description>
   <screenshots>
     <screenshot type="default" width="700" height="448">
diff --git a/data/quadrapassel.desktop.in b/data/quadrapassel.desktop.in
index 72c931a..1f05688 100644
--- a/data/quadrapassel.desktop.in
+++ b/data/quadrapassel.desktop.in
@@ -1,10 +1,12 @@
 [Desktop Entry]
-_Name=Quadrapassel
-_Comment=Fit falling blocks together
+Name=Quadrapassel
+Comment=Fit falling blocks together
+# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
 Icon=quadrapassel
 Exec=quadrapassel
 Terminal=false
 Type=Application
 Categories=GNOME;GTK;Game;BlocksGame;
-_Keywords=tetris;
+# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list 
MUST also end with a semicolon!
+Keywords=tetris;
 StartupNotify=true
diff --git a/git.mk b/git.mk
index 5467b86..90de80f 100644
--- a/git.mk
+++ b/git.mk
@@ -1,4 +1,5 @@
-# git.mk
+# git.mk, a small Makefile to autogenerate .gitignore files
+# for autotools-based projects.
 #
 # Copyright 2009, Red Hat, Inc.
 # Copyright 2010,2011,2012,2013 Behdad Esfahbod
@@ -9,7 +10,8 @@
 # notice and this notice are preserved.
 #
 # The latest version of this file can be downloaded from:
-#   https://raw.github.com/behdad/git.mk/master/git.mk
+GIT_MK_URL = https://raw.githubusercontent.com/behdad/git.mk/master/git.mk
+#
 # Bugs, etc, should be reported upstream at:
 #   https://github.com/behdad/git.mk
 #
@@ -45,7 +47,8 @@
 # build dir.
 #
 # This file knows how to handle autoconf, automake, libtool, gtk-doc,
-# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu.
+# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu, appdata,
+# appstream, hotdoc.
 #
 # This makefile provides the following targets:
 #
@@ -77,39 +80,88 @@ GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL = \
        $(srcdir)/aclocal.m4 \
        $(srcdir)/autoscan.log \
        $(srcdir)/configure.scan \
-       `AUX_DIR=$(srcdir)/$$($(AUTOCONF) --trace 'AC_CONFIG_AUX_DIR:$$1' $(srcdir)/configure.ac); \
+       `AUX_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_AUX_DIR:$$1' ./configure.ac); \
         test "x$$AUX_DIR" = "x$(srcdir)/" && AUX_DIR=$(srcdir); \
         for x in \
                ar-lib \
                compile \
                config.guess \
+               config.rpath \
                config.sub \
                depcomp \
                install-sh \
                ltmain.sh \
                missing \
                mkinstalldirs \
+               test-driver \
+               ylwrap \
         ; do echo "$$AUX_DIR/$$x"; done` \
-       `$(AUTOCONF) --trace 'AC_CONFIG_HEADERS:$$1' $(srcdir)/configure.ac | \
+       `cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_HEADERS:$$1' ./configure.ac | \
        head -n 1 | while read f; do echo "$(srcdir)/$$f.in"; done`
 #
 # All modules should also be fine including the following variable, which
 # removes automake-generated Makefile.in files:
 GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN = \
-       `$(AUTOCONF) --trace 'AC_CONFIG_FILES:$$1' $(srcdir)/configure.ac | \
+       `cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_FILES:$$1' ./configure.ac | \
        while read f; do \
          case $$f in Makefile|*/Makefile) \
            test -f "$(srcdir)/$$f.am" && echo "$(srcdir)/$$f.in";; esac; \
        done`
 #
-# Modules that use libtool /and/ use  AC_CONFIG_MACRO_DIR([m4]) may also
-# include this:
+# Modules that use libtool and use  AC_CONFIG_MACRO_DIR() may also include this,
+# though it's harmless to include regardless.
 GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL = \
-       $(srcdir)/m4/libtool.m4 \
-       $(srcdir)/m4/ltoptions.m4 \
-       $(srcdir)/m4/ltsugar.m4 \
-       $(srcdir)/m4/ltversion.m4 \
-       $(srcdir)/m4/lt~obsolete.m4
+       `MACRO_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_MACRO_DIR:$$1' 
./configure.ac); \
+        if test "x$$MACRO_DIR" != "x$(srcdir)/"; then \
+               for x in \
+                       libtool.m4 \
+                       ltoptions.m4 \
+                       ltsugar.m4 \
+                       ltversion.m4 \
+                       lt~obsolete.m4 \
+               ; do echo "$$MACRO_DIR/$$x"; done; \
+        fi`
+#
+# Modules that use gettext and use  AC_CONFIG_MACRO_DIR() may also include this,
+# though it's harmless to include regardless.
+GITIGNORE_MAINTAINERCLEANFILES_M4_GETTEXT = \
+       `MACRO_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_MACRO_DIR:$$1' 
./configure.ac); \
+       if test "x$$MACRO_DIR" != "x$(srcdir)/"; then   \
+               for x in                                \
+                       codeset.m4                      \
+                       extern-inline.m4                \
+                       fcntl-o.m4                      \
+                       gettext.m4                      \
+                       glibc2.m4                       \
+                       glibc21.m4                      \
+                       iconv.m4                        \
+                       intdiv0.m4                      \
+                       intl.m4                         \
+                       intldir.m4                      \
+                       intlmacosx.m4                   \
+                       intmax.m4                       \
+                       inttypes-pri.m4                 \
+                       inttypes_h.m4                   \
+                       lcmessage.m4                    \
+                       lib-ld.m4                       \
+                       lib-link.m4                     \
+                       lib-prefix.m4                   \
+                       lock.m4                         \
+                       longlong.m4                     \
+                       nls.m4                          \
+                       po.m4                           \
+                       printf-posix.m4                 \
+                       progtest.m4                     \
+                       size_max.m4                     \
+                       stdint_h.m4                     \
+                       threadlib.m4                    \
+                       uintmax_t.m4                    \
+                       visibility.m4                   \
+                       wchar_t.m4                      \
+                       wint_t.m4                       \
+                       xsize.m4                        \
+               ; do echo "$$MACRO_DIR/$$x"; done; \
+       fi`
 
 
 
@@ -141,7 +193,10 @@ git-mk-install:
                        fi; \
        fi; done; test -z "$$any_failed"
 
-.PHONY: git-all git-mk-install
+git-mk-update:
+       wget $(GIT_MK_URL) -O $(top_srcdir)/git.mk
+
+.PHONY: git-all git-mk-install git-mk-update
 
 
 
@@ -149,7 +204,7 @@ git-mk-install:
 # Actual .gitignore generation:
 ###############################################################################
 
-$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
+$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk $(top_srcdir)/configure.ac
        @echo "git.mk: Generating $@"
        @{ \
                if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
@@ -158,8 +213,24 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                                $(DOC_MODULE)-decl.txt \
                                tmpl/$(DOC_MODULE)-unused.sgml \
                                "tmpl/*.bak" \
+                               $(REPORT_FILES) \
+                               $(DOC_MODULE).pdf \
                                xml html \
                        ; do echo "/$$x"; done; \
+                       FLAVOR=$$(cd $(top_srcdir); $(AUTOCONF) --trace 'GTK_DOC_CHECK:$$2' ./configure.ac); \
+                       case $$FLAVOR in *no-tmpl*) echo /tmpl;; esac; \
+                       if echo "$(SCAN_OPTIONS)" | grep -q "\-\-rebuild-types"; then \
+                               echo "/$(DOC_MODULE).types"; \
+                       fi; \
+                       if echo "$(SCAN_OPTIONS)" | grep -q "\-\-rebuild-sections"; then \
+                               echo "/$(DOC_MODULE)-sections.txt"; \
+                       fi; \
+                       if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+                               for x in \
+                                       $(SETUP_FILES) \
+                                       $(DOC_MODULE).types \
+                               ; do echo "/$$x"; done; \
+                       fi; \
                fi; \
                if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
                        for lc in $(DOC_LINGUAS); do \
@@ -179,6 +250,15 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                                "*/*.omf.out" \
                        ; do echo /$$x; done; \
                fi; \
+               if test "x$(HOTDOC)" = x; then :; else \
+                       $(foreach project, $(HOTDOC_PROJECTS),echo "/$(call HOTDOC_TARGET,$(project))"; \
+                               echo "/$(shell $(call HOTDOC_PROJECT_COMMAND,$(project)) --get-conf-path 
output)" ; \
+                               echo "/$(shell $(call HOTDOC_PROJECT_COMMAND,$(project)) 
--get-private-folder)" ; \
+                       ) \
+                       for x in \
+                               .hotdoc.d \
+                       ; do echo "/$$x"; done; \
+               fi; \
                if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \
                        for lc in $(HELP_LINGUAS); do \
                                for x in \
@@ -194,8 +274,19 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                                $(gsettings__enum_file) \
                        ; do echo "/$$x"; done; \
                fi; \
+               if test "x$(appdata_XML)" = x; then :; else \
+                       for x in \
+                               $(appdata_XML:.xml=.valid) \
+                       ; do echo "/$$x"; done; \
+               fi; \
+               if test "x$(appstream_XML)" = x; then :; else \
+                       for x in \
+                               $(appstream_XML:.xml=.valid) \
+                       ; do echo "/$$x"; done; \
+               fi; \
                if test -f $(srcdir)/po/Makefile.in.in; then \
                        for x in \
+                               ABOUT-NLS \
                                po/Makefile.in.in \
                                po/Makefile.in.in~ \
                                po/Makefile.in \
@@ -204,6 +295,7 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                                po/POTFILES \
                                po/Rules-quot \
                                po/stamp-it \
+                               po/stamp-po \
                                po/.intltool-merge-cache \
                                "po/*.gmo" \
                                "po/*.header" \
@@ -235,7 +327,7 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                if test "x$(am__dirstamp)" = x; then :; else \
                        echo "$(am__dirstamp)"; \
                fi; \
-               if test "x$(LTCOMPILE)" = x; then :; else \
+               if test "x$(findstring libtool,$(LTCOMPILE))" = x -a "x$(findstring libtool,$(LTCXXCOMPILE))" 
= x -a "x$(GTKDOC_RUN)" = x; then :; else \
                        for x in \
                                "*.lo" \
                                ".libs" "_libs" \
@@ -253,7 +345,9 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                        $(TEST_LOGS) \
                        $(TEST_LOGS:.log=.trs) \
                        $(TEST_SUITE_LOG) \
-                       "*.$(OBJEXT)" \
+                       $(TESTS:=.test) \
+                       "*.gcda" \
+                       "*.gcno" \
                        $(DISTCLEANFILES) \
                        $(am__CONFIG_DISTCLEAN_FILES) \
                        $(CONFIG_CLEAN_FILES) \
@@ -261,11 +355,10 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                        "*.tab.c" \
                        $(MAINTAINERCLEANFILES) \
                        $(BUILT_SOURCES) \
-                       $(DEPDIR) \
                        $(patsubst %.vala,%.c,$(filter %.vala,$(SOURCES))) \
                        $(filter %_vala.stamp,$(DIST_COMMON)) \
                        $(filter %.vapi,$(DIST_COMMON)) \
-                       $(patsubst %.vapi,%.h,$(filter %.vapi,$(DIST_COMMON))) \
+                       $(filter $(addprefix %,$(notdir $(patsubst %.vapi,%.h,$(filter 
%.vapi,$(DIST_COMMON))))),$(DIST_COMMON)) \
                        Makefile \
                        Makefile.in \
                        "*.orig" \
@@ -275,6 +368,10 @@ $(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
                        ".*.sw[nop]" \
                        ".dirstamp" \
                ; do echo "/$$x"; done; \
+               for x in \
+                       "*.$(OBJEXT)" \
+                       $(DEPDIR) \
+               ; do echo "$$x"; done; \
        } | \
        sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
        sed 's@/[.]/@/@g' | \
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..c88c45c
--- /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 = Quadrapassel Contributors
+ 
+# 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 = 
https://bugzilla.gnome.org/enter_bug.cgi?product=quadrapassel&keywords=I18N+L10N&component=general
+ 
+# 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 d80c978..16db6b2 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,5 @@
 # List of source files containing translatable strings.
 # Please keep this file in alphabetical order.
-[encoding: UTF-8]
 data/org.gnome.quadrapassel.gschema.xml
 data/quadrapassel.appdata.xml.in
 data/quadrapassel.desktop.in


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