Estoy intentando traducir una aplicación de Django. Creé algunas cadenas {% trans %}
en mis plantillas. Sin embargo, cuando ejecuto el siguiente comando en la carpeta de mi aplicación, recibo un mensaje de error:
$ django-admin.py makemessages -l fr
CommandError: Unable to find a locale path to store translations for file __init__.py`
¿Qué hice mal?
django
translation
Antoine M.
fuente
fuente
makemessages
comando desde eselocale
directorio si ya está disponible.LOCALE_PATHS
incluso si es delocale
otra manera, el texto compilado no será detectable.LOCALE_PATHS
para configurar)En realidad, puede configurar dónde está la carpeta de configuración regional. En su settings.py agregue:
Luego, cree una carpeta para cada uno de los idiomas que desea traducir:
fuente
El problema es que el comando no se ejecuta desde el directorio de la aplicación sino desde el directorio del proyecto. Este fragmento de los documentos lo explica:
Resulta que
locale
primero debes crear una carpeta usandomkdir locale
.Entonces, ejecutas el comando desde el directorio de la aplicación:
... o define un directorio de configuración regional para todo el proyecto usando
LOCALE_PATHS
y puede ejecutarmakemessages
desde el directorio principal desde allí.De cualquier manera, debe verificar que el
./locale/
directorio esté presente y crearlo usandoen caso de que no lo sea.
fuente