From c16dd6cc8260871d510b1d2ca27c5f5bbc3cb87f Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Mon, 28 Oct 2019 17:28:03 +0800 Subject: migrate from intltools to gettext --- Makefile.am | 5 +- configure.ac | 5 +- data/Makefile.am | 5 +- data/mate-volume-control-status-icon.desktop.in | 6 +- data/mate-volume-control.desktop.in.in | 6 +- data/sounds/Makefile.am | 3 +- its/sounds.its | 6 ++ its/sounds.loc | 6 ++ mate-volume-control/Makefile.am | 9 ++- ...plets.GvcApplet.mate-panel-applet.desktop.in.in | 11 +++ ....mate.applets.GvcApplet.mate-panel-applet.in.in | 11 --- po/Makevars | 79 ++++++++++++++++++++++ po/POTFILES.in | 3 +- 13 files changed, 127 insertions(+), 28 deletions(-) create mode 100644 its/sounds.its create mode 100644 its/sounds.loc create mode 100644 mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.desktop.in.in delete mode 100644 mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in.in create mode 100644 po/Makevars diff --git a/Makefile.am b/Makefile.am index 52a96d8..e0ba96b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ NULL = -SUBDIRS = data po man mate-volume-control +SUBDIRS = po data man mate-volume-control DISTCHECK_CONFIGURE_FLAGS = \ CFLAGS='-Wno-deprecated-declarations' @@ -20,14 +20,13 @@ EXTRA_DIST = \ COPYING \ COPYING-DOCS \ build-aux/git-version-gen \ - $(INTLTOOL_BUILT:=.in) \ + its \ $(NULL) DISTCLEANFILES = \ mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet \ mate-volume-control/org.mate.panel.applet.GvcAppletFactory.service \ mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in \ - po/.intltool-merge-cache \ $(NULL) ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} diff --git a/configure.ac b/configure.ac index 9418ae3..9b2cdf2 100644 --- a/configure.ac +++ b/configure.ac @@ -12,8 +12,6 @@ AM_MAINTAINER_MODE AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) -IT_PROG_INTLTOOL([0.35.0]) - MATE_MAINTAINER_MODE_DEFINES MATE_COMPILE_WARNINGS([yes]) @@ -70,11 +68,12 @@ GLIB_GSETTINGS dnl======================================================================= dnl i18n dnl======================================================================= +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) GETTEXT_PACKAGE=mate-media AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Define to the Gettext package name]) -AM_GLIB_GNU_GETTEXT dnl --------------------------------------------------------------------------- dnl - Finish diff --git a/data/Makefile.am b/data/Makefile.am index fdcfcfc..1e81381 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -5,18 +5,21 @@ SUBDIRS = \ sounds \ $(NULL) -@INTLTOOL_DESKTOP_RULE@ if ENABLE_STATUSICON autostartdir = $(sysconfdir)/xdg/autostart endif autostart_in_files = mate-volume-control-status-icon.desktop.in if ENABLE_STATUSICON autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) +$(autostart_DATA): $(autostart_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ endif appsdir = $(datadir)/applications apps_in_files = mate-volume-control.desktop.in apps_DATA = $(apps_in_files:.desktop.in=.desktop) +$(apps_DATA): $(apps_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ EXTRA_DIST = \ $(autostart_in_files) \ diff --git a/data/mate-volume-control-status-icon.desktop.in b/data/mate-volume-control-status-icon.desktop.in index 86f0756..7da1496 100644 --- a/data/mate-volume-control-status-icon.desktop.in +++ b/data/mate-volume-control-status-icon.desktop.in @@ -1,11 +1,13 @@ [Desktop Entry] -_Name=Volume Control -_Comment=Show desktop volume control +Name=Volume Control +Comment=Show desktop volume control +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon=multimedia-volume-control Exec=mate-volume-control-status-icon Terminal=false Type=Application Categories=AudioVideo;Mixer;Settings;HardwareSettings; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! Keywords=MATE;volume;control;mixer;settings;sound; NoDisplay=true OnlyShowIn=MATE; diff --git a/data/mate-volume-control.desktop.in.in b/data/mate-volume-control.desktop.in.in index 60708a4..3223e96 100644 --- a/data/mate-volume-control.desktop.in.in +++ b/data/mate-volume-control.desktop.in.in @@ -1,12 +1,14 @@ [Desktop Entry] -_Name=Sound -_Comment=Change sound volume and sound events +Name=Sound +Comment=Change sound volume and sound events Exec=mate-volume-control +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon=multimedia-volume-control Terminal=false Type=Application StartupNotify=true Categories=AudioVideo;Mixer;Settings;HardwareSettings; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! Keywords=MATE;volume;control;mixer;settings;sound;events; OnlyShowIn=MATE; X-MATE-Bugzilla-Bugzilla=MATE diff --git a/data/sounds/Makefile.am b/data/sounds/Makefile.am index 0c31fe7..faf6311 100644 --- a/data/sounds/Makefile.am +++ b/data/sounds/Makefile.am @@ -12,7 +12,8 @@ sound_DATA = \ metadata_in_files = mate-sounds-default.xml.in metadatadir = $(pkgdatadir)/sounds metadata_DATA = $(metadata_in_files:.xml.in=.xml) -@INTLTOOL_XML_RULE@ +$(metadata_DATA): $(metadata_in_files) + $(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ noinst_DATA = mate-sounds-default.xml.in CLEANFILES = mate-sounds-default.xml mate-sounds-default.xml.in diff --git a/its/sounds.its b/its/sounds.its new file mode 100644 index 0000000..187c000 --- /dev/null +++ b/its/sounds.its @@ -0,0 +1,6 @@ + + + + + diff --git a/its/sounds.loc b/its/sounds.loc new file mode 100644 index 0000000..c92565d --- /dev/null +++ b/its/sounds.loc @@ -0,0 +1,6 @@ + + + + + + diff --git a/mate-volume-control/Makefile.am b/mate-volume-control/Makefile.am index 3812a52..68913ac 100644 --- a/mate-volume-control/Makefile.am +++ b/mate-volume-control/Makefile.am @@ -28,14 +28,16 @@ if ENABLE_PANELAPPLET APPLET_LOCATION = $(libexecdir)/mate-volume-control-applet appletsdir = $(datadir)/mate-panel/applets -applets_in_files = org.mate.applets.GvcApplet.mate-panel-applet.in -applets_DATA = $(applets_in_files:.mate-panel-applet.in=.mate-panel-applet) +applets_in_files = org.mate.applets.GvcApplet.mate-panel-applet.desktop.in +applets_DATA = $(applets_in_files:.mate-panel-applet.desktop.in=.mate-panel-applet) $(applets_in_files): $(applets_in_files).in Makefile $(AM_V_GEN)sed \ -e "s|\@LOCATION\@|$(APPLET_LOCATION)|" \ $< > $@ -%.mate-panel-applet: %.mate-panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache + +$(applets_DATA): $(applets_in_files) Makefile + $(AM_V_GEN) $(MSGFMT) --desktop --keyword=Name --keyword=Description --template $< -d $(top_srcdir)/po -o $@ servicedir = $(datadir)/dbus-1/services service_in_files = org.mate.panel.applet.GvcAppletFactory.service.in @@ -125,6 +127,7 @@ BUILT_SOURCES = \ $(NULL) CLEANFILES = \ + $(applets_in_files) \ $(BUILT_SOURCES) \ $(NULL) diff --git a/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.desktop.in.in b/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.desktop.in.in new file mode 100644 index 0000000..46a8374 --- /dev/null +++ b/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.desktop.in.in @@ -0,0 +1,11 @@ +[Applet Factory] +Id=GvcAppletFactory +Location=@LOCATION@ +Name=Volume Control Factory +Description=Volume Control Factory + +[GvcApplet] +Name=Volume Control +Description=Control multimedia volume +Icon=multimedia-volume-control + diff --git a/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in.in b/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in.in deleted file mode 100644 index ca9f5d4..0000000 --- a/mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in.in +++ /dev/null @@ -1,11 +0,0 @@ -[Applet Factory] -Id=GvcAppletFactory -Location=@LOCATION@ -_Name=Volume Control Factory -_Description=Volume Control Factory - -[GvcApplet] -_Name=Volume Control -_Description=Control multimedia volume -Icon=multimedia-volume-control - diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..48ef68a --- /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 --keyword=Discription --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 +$(DOMAIN).pot-update: export GETTEXTDATADIRS = $(top_srcdir) diff --git a/po/POTFILES.in b/po/POTFILES.in index c9478d0..6af1a70 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,5 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[encoding: UTF-8] data/mate-volume-control.desktop.in.in data/mate-volume-control-status-icon.desktop.in data/sounds/mate-sounds-default.xml.in.in @@ -17,6 +16,6 @@ mate-volume-control/gvc-status-icon.c mate-volume-control/gvc-stream-applet-icon.c mate-volume-control/gvc-stream-status-icon.c mate-volume-control/gvc-utils.c -mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.in.in +mate-volume-control/org.mate.applets.GvcApplet.mate-panel-applet.desktop.in.in mate-volume-control/sound-theme-file-utils.c mate-volume-control/status-icon-main.c -- cgit v1.2.1