Gibt es eine einfache Möglichkeit, programmatisch eine Liste aller Nachrichten-IDs in einer .MO-Datei?
Frage
Ich habe eine große ol‘.po Datei, die alle Benutzer gerichteten Zeichenketten enthalten, die für ein PHP-Anwendung benötigen. Ich würde gerne wissen, ob es eine PHP-Funktion ist kann ich eine Liste aller msgid Strings gespeichert in der .po oder .mo bekommen verwenden.
Ich habe nicht veröffentlicht PHP-Funktion sehen, dass dies der Fall ist. wissen von jemand etwas ähnliches, oder muss ich manuell mein .po analysieren mich Datei?
Das ist das, was ich würde optimal sehen mag:
$msgids = magic_gettext_keys_function('mydomain');
foreach ($msgids as $msgid) {
do_something_awesome($msgid);
}
Lösung
noch keine Antworten erhalten haben, ich gehe davon aus es kein API-Aufruf ist es für mich zu tun. Allerdings ist es fast trivial die msgid Strings aus der .po-Datei zu extrahieren statt:
$path = $GLOBALS['LOCALE_DIR'] . '/en/LC_MESSAGES/mydomain.po';
$poSrc = file_get_contents($path);
preg_match_all('/msgid\s+\"([^\"]*)\"/', $poSrc, $matches);
$msgids = $matches[1];
foreach ($msgids as $msgid) {
do_something_awesome($msgid);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow