Browse Source

get_language_order, improved lang_suffix

master
Erik Stein 8 years ago
parent
commit
e60a42c0e5
  1. 18
      shared/utils/translation.py

18
shared/utils/translation.py

@ -3,6 +3,7 @@ from __future__ import unicode_literals
# Erik Stein <code@classlibrary.net>, 2015 # Erik Stein <code@classlibrary.net>, 2015
import os import os
from collections import OrderedDict
from contextlib import contextmanager from contextlib import contextmanager
from django import http from django import http
from django.conf import settings from django.conf import settings
@ -37,13 +38,24 @@ def get_language(language_code=None):
return _normalize_language_code(language_code)[:2] return _normalize_language_code(language_code)[:2]
def lang_suffix(language_code=None): def get_language_order(languages=None):
"""
Returns a copy of settings.LANGUAGES with the active language at the first position.
"""
languages = languages or list(OrderedDict(settings.LANGUAGES).keys())
languages.insert(0, languages.pop(languages.index(get_language())))
return languages
def lang_suffix(language_code=None, fieldname=None):
""" """
Returns the suffix appropriate for adding to field names for selecting Returns the suffix appropriate for adding to field names for selecting
the current language. the current language.
If fieldname is given, returns the suffixed fieldname.
""" """
language_code = _normalize_language_code(language_code)[:2] language_code = _normalize_language_code(language_code or get_language())[:2]
return "_{}".format(language_code) return "{}_{}".format(fieldname or "", language_code)
class DirectTemplateView(TemplateView): class DirectTemplateView(TemplateView):

Loading…
Cancel
Save