無料アカウントを作成して、AI対応ローカリゼーションサービスでコンテンツを翻訳するための毎月30,000無料文字数を獲得しましょう。
開始にクレジットカードは不要です!
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」という単語を動詞として使うか形容詞として使うか)。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 ""当社のAI用語集生成機能は、すべてのPOローカリゼーションファイル間で一貫した用語を維持するのに役立ちます。翻訳オプションで用語集を生成を切り替えて有効にしてください:
<target>要素から好みの用語を学習し、新しい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)がよく使われますが、POはWordPressプラグイン、PHPアプリケーション、Python Djangoプロジェクト、Linuxデスクトップソフトウェアにとって依然として好まれるフォーマットです。当社のサービスは両方の世界をつなぎます。ここでPOコンテンツを翻訳するか、i18nファイル翻訳ページを使用してあらゆるフォーマットのバッチ処理を行ってください。
当社のAI翻訳は、ヘッダー(Project-Id-Version、Content-Type、Plural-Forms)、翻訳者のコメント、ソースファイルの参照、フォーマットフラグを含む完全なPOファイル構造を保持し、翻訳されたPOファイルがmsgfmtのようなgettextツールですぐに使用できる状態であることを保証します。