Здрасьте, о великие Дяденьки. Нужна ваша помощь. Как реализовать мультиязычный интерфейс с помощью Django? Есть своя идейка но не раз на других языках сталкивался с тем что я снова изобретал колесо. Решил смерится. Только 5 дней изучаю Джанго. Вот если что идейка:
Есть какая та страница вьюшка но в отдельном приложении. Ну к примеру этих страниц много. Они все отдельные и независимые.
И для мультиязычия создал новое ПРИЛОЖЕНИЕ по имени Languages. Внутри создал новый 'language.py'
RU={
'main_title':'Главная',
'lang_panel_index':'Язык',
'reg_panel_index':'Регистрация',
'text_index':'Добро пожаловать в социальную сеть Dos',
'login_index':'Вход',
'about':'о проекте',
'advert':'реклама',
'dev':'разработчикам',
'contacts':'контакты',
'rools':'правила'
}
EN={
'main_title':'Main',
'lang_panel_index':'Language',
'reg_panel_index':'Registration',
'text_index':'Welcome to the Dos',
'login_index':'Enter',
'about':'about',
'advert':'advert',
'dev':'development',
'contacts':'contacts',
'rools':'rools'
}
KZ={
'main_title':'Басты',
'lang_panel_index':'Тілді тандау',
'reg_panel_index':'Тіркелу',
'text_index':'Dos интернет-бағдарламасына қош келдіңіздер',
'login_index':'Кіру',
'about':'жоба туралы',
'advert':'жарнама',
'dev':'дамытушыларға',
'contacts':'байланыс',
'rools':'ережелер'
}
class langpack(object):
def lang(l):
return {
'ru' : RU,
'en' : EN,
'kz' : KZ
}.get(l, "none")
Это как бы аналогия независимой функции))
Далее, Вот сама вьюшка которая просит это все:
from django.shortcuts import render_to_response
from languages.language import langpack
from django.contrib.sessions import *
default_lang='ru'
context=langpack.lang(default_lang)
def index(request):
response = render_to_response('index/index.html', context)
response.set_cookie('language',default_lang)
return response
# return render(request, 'index/index.html',context)
Как вы видите я хотел при первом входе точнее СЕССИИ запомнить язык интерфейса, и записать в куки JSON c переводом. А потом передавать этот CONTEXT(JSON) -> HTML(шаблон).
А знаете я только не смог сладить с сессиями и куками вернуть их и проверить записан ли. А так у меня Если вручную в коде поменять Deafult_lang то Сайт без проблем переводится.
Что вы посоветуете?
P.S: Я закончил недавно школу, Так что не ругайте меня в извращении с Бакендом)))