From 3324c2850b96cb99efb0c90cbf37e563a17f6f7b Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Fri, 10 May 2019 15:58:33 +0800 Subject: Migrate from intltool to gettext --- Makefile.am | 7 ++- configure.ac | 5 +- its/marco-keybindings.its | 15 ++++++ its/marco-keybindings.loc | 6 +++ po/Makevars | 79 ++++++++++++++++++++++++++++++ po/POTFILES.in | 2 +- src/50-marco-desktop-key.xml.in | 14 +++--- src/50-marco-global-key.xml.in | 50 +++++++++---------- src/50-marco-window-key.xml.in | 104 ++++++++++++++++++++-------------------- src/Makefile.am | 8 ++-- src/marco-wm.desktop.in | 2 +- src/tools/Makefile.am | 2 - 12 files changed, 196 insertions(+), 98 deletions(-) create mode 100644 its/marco-keybindings.its create mode 100644 its/marco-keybindings.loc create mode 100644 po/Makevars diff --git a/Makefile.am b/Makefile.am index dca39343..6d4b415c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,12 +1,11 @@ -SUBDIRS=src po doc +SUBDIRS = po src doc ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} -EXTRA_DIST = autogen.sh HACKING rationales.txt \ - intltool-extract.in intltool-merge.in intltool-update.in +EXTRA_DIST = its autogen.sh HACKING rationales.txt -DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache +DISTCLEANFILES = po/stamp-it # Build ChangeLog from GIT history ChangeLog: diff --git a/configure.ac b/configure.ac index 9918faf6..d66c95bb 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,8 @@ GETTEXT_PACKAGE=marco AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain]) -IT_PROG_INTLTOOL([0.50.1]) +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) AC_PROG_CC AC_HEADER_STDC AM_PROG_LIBTOOL @@ -153,8 +154,6 @@ AC_ARG_ENABLE(shape, ## try definining HAVE_BACKTRACE AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)]) -AM_GLIB_GNU_GETTEXT - PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.58.0) PKG_CHECK_MODULES(MARCO_MESSAGE, gtk+-3.0 >= $GTK_MIN_VERSION) PKG_CHECK_MODULES(MARCO_WINDOW_DEMO, gtk+-3.0 >= $GTK_MIN_VERSION) diff --git a/its/marco-keybindings.its b/its/marco-keybindings.its new file mode 100644 index 00000000..43ade876 --- /dev/null +++ b/its/marco-keybindings.its @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/its/marco-keybindings.loc b/its/marco-keybindings.loc new file mode 100644 index 00000000..13ad7d66 --- /dev/null +++ b/its/marco-keybindings.loc @@ -0,0 +1,6 @@ + + + + + + diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 00000000..71210e1b --- /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 = 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 GETTEXTDATADIR = $(top_srcdir) diff --git a/po/POTFILES.in b/po/POTFILES.in index 5c585ccb..84c49730 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -3,7 +3,7 @@ src/50-marco-desktop-key.xml.in src/50-marco-global-key.xml.in src/50-marco-window-key.xml.in -[type: gettext/gsettings]src/org.mate.marco.gschema.xml +src/org.mate.marco.gschema.xml src/core/bell.c src/core/core.c src/core/delete.c diff --git a/src/50-marco-desktop-key.xml.in b/src/50-marco-desktop-key.xml.in index 219109e3..61f2ff4f 100644 --- a/src/50-marco-desktop-key.xml.in +++ b/src/50-marco-desktop-key.xml.in @@ -1,17 +1,17 @@ - + - + - + - + - + - + - + diff --git a/src/50-marco-global-key.xml.in b/src/50-marco-global-key.xml.in index 84276a86..39c69d8c 100644 --- a/src/50-marco-global-key.xml.in +++ b/src/50-marco-global-key.xml.in @@ -1,134 +1,134 @@ - + - + - + - + - + - + - + - + + description="Switch to previously selected workspace" /> diff --git a/src/50-marco-window-key.xml.in b/src/50-marco-window-key.xml.in index 217354e6..5a94183a 100644 --- a/src/50-marco-window-key.xml.in +++ b/src/50-marco-window-key.xml.in @@ -1,49 +1,49 @@ - + + description="Activate the window menu" /> + description="Toggle fullscreen mode" /> + description="Toggle maximization state" /> + description="Maximize window" /> + description="Restore window" /> + description="Toggle shaded state" /> + description="Close window" /> + description="Minimize window" /> + description="Move window" /> + description="Resize window" /> + description="Raise window if it's covered by another window, otherwise lower it" /> + description="Raise window above other windows" /> + description="Lower window below other windows" /> + description="Maximize window vertically" /> + description="Maximize window horizontally" /> + description="Tile window to east (right) side of screen" /> + description="Tile window to west (left) side of screen" /> + description="Tile window to north-west (top left) corner" /> + description="Tile window to north-east (top right) corner" /> + description="Tile window to south-west (bottom left) corner" /> + description="Tile window to south-east (bottom right) corner" /> + description="Move window to north-west (top left) corner" /> + description="Move window to north-east (top right) corner" /> + description="Move window to south-west (bottom left) corner" /> + description="Move window to south-east (bottom right) corner" /> + description="Move window to north (top) side of screen" /> + description="Move window to south (bottom) side of screen" /> + description="Move window to east (right) side of screen" /> + description="Move window to west (left) side of screen" /> + description="Move window to center of screen" /> + description="Move window to north (top) monitor" /> + description="Move window to south (bottom) monitor" /> + description="Move window to east (right) monitor" /> + description="Move window to west (left) monitor" />