ローカライズ可能な値を持つ属性を持つコアデータのエンティティを作成したい場合、最も効率的な方法がどのように見えるか疑問に思っていますか?コアデータエンティティのローカライズ可能な属性値のモデルですか?
例としてのは、次のような構造を想定してみましょう:
Book
name (localizable)
description (localizable)
author
ローカライズ帳エントリは次のようになります。SQL/SQLiteの実装では
name: "A great novel" (en/international),
"Ein großartiger Roman" (de),
"Un grand roman" (fr)
description:
"Great!" (en/international),
"Großartig!" (de),
"Grand!" (fr)
author: "John Smith"
を、私は2つのテーブルを使用します。ブック情報(作成者、英語/国際的な名前と説明)と対応する本の主キーを使用して関連するローカライゼーションブックテーブルを含むテーブルの書籍テーブル。この2番目の表には、ローカライズされた名前と説明の値、およびlanguageCodeが含まれています。これにより、拡張可能な数のローカリゼーションが可能になります。私は与えられた言語コードの実際の値を取得するために
SELECT COALESCE(localizationBooks.name, books.name)
を使用することになり、データをフェッチする
。これにより、サポートされていない言語の代替として国際的な英語の値を使用することができます。
これには、書籍と関係のあるコアデータ(BookLocalizationなど)とは別のエンティティが必要ですか、これを行う別の推奨方法がありますか?
リンクだけを含む回答は[悪い習慣とみなされます](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers)。答えがそれ自身の上に立つことができるように、ここに内容を要約してください(コピー/貼り付けはしないでください)。あなたがしない場合は、特にリンクが死ぬ場合は、あなたの答えが削除されるリスクを実行します。 –
あなたはそうです。私は要約を加えました。 –