El problema que tengo es que el catálogo de JavaScript no incluye cadenas de reserva en ciertos escenarios. En otras palabras: cuando la cadena "A" no está traducida en es_MX pero sí en es , el catálogo de JavaScript contiene la cadena "A" predeterminada o sin traducir.
Configuré una aplicación que demuestra este problema: https://github.com/cmermingas/i18n_test
LOCALE_PATHS establecido en PROJECT_ROOT/locale .
Traducciones para todas las aplicaciones almacenadas en LOCALE_PATHS .
JavaScriptCatalog configurado sin paquetes:
path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog') es_MX y es que demuestran el problema:
"es - Not translated" se traduce en la configuración regional es ."es_MX - Not translated" se traduce en la configuración regional de es_MX . Esto funciona si paso packages a JavaScriptCatalog :
path( 'jsi18n/', JavaScriptCatalog.as_view(packages=["testapp"]), name='javascript-catalog' )Pero esto no es obligatorio, ¿verdad?
Intenté esta respuesta , que sugiere agregar domain="django" , pero no funcionó para mí.
¿Qué estoy haciendo mal o es un problema?
Esto se identificó como un error en el problema n.º 33863 y se envió una solución. La solución será actualizar Django cuando se publique esta solución.
Como solución alternativa, sugiero lo que anoté en la pregunta (pasar packages a JavaScriptCatalog ):
path( 'jsi18n/', JavaScriptCatalog.as_view(packages=["<your-app-here>"]), name='javascript-catalog' )