不完全な gettext .potファイルから開始したため、結果の.po翻訳ファイルには、元は.potファイルに含まれていなかった多数の翻訳文字列が含まれるようになりました。
翻訳された.poファイルから他の言語 (空白の翻訳エントリを持つ文字列) の.potファイルを逆生成するにはどうすればよいですか?
ご協力いただきありがとうございます。
次のようなものを使用できます。
msgfilter -i xx.po -o new.pot true
msgfilter
ファイル内のすべての翻訳にプログラムを適用し、true
入力に対して何も出力しないプログラムです。
この後、実際に新しい POT ファイルのように見せるために、ヘッダー コメントを少し修正する必要があるでしょう。
これを行う方法を理解するのに何年もかかりましたが、最終的にはメモ帳 ++ を使用して解決策を見つけました。検索|置換...メニューから、すべてを正規表現で置換できました。
探す:msgstr ".*"
と置換する:msgstr ""
あなたはそうしない。ソース コードから .pot ファイルを生成します。msgmerge
次に、新しい .pot ファイルと既存の .po ファイルを取得し、古いエントリを新しいファイルにマージします。
質問の横にあるのは、フルフィルされた .po ファイルの翻訳から .pot ファイルを作成する vim 置換コマンドです。
:%s/msgid\_.\{-\}msgstr \(\(". "\_.\) \)/msgid\1msgstr ""\r/