5

Dans ma conception il y a quelques modèles où j'ai besoin de stocker certains champs dans différentes langues. A-t-il déjà été fait? J'ai vu des modules Django qui aident à faire des traductions de modèles mais certains d'entre eux ne fonctionnaient pas correctement.Django modèle i18n de contenu

Des bonnes pratiques? Voici mon code.

Mon modèle,

class Lookup_I18n(models.Model): 
    i18n_code = models.CharField(max_length=5, default=settings.LANGUAGE_CODE) 
    value = models.CharField(max_length=300) 

class Lookup(models.Model): 

    purpose = models.CharField(max_length=10) 
    key = models.CharField(max_length=10) 
    value_i18n = models.ForeignKey(Lookup_I18n) 
    value = models.Field() 

    class Meta: 
     unique_together = (('purpose', 'key'),) 

Répondre

5

J'ai utilisé récemment django_modeltranslation. Il créera des champs supplémentaires dans chaque table pour la traduction d'un champ dans une certaine langue. Vous pouvez fournir la traduction via le panneau d'administration de Django. Voici some applications pour Django qui traduisent les modèles. Je devais traduire juste un champ dans le modèle et cela a fonctionné. Choisissez l'application qui convient le mieux à votre conception.