es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La traducción de “Django translation.override() not working” al español es “La función translation.override() de Django no funciona”.

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código ni la salida en formato markdown:

Literalmente copié y pegué esto de la documentación:

class CustomerAdmin(ExportActionMixin, admin.ModelAdmin):
    def mail(self, request, queryset): 
        with translation.override('nl'):
            print(_('Hello'))

sigue imprimiendo Hello en lugar de Hallo
La documentación indica que esto debería funcionar independientemente de la configuración o middleware que tenga habilitado.

Intenté con nl, de y dk, siempre aparece en inglés.

Estoy usando Django 3.6

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece haber un problema con el método translation.override() en Django 3.6. Aunque la documentación indica que debería funcionar sin importar la configuración o middleware, no está funcionando como se esperaba para el código dado. La instrucción print() dentro del método sigue imprimiendo Hello en lugar de Hallo, incluso cuando se utilizan diferentes códigos de idioma.

    Una solución posible podría ser verificar si la configuración USE_I18N está habilitada en la configuración de Django. Si no lo está, entonces el módulo de traducción no funcionará como se esperaba. Otra solución podría ser utilizar el método activate() en lugar del método override(), ya que parece funcionar mejor en algunos casos.

    En general, no está claro por qué el método override() no está funcionando como se esperaba en este caso específico, pero probar enfoques diferentes como verificar la configuración o utilizar métodos alternativos puede resolver el problema.

Comments are closed.