[gnome-control-center] keyboard: Add gettext support for keybinding descriptions



commit f7fad92c3ef00134e59f4cca5d38387e6784a0fc
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Jul 22 02:04:09 2016 +0200

    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

 panels/keyboard/Makefile.am           |   10 +++++++++-
 panels/keyboard/gnome-keybindings.its |   11 +++++++++++
 panels/keyboard/gnome-keybindings.loc |    6 ++++++
 3 files changed, 26 insertions(+), 1 deletions(-)
---
diff --git a/panels/keyboard/Makefile.am b/panels/keyboard/Makefile.am
index 636fed5..9d4d772 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 0000000..4d4b7c6
--- /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 0000000..b75fb68
--- /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>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]