phpbar.de logo

Mailinglisten-Archive

[php] [OT] Datenbankdesign mit Mehrsprachigkeit

[php] [OT] Datenbankdesign mit Mehrsprachigkeit

Helmut P. Fleischhauer hpf at abarcar.com
Fre Nov 24 11:08:25 CET 2006


Ralf Eggert wrote:
> Hallo Lutz,
> 
> danke für dein Feedback. Das Problem, was ich bei Variante 2 immer habe,
> ist die richtige Verknüpfung zwischen Fremdschlüssel in "Mensch" und
> Primärschlüssel in "Familienstand".
> 
> Der Fremdschlüssel in "Mensch" sollte ja immer den gleichen Wert haben,
> unabhängig von der Sprache. Daher muss der Primärschlüssel in
> "Familienstand" ja aus einer ID und dem Sprachschlüssel bestehen. Ein
> Beispiel:
> 
> ID   Sprache   Bezeichnung
> 1    de        verheiratet
> 1    en        married
> 2    de        geschieden
> 2    en        divorced
> 
> Also "ID" und "Sprache" zusammen müssen unique sein und somit den
> Primärschlüssel bilden. Bei MySQL ist es meines Wissens aber nicht
> möglich, nun eine Fremdschlüssel Verknüpfung zwischen "Mensch" und
> "Familienstand" einzurichten, bei der nur die "ID" verwendet wird.
> 
> Vielleicht habe ich da auch eine Denkblockade... ;-)
> 

Hallo,
mein Vorschlag

id   termid   lang   term
1     1        de     verheiratet
2     1        en     married
3     1        es     casado
4     1        fr     marié
5     2        de     geschieden

etc etc

id = auto increment

Je nach gewählter Sprache wird termid + lang ausgegeben
Außerdem lässt sich so eine Routine bauen, um Begriffe
online in andere Sprachen zu übersetzen

Andere Variante:

id    term
1     $__married

Je nach Sprache wird eine Sprachdatei eingebunden, z.B.
sprachdatei_de.inc.php
die die Übersetzung enthält
$__married="verheiratet";

Grüsse Helmut




php::bar PHP Wiki   -   Listenarchive