無料アカウントを作成し、30,000 文字を毎月無料で翻訳するためにAI駆動のローカリゼーションサービスを利用できます。
始めるのにクレジットカードは必要ありません!
当社のAIを活用したサービスを使用すると、PO(Portable Object)ファイルを迅速かつ正確に翻訳できます。以下の手順に従って、PO形式の構造を維持しながらgettextローカライズコンテンツを翻訳してください。
PO(Portable Object)ファイルは、GNU gettext国際化システムによって作成された広く使用されているローカライズ形式です。これらは、msgid(元のテキスト)とmsgstr(翻訳されたテキスト)エントリを使用して、翻訳可能な文字列をキーと値のペアとして保存します。
POファイルは、WordPress、PHPアプリケーション、Python(Django、Flask)、Ruby on Rails、C/C++プログラム、GTKやGNOMEで構築されたデスクトップアプリケーションなど、多くのオープンソースプロジェクトやフレームワークの標準ローカライズ形式です。
POファイルは、以下の主要要素を持つエントリで構成されています:
# Translation file for MyApp
#: src/components/header.js:12
msgid "Welcome to our application"
msgstr ""
#: src/components/login.js:8
msgid "Sign in to your account"
msgstr ""
#: src/components/dashboard.js:15
msgid "You have %d new messages"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""msgid — 未翻訳の元の文字列(ソーステキスト)。これは翻訳を検索するためのキーとして機能します。msgstr — ターゲット言語の翻訳済み文字列。msgstr値が空の場合は、未翻訳の文字列であることを示します。#) — 翻訳者にコンテキストを提供します。#:はソースファイルの参照、#.は抽出されたコメント、#,はfuzzyなどのフラグを保持します。msgid_plural, msgstr[N]) — 言語固有の複数形ルールを処理します。言語によって複数形の数は異なります(例: 英語は2つ、ポーランド語は3つ、アラビア語は6つ)。msgctxt) — 文脈によって翻訳が異なる同一のソース文字列を区別します(例: 動詞としての「Open」と形容詞としての「Open」)。POT(Portable Object Template)ファイルは、POファイルを作成するためのテンプレートです。これには、msgstr値が空のすべてのソース文字列が含まれています。新しい翻訳を開始するときは、POTファイルをコピーし、ターゲット言語に合わせて名前を変更(例: fr.po)してから、翻訳を入力します。
当社のサービスはPOとPOTの両方のコンテンツを受け付けます。どちらかの形式を貼り付けるだけで、AIがすべてのmsgstrエントリの翻訳を生成します。
ヘッダーと翻訳可能な文字列を含む典型的なPOTテンプレートファイルは次のとおりです:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-01 00:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \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"
#: src/app.py:42
msgid "Hello, World!"
msgstr ""%s、%d、%(name)sなど)を処理し、ターゲット言語の文化的ニュアンスに合わせて翻訳を調整します。msgctxt)、複数形、フォーマットフラグなど、PO形式のすべての機能を処理します。翻訳中もPO構造は完全に保持されます。msgstr[N]エントリを生成します。POファイルは、幅広いプラットフォームやフレームワークの標準ローカライズ形式です:
makemessagesコマンドは翻訳可能な文字列をPOTファイルに抽出し、compilemessagesはPOファイルをバイナリMOファイルにコンパイルします。gettext gemが使用されます。@lingui/cliツールは翻訳可能な文字列をPOカタログに抽出し、Linguiのランタイムはビルド時にコンパイルされた翻訳を読み込んでパフォーマンスを最適化します。POファイルは、オープンソースコミュニティで30年以上の歴史を持つ、最も確立されたローカライズ形式の1つです。JSONやYAMLベースの形式とは異なり、POファイルには複数形、翻訳者のコメント、ソース参照、コンテキストの曖昧さ回避のサポートが組み込まれています。
最新のフレームワークではJSON(i18next、React Intl)やYAML(Rails)がよく使われますが、WordPressプラグイン、PHPアプリケーション、Python Djangoプロジェクト、Linuxデスクトップソフトウェアでは依然としてPOが推奨される形式です。当社のサービスは両方の世界をつなぎます。ここでPOコンテンツを翻訳するか、当社の「I18Nファイル翻訳」ページを使用してあらゆる形式をバッチ処理してください。
当社のAI翻訳は、ヘッダー(Project-Id-Version、Content-Type、Plural-Forms)、翻訳者のコメント、ソースファイルの参照、フォーマットフラグを含む完全なPOファイル構造を保持し、翻訳されたPOファイルがmsgfmtなどのgettextツールですぐに使用できるようにします。