[five-or-more] Migrate to Gettext



commit 20399a603d0458da8e49de96742664394cfd9fd2
Author: Ruxandra Simion <ruxandra simion93 gmail com>
Date:   Sat Feb 24 18:46:17 2018 +0200

    Migrate to Gettext
    
    https://bugzilla.gnome.org/show_bug.cgi?id=793042

 autogen.sh                       |    1 -
 configure.ac                     |    3 +-
 data/Makefile.am                 |    6 +-
 data/five-or-more.appdata.xml.in |   14 ++--
 data/five-or-more.desktop.in     |    8 ++-
 git.mk                           |  135 ++++++++++++++++++++++++++++++++-----
 po/Makevars                      |   78 ++++++++++++++++++++++
 po/POTFILES.in                   |    7 +-
 8 files changed, 215 insertions(+), 37 deletions(-)
---
diff --git a/autogen.sh b/autogen.sh
index 941dd06..ace9e51 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 46b93ed..37ce8d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,7 +36,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, five-or-more)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext package name])
 
diff --git a/data/Makefile.am b/data/Makefile.am
index 5aaed20..a0b866f 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -21,12 +21,14 @@ man_MANS = five-or-more.6
 desktop_in_files = five-or-more.desktop.in
 desktopdir = $(datadir)/applications
 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 = five-or-more.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 $@
 
 EXTRA_DIST =                   \
        $(appstream_in_files)   \
diff --git a/data/five-or-more.appdata.xml.in b/data/five-or-more.appdata.xml.in
index 3e2f0d9..74a315b 100644
--- a/data/five-or-more.appdata.xml.in
+++ b/data/five-or-more.appdata.xml.in
@@ -4,19 +4,19 @@
   <id>five-or-more.desktop</id>
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-3.0+</project_license>
-  <_name>Five or More</_name>
-  <_summary>Remove colored balls from the board by forming lines</_summary>
+  <name>Five or More</name>
+  <summary>Remove colored balls from the board by forming lines</summary>
   <description>
-    <_p>
+    <p>
       Five or More is the GNOME port of a once-popular computer game. Align five or
       more objects of the same color into a line to cause them to disappear and
       score points. Earn many more points by lining up as many objects as possible
       before clearing them.
-    </_p>
-    <_p>
+    </p>
+    <p>
       More objects appear after every turn. Play for as long as possible, until the
       board is completely full!
-    </_p>
+    </p>
   </description>
   <screenshots>
     <screenshot height="524" width="972" type="default">
@@ -37,7 +37,7 @@
     <kudo>UserDocs</kudo>
   </kudos>
   <translation type="gettext">five-or-more</translation>
-  <_developer_name>The GNOME Project</_developer_name>
+  <developer_name>The GNOME Project</developer_name>
   <!-- Generated by  http://apps-xdgapp.rhcloud.com/oars --> 
   <content_rating type="oars-1.0">
     <content_attribute id="violence-cartoon">none</content_attribute>
diff --git a/data/five-or-more.desktop.in b/data/five-or-more.desktop.in
index bb53905..f3fcc44 100644
--- a/data/five-or-more.desktop.in
+++ b/data/five-or-more.desktop.in
@@ -1,8 +1,10 @@
 [Desktop Entry]
-_Name=Five or More
-_Comment=Remove colored balls from the board by forming lines
-_Keywords=game;strategy;logic;
+Name=Five or More
+Comment=Remove colored balls from the board by forming lines
+# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list 
MUST also end with a semicolon!
+Keywords=game;strategy;logic;
 Exec=five-or-more
+# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
 Icon=five-or-more
 Terminal=false
 Type=Application
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..0dc7b90
--- /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 = five-or-more 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=five-or-more&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 9e40b03..f354a02 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,11 +1,10 @@
 # List of source files containing translatable strings.
 # Please keep this file in alphabetical order.
-[encoding: UTF-8]
 data/five-or-more.appdata.xml.in
 data/five-or-more.desktop.in
-[type: gettext/glade]data/five-or-more-preferences.ui
-[type: gettext/glade]data/five-or-more.ui
-[type: gettext/glade]data/menu.ui
+data/five-or-more-preferences.ui
+data/five-or-more.ui
+data/menu.ui
 data/org.gnome.five-or-more.gschema.xml
 data/translatable_themes.h
 src/five-or-more.c


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