Ich bin auf der Suche nach einer standardkonformen Methode zum Speichern mehrsprachiger Inhalte für eine Webanwendung. Bis jetzt habe ich meine eigenen "translate()" - Funktionen verwendet, die Daten aus einer Datei oder einer Dictionary-Tabelle in einer Datenbank lesen. Es ist jedoch sehr umständlich, die Wörterbücher in einer Datenbanktabelle auf dem neuesten Stand zu halten, wenn Sie mit verschiedenen Kopien der Webanwendung arbeiten.i18n mit gettext aber ohne die locale Hektik?
Ich mag gettext, weil es eine Vielzahl von Tools dafür gibt. Ich entwickle jedoch Anwendungen für verschiedene Plattformen. Ich bin absolut nicht bereit, mit den beschissenen Wegen von setlocale() und consorts umzugehen - nämlich den Dutzenden von verschiedenen lokalen Zeichenkettenvariationen, die sich von System zu System unterscheiden, die Sie bereitstellen müssen, damit es funktioniert. Niemals. Ich habe eine Reihe von Sprachen - sagen de, en und es - und ich möchte das entsprechende Wörterbuch laden und mit _() arbeiten, ohne setlocale() oder bindtexdomain() einmal zu berühren.
Ist das irgendwie mit gettext möglich? Oder kennt jemand eine andere einfache, kleine, schnelle (!) I18n-Lösung für PHP, die mit .po/.mo-Dateien arbeiten kann, vorzugsweise ohne eine PHP-Erweiterung zu benötigen?
Es ist praktisch nicht möglich, Gettext in PHP zu verwenden, ohne Gettext-Erweiterung zu verwenden, aber keine Sorge, das ist eine übliche/Standard-Erweiterung von PHP und die meisten Installationen haben es bereits aktiviert. – sorin
@Sorin: Es ist möglich, gibt es eine native PHP-Implementierung mit den meisten, wenn nicht alle, die Gettext-Funktionen. –
@votingmeisfree wordpress und cakephp, um nur einige zu nennen, verwenden po und mo-Dateien ohne Gettext-Implementierung. Sie öffnen die Datei direkt. – T0xicCode