mehrsprachigkeit realisieren?

Transmitter

Erfahrenes Mitglied
hi!

ich noch mal :-)

ich kenn das vom phpnuke, da ist das so realisiert:

auszug aus lang-german.php
Code:
define("_SEND","Senden");
define("_URL","URL");
define("_PRINTER","Druckbare Version");
define("_FRIEND","Diesen Artikel an einen Freund senden");
define("_SEARCH","Suchen");
define("_LOGIN","Einloggen");
define("_WRITES","schreibt");
define("_POSTEDON","Geschrieben am");
define("_NICKNAME","<b>Benutzername</b>");
define("_PASSWORD","<b>Passwort</b>");
define("_WELCOMETO","Willkommen bei");
define("_EMAIL","<b>eMail</b>");
define("_REALNAME","Richtiger Name");
define("_FUNCTIONS","Funktionen");

usw.

ist sowas sinnvoll?
die wird dann immer ganz oben in einer seite eingebunden .. wie ist denn das mit dem speicherbedarf und der performance?

wenn ich ca. 3000 zeilen define, werden dann alle strings in den speicher geschrieben?
oder nur die, die ich brauche, bzw. auf die ich zugreife?

thx schon mal
transmitter
 
?? .. das wollte ich doch gar nicht wissen, nur ob das performant ist, und ob das für große systeme so ok ist, oder ob es da ne andere möglichkeit gibt?!?
 
Also wir machen das bei unserem CMS (content-builder.de) fast genauso. Jedes Modul hat seine Language Dateien, die in einem Array die Texte stehen haben.

Ich frag mich, wie du es anders lösen willst. Wenn du die Texte aus einer Datei einliest, und sie als Variablen speicherst, verbrauchst du Speicher. Das könntest du umgehen, wenn du nur zusammengehörende Texte in einer Datei speicherst und dann bei Bedarf immer die entsprechenden Dateien lädst. Dadurch wird aber ein Dateiaufruf gestartet, was ja wieder Performance kostet.

Bei Datenbanken sieht es ja ähnlich aus, denn jeder Aufruf kostet Performance.

Wir haben halt bei jedem Modul eigene Lanugage Dateien, was oftmals auch zu doppelten Texten (einzelne Wörter wie Delete usw.) führt. Damit halten wir aber den Speicherverbrauch gering.
Man kann ja auch aufteilen in Grundwortschatz und spezielle Wortdateien.

Grundsätzlich lässt sich heutezutage aber sagen, das das ganze eine unwichtige Diskussion ist, da Speicher ja im Überfluss vorhanden ist.

Hoffe geholfen zu haben.

Ciao, F.o.G.
 
ja, ok .. dann werde ich es wohl mit einer globalen datei machen, das scheint mir die sauberste lösung.

mit einzelnen sprachdateien für je ein modul habe ich dann soviele files, die man jemanden zum übersetzen geben müsste :( ;)
 
ich habe das auf unserer Seite so gelöst:

der user klickt auf eine sprache unten links und ich übergebe der include-datei die variablen in der jeweiligen sprache


d.h.

1. user wählt sprache aus
2. sprachdatei mit variablen werden in der include datei ersetzt


beim modul habe ich die sprachen in einer db- gehalten, ist auch kein grosser performanter Unterschied
 
Ich biete eine Alternative ..

ihr bindet in das ganze Projekt eine Language ID mit ein und legt dann einfach
2 verschiedene Templates an.

Also lang_1 und lang_2. Das Problem hierbei ist natürlich daß ihr 2 Dateien
ändern müsst. Alternativ hierzu wäre :
Ihr benutzt die ID für einen Zugriff
auf eine Datenbank mit Konfigurations-
variablen.

Jona
 
aber ab 3 sprachen wird eine id recht unübersichtlich ..

das beste wird es sein, das als $lang = "german" oder so zu handeln . das ist recht einleuchtend! ;)

und das ändern .. naja, das stimmt schon .. aber das system soll erst wenn es ziehmlich fertig ist übersetzt werden, also ist das ändern auch nicht so lästig ;)
 
Zurück