Mehrsprachigkeit modellieren

Hallo Experten.
Beim Entwurf einer MySQL Datenbank beschäftige ich mich zum ersten Mal mit dem Problem der Mehrsprachigkeit. Die Datenbank soll eine Webseite in 2 oder 3 Sprachen speisen. Bei der Modellierung bin ich mir unsicher, wie ich es wartungsfreundlich und möglichst ohne Redundanzen hinbekomme.
Sollen z.B. für eine Tabelle Produkt Name und Beschreibung für jede Sprache als Spalte angelegt werden, wäre doch in Sachen Erweiterbarkeit nicht sehr clever? Kennt jemand gute Tutorialseiten oder hat gute Tipps zu dieser Problematik. Danke für die Hilfe
Gruß Netscape47Feind

Hallo Netscape47Feind,

Beim Entwurf einer MySQL Datenbank beschäftige ich mich zum
ersten Mal mit dem Problem der Mehrsprachigkeit. Die Datenbank
soll eine Webseite in 2 oder 3 Sprachen speisen. Bei der
Modellierung bin ich mir unsicher, wie ich es
wartungsfreundlich und möglichst ohne Redundanzen hinbekomme.

Sollen z.B. für eine Tabelle Produkt Name und Beschreibung für
jede Sprache als Spalte angelegt werden, wäre doch in Sachen
Erweiterbarkeit nicht sehr clever?

Das kommt jetzt schon drauf an …
Bei Ikea, kann man den Produktnamen zusammen mit der ARtikelnummer in einer tabelle ablegen und für die Beschreibung auf eine Sprchspezifische Tabelle verweisen …

Bei einem normalen Möbelhaus funktioniert das meist schon nicht mehr …

Ein weitere Problem sind dann noch Sätze, welche Parameter enthalten, da diese nicht in jeder Sprache an der selben Stelle vorkommen, z.B. „sie haben 25 Artikel in ihren Warenkorb“.
Wenn man die Darstellung als Tabelle macht, wird’s einfacher, aber nicht unbedingt schöner:
„Artikel im Warenkorb: 25“

MfG Peter(TOO)

Hi Peter, danke für die weitern Denkanstöße. Zum Glück will ich keinen mehrsprachigen shop entwerfen, aber auf diese Darstellungsprobleme werde ich bestimmt noch stoßen.

Bisher überlege ich noch, wie ich die Tabellen sinnvoll anlege, um meine Produktliste zu speichern, denn die Bezeichnungen und Beschreibungen sind in allen Sprachen verschieden.
Eigentlich erscheint es mir sinnvoll eine Tabelle mit Texten in allen Sprachen anzulegen, die jeweils irgendwie mit einem Attribut verbunden sind, z.B. Produktnamen und auf eine Sprache verweisen, die auch irgendwie in einer Tabelle mit id vorhanden sein wuerden. Das ganze ist allerdings ziemlich unuebersichtlich. Bin für jeden Denkanstoß dankbar.
Gruß Netscape47Feind

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Produkt:{[produktId, undsoweiter]}
Sprache:{[sprachId, bez, reihenfolge]}
Produkttext:{[produktId, sprachId, sprachfeld, textinsprache]}

Damit hast du die Möglichkeit, beliebige sprchabhängige Felder zu übersetzen.
Vorsicht: in der Praxis schafft es niemand alle Sprachfelder sauber zu übersetzen. Deshalb sollte man die Sprachen nach einer individuellen Sortierung (z.B. Deutsch - Englisch - Spanisch - …) auslesen und den ersten Treffer nehmen. Wenn dann die gewünschte Übersetzung nicht da ist, wird einfach das nächste genommen. Auf jeden Fall steht immer etwas da.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

Danke für den Tipp, Peter, so klingt es zwar unuebersichtlicher, macht aber mehr Sinn, danke für die Hilfe, *!