22


9

Djangoデータベースの値を変換する最良/推奨の方法

Djangoアプリケーションを国際化するときに、実際のデータベース値(日付形式や複雑なものではなく、テキスト文字列)を翻訳する最良の方法を見つけようとしています。 私が思いついた最も論理的な方法は、次のいずれかでした。

  • すべての言語のデータベース*列*を保持します(例: description_en、 「description_de」、「description_fr」、…​)または

  • 言語ごとに異なる*データベース*があります(例: schema_enschema_fr、` schema_de`、…​)。

これらは最良の選択肢ですか、それとも私が見逃している何かがありますか? ありがとう。

3 Answer


18


私はdjango拡張機能を読んでいて、https://github.com/deschler/django-modeltranslation [django-modeltranslation]プラグインを見つけました。 それはあなたがやりたいことを正確にやるようです。 そうでない場合は、コメントを残し、私はこの答えを削除します:)


4


また、このhttps://github.com/ecometrica/django-vinaigrette[small project]は、ローカライズされた文字列を登録済みモデルのフィールドの標準メッセージファイルに同期することを目的としています。

例:

import vinaigrette
vinaigrette.register(YourModel, ['name', 'description'])

標準コマンド

$ manage.py makemessages

登録されたフィールドにある個別の値ごとにメッセージを維持します。

まだ試してみる機会がありません。 +しかし、これはdbからデータを変換する最も簡単な方法のようです。


2


次のhttp://groups.google.com/group/django-users/browse_thread/thread/b76323a3576d6d89[thread]をご覧ください。これは、ここで尋ねているのと同じ質問のようです。

私は同じ質問があるかもしれないので、将来的にいつかあなたが最終的に使用するソリューションを聞いても構いません:)