24
MAI09Webseiten mehrsprachig programmieren Part#2
Testscript erstellen
Erstellt nun ein Script mit folgendem Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$szLocale = 'de_DE'; // Umgebungsvariable setzen putenv( 'LC_ALL=' . $szLocale ); setlocale( LC_ALL, $szLocale ); // Pfad zur Übersetzungsteabelle angeben bindtextdomain("messages", "./locale"); textdomain("messages"); // Ausgeben von TestString6506 in de_DE echo _("TestString6506"); |
Lege nun weitere Ordner für die Übersetzungsdatei an. Ausgehend vom Pfad unseres Testscriptes, erstellt Ihr folgende Ordner:
locale/de_DE/LC_MESSAGES/
Übersetzungsdatei anlegen
Mit dem Tool poEdit lassen sich einfach und schnell Übersetzungsdateien erstellen und verwalten. Dieses Tool findet Ihr unter folgender URL:
Nachdem Ihr das Programm installiert habt, startet es und erstellt einen neuen Übersetzungskatalog, wie es in poEdit genannt wird, diesen Punkt findet Ihr unter Datei -> Neuer Katalog. Gebt auf der ersten Seite erstmal die Basisinformationen zu eurem Projekt ein. Unter dem Tab “Pfade” müsst Ihr den Pfad zu eurem Testscript angeben, bei mir wäre das:
D:/htdocs/www/getText-Test
Habt Ihr das gemacht dann schließt dieses Dialogfeld mit einem klick auf ”Ok”. Klicke nun im Menü auf Katalog -> Aus Quelltexten aktualisieren, poEdit parst nun alle Script-Dateien nach dem Aufruf getText() oder seinem Alias _() und listet alle Verwendungen auf. Für unser Beispiel müsste er einen Eintrag mit dem Namen “TestString6506″ gefunden haben. Wenn Ihr nun diesen Eintrag anwählt könnt Ihr im unteren Editfeld die Übersetzung hierfür eingeben, gebt an dieser Stelle etwas ein und speichert nun unseren Übersetzungskatalog in den Ordner LC_MESSAGES den wir weiter oben erstellt haben.






5 Kommentare
Geile Sache!
Danke für den ausgiebigen Test, das werden wir dann wohl irgendwann mal in der Form bei uns einbauen, wenn die Zeit gekommen ist. Und jetzt können wir das auch mit gutem Gewissen tun, supi!
Danke nochmal,
Gruß
Allerdings kann man diese Methode bei normalen Webspace mietern nicht anwenden oder ?
Denn die meisten Webspace mieter haben keinen Zugriff auf die php.ini,
Aber hier kann man ja die Alternativen von Part 1 Benutzen
Hey Stephan, das kannste ganz einfach hiermit prüfen:
echo function_exists('getText');Wenn du eine 1 auf dem Bildschirm siehst dann hast du diese Funktion
Es kann ja sein das diese Extension bei dir schon aktiviert ist.
respekt. super artikel
gut zu wissen
Danke
Kommentar schreiben