2011-04-04 11 views
8

Estoy determinando la preferencia de idioma de un usuario a través de un servicio de terceros en el que también está registrado. Este servicio me proporciona un código de configuración regional (por ejemplo, en_US). Si no tengo el código de idioma correspondiente en settings.LANGUAGES, ¿proporciona Django alguna forma integrada (simple) para determinar la mejor elección alternativa de settings.languages (por ejemplo, en-gb).Django i18n encuentra idiomas compatibles

Por supuesto que sé que podría hacer un par de comparaciones de cuerdas del código del lugar, etc. solo, ¡siendo curioso si hay una solución más práctica!

Respuesta

5

Puede ver el código que Django usa para determinar el idioma según una solicitud here. Lamentablemente, no parece haber una útil función de utilidad para lo que estás haciendo. Sin embargo, la lógica utilizada es trivial: solo lop the end off si el idioma secundario no es compatible y busca el idioma principal como alternativa. Sin embargo, esto no le llevaría de en-us a en-gb.

Por cierto, las funciones to_locale y to_language en ese archivo pueden ser de su interés.