From cdb6025abc5729dd0eaba6aca2fa6a69b8b403c2 Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Thu, 24 Oct 2019 15:59:19 +0800 Subject: migrate from intltool to gettext --- Makefile.am | 4 +-- configure.ac | 5 +++- index.theme.in.in | 4 +-- po/Makevars | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/POTFILES.in | 2 +- 5 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 po/Makevars diff --git a/Makefile.am b/Makefile.am index c61448c..2e8d45b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -76,7 +76,8 @@ THEME_DIRS=$(shell SIZES="$(render_sizes)"; for size in $$SIZES; do for dir in ` echo "" >> $@; \ done -@INTLTOOL_THEME_RULE@ +%.theme: %.theme.in Makefile + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ # we don't want to install mo files, all translations are already stored # in theme files @@ -107,7 +108,6 @@ MAINTAINERCLEANFILES = \ configure \ depcomp \ install-sh \ - intltool-*.in \ libtool \ ltmain.sh \ missing \ diff --git a/configure.ac b/configure.ac index d58c69b..567dcf4 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,10 @@ AM_EXTRA_RECURSIVE_TARGETS([clean-png-icons build-png-icons]) AM_INIT_AUTOMAKE([1.9 tar-ustar dist-xz no-dist-gzip foreign check-news]) PKG_PROG_PKG_CONFIG([0.19]) -IT_PROG_INTLTOOL([0.40.0]) + +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) GETTEXT_PACKAGE="${PACKAGE}" AC_SUBST(GETTEXT_PACKAGE) diff --git a/index.theme.in.in b/index.theme.in.in index 688193b..d349ac2 100644 --- a/index.theme.in.in +++ b/index.theme.in.in @@ -1,6 +1,6 @@ [Icon Theme] -_Name=MATE -_Comment=Default MATE Theme +Name=MATE +Comment=Default MATE Theme Example=folder # KDE Specific Stuff diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..23af6b4 --- /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 = -L Desktop --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments=Translators: + +# 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 = MATE Desktop Environment team + +# 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 diff --git a/po/POTFILES.in b/po/POTFILES.in index 44c5fa2..cb00936 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,4 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[type: gettext/ini] index.theme.in.in +index.theme.in.in -- cgit v1.2.1