首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用django-admin.py makemessages --all

如何使用django-admin.py makemessages --all
EN

Stack Overflow用户
提问于 2014-09-08 16:45:25
回答 1查看 15.3K关注 0票数 5

我正在尝试在我的django项目中创建messagefile。

为此,我只需将以下代码写入我的home view函数:

代码语言:javascript
复制
def startpage(request):
   # Translators: This message appears on the home page only
   output = _("Welcome to my site.")

在settings.py中

代码语言:javascript
复制
from django.utils.translation import ugettext_lazy as _
LANGUAGES = [
   ('de', _('German')),
   ('en', _('English')),
   ('fr', _('French')),
   ('es', _('Spanish')),
   ('pt', _('Portuguese'))
]

并在我的应用程序中创建了locale目录。

现在我在我的应用程序树中,给出了这个命令:

代码语言:javascript
复制
django-admin.py makemessages --all

它吐出的是这个

代码语言:javascript
复制
#!C:\workspace\newsportal\venv_np\Scripts\python.exe
# EASY-INSTALL-SCRIPT: 'django==1.6','django-admin.py'
__requires__ = 'django==1.6'
import pkg_resources
pkg_resources.run_script('django==1.6', 'django-admin.py')

而不是在locale中创建消息文件。

我尝试过:

代码语言:javascript
复制
python manage.py makemessages --all

但它找不到manage.py,因为我在我的应用程序中,而不是在项目树中。正常情况下是如何完成的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-08 17:37:41

您只需将您的区域设置目录路径添加到LOCALE_PATHS。例如:

代码语言:javascript
复制
LOCALE_PATHS = [
    os.path.join(BASE_DIR, "locale"),
    os.path.join(BASE_DIR, "yourapp/locale"), 
]

在项目中包含了一些要翻译的文本后,只需对要翻译的每种语言执行此命令即可。在您的案例中:

代码语言:javascript
复制
django-admin.py makemessages -l de
django-admin.py makemessages -l en
django-admin.py makemessages -l fr
django-admin.py makemessages -l es
django-admin.py makemessages -l pt

然后翻译所有的文本并编译它们。为此,我推荐使用django-rosetta,这是一个Django应用程序,可以简化Django项目的翻译过程。

代码语言:javascript
复制
django-admin.py makemessages --all

现在一切都应该正常工作了

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25720361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档