2009-07-01 6 views
0

J'ai un grand fichier ol '.po contenant toutes les chaînes 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 le .po ou le .mo.Existe-t-il un moyen facile de répertorier par programme tous les ID de message dans un fichier .MO?

Je n'ai pas vu de fonction PHP publiée qui le fait. Quelqu'un sait quelque chose de similaire, ou devrais-je manuellement analyser mon fichier .po moi-même?

C'est ce que je voudrais voir au mieux:

$msgids = magic_gettext_keys_function('mydomain'); 
foreach ($msgids as $msgid) { 
    do_something_awesome($msgid); 
} 

Répondre

0

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 d'extraire les chaînes 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); 
} 
Questions connexes