0

PHP アプリケーションに必要なすべてのユーザー向け文字列を含む、大きな古い .po ファイルがあります。.po または .mo に格納されているすべての msgid 文字列のリストを取得するために使用できる PHP 関数があるかどうか知りたいです。

これを行う公開された PHP 関数は見当たりませんでした。似たようなことを知っている人はいますか、それとも .po ファイルを自分で手動で解析する必要がありますか?

これは私が最適に見たいものです:

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

1 に答える 1

-1

まだ回答を受け取っていないので、それを行うための 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);
}
于 2009-07-01T19:37:53.903 に答える