本文へスキップ
すべてのツール 料金 ブログ

トークとボイスメッセージ

ドキュメント

音声・動画

ログイン

言語

PO・POT ファイルをオンラインで翻訳。複数形とコンテキストにも対応

.pot テンプレートや一部だけ翻訳済みの .po ファイルをアップロードすると、空の msgstr がすべて埋まった .po が返ってきます。msgid と msgctxt は一切変更せず、コメントや参照もそのまま残し、複数形エントリーには翻訳先の言語に必要な数の形式を用意します。最初の数文字列は、アカウント不要で無料です。ファイル全体(最大 5,000 文字列)は $5 の一回払いのみです。

文字列ファイルを翻訳

トーン
用語集と保持する名前(任意)

ブランド名・製品名をカンマ区切りで入力してください。すべての翻訳で1つずつ確認されます。

1行に1語: 用語 = 訳語

登録不要。300件の文字列までは全部無料。それ以上は最初の数件の文字列が無料、ジョブ内のすべてのファイルが$5、一回払いのみ。

続行すると、利用規約 と プライバシーポリシー に同意したものとみなされます。

  • 空のエントリーと fuzzy エントリーを翻訳し、翻訳済みのエントリーはそのまま保持します
  • msgid_plural エントリーには、翻訳先の言語に合わせた msgstr[0]、msgstr[1] … が付き、ヘッダーには Plural-Forms が入ります
  • msgctxt、翻訳者向けコメント(#.)、参照(#:)は文脈として送信され、ファイルにもそのまま残ります
  • php-format、c-format、python-format のプレースホルダーをすべての文字列でチェックします
  • WordPress のプラグインやテーマ、Django、Python、PHP、C のプロジェクトで使えます
デモを開く

PDFサンプルを見る

85 件の文字列 ・ キーは変更なし

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

黄色:プレースホルダーと ICU の複数形構文を、すべての文字列で確認します。青緑:タグ、エスケープ、絵文字は、そのまま保持します。

キーも、プレースホルダーもそのまま。言語だけが新しく。

変わるのは値だけです。ファイルは階層も順序もそのままで、es.json という名前で戻ります。プレースホルダーが欠けた文字列は、ビルドに届く前に再度翻訳されます。

このページ用に作成したデモアプリです。スペイン語の文字列は、85件の文字列を含むファイルからのツールの実際の出力です。

POT テンプレートから PO ファイルへ

.pot ファイルは、プロジェクトで翻訳が必要な文字列の一覧で、msgstr はすべて空です。アップロードして言語を選ぶと、ヘッダーに Language、その言語向けの Plural-Forms 行、文字コードとして UTF-8 が入った .po が返ってきます。ファイル名は言語に合わせて付きます(例:myplugin.pot は myplugin-de.po になります)。WordPress なら myplugin-de_DE.po のようにプロジェクトに合った名前へ変更し、普段お使いのツールで .mo にコンパイルしてください。

複数形と fuzzy エントリー

言語によって数え方は異なります。英語の形式は2つ、gettext ではポーランド語とロシア語が3つ、アラビア語が6つです。複数形エントリーごとに、翻訳先言語の各形式が例となる数字付き(「形式1:2、3、4、22」など)で翻訳エンジンに渡され、形式ごとに1つずつ文字列を書き出します。お手持ちの .po に同じ言語の Plural-Forms ヘッダーがすでにある場合は、そのルールを使います。

fuzzy とマークされたエントリーは再翻訳され、fuzzy フラグと古い #| msgid の行は削除されます。php-format などその他のフラグは保持されます。廃止済みの #~ エントリーには手を加えません。

ツールの仕組み、料金、ファイルの扱いについてはローカライズファイル翻訳のページを、全ツールの料金は料金のページをご覧ください。

最終更新日

よくある質問

既存の翻訳は上書きされますか?

いいえ。すでに msgstr があり fuzzy ではないエントリーは、そのまま保持されます。翻訳されるのは、空のエントリーと fuzzy エントリーだけです。

.mo ファイルも作成されますか?

いいえ、お渡しするのは .po です。msgfmt、Poedit、お使いのフレームワークのコマンド(例:wp i18n make-mo、Django の compilemessages)でコンパイルしてください。

printf 形式のプレースホルダーは安全ですか?

msgid にある %s、%d、%1$s、%(name)s は、すべて訳文にも含まれている必要があります。1つでも欠けた文字列は再翻訳され、それでも直らない場合は msgstr を元の状態(空または fuzzy)のままにして一覧でお知らせします。そのため gettext は、崩れた文字列を表示せず原文にフォールバックします。

料金はいくらですか?

最初の数文字列は無料です。ファイル全体(5,000 文字列まで)は、$5 の一回払いのみで、サブスクはありません。小規模な作業は例外で、300 文字列までの作業は、ダウンロードも含めてすべて無料です。

関連する作業

どのページが役立っているかを把握するため、分析用Cookieを使用します。よろしいですか?