Browse Source

i18n_fields function.

master
Erik Stein 8 years ago
parent
commit
452ef71eeb
  1. 11
      shared/multilingual/utils/__init__.py
  2. 5
      shared/multilingual/utils/fields.py

11
shared/multilingual/utils/__init__.py

@ -0,0 +1,11 @@
# Erik Stein <code@classlibrary.net>, 2017
from collections import OrderedDict
from django.conf import settings
from shared.utils.translation import lang_suffix
def i18n_fields(field_name, languages=None):
return [lang_suffix(l, field_name) for l in languages or
OrderedDict(settings.LANGUAGES).keys()]

5
shared/multilingual/utils/fields.py

@ -12,9 +12,10 @@ from shared.utils.translation import get_language, lang_suffix
def get_translated_value(name):
def translated_value(obj):
language = get_language()
val = obj.__dict__["%s%s" % (name, lang_suffix(language))]
val = obj.__dict__[lang_suffix(language, name)]
# FIXME Try all available languages, not only the default one
if not val:
val = obj.__dict__["%s%s" % (name, lang_suffix(settings.LANGUAGE_CODE))]
val = obj.__dict__[lang_suffix(settings.LANGUAGE_CODE, name)]
return val
return translated_value

Loading…
Cancel
Save