2009-07-01 2 views
0

У меня есть большой файл ol .po, содержащий все строки, обращенные к пользователю, которые мне нужны для моего PHP-приложения. Я хотел бы знать, есть ли функция PHP, которую я могу использовать, чтобы получить список всех строк msgid, хранящихся в .po или .mo.Есть ли простой способ программно перечислить все идентификаторы сообщений в .MO-файле?

Я не видел опубликованной функции PHP, которая делает это. Кто-нибудь знает что-то подобное, или мне придется вручную вручную разбирать мой файл .po?

Это то, что я бы оптимально хотел бы видеть:

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

ответ

0

Не получив никаких ответов, я предполагаю, что нет API вызова, чтобы сделать это для меня. Тем не менее, почти тривиально извлекать строки из файла .po вместо:

$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); 
}