From 8f91804245b73be22f6d21a8b52b468fac282b73 Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Thu, 16 May 2019 14:32:26 +0800 Subject: migrate from intltool to gettext --- Makefile.am | 5 +-- configure.ac | 6 +-- data/Makefile.am | 4 +- data/mate-session-properties.desktop.in | 4 +- data/mate-wm.desktop.in | 2 +- data/mate.desktop.in | 4 +- po/Makevars | 79 +++++++++++++++++++++++++++++++++ po/POTFILES.in | 6 +-- 8 files changed, 93 insertions(+), 17 deletions(-) create mode 100644 po/Makevars diff --git a/Makefile.am b/Makefile.am index a802529..43f22ce 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,11 @@ SUBDIRS = \ + po \ egg \ mate-session \ capplet \ tools \ data \ - doc \ - po + doc ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} @@ -28,7 +28,6 @@ MAINTAINERCLEANFILES = \ $(srcdir)/missing \ $(srcdir)/mkinstalldirs \ $(srcdir)/configure \ - $(srcdir)/m4/intltool.m4 \ `find "$(srcdir)" -type f -name Makefile.in -print` # Build ChangeLog from GIT history diff --git a/configure.ac b/configure.ac index 8c5ffc1..cad931d 100644 --- a/configure.ac +++ b/configure.ac @@ -11,13 +11,13 @@ AM_MAINTAINER_MODE MATE_COMMON_INIT MATE_DEBUG_CHECK -IT_PROG_INTLTOOL([0.50.1]) - AC_PROG_CC AC_STDC_HEADERS AM_PROG_LIBTOOL AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") @@ -218,8 +218,6 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The gettext translation domain]) AC_SUBST(GETTEXT_PACKAGE) -AM_GLIB_GNU_GETTEXT - dnl ==================================================================== dnl Headers dnl ==================================================================== diff --git a/data/Makefile.am b/data/Makefile.am index 4ca0aeb..fbee59d 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -22,11 +22,11 @@ if USE_MATE_WM desktop_DATA += mate-wm.desktop endif -@INTLTOOL_DESKTOP_RULE@ +%.desktop: %.desktop.in Makefile + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ gsettingsschema_in_files = org.mate.session.gschema.xml.in gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml) -@INTLTOOL_XML_NOMERGE_RULE@ @GSETTINGS_RULES@ EXTRA_DIST = \ diff --git a/data/mate-session-properties.desktop.in b/data/mate-session-properties.desktop.in index 79a9ffc..734288a 100644 --- a/data/mate-session-properties.desktop.in +++ b/data/mate-session-properties.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] -_Name=Startup Applications -_Comment=Choose what applications to start when you log in +Name=Startup Applications +Comment=Choose what applications to start when you log in Exec=mate-session-properties Icon=mate-session-properties Terminal=false diff --git a/data/mate-wm.desktop.in b/data/mate-wm.desktop.in index 93a31ab..47ff329 100644 --- a/data/mate-wm.desktop.in +++ b/data/mate-wm.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -_Name=Window Manager +Name=Window Manager Exec=mate-wm Keywords=MATE;window;manager;launch;MDM; NoDisplay=true diff --git a/data/mate.desktop.in b/data/mate.desktop.in index cca39eb..e957eea 100644 --- a/data/mate.desktop.in +++ b/data/mate.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] -_Name=MATE -_Comment=This session logs you into MATE +Name=MATE +Comment=This session logs you into MATE Exec=mate-session TryExec=mate-session Icon= diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..445f9b9 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,79 @@ +# 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 = Free Software Foundation, Inc. + +# 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 = + +# 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 = no + +# 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 = yes + +# 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 = yes +#$(DOMAIN).pot-update: export GETTEXTDATADIR = $(top_srcdir) diff --git a/po/POTFILES.in b/po/POTFILES.in index b5d4f1b..675be74 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -4,12 +4,12 @@ capplet/gsm-app-dialog.c capplet/gsm-properties-dialog.c capplet/gsp-app.c capplet/main.c -[type: gettext/gsettings]data/org.mate.session.gschema.xml.in +data/org.mate.session.gschema.xml.in data/mate.desktop.in data/mate-wm.desktop.in -[type: gettext/glade]data/gsm-inhibit-dialog.ui +data/gsm-inhibit-dialog.ui data/mate-session-properties.desktop.in -[type: gettext/glade]data/session-properties.ui +data/session-properties.ui egg/eggdesktopfile.c egg/eggsmclient.c mate-session/gsm-inhibit-dialog.c -- cgit v1.2.1