phpbar.de logo

Mailinglisten-Archive

[php] Sprachanpassungen

[php] Sprachanpassungen

truhe_(at)_metal.de php_(at)_phpcenter.de
06 Nov 2001 10:34:21 CET


hi :)

ich h=E4nge moemntan ein wenig was die umsetzung von sprachunabh=E4ngigen
skripten angeht. es soll folgendes durchgef=FChrt werden:

- ein chat-skript gibt unterschiedliche meldungen aus
- jede meldung zeigt dabei verschiedene vom chat generierte dinge an
wie username und weitere parameter, die nat=FCrlich bei jeder ausgabe
anders sind
- der chat selber soll eine default-sprache haben
- jeder user soll sich eine sprache einstellen k=F6nnen

ich bin jetzt dazu =FCbergegangen kleine sprachschnipsel zu erzeugen mit
einzelnen w=F6rtern drin, die leicht austauschbar sind. daraus baue ich
mir dann die s=E4tze zusammen und kann so leicht die sprachfiles
austauschen. allerdings komme ich da jetzt schon an die grenze, wenn es
um nicht deutsch oder nicht englisch geht, also z.b. franz=F6sisch oder
norwegisch, wo der satzbau v=F6llig unterschiedlich ist und ich mit
meinen kleinen schnipseln nicht weiter komme. jetzt m=F6chte ich also
eine recht vern=FCnftige l=F6sung dort einbauen. meine jetzige =FCberlegung
ging dahin f=FCr jede ausgabe eine funktion zu schreiben, der die vom
chat generierten elemente als parameter zu =FCbergeben und dann als
returnvalue den sprachabh=E4ngigen string zu kriegen. das ist allerdings
ziemlich aufw=E4ndig und umst=E4ndlich. lieber w=E4re es mir, wenn ich so
etwas definieren k=F6nnte:

$hasentered=3D'$chatuser hat soeben den raum betreten';
$msgsent=3D'du hast eine nachricht an $msgto geschickt'
$msgrec=3D'$msgfrom hat dir um $sentdate folgende nachricht geschickt';

usw. dass ich also nur den text mit zu ersetzenden begriffen drin habe.
ich wei=DF aber weder wie genau ich das realisieren soll (au=DFer =FCber
dutzende einzelner funktionen f=FCr jeden m=F6glichen satz).

ich m=FCsste theoretisch dem kompletten satz oben inklusive der zu
ersetzenden begriffe in einer variablen speichern deren inhalt nicht
ausgef=FChrt wird und dann zur laufzeit, wenn die entsprechenden
parameter vorhanden sind, ein eval r=FCber laufen lassen oder =E4hnliches.
das erscheint mir aber alles nicht elegant genug :) wie l=F6st ihr das in
euren projekten?


php::bar PHP Wiki   -   Listenarchive