]> pere.pagekite.me Git - text-mekanikerord.git/commitdiff
Juster håndtering av ulike språk.
authorPetter Reinholdtsen <pere@hungry.com>
Mon, 14 Sep 2020 12:17:07 +0000 (14:17 +0200)
committerPetter Reinholdtsen <pere@hungry.com>
Mon, 14 Sep 2020 12:17:07 +0000 (14:17 +0200)
make-glossary

index d12d3a30a5a8bfe315325380fdb6999b7bdad2b6..bc353f8196d70768817cf7b768b03b32c245f40b 100755 (executable)
@@ -61,7 +61,7 @@ def langsort(lang, e):
     else:
         return locale.strxfrm(e['sme'])
 
-def make_glossary_docbook(lang, langcodes, output='glossary.xml'):
+def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'):
     import lxml.builder
     E = lxml.builder.ElementMaker(
         nsmap={
@@ -98,8 +98,11 @@ def make_glossary_docbook(lang, langcodes, output='glossary.xml'):
                     indexit(entry, e[l], l)
             if "" != lstr:
                 entry.append(E.glossdef(E.para(lstr)))
-            if ldesc in e:
-                entry.append(E.glossdef(E.para(e[ldesc])))
+            for desccode in desccodes:
+                codestr = 'desc-%s' % desccode
+                if codestr in e:
+                    entry.append(E.glossdef(E.para("%s: %s" % (desccode,
+                                                               e[codestr]))))
             glossary.append(entry)
 
     if False: # failed to set docbook glossary like xmlto and lint want it...
@@ -127,14 +130,20 @@ locale.setlocale(locale.LC_ALL, '')
 if 'nb' == args.langcode:
     print("Norsk/bokmål")
     print()
-    make_glossary_docbook(lang='nb', langcodes=('en', 'sme', 'sv', 'da', 'fi', 'is',), output=args.output)
+    make_glossary_docbook(lang='nb', desccodes=('nb',),
+                          langcodes=('en', 'sme', 'sv', 'da', 'fi', 'is',),
+                          output=args.output)
 elif 'sme' == args.langcode:
     print("Nordsamisk")
     print()
-    make_glossary_docbook(lang='sme', langcodes=('nb', 'en', 'sv', 'da', 'fi', 'is',), output=args.output)
+    make_glossary_docbook(lang='sme', desccodes=('sme', 'nb'),
+                          langcodes=('nb', 'en', 'sv', 'da', 'fi', 'is',),
+                          output=args.output)
 elif 'en' == args.langcode:
     print("Engelsk")
     print()
-    make_glossary_docbook(lang='en',  langcodes=('en', 'nb', 'sme', 'sv', 'da', 'fi', 'is',), output=args.output)
+    make_glossary_docbook(lang='en', desccodes=('en', 'nb'),
+                          langcodes=('en', 'nb', 'sme', 'sv', 'da', 'fi', 'is',),
+                          output=args.output)
 else:
     print("error: Unknown language code %s" % args.langcode)