Django翻译RTL语言

时间:2017-12-05 05:01:59

标签: django python-3.x

我正在设置我的django项目以支持阿拉伯语,但我仍然没有做任何正确的事。

我的settings.py:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.i18n',
                ],
            },
        },
    ]

    USE_I18N = True

    LANGUAGES = (

        ('ar', _('Arabic')),
        ('en', _('English')),
    )

    LANGUAGE_CODE = 'en-us'

    LOCAL_PATHS = (
        os.path.join(BASE_DIR, 'locale'),
    )

我的index.html

{% trans "Hello and welcome" %}
<p>{% blocktrans %}
    hello  dear friends, i would be very happy if you 
    can help!!
{% endblocktrans %}</p> 
</br>
{{ request.LANGUAGE_CODE }}

urls.py

urlpatterns += i18n_patterns(
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.home, name='home'),

)
之后

制作.po文件我使用了命令:

python manage.py makemessages -l 'ar'

在我获得.po文件后,我在'msgstr'中添加了我的翻译, 然后使用以下命令编译已翻译的字符串:

python manage.py compilemassages

然后我登录了,并在网址(127.0.0.1:8000/ar)中将语言代码更改为'ar',但我仍然得到英文字符串,而不是它的翻译,所以任何关于什么的想法是我做错了。

1 个答案:

答案 0 :(得分:0)

最后我修正了我的错误,这只是一个错字,而不是LOCALE_PATHS,我写了LOCAL_PATHS .. 无论如何,谢谢你们