¿Cómo puedo obtener el idioma actual en el hilo actual en un modelo o en el administrador?
python
django
internationalization
diegueus9
fuente
fuente

Respuestas:
Las funciones de particular interés son las
django.utils.translation.get_language()que devuelven el lenguaje utilizado en el hilo actual. Ver documentación .fuente
O también puede obtener esto en sus vistas
fuente
django.utils.translation.get_language()django.utils.translation.get_language()siempre es una mejor solución.Tenga cuidado con el método que utiliza para obtener el idioma . Dependiendo de qué método, Django usará diferentes formas e información para determinar el idioma correcto a usar.
Al usar la
django.utils.translation.get_language()función, está vinculada al idioma del hilo . Antes de Django 1.8, siempre regresabasettings.LANGUAGE_CODEcuando las traducciones estaban deshabilitadas. Si desea anular manualmente el lenguaje del hilo, puede usar las funcionesoverride()oactivate(), que no tienen un nombre muy explícito, pero bueno, siguen siendo útiles:Si desea que django verifique la ruta y / o la solicitud (cookie de idioma, ...) , que es mucho más común, por ejemplo ,
www.example.com/en/<somepath>vswww.example.com/fr/<somepath>, usedjango.utils.translation.get_language_from_request(request, check_path=False). Además, siempre devolverá un idioma válido establecido ensettings.LANGUAGESNo me resultó muy fácil encontrar estas diferencias a través de Google sobre este tema, así que aquí está para mayor referencia.
fuente
django.utils.translation, no traducciones. Hay un error ortográfico en el enlace proporcionado. En el fragmento es correcto.django.utils.translation.get_language()ydjango.utils.translation.get_language_from_request(request, check_path). Si está a la vista, debe usar este último concheck_path = Truepara obtener el idioma en el que se renderizará su plantilla.Solo para agregar que, si lo usa
django.utils.translation.get_language(), debe tener en cuenta que si esa sección de código se llamará de forma asincrónica (por ejemplo, como una tarea de apio), entonces este enfoque no funcionará debido a que se ejecuta en un hilo diferente.fuente
puedes usar esto
fuente
Puede leer el sistema
localepara obtener información sobre el idioma.fuente