有没有一种简单的方法以编程方式列出一个.MO文件中的所有消息ID?
题
我有一个大醇”包含所有面向用户的字符串我需要为我的PHP应用程序.po文件。我想知道,如果有我可以用它来获取存储在的.po或.mo作为所有msgid字符串列表的PHP函数。
我没有看到发布的PHP函数,做到这一点。任何人都知道的类似的东西,否则我将不得不手工解析我的.po文件自己?
这就是我想最佳看到:
$msgids = magic_gettext_keys_function('mydomain');
foreach ($msgids as $msgid) {
do_something_awesome($msgid);
}
解决方案
由于没有收到任何解答,我假设没有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);
}
不隶属于 StackOverflow