Pregunta No se puede encontrar una ruta de configuración regional para almacenar traducciones para el archivo __init__.py


Estoy tratando de traducir una aplicación de Django. Creé algunas cadenas con {% 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?


75
2017-07-24 14:53


origen


Respuestas:


Resulta que debes crear un locale carpeta primero usando mkdir locale.


109
2017-07-24 15:09



En realidad, puede configurar dónde está la carpeta de configuración regional. En su settings.py agregue:

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

Luego crea una carpeta para cada uno de los idiomas que quieres traducir:

mkdir -p website/locale/de

19
2018-01-23 06:48



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 debes crear un locale carpeta primero usando mkdir locale.

./manage.py makemessages [...] Se ejecuta en todo el árbol fuente del directorio actual y saca todas las cadenas marcadas para la traducción. Crea (o actualiza) un archivo de mensaje en el directorio conf / locale (en el árbol Django) o locale (para proyecto y aplicación).

Entonces, o bien ejecuta el comando desde el directorio de la aplicación:

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

... o define un directorio de configuración regional de todo el proyecto usando LOCALE_PATHS y puedes correr makemessages desde el directorio principal desde allí en adelante.

De cualquier manera, debe verificar que ./locale/directorio está presente y crearlo usando

$ mkdir locale

en caso de que no lo sea


8
2018-01-11 11:30