gimp-help-2 r2456 - in trunk: . src/preface stylesheets
- From: ulfehlert svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp-help-2 r2456 - in trunk: . src/preface stylesheets
- Date: Thu, 17 Apr 2008 19:22:42 +0100 (BST)
Author: ulfehlert
Date: Thu Apr 17 19:22:42 2008
New Revision: 2456
URL: http://svn.gnome.org/viewvc/gimp-help-2?rev=2456&view=rev
Log:
2008-04-17 Ulf-D. Ehlert <ulfehlert svn gnome org>
* AUTHORS (removed)
* src/preface/authors.xml (removed)
* src/preface/titles.xml (added)
* stylesheets/authors_docbook.xsl
* Makefile.am: autogenerate "AUTHORS" and "src/preface/authors.xml",
where translatable phrases have been splitted off to the new file
"src/preface/titles.xml"; this should fix bug #515535
Added:
trunk/src/preface/titles.xml (contents, props changed)
Removed:
trunk/AUTHORS
trunk/src/preface/authors.xml
Modified:
trunk/ChangeLog
trunk/Makefile.am
trunk/stylesheets/authors_docbook.xsl
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Thu Apr 17 19:22:42 2008
@@ -35,9 +35,12 @@
src_find_predicates = \
-name '.svn' -prune \
-o \
+ -name '$(notdir $(AUTHORS_DOCBOOK_XML))' -prune \
+ -o \
-name '*.xml' -print
-XML_FILES := $(shell cd $(top_srcdir) && find src $(src_find_predicates))
+XML_FILES = $(shell cd $(top_srcdir) && find src $(src_find_predicates)) \
+ $(AUTHORS_DOCBOOK_XML)
COMMON_CSS_FILES = \
stylesheets/gimp-help-plain.css \
@@ -57,6 +60,7 @@
stylesheets/profile.xsl
EXTRA_DIST = \
+ AUTHORS \
HACKING \
INSTALL \
TERMINOLOGY \
@@ -339,11 +343,21 @@
#### AUTHORS file creation
-authors: stylesheets/authors.xml stylesheets/authors_text.xsl
- @echo "Creating AUTHORS"
- $(XSLTPROC) stylesheets/authors_text.xsl stylesheets/authors.xml > AUTHORS
- @echo "Creating src/preface/authors.xml"
- $(XSLTPROC) stylesheets/authors_docbook.xsl stylesheets/authors.xml > $(AUTHORS_DOCBOOK_XML)
+AUTHORS: stylesheets/authors.xml stylesheets/authors_text.xsl $(AUTHORS_DOCBOOK_XML)
+ @echo "Creating $@"
+ @$(XSLTPROC) \
+ $(XSLTFLAGS) \
+ $(srcdir)/stylesheets/authors_text.xsl \
+ $< \
+ > $@
+
+$(AUTHORS_DOCBOOK_XML): stylesheets/authors.xml src/preface/titles.xml stylesheets/authors_*.xsl
+ @echo "Creating $@"
+ @$(XSLTPROC) \
+ $(XSLTFLAGS) \
+ $(srcdir)/stylesheets/authors_docbook.xsl \
+ $< \
+ > $@
#### Installation
@@ -387,7 +401,7 @@
check-local: validate
if GIMP_HELP_BUILD
-all-local: validate html-local index
+all-local: validate html-local index AUTHORS
endif
dist-hook: dist-copy-images
Added: trunk/src/preface/titles.xml
==============================================================================
--- (empty file)
+++ trunk/src/preface/titles.xml Thu Apr 17 19:22:42 2008
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE gimp-help:i18n-phrases [
+<!ENTITY % URI "'http://www.gimp.org/docs'">
+<!ELEMENT gimp-help:i18n-phrases (i18n-record*)>
+<!ATTLIST gimp-help:i18n-phrases
+ xmlns:gimp-help CDATA #FIXED "%URI"
+ linguas CDATA #REQUIRED>
+<!ELEMENT i18n-record (l10n-phrase*)>
+<!ATTLIST i18n-record name CDATA #REQUIRED>
+<!ELEMENT l10n-phrase (#PCDATA)>
+<!ATTLIST l10n-phrase lang CDATA #REQUIRED>
+]>
+
+
+<gimp-help:i18n-phrases xmlns:gimp-help="http://www.gimp.org/docs"
+ linguas="en;cs;de;es;fr;it;ko;nl;no">
+
+ <!-- Do not touch the "name" attributes!
+ They are used by the stylesheet (stylesheets/authors_docbook.xsl)
+ to identify and print the authors with the corresponding role. -->
+
+ <i18n-record name="authors">
+ <l10n-phrase lang="en">
+ GIMP User Manual Authors and Contributors
+ </l10n-phrase>
+ <l10n-phrase lang="cs">
+ AutoÅi a pÅispÄvatelà k uÅivatelskà pÅÃruÄce GIMPu
+ </l10n-phrase>
+ <l10n-phrase lang="de">
+ Autoren und Mitwirkende des GIMP-Benutzerhandbuches
+ </l10n-phrase>
+ <l10n-phrase lang="es">
+ Autores y contribuyentes al manual de usuario del GIMP
+ </l10n-phrase>
+ <l10n-phrase lang="fr">
+ Auteurs et contributeurs du Guide de l'utilisateur Gimp
+ </l10n-phrase>
+ <l10n-phrase lang="it">
+ Autori e collaboratori del manuale utente di GIMP
+ </l10n-phrase>
+ <l10n-phrase lang="ko">êí ììì ìëì ìì ë êêì</l10n-phrase>
+ <l10n-phrase lang="nl">
+ Schrijvers en medewerkers aan de GIMP Handleiding
+ </l10n-phrase>
+ <l10n-phrase lang="no">
+ Personane bak <acronym>GIMP</acronym>-handboka
+ </l10n-phrase>
+ </i18n-record>
+
+ <i18n-record name="creators">
+ <l10n-phrase lang="en">Content Writers</l10n-phrase>
+ <l10n-phrase lang="cs">AutoÅi obsahu</l10n-phrase>
+ <l10n-phrase lang="de">Autoren und Mitwirkende</l10n-phrase>
+ <l10n-phrase lang="es">Escritores del contenido</l10n-phrase>
+ <l10n-phrase lang="fr">RÃdacteurs du contenu</l10n-phrase>
+ <l10n-phrase lang="it">Autori</l10n-phrase>
+ <l10n-phrase lang="ko">ëë ìì</l10n-phrase>
+ <l10n-phrase lang="nl">Schrijvers en vertalers</l10n-phrase>
+ <l10n-phrase lang="no">Forfattarane</l10n-phrase>
+ </i18n-record>
+
+ <i18n-record name="documenters">
+ <l10n-phrase lang="en">Proof Reading</l10n-phrase>
+ <l10n-phrase lang="cs">Korektury</l10n-phrase>
+ <l10n-phrase lang="de">Korrekturleser</l10n-phrase>
+ <l10n-phrase lang="fr">Relectures</l10n-phrase>
+ <l10n-phrase lang="it">Correzione e revisione</l10n-phrase>
+ <l10n-phrase lang="ko">êì</l10n-phrase>
+ <l10n-phrase lang="nl">Proef lezers</l10n-phrase>
+ <l10n-phrase lang="no">Korrekturlesing</l10n-phrase>
+ </i18n-record>
+
+ <i18n-record name="artists">
+ <l10n-phrase lang="en">Graphics, Stylesheets</l10n-phrase>
+ <l10n-phrase lang="cs">Grafika a styly</l10n-phrase>
+ <l10n-phrase lang="de">Grafik, Stylesheets</l10n-phrase>
+ <l10n-phrase lang="es">GrÃficos, hojas de estilo</l10n-phrase>
+ <l10n-phrase lang="fr">Graphismes, Feuilles de Style</l10n-phrase>
+ <l10n-phrase lang="it">Grafica e fogli di stile</l10n-phrase>
+ <l10n-phrase lang="ko">êëíì, ìíììí</l10n-phrase>
+ <l10n-phrase lang="nl">Afbeeldingen en Stijlbladen</l10n-phrase>
+ <l10n-phrase lang="no">Grafikk og stilark</l10n-phrase>
+ </i18n-record>
+
+ <i18n-record name="technicans">
+ <l10n-phrase lang="en">Build System, Technical Contributions</l10n-phrase>
+ <l10n-phrase lang="cs">Technickà ÅeÅenÃ</l10n-phrase>
+ <l10n-phrase lang="de">Technische UnterstÃtzung</l10n-phrase>
+ <l10n-phrase lang="es">Contribuciones tÃcnicas</l10n-phrase>
+ <l10n-phrase lang="fr">Contributions techniques</l10n-phrase>
+ <l10n-phrase lang="it">Contributi tecnici</l10n-phrase>
+ <l10n-phrase lang="ko">ììí êì, êì ìì</l10n-phrase>
+ <l10n-phrase lang="nl">Technische Ondersteuning</l10n-phrase>
+ <l10n-phrase lang="no">Teknisk stÃtte</l10n-phrase>
+ </i18n-record>
+
+</gimp-help:i18n-phrases>
Modified: trunk/stylesheets/authors_docbook.xsl
==============================================================================
--- trunk/stylesheets/authors_docbook.xsl (original)
+++ trunk/stylesheets/authors_docbook.xsl Thu Apr 17 19:22:42 2008
@@ -5,140 +5,151 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://purl.org/dc/elements/1.1/"
- exclude-result-prefixes="dc">
- <xsl:include href="authors_text.xsl" />
+ xmlns:gimp-help="http://www.gimp.org/docs"
+ exclude-result-prefixes="dc gimp-help">
- <xsl:output method="xml" indent="yes" />
+ <!-- importing instead of including should avoid
+ any problems with duplicate definitions -->
+ <xsl:import href="authors_text.xsl" />
+ <xsl:output method="xml" indent="yes"
+ doctype-public="-//OASIS//DTD DocBook XML V4.3//EN"
+ doctype-system="http://www.docbook.org/xml/4.3/docbookx.dtd"/>
+
+ <xsl:param name="roles">creator documenter artist technican</xsl:param>
+ <xsl:param name="print.roles.with.lang">creator documenter</xsl:param>
+
+ <!-- read translations of titles and phrases -->
+ <xsl:variable name="i18n"
+ select="document('../src/preface/titles.xml')"/>
+
+ <!-- ============================================================= -->
<xsl:template match="/dc:gimp-authors">
- <xsl:text disable-output-escaping="yes">
- <![CDATA[
- <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.docbook.org/xml/4.3/docbookx.dtd">
- <!-- do not edit this file directly -->
- <!-- it was generated automatically from authors.xml
- in the root of gimp-help-2 -->
- ]]>
- </xsl:text>
- <sect1 id="gimp-team" lang="en;es;cs;de;fr;it;ko;nl;no">
+ <!-- ============================================================= -->
+<xsl:comment>
+ Do not edit this file directly. It was generated automatically
+ from "stylesheets/authors.xml".
+ Translations are read from "src/preface/titles.xml".
+</xsl:comment>
+
+ <sect1 id="gimp-team" lang="{$i18n/gimp-help:i18n-phrases/@linguas}">
<title>
- <phrase lang="en">GIMP User Manual Authors and Contributors</phrase>
- <phrase lang="cs">
- AutoÅi a pÅispÄvatelà k uÅivatelskà pÅÃruÄce GIMPu
- </phrase>
- <phrase lang="de">
- Autoren und Mitwirkende des GIMP-Benutzerhandbuches
- </phrase>
- <phrase lang="es">
- Autores y contribuyentes al manual de usuario del GIMP
- </phrase>
- <phrase lang="fr">
- Auteurs et contributeurs du Guide de l'utilisateur Gimp
- </phrase>
- <phrase lang="it">
- Autori e collaboratori del manuale utente di GIMP
- </phrase>
- <phrase lang="ko">êí ììì ìëì ìì ë êêì</phrase>
- <phrase lang="nl">
- Schrijvers en medewerkers aan de GIMP Handleiding
- </phrase>
- <phrase lang="no">
- Personane bak <acronym>GIMP</acronym>-handboka
- </phrase>
+ <xsl:for-each
+ select="$i18n/gimp-help:i18n-phrases/i18n-record[ name='authors']/l10n-phrase">
+ <phrase lang="{ lang}">
+ <xsl:value-of select="text()"/>
+ </phrase>
+ </xsl:for-each>
</title>
<variablelist>
- <varlistentry>
- <term lang="en">Content Writers</term>
- <term lang="cs">AutoÅi obsahu</term>
- <term lang="de">Autoren und Mitwirkende</term>
- <term lang="es">Escritores del contenido</term>
- <term lang="fr">RÃdacteurs du contenu</term>
- <term lang="it">Autori</term>
- <term lang="ko">ëë ìì</term>
- <term lang="nl">Schrijvers en vertalers</term>
- <term lang="no">Forfattarane</term>
- <listitem>
- <para>
- <itemizedlist>
- <xsl:apply-templates select="//dc:creator" />
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term lang="en">Proof Reading</term>
- <term lang="cs">Korektury</term>
- <term lang="de">Korrekturleser</term>
- <term lang="fr">Relectures</term>
- <term lang="it">Correzione e revisione</term>
- <term lang="ko">êì</term>
- <term lang="nl">Proef lezers</term>
- <term lang="no">Korrekturlesing</term>
- <listitem>
- <para>
- <itemizedlist>
- <xsl:apply-templates select="//dc:contributor[contains(@role, 'documenter')]" />
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term lang="en">Graphics, Stylesheets</term>
- <term lang="cs">Grafika a styly</term>
- <term lang="de">Grafik, Stylesheets</term>
- <term lang="es">GrÃficos, hojas de estilo</term>
- <term lang="fr">Graphismes, Feuilles de Style</term>
- <term lang="it">Grafica e fogli di stile</term>
- <term lang="ko">êëíì, ìíììí</term>
- <term lang="nl">Afbeeldingen en Stijlbladen</term>
- <term lang="no">Grafikk og stilark</term>
-
- <listitem>
- <para>
- <itemizedlist>
- <xsl:apply-templates select="//dc:contributor[contains(@role, 'artist')]" />
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term lang="en">Build System, Technical Contributions</term>
- <term lang="cs">Technickà ÅeÅenÃ</term>
- <term lang="de">Technische UnterstÃtzung</term>
- <term lang="es">Contribuciones tÃcnicas</term>
- <term lang="fr">Contributions techniques</term>
- <term lang="it">Contributi tecnici</term>
- <term lang="ko">ììí êì, êì ìì</term>
- <term lang="nl">Technische Ondersteuning</term>
- <term lang="no">Teknisk stÃtte</term>
-
- <listitem>
- <para>
- <itemizedlist>
- <xsl:apply-templates select="//dc:contributor[contains(@role, 'technican')]" />
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
+ <!-- create recursively "varlistentry" nodes -->
+ <xsl:call-template name="print.listentry">
+ <xsl:with-param name="roles">
+ <xsl:value-of select="normalize-space($roles)"/>
+ </xsl:with-param>
+ </xsl:call-template>
</variablelist>
</sect1>
</xsl:template>
- <!-- two simple transformations -->
- <xsl:template match="//dc:creator | //dc:contributor">
- <xsl:param name="print_language">1</xsl:param>
- <listitem>
- <para>
+ <!-- ============================================================= -->
+ <xsl:template name="print.listentry">
+ <!-- ============================================================= -->
+ <!-- parameter: space-separated list of roles -->
+ <xsl:param name="roles" select="''"/>
+ <xsl:variable name="role">
+ <xsl:choose>
+ <xsl:when test="contains($roles,' ')">
+ <xsl:value-of select="substring-before($roles,' ')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$roles"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:if test="$role != ''">
+ <varlistentry>
+ <term>
+ <xsl:variable name="name" select="concat($role,'s')"/>
+ <!-- extract localized phrases -->
+ <xsl:for-each
+ select="$i18n/gimp-help:i18n-phrases/i18n-record[ name=$name]/l10n-phrase">
+ <phrase lang="{ lang}">
+ <xsl:value-of select="text()"/>
+ </phrase>
+ </xsl:for-each>
+ </term>
+ <listitem>
+ <simplelist type="inline">
+ <!-- whether to print "John Doe (English)" or "John Doe" -->
+ <xsl:variable name="with.language">
+ <xsl:choose>
+ <xsl:when test="contains($print.roles.with.lang, $role)">
+ <xsl:value-of select="1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="0"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- extract authors and contributors -->
+ <xsl:choose>
+ <!-- technicans may be creators or contributors -->
+ <xsl:when test="$role = 'technican'">
+ <xsl:for-each select="//dc:contributor[contains(@role, $role)] |
+ //dc:creator[contains(@role, $role)]">
+ <xsl:call-template name="print.item">
+ <xsl:with-param name="print.language" select="$with.language"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <!-- print contributors? -->
+ <xsl:when test="$role != 'creator'">
+ <xsl:for-each select="//dc:contributor[contains(@role, $role)]">
+ <xsl:call-template name="print.item">
+ <xsl:with-param name="print.language" select="$with.language"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <!-- print creators -->
+ <xsl:otherwise>
+ <xsl:for-each select="//dc:creator">
+ <xsl:call-template name="print.item">
+ <xsl:with-param name="print.language" select="$with.language"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <!-- if necessary, print next list entry -->
+ <xsl:if test="contains($roles,' ')">
+ <xsl:call-template name="print.listentry">
+ <xsl:with-param name="roles">
+ <xsl:value-of select="substring-after($roles,' ')"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- ============================================================= -->
+ <xsl:template name="print.item">
+ <!-- ============================================================= -->
+ <xsl:param name="print.language">1</xsl:param>
+ <member>
+ <phrase>
<xsl:apply-templates match="." />
- <xsl:if test="@lang != '' and $print_language != 0">
- <xsl:text> (</xsl:text>
+ <xsl:if test="@lang != '' and $print.language != 0">
+ <xsl:text>Â(</xsl:text>
<xsl:call-template name="lang.split">
<xsl:with-param name="lang" select="@lang" />
</xsl:call-template>
<xsl:text>)</xsl:text>
</xsl:if>
- </para>
- </listitem>
+ </phrase>
+ </member>
</xsl:template>
</xsl:stylesheet>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]