Skip to content

Commit b0463a0

Browse files
committed
Make all boilerplate texts ready for i18n (for italian ebooks)
1 parent fe98a68 commit b0463a0

File tree

6 files changed

+149
-15
lines changed

6 files changed

+149
-15
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<i18n xmlns="http://www.daisy.org/ns/pipeline/data">
3+
<translation string="Bibliographische Angaben">
4+
<text xml:lang="de">Bibliographische Angaben</text>
5+
<text xml:lang="de-CH">Bibliographische Angaben</text>
6+
<text xml:lang="de-DE">Bibliographische Angaben</text>
7+
<text xml:lang="it">Informazioni bibliografiche</text>
8+
</translation>
9+
<translation string="Vorspann">
10+
<text xml:lang="de">Vorspann</text>
11+
<text xml:lang="de-CH">Vorspann</text>
12+
<text xml:lang="de-DE">Vorspann</text>
13+
<text xml:lang="it">Capo</text>
14+
</translation>
15+
<translation string="Nachspann">
16+
<text xml:lang="de">Nachspann</text>
17+
<text xml:lang="de-CH">Nachspann</text>
18+
<text xml:lang="de-DE">Nachspann</text>
19+
<text xml:lang="it">Rimorchio</text>
20+
</translation>
21+
<translation string="Im Original ohne Nummerierung">
22+
<text xml:lang="de">Im Original ohne Nummerierung</text>
23+
<text xml:lang="de-CH">Im Original ohne Nummerierung</text>
24+
<text xml:lang="de-DE">Im Original ohne Nummerierung</text>
25+
<text xml:lang="it">Nell'originale senza numerazione</text>
26+
</translation>
27+
<translation string="Ohne Überschrift">
28+
<text xml:lang="de">Ohne Überschrift</text>
29+
<text xml:lang="de-CH">Ohne Überschrift</text>
30+
<text xml:lang="de-DE">Ohne Überschrift</text>
31+
<text xml:lang="it">Senza intestazione</text>
32+
</translation>
33+
<translation string="Zurück">
34+
<text xml:lang="de">Zurück</text>
35+
<text xml:lang="de-CH">Zurück</text>
36+
<text xml:lang="de-DE">Zurück</text>
37+
<text xml:lang="it">Indietro</text>
38+
</translation>
39+
<translation string="Bildbeschreibung">
40+
<text xml:lang="de">Bildbeschreibung</text>
41+
<text xml:lang="de-CH">Bildbeschreibung</text>
42+
<text xml:lang="de-DE">Bildbeschreibung</text>
43+
<text xml:lang="it">Descrizione</text>
44+
</translation>
45+
<translation string="Fussnoten">
46+
<text xml:lang="de">Fussnoten</text>
47+
<text xml:lang="de-CH">Fussnoten</text>
48+
<text xml:lang="de-DE">Fussnoten</text>
49+
<text xml:lang="it">Note</text>
50+
</translation>
51+
<translation string="about-book">
52+
<text xml:lang="de">Zu diesem Buch</text>
53+
<text xml:lang="de-CH">Zu diesem Buch</text>
54+
<text xml:lang="de-DE">Zu diesem Buch</text>
55+
<text xml:lang="it">su questo libro</text>
56+
</translation>
57+
<translation string="electronic-data-thanks">
58+
<text xml:lang="de">Wir danken dem Verlag für die freundliche Bereitstellung der elektronischen Textdaten.</text>
59+
<text xml:lang="de-CH">Wir danken dem Verlag für die freundliche Bereitstellung der elektronischen Textdaten.</text>
60+
<text xml:lang="de-DE">Wir danken dem Verlag für die freundliche Bereitstellung der elektronischen Textdaten.</text>
61+
<text xml:lang="it">Vorremmo ringraziare l'editore per l'amichevole fornitura dei dati di testo elettronici.</text>
62+
</translation>
63+
<translation string="producer">
64+
<text xml:lang="de">SBS Schweizerische Bibliothek für Blinde, Seh- und Lesebehinderte, Zürich</text>
65+
<text xml:lang="de-CH">SBS Schweizerische Bibliothek für Blinde, Seh- und Lesebehinderte, Zürich</text>
66+
<text xml:lang="de-DE">SBS Schweizerische Bibliothek für Blinde, Seh- und Lesebehinderte, Zürich</text>
67+
<text xml:lang="it">Unitas - Associazione ciechi e ipovedenti della Svizzera italiana</text>
68+
</translation>
69+
<translation string="producer-brief">
70+
<text xml:lang="de">SBS</text>
71+
<text xml:lang="de-CH">SBS</text>
72+
<text xml:lang="de-DE">SBS</text>
73+
<text xml:lang="it">Unitas</text>
74+
</translation>
75+
<translation string="producer-url">
76+
<text xml:lang="de">http://www.sbs.ch</text>
77+
<text xml:lang="de-CH">http://www.sbs.ch</text>
78+
<text xml:lang="de-DE">http://www.sbs.ch</text>
79+
<text xml:lang="it">http://unitas.ch</text>
80+
</translation>
81+
<translation string="producer-url-brief">
82+
<text xml:lang="de">www.sbs.ch</text>
83+
<text xml:lang="de-CH">www.sbs.ch</text>
84+
<text xml:lang="de-DE">www.sbs.ch</text>
85+
<text xml:lang="it">unitas.ch</text>
86+
</translation>
87+
<translation string="production">
88+
<text xml:lang="de">Herstellung</text>
89+
<text xml:lang="de-CH">Herstellung</text>
90+
<text xml:lang="de-DE">Herstellung</text>
91+
<text xml:lang="it">Produzione</text>
92+
</translation>
93+
<translation string="copyright-blurb">
94+
<text xml:lang="de">Dieses E-Book im EPUB-Format ist die ausschliesslich für die Nutzung durch seh- und lesebehinderte Menschen bestimmte zugängliche Version eines urheberrechtlich geschützten Werks. Sie können es im Rahmen des Urheberrechts persönlich nutzen, dürfen es aber nicht weiter verbreiten oder öffentlich zugänglich machen.</text>
95+
<text xml:lang="de-CH">Dieses E-Book im EPUB-Format ist die ausschliesslich für die Nutzung durch seh- und lesebehinderte Menschen bestimmte zugängliche Version eines urheberrechtlich geschützten Werks. Sie können es im Rahmen des Urheberrechts persönlich nutzen, dürfen es aber nicht weiter verbreiten oder öffentlich zugänglich machen.</text>
96+
<text xml:lang="de-DE">Dieses E-Book im EPUB-Format ist die ausschliesslich für die Nutzung durch seh- und lesebehinderte Menschen bestimmte zugängliche Version eines urheberrechtlich geschützten Werks. Sie können es im Rahmen des Urheberrechts persönlich nutzen, dürfen es aber nicht weiter verbreiten oder öffentlich zugänglich machen.</text>
97+
<text xml:lang="it">Questo e-book in formato EPUB è la versione accessibile di un'opera protetta da copyright destinata esclusivamente all'uso da parte di persone con disabilità visive e di lettura. Puoi usarlo personalmente ai sensi della legge sul copyright, ma non puoi ridistribuirlo o renderlo pubblicamente disponibile.</text>
98+
</translation>
99+
</i18n>

modules/sbs/dtbook-to-ebook/src/main/resources/xml/xslt/addBoilerplate.xsl

+15-5
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,31 @@
33
xmlns="http://www.daisy.org/z3986/2005/dtbook/"
44
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
55
xmlns:dtb="http://www.daisy.org/z3986/2005/dtbook/"
6+
xmlns:pf="http://www.daisy.org/ns/pipeline/functions"
67
exclude-result-prefixes="dtb">
78

89
<xsl:output method="xml" encoding="utf-8" indent="no"
910
doctype-public="-//NISO//DTD dtbook 2005-3//EN"
1011
doctype-system="http://www.daisy.org/z3986/2005/dtbook-2005-3.dtd" />
1112

1213
<xsl:template name="boilerplate">
13-
<level1>
14-
<h1>Zu diesem Buch</h1>
15-
<p>Dieses E-Book im EPUB-Format ist die ausschliesslich für die Nutzung durch seh- und lesebehinderte Menschen bestimmte zugängliche Version eines urheberrechtlich geschützten Werks. Sie können es im Rahmen des Urheberrechts persönlich nutzen, dürfen es aber nicht weiter verbreiten oder öffentlich zugänglich machen.</p>
14+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
15+
<xsl:variable name="about-book" select="pf:i18n-translate('about-book',$language,$translations)"/>
16+
<xsl:variable name="copyright-blurb" select="pf:i18n-translate('copyright-blurb',$language,$translations)"/>
17+
<xsl:variable name="electronic-data-thanks" select="pf:i18n-translate('electronic-data-thanks',$language,$translations)"/>
18+
<xsl:variable name="producer" select="pf:i18n-translate('producer',$language,$translations)"/>
19+
<xsl:variable name="producer-brief" select="pf:i18n-translate('producer-brief',$language,$translations)"/>
20+
<xsl:variable name="producer-url" select="pf:i18n-translate('producer-url',$language,$translations)"/>
21+
<xsl:variable name="producer-url-brief" select="pf:i18n-translate('producer-url-brief',$language,$translations)"/>
22+
<xsl:variable name="production" select="pf:i18n-translate('production',$language,$translations)"/>
23+
<level1>
24+
<h1><xsl:value-of select="$about-book"/></h1>
25+
<p><xsl:value-of select="$copyright-blurb"/></p>
1626
<xsl:if test="//dtb:meta[lower-case(@name)='prod:source']/@content = 'electronicData'">
17-
<p>Wir danken dem Verlag für die freundliche Bereitstellung der elektronischen Textdaten.</p>
27+
<p><xsl:value-of select="$electronic-data-thanks"/></p>
1828
</xsl:if>
1929
<xsl:variable name="year" select="tokenize(//dtb:meta[lower-case(@name)='dc:date']/@content, '-')[1]"/>
20-
<p>Herstellung:<br/>SBS Schweizerische Bibliothek für Blinde, Seh- und Lesebehinderte, Zürich<br/><a href="http://www.sbs.ch" external="true">www.sbs.ch</a><br/><xsl:value-of select="concat('SBS ', $year)"/></p>
30+
<p><xsl:value-of select="$production"/>:<br/><xsl:value-of select="$electronic-data-thanks"/><br/><a href="{$producer-url}" external="true"><xsl:value-of select="$producer-url-brief"/></a><br/><xsl:value-of select="concat($producer-brief,' ', $year)"/></p>
2131
</level1>
2232
</xsl:template>
2333

modules/sbs/dtbook-to-ebook/src/main/resources/xml/xslt/addEmptyHeaders.xsl

+17-6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
doctype-public="-//NISO//DTD dtbook 2005-3//EN"
99
doctype-system="http://www.daisy.org/z3986/2005/dtbook-2005-3.dtd" />
1010

11+
<xsl:variable name="translations" select="document('../i18n/translations.xml')/*"/>
12+
1113
<xsl:template match="*" mode="copyLeadingPagenums">
1214
<xsl:apply-templates select="(dtb:pagenum|text()|processing-instruction()|comment())[not(preceding-sibling::dtb:*[not(self::dtb:pagenum)])]" />
1315
</xsl:template>
@@ -30,17 +32,21 @@
3032

3133
<!-- Add an empty header to the first level1 w/o h1 in the frontmatter -->
3234
<xsl:template match="dtb:frontmatter//dtb:level1[@class='titlepage'][1][not(dtb:h1)]">
35+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
36+
<xsl:variable name="blurb" select="pf:i18n-translate('Bibliographische Angaben',$language,$translations)"/>
3337
<xsl:apply-templates select="." mode="addHeading">
3438
<xsl:with-param name="level" select="1"/>
35-
<xsl:with-param name="blurb" select="'Bibliographische Angaben'"/>
39+
<xsl:with-param name="blurb" select="$blurb"/>
3640
</xsl:apply-templates>
3741
</xsl:template>
3842

3943
<!-- Add an empty header to all level1 w/o h1 in the frontmatter -->
4044
<xsl:template match="dtb:frontmatter//dtb:level1[not(dtb:h1)][not(@class='titlepage')]">
45+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
46+
<xsl:variable name="blurb" select="pf:i18n-translate('Vorspann',$language,$translations)"/>
4147
<xsl:variable name="total" select="count(../dtb:level1[not(dtb:h1)][not(@class='titlepage')])"/>
4248
<xsl:variable name="pos" select="count(preceding-sibling::dtb:level1[not(dtb:h1)][not(@class='titlepage')])+1"/>
43-
<xsl:variable name="title" select="if ($total &gt; 1) then concat('Vorspann ', $pos) else 'Vorspann'"/>
49+
<xsl:variable name="title" select="if ($total &gt; 1) then concat($blurb,' ', $pos) else $blurb"/>
4450
<xsl:apply-templates select="." mode="addHeading">
4551
<xsl:with-param name="level" select="1"/>
4652
<xsl:with-param name="blurb" select="$title"/>
@@ -56,17 +62,21 @@
5662

5763
<!-- Add an empty header to all level1 w/o h1 in the rearmatter -->
5864
<xsl:template match="dtb:rearmatter//dtb:level1[not(dtb:h1)]">
65+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
66+
<xsl:variable name="blurb" select="pf:i18n-translate('Nachspann',$language,$translations)"/>
5967
<xsl:variable name="total" select="count(../dtb:level1[not(dtb:h1)])"/>
6068
<xsl:variable name="pos" select="count(preceding-sibling::dtb:level1[not(dtb:h1)])+1"/>
6169
<xsl:variable name="title"
62-
select="if ($total &gt; 1) then concat('Nachspann ', $pos) else 'Nachspann'"/>
70+
select="if ($total &gt; 1) then concat($blurb,' ', $pos) else $blurb"/>
6371
<xsl:apply-templates select="." mode="addHeading">
6472
<xsl:with-param name="level" select="1"/>
6573
<xsl:with-param name="blurb" select="$title"/>
6674
</xsl:apply-templates>
6775
</xsl:template>
6876

6977
<xsl:template match="dtb:bodymatter//dtb:level1[not(dtb:h1)]">
78+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
79+
<xsl:variable name="blurb" select="pf:i18n-translate('Im Original ohne Nummerierung',$language,$translations)"/>
7080
<xsl:variable name="level" >
7181
<xsl:choose>
7282
<xsl:when test="local-name() = 'level1'">1</xsl:when>
@@ -75,8 +85,7 @@
7585
</xsl:variable>
7686
<xsl:apply-templates select="." mode="addHeading">
7787
<xsl:with-param name="level" select="1"/>
78-
<xsl:with-param name="blurb" select="concat(format-number(count(preceding-sibling::dtb:level1) + 1, '0'),
79-
' Im Original ohne Nummerierung')"/>
88+
<xsl:with-param name="blurb" select="concat(format-number(count(preceding-sibling::dtb:level1) + 1, '0'),' ',$blurb)"/>
8089
</xsl:apply-templates>
8190
</xsl:template>
8291

@@ -85,9 +94,11 @@
8594
dtb:bodymatter//dtb:level4[not(dtb:h4)]|
8695
dtb:bodymatter//dtb:level5[not(dtb:h5)]|
8796
dtb:bodymatter//dtb:level6[not(dtb:h6)]">
97+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
98+
<xsl:variable name="blurb" select="pf:i18n-translate('Ohne Überschrift',$language,$translations)"/>
8899
<xsl:apply-templates select="." mode="addHeading">
89100
<xsl:with-param name="level" select="substring-after(name(), 'level')"/>
90-
<xsl:with-param name="blurb" select="'Ohne Überschrift'"/>
101+
<xsl:with-param name="blurb" select="$blurb"/>
91102
</xsl:apply-templates>
92103
</xsl:template>
93104

modules/sbs/dtbook-to-ebook/src/main/resources/xml/xslt/addFootnoteBacklinks.xsl

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99

1010
<xsl:output method="xml" encoding="utf-8" indent="no"/>
1111

12+
<xsl:variable name="translations" select="document('../i18n/translations.xml')/*"/>
13+
1214
<xsl:template match="dtb:note">
15+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
16+
<xsl:variable name="blurb" select="pf:i18n-translate('Zurück',$language,$translations)"/>
1317
<xsl:variable name="backlink" select="//dtb:noteref[@idref=concat('#', current()/@id)]/preceding-sibling::dtb:a[1]/@id"/>
1418
<xsl:copy>
1519
<xsl:copy-of select="@*"/>
1620
<xsl:apply-templates/>
17-
<p><a href="#{$backlink}">Zurück</a></p>
21+
<p><a href="#{$backlink}"><xsl:value-of select="$blurb"/></a></p>
1822
</xsl:copy>
1923
</xsl:template>
2024

modules/sbs/dtbook-to-ebook/src/main/resources/xml/xslt/addImageDescriptionBoilerplate.xsl

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@
99
doctype-public="-//NISO//DTD dtbook 2005-3//EN"
1010
doctype-system="http://www.daisy.org/z3986/2005/dtbook-2005-3.dtd" />
1111

12+
<xsl:variable name="translations" select="document('../i18n/translations.xml')/*"/>
13+
1214
<xsl:template name="bildbeschreibung">
13-
<p>Bildbeschreibung:</p>
15+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
16+
<xsl:variable name="blurb" select="pf:i18n-translate('Bildbeschreibung',$language,$translations)"/>
17+
<p><xsl:value-of select="$blurb"/>:</p>
1418
</xsl:template>
1519

1620
<!-- if a prodnote is inside an imggroup and refers to an image then

modules/sbs/dtbook-to-ebook/src/main/resources/xml/xslt/moveFootnotesToRear.xsl

+8-2
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,33 @@
99

1010
<xsl:output method="xml" encoding="utf-8" indent="no"/>
1111

12+
<xsl:variable name="translations" select="document('../i18n/translations.xml')/*"/>
13+
1214
<xsl:template match="dtb:rearmatter">
15+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
16+
<xsl:variable name="blurb" select="pf:i18n-translate('Fussnoten',$language,$translations)"/>
1317
<xsl:copy>
1418
<xsl:copy-of select="@*"/>
1519
<xsl:apply-templates/>
1620
<xsl:if test="//dtb:note">
1721
<level1>
18-
<h1>Fussnoten</h1>
22+
<h1><xsl:value-of select="$blurb"/></h1>
1923
<xsl:copy-of select="//dtb:note"/>
2024
</level1>
2125
</xsl:if>
2226
</xsl:copy>
2327
</xsl:template>
2428

2529
<xsl:template match="dtb:book[not(dtb:rearmatter)]">
30+
<xsl:variable name="language" select="('de',ancestor-or-self::*[@xml:lang|@lang]/(@xml:lang|@lang)[1])[last()]"/>
31+
<xsl:variable name="blurb" select="pf:i18n-translate('Fussnoten',$language,$translations)"/>
2632
<xsl:copy>
2733
<xsl:copy-of select="@*"/>
2834
<xsl:apply-templates/>
2935
<xsl:if test="//dtb:note">
3036
<rearmatter>
3137
<level1>
32-
<h1>Fussnoten</h1>
38+
<h1><xsl:value-of select="$blurb"/></h1>
3339
<xsl:copy-of select="//dtb:note"/>
3440
</level1>
3541
</rearmatter>

0 commit comments

Comments
 (0)