J'essaye de traduire une application Django. J'ai créé des chaînes avec {% trans %}
dans mes modèles. Cependant, lorsque j'exécute la commande suivante dans mon dossier d'application, je reçois un message d'erreur:
$ django-admin.py makemessages -l fr
CommandError: Unable to find a locale path to store translations for file __init__.py`
Qu'ai-je fait de mal?
django
translation
Antoine M.
la source
la source
makemessages
Exécutez simplement la commande à partir de celocale
répertoire si elle est déjà disponible.LOCALE_PATHS
même s'il en estlocale
autrement, le texte compilé ne sera pas détectable.LOCALE_PATHS
à configurer)En fait, vous pouvez configurer l'emplacement du dossier des paramètres régionaux. Dans votre settings.py ajoutez:
Créez ensuite un dossier pour chacune des langues que vous souhaitez traduire:
la source
Le problème est que la commande n'est pas exécutée à partir du répertoire de l'application mais à partir du répertoire du projet. Cet extrait de la documentation l' explique:
Il s'avère que vous devez d'abord créer un
locale
dossier en utilisantmkdir locale
.Donc, vous exécutez la commande à partir du répertoire de l'application:
… Ou vous définissez un répertoire de paramètres régionaux à l'échelle du projet en utilisant
LOCALE_PATHS
et vous pouvez exécuter àmakemessages
partir du répertoire principal à partir de là.Dans tous les cas, vous devez vérifier que le
./locale/
répertoire est présent et le créer en utilisantau cas où ce ne serait pas le cas.
la source