Django没有翻译我标记的字符串

时间:2010-11-05 16:53:00

标签: django internationalization translation

我一直在努力让翻译工作在我的Django安装上,但到目前为止都失败了。

我已经创建了一个基本的测试设置来查找我的错误,但到目前为止还没有运气。

我的一个观点只是打印一个翻译的文本(或者它应该,但它总是显示非翻译文本):

    text = _('blah')
    return HttpResponse(text)

我使用python manage.py makemessages -l nl_BE生成了荷兰语文件。 django.po位于locale / nl_BE / LC_MESSAGES中。 我修改了该应用程序,将英语中的“blah”翻译为荷兰语中的“blih”:

#: foo/views.py:9`
msgid "blah"
msgstr "blih"

我使用python manage.py compilemessages生成了一个django.mo文件。 django.mo文件也在locale / nl_BE / LC_MESSAGES。

我尝试将settings.py(LANGUAGE_CODE)中的默认语言更改为'nl-be',但这并没有什么区别(所以它现在在'en-us'上)。 USE_I18N设置为True。

我有一个设置语言的视图(使用/ i18n / setlang / url)。

在这个视图中,我还打印:

{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_current_language_bidi as LANGUAGE_BIDI %}

这表明:

LANGUAGE_CODE: nl
LANGUAGES: [('ar', u'Arabisch'), ('bg', u'Bulgaars'), ('bn', u'Bengaals'), ('bs', u'Bosnian'), ('ca', u'Catalaans'), ('cs', u'Tjechisch'), ('cy', u'Welsh'), ('da', u'Deens'), ('de', u'Duits'), ('el', u'Grieks'), ('en', u'Engels'), ('en-gb', u'British English'), ('es', u'Spaans'), ('es-ar', u'Argentinian Spanish'), ('et', u'Ests'), ('eu', u'Baskisch'), ('fa', u'Perzisch'), ('fi', u'Fins'), ('fr', u'Frans'), ('fy-nl', u'Frisian'), ('ga', u'Iers'), ('gl', u'Galicisch'), ('he', u'Hebreews'), ('hi', u'Hindi'), ('hr', u'Kroatisch'), ('hu', u'Hongaars'), ('id', u'Indonesian'), ('is', u'IJslands'), ('it', u'Italiaans'), ('ja', u'Japans'), ('ka', u'Georgisch'), ('km', u'Khmer'), ('kn', u'Kannada'), ('ko', u'Koreaans'), ('lt', u'Litouws'), ('lv', u'Lets'), ('mk', u'Macedonisch'), ('ml', u'Malayalam'), ('mn', u'Mongolian'), ('nl', u'Nederlands'), ('no', u'Noors'), ('nb', u'Norwegian Bokmal'), ('nn', u'Norwegian Nynorsk'), ('pl', u'Pools'), ('pt', u'Portugees'), ('pt-br', u'Braziliaans Portugees'), ('ro', u'Roemeens'), ('ru', u'Russisch'), ('sk', u'Slovaaks'), ('sl', u'Sloveens'), ('sq', u'Albanian'), ('sr', u'Servisch'), ('sr-latn', u'Serbian Latin'), ('sv', u'Zweeds'), ('ta', u'Tamil'), ('te', u'Telegu'), ('th', u'Thais'), ('tr', u'Turks'), ('uk', u'Oekra\xefens'), ('vi', u'Vietnamese'), ('zh-cn', u'Vereenvoudigd Chinees'), ('zh-tw', u'Traditioneel Chinees')]
LANGUAGE_BIDI: False

所以nl 应该工作。事实上,确实如此。 LANGUAGES变量显示以荷兰语显示的语言列表。 但是,它不会显示我的应用程序的荷兰语翻译。

Django是不是注意到我的django.mo文件? 我忘记了至关重要的事情吗?

0 个答案:

没有答案