Y at-il un moyen facile de lister tous les ID programme de message dans un fichier .mo?

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

  •  21-08-2019
  •  | 
  •  

Question

J'ai un grand ol » .po fichier contenant toutes les chaînes faisant face à l'utilisateur dont j'ai besoin pour mon application PHP. Je voudrais savoir s'il y a une fonction PHP que je peux utiliser pour obtenir une liste de toutes les chaînes msgid stockées dans la .po ou .mo.

Je ne vois pas une fonction PHP publiée qui fait cela. Quelqu'un sait de quelque chose de semblable, ou devrai-je analyser manuellement mon .po moi-même fichier?

est ce que je voudrais voir au mieux:

$msgids = magic_gettext_keys_function('mydomain');
foreach ($msgids as $msgid) {
    do_something_awesome($msgid);
}
Était-ce utile?

La solution

Ne pas avoir reçu de réponses encore, je suppose qu'il n'y a pas appel API pour le faire pour moi. Cependant, il est presque trivial pour extraire les chaînes de msgid à partir du fichier .po à la place:

$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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top