Mailinglisten-Archive |
Ringo Großer wrote: > Hallo > > Florian Grell wrote: >> Ich nutze zur Zeit folgendes System (abgeschaut bei Wordpress): >> - alle Texte als Array in eine Datei pro Sprache >> - Arrayschlüssel ist der ursprüngliche Text ("Klicken Sie hier, um...") >> - Übersetzung als Arraywert ("Click here to...") >> - Übersetzungsfunktion: >> function __($key) { >> global $lang; >> return isset($lang[$key]) ? $lang[$key] : $key; >> } Laut php-Bediene soll man Funktionsnamen etc. nicht mit __ beginnen lassen, da diese (in zukünftigen Versionen) als magische Funktionen verwendet werden könnten. >> - Template: >> <?php echo __("Klicken Sie hier, um..."); ?> >> >> Hat den Vorteil, das auch bei nichtvorhandensein der Übersetzung "echter" >> Text angezeigt wird. >> Die Strings könnten natürlich auch in einer DB abgelegt werden. > > Das erscheint mir ähnlich wie Funktionsweise der gettext Erweiterung, > die wiederum noch zusätzliche Möglichkeiten hat wie z.B. die > Verarbeitung von Platzhaltern und deren unterschiedliche Reihenfolge in > unterschiedlichen Sprachen. > > Allerdings passt gettext nicht auf die ursprüngliche Anforderung, da > sich die PO-Dateien nur mit zusätzlichem Aufwand pflegen lassen und > kompiliert werden müssen. > > Ich möchte nochmal die Frage nach vergleichenden Erfahrungen in die > Runde werfen. Gibt es signifikante Geschwindigkeitsvorteile der gettext > Komponente gegenüber den hier vorgeschlagenen Lösungen (Language-Datei, > Language-Table)? Oder in welcher Situation würde man sich für gettext > entscheiden? Man würde sich für gettext entscheiden, wenn man einen Standard haben will. "Früher" war es so, dass jeder Programmierer seine eigene Lösung verwendet hat. Am besten auch noch in jeder Programmiersprache eine andere. Der Programmieraufwand von einem gettext-Ersatz ist eigentlich nicht das Problem. Aber für gettext gibt es ein libs für (fast) jede Sprache, so dass du auch bei einem Umstieg (oder Paralellentwicklung oder sonstwas) das gleiche Schema behalten kannst und es gibt jede Menge Programme, die mit dem Standard umgehen können. Zum Beispiel bequeme Editoren für die Sprachdateien. Das ist besonders dann praktisch, wenn du deine Sprachdateien an andere Leute zum Übersetzen verschickst... > > regards, Ringo Yannik
php::bar PHP Wiki - Listenarchive