summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2016-07-22 02:04:09 +0200
committerFlorian Müllner <fmuellner@gnome.org>2016-07-27 17:27:32 +0200
commitf7fad92c3ef00134e59f4cca5d38387e6784a0fc (patch)
treed2d14307c3566ca6ca1f89b9bc328db40f4f301c
parenteb9c110646de07127b934c82a76c0f3265d6e207 (diff)
downloadgnome-control-center-f7fad92c3ef00134e59f4cca5d38387e6784a0fc.tar.gz
keyboard: Add gettext support for keybinding descriptions
gettext can extract strings from xml file formats with the help of .its files. Provide appropriate rules so modules that install keybinding descriptions don't need to depend on intltool to extract translatable strings. https://bugzilla.gnome.org/show_bug.cgi?id=769066
-rw-r--r--panels/keyboard/Makefile.am10
-rw-r--r--panels/keyboard/gnome-keybindings.its11
-rw-r--r--panels/keyboard/gnome-keybindings.loc6
3 files changed, 26 insertions, 1 deletions
diff --git a/panels/keyboard/Makefile.am b/panels/keyboard/Makefile.am
index 636fed52c..9d4d772ec 100644
--- a/panels/keyboard/Makefile.am
+++ b/panels/keyboard/Makefile.am
@@ -35,6 +35,9 @@ desktopdir = $(datadir)/applications
Desktop_in_files = gnome-keyboard-panel.desktop.in
desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
+itsdir = $(datadir)/gettext/its
+its_DATA = gnome-keybindings.loc gnome-keybindings.its
+
@INTLTOOL_XML_NOMERGE_RULE@
xmldir = $(pkgdatadir)/keybindings
@@ -58,6 +61,11 @@ CLEANFILES = \
$(desktop_DATA) \
$(xml_DATA) \
$(BUILT_SOURCES)
-EXTRA_DIST = $(xml_in_files) gnome-keybindings.pc.in $(resource_files) keyboard.gresource.xml
+EXTRA_DIST = $(xml_in_files) \
+ gnome-keybindings.its \
+ gnome-keybindings.loc \
+ gnome-keybindings.pc.in \
+ $(resource_files) \
+ keyboard.gresource.xml
-include $(top_srcdir)/git.mk
diff --git a/panels/keyboard/gnome-keybindings.its b/panels/keyboard/gnome-keybindings.its
new file mode 100644
index 000000000..4d4b7c6ee
--- /dev/null
+++ b/panels/keyboard/gnome-keybindings.its
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0">
+ <its:translateRule selector="/KeyListEntries" translate="no"/>
+ <its:translateRule selector="/KeyListEntries/@name" translate="yes"/>
+ <its:translateRule selector="//KeyListEntry" translate="no"/>
+ <its:translateRule selector="//KeyListEntry/@description" translate="yes"/>
+
+ <!-- Extracted strings are consumed by the library and are never
+ merged back; we don't want to escape special characters. -->
+ <gt:escapeRule selector="/KeyListEntries" escape="no"/>
+</its:rules>
diff --git a/panels/keyboard/gnome-keybindings.loc b/panels/keyboard/gnome-keybindings.loc
new file mode 100644
index 000000000..b75fb688c
--- /dev/null
+++ b/panels/keyboard/gnome-keybindings.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="GnomeKeybindings" pattern="*.xml">
+ <documentRule localName="KeyListEntries" target="gnome-keybindings.its"/>
+ </locatingRule>
+</locatingRules>