Django

Internacionalización en Django

i18n, gettext, cadenas de traducción, locale middleware, detección de idioma, archivos de traducción

20 preguntas de entrevista·
Senior
1

¿Qué función se debe usar para marcar una cadena como traducible en Django?

Respuesta

La función gettext, importada habitualmente con el alias _ (guion bajo), es el método estándar para marcar cadenas traducibles en Django. Busca la traducción de la cadena en el catálogo de mensajes correspondiente al idioma activo y devuelve la versión traducida si está disponible.

2

¿Cuál es la diferencia entre gettext() y gettext_lazy() en Django?

Respuesta

gettext_lazy() devuelve un objeto proxy que solo se evalúa cuando se convierte en cadena, lo cual es esencial para las traducciones definidas a nivel de módulo (como en los models o forms). gettext() evalúa la traducción inmediatamente en el momento de la llamada, lo que resulta problemático si el idioma aún no se ha determinado.

3

¿Qué middleware de Django se encarga de activar el idioma en cada solicitud?

Respuesta

LocaleMiddleware examina la solicitud para determinar el idioma preferido del usuario verificando varias fuentes: el prefijo de URL, las cookies, el encabezado Accept-Language del navegador y el parámetro LANGUAGE_CODE. Luego activa el idioma correspondiente durante toda la duración de la solicitud.

4

¿Qué comando de Django extrae las cadenas traducibles del código fuente?

5

¿Qué comando compila los archivos de traducción .po en archivos binarios .mo?

+17 preguntas de entrevista

Domina Django para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis