diff --git a/shared/multilingual/utils/__init__.py b/shared/multilingual/utils/__init__.py index e69de29..fbe84a3 100644 --- a/shared/multilingual/utils/__init__.py +++ b/shared/multilingual/utils/__init__.py @@ -0,0 +1,11 @@ +# Erik Stein , 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()] diff --git a/shared/multilingual/utils/fields.py b/shared/multilingual/utils/fields.py index 1563e6e..1be88df 100644 --- a/shared/multilingual/utils/fields.py +++ b/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