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
This commit is contained in:
Daiki Ueno 2016-01-06 18:09:04 +09:00 committed by Matthias Clasen
parent b1f6925727
commit f9e6ccd592
3 changed files with 34 additions and 0 deletions

View File

@ -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 \

23
gtk/gtkbuilder.its Normal file
View File

@ -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>

6
gtk/gtkbuilder.loc Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<locatingRules>
<locatingRule name="GtkBuilder" pattern="*.ui">
<documentRule localName="interface" target="gtkbuilder.its"/>
</locatingRule>
</locatingRules>