Serge.io PO
継続的ローカリゼーションに推奨。#: コメント内の一意の文字列 ID をキーにセグメントを管理するため、再アップロード時にはソースが変更されたセグメントのみが再処理されます。
- 修正履歴とコメントは更新後も保持
- 変更のない文字列は Smartwords を消費しない
- ID が重複している場合はエラーでアップロードを停止
POファイルをオンラインで翻訳:gettextの.poまたは.potファイルをアップロードし、AIとご自身のレビュー担当者で翻訳して、すべての言語に対応したビルド準備完了のPOファイルをエクスポートします。
%s や {名前} のような変数はロックされたタグになり、複数形と文脈マーカーはそのまま維持され、Serge.io POパーサーを使用すると、再アップロード時に変更された列のみが再処理されます。
世界最大の会社のうち80社以上がSmartcatを選択しています
PO(Portable Object)ファイルは、Python、PHP、WordPress、Django、Drupal のプロジェクトを支える国際化システム GNU gettext で使われるプレーンテキストの翻訳ファイルです。PO ファイル形式では、各エントリーがソース文字列(msgid)とその翻訳(msgstr)をペアにしているため、1つの PO ファイルには1つの言語が含まれます。
コードから POT テンプレートが生成され、それを基に言語ごとの PO ファイルが作成されます。そしてビルド時に、すべての PO ファイルがアプリケーションで読み込まれるバイナリの MO ファイルにコンパイルされます。Smartcat のソフトウェアローカリゼーションプラットフォームは、PO ファイルと POT ファイルをバイリンガルファイルとして翻訳します。msgid がソースとして取り込まれ、翻訳は msgstr に書き戻されます。
.po:1つの言語のソースと翻訳を並べて格納
.pot:ソースコードから抽出された空のテンプレート
.mo:アプリケーションが実際に読み込むコンパイル済みバイナリ
3
POパーサー
デフォルトPO、Serge.io PO、モノリンガルPO:ファイルがどのようにビルドされているかに一致するものを選択してください。
92%
編集なしで承認されました
Smartcat AIによって翻訳されたワードの92%が、人による編集を一度も受けることなく承認されています。
280+
言語
同じプロジェクト内で、1つのPOファイルを280以上の言語に翻訳します。
#. Shown when the cart is empty
#: src/cart.py:42
msgctxt "cart"
msgid "Your cart is empty"
msgstr "Votre panier est vide"
#: src/cart.py:57
msgid "%d item in your cart"
msgid_plural "%d items in your cart"
msgstr[0] "%d article dans votre panier"
msgstr[1] "%d articles dans votre panier"
#: src/account.py:12
msgid "Hello, {name}!"
msgstr "Bonjour, {name} !"msgstr:翻訳済み
Smartcat は承認済みの各翻訳を msgstr に書き込みます。複数形の形ごとに1つの値です。
%d と {name}:ロックされたタグ
%d と {name} は保護されたタグとしてインポートされ、翻訳者は移動できますが、変更や削除はできません。
#. コメント:翻訳者向けのコンテキスト
#. コメントはエディターでセグメントの横に表示されます。#: 参照は、Serge.io パーサーがキーとして使用する文字列 ID です。
msgid と msgctxt:そのまま保持
msgid、msgctxt、msgid_plural は、ファイル内の状態がそのまま保たれます。
一般的な翻訳ツールでは、gettextのエントリーではなくテキストとして認識されるため、POファイルが破損します。それらは翻訳者に%dのような変数を編集させ、再インポートのたびにレビュー履歴を破棄し、未レビューのmsgstr値を出荷してしまいます。SmartcatはPOファイル自体を操作するため、各不具合の修正はファイル内で行われます。
msgid のテキストが、周囲のファイル情報なしで汎用翻訳ツールに入力されます。
Smartcat はエントリーをソースとターゲットとして読み込み、言語ごとに1つのバイリンガルファイルを作成します。
翻訳者が %d や {name} を変更してしまい、エクスポートはレビューを通過しても実行時にエラーになります。
%s、%d、{name}、{0} は移動できますが、変更や削除はできません。
ファイル全体を再インポートすると、レビューコメントが削除され、変更されていない文字列にも課金されます。
Serge.io PO パーサーを使えば、変更されたセグメントのみが再処理・課金されます。
誰も検証していない msgstr の値が、チームの誰も読めない言語で残ります。
社内のレビュアーまたはマーケットプレイスの言語専門家が、同じエディターで各セグメントを確認します。
Smartcat、Phrase、Crowdin、Lokaliseはすべて、gettext POファイルをインポートします。2回目のアップロードで違いが生じます。SmartcatではファイルごとにPOパーサーを選択でき、エントリーに列IDが付与されている場合はレビュー履歴が保持され、変更された列に対してのみ請求が行われます。
| 機能 | Smartcat | Phrase | Crowdin | Lokalise |
|---|---|---|---|---|
| PO / POT のインポートとエクスポート | ✓ .po と .pot をバイリンガルファイルとして処理。エクスポート時に翻訳済みの msgstr を書き戻し | ✓ ドキュメントに記載あり(.po、.pot、.mo) | ✓ ドキュメントに記載あり | ✓ ドキュメントに記載あり |
| ファイルごとのパーサー選択 | ✓ 3種類のパーサー:Default PO、Serge.io PO、Monolingual PO | ~ インポート形式のオプション | ~ ドキュメントに記載なし | ~ ドキュメントに記載なし |
| 文字列 ID をキーにした再インポート | ✓ Serge.io PO パーサー:変更されたセグメントのみを再処理。コメントと履歴は保持 | ~ ドキュメントに記載なし | ~ ドキュメントに記載なし | ~ ドキュメントに記載なし |
| 再アップロード時は変更された文字列分のみ支払い | ✓ 変更のないセグメントは Smartwords を消費しない | ~ ドキュメントに記載なし | ~ ドキュメントに記載なし | ~ ドキュメントに記載なし |
プレースホルダーの保護(%s、%d、{name}) | ✓ プリセットに基づくロックされたタグ。翻訳者は変更も削除もできない | ✓ ドキュメントに記載あり | ✓ ドキュメントに記載あり。自動検出と検証付き | ✓ ドキュメントに記載あり |
複数形(msgid_plural) | ✓ 対応 | ✓ ドキュメントに記載あり | ✓ ドキュメントに記載あり | ✓ ドキュメントに記載あり。同社のドキュメントによれば複数形ヘッダーは手動で追加 |
コンテキストマーカー(msgctxt) | ✓ 対応 | ✓ ドキュメントに記載あり(キーのプレフィックスとして) | ✓ ドキュメントに記載あり | ✓ ドキュメントに記載あり |
| プロの言語専門家が集まるマーケットプレイスを内蔵 | ✓ 審査済みの言語専門家が同じワークフロー内でレビュー | ✗ 提供なし | ~ ベンダーディレクトリ | ✗ 提供なし |
| 価格モデル | 使用量ベースの Smartwords | シート単位のプラン | プランのティア | シート単位のプラン |
Phrase、Crowdin、Lokalise の各欄は、2026年8月時点で各ベンダー自身の公開ドキュメントに記載されている内容に基づいています。✓ ドキュメントに記載あり、または対応 · ~ 一部対応、またはドキュメントに記載なし · ✗ 提供なし。すべての製品名はそれぞれの所有者の商標です。FAQ の下にある商標に関する注記をご覧ください。
POファイルを翻訳するには、ターゲット言語を設定してSmartcatプロジェクトを作成し、.poまたは.potファイルをアップロードして、AIにすべてのエントリーの下書きを作成させ、エディターでレビューを行い、言語ごとに翻訳済みPOファイルをエクスポートします。オプションの完全な参照はヘルプセンターにあります: SmartcatでのPOファイルの翻訳。
Smartcat でプロジェクトを開き、アプリが対応するすべてのターゲット言語を選択します。

Smartcat は形式を検出して PO の設定を開きます。パーサー(文字列 ID を含むファイルには Serge.io PO)、プレースホルダーの保護、HTML タグの保護を設定できます。

AI が翻訳メモリと用語集を使い、各複数形を含むすべてのエントリーを翻訳します。

社内のレビュアー、または Smartcat マーケットプレイスで依頼した言語専門家がセグメントを編集・確認します。作業中は QA チェックが実行されます。

Smartcat は翻訳を msgstr に書き戻し、言語ごとに有効な PO ファイルを返します。そのまま msgfmt でコンパイルできます。

これは、私たちの初期のAI投資案件の一つでした。かつては何週間もかかっていたことが、今では数分で終わるようになりました。品質を犠牲にすることなく、翻訳コストを年間で優に6桁(数十万ドル)保存してくれます。
”ケーススタディを見る →
SmartcatのPOファイル翻訳ソフトウェアは、3つの方法で翻訳済みファイルのビルド可能な状態を維持します。各msgidがきれいにそのmsgstrに対応付けられ、変数はタグとして固定され、翻訳者はすべての列の背景にある開発者のコメントを確認できます。
SmartcatはPOファイルをバイリンガルファイルとして処理します。msgidは出典セグメントとしてインポートされ、msgstrが存在する場合はターゲットとしてインポートされます。
エクスポート時には、すべてのmsgstrがエディターからの翻訳で更新され、言語ごとに1つずつ、ビルドに使用できる有効なPOファイルが戻ります。インポートおよびエクスポートのオプションはヘルプセンターに記載されています: SmartcatでのPOファイルの翻訳。
代用語のインポートを有効にすると、Smartcatはワークスペースの代用語プリセットに従って、%s、%d、{名前}、{0}を保護されたタグに変換します。
翻訳者はそれらを移動できますが、変更や削除はできないため、破損した変数がビルドに到達することはありません。JSON翻訳者も同様に、ロケールファイル内の代用語をロックします。
各列の上にあるコメント(抽出ツールが書き込む #. 行)は、エディター内でセグメントのコメントとしてインポートされます。
翻訳者は、単なる文の断片から推測する代わりに、列自体の次へ「カートが空のときに表示」と確認できます。XML翻訳者は、同様の方法でXMLコメントをエディターに取り込みます。
Smartcatは3つのパーサー、ネイティブのmsgid_pluralおよびmsgctxtサポート、そしてタグとしてロックされた代用語とHTMLを使用してPOファイルを処理します。すべてはPOファイル自体の上で実行され、別々のツール間でのエクスポートやインポートの繰り返しは一切ありません。
Smartcat ではファイルごとにパーサーを選択できます。パーサーによって、更新、履歴、コストの扱いが決まります。
継続的ローカリゼーションに推奨。#: コメント内の一意の文字列 ID をキーにセグメントを管理するため、再アップロード時にはソースが変更されたセグメントのみが再処理されます。
文字列 ID のない単発のファイル向け。有効な PO ファイルであれば何でも処理できますが、再アップロードするとドキュメントが置き換えられます。
再アップロード時には、そのドキュメントの修正履歴とコメントが削除されます。
限られたパイプライン向け。ターゲット文字列(msgstr)のみをインポートし、エディターにはソーステキストが表示されません。
ほとんどのチームでは選択する必要はありません。
汎用翻訳ツールが壊してしまう PO エントリーの要素と、Smartcat がそれらを保持する仕組み。
対応しています。Smartcat は msgid_plural を含むエントリーとその msgstr[n] バリアントをインポートするため、文字列の複数形ごとに個別の翻訳が作成されます。
対応しています。msgid が同じでも msgctxt が異なる2つのエントリーは、別々のセグメントとして個別に翻訳されます。
.pot テンプレートをアップロードすると、Smartcat がプロジェクトの任意の言語に翻訳し、言語ごとに PO ファイルを返します。必要な複数形の数は言語によって異なります。英語とフランス語は2つ、ポーランド語とロシア語は3つ、アラビア語は6つの msgstr 形を使い、それぞれの形に個別の翻訳が作成されます。
msgfmt でコンパイルする前に、エクスポートした各ファイルの Plural-Forms 行を確認してください。
Smartcat は HTML プレースホルダーをそのまま保持します。「HTML タグを保護」をオンにすると、<b> や <a href> などのマークアップは、編集可能なテキストではなくエディター内のロックされたタグになります。
タグとしてロック
ファイル内にすでにある msgstr の値をインポートし、未確認の下書きとして残す、選択したワークフローステージで確認済みにする、または編集できないようにロックすることができます。
プロジェクトの言語に翻訳するか、各ファイル自体の Language: ヘッダーでターゲットを決定できます。
継続的なワークフローを導入する前に、自社のパイプラインと照らし合わせて確認してください。
各エントリーの #: コメントには一意の ID が必要です。抽出ステップでまだ参照コメントを書き出していない場合は、先にビルドで有効にしてください。ID が重複しているとアップロードが失敗するため、ソースで修正してから再度アップロードしてください。
ID のないファイルではデフォルトのパーサーが使われます。再アップロード時にはドキュメント全体が置き換えられ、そのドキュメントの修正履歴とコメントは失われます。
PO のアップロードでは、他の形式にあるようなセグメンテーション設定は利用できません。各セグメントはファイル内のエントリーに対応します。
承認されたすべての文字列は共有メモリに蓄積され、用語集によって UI 用語の一貫性が保たれます。そのため、1つのインターフェース内で「Sign in」が3種類の異なる動詞に訳されることはありません。
Smartcat はすべての PO エントリーを AI で自動翻訳します。その後、社内チームまたは Smartcat マーケットプレイスの審査済み言語専門家が同じエディターでレビューし、メモリは修正のたびに学習します。
同じワークスペースで、JSON、XML(こちらも文字列 ID がキー)、XLIFF、さらに他のチームから送られてくるドキュメントも扱えます。そのため、ソフトウェアの文字列もそれ以外のコンテンツも、1つのメモリと1つの用語集を共有できます。
各同僚が初稿から最終確認まで、POファイル翻訳の1つのステップを担当します。エクスポートする前に、レビュー担当者がすべての言語を承認します。
幕僚長
リリースに必要なPOファイルと言語をチーフ・オブ・スタッフに伝えると、それらを翻訳および確認する同僚を調整してくれます。
コンテンツ翻訳者の同僚
複数形を含むすべてのPOエントリーを、お客様の用語集と翻訳メモリを使用して280以上の言語に翻訳します。
コンテンツ更新の同僚
出典の変更が影響を与える列を見つけるのをヘルプし、新規または変更されたエントリーのみを再翻訳します。
レビュー担当の同僚
すべての言語について、流暢さ、トーン、UI用語を事前にレビューするため、レビュー担当者はゼロから作業することなく、完成度の高いドラフトを承認できます。
品質保証担当の同僚
エクスポートする前に、翻訳された各ファイルに対して用語、タグ、正確性のエラーがないかチェックし、品質スコアを付与します。
WebアプリまたはSmartcat REST APIを介してPOファイルをアップロードするか、Serge.io POパーサーを使用して継続的なローカリゼーションを実行します。GitおよびCLIを介したキーコレクションの同期は、JSON、YAML、Android XML、およびiOSの.列に対応しています。すべての統合を見る
KaseyaはGitHubからUIの列をSmartcatに同期し、初日に10以上の言語でローンチします。Huelは、Web、CRM、広告のローカライゼーションをSmartcat上で運用しています。以下の各番号は、それが由来するケーススタディの名前を示しています。
「私たちは初日からグローバルにローンチします。英語版を先に出して後からローカライズするのを待つことはありません。すべてが同時に準備できています。」

開発者がPOファイルをSmartcatに移行する前に尋ねる質問は4つあります。それは、すでに利用している代理店はどうなるのか、代用語は保持されるのか、再アップロードの費用はいくらかかるのか、そしてSmartcatが.moファイルを出力するかどうかです。
信頼している言語専門家はそのままに。レビュアーとして Smartcat に招待するか、Smartcat マーケットプレイスで審査済みの言語専門家に依頼できます。AI がすべての PO エントリーを先に下訳するので、人はゼロから翻訳するのではなくレビューするだけです。
そうはなりません。%s、%d、{name}、{0} はロックされたタグになり、翻訳者は移動できても編集や削除はできません。また、それぞれエクスポート時に正確に復元されます。
タグとしてロック
Serge.io PO パーサーをご利用ください。ソースが変更されたセグメントのみが再処理・課金され、それ以外のすべてのセグメントではレビュー履歴が保持されます。
直接はできません。Smartcat は翻訳済みの PO ファイルをエクスポートします。MO へのコンパイルは自社のパイプラインで行います。言語ごとに msgfmt コマンドを1回実行するだけです。
はい。POファイルには、まだリリースされていない機能のUI列が含まれていることがよくありますが、Smartcatはそのコンテンツをあらゆる段階で保護します。詳細はSmartcatのセキュリティページをご覧ください。
ロールベースのアクセス制御
エンタープライズプランでは、プロジェクトの表示、翻訳、レビュー、承認を行えるユーザーを、チーム、役割、または地域ごとに設定できます。
シングルサインオン(SSO)
エンタープライズプランでは、既存のIDプロバイダーを通じてサインインできます。
SOC 2 Type II 準拠
SmartcatはSOC 2 Type IIに準拠しており、すべてのワークスペースを分離しています。
公開AIモデルのトレーニングに使用されることはありません
お客様の出典の列および翻訳が、公開AIモデルのトレーニングに使用されることは決してありません。
監査証跡
エンタープライズプランにおいて、翻訳および翻訳レビュー全体で、誰がいつ何を変更したかを確認できます。
リクエストに応じた暗号化および削除
コンテンツは転送中および保存時に暗号化され、書面による要求から30日以内に削除または返却されます。
gettextを使用するDjangoおよびPythonプロジェクトの翻訳に関するガイド、および各リリースの一環としてソフトウェアローカリゼーションを実行することに関するガイド。
PO(Portable Object)ファイルはGNU gettextのプレーンテキスト翻訳ファイルであり、Smartcatはこれをバイリンガルファイルとしてインポートします。各エントリーは出典列(msgid)とその翻訳(msgstr)をペアにするため、1つのPOファイルで1つの言語を保持します。POファイルは、Python、PHP、WordPress、Django、Drupalのプロジェクトにおいて標準的です。
POTファイルはコードから抽出された空のテンプレートであり、POファイルはある1つの言語の翻訳を保持し、MOファイルはアプリが読み込むコンパイル済みのバイナリです。Smartcatはアップロードされた.poファイルと.potファイルの両方を任意のプロジェクト言語に翻訳し、ビルド内でMOにコンパイルできるPOファイルを返します。
.poまたは.potファイルをオンラインのSmartcatプロジェクトにアップロードし、ターゲット言語を選択します。エントリーに列IDが含まれている場合はSerge.io POパーサーを選択し、AIにすべてのセグメントを下書きさせます。貴社のレビュー担当者またはマーケットプレイスの言語専門家がエディターで翻訳を確認し、言語ごとに有効なPOファイルをエクスポートします。
Smartcatは、POファイルを多くの言語へ翻訳し、リリースごとにそれらを再度アップロードするチームに適していますが、最適なツールはパイプラインによって異なります。どちらをテストする場合でも、代用語を保護すること、msgid_pluralとmsgctxtをサポートすること、再アップロード時にレビュー履歴を保持すること、および変更された列のみを請求することを確認してください。一度だけ編集する単一のファイルであれば、デスクトップPOエディターだけで十分かもしれません。
1人が一度に1つのPOファイルを編集する場合は、Poeditを使用してください。これは無料版のあるデスクトップPOエディターです。リリースのたびにチームがPOファイルを多数の言語に翻訳する場合、AIドラフト、ブラウザ上で作業するレビュー担当者、共有翻訳メモリ、および変更された列のみを請求する再アップロードを備えたSmartcatのようなプラットフォームを使用してください。
はい、お試しとして。Smartcatでは、クレジットカード不要で15,000 Smartwordsが利用可能な15日間の無料トライアルを提供しており、一般的なPOファイルを数言語に翻訳し、ビルドでのエクスポートをテストするのに十分です。Smartcatには無料プランはありません。トライアル終了後は、Smartcatの価格ページに記載されているとおり、Smartwordsで請求されます。
いいえ。汎用的な翻訳者はPOファイルではなく、貼り付けたテキストを処理するため、代用語、複数形、msgctxtが壊れやすくなります。Smartcatはファイル自体を翻訳し、変数をロックされたタグとして保持し、各翻訳をmsgstrへと戻るように書き込むため、結果は問題なくコンパイルされます。
プレーンテキストエディターならどれでもPOファイルを開くことができますが、POファイルエディターのほうがより安全です。SmartcatはオンラインのPOファイルエディターとして機能します。ファイルをアップロードし、ブラウザ上で各エントリーを編集できます。翻訳の次に出典が並び、開発者のコメントが文脈として表示され、代用語はロックされます。その後、構造を変更することなく編集済みのPOファイルをエクスポートします。
Smartcatから翻訳済みのPOファイルをエクスポートし、gettextのmsgfmtユーティリティを実行する(例: msgfmt fr.po -o fr.mo)か、フレームワークのビルドステップに実行させます。Django、WordPress、およびほとんどのgettextツールチェーンは自動的にコンパイルされます。Smartcat自体はMOファイルを生成しないため、コンパイルはお客様の既存のパイプライン内に留まります。
はい。Smartcatはgettextの複数形エントリーをサポートしています。msgid_pluralおよびそのmsgstr[n]バリアントをインポートするため、すべてのターゲット言語において列の各複数形が個別に翻訳されます。貴社の翻訳者は単数形と複数形の出典を並べて確認し、複数形ごとに1つの翻訳を入力します。
ほとんどの列で編集が不要なほどの高精度:Smartcat AIによって翻訳されたワードの92%が人手による編集を一度も受けることなく承認されており、用語集と翻訳メモリによってUI用語の一貫性が保たれます。開発者コメント(#)のない短いUI列は例外です。「Open」のようなワードはそれ自体では曖昧であるため、文脈の中でそれらをレビューしてください。
いいえ。Smartcatでは、ファイル内にすでに存在するmsgstrの値をどのように処理するかをアップロード時に決定できます。インポートする、未確定の下書きのままにする、選択した作業フローステージで確定する、または誰も編集できないようにロックすることが可能です。その場合、空のエントリーのみ翻訳が必要になります。
Smartcatは有効なgettextのPOまたはPOTファイルをすべて翻訳できるため、Djangoのmakemessages、WordPressのテーマやプラグイン、PHPやPythonのgettext、Drupal、その他のgettextツールチェーンの出力に対応しています。Smartcatはフレームワークではなくファイル形式を読み取るため、抽出やコンパイルの手順は現状のままで問題ありません。Djangoローカリゼーションガイドでは、動作するセットアップ例が紹介されています。
いいえ。Smartcatは独立したプラットフォームであり、GNUプロジェクト、Poedit、Phrase、Crowdin、Lokaliseとは一切関係ありません。Smartcatは公開されているgettext形式の文書に従ってPOファイルを読み込みます。また、このページの比較は各ベンダー自身の公開文書のみに基づいています。
お探しの回答は見つかりませんでしたか?ローカリゼーションの専門家に相談する
商標に関する注記。Smartcatは独立したプラットフォームであり、GNU プロジェクト、Poedit、Phrase、Crowdin、またはLokaliseと提携、承認、後援、その他いかなる関連もありません。このページに記載されているすべての製品の名前および商標は、それぞれの所有者に帰属し、識別のみを目的として使用されています。SmartcatのPOサポートは、公開文書化されたgettext標準に基づいて構築されており、いかなるパートナーシップや認証をも示唆するものではありません。
お客様自身のPOファイルの1つをアップロードから言語ごとのビルド準備完了ファイルに至るまで、Smartcatが翻訳する様子をご覧いただくか、クレジットカード不要で15,000 Smartwordsが利用できる15日間の無料トライアルを開始してください。