Ich folge den Anweisungen von bryanh Antwort hier: gettext() equivalent in Intl library? und versuchen, Lokalisierung (Übersetzung) mit php-intl zu implementieren, aber ich halte das gleiche Problem dieser Person hatte immer: ResourceBundle returns NULL without any errors being raisedWie erstelle ich ICU-Ressourcendateien für die Verwendung in PHP?
Er erwähnt schuf er die dat-Dateien mit einem Werkzeug (das ich nicht herausfinden kann, wie man arbeitet), während die Person in der ehemaligen Antwort scheint, txt-Dateien mit einer .res-Erweiterung zu verwenden.
Wie kann ich die Lokalisierung mit php-intl und ResourceBundle richtig implementieren, und was mache ich falsch?
Das Ziel ist es, verschiedene Datendateien mit verschiedenen Sprachen zu haben, so dass ich etwas ähnliches wie
$t = new Translator();
$t->setResource(new \ResourceBundle('es', 'locales_folder/'));
$t->echo("somestring"); // "el stringo"
..much wie die Person in der ersten Antwort hatte tun können. Das Ziel ist auch, leicht bearbeitbare Dateien zu haben, damit ich sie für Korrekturen, Updates usw. an Übersetzer weitergeben kann. Ich weiß, ich könnte dies leicht mit benutzerdefinierten Lösung durch eine einfache Textdatei tun, die geparst und in Memcache auf erste Anfrage gespeichert wird, wo es dann bleibt und bedient wird, ohne die .dat-Dateien neu zu lesen, aber ich würde lieber Nehmen Sie die vorgeschlagene Route hier.
Edit: Nur um es rauszubekommen - ich habe dasselbe mit Gettext erfolgreich implementiert und es war einfach - außer einem Fehler, der über Linux-Systeme hinweg besteht (http://www.php.net/manual/en/book.gettext.php#91187) - aber ich würde mich gerne auf die mehr verlassen moderne und all-inclusive Intl-Erweiterung, wenn möglich.
Danke, das würde tun. Da dies threadsicher sein soll, denke ich, dass es die Lösung ist, nach der ich gesucht habe. Jetzt muss ich nur meinen eigenen String Extractor schreiben und das sollte funktionieren. – Swader
Es wäre sehr nützlich, wenn Sie Ihre Erfahrung mit ihm teilen könnten, auch mit Ihrem String-Extraktor (vielleicht könnten Sie ihn sogar öffnen?). Danke im Voraus! – akirk
Da poedit automatisch für gettext extrahieren kann, dachte ich mir, ich könnte es einfach einem anderen Muster geben, nach $ t -> _ ($ string) zu suchen, das dann auch .mo und .po Dateien für diese Strings erzeugt. Alles, was ich dann tun müsste, ist ein Werkzeug zu schreiben, das diese in das RES-Format konvertiert, was ziemlich einfach klingt. Ich werde einen Blogbeitrag über die gesamte Tortur schreiben und ihn hier verlinken. – Swader