diff --git a/.gitignore b/.gitignore
index 043127afe..8350c5ee8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,8 +41,14 @@ stamp-h1
*~
stamp-it
.intltool-merge-cache
+ABOUT-NLS
POTFILES
+Makevars.template
+po/*.header
po/*.pot
+po/*.sed
+po/*.sin
+Rules-quot
libmutter.pc
mutter
mutter-restart-helper
diff --git a/configure.ac b/configure.ac
index 2756145de..df36620ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,9 +43,11 @@ GETTEXT_PACKAGE=mutter
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
+AM_GNU_GETTEXT_VERSION([0.19.6])
+AM_GNU_GETTEXT([external])
+
LT_PREREQ([2.2.6])
LT_INIT([disable-static])
-IT_PROG_INTLTOOL([0.41])
AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_INSTALL
diff --git a/data/50-mutter-navigation.xml.in b/data/50-mutter-navigation.xml
similarity index 54%
rename from data/50-mutter-navigation.xml.in
rename to data/50-mutter-navigation.xml
index 65742299c..1f9161b36 100644
--- a/data/50-mutter-navigation.xml.in
+++ b/data/50-mutter-navigation.xml
@@ -1,140 +1,140 @@
+ description="Move window to workspace 1" />
+ description="Move window to workspace 2" />
+ description="Move window to workspace 3" />
+ description="Move window to workspace 4" />
+ description="Move window to last workspace" />
+ description="Move window one workspace to the left" />
+ description="Move window one workspace to the right" />
+ description="Move window one workspace up" />
+ description="Move window one workspace down" />
+ description="Move window one monitor to the left" />
+ description="Move window one monitor to the right" />
+ description="Move window one monitor up" />
+ description="Move window one monitor down" />
+ description="Switch applications"/>
+ description="Switch to previous application"/>
+ description="Switch windows"/>
+ description="Switch to previous window"/>
+ description="Switch windows of an application"/>
+ description="Switch to previous window of an application"/>
+ description="Switch system controls"/>
+ description="Switch to previous system control"/>
+ description="Switch windows directly"/>
+ description="Switch directly to previous window"/>
+ description="Switch windows of an app directly"/>
+ description="Switch directly to previous window of an app"/>
+ description="Switch system controls directly"/>
+ description="Switch directly to previous system control"/>
+ description="Hide all normal windows"/>
+ description="Switch to workspace 1" />
+ description="Switch to workspace 2" />
+ description="Switch to workspace 3" />
+ description="Switch to workspace 4" />
+ description="Switch to last workspace" />
+ description="Move to workspace left" />
+ description="Move to workspace right" />
+ description="Move to workspace above" />
+ description="Move to workspace below" />
diff --git a/data/50-mutter-system.xml.in b/data/50-mutter-system.xml
similarity index 52%
rename from data/50-mutter-system.xml.in
rename to data/50-mutter-system.xml
index b8f4e6bda..07da17a89 100644
--- a/data/50-mutter-system.xml.in
+++ b/data/50-mutter-system.xml
@@ -1,13 +1,13 @@
-
+
-
+
diff --git a/data/50-mutter-windows.xml b/data/50-mutter-windows.xml
new file mode 100644
index 000000000..a9316d1e9
--- /dev/null
+++ b/data/50-mutter-windows.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/50-mutter-windows.xml.in b/data/50-mutter-windows.xml.in
deleted file mode 100644
index 6679958a7..000000000
--- a/data/50-mutter-windows.xml.in
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/data/Makefile.am b/data/Makefile.am
index 699a83401..5188765a8 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -3,21 +3,24 @@ desktopfiles_in_files = \
desktopfilesdir = $(datadir)/applications
desktopfiles_DATA = $(desktopfiles_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
+%.desktop:%.desktop.in
+ $(AM_V_GET) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
-xml_in_files = \
- 50-mutter-navigation.xml.in \
- 50-mutter-system.xml.in \
- 50-mutter-windows.xml.in
xmldir = $(GNOME_KEYBINDINGS_KEYSDIR)
-xml_DATA = $(xml_in_files:.xml.in=.xml)
+xml_DATA = \
+ 50-mutter-navigation.xml \
+ 50-mutter-system.xml \
+ 50-mutter-windows.xml
gschema_in_files = \
org.gnome.mutter.gschema.xml.in \
org.gnome.mutter.wayland.gschema.xml.in
gsettings_SCHEMAS = $(gschema_in_files:.xml.in=.xml)
-@INTLTOOL_XML_NOMERGE_RULE@
+%.gschema.xml: %.gschema.xml.in Makefile
+ $(AM_V_GEN) sed -e 's|@GETTEXT_DOMAIN[@]|$(GETTEXT_DOMAIN)|g' \
+ $< > $@ || rm $@
+
@GSETTINGS_RULES@
convertdir = $(datadir)/GConf/gsettings
@@ -25,11 +28,10 @@ convert_DATA = mutter-schemas.convert
CLEANFILES = \
$(desktopfiles_DATA) \
- $(gsettings_SCHEMAS) \
- $(xml_DATA)
+ $(gsettings_SCHEMAS)
EXTRA_DIST = \
$(convert_DATA) \
$(desktopfiles_in_files) \
$(gschema_in_files) \
- $(xml_in_files)
+ $(xml_DATA)
diff --git a/data/mutter.desktop.in b/data/mutter.desktop.in
index 3bfb88d2d..e3ae07009 100644
--- a/data/mutter.desktop.in
+++ b/data/mutter.desktop.in
@@ -1,6 +1,6 @@
[Desktop Entry]
Type=Application
-_Name=Mutter
+Name=Mutter
Exec=mutter
NoDisplay=true
# name of loadable control center module
diff --git a/data/org.gnome.mutter.gschema.xml.in b/data/org.gnome.mutter.gschema.xml.in
index cffeeb8c5..3e3f8f790 100644
--- a/data/org.gnome.mutter.gschema.xml.in
+++ b/data/org.gnome.mutter.gschema.xml.in
@@ -4,102 +4,102 @@
'Super_L'
- <_summary>Modifier to use for extended window management operations
- <_description>
+ Modifier to use for extended window management operations
+
This key will initiate the "overlay", which is a combination window
overview and application launching system. The default is intended
to be the "Windows key" on PC hardware.
It's expected that this binding either the default or set to
the empty string.
-
+
false
- <_summary>Attach modal dialogs
- <_description>
+ Attach modal dialogs
+
When true, instead of having independent titlebars, modal dialogs
appear attached to the titlebar of the parent window and are moved
together with the parent window.
-
+
false
- <_summary>Enable edge tiling when dropping windows on screen edges
- <_description>
+ Enable edge tiling when dropping windows on screen edges
+
If enabled, dropping windows on vertical screen edges maximizes them
vertically and resizes them horizontally to cover half of the available
area. Dropping windows on the top screen edge maximizes them completely.
-
+
false
- <_summary>Workspaces are managed dynamically
- <_description>
+ Workspaces are managed dynamically
+
Determines whether workspaces are managed dynamically or
whether there's a static number of workspaces (determined
by the num-workspaces key in org.gnome.desktop.wm.preferences).
-
+
false
- <_summary>Workspaces only on primary
- <_description>
+ Workspaces only on primary
+
Determines whether workspace switching should happen for windows
on all monitors or only for windows on the primary monitor.
-
+
false
- <_summary>No tab popup
- <_description>
+ No tab popup
+
Determines whether the use of popup and highlight frame should
be disabled for window cycling.
-
+
false
- <_summary>Delay focus changes until the pointer stops moving
- <_description>
+ Delay focus changes until the pointer stops moving
+
If set to true, and the focus mode is either "sloppy" or "mouse"
then the focus will not be changed immediately when entering a
window, but only after the pointer stops moving.
-
+
10
- <_summary>Draggable border width
- <_description>
+ Draggable border width
+
The amount of total draggable borders. If the theme's visible
borders are not enough, invisible borders will be added to meet
this value.
-
+
true
- <_summary>Auto maximize nearly monitor sized windows
- <_description>
+ Auto maximize nearly monitor sized windows
+
If enabled, new windows that are initially the size of the monitor
automatically get maximized.
-
+
false
- <_summary>Place new windows in the center
- <_description>
+ Place new windows in the center
+
When true, the new windows will always be put in the center of the
active screen of the monitor.
-
+
@@ -117,12 +117,12 @@
[]
- <_summary>Select window from tab popup
+ Select window from tab popup
[]
- <_summary>Cancel tab popup
+ Cancel tab popup
diff --git a/data/org.gnome.mutter.wayland.gschema.xml.in b/data/org.gnome.mutter.wayland.gschema.xml.in
index d7c9ed4a0..44334d664 100644
--- a/data/org.gnome.mutter.wayland.gschema.xml.in
+++ b/data/org.gnome.mutter.wayland.gschema.xml.in
@@ -3,51 +3,51 @@
gettext-domain="@GETTEXT_DOMAIN@">
F1']]]>
- <_summary>Switch to VT 1
+ Switch to VT 1
F2']]]>
- <_summary>Switch to VT 2
+ Switch to VT 2
F3']]]>
- <_summary>Switch to VT 3
+ Switch to VT 3
F4']]]>
- <_summary>Switch to VT 4
+ Switch to VT 4
F5']]]>
- <_summary>Switch to VT 5
+ Switch to VT 5
F6']]]>
- <_summary>Switch to VT 6
+ Switch to VT 6
F7']]]>
- <_summary>Switch to VT 7
+ Switch to VT 7
F8']]]>
- <_summary>Switch to VT 8
+ Switch to VT 8
F9']]]>
- <_summary>Switch to VT 9
+ Switch to VT 9
F10']]]>
- <_summary>Switch to VT 10
+ Switch to VT 10
F11']]]>
- <_summary>Switch to VT 11
+ Switch to VT 11
F12']]]>
- <_summary>Switch to VT 12
+ Switch to VT 12
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 000000000..2ea1a45d2
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,68 @@
+# 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 \
+ --flag=g_dngettext:2:pass-c-format \
+ --flag=g_strdup_printf:1:c-format \
+ --flag=g_string_printf:2:c-format \
+ --flag=g_string_append_printf:2:c-format \
+ --flag=g_error_new:3:c-format \
+ --flag=g_set_error:4:c-format \
+ --flag=g_markup_printf_escaped:1:c-format \
+ --flag=g_log:3:c-format \
+ --flag=g_print:1:c-format \
+ --flag=g_printerr:1:c-format \
+ --flag=g_printf:1:c-format \
+ --flag=g_fprintf:2:c-format \
+ --flag=g_sprintf:2:c-format \
+ --flag=g_snprintf:3:c-format
+
+
+# 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 = Translation copyright holder
+# 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 = http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&keywords=I18N+L10N&component=general
+
+# 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 =
+
+# Ignore the timestamp of the .pot file, as git clones do not have
+# deterministic timestamps, and .po files are updated by translators
+# (only) in GNOME projects.
+PO_DEPENDS_ON_POT = no
+
+# 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 = no
diff --git a/po/POTFILES.in b/po/POTFILES.in
index fdfdb4ea0..a463e6418 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,8 +1,8 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
-data/50-mutter-navigation.xml.in
-data/50-mutter-system.xml.in
-data/50-mutter-windows.xml.in
+data/50-mutter-navigation.xml
+data/50-mutter-system.xml
+data/50-mutter-windows.xml
data/mutter.desktop.in
data/org.gnome.mutter.gschema.xml.in
data/org.gnome.mutter.wayland.gschema.xml.in