django-modeltranslation
django-modeltranslation copied to clipboard
Default language doesn't work
Hello!
I have problem with default language which doesn't seem to work properly.
I'm using: Django==2.1.4 django-modeltranslation==0.13.
Here is my settings:
LANGUAGE_CODE = 'en'
LANGUAGES = (
('pl', _('Polish')),
('en', _('English')),
...
)
MODELTRANSLATION_LANGUAGES = ('pl', 'en', 'ru', 'es', 'de', 'fr', 'it', 'pt')
MODELTRANSLATION_DEFAULT_LANGUAGE = 'pl'
Here is model registering:
@register(MyModel)
class MyModelTranslationOptions(TranslationOptions):
fields = ('name', 'slug',)
Here is output from Django shell:
In [1]: MyModel.objects.last().name
Out[1]: 'name_en'
In [2]: MyModel.objects.last().name_en
Out[2]: 'name_en'
In [3]: MyModel.objects.last().name_pl
Out[3]: 'name_pl'
In [4]: settings.MODELTRANSLATION_DEFAULT_LANGUAGE
Out[4]: 'pl'
In [5]: from modeltranslation import settings as s
In [6]: s.DEFAULT_LANGUAGE
Out[6]: 'pl'
Why does my app return English field version, but not Polish one? Maybe I'm doing something wrong?
Honestly i don't know why it does not work in your case.
Take a look at modeltranslation.utils.get_language and examine it with debugger.
This could be caused by #508. @commadot does your field has a default value?
probably, you have 'django.middleware.locale.LocaleMiddleware' in middleware which activates 'en' for given thread
@igor-zmitrovich sorry...what was the solution?