我正在尝试在我的django项目中创建messagefile。
为此,我只需将以下代码写入我的home view函数:
def startpage(request):
# Translators: This message appears on the home page only
output = _("Welcome to my site.")在settings.py中
from django.utils.translation import ugettext_lazy as _
LANGUAGES = [
('de', _('German')),
('en', _('English')),
('fr', _('French')),
('es', _('Spanish')),
('pt', _('Portuguese'))
]并在我的应用程序中创建了locale目录。
现在我在我的应用程序树中,给出了这个命令:
django-admin.py makemessages --all它吐出的是这个
#!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中创建消息文件。
我尝试过:
python manage.py makemessages --all但它找不到manage.py,因为我在我的应用程序中,而不是在项目树中。正常情况下是如何完成的?
发布于 2014-09-08 17:37:41
您只需将您的区域设置目录路径添加到LOCALE_PATHS。例如:
LOCALE_PATHS = [
os.path.join(BASE_DIR, "locale"),
os.path.join(BASE_DIR, "yourapp/locale"),
]在项目中包含了一些要翻译的文本后,只需对要翻译的每种语言执行此命令即可。在您的案例中:
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项目的翻译过程。
django-admin.py makemessages --all现在一切都应该正常工作了
https://stackoverflow.com/questions/25720361
复制相似问题