正在开发DjangoCMS项目。我已经开发了一些Django应用程序和插件。
基本上我的项目有两种语言EN,IT及其工作正常的DjangoCMS级别。但我想使用国际化和我的Django应用程序的本地化和一些静态表单标题。所以我使用了Django默认的国际化和本地化。
通过这个django在我在本地路径中创建了一个.po和.mo文件,我在settings.py中定义。
但.po msgid "BlogCategory"
msgstr "BlogCategoryEN"
并未在模板中进行翻译。
任何人都可以指导哪里出错了。我的代码如下:
settings.py
LANGUAGES = (
## Customize this
('en', gettext('en')),
('it', gettext('it')),
)
LOCALE_PATHS = (
os.path.join(DATA_DIR, 'locale')
)
CMS_LANGUAGES = {
## Customize this
'default': {
'public': True,
'hide_untranslated': True,
'redirect_on_fallback': True,
},
1: [
{
'public': True,
'code': 'en',
'hide_untranslated': False,
'name': gettext('en'),
'redirect_on_fallback': True,
},
{
'public': True,
'code': 'it',
'hide_untranslated': False,
'name': gettext('it'),
'redirect_on_fallback': True,
},
],
}
/home/ranjeet/PycharmProjects/wakuseo/locale/en/LC_MESSAGES/django.po /home/ranjeet/p/project/locale/en/LC_MESSAGES/django.mo
#: easy_blog/models.py:29
msgid "Blog List Banner"
msgstr "Blog List Banner EN"
template.html
{% load cms_tags staticfiles %}
{% load l10n i18n %}
{% trans 'Blog List Banner' %}
应打印“博客列表横幅EN”,但打印“博客列表横幅”。这意味着trans不适用于模板。
请求帮我解决这个问题。
注意:DjangoCMS中的项目并创建了一些应用程序。
答案 0 :(得分:0)
只是一个疯狂的猜测,但你跑了吗??
python manage.py compilemessages --locale=en
运行该命令后重新启动服务器了吗?
答案 1 :(得分:0)
感谢您的回答。
我得到了解决方案:在settings.py中出错了,我忘了在
中添加逗号(,)`LOCALE_PATHS = (
os.path.join(DATA_DIR, 'locale')
)`
现在是:
`LOCALE_PATHS = (
os.path.join(DATA_DIR, 'locale'),
)`
它对我来说很好。
再次感谢你们。