如果我想在核心数据中创建具有应该可本地化的值的属性的实体,我想知道最有效的方式是怎么样的?核心数据实体中可本地化的属性值的模型?
作为一个例子,让我们假设以下结构:
Book
name (localizable)
description (localizable)
author
的局部簿条目是这样的:
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"
在SQL/SQLite的实施,我会用两个表。 A books表中包含书籍信息(作者,英文/国际名称和说明)和使用相应书籍的主键相关的表格。该第二个表包含本地化的名称和描述值以及languageCode。这将允许具有可扩展数量的本地化。
对于获取数据,我会用一个
SELECT COALESCE(localizationBooks.name, books.name)
以获取给定的语言代码的实际值。这允许使用国际英语价值作为不支持的语言的回退。
这是否需要核心数据(例如BookLocalization)中与书相关的独立实体或者是否存在另一种推荐的方法?
只包含链接的答案是[认为不好的做法](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers)。请总结这里的内容(不要复制/粘贴),这样答案就可以独立运作。如果你不这样做,那么你的答案就会被删除,特别是如果链接死亡的话。 – 2012-05-31 11:00:26
你是对的。我添加了总结。 – 2012-06-01 07:20:48