]> pere.pagekite.me Git - text-mekanikerord.git/commitdiff
Add build rules for English edition.
authorPetter Reinholdtsen <pere@hungry.com>
Wed, 23 Sep 2020 22:04:22 +0000 (00:04 +0200)
committerPetter Reinholdtsen <pere@hungry.com>
Wed, 23 Sep 2020 22:51:19 +0000 (00:51 +0200)
Makefile
bookinfo-en.xml [new file with mode: 0644]
make-glossary

index 8a7176e79bb6ed98c0c07245e9dd3ba314fc77a8..9739413db806eb2074152f2dc7e5868cb18535c0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,8 +4,9 @@ SOURCE_SE = $(SOURCE) book-se.xml glossary-se.xml
 SOURCE_EN = $(SOURCE) book-en.xml glossary-en.xml
 
 GENERATED = \
 SOURCE_EN = $(SOURCE) book-en.xml glossary-en.xml
 
 GENERATED = \
-  mekaniker-ordbok-nb.pdf mekaniker-ordbok-nb.epub mekaniker-ordbok-nb.html \
-  mekaniker-ordbok-se.pdf mekaniker-ordbok-se.epub mekaniker-ordbok-se.html
+  mekaniker-ordbok-nb.pdf mekaniker-ordbok-nb.epub mekaniker-ordbok-nb.html\
+  mekaniker-ordbok-se.pdf mekaniker-ordbok-se.epub mekaniker-ordbok-se.html\
+  mekaniker-ordbok-en.pdf mekaniker-ordbok-en.epub mekaniker-ordbok-en.html
 
 all: $(GENERATED)
 
 
 all: $(GENERATED)
 
@@ -30,6 +31,9 @@ glossary-nb.xml: make-glossary meksme-utf8.xml
 glossary-se.xml: make-glossary meksme-utf8.xml
        LC_COLLATE=nb_NO.UTF-8 ./make-glossary --output $@ se
 
 glossary-se.xml: make-glossary meksme-utf8.xml
        LC_COLLATE=nb_NO.UTF-8 ./make-glossary --output $@ se
 
+glossary-en.xml: make-glossary meksme-utf8.xml
+       LC_COLLATE=nb_NO.UTF-8 ./make-glossary --output $@ en
+
 DBLATEX_OPTS = \
        -b xetex \
        --indexstyle=myindexstyle.ist \
 DBLATEX_OPTS = \
        -b xetex \
        --indexstyle=myindexstyle.ist \
@@ -60,3 +64,16 @@ mekaniker-ordbok-se.epub: $(SOURCE_SE)
 mekaniker-ordbok-se.html: $(SOURCE_SE)
        xmlto -m pdf.xsl html-nochunks book-se.xml
        mv book-se.html $@
 mekaniker-ordbok-se.html: $(SOURCE_SE)
        xmlto -m pdf.xsl html-nochunks book-se.xml
        mv book-se.html $@
+
+book-en.xml: book.xml
+       sed -e 's/-nb/-en/' -e 's/"nb"/"en"/' < $^ >$@
+
+mekaniker-ordbok-en.pdf: $(SOURCE_EN)
+       dblatex $(DBLATEX_OPTS) -o $@ book-en.xml
+
+mekaniker-ordbok-en.epub: $(SOURCE_EN)
+       dbtoepub -s epub.xsl book-en.xml -o $@
+
+mekaniker-ordbok-en.html: $(SOURCE_EN)
+       xmlto -m pdf.xsl html-nochunks book-en.xml
+       mv book-en.html $@
diff --git a/bookinfo-en.xml b/bookinfo-en.xml
new file mode 100644 (file)
index 0000000..3db35ce
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<bookinfo>
+  <title>Mechanic's words in five languages</title>
+  <subtitle>English, Norwegian, North Saami, Swedish and Finnish</subtitle>
+  <legalnotice>
+    <para>ISBN 978-82-93828-05-1 (hardcover)</para>
+    <para>ISBN 978-82-93828-06-8 (softcover)</para>
+    <para>ISBN 978-82-93828-07-5 (epub)</para>
+  </legalnotice>
+</bookinfo>
index cc23f67154907db5c5370101cc4ca99fb038d570..2be2b20f6ca686b8fb2e65f4fba20c8a9d3a2906 100755 (executable)
@@ -89,13 +89,13 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'):
                 .replace('(', '_') \
                 .replace(')', '_') \
                 .replace('/', '_') \
                 .replace('(', '_') \
                 .replace(')', '_') \
                 .replace('/', '_') \
+                .replace('\'', '_') \
                 .replace(' ', '_')
             while id in ids:
                 id = id + 'x'
             ids[id] = True
             if ldesc not in e:
                 .replace(' ', '_')
             while id in ids:
                 id = id + 'x'
             ids[id] = True
             if ldesc not in e:
-                print("warning: %s missing %s description" % (e[lang], lang))
-                continue
+                print("warning: term %s missing primary language %s description" % (e[lang], lang))
             entry = E.glossentry(id=id)
             if list_topic and 'topic' in e:
                 entry.append(E.glossterm('%s [%s]' % (e[lang], e['topic'])))
             entry = E.glossentry(id=id)
             if list_topic and 'topic' in e:
                 entry.append(E.glossterm('%s [%s]' % (e[lang], e['topic'])))
@@ -110,6 +110,9 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'):
                     indexit(entry, e[l], l)
             if "" != lstr:
                 entry.append(E.glossdef(E.para(lstr)))
                     indexit(entry, e[l], l)
             if "" != lstr:
                 entry.append(E.glossdef(E.para(lstr)))
+            else:
+                # only single word witout translations, skip it
+                continue
             for desccode in desccodes:
                 codestr = 'desc-%s' % desccode
                 if codestr in e:
             for desccode in desccodes:
                 codestr = 'desc-%s' % desccode
                 if codestr in e:
@@ -168,7 +171,7 @@ elif 'se' == args.langcode:
 elif 'en' == args.langcode:
     print("Engelsk")
     print()
 elif 'en' == args.langcode:
     print("Engelsk")
     print()
-    make_glossary_docbook(lang='en', desccodes=('en', 'nb'),
+    make_glossary_docbook(lang='en', desccodes=('en'),
                           langcodes=('en', 'nb', 'se', 'sv', 'da', 'fi', 'is',),
                           output=args.output)
 else:
                           langcodes=('en', 'nb', 'se', 'sv', 'da', 'fi', 'is',),
                           output=args.output)
 else: