aboutsummaryrefslogtreecommitdiff
path: root/template.py
diff options
context:
space:
mode:
authortg(x) <*@tg-x.net>2017-01-19 18:54:35 +0100
committertg(x) <*@tg-x.net>2017-01-19 18:54:35 +0100
commit856556bb33ed4bd881f9ed866696fc6c1e5af37f (patch)
treefac07dc0f2aff98a19a0dd587e0a1c134efab3a3 /template.py
parentbade9dae384032a974dedc496ad44595072d99d9 (diff)
downloadwww-856556bb33ed4bd881f9ed866696fc6c1e5af37f.tar.gz
www-856556bb33ed4bd881f9ed866696fc6c1e5af37f.zip
i18n: generate HTML files from templates for each language
Diffstat (limited to 'template.py')
-rwxr-xr-xtemplate.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/template.py b/template.py
new file mode 100755
index 00000000..86516bb6
--- /dev/null
+++ b/template.py
@@ -0,0 +1,29 @@
1#!/usr/bin/env python
2
3import os
4import sys
5import gettext
6import jinja2
7
8if len(sys.argv) < 3:
9 sys.exit("Usage: " + __file__ + " <template-file> <locale> <output-file>")
10
11in_file = sys.argv[1]
12locale = sys.argv[2]
13out_file = sys.argv[3]
14
15tr = gettext.translation("messages",
16 localedir="locale",
17 languages=[locale])
18
19env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
20 extensions=["jinja2.ext.i18n"],
21 autoescape=False)
22env.install_gettext_translations(tr, newstyle=True)
23
24tmpl = env.get_template(in_file)
25
26import codecs
27f = codecs.open(out_file, "w", "utf-8")
28f.write(tmpl.render())
29f.close()