From 1a7ae12d402b6f1dccd6b8dac44f38440f571ca5 Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Tue, 29 Oct 2019 14:37:17 +0800 Subject: migrate from intltools to gettext --- .travis.yml | 2 + Makefile.am | 7 +- configure.ac | 6 +- data/Makefile.am | 7 +- data/eom.desktop.in.in | 4 +- plugins/Makefile.am | 5 +- plugins/fullscreen/fullscreen.plugin.desktop.in | 4 +- plugins/reload/reload.plugin.desktop.in | 4 +- .../statusbar-date.plugin.desktop.in | 4 +- po/Makevars | 78 ++++++++++++++++++++++ po/POTFILES.in | 11 ++- 11 files changed, 105 insertions(+), 27 deletions(-) create mode 100644 po/Makevars diff --git a/.travis.yml b/.travis.yml index a5ca7d0..7b69c2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,6 +64,7 @@ env: requires: archlinux: # Useful URL: https://git.archlinux.org/svntogit/community.git/tree/eom + - appstream-glib - clang - dbus-glib - exempi @@ -126,6 +127,7 @@ requires: - gobject-introspection-devel - gtk3-devel - lcms2-devel + - libappstream-glib-devel - libexif-devel - libjpeg-turbo-devel - libpeas-devel diff --git a/Makefile.am b/Makefile.am index ac51ac5..d54477f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ if ENABLE_JPEG jpeg_DIRS = jpegutils endif -SUBDIRS = $(jpeg_DIRS) cut-n-paste src man plugins po help data doc +SUBDIRS = po $(jpeg_DIRS) cut-n-paste src man plugins help data doc EXTRA_DIST = \ AUTHORS \ @@ -14,10 +14,7 @@ EXTRA_DIST = \ NEWS \ README -DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update +DISTCLEANFILES = DISTCHECK_CONFIGURE_FLAGS = \ --disable-schemas-install \ diff --git a/configure.ac b/configure.ac index d391d93..7a09a92 100644 --- a/configure.ac +++ b/configure.ac @@ -62,9 +62,9 @@ fi # *********** # Translation # *********** - -AM_GLIB_GNU_GETTEXT -IT_PROG_INTLTOOL([0.50.1]) +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) GETTEXT_PACKAGE=AC_PACKAGE_NAME AC_SUBST(GETTEXT_PACKAGE) diff --git a/data/Makefile.am b/data/Makefile.am index 99711a3..48c352e 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,17 +1,18 @@ SUBDIRS = pixmaps icons -@INTLTOOL_DESKTOP_RULE@ - DESKTOP_IN_FILES= eom.desktop.in.in DESKTOP_FILES= $(DESKTOP_IN_FILES:.desktop.in.in=.desktop) desktopdir = $(datadir)/applications desktop_DATA = $(DESKTOP_FILES) +$(desktop_DATA): $(DESKTOP_IN_FILES) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ -@INTLTOOL_XML_RULE@ appdatadir = $(datadir)/metainfo appdata_in_files = eom.appdata.xml.in appdata_DATA = $(appdata_in_files:.xml.in=.xml) +$(appdata_DATA): $(appdata_in_files) + $(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ gsettings_ENUM_NAMESPACE = org.mate.eom gsettings_ENUM_FILES = $(top_srcdir)/src/eom-scroll-view.h \ diff --git a/data/eom.desktop.in.in b/data/eom.desktop.in.in index a8e7dcb..a49c08c 100644 --- a/data/eom.desktop.in.in +++ b/data/eom.desktop.in.in @@ -1,6 +1,6 @@ [Desktop Entry] -_Name=Eye of MATE Image Viewer -_Comment=Browse and rotate images +Name=Eye of MATE Image Viewer +Comment=Browse and rotate images TryExec=eom Exec=eom %U Icon=eom diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 6398011..bfc34c6 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -46,10 +46,11 @@ endif # Generate plugin info files -%.plugin: %.plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(AM_V_GEN)$(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache - plugins_DATA = $(plugins_in_files:.plugin.desktop.in=.plugin) +$(plugins_DATA): $(plugins_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + DISTCLEANFILES = $(plugins_DATA) CLEANFILES = $(plugins_DATA) diff --git a/plugins/fullscreen/fullscreen.plugin.desktop.in b/plugins/fullscreen/fullscreen.plugin.desktop.in index 12d2cb8..34e5988 100644 --- a/plugins/fullscreen/fullscreen.plugin.desktop.in +++ b/plugins/fullscreen/fullscreen.plugin.desktop.in @@ -1,9 +1,9 @@ [Plugin] Module=fullscreen IAge=2 -_Name=Fullscreen with double-click +Name=Fullscreen with double-click Icon=view-fullscreen -_Description=Activate fullscreen mode with double-click +Description=Activate fullscreen mode with double-click Authors=Lucas Rocha Copyright=Copyright © 2007 Lucas Rocha Website=http://www.mate-desktop.org/ diff --git a/plugins/reload/reload.plugin.desktop.in b/plugins/reload/reload.plugin.desktop.in index 4b0ff92..60087a3 100644 --- a/plugins/reload/reload.plugin.desktop.in +++ b/plugins/reload/reload.plugin.desktop.in @@ -1,9 +1,9 @@ [Plugin] Module=reload IAge=2 -_Name=Reload Image +Name=Reload Image Icon=view-refresh -_Description=Reload current image +Description=Reload current image Authors=Lucas Rocha Copyright=Copyright © 2007 Lucas Rocha Website=http://www.mate-desktop.org/ diff --git a/plugins/statusbar-date/statusbar-date.plugin.desktop.in b/plugins/statusbar-date/statusbar-date.plugin.desktop.in index 55a1e8c..c87848e 100644 --- a/plugins/statusbar-date/statusbar-date.plugin.desktop.in +++ b/plugins/statusbar-date/statusbar-date.plugin.desktop.in @@ -1,8 +1,8 @@ [Plugin] Module=statusbar-date IAge=2 -_Name=Date in statusbar -_Description=Shows the image date in the window statusbar +Name=Date in statusbar +Description=Shows the image date in the window statusbar Authors=Claudio Saavedra Copyright=Copyright © 2008 Free Software Foundation Website=http://www.mate-desktop.org/ diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..8d493dc --- /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 --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 00ae351..459f76f 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,15 +1,14 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[encoding: UTF-8] cut-n-paste/toolbar-editor/egg-editable-toolbar.c cut-n-paste/toolbar-editor/egg-toolbar-editor.c data/eom.appdata.xml.in data/eom.desktop.in.in -[type: gettext/glade]data/eom-image-properties-dialog.ui -[type: gettext/glade]data/eom-multiple-save-as-dialog.ui -[type: gettext/glade]data/eom-preferences-dialog.ui -[type: gettext/glade]data/metadata-sidebar.ui -[type: gettext/gsettings]data/org.mate.eom.gschema.xml.in +data/eom-image-properties-dialog.ui +data/eom-multiple-save-as-dialog.ui +data/eom-preferences-dialog.ui +data/metadata-sidebar.ui +data/org.mate.eom.gschema.xml.in plugins/fullscreen/eom-fullscreen-plugin.c plugins/fullscreen/fullscreen.plugin.desktop.in plugins/reload/eom-reload-plugin.c -- cgit v1.2.1