diff options
-rw-r--r-- | askbot/context.py | 2 | ||||
-rw-r--r-- | askbot/media/style/style.less | 13 | ||||
-rw-r--r-- | askbot/templates/base.html | 3 | ||||
-rw-r--r-- | askbot/templates/widgets/language_nav.html | 9 | ||||
-rw-r--r-- | askbot/templatetags/extra_filters_jinja.py | 5 |
5 files changed, 32 insertions, 0 deletions
diff --git a/askbot/context.py b/askbot/context.py index 61f833cb..96f30074 100644 --- a/askbot/context.py +++ b/askbot/context.py @@ -29,6 +29,8 @@ def application_settings(request): return {} my_settings = askbot_settings.as_dict() my_settings['LANGUAGE_CODE'] = getattr(request, 'LANGUAGE_CODE', settings.LANGUAGE_CODE) + my_settings['MULTILINGUAL'] = getattr(settings, 'ASKBOT_MULTILINGUAL', False) + my_settings['LANGUAGES'] = getattr(settings, 'LANGUAGES', []) my_settings['ALLOWED_UPLOAD_FILE_TYPES'] = \ settings.ASKBOT_ALLOWED_UPLOAD_FILE_TYPES my_settings['ASKBOT_URL'] = settings.ASKBOT_URL diff --git a/askbot/media/style/style.less b/askbot/media/style/style.less index dd854876..76a5c0cf 100644 --- a/askbot/media/style/style.less +++ b/askbot/media/style/style.less @@ -248,6 +248,19 @@ body.user-messages { float: left; } +.lang-nav { + ul { + list-style: none; + } + li { + display: inline; + padding-right: 16px; + } + li.current { + font-weight: bold; + } +} + #userToolsNav {/* Navigation bar containing login link or user information, check widgets/user_navigation.html*/ height: 20px; padding-bottom:5px; diff --git a/askbot/templates/base.html b/askbot/templates/base.html index c65d690e..56288476 100644 --- a/askbot/templates/base.html +++ b/askbot/templates/base.html @@ -31,6 +31,9 @@ <body class="{% block body_class %}{% endblock %}{% if user_messages %} user-messages{% endif %}{% if page_class %} {{page_class}}{% endif %}{% if request.user.is_anonymous() %} anon{% endif %} lang-{{settings.LANGUAGE_CODE}}"> {% include "widgets/system_messages.html" %} {% include "debug_header.html" %} + {% if settings.MULTILINGUAL %} + {% include "widgets/language_nav.html" %} + {% endif %} {% include "custom_header.html" ignore missing %} {% if settings.CUSTOM_HEADER|trim != '' %} <div id="custom-header"> diff --git a/askbot/templates/widgets/language_nav.html b/askbot/templates/widgets/language_nav.html new file mode 100644 index 00000000..57603ab5 --- /dev/null +++ b/askbot/templates/widgets/language_nav.html @@ -0,0 +1,9 @@ +<ul class="content-wrapper lang-nav"> +{% for language in settings.LANGUAGES %} + <li {% if language[0]|is_current_language() %}class="current"{% endif %}> + <a + href="/{{ language[0] }}/{{ settings.ASKBOT_URL }}" + >{{ language[1] }}</a> + </li> +{% endfor %} +</ul> diff --git a/askbot/templatetags/extra_filters_jinja.py b/askbot/templatetags/extra_filters_jinja.py index 146de6d1..e927ccbf 100644 --- a/askbot/templatetags/extra_filters_jinja.py +++ b/askbot/templatetags/extra_filters_jinja.py @@ -6,6 +6,7 @@ import urllib from coffin import template as coffin_template from django.core import exceptions as django_exceptions from django.utils.translation import ugettext as _ +from django.utils.translation import get_language as django_get_language from django.contrib.humanize.templatetags import humanize from django.template import defaultfilters from django.core.urlresolvers import reverse, resolve @@ -38,6 +39,10 @@ def add_tz_offset(datetime_object): return str(datetime_object) + ' ' + TIMEZONE_STR @register.filter +def is_current_language(lang): + return lang == django_get_language() + +@register.filter def safe_urlquote(text, quote_plus = False): if quote_plus: return urllib.quote_plus(text.encode('utf8')) |