all: $(GENERATED)
+# Make sure new enough version of dblatex with 'se' support is used
+checkdblatex:
+ dpkg --compare-versions 0.3.12 le $$(dblatex --version | awk '{print $$3}')
+
+
clean:
$(RM) *~
--indexstyle=myindexstyle.ist \
-V \
-P latex.index.tool=xindy \
+ --param=latex.index.language=norwegian \
-p pdf.xsl
mekaniker-ordbok-nb.pdf: $(SOURCE_NB)
mv book.html $@
book-se.xml: book.xml
-# dblatex do not understand lang="se", use "nn" with workarounds in pdf.xsl
- sed -e 's/-nb/-se/' -e 's/"nb"/"nn"/' < $^ >$@
+ sed -e 's/-nb/-se/' -e 's/"nb"/"se"/' < $^ >$@
-mekaniker-ordbok-se.pdf: $(SOURCE_SE)
+mekaniker-ordbok-se.pdf: checkdblatex $(SOURCE_SE)
dblatex $(DBLATEX_OPTS) -o $@ book-se.xml
mekaniker-ordbok-se.epub: $(SOURCE_SE)
<abbrev></abbrev>
- <pubdate>2020-09-15</pubdate>
+ <pubdate>2021-07-16</pubdate>
<!-- edition>1</edition -->
<releaseinfo>(dette er et utkast)</releaseinfo>
- <authorgroup>
- <editor>
- <firstname>Petter</firstname>
- <surname>Reinholdtsen</surname>
- </editor>
- </authorgroup>
-
- <subjectset scheme="libraryofcongress">
+<subjectset scheme="libraryofcongress">
<subject>
<subjectterm>Machine-shop practice</subjectterm>
<subjectterm>Engineering</subjectterm>
<holder>Svein Lund</holder>
</copyright>
<copyright>
- <year>2020</year>
+ <year>2021</year>
<holder>Petter Reinholdtsen</holder>
</copyright>
<legalnotice>
- <para>Redaktør og utgiver: Petter Reinholdtsen.</para>
-
- <para>1. utgave</para>
-
- <para>
- <inlinemediaobject>
- <imageobject>
- <imagedata fileref="images/cc.png" contentdepth="3em" width="100%" align="center"/>
- </imageobject>
- <imageobject>
- <imagedata fileref="images/cc.svg" contentdepth="3em" width="100%" align="center"/>
- </imageobject>
- <textobject>
- <phrase>Creative Commons, noen rettigheter forbeholdt.</phrase>
- </textobject>
- </inlinemediaobject>
- </para>
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/legalprefix/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/isbn/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <para>
- Denne boken er gjort tilgjengelig med vilkårene beskrevet i
- lisensen Creative Commons Navngivelse 4.0 Internasjonal (CC-BY
- 4.0). For mer informasjon, besøk
- <ulink url="http://creativecommons.org/licenses/by/4.0/"/>.
- </para>
+ <para>Dewey 621.74</para>
- <para>
- Boka er basert på en Filemaker Pro-database med grunnlagsdata fra
- ordinnsamling og terminologiarbeid som blei gjort i første
- halvdel av 1990- tallet. Dette arbeidet blei organisert fra
- Samisk videregående skole og reindriftsskole og finansiert av
- denne skolen, samt Samisk utdanningsråd, Nordisk kulturråd og
- Letterstedtska föreningen. Databasen blei brukt til å lage
- ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan
- sanasto = Mechanic's words» (ISBN 8279540423) gitt ut i 1999 av
- Samisk utdanningsråd. Redaktør for databasen og boka var Svein
- Lund, andre bidragsytere var Aimo Aikio, Lars Erik Bønå, Nils
- Øivind Helander, Klemet I. Hætta, Nils Morten Hætta, Biret
- Kallio, Øyvind Moeng, Rolf Olsen, Aage Olsen, Anders Oskal,
- Inger-marie Oskal, Arne Johan Turi, Mai Britt Utsi, Niilo
- Vuomajoki og Per Aarseth. Sametinget og Svein Lund gitt
- tillatelse til at Petter Reinholdtsen kan gi ut materialet med
- Creative Commons-lisensen CC-BY 4.0.
- </para>
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/legalnotice/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
<para>
- Kildefilene for boken er tilgjengelig som et git-depot fra
- <ulink url="https://gitlab.com/petterreinholdtsen/mekanikerord"/>. Hvis du finner feil og
- mangler, så setter vi pris på beskjed om dette slik at det kan
- forbedres til neste utgave.
+ <ulink url="https://gitlab.com/petterreinholdtsen/mekanikerord"/>
</para>
-
- <!-- para> Både papirutgave og e-bok kan kjøpes direkte fra <ulink
- url="https://lulu.com/">lulu.com</ulink>. </para -->
-
- <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/legalnotice/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <para>Dewey 621.74</para>
-
</legalnotice>
<abstract>
- <para>
- Boken inneholder rundt 1200 oppslagsord med forklaring og
- tilsvarende ord på andre språk.
- </para>
- <para>
- Ordlisten har individuelle oppslagsord, oversettelser og
- forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås
- opp i registeret for å finne aktuelt oppslagsord.
- </para>
-
- <para>
- Ordene på ulike språk er markert med språkkoder i tråd med ISO-639-1:
- <itemizedlist>
- <listitem><para>(en) Engelsk</para></listitem>
- <listitem><para>(nb) Norsk bokmål</para></listitem>
- <listitem><para>(se) Nordsamisk</para></listitem>
- <listitem><para>(se) Svensk</para></listitem>
- <listitem><para>(fi) Finsk</para></listitem>
- </itemizedlist>
- </para>
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/abstract/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
</abstract>
<!-- biblioid class="isbn">978-82-93828-02-0</biblioid -->
<bookinfo>
<title>Mechanic's words in five languages</title>
<subtitle>English, Norwegian, North Saami, Swedish and Finnish</subtitle>
+ <legalprefix>
+ <para>Editor and publisher: Petter Reinholdtsen.</para>
+
+ <para>1. edition</para>
+
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/cc.png" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="images/cc.svg" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <textobject>
+ <phrase>Creative Commons, some rights reserved.</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ </legalprefix>
+
<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>
+ <para>
+ This book is published according to the terms of
+ Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), see
+ <ulink url="https://creativecommons.org/licenses/by/4.0/"/>.
+ </para>
+
+ <para>
+ This book is based on a database with source date from words and
+ terms collected in the first half of 1990, organized and funded
+ by Samisk videregående skole og reindriftsskole, with Svein Lund
+ as editor in cooperation with others. The same database was the
+ source of the book «Mekanihkkársánit : Mekanikerord = Mekaanisen
+ alan sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999).
+ Sámi Parliament of Norway and Svein Lund has permitted Petter
+ Reinholdtsen to publish the material with an Creative Commons
+ license CC-BY 4.0.
+ </para>
+
+ <para>
+ Please let us know if you find any errors or omissions.
+ </para>
+
</legalnotice>
+ <isbn>
+ <para>
+ ISBN 978-82-93828-05-1 (hard), 978-82-93828-06-8 (soft),
+ 978-82-93828-07-5 (epub).
+ </para>
+ </isbn>
+ <abstract>
+ <para>
+ Boken inneholder rundt 1200 oppslagsord med forklaring og
+ tilsvarende ord på andre språk.
+ </para>
+ <para>
+ Ordlisten har individuelle oppslagsord, oversettelser og
+ forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås
+ opp i registeret for å finne aktuelt oppslagsord.
+ </para>
+
+ <para>
+ Ordene på ulike språk er markert med språkkoder i tråd med
+ ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se)
+ Svensk og (fi) Finsk.
+ </para>
+ </abstract>
</bookinfo>
<bookinfo>
<title>Mekanikerord på fem språk</title>
<subtitle>Norsk, engelsk, nordsamisk, svensk og finsk</subtitle>
+ <legalprefix>
+ <para>Redaktør og utgiver: Petter Reinholdtsen.</para>
+
+ <para>1. utgave</para>
+
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/cc.png" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="images/cc.svg" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <textobject>
+ <phrase>Creative Commons, noen rettigheter forbeholdt.</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ </legalprefix>
<legalnotice>
- <para>ISBN 978-82-93828-05-1 (innbundet)</para>
- <para>ISBN 978-82-93828-06-8 (heftet)</para>
- <para>ISBN 978-82-93828-07-5 (epub)</para>
+ <para>
+ Denne boken er publisert med vilkårene til
+ Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), se
+ <ulink url="https://creativecommons.org/licenses/by/4.0/"/>.
+ </para>
+
+ <para>
+ Denne boken er basert på en database med grunnlagsdata fra
+ ordinnsamling og terminologiarbeid som ble gjort i første
+ halvdel av 1990-tallet, ble organisert og finansiert fra Samisk
+ videregående skole og reindriftsskole, med Svein Lund som
+ redaktør og i samarbeid med flere. Databasen var kilden til
+ ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan
+ sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999). Sametinget
+ og Svein Lund gitt tillatelse til at Petter Reinholdtsen kan gi
+ ut materialet med Creative Commons-lisensen CC-BY 4.0.
+ </para>
+
+ <para>
+ Hvis du finner feil og mangler, så setter vi pris på beskjed.
+ </para>
</legalnotice>
+ <isbn>
+ <!-- para> Både papirutgave og e-bok kan kjøpes direkte fra <ulink
+ url="https://lulu.com/">lulu.com</ulink>. </para -->
+
+ <para>ISBN 978-82-93828-05-1 (innb.), 978-82-93828-06-8
+ (heftet) og 978-82-93828-07-5 (epub).</para>
+ </isbn>
+ <abstract>
+ <para>
+ Boken inneholder rundt 1200 oppslagsord med forklaring og
+ tilsvarende ord på andre språk.
+ </para>
+ <para>
+ Ordlisten har individuelle oppslagsord, oversettelser og
+ forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås
+ opp i registeret for å finne aktuelt oppslagsord.
+ </para>
+
+ <para>
+ Ordene på ulike språk er markert med språkkoder i tråd med
+ ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se)
+ Svensk og (fi) Finsk.
+ </para>
+ </abstract>
</bookinfo>
<bookinfo>
<title>Mekanihkkársánit på fem språk</title>
<subtitle>Nordsamisk, norsk, engelsk, svensk og finsk</subtitle>
+ <legalprefix>
+ <para>Redaktør og utgiver: Petter Reinholdtsen.</para>
+
+ <para>1. utgave</para>
+
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/cc.png" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="images/cc.svg" contentdepth="3em" width="100%" align="center"/>
+ </imageobject>
+ <textobject>
+ <phrase>Creative Commons, noen rettigheter forbeholdt.</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </para>
+ </legalprefix>
<legalnotice>
- <para>ISBN 978-82-93828-02-0 (innbundet)</para>
- <para>ISBN 978-82-93828-03-7 (heftet)</para>
- <para>ISBN 978-82-93828-04-4 (epub)</para>
+ <para>
+ Denne boken er publisert med vilkårene til
+ Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), se
+ <ulink url="https://creativecommons.org/licenses/by/4.0/"/>.
+ </para>
+
+ <para>
+ Boken er basert på en database med grunnlagsdata fra
+ ordinnsamling og terminologiarbeid som ble gjort i første
+ halvdel av 1990-tallet, ble organisert og finansiert fra Samisk
+ videregående skole og reindriftsskole, med Svein Lund som
+ redaktør og i samarbeid med flere. Databasen var kilden til
+ ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan
+ sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999). Sametinget
+ og Svein Lund gitt tillatelse til at Petter Reinholdtsen kan gi
+ ut materialet med Creative Commons-lisensen CC-BY 4.0.
+ </para>
+
+ <para>
+ Hvis du finner feil og mangler, så setter vi pris på beskjed.
+ </para>
+
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/legalnotice/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
</legalnotice>
+ <isbn>
+ <!-- para> Både papirutgave og e-bok kan kjøpes direkte fra <ulink
+ url="https://lulu.com/">lulu.com</ulink>. </para -->
+
+ <para>ISBN 978-82-93828-02-0 (innb.), 978-82-93828-03-7
+ (heftet) og 978-82-93828-04-4 (epub).</para>
+ </isbn>
+ <abstract>
+ <para>
+ Boken inneholder rundt 1200 oppslagsord med forklaring og
+ tilsvarende ord på andre språk.
+ </para>
+ <para>
+ Ordlisten har individuelle oppslagsord, oversettelser og
+ forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås
+ opp i registeret for å finne aktuelt oppslagsord.
+ </para>
+
+ <para>
+ Ordene på ulike språk er markert med språkkoder i tråd med
+ ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se)
+ Svensk og (fi) Finsk.
+ </para>
+ <xi:include href="bookinfo-nb.xml" xpointer="xpointer(//bookinfo/abstract/para)" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </abstract>
</bookinfo>
from lxml import etree
from lxml.etree import tostring
+import json
+
list_topic = False
filemakerxml = 'meksme-utf8.xml'
index += 1
#print(d)
words.append(d)
+
+ with open('meksme-utf8.json', 'w') as f:
+ json.dump(words, f)
+
def langsort(lang, e):
if lang in e:
return locale.strxfrm(e[lang])
}
)
+ def word2id(word):
+ return word \
+ .replace('[', '_') \
+ .replace(']', '_') \
+ .replace('(', '_') \
+ .replace(')', '_') \
+ .replace('/', '_') \
+ .replace('\'', '_') \
+ .replace(' ', '_')
+
def indexit(entry, wlist, lang=None):
for w in wlist.split(","):
if "" != w:
w += "[%s]" % lang
entry.append(E.indexterm(E.primary(w)))
ids = {}
+ redirects = {}
glossary = E.glossary()
for e in sorted(words, key=lambda x: langsort(lang, x)):
ldesc = 'desc-%s' % lang
e['topic'] = topicmap[lang][e['topic']]
if lang in e:
w = e[lang].split(',')
- id = w[0] \
- .replace('[', '_') \
- .replace(']', '_') \
- .replace('(', '_') \
- .replace(')', '_') \
- .replace('/', '_') \
- .replace('\'', '_') \
- .replace(' ', '_')
+ id = word2id(w[0])
while id in ids:
id = id + 'x'
ids[id] = True
- if ldesc not in e:
+
+ # First handle redirections with not extra info
+ if -1 != e[lang].find('>') and ldesc not in e:
+ p = e[lang].split(' > ')
+ if p[0] in redirects: # Skip if already added
+ continue
+ if -1 == p[1].find(','):
+ if '-' == p[1][-1]:
+ print("warning: Skipping dangling reference %s -> %s" %
+ (p[0], p[1]))
+ else:
+ seeentry = E.glossentry()
+ seeentry.append(E.glossterm(p[0]))
+ id = word2id(p[1])
+ seeentry.append(E.glosssee(otherterm=id))
+ glossary.append(seeentry)
+ redirects[p[0]] = id
+ else:
+ print("warning: skipping split refererence %s -> %s" %
+ (p[0], p[1]))
+ if False: # Not allowed in docbook
+ seeentry = E.glossentry()
+ seeentry.append(E.glossterm(p[0]))
+ for s in p[1].split(','):
+ s = s.strip().lstrip()
+ seeentry.append(E.glosssee(otherterm=word2id(s)))
+ glossary.append(seeentry)
+ continue
+
+ # Add See also entries pointing to main entry
+ if 1 < len(w):
+ for t in w[1:]:
+ t = t.strip().lstrip()
+ if t not in redirects:
+ #print("info: Adding see also entry for %s" % t)
+ seeentry = E.glossentry()
+ seeentry.append(E.glossterm(t))
+ seeentry.append(E.glosssee(otherterm=id))
+ glossary.append(seeentry)
+ redirects[t] = id
+ elif ldesc not in e:
print("warning: term %s missing primary language %s description" % (e[lang], lang))
entry = E.glossentry(id=id)
if list_topic and 'topic' in e:
e[codestr]))))
glossary.append(entry)
- # Add See also entries pointing to main entry
- if 1 < len(w):
- for t in w[1:]:
- t = t.strip().lstrip()
- #print("info: Adding see also entry for %s" % t)
- seeentry = E.glossentry()
- seeentry.append(E.glossterm(t))
- seeentry.append(E.glosssee(otherterm=id))
- glossary.append(seeentry)
-
def glosstermlocale(x):
# Look up glossterm (FIXME figure out more robust way)
t = x.getchildren()[0].text
<xsl:param name="double.sided">1</xsl:param>
<xsl:param name="page.width">6in</xsl:param>
<xsl:param name="page.height">9in</xsl:param>
- <xsl:param name="page.margin.inner">0.8in</xsl:param>
- <xsl:param name="page.margin.outer">0.55in</xsl:param>
+ <xsl:param name="page.margin.inner">0.75in</xsl:param>
+ <xsl:param name="page.margin.outer">0.50in</xsl:param>
<xsl:param name="page.margin.top">0.55in</xsl:param>
<xsl:param name="page.margin.bottom">0.55in</xsl:param>
<xsl:param name="latex.class.book">book</xsl:param>
\huge{\textbf{\DBKsubtitle}}\\ %
\fi
\ \\ %
- \huge{Petter Reinholdtsen (red)} \\%
+% \huge{\editor} \\%
\end{center}
\vfill
\setlength{\baselineskip}{\oldbaselineskip}