From bce4817d3c2ddc150582db8451f3d92a5a2df5da Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Tue, 15 Oct 2019 14:11:46 +0800 Subject: migrate from intltool to gettext --- Makefile.am | 11 +--- configure.ac | 6 +-- data/Makefile.am | 13 ++--- data/images/cosmos/Makefile.am | 8 +-- data/images/cosmos/cosmos.xml.in.in | 2 +- data/mate-screensaver-preferences.desktop.in | 9 ++-- data/mate-screensaver.directory.desktop.in | 9 ++++ data/mate-screensaver.directory.in | 8 --- its/wallpaper.its | 12 +++++ its/wallpaper.loc | 10 ++++ po/Makevars | 79 ++++++++++++++++++++++++++++ po/POTFILES.in | 8 +-- savers/Makefile.am | 15 +++--- savers/cosmos-slideshow.desktop.in.in | 8 +-- savers/footlogo-floaters.desktop.in.in | 8 +-- savers/gnomelogo-floaters.desktop.in.in | 8 +-- savers/personal-slideshow.desktop.in.in | 8 +-- savers/popsquares.desktop.in.in | 8 +-- src/Makefile.am | 3 +- src/mate-screensaver.desktop.in.in | 9 ++-- 20 files changed, 172 insertions(+), 70 deletions(-) create mode 100644 data/mate-screensaver.directory.desktop.in delete mode 100644 data/mate-screensaver.directory.in create mode 100644 its/wallpaper.its create mode 100644 its/wallpaper.loc create mode 100644 po/Makevars diff --git a/Makefile.am b/Makefile.am index c123520..e710273 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,9 +10,9 @@ DISTCHECK_CONFIGURE_FLAGS = \ CFLAGS='-Wno-deprecated-declarations' SUBDIRS = \ + po \ src \ savers \ - po \ data \ doc \ $(NULL) @@ -25,22 +25,15 @@ EXTRA_DIST = \ INSTALL \ README \ ChangeLog \ + its \ NEWS \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in \ $(NULL) DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update \ - ./po/.intltool-merge-cache \ $(NULL) MAINTAINERCLEANFILES = \ *~ \ - intltool-*.in \ compile \ configure \ INSTALL \ diff --git a/configure.ac b/configure.ac index a759a7a..b9aef0b 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,6 @@ AM_MAINTAINER_MODE MATE_DEBUG_CHECK([no]) MATE_COMPILE_WARNINGS([yes]) -IT_PROG_INTLTOOL([0.50.1]) AC_PROG_CC AM_PROG_CC_C_O AC_STDC_HEADERS @@ -31,12 +30,13 @@ AC_SUBST(VERSION) # Save flags to aclocal ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT([external]) + GETTEXT_PACKAGE=mate-screensaver AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of default gettext domain]) -AM_GLIB_GNU_GETTEXT - dnl dnl Enable gsettings schema macros dnl diff --git a/data/Makefile.am b/data/Makefile.am index 46dff6a..942fd55 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -9,19 +9,21 @@ man_MANS = \ mate-screensaver-preferences.1 \ $(NULL) -@INTLTOOL_DESKTOP_RULE@ - desktopdir = $(datadir)/applications desktop_in_files = mate-screensaver-preferences.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) -@INTLTOOL_DIRECTORY_RULE@ +$(desktop_DATA): $(desktop_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ directorydir = $(datadir)/desktop-directories directory_in_files = \ - mate-screensaver.directory.in \ + mate-screensaver.directory.desktop.in \ $(NULL) -directory_DATA = $(directory_in_files:.directory.in=.directory) +directory_DATA = $(directory_in_files:.directory.desktop.in=.directory) + +$(directory_DATA): $(directory_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ menudir = $(sysconfdir)/xdg/menus menu_DATA = \ @@ -40,7 +42,6 @@ dbussessionservicedir = $(DBUS_SESSION_SERVICE_DIR) dbussessionservice_DATA = org.mate.ScreenSaver.service @GSETTINGS_RULES@ -@INTLTOOL_XML_NOMERGE_RULE@ gsettingsschema_in_files = org.mate.screensaver.gschema.xml.in gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml) diff --git a/data/images/cosmos/Makefile.am b/data/images/cosmos/Makefile.am index 6cc80d8..b48162b 100644 --- a/data/images/cosmos/Makefile.am +++ b/data/images/cosmos/Makefile.am @@ -19,15 +19,17 @@ images_DATA = \ $(NULL) cosmos.xml.in: cosmos.xml.in.in Makefile - $(edit) $< >$@ + @$(edit) $< >$@ background-1.xml: background-1.xml.in Makefile - $(edit) $< >$@ + $(AM_V_GEN) $(edit) $< >$@ metadata_in_files = cosmos.xml.in metadatadir = $(datadir)/mate-background-properties 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 $@ edit = sed \ -e 's|@IMAGESDIR[@]|$(imagesdir)|g' diff --git a/data/images/cosmos/cosmos.xml.in.in b/data/images/cosmos/cosmos.xml.in.in index b9cf666..ffc75cb 100644 --- a/data/images/cosmos/cosmos.xml.in.in +++ b/data/images/cosmos/cosmos.xml.in.in @@ -4,7 +4,7 @@ - <_name>Cosmos + Cosmos @IMAGESDIR@/background-1.xml zoom diff --git a/data/mate-screensaver-preferences.desktop.in b/data/mate-screensaver-preferences.desktop.in index d3104d6..38589a9 100644 --- a/data/mate-screensaver-preferences.desktop.in +++ b/data/mate-screensaver-preferences.desktop.in @@ -1,13 +1,14 @@ [Desktop Entry] -_Name=Screensaver -_Comment=Set your screensaver preferences +Name=Screensaver +Comment=Set your screensaver preferences +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon=preferences-desktop-screensaver Exec=mate-screensaver-preferences Terminal=false Type=Application Categories=GTK;Settings;DesktopSettings; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;preferences; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;preferences; OnlyShowIn=MATE; StartupNotify=true X-MATE-Bugzilla-Bugzilla=MATE diff --git a/data/mate-screensaver.directory.desktop.in b/data/mate-screensaver.directory.desktop.in new file mode 100644 index 0000000..009feab --- /dev/null +++ b/data/mate-screensaver.directory.desktop.in @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Screensavers +Comment=Screensaver themes +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=screensaver +Type=Directory +OnlyShowIn=MATE; +NoDisplay=false diff --git a/data/mate-screensaver.directory.in b/data/mate-screensaver.directory.in deleted file mode 100644 index 3733bbd..0000000 --- a/data/mate-screensaver.directory.in +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -_Name=Screensavers -_Comment=Screensaver themes -Icon=screensaver -Type=Directory -OnlyShowIn=MATE; -NoDisplay=false diff --git a/its/wallpaper.its b/its/wallpaper.its new file mode 100644 index 0000000..b08a8b2 --- /dev/null +++ b/its/wallpaper.its @@ -0,0 +1,12 @@ + + + + + + + diff --git a/its/wallpaper.loc b/its/wallpaper.loc new file mode 100644 index 0000000..506073b --- /dev/null +++ b/its/wallpaper.loc @@ -0,0 +1,10 @@ + + + + + + + diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..31f6faf --- /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=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 ed32f78..896cbfc 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,11 +1,11 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. data/mate-screensaver-preferences.desktop.in -[type: gettext/glade]data/mate-screensaver-preferences.ui -data/mate-screensaver.directory.in +data/mate-screensaver-preferences.ui +data/mate-screensaver.directory.desktop.in data/images/cosmos/cosmos.xml.in.in -[type: gettext/glade]data/lock-dialog-default.ui -[type: gettext/gsettings]data/org.mate.screensaver.gschema.xml.in +data/lock-dialog-default.ui +data/org.mate.screensaver.gschema.xml.in savers/cosmos-slideshow.desktop.in.in savers/footlogo-floaters.desktop.in.in savers/gnomelogo-floaters.desktop.in.in diff --git a/savers/Makefile.am b/savers/Makefile.am index 4f590cf..267a44a 100644 --- a/savers/Makefile.am +++ b/savers/Makefile.am @@ -23,17 +23,15 @@ DESKTOP_IN_IN_FILES = \ $(NULL) cosmos-slideshow.desktop.in: cosmos-slideshow.desktop.in.in Makefile - $(edit) $< >$@ + @$(edit) $< >$@ footlogo-floaters.desktop.in: footlogo-floaters.desktop.in.in Makefile - $(edit) $< >$@ + @$(edit) $< >$@ gnomelogo-floaters.desktop.in: gnomelogo-floaters.desktop.in.in Makefile - $(edit) $< >$@ + @$(edit) $< >$@ personal-slideshow.desktop.in: personal-slideshow.desktop.in.in Makefile - $(edit) $< >$@ + @$(edit) $< >$@ popsquares.desktop.in: popsquares.desktop.in.in Makefile - $(edit) $< >$@ - -@INTLTOOL_DESKTOP_RULE@ + @$(edit) $< >$@ edit = sed \ -e 's|@SLIDESHOW_COSMOS_DIR[@]|$(SLIDESHOW_COSMOS_DIR)|g' \ @@ -41,6 +39,9 @@ edit = sed \ -e 's|@FLOATERS_FOOT_GNOME_LOGO_IMAGE[@]|$(FLOATERS_FOOT_GNOME_LOGO_IMAGE)|g' \ -e 's|@SAVERDIR[@]|$(privlibexecdir)|g' +%.desktop: %.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + themesdir = $(datadir)/applications/screensavers themes_in_files = \ cosmos-slideshow.desktop.in \ diff --git a/savers/cosmos-slideshow.desktop.in.in b/savers/cosmos-slideshow.desktop.in.in index faf095d..4d43957 100644 --- a/savers/cosmos-slideshow.desktop.in.in +++ b/savers/cosmos-slideshow.desktop.in.in @@ -1,12 +1,12 @@ [Desktop Entry] -_Name=Cosmos -_Comment=Display a slideshow of pictures of the cosmos +Name=Cosmos +Comment=Display a slideshow of pictures of the cosmos Exec=@SAVERDIR@/slideshow --location=@SLIDESHOW_COSMOS_DIR@ TryExec=@SAVERDIR@/slideshow StartupNotify=false Terminal=false Type=Application Categories=Screensaver; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;slideshow;cosmos; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;slideshow;cosmos; OnlyShowIn=MATE; diff --git a/savers/footlogo-floaters.desktop.in.in b/savers/footlogo-floaters.desktop.in.in index d9ef513..dc3a4e2 100644 --- a/savers/footlogo-floaters.desktop.in.in +++ b/savers/footlogo-floaters.desktop.in.in @@ -1,12 +1,12 @@ [Desktop Entry] -_Name=Floating MATE -_Comment=Bubbles the MATE logo around the screen +Name=Floating MATE +Comment=Bubbles the MATE logo around the screen Exec=@SAVERDIR@/floaters @FLOATERS_FOOT_LOGO_IMAGE@ TryExec=@SAVERDIR@/floaters StartupNotify=false Terminal=false Type=Application Categories=Screensaver; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;logo;bubbles; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;logo;bubbles; OnlyShowIn=MATE; diff --git a/savers/gnomelogo-floaters.desktop.in.in b/savers/gnomelogo-floaters.desktop.in.in index 7945a89..1ff1bf9 100644 --- a/savers/gnomelogo-floaters.desktop.in.in +++ b/savers/gnomelogo-floaters.desktop.in.in @@ -1,12 +1,12 @@ [Desktop Entry] -_Name=Floating GNOME -_Comment=Bubbles the GNOME logo around the screen +Name=Floating GNOME +Comment=Bubbles the GNOME logo around the screen Exec=@SAVERDIR@/floaters @FLOATERS_FOOT_GNOME_LOGO_IMAGE@ TryExec=@SAVERDIR@/floaters StartupNotify=false Terminal=false Type=Application Categories=Screensaver; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;GNOME;logo;bubbles; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;GNOME;logo;bubbles; OnlyShowIn=MATE; diff --git a/savers/personal-slideshow.desktop.in.in b/savers/personal-slideshow.desktop.in.in index 5be0019..6e84034 100644 --- a/savers/personal-slideshow.desktop.in.in +++ b/savers/personal-slideshow.desktop.in.in @@ -1,12 +1,12 @@ [Desktop Entry] -_Name=Pictures folder -_Comment=Display a slideshow from your Pictures folder +Name=Pictures folder +Comment=Display a slideshow from your Pictures folder Exec=@SAVERDIR@/slideshow TryExec=@SAVERDIR@/slideshow StartupNotify=false Terminal=false Type=Application Categories=Screensaver; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;custom;slideshow;pictures;folder; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;custom;slideshow;pictures;folder; OnlyShowIn=MATE; diff --git a/savers/popsquares.desktop.in.in b/savers/popsquares.desktop.in.in index 0c46df5..3a50f5b 100644 --- a/savers/popsquares.desktop.in.in +++ b/savers/popsquares.desktop.in.in @@ -1,12 +1,12 @@ [Desktop Entry] -_Name=Pop art squares -_Comment=A pop-art-ish grid of pulsing colors. +Name=Pop art squares +Comment=A pop-art-ish grid of pulsing colors. Exec=@SAVERDIR@/popsquares TryExec=@SAVERDIR@/popsquares StartupNotify=false Terminal=false Type=Application Categories=Screensaver; -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;grid;pulsing;colors; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;grid;pulsing;colors; OnlyShowIn=MATE; diff --git a/src/Makefile.am b/src/Makefile.am index 3de1112..5c19bb7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -56,7 +56,8 @@ noinst_PROGRAMS = \ desktopdir = $(sysconfdir)/xdg/autostart desktop_in_files = mate-screensaver.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) -@INTLTOOL_DESKTOP_RULE@ +$(desktop_DATA): $(desktop_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ mate_screensaver_command_SOURCES = \ mate-screensaver-command.c \ diff --git a/src/mate-screensaver.desktop.in.in b/src/mate-screensaver.desktop.in.in index 1c4ea43..007dd31 100644 --- a/src/mate-screensaver.desktop.in.in +++ b/src/mate-screensaver.desktop.in.in @@ -1,13 +1,14 @@ [Desktop Entry] Type=Application -_Name=Screensaver -_Comment=Launch screensaver and locker program +Name=Screensaver +Comment=Launch screensaver and locker program +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon=preferences-desktop-screensaver Exec=mate-screensaver OnlyShowIn=MATE; NoDisplay=true -#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -_Keywords=MATE;screensaver;locker; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=MATE;screensaver;locker; X-MATE-Autostart-Phase=Application X-MATE-Autostart-Notify=true X-MATE-Bugzilla-Bugzilla=MATE -- cgit v1.2.1