summaryrefslogtreecommitdiff
path: root/i18nfix.py
diff options
context:
space:
mode:
Diffstat (limited to 'i18nfix.py')
-rw-r--r--i18nfix.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/i18nfix.py b/i18nfix.py
new file mode 100644
index 00000000..b0395507
--- /dev/null
+++ b/i18nfix.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python3
+# This file is in the public domain.
+
+"""
+Extract translations from a Jinja2 template, stripping leading newlines.
+
+@author Florian Dold
+"""
+
+import jinja2.ext
+import re
+
+r = re.compile(r"\n[ \t]+")
+
+def babel_extract(fileobj, keywords, comment_tags, options):
+ res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options)
+ for lineno, funcname, message, comments in res:
+ message = message.lstrip()
+ message = r.sub("\n", message)
+ yield lineno, funcname, message, comments