Mehrsprachen-Modul

Emu-Emsen

Mitglied
Hallo,

ich möchte gern ein Mehrsprachen-Modul einbauen.

Ich habe sowas schonmals gemacht und zwar wie folgt.

Datei lang.de.php

PHP:
$lang = array();

$lang['ud']['ud']['name'] = 'Name';
$lang['ud']['firstname'] = 'Vorname';

In dem 2-dim. Array ist der erste Teile (hier 'ud') der Identifikator der Seite und danach folgt der Wert.

Die entsprechende lang-Datei wird dann in jedes PHP-File included und die Ausgabe von festen Text erfolgt mittels

PHP:
echo $lang['ud']['name'];

Mich würde mal interessieren ob das eine gute Lösung ist, oder wie man es vetl. noch anders und besser machen kann.

Danke :)
 
Hallo,

wie wärs mit einer Funktion, die den String für dich sucht? Es kann ja vorkommen, dass man vergisst einen Begriff in ein Spracharray einzusetzen. Dann könnte die Funktion auf die Standardsprache zurückgreifen, oder einen Leerstring zurückgeben oder ...
Wär jedenfalls schade, wenn man die Seite voller "undefined index[xyz]" Fehler hätte :)

Ceppi
 
Trennst du PHP-Code und Design? Also machst du Templates?
Die sind immer zu empfehlen.

Wenn ja, dann solltest du keine Arrays nehmen. Das könnte Probleme beim parsen von solchen Templates führen.
Aus Performancegründen ist es bei so komplexen Arrays eh besser einfache Variablen zu nehmen.
Den Source den du hast ist aber sehr gut und übersichtlich für den Scripter selbst ;)
 
Hallo,

neine Code und Design werden (noch) nicht getrennt, da ich nur allein entwickle.

Ich hab noch `ne andere Idee und zwar könnte man für jedes PHP-File ein lang-File in jeder Sprache machen und dann das includen, ist wesentlich weniger zu parsen. Das Array nicht als 2-dim. Array, sondern als assoz. Array mit dem Text-Identifikator als Key.

Das ist doch die bessere Lösung oder !?
 
Zurück