summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-04 00:34:05 -0300
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-04 00:34:05 -0300
commitdf308aa37c4a91276d09007f6f55c706c8d9b1f6 (patch)
treed82788169f20d470e0c153bcf50f4ba513d9476a
parente17673c213e90714736124a648ffeb80cca58772 (diff)
downloadaskbot-df308aa37c4a91276d09007f6f55c706c8d9b1f6.tar.gz
askbot-df308aa37c4a91276d09007f6f55c706c8d9b1f6.tar.bz2
askbot-df308aa37c4a91276d09007f6f55c706c8d9b1f6.zip
added basic language navigation menu
-rw-r--r--askbot/context.py2
-rw-r--r--askbot/media/style/style.less13
-rw-r--r--askbot/templates/base.html3
-rw-r--r--askbot/templates/widgets/language_nav.html9
-rw-r--r--askbot/templatetags/extra_filters_jinja.py5
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'))