diff --git a/babel-django.cfg b/babel-django.cfg new file mode 100644 index 0000000..e78d6c0 --- /dev/null +++ b/babel-django.cfg @@ -0,0 +1,5 @@ +[extractors] +django = django_babel.extract:extract_django + +[python: **.py] +[django: **/templates/**.html] diff --git a/babel-djangojs.cfg b/babel-djangojs.cfg new file mode 100644 index 0000000..a8273b6 --- /dev/null +++ b/babel-djangojs.cfg @@ -0,0 +1,14 @@ +[extractors] +# We use a custom extractor to find translatable strings in AngularJS +# templates. The extractor is included in horizon.utils for now. +# See http://babel.pocoo.org/docs/messages/#referencing-extraction-methods for +# details on how this works. +angular = horizon.utils.babel_extract_angular:extract_angular + +[javascript: **.js] + +# We need to look into all static folders for HTML files. +# The **/static ensures that we also search within +# /openstack_dashboard/dashboards/XYZ/static which will ensure +# that plugins are also translated. +[angular: **/static/**.html] diff --git a/devstack/plugin.sh b/devstack/plugin.sh index a9eadef..f8f9948 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -8,6 +8,16 @@ function install_sahara_dashboard { function configure_sahara_dashboard { cp -a ${SAHARA_DASH_DIR}/sahara_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/ + # compile message catalogs + # NOTE: "python manage.py compilemessages does not work" + # so we compile translation catalogs directly. + if [ -d sahara_dashboard/locale ]; then + for domain in django djangojs; do + if find sahara_dashboard/locale -type f | grep -q "${domain}.po$"; then + pybabel compile -D ${domain} -d sahara_dashboard/locale + fi + done + fi } # check for service enabled diff --git a/sahara_dashboard/content/data_processing/locale b/sahara_dashboard/content/data_processing/locale new file mode 120000 index 0000000..853389b --- /dev/null +++ b/sahara_dashboard/content/data_processing/locale @@ -0,0 +1 @@ +../../locale \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 92ee06b..5bfd891 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,17 +30,3 @@ all_files = 1 [upload_sphinx] upload-dir = doc/build/html - -[compile_catalog] -directory = sahara_dashboard/locale -domain = sahara-dashboard - -[update_catalog] -domain = sahara-dashboard -output_dir = sahara_dashboard/locale -input_file = sahara_dashboard/locale/sahara_dashboard.pot - -[extract_messages] -keywords = _ gettext ngettext l_ lazy_gettext -mapping_file = babel.cfg -output_file = sahara_dashboard/locale/sahara_dashboard.pot