Laden...

Lokalisation auf Datenbank-Ebene

Erstellt von bbb vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.148 Views
B
bbb Themenstarter:in
72 Beiträge seit 2009
vor 8 Jahren
Lokalisation auf Datenbank-Ebene

verwendetes Datenbanksystem: MS SQL

Hallo zusammen,

gibt es eine Best Practise für die Loaklisation von Datenbank-Tabellen?

Was ich bisher so gelesen habe ist, dass es zu einer Tabelle A eine Tabelle LanguageA geben sollte. Diese enthält dann sowas wie:

LanguageID
IsoCode
Language
Translation
und als Foreign Key dann den Verweis auf Tabelle A in Form von TableAID

Ich hätte es gerne etwas generischer. In etwa so:

LanguageID
IsoCode
Language
Translation
EntityID <- generischer Foreign Key

Jetzt hätte ich nur noch eine Translation Tabelle. Hier stoße ich aber glaube ich auf Foreign Key Constraint Probleme, weil jede zu übersetzende Tabelle mit seinem Primary Key auf den Foreign Key der Tanslate-Tabelle zeigen müsste.

Wie wäre mein generischer Ansatz überhaupt möglich? Oder muss ich tatsächlich für jede zu übersetzende Tabelle eine eigene Sprachtabelle haben? Oder gibt es noch andere Ansätze?

T
314 Beiträge seit 2013
vor 8 Jahren

Vergib anstatt der EntityId in der Translationstabelle eine TranslationId in deiner Entitytabelle.
Die TranslationId ergibt zusammen mit der LanguageId dann die gewünschte Übersetzung.

B
bbb Themenstarter:in
72 Beiträge seit 2009
vor 8 Jahren

Das werde ich mal ausprobieren. Vielen Dank!