Poeditの使い方: 完全ガイド (2026)

プレーンテキストエディタで.poファイルを開いたことがある方なら、その気持ちはよくお分かりでしょう。何百ものmsgidとmsgstrのペア、あちこちに散らばるファジィフラグ、そしてたった1回のタイプミスでカタログ全体を壊してしまうリスク。もっと良い方法があります。そして、10年以上にわたり、その標準的な答えは同じデスクトップアプリケーション、Poeditでした。
このPoeditチュートリアルでは、アプリのインストールから最初の.moファイルのコンパイルまで、すべてを順を追って説明します。WordPressテーマ、プラグイン、あるいは独自のGettextベースのプロジェクトを翻訳している場合でも、Poeditは生のファイル形式を隠し、実際の翻訳作業に集中できるクリーンなビジュアルエディタを提供します。
このガイドを読み終えるまでに、Poeditのインターフェースを理解し、.potテンプレートから翻訳を開始する方法、翻訳メモリを使用して作業を高速化する方法、そして無料のデスクトップツールが非効率になる正確なポイントを認識できるようになるため、代わりにクラウドワークフローを利用すべき時がわかるようになります。
Poeditとは?インストール方法
Poeditは、Gettext翻訳ファイル(.po、.pot、およびコンパイルされた.mo)用の無料のクロスプラットフォームデスクトップエディタです。macOS、Windows、Linuxで動作し、翻訳カタログを手動で編集する人にとって最も広く推奨される出発点です。
インストールは簡単です。Poeditの公式ウェブサイトにアクセスし、お使いのOS用のインストーラーをダウンロードするか、パッケージマネージャーを使用してください。
# macOS (Homebrew)
brew install --cask poedit
# Debian / Ubuntu
sudo apt install poedit
# Windows (winget)
winget install Poedit.Poedit
無料版は、基本的な編集体験を完全にカバーしています。有料のPoedit Proティアでは、ソースコードスキャンと事前翻訳が追加されますが、これについては後で説明します。今のところ、無料ダウンロードだけで任意のカタログを開いて編集できます。
作業に取り掛かる前に、編集ツールの全体像を把握したい場合は、MacとWindowsでPOファイルを編集・翻訳するための無料ツール トップ5のまとめで、Poeditと主要な代替ツールを比較しています。
Poeditインターフェースを理解する
.poファイルを開くと(ファイルメニューから「開く」を選択するか、ファイルをウィンドウにドラッグするだけです)、Poeditは、基盤となるGettextの構造に直接対応する3つのゾーンレイアウトを表示します。
ソースペインと翻訳ペイン
メインエリアは2列のリストです。左の列には、開発者がコードに記述したとおりのソース文字列(msgid)が表示されます。右の列には、あなたの翻訳(msgstr)が表示されます。いずれかの行をクリックすると、下の編集パネルに読み込まれ、そこで翻訳されたテキストを入力します。
ファイル内の次の生の項目を考えてみましょう。
#: includes/checkout.php:142
msgid "Your order has been placed."
msgstr ""
Poeditでは、同じ項目が1行として表示されます。左にソース、右に空の翻訳セル。生の構文に触れることはありません。下部のパネルに入力するだけで、Poeditがmsgstrを書き込みます。
ファジィフラグとステータス色
Poeditは行を色分けするため、カタログの状態を一目で確認できます。未翻訳の文字列は目立ち、ソースが変更されたか翻訳が自動一致したためにファイル内で#, fuzzyとマークされたファジィ文字列は、異なる色(通常はオレンジまたは黄色)で表示されます。ファジィ文字列は基本的に「レビューが必要」というフラグです。WordPressはライブサイトではそれらを表示しないため、それらをクリアすることが重要です。翻訳が正しいことを確認したら、1つのショートカットで任意の行のファジィ状態を切り替えることができます。
下部のステータスバーには、進捗状況(合計文字列数、翻訳済み文字列数、ファジィまたは未翻訳のままの文字列数)が表示されます。
下部の編集パネルには、役立つコンテキストも表示されます。ソース参照コメント、文字列が使用されているコード行(例:#: includes/checkout.php:142)、およびファイルに残された開発者メモが表示されます。「Order」のような短い文字列が名詞にも動詞にもなりうる場合、これらのコメントは非常に貴重です。ソース参照は、それがどのファイルと機能に属するかを教えてくれるため、最初から正しく翻訳できます。このコンテキストを数秒間読むだけで、正確なカタログと、不自然で場違いな言い回しでいっぱいのカタログとの違いが生まれます。
POTファイルから新しい翻訳を開始する方法
.potファイルは、すべてのソース文字列と空の翻訳を含むテンプレートです。新しい言語を開始するには、.potを直接編集するのではなく、そのテンプレートから.poを作成します。
Poeditで、「ファイル」メニューから「POT/POファイルから新規作成」を選択し、テーマまたはプラグインの.potファイル(通常は/languagesフォルダ内)を選択し、目的のターゲット言語を選びます。Poeditは言語を尋ね、例えばドイツ語の場合はde_DE.poのように、正しいファイル名規則で新しいカタログを生成します。
カタログとPlural-Formsヘッダーの設定
すべての.poファイルにはヘッダーブロックがあり、正確性のために最も重要なフィールドはPlural-Formsです。この式は、ある言語がいくつの複数形バリアントを必要とし、特定の数に対してどれを選択するかをGettextに指示します。
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
英語は2つの形式を使用します。ポーランド語やロシア語のような言語は3つ以上を必要とし、このヘッダーが間違っていると文法的に壊れた数値を生成します。Poeditは言語を選択した際に適切なデフォルトを設定しますが、「カタログ」メニューから「プロパティ」で確認・編集できます。このヘッダーがなぜ間違えやすいのかについて深く理解したい場合は、Gettextの複数形と複雑な複数化の扱い方に関するガイドを参照してください。
カタログプロパティでは、プロジェクト名、翻訳者名とメールアドレス、言語チーム、および文字セットも設定できます。文字セットはほとんどの場合UTF-8であるべきです。それ以外の場合、アクセント付き文字や非ラテン文字が破損するリスクがあります。Poeditは新しいファイルではデフォルトでUTF-8を使用しますが、古いカタログを引き継ぐ場合は確認する価値があります。最初にヘッダーを正しく設定しておくことで、後で作業をやり直す手間を省けます。
設定が完了したら、リストを順番に作業し、各行を翻訳するだけです。Poeditはあなたの位置を自動保存するため、カタログの途中でアプリを閉じても、中断した場所から正確に再開できます。長いカタログの場合、次の未翻訳または次のファジィ文字列にジャンプするキーボードショートカットを使用すると、スクロールせずに作業を進められ、これは手動編集で最も時間を失う部分です。
翻訳メモリと無料版 vs Pro版の境界
Poeditの最も便利な機能の一つは、翻訳メモリ(TM)です。翻訳を進めるにつれて、Poeditはすべてのソースと翻訳のペアを記憶します。次回、同一または類似のソース文字列が、同じファイル内または異なるプロジェクトで現れた場合、Poeditは以前の翻訳を自動的に提案します。数ヶ月の作業を通じて、これは個人のデータベースを構築し、「保存」、「キャンセル」、「カートに追加」といった繰り返しのUI文字列の作業を劇的に高速化します。
TMの提案は編集パネルに表示され、キーボード操作で受け入れることができます。TMによって入力された項目はデフォルトでファジィとマークされることが多いので、フラグを解除する前に確認する必要があります。
Poedit Proで追加される機能
無料エディタは手動翻訳を完全に処理します。Poedit Pro(有料アップグレード)は、以下の2つの主要な機能を追加します。
- ソースコードスキャン: Pro版は、PHPまたはJavaScriptのソースをスキャンし、すべての
__()および_e()Gettext呼び出しを見つけ、新しい.potを抽出したり、既存のカタログを更新したりできます。コマンドラインは不要です。 - 事前翻訳: Pro版は、カタログ全体の機械による事前翻訳を提供しますが、これは有料のクレジットベースモデルで動作します。クレジットを購入する必要があり、大規模なカタログではすぐに消費されます。
単一言語で控えめなカタログの場合、Pro版は便利です。正直なところ、その限界はスケールにあります。事前翻訳クレジットはかさみ、ワークフローは依然として基本的に1ファイル、1言語、1デスクトップセッションずつです。
翻訳メモリが何をするのか、何をしないのかを明確にすることも重要です。TMは、あなた(または共有チームデータベース)が以前に作成した翻訳のみを提案します。履歴のない全く新しいプロジェクトの場合、メモリは空なので、手動でかなりの部分を翻訳するまでは何も提案しません。TMは繰り返し出現する文字列を高速化しますが、全く新しいコンテンツを翻訳するわけではありません。この区別は、新しいカタログにどれくらいの時間がかかるかを推定する際に重要です。なぜなら、最初の言語は常に最も時間がかかり、その文字列が重複しない限り、それ以降の言語はすべて白紙の状態から始まるからです。
作業の保存とMOファイルのコンパイル
.poファイルを編集しただけなのに、なぜWordPressは.moファイルを必要とするのでしょうか?それは、WordPressが実行時に人間が読める.poではなく、コンパイルされたバイナリの.moを読み込むためです。良いニュースは、Poeditがこれを自動的に処理してくれることです。
保存を押すと、Poeditは.poを書き込み、デフォルトで同じフォルダに一致する.moをコンパイルします。
# After saving in Poedit you get both files:
wp-content/languages/themes/
storefront-de_DE.po # editable source
storefront-de_DE.mo # compiled binary WordPress loads
保存しても.moが生成されない場合は、「環境設定」から「一般」を確認し、「保存時にMOファイルを自動的にコンパイル」が有効になっていることを確認してください。.moファイルがない、または古いことは、完成した翻訳がライブサイトに表示されない最も一般的な理由の一つです。この問題にぶつかった場合は、WordPressで翻訳が表示されない場合のトラブルシューティングガイドで完全なチェックリストをカバーしています。
Poeditでは不十分な場合:デスクトップを超えたスケール
Poeditは、その役割においては優れています。つまり、正確で手動の単一ファイルエディタです。しかし、ニーズが拡大した瞬間に問題が生じます。1つのプラグインを12の言語に翻訳するということは、12回の異なるセッションを意味します。数千の文字列を持つ10MBのカタログは、何時間ものタイピング作業、または事前翻訳クレジットを消費することを意味します。また、手動編集では、%sや%1$sのようなプレースホルダーを誤って扱ってしまい、気づかないうちに表示を壊してしまうリスクが常に伴います。
まさにここで、クラウドワークフローが引き継ぎます。SimplePoTranslateは、あなたのカタログをコンテキスト認識AIと構文ロック(%s、%1$s、{name}、およびHTMLタグをすべて固定し、翻訳中に構造が壊れることがないようにする)を通して実行します。スマートバッチングは、手動での分割なしに10MB以上のファイルを処理し、.po、.mo、.json、.php、および.xliffを含むすぐにデプロイ可能なZIPとして結果を一度に取得できます。すべてクラウド上で、デスクトップインストールや余分なものはありません。
Poeditは、その最も得意な微調整とレビューの作業に使用してください。多くの言語で一括での速度が必要であり、プレースホルダーの安全性を損ないたくない場合は、クラウドを使用してください。
デスクトップエディタで何時間も費やすことなく、カタログ全体を何十もの言語に翻訳する準備はできていますか?SimplePoTranslateを無料で試す — クレジットカードは不要です。無料ティアでは、最初の
.poファイルを数分で翻訳でき、すべての文字列に構文ロックが適用されます。