Django生成消息错误';Python';未知的
我正在尝试国际化并安装GNUGetText工具来生成消息Django生成消息错误';Python';未知的,python,django,internationalization,gettext,Python,Django,Internationalization,Gettext,我正在尝试国际化并安装GNUGetText工具来生成消息 在my settings/base.py中,我在指令模板中使用i18n上下文处理器: TEMPLATES=[ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR, "templates")], 'APP_DIRS': True, 'OPTIONS' : { 'context_processors
- 在my settings/base.py中,我在指令模板中使用i18n上下文处理器:
TEMPLATES=[
{ 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR, "templates")], 'APP_DIRS': True, 'OPTIONS' : { 'context_processors':[ 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', ], },
}, ]
- 我还在设置/base.py中使用localemidware
MIDDLEWARE\u CLASSES=(
)
- 我还指定要在我的设置/base.py中使用的语言:
从django.utils.translation导入ugettext\u lazy as
LANGUAGES = (
('en', _('English')),
('ca', _('Catalan')),
('es-co', _('Spanish')),
)
- 我预定的
是LANGUAGE\u code
,我指定了区域设置文件夹so(也在settings/base.py中):LANGUAGE\u code='en-us'
LOCALE\u路径=( join(BASE_DIR,'locale'), )
- 对于我的应用程序的行为,我实现了以下url i18n_patterns函数:
从django.conf.url导入包括,url
从django.conf.url.i18n导入i18n_模式
urlpatterns+=i18n\u模式(
url(r'^$',home,name='home'),
url(r“^admin/”,包括(admin.site.url)),
)
这样,我在本地服务器主页上的应用程序将重定向到/en或/ca
在我的模板方面,我正在测试一些标记的翻译,比如html和,使用这两个模板标记:trans用于翻译单行,blocktrans用于段落
- 当我使用gettext库(我在我的机器中构建和安装)并在生成我的消息时,出现以下输出错误:
(tb\U测试)➜ my_项目git:(硕士)✗ python manage.py makemessages-l ca CommandError:xgettext在_init__.py上运行时出错 语言
Python'未知 (结核杆菌试验)➜ my_项目git:(硕士)✗代码>
感谢您刚刚接触python并从gnu gettext开始?尊重;-)不管怎样,你能给你的问题补充更多的信息吗?你有我们的密码吗?我读了两遍你的问题,但仍然不知道你到底在做什么……当然是@aronadaal。我不是太新手,尽管我只是在遵循一个使用gettext库的国际化示例。在这个问题的主要帖子中,我补充了更多细节。Thanks@aronadaal我已经编辑了我的问题,想了解更多细节。谢谢你。我想我在这里发现了类似的东西:问题可能与您的类似:init.py文件中有什么内容?@BernardoGarcia听起来您的安装缺少Python支持,我无法重现。如果您运行的是linux发行版,我建议您从发行版的软件包管理中安装一个预编译的二进制文件。对于ubuntu“sudo apt get install gettext”,从brew安装OS X
LANGUAGES = (
('en', _('English')),
('ca', _('Catalan')),
('es-co', _('Spanish')),
)