GNU gettext PO(ポータブル オブジェクト)

Libre ソフトウェア(自由ソフトウェア)の翻訳に最も広く使用されているフォーマット。

ファイルに保存されている付随情報は、ヘッダーを調整するか、対応する原文にリンクして対応します。

原文の変更の表示

Weblate は、PO ファイルに以前のソース文字列が存在する場合、それを抽出して、編集が必要な文字列の差異を表示できます。この機能を利用するには、msgmerge を --previous オプション付きで実行し、生成された PO ファイルに以下のような行を含めることが必要です:

#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"

PO ファイル ヘッダー

The header of the PO file is automatically maintained by Weblate. It can be configured to include the Language-Team, Last-Translator, X-Generator and Report-Msgid-Bugs-To headers using the ファイル形式パラメータ.

ヘッダー コメントには、コメント内の貢献者情報 を使用して翻訳者を含むように更新することもできます。

行の折り返し

行折り返しは主に GNU gettext の動作に準拠しています。ただし、GNU gettext の折り返しアルゴリズムや、その基盤となる Unicode データは随時更新されるため、一部の特殊なケースでは違いが生じることがあります。

折り返し幅は po_line_wrap パラメーターで設定できます。参照: ファイル形式パラメータ。

対応する MO ファイルの生成

MO ファイルを PO ファイルと一緒にリポジトリに保持している場合は、MO ファイルの生成 を使用して、MO ファイルを PO ファイルに合わせて最新の状態に保つことができます。

POT ファイルから PO ファイルを更新する

POT に合わせて PO ファイルを更新 (msgmerge) を使用すると、POT ファイルから PO ファイルを更新できます。参照: 翻訳対象の言語ファイルの更新。

モノリンガルの gettext

一部のプロジェクトでは、gettext をモノリンガル形式として使用することを定めています。ソースコード内の ID のみをコード化し、文字列を英語を含むすべての言語に翻訳することが必要です。これには対応していますが、コンポーネントを Weblate にインポートするときは、このファイル形式を明示的に選択することが必要です。

ファイルの例

一般的なバイリンガルの gettext PO ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

一般的なモノリンガルの gettext PO ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

一般的な基礎となる言語ファイル:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"
対応機能

File extensions

.po, .pot

Linguality ⓘ

Monolingual

Supports plural ⓘ

Yes

Supports descriptions ⓘ

Yes

Supports explanation ⓘ

No

Supports context ⓘ

Yes

Supports location ⓘ

Yes

Supports flags ⓘ

Yes

Additional states ⓘ

Needs editing

API identifier

po-mono

Supports read-only strings ⓘ

No

対応機能

File extensions

.po, .pot

Linguality ⓘ

Bilingual

Supports plural ⓘ

Yes

Supports descriptions ⓘ

Yes

Supports explanation ⓘ

No

Supports context ⓘ

Yes

Supports location ⓘ

Yes

Supports flags ⓘ

Yes

Additional states ⓘ

Needs editing

API identifier

po

Supports read-only strings ⓘ

No

Weblate の設定

バイリンガル gettext 用の、標準的な Weblate コンポーネント構成

ファイル マスク

po/*.po

モノリンガル用の、基礎となる言語ファイル

Empty(空)

新しい翻訳のテンプレート

po/messages.pot

ファイル形式

Gettext PO ファイル

モノリンガル gettext 用の、標準的な Weblate コンポーネント構成

ファイル マスク

po/*.po

モノリンガル用の、基礎となる言語ファイル

po/en.po

新しい翻訳のテンプレート

po/messages.pot

ファイル形式

gettext PO ファイル (モノリンガル)

ファイル形式パラメータ

po_* パターンを持つ ファイル形式パラメータ を使用すると、gettext 形式の動作を設定できます。