如何运行makemessages以便它包含Django项目之外的一些应用程序?

时间:2015-05-24 18:22:16

标签: python django django-apps django-i18n

我有以下结构:

.
├── apps
│   ├── app1
│   │   ├── app1
│   │   └── setup.py
│   ├── app2
│   │   ├── app2
│   │   └── setup.py
├── my_django_project
│   ├── appA
│   ├── appB
│   ├── my_django_project
│   ├── db.sqlite3
│   ├── manage.py
│   └── requirements.txt
├── deployment
│   └── some files
├── locale
│   └── fr
│       └── LC_MESSAGES
│           ├── django.mo
│           └── django.po
├── log
│   └── some files
├── media
├── README.rst
├── run
│   └── some files
└── static

我已经开始翻译我的项目了。我成功地翻译了my_django_project中实际的django项目中的所有内容。我有两个安装了python setup.py develop的应用程序,它们位于django项目范围之外。我似乎无法运行makemessages命令。使用manage.py帮助程序运行它无法在apps文件夹中找到应用程序。即locale/fr/LC_MESSAGES/django.po没有添加任何内容。它适用于位于appA的{​​{1}}和appB

如何为位于django项目之外的这些应用程序运行make消息?

1 个答案:

答案 0 :(得分:0)

我需要在django项目中创建符号链接:

my_django_project

然后我需要添加一个额外的参数来跟踪synlinks:

cd my_django_project
ln -s ../apps/app1/app1 .

编辑:

解决此问题的更好方法是在文件夹应用中添加./manage.py makemessages -l fr --symlinks 目录,并运行以下命令(在app文件夹中):

locale

然后通过运行foloowing命令(在app文件夹中运行)编译消息:

django-admin makemessages -l fr