Форум сайта python.su
Никуда не надо смотреть.
Плохо читал документацию , сразу видно)
Покажи view.py. Там надо сохранять параметр в сессии.
Вот у меня в шаблоне форма:
{% load i18n %} <form action="{% url translation %}" method="POST">{% csrf_token %} {{ trans_form}} <input type="submit" value="{% trans 'Change' %}"> </form>
from django import forms from django.utils.translation import ugettext_lazy as _ from portfolio.settings import LANGUAGES class ChangeLang(forms.Form): lang = forms.ChoiceField(label=_('Language'), choices=LANGUAGES)
url(r'^translate/$', 'myi18n.views.get_translation', name='translation'),
from django.utils.translation import activate, check_for_language from django.shortcuts import redirect def get_translation(request): if request.POST: print request.items() lang = request.POST.get('lang') if lang and check_for_language(lang): if hasattr(request, 'session'): request.session['django_language'] = lang activate(lang) return redirect('show_main_page')
Офлайн
view.py
def customers(request): posts3=BlogPost.objects.order_by('-timestamp')[:3] return render_to_response('customers.html',{'title': u'Customers', 'news_prev3': posts3}, context_instance=RequestContext(request))
Офлайн
Вот что значит “У меня выбранный перевод прекрасно сохраняется” и одновременно он же “У меня не подхватывается перевод”.
Смотри код, тот что я тебе привёл и думай… Перечитай документацию. Я Тоже не сразу запустил…
И на будущее, папка locale должна лежать либо в папке приложение(там где view.py, models.py), либо в папке проекта(там где settings.py). Чтобы вступал в силу обновлённый перевод надо перезапускать вёб-сервер
Офлайн
Вот что значит “У меня выбранный перевод прекрасно сохраняется” и одновременно он же “У меня не подхватывается перевод”.Я же говорил, что названия месяцев у меня переключаются. И это переключение сохраняется в течении сессии.
Отредактировано dnstuff (Фев. 14, 2013 10:59:23)
Офлайн
=)) Да уж, я вот как раз с этим и долбался дольше всего… И названия месяцев это помоему немного другое. Это вроде как локализация(отличается от интернационализации) https://docs.djangoproject.com/en/1.4/topics/i18n/formatting/.
То же было по началу думал, что заработало …
Вообщем пример я оставил, от чего оттолкнуться есть…
Офлайн
buddhaПоясню. django-modeltranslation - приложение, созданное для возможности писать в модели (уже существующие, руками ничего обновлять не надо) контент на разных языках. Отображение тех частей сайта, где не используются данные из моделей реализуется за счет стандартных джанговских средств, того же тега {% trans “something” %} и словарей локализации *.po, *.mo.
Никуда не надо смотреть.
Плохо читал документацию , сразу видно)
Отредактировано Dr.Livsi (Фев. 15, 2013 22:32:26)
Офлайн
Ну я так написал, чтобы человек не дёргался(не сбивался) и довёл начатое до конца. Всё лучше начинать с простого и того, что лежит в основе. Если я вас правильно понял, то в основе django-modeltranslation лежит стандартный механизм перевода. Куда проще будет понять django-modeltranslation, зная этот стандартный механизм, вот… Сам я django-modeltranslation не пробовал, мне пока всего хватает.
Отредактировано buddha (Фев. 15, 2013 23:20:19)
Офлайн