ここで多言語データベース設計に関する質問を投稿しました
[] What are best practices for multi-language database design?
私はMartinの提案が好きですが、ビジネスオブジェクトを作成するにはどうすればよいでしょうか? ProductTranslationオブジェクトを含む製品を作成する場合、UIのバインディングと作業は複雑になります。ローカライズされたオブジェクトのみであれば、CMS用に別のオブジェクトを作成する必要があります
ありがとうございます!多言語データベース設計のビジネスクラス
1
A
答えて
2
これは、あなたの正確なニーズによって異なるため、答えが難しいです。私たちは一つの場所に持っていることである。この(他の質問で説明したDBモデルに基づく):
- ビジネス・オブジェクトは、我々がProductTranslationのコレクションは オブジェクト持つクラスの製品を持っている意味、データベースの後にモデル化されていますProductクラスの
- には、多言語データのプロパティがあります。説明
- これらのプロパティのゲッター(現在の言語に基づいて)正しい翻訳オブジェクトを検索し、対応する値を返す
非常に簡単な例(関連部分のみを示す):
class ProductTranslation
{
public string Description;
}
public class Product
{
private List<ProductTranslation> _translations;
private ProductTranslation GetTranslation(string language)
{
// return translation for specified language
// or return translation for default language
}
public string Description
{
get
{
return GetTranslation(GetCurrentLanguage()).Description;
}
}
}
このアプローチをASP.NET Webアプリケーションに選択しました。 CurrentLanguageはユーザーごとに異なる場合があります(ユーザーはUIとデータの優先言語を選択できます)。このアプローチにより、すべてのユーザーにデータをグローバルにキャッシュすることができます。
必要に応じて、この方法が最適ではない場合があります。例えば。 ProductとProductTranslationの表を1つのビジネス・オブジェクト(Product)としてモデル化し、特定の言語用にロードしてください(たとえば、データが読み取り専用で、アプリケーション全体でキャッシュする必要がない場合)。
+0
マーティン、役に立つポスト –
関連する問題
- 1. 多言語データベース設計
- 2. REST API、多言語設計
- 3. シンプルな多言語CMSのためのデータベースの設計
- 4. データベース設計、全文検索の多言語化(PostgreSQL)
- 5. 多言語表の設計問題
- 6. Python/Djangoのデータベースローカリゼーション(多言語)設計
- 7. PHP - 多言語アプリケーションの設計
- 8. CodeIgniter多言語データベース
- 9. C#linqと多言語データベース
- 10. cakephp多言語設定
- 11. android:多言語データベースの問題
- 12. データベース設計の多対多の関係
- 13. Sonarqube 6.2 - 多言語設定、言語ごとのカバレッジ表示
- 14. Wagtail多言語ウェブサイトフォールバック言語
- 15. Laravelによる多言語データベース管理
- 16. 多言語サイトのSitecore設定
- 17. 多言語APIのコンテンツ言語
- 18. コルドーバ語の多言語コンテンツ
- 19. 多言語タイムゾーンセレクタ
- 20. 多言語enum
- 21. Yii2多言語
- 22. 多言語エクスプレスアプリ
- 23. 多言語PHP
- 24. PHP多言語
- 25. Virtuemart多言語
- 26. 多言語ビルドツール
- 27. Web2py多言語
- 28. 多言語ウィンドウフォーム
- 29. 多言語ウェブサイト
- 30. 多言語サポート
この回答ありがとうございます!私はこの質問があまり注目されていないとは信じられません。あなたは、このトピックに関するあなたの結論(例えば、あなたが使用するアプローチ、賛否両論など)をコメントや回答に書いてください。それは評価されます。 –
@krocan私は2年前にこれが必要なので、賛否両論を正確に覚えていないが、私はこの質問に完全に当てはまると思う。 –