2010-01-11 10 views
2

Voici un exemple initial_data.json. Je veux que django stocke la valeur de la colonne 'nom' dans le fichier de traduction. Plus tard, lorsque la valeur est imprimée quelque part, elle peut utiliser sa valeur traduite. Y a-t-il un moyen de le faire? Merci.la traduction dans les appareils django

[ 
{"pk": 1, "model": "category.category", "fields": {"name": "Report"}}, 
{"pk": 2, "model": "category.category", "fields": {"name": "Sport"}} 
] 

Répondre

1

Si vous voulez faire quelque chose comme ::

"fields": {"name": _("Report")} 

Alors vous êtes hors de la chance, comme JSON n'a pas de support pour gettext et similaires. (Cependant, rien ne vous empêche de les internationaliser à l'exécution.) Si vous voulez faire quelque chose comme ça, vous devrez les ajouter manuellement aux fichiers .po que vous écrivez, ou les placer quelque part dans le code afin que makemessages les sélectionne en haut En réalité, l'internationalisation des valeurs de base de données avec les mécanismes standard de Django est une très mauvaise idée. Il y a toutes sortes de possibilités pour que les choses aillent mal. Si l'internationalisation des noms est si importante pour vous, vous devez écrire l'internationalisation dans votre schéma de base de données. (Plus d'informations à ce sujet au http://code.djangoproject.com/ticket/6952.)

Questions connexes