无法find区域path来存储文件__init__.py的翻译
我正在尝试翻译一个Django应用程序。 我在模板中创build了一些带有{% trans %}
string。 但是,当我在我的应用程序文件夹中执行以下命令时,我收到一条错误消息:
$ django-admin.py makemessages -l fr CommandError: Unable to find a locale path to store translations for file __init__.py`
我做错了什么?
事实certificate,您需要先使用mkdir locale
创build一个locale
文件夹。
其实你可以configuration本地文件夹的位置。 在你的settings.py中添加:
LOCALE_PATHS = ( PROJECT_ROOT + '/website/locale', )
然后为要翻译的每种语言创build一个文件夹:
mkdir -p website/locale/de
问题是该命令不是从app目录运行,而是从项目目录运行。 文档中的这个片段解释了这一点:
事实certificate,您需要先使用mkdir locale
创build一个locale
文件夹。
./manage.py makemessages
[…] 在当前目录的整个源代码树上运行,并提取标记为翻译的所有string。 它在conf / locale(在Django树中)或locale(用于项目和应用程序)目录中创build(或更新)一个消息文件。
所以,你要么从app目录运行命令:
$ cd app $ django-admin makemessages -l <locale>
…或者你使用LOCALE_PATHS
定义一个项目范围的locale目录,你可以从主目录中运行makemessages
。
无论哪种方式,你都应该检查./locale/
目录是否存在,并使用它来创build它
$ mkdir locale
如果不是。