サポートするファイル形式(Strings)

.PO - gettextファイル(文字列)

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

ファイル拡張子 

.po

API拡張 

gettext

インポート 

はい

エクスポート 

はい

複数形のサポート 

はい

説明のサポート 

はい

フォーマットオプション

ファイルがアップロードまたはダウンロードされる際に指定できるオプションです。アップロード/ダウンロード方法(API、CLI、リポジトリ同期など)に応じて、クエリパラメータ アップロードダウンロード または phrase.yml 設定ファイルに指定できます。

  • msgid_as_default

  • is_bilingual_file

.PO(ポータブルオブジェクト)は、GNU gettext を使用したローカリゼーションの標準ファイル形式です。GNU gettextを使用すると、ローカライズ可能な文字列がソースコードからPOファイルに抽出され、翻訳されます。POファイルは、一連のキーと値のペアです。キー msgid はソース文字列が配置される場所であり、値 msgstr は翻訳が入る場所です。

gettextは、ソースコードから文字列を.POT(ポータブルオブジェクトテンプレート)に抽出します。定義されたロケールに基づいて、gettextは.POTファイルをロケール固有の.POファイルに変換し、翻訳のためにCATツールにアップロードします。翻訳後、gettextは翻訳された.POファイルを.MOファイル(マシンオブジェクトファイル)に変換し、最終的にローカリゼーションに使用されます。

.POファイルは.POTファイルと同一ですが、.POTファイルは一般的にgettextによってロケール固有の.POファイルを生成するために使用されます。直接.POTファイルを翻訳し、後で意図されたロケールに応じて名前を変更しても問題は発生しません。フレーズは次の翻訳をサポートします:

  • .POファイル

  • バイリンガル .POファイル

  • .POTファイル 

  • 機械可読な .MOファイル

msgctxt はキー接頭辞として使用され、msgid と組み合わされ、|| で区切られます。 

フォーマットオプション

識別子

msgid_as_default

タイプ

ブール

アップロード

true

ダウンロード

false

デフォルト

false

概要

翻訳コンテンツは msgid の値から取得され、msgstr からではありません。

識別子

is_bilingual_file

タイプ

ブール

アップロード

true

ダウンロード

false

デフォルト

false

概要

ソースとターゲットの翻訳は、アップロードされたファイルからインポートされます:ソースコンテンツは msgid の値から取得され、ターゲットは msgstr の値から取得されます。

コードサンプル

msgid ""
msgstr ""
"Language: English\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

msgid "boolean_key"
msgstr "--- true\n"

msgid "empty_string_translation"
msgstr ""

# このキーの素晴らしい説明です!
msgid "key_with_description"
msgstr "チェックしてみてください!"このキーには説明があります!(少なくとも一部のフォーマットで)"

msgid "key_with_line-break"
msgstr "This translations contains\na line-break."

msgid "nested.deeply.key"
msgstr "このキーはさらに深くネストされています。"

msgid "nested.key"
msgstr "このキーは名前空間内にネストされています。"

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "複数形は1つだけ見つかりました。"
msgstr[1] "%s 個の複数形があります!"

msgid "sample_collection"
msgstr "---\n- first item\n- second item\n- third item\n"

msgid "simple_key"
msgstr "シンプルなキー、シンプルなメッセージ、とてもシンプルです。"

#, あいまい一致
msgid "unverified_key"
msgstr "検証が必要です。私を検証してください!"(一部のフォーマットでは、このステータスもエクスポートされます)"

典型的なgettextエントリ: 

# 説明 (オプション)
msgid "key-name"
msgstr "私の翻訳"

gettext ヘッダー

gettext ファイルのヘッダーには、ロケール名とインポート中に抽出される複数形のデータが含まれる場合があります:

msgid ""
msgstr ""
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

説明

gettext ファイルのコメントは、インポート中にキーの説明として追加されます:

# これは私の説明です
msgid "app_title"
msgstr "私のソフトウェアプロジェクト"

コンテキスト

gettext は msgctxt 表記を使用して、同じ msgid の異なるコンテキストを区別します。すべてのキー名は一意でなければならないため、msgctxt がキー名の最初の部分として追加され、2つのパイプ記号 || で区切られます:

msgctxt "menu"
msgid "Open"
msgstr "私は翻訳です"

msgctxt "forum"
msgid "Open"
msgstr "私は別の翻訳です"

新しいキーに msgctxt を追加するには、キー名の前に追加します:

my_context||my_key_name

結果の gettext 出力:

...
msgctxt "my_context"
msgid "my_key_name"
...

複数形

gettext は翻訳のための複数形をサポートしています:

msgid "new_messages"
msgid_plural ""
新しいメッセージがあります
新しいメッセージが%{count}件あります

あいまい一致

あいまい一致キーワードは翻訳の検証に使用されます。あいまい一致はPhrase内で未検証プロセスを自動的に呼び出します。

#, あいまい一致
msgid "app_title"
msgstr "私のソフトウェアプロジェクト"
この記事は役に立ちましたか?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.