我正在尝试在我的django项目中创建messagefile.
为此,我把它写入我的家庭视图功能:
def startpage(request):
# Translators: This message appears on the home page only
output = _("Welcome to my site.")
Run Code Online (Sandbox Code Playgroud)
并在settings.py中
from django.utils.translation import ugettext_lazy as _
LANGUAGES = (
('de', _('German')),
('en', _('English')),
('fr', _('French')),
('es', _('Spanish')),
('pt', _('Portuguese'))
)
Run Code Online (Sandbox Code Playgroud)
并locale在我的应用程序内创建目录.
现在我在我的app树中并给出了这个命令:
django-admin.py makemessages --all
Run Code Online (Sandbox Code Playgroud)
它吐出来了
#!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')
Run Code Online (Sandbox Code Playgroud)
而不是在里面创建消息文件locale.
我尝试过:
python manage.py makemessages --all
Run Code Online (Sandbox Code Playgroud)
但它无法找到,manage.py因为我在我的应用程序内,而不是在项目树中.它是如何正常完成的?
cor*_*cor 10
您只需要将您的语言环境目录路径添加到LOCALE_PATHS.例如:
LOCALE_PATHS = (
os.path.join(BASE_DIR, "locale"),
os.path.join(BASE_DIR, "yourapp/locale"),
)
Run Code Online (Sandbox Code Playgroud)
在项目中包含要翻译的文本之后,只需对要翻译的每种语言执行此命令.在你的情况下:
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
Run Code Online (Sandbox Code Playgroud)
然后翻译所有文本并编译它们.我建议使用django-rosetta来实现这个目的,这是一个Django应用程序,可以简化Django项目的翻译过程.
django-admin.py makemessages --all
Run Code Online (Sandbox Code Playgroud)
现在一切都应该有效
| 归档时间: |
|
| 查看次数: |
9285 次 |
| 最近记录: |