2

私は現在、さまざまな言語を話す人々が情報にアクセスできるアプリを作成中です。情報は非常にユニークであるため、翻訳ツールを使用しても十分ではありません。すべての情報は異なる言語である必要があり、ユーザーがログインすると、設定に従って情報が表示されます。現在、アプリケーションは Django と MySQL に基づいています。Django にはローカライズ機能があるようですが、よくわかりません。翻訳メカニズムか何かを呼び出していますか?理解できません。

それはさておき、この問題を解決するための最良のアプローチは何だろうと思っていました。異なる言語の数は今のところ不明です。したがって、 1 つのテーブル内に各列の正確な翻訳を格納することは良い考えではないと思いますが、クエリの時間を節約できます。(内部結合などはありません)。

1) Django のローカリゼーション機能を調べる必要がありますか? 正確には何ですか?[翻訳をファイルに保存したくありません。]

2) 多言語アプリケーションに最適なデータベース設計は? 私はそれらを見つけました:

人々は通常、この問題をどのように解決しますか? どうもありがとう!

編集:私は特に使いやすいものを探しているわけではありません。ほとんどの場合、パフォーマンスが高く、DB に巨大な混乱を引き起こさないもののためです...それは可能ですか?

4

1 に答える 1

2

1) Django i18n メカニズムを使用して、テンプレートの静的テキスト ラベル、フィールド名、エラー メッセージなど、基本的にデータベースに保存しないすべてのテキストをローカライズできます。データベースの内容の翻訳にはあまり役に立ちません。

2) 私が見た多言語 django モデルの主要な取り組みはすべて、次のアプローチのいずれかを使用しています。

  • modlename_lang 列を同じテーブルに追加します。
  • 共有フィールドをあるテーブルに保存し、翻訳を別のテーブルに保存します。

これらのアプローチのどちらがより好きかを判断し、選択したアプローチに最適な文書化されたモデル変換アプリを使用することをお勧めします.

いくつかの言語を使用する場合は、最初のアプローチをお勧めします。一方、言語の数が増えると、2 番目のアプローチが実行可能になる可能性があります。

于 2012-04-06T09:36:59.927 に答える