diff options
author | tg(x) <*@tg-x.net> | 2017-01-19 18:54:35 +0100 |
---|---|---|
committer | tg(x) <*@tg-x.net> | 2017-01-19 18:54:35 +0100 |
commit | 856556bb33ed4bd881f9ed866696fc6c1e5af37f (patch) | |
tree | fac07dc0f2aff98a19a0dd587e0a1c134efab3a3 /template.py | |
parent | bade9dae384032a974dedc496ad44595072d99d9 (diff) | |
download | www-856556bb33ed4bd881f9ed866696fc6c1e5af37f.tar.gz www-856556bb33ed4bd881f9ed866696fc6c1e5af37f.zip |
i18n: generate HTML files from templates for each language
Diffstat (limited to 'template.py')
-rwxr-xr-x | template.py | 29 |
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 | |||
3 | import os | ||
4 | import sys | ||
5 | import gettext | ||
6 | import jinja2 | ||
7 | |||
8 | if len(sys.argv) < 3: | ||
9 | sys.exit("Usage: " + __file__ + " <template-file> <locale> <output-file>") | ||
10 | |||
11 | in_file = sys.argv[1] | ||
12 | locale = sys.argv[2] | ||
13 | out_file = sys.argv[3] | ||
14 | |||
15 | tr = gettext.translation("messages", | ||
16 | localedir="locale", | ||
17 | languages=[locale]) | ||
18 | |||
19 | env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)), | ||
20 | extensions=["jinja2.ext.i18n"], | ||
21 | autoescape=False) | ||
22 | env.install_gettext_translations(tr, newstyle=True) | ||
23 | |||
24 | tmpl = env.get_template(in_file) | ||
25 | |||
26 | import codecs | ||
27 | f = codecs.open(out_file, "w", "utf-8") | ||
28 | f.write(tmpl.render()) | ||
29 | f.close() | ||