Wenn ich eine Entität in Core Data erstellen möchte, die Attribute mit Werten hat, die lokalisierbar sein sollten, frage ich mich, wie der effizienteste Weg aussehen würde?Modell für lokalisierbare Attributwerte in Core Data Entity?
Als Beispiel wollen wir die folgende Struktur annehmen:
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"
In einer SQL/SQLite Implementierung ich zwei Tabellen verwenden würde:
Book
name (localizable)
description (localizable)
author
Eine lokalisierte Bucheintrag würde wie folgt aussehen. A Bücher Tabelle mit den Buchinformationen (Autor, der englische/internationale Name und Beschreibung) und locationBooks Tabelle, die mit dem Primärschlüssel des entsprechenden Buches verwandt ist. Diese zweite Tabelle enthält die lokalisierten Namen und Beschreibungen sowie den Sprachcode. Dies würde eine skalierbare Anzahl von Lokalisierungen ermöglichen.
Für das Abrufen von Daten würde ich ein
SELECT COALESCE(localizationBooks.name, books.name)
verwenden, um die tatsächlichen Werte für den jeweiligen Sprachcode zu erhalten. Dies ermöglicht die Verwendung des internationalen englischen Werts als Fallback für nicht unterstützte Sprachen.
Benötigt dies eine separate Entität in Core Data (z. B. BookLocalization), die eine Beziehung zum Buch hat, oder gibt es eine andere empfohlene Vorgehensweise?
Antworten, die nur Links enthalten, gelten als [schlechte Praxis] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really- good-answers). Bitte fassen Sie den Inhalt hier zusammen (nicht kopieren/einfügen), damit die Antwort für sich alleine stehen kann. Wenn Sie nicht Gefahr laufen, dass Ihre Antwort entfernt wird, besonders wenn die Verbindung jemals stirbt. –
Sie haben Recht. Ich habe die Zusammenfassung hinzugefügt. –