[tali] build: migrate to gettext



commit 62e622c36ac8cd1732ddc62ca12f3c10c41b930e
Author: Jeremy Bicha <jbicha ubuntu com>
Date:   Sun Dec 9 11:53:03 2018 -0500

    build: migrate to gettext
    
    Recent gettext version can extract and merge back strings from and to
    various file formats, no need for  intltool anymore.
    
    https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration

 autogen.sh               |  1 -
 configure.ac             |  3 +-
 data/Makefile.am         |  6 ++--
 data/tali.appdata.xml.in | 16 +++++-----
 data/tali.desktop.in     | 11 +++++--
 po/Makevars              | 78 ++++++++++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in           |  3 +-
 7 files changed, 101 insertions(+), 17 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 98a8c90..5ad4b37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,7 +38,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, tali)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext package name])
 
diff --git a/data/Makefile.am b/data/Makefile.am
index 81a6799..7a3faa9 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -28,12 +28,14 @@ man_MANS = tali.6
 desktopdir = $(datadir)/applications
 desktop_in_files = tali.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
+$(desktop_DATA): $(desktop_in_files) $(wildcard $(top_srcdir)/po/*po)
+       $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
 
 appstream_in_files = tali.appdata.xml.in
 appstream_XML = $(appstream_in_files:.xml.in=.xml)
+$(appstream_XML): $(appstream_in_files) $(wildcard $(top_srcdir)/po/*po)
+       $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
 @APPSTREAM_XML_RULES@
-@INTLTOOL_XML_RULE@
 
 EXTRA_DIST = \
        $(appstream_in_files) \
diff --git a/data/tali.appdata.xml.in b/data/tali.appdata.xml.in
index bfef859..bae0e43 100644
--- a/data/tali.appdata.xml.in
+++ b/data/tali.appdata.xml.in
@@ -4,23 +4,23 @@
   <id>tali.desktop</id>
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-2.0+</project_license>
-  <_name>Tali</_name>
-  <_summary>Roll dice and score points</_summary>
+  <name>Tali</name>
+  <summary>Roll dice and score points</summary>
   <description>
-    <_p>
+    <p>
       A variation on poker with dice and less money, this game is a family classic.
       Throw the dice three times in a row, holding back the ones you like, in order
       to make the best possible hand. You can also play a lesser-known variant with
       colored dice.
-    </_p>
-    <_p>
+    </p>
+    <p>
       Play between one and five opponents at three difficulty levels.
-    </_p>
+    </p>
   </description>
   <screenshots>
     <screenshot type="default" width="972" height="561">
       <image>https://people.gnome.org/~mcatanzaro/tali.png</image>
-      <_caption><!-- Describe this screenshot in less than ~10 words --></_caption>
+      <caption><!-- Describe this screenshot in less than ~10 words --></caption>
     </screenshot>
   </screenshots>
   <url type="homepage">https://wiki.gnome.org/Apps/Tali</url>
@@ -30,7 +30,7 @@
   <url type="help">https://help.gnome.org/users/tali/stable/</url>
   <update_contact>mariowenzel_at_gnome.org</update_contact>
   <project_group>GNOME</project_group>
-  <_developer_name>The GNOME Project</_developer_name>
+  <developer_name>The GNOME Project</developer_name>
   <kudos>
     <kudo>AppMenu</kudo>
     <kudo>HiDpiIcon</kudo>
diff --git a/data/tali.desktop.in b/data/tali.desktop.in
index fe7d9a7..dbbc21b 100644
--- a/data/tali.desktop.in
+++ b/data/tali.desktop.in
@@ -1,8 +1,13 @@
 [Desktop Entry]
-_Name=Tali
-_Comment=Beat the odds in a poker-style dice game
-_Keywords=yahtzee;
+Name=Tali
+Comment=Beat the odds in a poker-style dice game
+# TRANSLATORS: Do NOT translate or localize the semicolons!
+#              The list MUST also end with a semicolon!
+#              Search terms to find this application.
+Keywords=yahtzee;
 Exec=tali
+# TRANSLATORS: Do NOT translate or transliterate this text!
+#              This is an icon file name.
 Icon=tali
 Terminal=false
 Type=Application
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..bfb3105
--- /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 --keyword=Description --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 = The gedit 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 =
+
+# 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://gitlab.gnome.org/GNOME/gedit/issues
+
+# 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 e8fc7e7..edd1d5b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,9 +1,8 @@
 # List of source files containing translatable strings.
 # Please keep this file in alphabetical order.
-[encoding: UTF-8]
 data/tali.appdata.xml.in
 data/tali.desktop.in
-[type: gettext/glade]data/tali-menus.ui
+data/tali-menus.ui
 data/org.gnome.tali.gschema.xml
 src/clist.c
 src/games-scores-dialog.c


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