summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2018-07-31 11:59:33 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2018-07-31 11:59:33 +0200
commiteaf5588d97fce55f15c78c56ecf1317565fd45e3 (patch)
tree7d2a05f4fc9b515890b0aacbd225e5cb58495338
parent41e675a9b027a2565d94f84dc33fa6628caf9a59 (diff)
downloadbackoffice-eaf5588d97fce55f15c78c56ecf1317565fd45e3.tar.gz
backoffice-eaf5588d97fce55f15c78c56ecf1317565fd45e3.tar.bz2
backoffice-eaf5588d97fce55f15c78c56ecf1317565fd45e3.zip
locale-building Makefile
-rw-r--r--.gitignore1
-rw-r--r--talerbackoffice/backoffice/templates/Makefile40
2 files changed, 41 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index c1cce9c..40b2f6c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
Makefile
+!talerbackoffice/backoffice/templates/Makefile
aclocal.m4
autom4te.cache/
compile
diff --git a/talerbackoffice/backoffice/templates/Makefile b/talerbackoffice/backoffice/templates/Makefile
new file mode 100644
index 0000000..d3513b7
--- /dev/null
+++ b/talerbackoffice/backoffice/templates/Makefile
@@ -0,0 +1,40 @@
+# This file is in the public domain.
+
+# All: build HTML pages in all languages and compile the
+# TypeScript logic in web-common.
+all: locale template
+ true
+
+# Extract translateable strings from jinja2 templates.
+locale/messages.pot: *.j2 common/*.j2 common/*.j2.inc
+ env PYTHONPATH="." pybabel extract -F locale/babel.map -o locale/messages.pot .
+
+# Update translation (.po) files with new strings.
+locale-update: locale/messages.pot
+ msgmerge -U -m --previous locale/en/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/de/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/fr/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/es/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/it/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/ru/LC_MESSAGES/messages.po locale/messages.pot
+ msgmerge -U -m --previous locale/pt/LC_MESSAGES/messages.po locale/messages.pot
+
+ if grep -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi
+
+# Compile translation files for use.
+locale-compile:
+ pybabel compile -d locale -l en --use-fuzzy
+ pybabel compile -d locale -l de --use-fuzzy
+ pybabel compile -d locale -l fr --use-fuzzy
+ pybabel compile -d locale -l it --use-fuzzy
+ pybabel compile -d locale -l es --use-fuzzy
+ pybabel compile -d locale -l ru --use-fuzzy
+ pybabel compile -d locale -l pt --use-fuzzy
+
+# Process everything related to gettext translations.
+locale: locale-update locale-compile
+
+# Run the jinja2 templating engine to expand templates to HTML
+# incorporating translations.
+template: locale-compile
+ ./template.py