Multilingual - Mehrsprachig

PHPneu1

Mitglied
Hallo Forum

ich möchte meine PHP Applikation mehrsprachig gestallten.
Gibt es zu diesem Zweck eine Bibliothek (.dll) die ich einbinden kann und über Textdateien die Texte in den Sprachen holen kann?

Besten Danke für jede Hilfe.
Gruss
PHPneu1
 
Also soweit ich weiss gibt es sowas nicht, das ist aber wohl mit einer mySQL- DB am einfachsten zu gestalten, solltest also für jeden Teil der ersetzt werden soll eine eindeutige ID festlegen, damit der immer aufgerufen werden kann... ansonsten ist es sinnvoll, zwei parallele Homepages laufen zu lassen, zumindest wenn du mit PHp arbeitest ist das kein Problem, dann bastelst du nur zwie verschiedene INDEX und CONFIG- Dateien, sowie dann eben die entsprechenden Teile zweifach, also dann legst du z.b. für deine HPs verschiedene mySQL- DBs an und erstellst eine index2 sowie config2 wo dann die mySQL- Daten jeweils für die entsprechende Sprache sind... also auf jeden Fall umständlich, aber mit Textdateien machst dus dir eher schwerer ;)
 
ich würde das wie folgt machen:
du erstellst zwei Dateien in denen jeweils einen Array definierst bsp:

Datei deu.php
PHP:
<?php
   $sprach_arr["request"] = "Anfrage";
?>

und Datei eng.php
PHP:
<?php
   $sprach_arr["request"] = "request";
?>

Nun entscheidest du über ein Parameter auf deiner Seite, welche von beiden Dateien du lädst und wenn du dann einen Text an eine Stelle schreiben willst, brauchst du nur

PHP:
<?php
   echo $sprach_arr["request"];
?>

und die entsprechende Sprache wird ausgegeben
 
sehr hässlich .. da arbeite ich gerade mit und wenn ständig in Deutsch arbeitest und
in deinen Scripts neue Dateien hinzufügst, vergisst man dauern die Variablen auch in
Englisch einzufügen.

XML wäre eine Alternative bei der das Problem natürlich ebenfalls auftreten könne.
Aber XML sieht besser aus dabei :)
 
oder so:

PHP:
<?php
    $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
    switch($lang) {
    case 'de': $lang = 'include/de/index.php';break;
    case 'en': $lang = 'include/en/index.php';break;
    default: $lang = 'include/en/index.php';
    }
    header ("location: $lang");
?>

so kannst du für jede sprache ein ordner anlegen und daraus die texte includen. :)
 
Immer gern. Danke euch.

Ein kleiner Nachtrag:
gettext ist leider nur unter Linux oder Unix verfügbar. Kenne bis keinen Hoster, der die Gettext Unterstützung im Angebot hat. Fragen kann man ja immer, sonst schafft man sich seinen eigenen Server an.
Habe nochmals eine interessante Diskussion gefunden. Sie enthält weiter Editoren und Verweise für den Gebrauch unter Windows -->.
 
Zurück