Neuigkeiten:

still alive...

Hauptmenü

mehrsprachiger Inhalt der Datenbank

Begonnen von imara, 20. Januar 2008, 16:41:48

Vorheriges Thema - Nächstes Thema

imara

Hallo Leute,
da ja nun eine mehrsprachige Version von psys im Kommen ist, stellt sich mir die nächste Frage: Wie kann ich auch den Inhalt der Datenbank mehrsprachig darstellen.
In einem aktuellen Fall nutze ich psys fast ausschließlich für seinen shop.
ich möchte eigentlich vermeiden, mehrere Datenbanken zu haben, da ich ja sonst jeden Benutzer und jeden Artikel mehrmals pflegen muss. Es müsste doch möglich sein, z.B. die Artikelbeschreibungen (shop) zu erweitern, sprich Titel1 (=deutsch) Titel2 (=englisch) etc.. Das gleiche dann für Kurzbeschreibung und Detailbeschreibung. Der Rest könnte dann identisch sein, sprich Artikelnummer, Preis. 
Ich nehme doch an, dass die mehrsprachige psys Version eine Sprachauswahl für den Besucher hat die dann in der session eingebunden ist, oder?
So könnte man dann entsprechend der Sprachauswahl in der Session auf Titel1 oder Titel2 zugreifen.
Hat sich dazu bereits jemand Gedanken gemacht bzw. könnte mir da jemand zumindest im Ansatz weiterhelfen?
Carsten

Translation is more than transfering words from one language into another...


Powie

Da bin ichn auch auf Ideen gespannt, ich habe hierzu bisher noch keine.

mahe

hmmm, einen eigenen languagetable?
verknüpft über die ID und um welches Skript es sich eben handelt.
Könnte man gleich einfach im gleichen Query per join  abfragen
Befüllen muss das halt der Betreiber selber, aber das ginge sowieso nicht anders.

http://blog.mahe.at\" rel=\"external nofollow\">http://blog.mahe.at/wp-content/uploads/2007/06/88x31_1.jpg\" alt=\"88x31_1.jpg\">


Ja, diese Signatur dient zur Werbung!


Und dass ich meine Posts wiederfinde ...


- Jedes Text-Item erhält eine eigene, eindeutige ID (Item-ID)
- Es gibt eine Tabelle, in der die Sprachangaben/Locales mit einer weiteren, eindeutigen ID referenziert sind (Locale-ID)
- Eine weitere Tabelle enthält die Verknüpfung von Item-ID und Locale-ID mit dem entsprechenden Unicode-String
So wie in diesem http://storage.cj-soft.de/powie/psys_l10n.db.png\" rel=\"external nofollow\">Diagramm visualisiert.
Man könnte einen Editor anbieten, mit dem man die Einträge in den Dateien verwalten könnte.

imara

Nun, mir persönlich drängt es ein wenig. Ich wollte meinen Shop eigentlich parallel zur Smarty-Version von pSys vorbereiten bzw. übersetzen. Wie gesagt, es geht mir nur um den Shop und wenn ich es richtig sehe, sind es ja dort nur die Artikel zu übersetzen. Es wäre doch nicht verkehrt wenn ich meine shop_artikel tabelle einfach 3 Felder mit dem namen artbeze, artbez2e und artinfoe hinzufüge (wobei das e am Ende für englisch stehen soll) und diese dann bei der editartikel.php hinzufüge. So kann ich die Übersetzung gleich bei der Artikelpflege einfügen.
Nun müsste nur noch die Sprachauswahl in der session weitergegeben werden und eine Abfrage dieser müsste dann die Variable \"leer\" oder \"e\" erstellen. Dann kommt der Punkt an dem ich passen muss: Wie komm ich da wieder dran?  :gaga: Ich kann ja nicht einfach in der MySQL Abfrage schreiben: Select from tab shop_artikel artbez+variable  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
weis es jemand? weis es jemand? wer weis es? (sagte mein Lehrer immer und ich hab immer gehofft, dass sich ein Anderer meldet /uploads/emoticons/icon_e_smile.gif.4a0acefcb917340d2c82e5239c009e6e.gif\" alt=\":)\" /> )

Translation is more than transfering words from one language into another...


Es wäre doch nicht verkehrt wenn ich meine shop_artikel tabelle einfach 3 Felder mit dem namen artbeze, artbez2e und artinfoe hinzufüge (wobei das e am Ende für englisch stehen soll) und diese dann bei der editartikel.php hinzufüge.[/quote]
Fehlende http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)\" rel=\"external nofollow\">Normalisierung wird dir früher oderspäter auf die Füße fallen. Spätestens ...
Dann kommt der Punkt an dem ich passen muss: Wie komm ich da wieder dran? [Gaga]  Ich kann ja nicht einfach in der MySQL Abfrage schreiben: Select from tab shop_artikel artbez+variable [Glotzen]  [/quote]
... wenn Du seltsame Konstruktionen bauen musst, um an deine Daten zu kommen.

Powie

Es wäre vielleicht eine Möglichkeit zu sagen, das die Inhalte in den Standard Tabellen in der Standard Sprache sind, und die Anderssprachigen Inhalte in einer zusätzlichen Tabelle gehalten werden, die dann per ID und Typ referenziert wird. Somit wäre das Pflegen von Pflichtdaten auch nicht unbedingt notwendig.

all your base are belong to us