【问题标题】:Translate templates in django在 django 中翻译模板
【发布时间】:2015-09-25 07:54:48
【问题描述】:

我在 Django 1.8 中有项目。 我想拥有 3 种语言的网站,但是当我选择语言时,什么都没有发生:

我的模板中的代码:

    {% load i18n %}

    ...

<form action="{% url 'set_language' %}" method="post">
    {% csrf_token %}
    {% get_available_languages as LANGUAGES %}
    {% get_language_info_list for LANGUAGES as languages %}
    {% for language in languages %}
    <a href="{% url 'set_language' %}">{{ language.code }}</a>
    {% endfor %}
    <span class="glyphicon glyphicon-globe"></span>
</form>

我的网址:

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'website.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'', include("www.urls", namespace="www")),
    url(r'^blog/', include("blog.urls", namespace="blog")),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^ckeditor/', include('ckeditor.urls')),
)

我的设置(语言环境) - 我在这里使用 django-rosetta:

LANGUAGE_CODE = 'en-us'

LANGUAGES = (
    ('pl', u'Poland'),
    ('en', u'US'),
    ('ru', u'Russia'),
)

LOCALE_PATHS = [
    os.path.join(BASE_DIR, 'locale'),
]

【问题讨论】:

    标签: python django internationalization django-i18n


    【解决方案1】:

    内置 django set_language 视图接受带有 language 代码的 POST 请求作为参数。即使在表单视图中单击 a 标记也会发出 GET 请求。

    将您的模板更改为关注

    <form action="{% url 'set_language' %}" method="post">{% csrf_token %}
        <select name="language">
            {% get_current_language as LANGUAGE_CODE %}
            {% get_available_languages as LANGUAGES %}
            {% get_language_info_list for LANGUAGES as languages %}
            {% for language in languages %}
                <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
                    {{ language.name_local }} ({{ language.code }})
                </option>
            {% endfor %}
        </select>
        <input type="submit" value="Go" />
    </form>
    

    https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#the-set-language-redirect-view

    【讨论】:

    • 这个版本 1.8 工作但 3.0 文档中的那个没有。谢谢你。
    猜你喜欢
    • 2012-10-01
    • 2015-02-16
    • 1970-01-01
    • 2016-05-02
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多