【发布时间】:2011-02-08 00:52:27
【问题描述】:
我对 django 翻译有疑问。
问题 1 - 我更新了 django.po 文件中的字符串,但更改没有出现在网页上。
问题 2 - 我用 django-admin.py makemessages -l 创建了我自己的语言环境文件,将翻译字符串添加到文件中,但它们也没有出现在页面上。
我不认为这是设置问题,因为 django.po 文件的翻译确实出现在网站上,只是我自己生成的文件的更改和翻译没有出现。
编辑: 我的 settings.py 包含以下内容:
gettext = lambda s: s
LANGUAGE_CODE = 'et'
LANGUAGES = (
('et', gettext('Estonian')),
)
我自己的语言环境文件在
/path/to/project/locale/et/LC_MESSAGES/
文件是
django.mo 和 django.po
我在问题1中引用的文件是django own et transaltion,我更改了。
【问题讨论】:
-
你准备好关于i18n的文档了吗?我猜,但你是否在模板中启用 i18n 标签?您确定您的 .po 文件在正确的路径中吗?你能写更多信息吗?
-
嗯,是的。 i18n 在具有 {% load i18n %} 的模板中启用。由于 django.po 文件在正确的路径中(问题 1),我不认为它是启用或加载 i18n 的问题。就像我说的那样 - 现有的翻译正在加载到模板中。但是我怎么知道问题 2 语言环境文件是否在正确的位置?它们在 django-admin.py makemessages -l et 生成的地方
-
阅读:docs.djangoproject.com/en/1.1/topics/i18n/localization/… 路径将是:your_project/locale/et/LC_MESSAGES/django.po。
-
嗯,这正是我自己生成的文件所在的位置,那么问题是什么?
-
再次,我猜,你编译你的 .po 文件吗?你确定你的 .po 文件有问题吗?
标签: django internationalization translation