我正在尝试为django项目启用翻译,django-admin.py makemessages -l de
似乎没有创建任何.po文件,尽管模板中有几个{% trans ... %}
和几个{{ 1}}在测试模型中。
如果需要文档https://docs.djangoproject.com/en/1.7/ref/django-admin/#django-admin-makemessages,该命令应该在整个项目树中搜索翻译,并在例如文件中创建相应的文件。如果未指定任何设置,则为gettext(...)
目录。
我得到的唯一输出是conf/locale
。
任何调试方法或者谷歌中没有找到的众所周知的陷阱?
答案 0 :(得分:3)
让我回答我自己的问题:)
问题在于我:
import gettext as _
但是import gettext as t
,因此makemessage无法识别.py文件中的翻译字符串{% trans some_var %}
代替{% trans "some_string" %}
答案 1 :(得分:0)
确保settings.py文件中提供以下设置:
DJANGO_ROOT = dirname(dirname(abspath(__file__)))
SITE_ROOT = dirname(DJANGO_ROOT)
USE_I18N = True
LOCALE_PATHS = (
SITE_ROOT + '/locale',
)
如果没有设置LOCALE_PATHS值,它不知道应该在哪里创建语言环境目录和翻译文件,也不必为了易于使用而使用DJANGO_ROOT和SITE_ROOT值。