O problema é que o comando não é executado no diretório do aplicativo, mas no diretório do projeto. Este snippet da documentação explica isso:
Acontece que você precisa locale
primeiro criar uma pasta usando mkdir locale
.
./manage.py makemessages
[…] Percorre toda a árvore de origem do diretório atual e extrai todas as strings marcadas para tradução. Ele cria (ou atualiza) um arquivo de mensagem no diretório conf / locale (na árvore Django) ou locale (para projeto e aplicativo).
Portanto, você pode executar o comando no diretório do aplicativo:
$ cd app
$ django-admin makemessages -l <locale>
… Ou você define um diretório local para todo o projeto usando LOCALE_PATHS
e pode executar a makemessages
partir do diretório principal.
De qualquer forma, você deve verificar se o ./locale/
diretório está presente e criá-lo usando
$ mkdir locale
caso não seja.
makemessages
comando daquelelocale
diretório se já estiver disponível.