summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2018-07-31 14:16:18 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2018-07-31 14:16:18 +0200
commit9730959cd562f10adcfaa8c66f82e9223080687d (patch)
tree902b7640d516cda134ceac843b0446e3e83bca3a
parenteaf5588d97fce55f15c78c56ecf1317565fd45e3 (diff)
downloadbackoffice-9730959cd562f10adcfaa8c66f82e9223080687d.tar.gz
backoffice-9730959cd562f10adcfaa8c66f82e9223080687d.tar.bz2
backoffice-9730959cd562f10adcfaa8c66f82e9223080687d.zip
Rename 'locale' directory to 'translations'.
That's the default for Babel.
-rw-r--r--talerbackoffice/backoffice/backoffice.py26
-rw-r--r--talerbackoffice/backoffice/templates/Makefile39
-rw-r--r--talerbackoffice/backoffice/templates/backoffice.html (renamed from talerbackoffice/backoffice/templates/backoffice.html.j2)0
-rw-r--r--talerbackoffice/backoffice/templates/base.html (renamed from talerbackoffice/backoffice/templates/base.html.j2)0
-rw-r--r--talerbackoffice/backoffice/templates/javascript.html (renamed from talerbackoffice/backoffice/templates/javascript.html.j2)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/babel.map (renamed from talerbackoffice/backoffice/templates/locale/babel.map)9
-rw-r--r--talerbackoffice/backoffice/templates/translations/de/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/de/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/en/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/en/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/es/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/es/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/fr/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/fr/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/it/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/it/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/messages.pot (renamed from talerbackoffice/backoffice/templates/locale/messages.pot)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/pt/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/pt/LC_MESSAGES/messages.po)0
-rw-r--r--talerbackoffice/backoffice/templates/translations/ru/LC_MESSAGES/messages.po (renamed from talerbackoffice/backoffice/templates/locale/ru/LC_MESSAGES/messages.po)0
14 files changed, 49 insertions, 25 deletions
diff --git a/talerbackoffice/backoffice/backoffice.py b/talerbackoffice/backoffice/backoffice.py
index ad65a88..ce2858e 100644
--- a/talerbackoffice/backoffice/backoffice.py
+++ b/talerbackoffice/backoffice/backoffice.py
@@ -26,6 +26,7 @@ import os
import base64
import requests
import flask
+from flask.ext.babel import Babel
from talerbackoffice.talerconfig import TalerConfig
from ..helpers import (join_urlparts, \
get_query_string, backend_error)
@@ -37,6 +38,7 @@ BASE_DIR = os.path.dirname(os.path.abspath(__file__))
app = flask.Flask(__name__, template_folder=BASE_DIR)
app.debug = True
app.secret_key = base64.b64encode(os.urandom(64)).decode('utf-8')
+babel = Babel(app)
TC = TalerConfig.from_env()
@@ -45,6 +47,29 @@ INSTANCES = os.environ.get("BACKOFFICE_INSTANCES")
CURRENCY = TC["taler"]["currency"].value_string(required=True)
app.config.from_object(__name__)
+LANGUAGES = {
+ 'de': 'German',
+ 'en': 'English',
+ 'it': 'Italian',
+ 'fr': 'French',
+ 'pt': 'Portuguese',
+ 'es': 'Spanish',
+ 'ru': 'Russian',
+}
+
+@babel.localeselector
+def get_locale():
+
+ # Locale extraction should be made from the URL.
+ return "en"
+
+ # To be activated once the i18n machinery is up.
+ qs = get_query_string().decode("utf-8")
+ for token in qs.split("/"):
+ if "" == token:
+ pass
+ return token if token in LANGUAGES.keys() else "en"
+
@app.context_processor
def utility_processor():
def url(my_url):
@@ -54,6 +79,7 @@ def utility_processor():
return dict(url=url, env=env)
+@app.route("/<lang>/")
@app.route("/")
def index():
return flask.render_template("templates/backoffice.html", instances=INSTANCES.split())
diff --git a/talerbackoffice/backoffice/templates/Makefile b/talerbackoffice/backoffice/templates/Makefile
index d3513b7..b25897d 100644
--- a/talerbackoffice/backoffice/templates/Makefile
+++ b/talerbackoffice/backoffice/templates/Makefile
@@ -2,39 +2,40 @@
# All: build HTML pages in all languages and compile the
# TypeScript logic in web-common.
-all: locale template
+all: locale
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 .
+locale/messages.pot: *.html
+ env PYTHONPATH="." pybabel extract -F translations/babel.map -o translations/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
+ msgmerge -U -m --previous translations/en/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/de/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/fr/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/es/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/it/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/ru/LC_MESSAGES/messages.po translations/messages.pot
+ msgmerge -U -m --previous translations/pt/LC_MESSAGES/messages.po translations/messages.pot
- if grep -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi
+ if grep -nA1 '#-#-#-#-#' translations/*/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
+ pybabel compile -d translations -l en --use-fuzzy
+ pybabel compile -d translations -l de --use-fuzzy
+ pybabel compile -d translations -l fr --use-fuzzy
+ pybabel compile -d translations -l it --use-fuzzy
+ pybabel compile -d translations -l es --use-fuzzy
+ pybabel compile -d translations -l ru --use-fuzzy
+ pybabel compile -d translations -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.
+# incorporating translations. NOTE; likely NOT needed when another
+# templating is happening -- like in a Flask settlement.
template: locale-compile
./template.py
diff --git a/talerbackoffice/backoffice/templates/backoffice.html.j2 b/talerbackoffice/backoffice/templates/backoffice.html
index 063a28f..063a28f 100644
--- a/talerbackoffice/backoffice/templates/backoffice.html.j2
+++ b/talerbackoffice/backoffice/templates/backoffice.html
diff --git a/talerbackoffice/backoffice/templates/base.html.j2 b/talerbackoffice/backoffice/templates/base.html
index 4e8109c..4e8109c 100644
--- a/talerbackoffice/backoffice/templates/base.html.j2
+++ b/talerbackoffice/backoffice/templates/base.html
diff --git a/talerbackoffice/backoffice/templates/javascript.html.j2 b/talerbackoffice/backoffice/templates/javascript.html
index 8f27425..8f27425 100644
--- a/talerbackoffice/backoffice/templates/javascript.html.j2
+++ b/talerbackoffice/backoffice/templates/javascript.html
diff --git a/talerbackoffice/backoffice/templates/locale/babel.map b/talerbackoffice/backoffice/templates/translations/babel.map
index 72b6f99..d596257 100644
--- a/talerbackoffice/backoffice/templates/locale/babel.map
+++ b/talerbackoffice/backoffice/templates/translations/babel.map
@@ -1,12 +1,9 @@
[extractors]
jinja2 = i18nfix:babel_extract
-[jinja2: **.j2]
-encoding = utf-8
-lstrip_blocks = True
-trim_blocks = True
+[python: **.py]
-[jinja2: **.j2.inc]
+[jinja2: **/templates/**.html]
encoding = utf-8
lstrip_blocks = True
-ltrim_blocks = True
+trim_blocks = True
diff --git a/talerbackoffice/backoffice/templates/locale/de/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/de/LC_MESSAGES/messages.po
index 4b63635..4b63635 100644
--- a/talerbackoffice/backoffice/templates/locale/de/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/de/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/en/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/en/LC_MESSAGES/messages.po
index 839d17f..839d17f 100644
--- a/talerbackoffice/backoffice/templates/locale/en/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/en/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/es/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/es/LC_MESSAGES/messages.po
index b44c00c..b44c00c 100644
--- a/talerbackoffice/backoffice/templates/locale/es/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/es/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/fr/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/fr/LC_MESSAGES/messages.po
index 8baa214..8baa214 100644
--- a/talerbackoffice/backoffice/templates/locale/fr/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/fr/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/it/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/it/LC_MESSAGES/messages.po
index c017fc7..c017fc7 100644
--- a/talerbackoffice/backoffice/templates/locale/it/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/it/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/messages.pot b/talerbackoffice/backoffice/templates/translations/messages.pot
index 9400cb4..9400cb4 100644
--- a/talerbackoffice/backoffice/templates/locale/messages.pot
+++ b/talerbackoffice/backoffice/templates/translations/messages.pot
diff --git a/talerbackoffice/backoffice/templates/locale/pt/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/pt/LC_MESSAGES/messages.po
index 603e0e8..603e0e8 100644
--- a/talerbackoffice/backoffice/templates/locale/pt/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/pt/LC_MESSAGES/messages.po
diff --git a/talerbackoffice/backoffice/templates/locale/ru/LC_MESSAGES/messages.po b/talerbackoffice/backoffice/templates/translations/ru/LC_MESSAGES/messages.po
index 1bb3f01..1bb3f01 100644
--- a/talerbackoffice/backoffice/templates/locale/ru/LC_MESSAGES/messages.po
+++ b/talerbackoffice/backoffice/templates/translations/ru/LC_MESSAGES/messages.po