]> pere.pagekite.me Git - text-mekanikerord.git/commitdiff
Implement locale specific sorting of glossary.
authorPetter Reinholdtsen <pere@hungry.com>
Mon, 17 Aug 2020 23:17:13 +0000 (01:17 +0200)
committerPetter Reinholdtsen <pere@hungry.com>
Mon, 17 Aug 2020 23:17:13 +0000 (01:17 +0200)
Makefile
make-glossary

index 8dcd6b97fb25adf3415635433e328081900d5734..fa7a21cfd6c1d1f3011bf14b621d2d7d31b3b052 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,10 +24,10 @@ epubcheck: book.epub
 check: lint epubcheck
 
 glossary-nb.xml: make-glossary meksme-utf8.xml
-       ./make-glossary --output $@ nb
+       LC_COLLATE=nb_NO.UTF-8 ./make-glossary --output $@ nb
 
 glossary-sme.xml: make-glossary meksme-utf8.xml
-       ./make-glossary --output $@ sme
+       LC_COLLATE=nb_NO.UTF-8 ./make-glossary --output $@ sme
 
 DBLATEX_OPTS = \
        -b xetex \
index a3f91499181bc5601a63b5bad91dd58a26b735e8..d12d3a30a5a8bfe315325380fdb6999b7bdad2b6 100755 (executable)
@@ -1,5 +1,7 @@
 #!/usr/bin/python3
 
+import locale
+
 from lxml import etree
 from lxml.etree import tostring
 
@@ -55,9 +57,9 @@ for row in resultset.getchildren():
     words.append(d)
 def langsort(lang, e):
     if lang in e:
-        return e[lang]
+        return locale.strxfrm(e[lang])
     else:
-        return e['sme']
+        return locale.strxfrm(e['sme'])
 
 def make_glossary_docbook(lang, langcodes, output='glossary.xml'):
     import lxml.builder
@@ -120,6 +122,8 @@ parser.add_argument("langcode", help="language code to generate glossary for")
 parser.add_argument("--output", help="where to store the glossary")
 args = parser.parse_args()
 
+locale.setlocale(locale.LC_ALL, '')
+
 if 'nb' == args.langcode:
     print("Norsk/bokmÃ¥l")
     print()