phpbar.de logo

Mailinglisten-Archive

[php] [OT] Datenbankdesign mit Mehrsprachigkeit

[php] [OT] Datenbankdesign mit Mehrsprachigkeit

Sascha Grossenbacher saschagros at bluewin.ch
Don Nov 23 23:43:00 CET 2006


Ralf Eggert wrote:
> Hallo Liste,
>
> ich weiß, dass die Frage off-topic ist. Da hier aber viele gestandene
> Webentwickler mitlesen, hoffe ich, dass mir jemand helfen kann.
>
> Ich habe eine Datenbanktabelle "Mensch". Neben Feldern wie Name, Größe
> und Gewicht, in denen Werte frei eingeben werden können, gibt es auch
> Felder wie Augenfarbe, Haarfarbe und Familienstand, welche nur bestimmte
> Vorgabewerte aufnehmen dürfen. Diese Vorgabewerte sollen mehrsprachig
> verwaltet werden.
>
> Wie lege ich nun diese Vorgabewerte am besten an? Als Beispiel nehme ich
> mal Familienstand.
>
> [...]
>
> Verwendet habe ich in der Vergangenheit bereits 1. und 2. Jetzt überlege
> ich, ob 3. und/oder 4. vielleicht besser geeignet sind.
>
> Wie setzt Ihr solche Daten in euren Projekten um?
>   
Ich verwende bei mir Translation2 [1]. Dort sind alle Übersetzungen in
einer eigenen Tabelle (möglich ist z.B. auch XML), zugeordnet mit einer
id/page_id.
Da diese Werte automatisch eingetragen werden, ist page_id bei mir immer
der Name des aktuellen Attributes und id der md5-hash der Übersetzung.
Das kann natürlich auch anderes gelöst werden, z.B. mit einer
fortlaufenden Nummer. Diese Lösung ist zwar nicht sehr perfomant,
relativiert sich aber, da Translation2 Caching unterstützt.

Ist sicher nicht überall einsetzbar, aber meiner Meinung nach sehr
flexibel, da es relativ egal ist ob die Übersetzung aus einem Wort oder
aus einem ganzen Text besteht und man die ganzen Funktionalitäten von
Translation2 einsetzen kann: Caching, Default-Texte, Sprache-Fallback,
Platzhalter, verschiedene Daten-Container etc.

Gruss Sascha

[1] http://pear.php.net/package/Translation2



php::bar PHP Wiki   -   Listenarchive