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 localeprimeiro 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_PATHSe pode executar a makemessagespartir 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.
makemessagescomando daquelelocalediretório se já estiver disponível.