summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2013-08-05 13:22:55 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2013-08-05 13:22:55 -0600
commit44222153ba48eb93e17fe4fabc6de823544ffa12 (patch)
tree9ee9ca5501df66f012a75dd48816a3286a53f384
parentd2186afd8ef067d8294eceee7ccaea84ccb78f47 (diff)
downloadaskbot-44222153ba48eb93e17fe4fabc6de823544ffa12.tar.gz
askbot-44222153ba48eb93e17fe4fabc6de823544ffa12.tar.bz2
askbot-44222153ba48eb93e17fe4fabc6de823544ffa12.zip
cleaned up language selection feature, middleware not longer required, setting template updated
-rw-r--r--askbot/conf/skin_general_settings.py4
-rw-r--r--askbot/setup_templates/settings.py4
-rw-r--r--askbot/setup_templates/settings.py.mustache4
-rw-r--r--askbot/skins/loaders.py10
-rw-r--r--askbot/utils/translation.py7
5 files changed, 22 insertions, 7 deletions
diff --git a/askbot/conf/skin_general_settings.py b/askbot/conf/skin_general_settings.py
index a46b4e63..11d201ad 100644
--- a/askbot/conf/skin_general_settings.py
+++ b/askbot/conf/skin_general_settings.py
@@ -30,7 +30,9 @@ settings.register(
)
)
-if not getattr(django_settings, 'ASKBOT_MULTILINGUAL', False):
+#cannot use HAS_ASKBOT_LOCALE_MIDDLEWARE due to circular import error
+if not getattr(django_settings, 'ASKBOT_MULTILINGUAL', False) and \
+ 'askbot.middleware.locale.LocaleMiddleware' in django_settings.MIDDLEWARE_CLASSES:
settings.register(
values.StringValue(
GENERAL_SKIN_SETTINGS,
diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py
index c9778263..c7745b14 100644
--- a/askbot/setup_templates/settings.py
+++ b/askbot/setup_templates/settings.py
@@ -100,7 +100,9 @@ MIDDLEWARE_CLASSES = (
#'django.middleware.gzip.GZipMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
- 'askbot.middleware.locale.LocaleMiddleware',
+ ## Enable the following middleware if you want to enable
+ ## language selection in the site settings.
+ #'askbot.middleware.locale.LocaleMiddleware',
#'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.cache.FetchFromCacheMiddleware',
diff --git a/askbot/setup_templates/settings.py.mustache b/askbot/setup_templates/settings.py.mustache
index 8cd32e48..55037b24 100644
--- a/askbot/setup_templates/settings.py.mustache
+++ b/askbot/setup_templates/settings.py.mustache
@@ -104,7 +104,9 @@ MIDDLEWARE_CLASSES = (
#'django.middleware.gzip.GZipMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
- 'askbot.middleware.locale.LocaleMiddleware',
+ ## Enable the following middleware if you want to enable
+ ## language selection in the site settings.
+ #'askbot.middleware.locale.LocaleMiddleware',
#'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.cache.FetchFromCacheMiddleware',
diff --git a/askbot/skins/loaders.py b/askbot/skins/loaders.py
index 82c235ca..afdf758e 100644
--- a/askbot/skins/loaders.py
+++ b/askbot/skins/loaders.py
@@ -12,7 +12,7 @@ from jinja2.exceptions import TemplateNotFound
from jinja2.utils import open_if_exists
from askbot.conf import settings as askbot_settings
from askbot.skins import utils
-from askbot.utils.translation import get_language
+from askbot.utils.translation import get_language, HAS_ASKBOT_LOCALE_MIDDLEWARE
from coffin import template
template.add_to_builtins('askbot.templatetags.extra_filters_jinja')
@@ -94,8 +94,12 @@ def load_skins(language_code):
return skins
SKINS = dict()
-for lang in dict(django_settings.LANGUAGES).keys():
- SKINS.update(load_skins(lang))
+if getattr(django_settings, 'ASKBOT_MULTILINGUAL', False) or\
+ HAS_ASKBOT_LOCALE_MIDDLEWARE:
+ for lang in dict(django_settings.LANGUAGES).keys():
+ SKINS.update(load_skins(lang))
+else:
+ SKINS = load_skins(django_settings.LANGUAGE_CODE)
def get_skin():
"""retreives the skin environment
diff --git a/askbot/utils/translation.py b/askbot/utils/translation.py
index f9ec0cf1..7e1231d3 100644
--- a/askbot/utils/translation.py
+++ b/askbot/utils/translation.py
@@ -5,5 +5,10 @@ from django.utils import translation
def get_language():
if getattr(django_settings, 'ASKBOT_MULTILINGUAL', False):
return translation.get_language()
- else:
+ elif HAS_ASKBOT_LOCALE_MIDDLEWARE:
return askbot_settings.ASKBOT_LANGUAGE
+ else:
+ return django_settings.LANGUAGE_CODE
+
+HAS_ASKBOT_LOCALE_MIDDLEWARE = 'askbot.middleware.locale.LocaleMiddleware' in \
+ django_settings.MIDDLEWARE_CLASSES