Estoy tratando de ejecutar la localización del lenguaje Django en un proyecto, pero makemessages siempre ignora las plantillas html en mi carpeta de plantillas.¿Por qué los makemessages funcionan para la localización del lenguaje Django ignoran los archivos html?
Estoy ejecutando python manage.py makemessages -a
desde la raíz del proyecto, y todas las cadenas que están marcadas para la traducción dentro de archivos .py en cualquier parte del proyecto se agregan correctamente al archivo .po.
Cualquiera de las cadenas en las plantillas html, es decir, {{ trans "String_to_translate" }}
se ignoran y no se agregan al archivo .po aunque el módulo necesario se cargue en la parte superior de la plantilla, {% load i18n %}
.
Para probar la posibilidad de que toda la carpeta de plantillas fuera excluida de la función makemessages, hice un archivo .py e incluí una cadena para traducir allí, y se agregó con éxito al archivo .po.
Con todo esto dicho, ¿alguien sabe lo que podría estar causando este problema? ¡Gracias de antemano por su ayuda!
EDIT: Solución compuesto únicamente de cambiar la sintaxis de {{ trans "string" }}
a {% trans "string" %}
Ambas cosas ya están configuradas, y la aplicación funciona correctamente con plantillas, excepto la funcionalidad de crear mensajes en las plantillas. – dlmccoy
Digamos que su aplicación django se llama 'app', ¿hay un directorio llamado' templates'? Este archivo '.py' que creó, ¿dónde estaba? ¿Camino? ¿Cómo te refieres en el código? ¿Puedes pegar las configuraciones 'INSTALLED_APPS' y' TEMPLATE_DIRS' aquí? –
Dentro de myproject/app, existe un directorio de plantillas, y las plantillas se encuentran con éxito desde el interior de las vistas que necesitan plantillas. Makemessages encuentra cadenas para traducir dentro de la normal views.py, como ugettext ("String_to_translate"). También creé example.py dentro de la carpeta de plantillas para comprobar si makemessages alguna vez miraba dentro de esa carpeta por algo, y encontró ugettext ("Otra cadena") dentro de eso. TEMPLATE_DIRS = ('/ home/dlmccoy/webapps/projectname/myproject/app/templates',), INSTALLED_APPS = ( 'myproject.app', ) – dlmccoy