[gtk+] gtkbuilder: Install gettext ITS files



commit f9e6ccd59256ef86bdfa3bfe9810df35f7ee00fe
Author: Daiki Ueno <dueno src gnome org>
Date:   Wed Jan 6 18:09:04 2016 +0900

    gtkbuilder: Install gettext ITS files
    
    Recent gettext has a feature to allow consumer projects to supply their
    own string extraction rules for XML files, in ITS format.
    
    Gettext still ships the rule for *.ui, but it would be better
    maintained in the upstream project.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=760202

 gtk/Makefile.am    |    5 +++++
 gtk/gtkbuilder.its |   23 +++++++++++++++++++++++
 gtk/gtkbuilder.loc |    6 ++++++
 3 files changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index c851656..48815fe 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1114,6 +1114,11 @@ pkgdata_DATA = gtkbuilder.rng
 
 EXTRA_DIST += gtkbuilder.rnc gtkbuilder.rng
 
+itsdir = $(datadir)/gettext/its
+its_DATA = gtkbuilder.loc gtkbuilder.its
+
+EXTRA_DIST += $(its_DATA)
+
 templates =                            \
        $(inspector_templates)          \
        ui/gtkapplication-quartz.ui     \
diff --git a/gtk/gtkbuilder.its b/gtk/gtkbuilder.its
new file mode 100644
index 0000000..689ef0d
--- /dev/null
+++ b/gtk/gtkbuilder.its
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its";
+           xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0";
+           version="2.0">
+  <its:translateRule selector="/interface" translate="no"/>
+  <its:translateRule selector="/interface//*[ translatable = 'yes']"
+                     translate="yes"/>
+
+  <!-- The 'comment' attribute should be extracted as a translator comment.  -->
+  <its:locNoteRule selector="/interface//*[ comments]"
+                   locNotePointer="@comments"
+                   locNoteType="alert"/>
+  <gt:escapeRule selector="/interface//@comments" escape="no"/>
+
+  <!-- The 'context' attribute should be extracted as msgctxt.  -->
+  <gt:contextRule selector="/interface//*[ context]" contextPointer="@context"/>
+
+  <its:preserveSpaceRule selector="/interface" space="preserve"/>
+
+  <!-- Extracted strings are consumed by the library and are never
+       merged back; we don't want to escape special characters.  -->
+  <gt:escapeRule selector="/interface" escape="no"/>
+</its:rules>
diff --git a/gtk/gtkbuilder.loc b/gtk/gtkbuilder.loc
new file mode 100644
index 0000000..5d77e48
--- /dev/null
+++ b/gtk/gtkbuilder.loc
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+  <locatingRule name="GtkBuilder" pattern="*.ui">
+    <documentRule localName="interface" target="gtkbuilder.its"/>
+  </locatingRule>
+</locatingRules>


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