Если я хочу создать объект в Core Data, который имеет атрибуты со значениями, которые должны быть локализуемыми, мне интересно, как будет выглядеть наиболее эффективный способ?Модель для локализуемых значений атрибутов в объекте Core Data Entity?
В качестве примера давайте рассмотрим следующую структуру:
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 стол, содержащий информацию о книге (автор, английское/международное название и описание) и таблицу локализации , которая связана с использованием первичного ключа соответствующей книги. Эта вторая таблица содержит локализованные значения имени и описания, а также язык. Это позволит иметь масштабируемое количество локализаций.
Для извлечения данных я бы использовать
SELECT COALESCE(localizationBooks.name, books.name)
получить фактические значения для данного кода языка. Это позволяет использовать значение международного английского как резерв для неподдерживаемых языков.
Для этого требуется отдельный объект в основных данных (например, BookLocalization), который имеет отношение к Книге или есть ли другой рекомендуемый способ сделать это?
Ответы, которые содержат ссылки, считаются плохой практикой (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers). Пожалуйста, суммируйте содержание здесь (не копируйте/вставляйте), поэтому ответ может стоять сам по себе. Если вы этого не сделаете, вы рискуете удалить свой ответ, особенно если связь когда-либо умирает. –
Вы правы. Я добавил обобщение. –