2009-12-31 17 views
5

Quiero ejecutar un sitio de artículos en varios idiomas, ya he traducido cadenas de traducción, por lo que mis plantillas están listas. Solo tengo preguntas sobre cómo almacenar artículos en muchos idiomas. ¿Debo crear una base de datos para cada traducción o funciona de manera diferente?Django: sitio en ejecución en muchos idiomas

Si tengo, por ejemplo, este modelo básico:

class Article(models.Model): 
    models.TextField() 

y desea almacenar los datos en muchos idiomas, ¿cómo lo hago? Cómo organizar las redirecciones entre un artículo en diferentes idiomas

+0

@Oleg: ver este proyecto http://bitbucket.org/carljm/django-localeurl/src/tip/docs/usage.rst ejemplos de codificación local en la URL del –

Respuesta

6

Un enfoque simple para este problema es agregar un campo de "idioma" en cada modelo que identifica el idioma utilizado para cada registro. Este parece ser el enfoque utilizado por django-pluggable-model-i18n.

Otro enfoque es usar metaclases de Python para identificar los campos para la traducción, como se usa en django-translate y django-transmeta.

Existen muchos otros proyectos, pero muchos de ellos parecen abandonados o de menor calidad. Django-transmeta siempre me pareció lo más interesante.

Editar: muhuk simplemente escribió un excelente artículo de hoy la revisión de diferentes proyectos de traducción: http://www.muhuk.com/2010/01/dynamic-translation-apps-for-django/

0

echar un vistazo a cómo la gente en django-cms resolvieron este de problemas también se puede ensuciarse las manos y extraer las porciones de código que son responsables de agradables URL multilingües (por ejemplo, url http://site.com/en-us/some_view/ se dirige correctamente a some_view/y establece request.LANGUAGE_CODE en en-us).

+0

podía me muestras un pequeño ejemplo sobre las urls. ¿cómo hacerlo? –

Cuestiones relacionadas