Mailinglisten-Archive |
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;
> }
> - 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?
regards, Ringo
php::bar PHP Wiki - Listenarchive