WordPressの翻訳ファイルをマージするにはgettextツールのmsgmergeコマンドを使用する。
やりたかったことはテーマがバージョンアップしてpotファイルが更新された場合、古いpoファイルの翻訳内容を新しいpoファイルに反映したいということ。
poeditの有料版ツールならできるようだけれどこれだけのためにアップグレードするのはどうも気が引ける。
どうにかこのコマンドをwindows10で使いたい。
本家サイトは以下。windowsに関してはバージョンが古い模様。
gettext – GNU Project – Free Software Foundation (FSF)
方法を調べているとwindows10のPackageManager(Nuget)でインストールできるらしい。
作者はpoeditも手掛けている。readmeを読むとpoedit editorのspin-off projectとのこと。
以下はインストール手順のメモ。
1.Windows PowerShelを管理者モードで起動。
2.PackageProvider にNugetが定義されているか確認。
Get-PackageProvider
3.PackageProviderにNugetが登録されていなければNugetを定義
Get-PackageProvider -name Nuget
4.利用可能なパッケージを検索
Find-Package -name gettext.tools
5.パッケージのインストール
Install-Package -name gettext.tools
6.インストール先の確認とパス設定
残念なことに、このままコマンドは実行できない。
インストール先を確認して環境変数Pathにbinの場所を指定する。
インストール先は以下
C:\Program Files\PackageManagement\NuGet\Packages\Gettext.Tools.0.19.8.1\tools\bin
7.msgmergeを使ってみる
msgmerge ja.po xxx.pot -o ja-new.po