web-dev-qa-db-ja.com

2つの.po翻訳ファイルを組み合わせることができますか?

2つの.poファイルがあり、それぞれがソフトウェアの異なるブランチからのものです。

これらを1つの.poファイルに結合する必要があります。

2つのファイル間に重複があり、理想的な処理は、1つのファイルの文字列が(一貫して)優先されることです。

SUSEシステムを使用しているため、Web検索で見つけたmanページによると、-output-fileは、Sunバージョンの重複を無視/マージする動作をしていないようです。 (Sunのマシンは手元にありません!)

25
fooquency

探しているのはmsgcat utilで、指定されたPO辞書を連結してマージします。

これはgettext utilsの一部です。詳細については、 msgcatのgettextマニュアルページ を参照してください。

33
sorin

poeditを使用できます。現在のpoファイルをマージするには、それを開いてクリックする必要があります。

  • カタログ> POTファイルからの更新。
  • フィルタをすべてのファイルに設定し、second.poファイルを選択します

Poeditは新しい文字列と廃止された文字列を表示します

11
user2306934

msgmergeを使用します:

msgmerge [old_file.po] [new_file.po] > output.po

私にとっては機能しますが、ばかげたマージを行うことに注意してください。つまり、old_fileのエントリを破棄します(新しいファイルが古いファイルを上書きします)。

2
Ivan