无法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 

如果不是。