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

.PO - gettext files (Strings)

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

ファイル拡張子 

.po

API拡張 

gettext

インポート 

はい

エクスポート 

はい

複数形のサポート 

はい

説明のサポート 

はい

フォーマットオプション

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

  • msgid_as_default

  • is_bilingual_file

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

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

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

  • .POファイル

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

  • .POTファイル 

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

msgctxt はキーのプレフィックスとして使用され、msgid と組み合わされ、|| で区切られます。 

ファイル形式オプション

識別子

msgid_as_default

タイプ

ブール

アップロード

true

ダウンロード

false

デフォルト

false

概要

翻訳内容は msgid の値から取得され、msgstr からではありません。

識別子

is_bilingual_file

タイプ

ブール

アップロード

true

ダウンロード

false

デフォルト

false

概要

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

コードサンプル

msgid ""
msgstr ""
"言語: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 "シンプルなキー、シンプルなメッセージ、とてもシンプルです。2"

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

典型的なgettextエントリー: 

# 説明(オプション)
msgid "key-name"
msgstr "My Translation"

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

msgctxt "menu"
msgid "Open"
msgstr "I'am a translation"

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 ""
msgstr[0] "あなたには新しいメッセージがあります"
msgstr[1] "あなたには %{count} 件の新しいメッセージがあります"

あいまい一致

fuzzyキーワードは翻訳の検証に使用されます。あいまい一致は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.