有没有一种简单的方法以编程方式列出一个.MO文件中的所有消息ID?

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

  •  21-08-2019
  •  | 
  •  

我有一个大醇”包含所有面向用户的字符串我需要为我的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);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top