2009-07-25 8 views
3

.po(ポータブルオブジェクト)を.mo(マシンオブジェクト)ファイルに変換できるPHPスクリプトが必要ですか? はPHPで利用可能なスクリプトですか?.poから.moへのコンバータのPHP?

   byte 
       +------------------------------------------+ 
      0 | magic number = 0x950412de    | 
       |           | 
      4 | file format revision = 0     | 
       |           | 
      8 | number of strings      | == N 
       |           | 
      12 | offset of table with original strings | == O 
       |           | 
      16 | offset of table with translation strings | == T 
       |           | 
      20 | size of hashing table     | == S 
       |           | 
      24 | offset of hashing table     | == H 
       |           | 
       .           . 
       . (possibly more entries later)   . 
       .           . 
       |           | 
      O | length & offset 0th string ----------------. 
     O + 8 | length & offset 1st string ------------------. 
       ...         ... | | 
O + ((N-1)*8)| length & offset (N-1)th string   | | | 
       |           | | | 
      T | length & offset 0th translation ---------------. 
     T + 8 | length & offset 1st translation -----------------. 
       ...         ... | | | | 
T + ((N-1)*8)| length & offset (N-1)th translation  | | | | | 
       |           | | | | | 
      H | start hash table       | | | | | 
       ...         ... | | | | 
    H + S * 4 | end hash table       | | | | | 
       |           | | | | | 
       | NUL terminated 0th string <----------------' | | | 
       |           | | | | 
       | NUL terminated 1st string <------------------' | | 
       |           |  | | 
       ...         ...  | | 
       |           |  | | 
       | NUL terminated 0th translation <---------------' | 
       |           |  | 
       | NUL terminated 1st translation <-----------------' 
       |           | 
       ...         ... 
       |           | 
       +------------------------------------------+ 

これらの情報からmoファイルを作成できますか?

答えて

2

私はそれを試していませんが、これはPEAR packageのように見えます。それは維持されていませんが、あなたは新しいメンテナーになることができますか?

もしあなたがPythonを読むことができるなら、their msgfmt.pyスクリプトをPHPに変換することで刺すことができます。たった200行ほどです。

+0

偉大な男、その本当に有用な... 私はチェックさせていただきありがとうございます。 – coderex

4

exec()などを使用してmsgfmtを実行できます。私はそれを行うためのPHPの唯一の方法があるかどうかはわかりません。

+1

あなたは正しいことを確実にしたいなら、これは最善のアプローチであるべきだと思います。他のソリューションは、あなたの生産性を低下させる可能性のある新しいバグをもたらす可能性があります。 – sorin

関連する問題