summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-17 19:17:12 -0300
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-01-17 19:17:12 -0300
commit6ad4cb23d6ab24d6d69e2f4523d356b113a79301 (patch)
treef7d7d267217c2d87bcd84265b10d55347e276828
parent488c52b1bd8711a07e9f6dce03fa86228bca1c31 (diff)
downloadaskbot-6ad4cb23d6ab24d6d69e2f4523d356b113a79301.tar.gz
askbot-6ad4cb23d6ab24d6d69e2f4523d356b113a79301.tar.bz2
askbot-6ad4cb23d6ab24d6d69e2f4523d356b113a79301.zip
made dropdown language navigation
-rw-r--r--askbot/context.py4
-rw-r--r--askbot/media/style/style.less18
-rw-r--r--askbot/templates/404.html4
-rw-r--r--askbot/templates/base.html6
-rw-r--r--askbot/templates/meta/bottom_scripts.html2
-rw-r--r--askbot/templates/user_profile/user_email_subscriptions.html8
-rw-r--r--askbot/templates/widget_base.html2
-rw-r--r--askbot/templates/widgets/language_nav.html23
8 files changed, 42 insertions, 25 deletions
diff --git a/askbot/context.py b/askbot/context.py
index 96f30074..523e8e09 100644
--- a/askbot/context.py
+++ b/askbot/context.py
@@ -6,6 +6,7 @@ import sys
from django.conf import settings
from django.core.urlresolvers import reverse
from django.utils import simplejson
+from django.utils.translation import get_language
import askbot
from askbot import api
@@ -30,7 +31,7 @@ def application_settings(request):
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['LANGUAGES_DICT'] = dict(getattr(settings, 'LANGUAGES', []))
my_settings['ALLOWED_UPLOAD_FILE_TYPES'] = \
settings.ASKBOT_ALLOWED_UPLOAD_FILE_TYPES
my_settings['ASKBOT_URL'] = settings.ASKBOT_URL
@@ -54,6 +55,7 @@ def application_settings(request):
my_settings['USE_ASKBOT_LOGIN_SYSTEM'] = 'askbot.deps.django_authopenid' \
in settings.INSTALLED_APPS
context = {
+ 'current_language_code': get_language(),
'settings': my_settings,
'skin': get_skin(request),
'moderation_items': api.get_info_on_moderation_items(request.user),
diff --git a/askbot/media/style/style.less b/askbot/media/style/style.less
index b6db03ac..86b75968 100644
--- a/askbot/media/style/style.less
+++ b/askbot/media/style/style.less
@@ -249,15 +249,23 @@ body.user-messages {
}
.lang-nav {
+ position: relative;
ul {
+ display: none;
list-style: none;
+ z-index: 10000;
+ margin: 0;
}
- li {
- display: inline;
- padding-right: 16px;
+ &:hover ul,
+ ul:hover {
+ display: block;
+ position: absolute;
+ width: 100px;
}
- li.current {
- font-weight: bold;
+ li {
+ color: @info-text;
+ background: white;
+ display: block;
}
}
diff --git a/askbot/templates/404.html b/askbot/templates/404.html
index 2da99646..565ff164 100644
--- a/askbot/templates/404.html
+++ b/askbot/templates/404.html
@@ -22,8 +22,8 @@
</u>
</div>
<script type="text/javascript">
- var GOOG_FIXURL_LANG = '{{settings.LANGUAGE_CODE}}';
- var GOOG_FIXURL_SITE = '{{site_url}}';
+ var GOOG_FIXURL_LANG = '{{ language_code }}';
+ var GOOG_FIXURL_SITE = '{{ site_url }}';
</script>
<script type="text/javascript" src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
<ul>
diff --git a/askbot/templates/base.html b/askbot/templates/base.html
index 56288476..6c162057 100644
--- a/askbot/templates/base.html
+++ b/askbot/templates/base.html
@@ -28,11 +28,13 @@
{{ settings.CUSTOM_HTML_HEAD }}
{% endif %}
</head>
- <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}}">
+ <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-{{ language_code }}">
{% include "widgets/system_messages.html" %}
{% include "debug_header.html" %}
{% if settings.MULTILINGUAL %}
- {% include "widgets/language_nav.html" %}
+ <div class="content-wrapper">
+ {% include "widgets/language_nav.html" %}
+ </div>
{% endif %}
{% include "custom_header.html" ignore missing %}
{% if settings.CUSTOM_HEADER|trim != '' %}
diff --git a/askbot/templates/meta/bottom_scripts.html b/askbot/templates/meta/bottom_scripts.html
index 4b2bb6f8..c62f26dc 100644
--- a/askbot/templates/meta/bottom_scripts.html
+++ b/askbot/templates/meta/bottom_scripts.html
@@ -14,7 +14,7 @@
</script>
</div>
<script type="text/javascript">
- var i18nLang = '{{settings.LANGUAGE_CODE}}';
+ var i18nLang = '{{ language_code }}';
var scriptUrl = '/{{settings.ASKBOT_URL}}'
var askbotSkin = '{{settings.ASKBOT_DEFAULT_SKIN}}';
var enableMathJax = {% if settings.ENABLE_MATHJAX %}true{% else %}false{% endif %};
diff --git a/askbot/templates/user_profile/user_email_subscriptions.html b/askbot/templates/user_profile/user_email_subscriptions.html
index 5ec81203..4692456b 100644
--- a/askbot/templates/user_profile/user_email_subscriptions.html
+++ b/askbot/templates/user_profile/user_email_subscriptions.html
@@ -33,11 +33,11 @@
action="{% url user_select_languages view_user.id, view_user.username|slugify %}"
>{% csrf_token %}
<select multiple name="languages">
- {% for lang in settings.LANGUAGES %}
+ {% for lang in settings.LANGUAGES_DICT %}
<option
- value="{{ lang[0] }}"
- {% if lang[0] in user_languages %}selected="selected"{% endif %}
- >{{ lang[1] }}</option>
+ value="{{ lang }}"
+ {% if lang in user_languages %}selected="selected"{% endif %}
+ >{{ settings.LANGUAGES_DICT[lang] }}</option>
{% endfor %}
</select><br/>
<input type="submit" class="select-language" value="{% trans %}Save languages{% endtrans %}" />
diff --git a/askbot/templates/widget_base.html b/askbot/templates/widget_base.html
index 44be3e5f..be5bf301 100644
--- a/askbot/templates/widget_base.html
+++ b/askbot/templates/widget_base.html
@@ -9,7 +9,7 @@
{% block forejs %}{% endblock %}
</head>
{% endspaceless %}
- <body class="lang-{{settings.LANGUAGE_CODE}}">
+ <body class="lang-{{ language_code }}">
{% block body%}
{% endblock %}
{% block content%}
diff --git a/askbot/templates/widgets/language_nav.html b/askbot/templates/widgets/language_nav.html
index 57603ab5..7db6d559 100644
--- a/askbot/templates/widgets/language_nav.html
+++ b/askbot/templates/widgets/language_nav.html
@@ -1,9 +1,14 @@
-<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>
+<span class="lang-nav">
+ <span>{{ settings.LANGUAGES_DICT[language_code] }}</span>
+ <ul>
+ {% for lang in settings.LANGUAGES_DICT %}
+ {% if lang != language_code %}
+ <li>
+ <a
+ href="/{{ lang }}/{{ settings.ASKBOT_URL }}"
+ >{{ settings.LANGUAGES_DICT[lang] }}</a>
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+</span>