Форум сайта python.su
1
Спасибо! завтра попробую разобраться. сегодня уже сил нет 
Офлайн
15
Эт норма. Пожалуйста.
Офлайн
1
Начал разбираться.
Пока меня интересует только перевод из шаблонов, в .py переводить нечего.
В settings.py
LANGUAGE_CODE = 'ru-RU' LANGUAGES = ( ('ru', 'Russian'), ('en', 'English'), ) USE_I18N = True
Офлайн
15
Команда python manage.py makemessages -a служит для обновления переводОВ, т.е если у тебя на много разных языков есть файлы .po, при этом в папке locale должна существовать подпапка хотя бы для одного языка.
Запусти python manage.py makemessages -l ru.
Либо создай папку locale/ru и запусти python manage.py makemessages -a.
Офлайн
1
buddhaСделал python manage.py makemessages -l ru, появились только папки. Т.е. файл .po самому создавать вручную надо?
Команда python manage.py makemessages -a служит для обновления переводОВ, т.е если у тебя на много разных языков есть файлы .po, при этом в папке locale должна существовать подпапка хотя бы для одного языка.Запусти python manage.py makemessages -l ru.Либо создай папку locale/ru и запусти python manage.py makemessages -a.
Офлайн
15
Думаю, ты невнимательно читаешь документацию. Я тебя отвлекаю…
Наверняка ты не вставлял в шаблонах тэг {% translate ‘SomeText’ %}ю Это и есть метка, про которую я до этого писал.
вот, короткий пример:
обычный вариант <a href='/home'> Home page </a> Вот вариант с механизмом интернационализации <a href='/home'> {% trans 'Home page' %} </a>
Офлайн
1
Пробую вставить переключатель:
<form action="/i18n/setlang/" method="post">{% csrf_token %} <input name="next" type="hidden" value="/" /> <select name="language"> {% for lang in LANGUAGES %} <option value="{{ lang.0 }}">{{ lang.1 }}</option> {% endfor %} </select> <input type="submit" value="Go" /> </form>
LANGUAGES = ( ('ru', 'Russian'), ('en', 'English'), )
Офлайн
1
Разобрался. Надо было заюзать RequestContext.
Правда, переключатель не работает, но выбор языка появился
После переключения страница обновляется, переключатель падает опять в исходное положение, контент не меняется.
А не, вру. Название месяца в дате меняется на английское(timestamp=models.DateTimeField(db_index=True)). Видимо, с .po накосячил где-то.
Отредактировано dnstuff (Фев. 12, 2013 11:30:05)
Офлайн
1
Нифига не переключается. 
Пока делаю только для шаблонов. В каждый шаблон вставил {% load i18n %}
На пробу выделил в шаблоне две строки для перевода:
<li class="mmenu"><a href="/home">{% trans 'Главная' %}</a></li> <li class="mmenu"><a href="/about">{% trans 'О компании' %}</a></li>
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-12 04:19-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: templates/main.html:50
msgid "Главная"
msgstr ""
#: templates/main.html:51
msgid "О компании"
msgstr ""
#: templates/main.html:50
msgid "Главная"
msgstr "Home"
#: templates/main.html:51
msgid "О компании"
msgstr "About"
Офлайн
3
смотрите в сторону django-modeltranslation
Офлайн