Найти - Пользователи
Полная версия: LANGUAGE_CODE не работает как нужно
Начало » Python для новичков » LANGUAGE_CODE не работает как нужно
1
coolchevy
фрейм-ворк django

почему-то не воспринимает украинский язык, выставленный браузером

при
HTTP_ACCEPT_LANGUAGE
'uk,ru;q=0.7,en;q=0.3'

request.LANGUAGE_CODE
возвращает ru

если
HTTP_ACCEPT_LANGUAGE
'uk,en;q=0.7,ru;q=0.3'
получаю en
незнаю относиться ли это к этому или нет, но следующие на результат тоже не влияет
_ = lambda s: s
LANGUAGES = (
('uk', _('Ukraine')),
('ru', _('Russian')),
('en', _('English'))
)

django-admin.py makemessages -l ru
django-admin.py makemessages -l uk
подозрительно что у uk нет буковки q c циферкой, видимо какой-то приоритет)
Positive
Кто определял эти константы?
uk - это всегда был United Kingdom. А Украина - ua. Я в джанге не разбираюсь, но может в этом беда?
coolchevy
 HTTP_ACCEPT_LANGUAGE      
'uk,ru;q=0.7,en;q=0.3'
устанавливает браузер

head -1 /usr/lib/python2.4/site-packages/django/conf/locale/uk/LC_MESSAGES/django.po 
# Django, ukrainian translation.
Ferroman
Positive
Есть разные стандарты. По одному из них uk - Украина, а Англия - gb.
В джанге как раз так и используется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB