Gibt es eine einfache Möglichkeit, programmatisch eine Liste aller Nachrichten-IDs in einer .MO-Datei?

StackOverflow https://stackoverflow.com/questions/1070641

  •  21-08-2019
  •  | 
  •  

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);
}
War es hilfreich?

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
scroll top