suit: Idee zur Mehrsprachigkeit

Beitrag lesen

Das musst du schon dazusagen, wie du es verstehst. Ansonsten sah es nämlich genau so aus wie meine Struktur.

Wie würdest du es denn machen?

Bezeichne | Sprachcode | Text
Beispiel:
error_username | DE | Ihr Username ist leider schon vergeben
error_username | EN | Sorry, your username is already taken

So?

Exakt.

Mit diesen "Bezeichnern" wird das dann in der Tat gut klappen. Aber wie gesagt will ich das aus gutem Grund nicht. (Außer ich finde einen PHP-Editor, der die NAchteile eliminieren kann.)

Das visuell in die von dir gewünschte Form zu bringen ist absolut keine Hexerei.

Wenn ich es so mache kommen nämnlich dann bei meiner VErsion (kein Bezeichner sondern nur die tatsächlichen Strings) tatsächlich redundanzen. DAnn muss man für jedes Komma das man im deutschen Text ändert alle "Bezeichner" (die ja bei mir den ganzen Text darstellen würden) ändern oder man bekommt Probleme.

Darum soll der Bezeichner auch nicht der klartext der defaultsprache sein - sobald du da einen Tippfehler hast, kannst du das ganze Sysem vergessen. Das ist auch einer der Nachteile von gettext()

In meiner Variante hat man diese Probleme nicht, weil jede Zeile der DB von allen anderen Zeilen völlig unabhängig ist und man also immer nur 1 Zeile ändern muss.

Eine einzige riesige 2-dimensionale Tabelle ist in relationalen Datenbanken defective by design - egal wie du es drehst und wendest :)

Sag ich ja ;)

Nein, du willst die Datenstruktur gleich Menschenlesbar haben, damit machst du aber die Datenhaltung kaputt.

In deinem Fall mag das sinnvoll erscheinen, aber jetzt stell dir mal einen Online-Shop vor, in dem die Artikel Attribute haben.

Größe und Farbe z.B. - gibts dann da bei jedem Artikel ein Feld "groesse" und "farbe" und wenn dann mal das Gewicht dazukommt, wird eine neue Spalte gemacht?

Natürlich gibt es Fälle, wo es absolut nicht gerechtfertig ist, alles tot zu normalisieren - aber im Kontext von Sprachen hast du einfach eine Dimension, die es gradezu erfordert. Zwei Sprachen erscheinen dir vielleicht noch übersichtlich - aber was ist mit 10, 25 oder 100 Sprachen?

Dein DBMS muss, auch wenn du die Feldliste einschränkst, sicher weniger freude damit haben. Zwar habe ich jetzt keine Daten dafür, aber ich stelle in dem Raum, dass eine Abfrage einer bestimmten Sprache aus dieser Struktur

bezeichner | sprache | wert

wesentlich schneller ist als aus dieser struktur

bezeichner | sprache1 | sprache| ... | sprache82