2009-07-01 54 views
0

我有一个很大的'.po文件,它包含我所需的PHP应用程序所需的所有面向用户的字符串。我想知道是否有PHP函数可用于获取存储在.po或.mo中的所有msgid字符串的列表。有没有一种简单的方法来编程列出.MO文件中的所有消息ID?

我没有看到发布的PHP函数。任何人都知道类似的东西,或者我必须自己手动解析我的.po文件吗?

这是我最佳看到:

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

回答

0

没有收到任何解答,我假设没有API调用来为我做。但是,从.po文件中提取msgid字符串几乎是微不足道的:

$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); 
} 
相关问题