¿Hay alguna manera de crear un sitio multilingüe con django y subdominios?
Me gustaría tener esto:
es.mysite.com -> sitio en inglés it.mysite.com -> sitio en italiano
He oído hablar de la aplicación localeurl pero es principalmente para la ruta url como /en/index.html o /it/index.html.
Respuestas
3 para la respuesta № 1Puedes usar marco de dominio para obtener el dominio actual:
from django.contrib.sites.models import Site
domain = Site.objects.get_current().domain
language = domain.split(".")[0]
O tomarlo de HTTP_HOST META:
domain = request.META["HTTP_HOST"]
language = domain.split(".")[0]
Entonces activar idioma:
from django.utils import translation
translation.activate(language)
Puedes escribir tu propio middleware con este código.