无法找到存储文件__init__.py的翻译的语言环境路径

时间:2014-07-24 14:53:40

标签: django translation

我正在尝试翻译Django应用。我在模板中使用{% trans %}创建了一些字符串。但是,当我在我的app文件夹中执行以下命令时,收到一条错误消息:

$ django-admin.py makemessages -l fr 
CommandError: Unable to find a locale path to store translations for file __init__.py`

我做错了什么?

3 个答案:

答案 0 :(得分:133)

原则上,您需要先使用locale创建mkdir locale文件夹。

答案 1 :(得分:23)

实际上,您可以配置语言环境文件夹的位置。在您的settings.py中添加:

LOCALE_PATHS = (
    PROJECT_ROOT + '/website/locale', )

然后为您要翻译的每种语言创建一个文件夹:

mkdir -p website/locale/de

答案 2 :(得分:9)

问题是命令不是从app目录运行,而是从项目目录运行。 This snippet from the docs解释道:

原则上,您需要先使用locale创建mkdir locale文件夹。

  

./manage.py makemessages [...]在当前目录的整个源树上运行,并拉出所有标记为要翻译的字符串。它在conf / locale(在Django树中)或locale(用于项目和应用程序)目录中创建(或更新)消息文件。

因此,您可以从app目录运行命令:

$ cd app
$ django-admin makemessages -l <locale>

...或者使用LOCALE_PATHS定义项目范围的语言环境目录,然后可以从主目录运行makemessages

无论哪种方式,您都应该检查./locale/目录是否存在并使用

创建它
$ mkdir locale

如果不是。