Джанго интернационализация переключения между языками - PullRequest
1 голос
/ 30 ноября 2011

У меня есть французский и английский сайт, очень простой.Я создал свой языковой файл fr.У меня есть несколько переведенных строк, чтобы проверить это, чтобы убедиться, что это работает, но я не совсем понимаю, как установить фактическую ссылку для обмена между языками.Я следовал этому, https://docs.djangoproject.com/en/1.3/topics/i18n/internationalization/#the-set-language-redirect-view, но получил 404 для / следующей / страницы, я делаю это правильно?Вот мой код, если это поможет:

                <form action="/i18n/setlang/" method="post">
                {% csrf_token %}
                <input name="next" type="hidden" value="/next/page/" />
                <select name="language">
                {% get_language_info_list for LANGUAGES as languages %}
                {% for lang in LANGUAGES %}
                    {% if lang.0 != '' %}
                        <option value="{{lang.0}}">{{lang.1}}</option>
                    {% endif %}
                {% endfor %}
                </select>
                <input type="submit" value="Go" />
            </form>

Я также добавил свои URL-адреса примерно так:

(r'^i18n/', include('django.conf.urls.i18n')),

И у меня это в настройках промежуточного программного обеспечения и языка:

'django.middleware.locale.LocaleMiddleware',

LANGUAGES = (
    ('en', 'English'),
    ('fr', 'French'),
)

Я не понимаю, как заставить это работать, чтобы я мог переключаться между двумя языками, или, если я делаю это правильно, почему я получаю эту ошибку 404 с / next / page при попыткесменить язык?

Спасибо!

Джефф

1 Ответ

1 голос
/ 30 ноября 2011

В этой строке

<input name="next" type="hidden" value="/next/page/" />

Вы должны заменить "/next/page/" страницей, которую хотите загрузить после смены языка.

В случае, если вы хотите загрузить ту же страницу, вы должны написать value="".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...