Mailinglisten-Archive |
Am Donnerstag, 6. Dezember 2001 10:54 schrieben Sie: > tmd> das erscheint mir aber alles nicht elegant genug :) wie löst ihr das > in tmd> euren projekten? > hi, > ich hoffe, dass wir das gleiche meinen!!!! > alle sprachkonstrukte werden dabei in arrays gespeichert und durch den > parameter "$language" zur Laufzeit ausgegeben. > > > if(empty($language)) $language = 'de'; > $hasentered[$language] = "$chatuser in deutscher sprache"; > $hasentered[$language] = "$chatuser in englischer sprache"; > $hasentered[$language] = "$chatuser in spanischer sprache"; > . > . > . > > $msgsent[$language] = "du hast eine nachricht an $msgto geschickt"; > . > . > $msgrec[$language] = "$msgfrom hat dir um $sentdate folgende nachricht > geschickt"; ich habe ein zweidimensionales Array: Dimension eins wählt die Sprache, Dimension zwei den String anhand eines identifiers. $string = $lang[ 'de' ][ 'identifier' ]; Im String sind nun Platzhalter für Varibalen: "Jetzt kommt der Platzhalter %%1, und hier noch einer %%2" mit folgender funktion benutze ich das: function i18n( $key ) { global $lang,$language; $result = isset( $lang[ $language ][ $key ] ) ? $lang[ $language ][ $key ] : 'Unknown text string in language file: ' . $key; $array = func_get_args(); unset( $array[ 0 ] ); foreach( $array as $key => $value ) { $result = str_replace( "%%$key", $value, $result ); } return $result; } Damit hast du eine unbegrenzte anzhal an Parametern für den String. Gruss, Michael -- Bremische Hafenvertretung e.V. tel: +49 (421) 3090148 IT-Abteilung fax: +49 (421) 3090150 World Trade Center Bremen mail: mkoch_(at)_bremen-ports.de Birkenstrasse 15 www: http://www.bremen-ports.de D-28201 Bremen
php::bar PHP Wiki - Listenarchive