diff options
-rw-r--r-- | mediagoblin/templates/mediagoblin/base.html | 10 | ||||
-rw-r--r-- | mediagoblin/tools/template.py | 5 | ||||
-rw-r--r-- | mediagoblin/tools/translate.py | 6 |
3 files changed, 17 insertions, 4 deletions
diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index e71f9d12..6d49ff47 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -16,10 +16,14 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -#} <!doctype html> + <html -{% block mediagoblin_html_tag %} -{% endblock mediagoblin_html_tag %} -> + {% block mediagoblin_html_tag %} + {% endblock mediagoblin_html_tag %} + {% if is_rtl -%} + dir="rtl" + {%- endif -%} + > <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> diff --git a/mediagoblin/tools/template.py b/mediagoblin/tools/template.py index fa290611..e5acdf45 100644 --- a/mediagoblin/tools/template.py +++ b/mediagoblin/tools/template.py @@ -26,7 +26,9 @@ from mediagoblin import mg_globals from mediagoblin import messages from mediagoblin import _version from mediagoblin.tools import common +from mediagoblin.tools.translate import is_rtl from mediagoblin.tools.translate import set_thread_locale +from mediagoblin.tools.translate import get_locale_from_request from mediagoblin.tools.pluginapi import get_hook_templates, hook_transform from mediagoblin.tools.timesince import timesince from mediagoblin.meddleware.csrf import render_csrf_form_token @@ -72,12 +74,13 @@ def get_jinja_env(template_loader, locale): # ... fetch all waiting messages and remove them from the queue # ... construct a grid of thumbnails or other media # ... have access to the global and app config + # ... determine if the language is rtl or ltr template_env.globals['fetch_messages'] = messages.fetch_messages template_env.globals['app_config'] = mg_globals.app_config template_env.globals['global_config'] = mg_globals.global_config template_env.globals['version'] = _version.__version__ template_env.globals['auth'] = mg_globals.app.auth - + template_env.globals['is_rtl'] = is_rtl(locale) template_env.filters['urlencode'] = url_quote_plus # add human readable fuzzy date time diff --git a/mediagoblin/tools/translate.py b/mediagoblin/tools/translate.py index b20e57d1..f55ce349 100644 --- a/mediagoblin/tools/translate.py +++ b/mediagoblin/tools/translate.py @@ -31,6 +31,12 @@ AVAILABLE_LOCALES = None TRANSLATIONS_PATH = pkg_resources.resource_filename( 'mediagoblin', 'i18n') +# Known RTL languages +KNOWN_RTL = set(["ar", "fa", "zh","he","iw","ja","ur","yi","ji"]) + +def is_rtl(lang): + """Returns true when the local language is right to left""" + return lang in KNOWN_RTL def set_available_locales(): """Set available locales for which we have translations""" |