Changeset 595
- Timestamp:
- 08/27/10 17:40:00 (3 years ago)
- Location:
- trunk/opentrials
- Files:
-
- 1 added
- 5 modified
-
middleware/user_locale.py (modified) (1 diff)
-
polyglot/models.py (modified) (1 diff)
-
polyglot/templatetags/polyglot_tags.py (modified) (2 diffs)
-
polyglot/tests/03-interface.txt (added)
-
settings.py (modified) (1 diff)
-
templates/base.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/opentrials/middleware/user_locale.py
r380 r595 12 12 13 13 def process_request(self, request): 14 if request.user.is_authenticated(): 15 language = request.user.get_profile().preferred_language 16 translation.activate(language) 17 request.LANGUAGE_CODE = translation.get_language() 18 else: 19 language = translation.get_language_from_request(request) 20 translation.activate(language) 21 request.LANGUAGE_CODE = translation.get_language() 14 if not request.session.get('django_language', None): 15 if request.user.is_authenticated(): 16 language = request.user.get_profile().preferred_language 17 translation.activate(language) 18 request.LANGUAGE_CODE = translation.get_language() 19 else: 20 language = translation.get_language_from_request(request) 21 translation.activate(language) 22 request.LANGUAGE_CODE = translation.get_language() 22 23 23 24 def process_response(self, request, response): -
trunk/opentrials/polyglot/models.py
r582 r595 107 107 return [field.name for field in trans_model._meta.fields if field.name not in ('id','language','content_type','object_id')] 108 108 109 def get_ordered_languages(display_language, lower=False): 110 """Returns available languages ordered according to display language given""" 111 112 # Just sorts languages placing preferred language first 113 languages = ([lang[0] for lang in settings.MANAGED_LANGUAGES_CHOICES if lang[0] == display_language] + 114 [lang[0] for lang in settings.MANAGED_LANGUAGES_CHOICES if lang[0] != display_language]) 115 languages = map(str, languages) 116 117 if lower: 118 languages = map(lambda s: s.lower(), languages) 119 120 return languages 121 -
trunk/opentrials/polyglot/templatetags/polyglot_tags.py
r593 r595 1 1 from django import template 2 from django.conf import settings 2 3 from polyglot.models import get_ordered_languages 3 4 4 5 register = template.Library() … … 6 7 class JSConstantsNode(template.Node): 7 8 def render(self, context): 9 # It depends on 'request' template context processor 8 10 display_language = context['request'].user.get_profile().preferred_language.lower() 9 11 10 ordered_languages = ([lang[0] for lang in settings.MANAGED_LANGUAGES_CHOICES if lang[0] == display_language] + 11 [lang[0] for lang in settings.MANAGED_LANGUAGES_CHOICES if lang[0] != display_language]) 12 ordered_languages = map(lambda s: s.lower(), map(str, ordered_languages)) 12 ordered_languages = get_ordered_languages(display_language, lower=True) 13 13 14 default_second_language = ordered_languages[0] == 'en' and display_language or 'en' 14 # Default second language must be english 15 if len(ordered_languages) <= 1: 16 default_second_language = None 17 else: 18 default_second_language = ordered_languages[1] 15 19 16 20 return """MULTILINGUAL_FIELDS = { -
trunk/opentrials/settings.py
r594 r595 63 63 'django.middleware.csrf.CsrfViewMiddleware', 64 64 'middleware.scriptprefix.ScriptPrefixMiddleware', 65 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',66 65 'django.middleware.locale.LocaleMiddleware', 67 66 'middleware.user_locale.UserLocaleMiddleware', 67 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 68 68 ) 69 69 -
trunk/opentrials/templates/base.html
r594 r595 124 124 {% csrf_token %} 125 125 <input type="hidden" id="language" name="language"> 126 <li><a id="lang_pt-BR" href=" " title="{% trans 'Change language to Portuguese' %}">PT</a></li>127 <li><a id="lang_es" href=" " title="{% trans 'Change language to Spanish' %}">ES</a></li>128 <li><a id="lang_en" href=" " title="{% trans 'Change language to English' %}">EN</a></li>126 <li><a id="lang_pt-BR" href="javascript: void(0)" title="{% trans 'Change language to Portuguese' %}">PT</a></li> 127 <li><a id="lang_es" href="javascript: void(0)" title="{% trans 'Change language to Spanish' %}">ES</a></li> 128 <li><a id="lang_en" href="javascript: void(0)" title="{% trans 'Change language to English' %}">EN</a></li> 129 129 </ul> 130 130 </form>
