7

PHPにない場合、POファイルを構造化された形式(XMLなど)に変換するコマンドラインツールを使用できますか、またはPHPで簡単に処理できますか?

4

2 に答える 2

6

更新: 2018 年 5 月現在、最適なオプションは次のとおりです。

http://www.phptherightway.com#i18n_l10n_titleを参照してください。

幾つかある:

最後の 1 つは Drupal の一部であり、おそらく最も保守されているものです。

于 2013-05-24T21:46:15.293 に答える
2

単純な正規表現を使用すると、.PO/.POT ファイルを解析できます。私も最近似たようなことをしました。最近書いたスクリプトから次の正規表現を取得します。

$poMsgIdAndMsgStrRegex = '/^#\s*(.+?)\nmsgid "(.+?)"\nmsgstr "(.+?)"/m';

これは最後のコメント行をキャプチャするだけですが、これまでのところ私の目的には適しています。適応させる必要があるかもしれません。

とにかく、上記の正規表現を使用して、すべての文字列を一致の配列にpreg_match_all()キャプチャできます。配列を取得したら、任意の形式に配置できます。MsgIdMsgStr

これを行うためのライブラリがあるかもしれませんが、私は見たことがありません。

編集:「重複の可能性」コメントで参照されている .po ファイル .mo 形式を変換するための PHP クラスを確認することもできます。これで問題が解決するようには思えませんが (.po ファイルを XML に変換したいので)、とにかく調べる価値があります。とても助かりました。

于 2011-12-08T16:03:34.980 に答える