gsettings: Install gettext ITS rules

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 *.gschema.xml, but it would be better
maintained in the upstream project.

See the gettext documentation for details:
http://www.gnu.org/software/gettext/manual/html_node/Preparing-ITS-Rules.html

https://bugzilla.gnome.org/show_bug.cgi?id=760199
This commit is contained in:
Daiki Ueno 2016-01-05 11:07:05 +09:00
parent ea5ca11761
commit 50645b724a
3 changed files with 38 additions and 0 deletions

View File

@ -746,6 +746,9 @@ gsettings_SOURCES = gsettings-tool.c
schemadir = $(datadir)/glib-2.0/schemas
dist_schema_DATA = gschema.dtd
itsdir = $(datadir)/gettext/its
dist_its_DATA = gschema.loc gschema.its
# ------------------------------------------------------------------------
# gdbus(1) tool

25
gio/gschema.its Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0"?>
<!--
See the gettext documentation for the file format:
http://www.gnu.org/software/gettext/manual/html_node/Preparing-ITS-Rules.html
-->
<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="/schemalist" translate="no"/>
<its:translateRule selector="//summary | //description" translate="yes"/>
<its:translateRule selector="//default[@l10n]" translate="yes"/>
<!-- The 'context' attribute should be extracted as msgctxt. -->
<gt:contextRule selector="//default[@context]" contextPointer="@context"/>
<gt:escapeRule selector="//default/@context" escape="no"/>
<!-- Remove whitespaces around the default value. -->
<gt:preserveSpaceRule selector="//default" space="trim"/>
<!-- Extracted strings are consumed by the library and are never
merged back; we don't want to escape special characters. -->
<gt:escapeRule selector="/schemalist" escape="no"/>
</its:rules>

10
gio/gschema.loc Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!--
See the gettext documentation for the file format:
http://www.gnu.org/software/gettext/manual/html_node/Preparing-ITS-Rules.html
-->
<locatingRules>
<locatingRule name="GSettings" pattern="*.gschema.xml">
<documentRule localName="schemalist" target="gschema.its"/>
</locatingRule>
</locatingRules>