テキストの翻訳
このページでは、Cloud Translation の Basic エディションと Advanced エディションの両方を使用してサンプル テキストを翻訳する方法について説明します。
基本的なテキスト翻訳の例で説明したように、Cloud Translation - Basic API は、標準のニューラル機械翻訳(NMT)モデルへの簡単なプラグ アンド プレイ アクセスを提供します。
一方、Cloud Translation - Advanced は、カスタマイズや長文コンテンツのユースケースに適しています。サンプルコードについては、高度なテキスト翻訳の例をご覧ください。Advanced では、ニューラル機械翻訳(NMT)モデルだけでなく、翻訳 LLM(Google の最新で高品質の LLM スタイルの翻訳モデル)にアクセスでき、特別な状況に合わせてカスタムモデルを作成できます。
Cloud Translation - Advanced には、ドキュメントの翻訳や用語集の作成などの高度なテキスト翻訳機能も備わっているため、ドメイン固有の用語を正しく翻訳できます。
始める前に
Cloud Translation API を使用するには、Cloud Translation API が有効になっているプロジェクトと適切な認証情報が必要です。また、この API の呼び出しを支援する一般的なプログラミング言語のクライアント ライブラリをインストールすることもできます。詳細については、設定ページをご覧ください。
高度なテキスト翻訳
Cloud Translation - Advanced を使用した翻訳の場合、書式なしテキストまたは HTML を入力できます。Cloud Translation API は入力内の HTML タグは翻訳せず、タグ間にあるテキストのみを翻訳します。出力では(未翻訳の)HTML タグが維持されます。タグは翻訳されたテキストに合わせて挿入されますが、ソース言語とターゲット言語には差異があるため、その位置調整は可能な範囲で行われます。
高度なテキスト翻訳の例
REST
テキストを翻訳するには、POST リクエストを作成し、リクエスト本文に翻訳元の言語(source_language_code)、翻訳先の言語(target_language_code)、翻訳するテキスト(contents)を特定する JSON を指定します。翻訳するテキストの複数の文字列を JSON に含めることで指定できます(例を参照)。ソース言語とターゲット言語は ISO-639 コードで指定できます。
以下は、curl または PowerShell を使用した POST リクエストの例です。この例では、 Google Cloudの Google Cloud CLI を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。Google Cloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
リクエストの本文(JSON):
{
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, come here!", "Bring me some coffee!"]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"translations": [
{
"translatedText": "Доктор Ватсон, иди сюда!",
},
{
"translatedText": "Принеси мне кофе!",
}
]
}
translations 配列の 2 つの translatedText フィールドに、リクエストした targetLanguageCode 言語(ru: ロシア語)の訳文が返されています。翻訳は、リクエスト内の対応するソースの配列と同じ順序で表示されます。
Go
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Java の設定を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Node.js の設定を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Python の設定を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
特定のモデルを使用してテキストを翻訳する
REST
翻訳に使用するモデルを指定するには、model クエリ パラメータを使用します。
次の例では、モデル ID が 1395675701985363739 のカスタムモデルを使用してテキストを翻訳します。カスタムモデルのモデル ID は、 Google Cloud コンソールのモデルリストから取得できます。また、モデルのトレーニング時に API レスポンスから取得することもできます。翻訳 LLM を使用するには、モデル ID として general/translation-llm を指定します。カスタム翻訳 LLM(公開プレビュー版)を使用するには、モデル ID として model/translation-llm-custom/{model-id} を指定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: カスタムモデルが配置されているリージョン(
us-central1など)。
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText
リクエストの本文(JSON):
{
"model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739",
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me.
Let's talk about spam and importance ranking in a confidential mode."]
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"translation": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора.
Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о
спаме и важности рейтинга в конфиденциальном режиме.",
"model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739"
}
}
Go
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Java の設定を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Node.js の設定を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Python の設定を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
文字変換
文字変換は、translateText メソッドの構成設定です。文字変換を有効にすると、ローマ字化されたテキスト(ラテン文字)がターゲット言語に直接翻訳されます。たとえば、ローマ字化された日本語のテキストを英語、スペイン語、中国語に直接翻訳できます。翻訳結果はターゲット言語の書記体系に従います。
文字変換リクエストには、ローマ字化されたテキストのみを含めます。ローマ字化されたテキストとされていないテキストを混在させると、Cloud Translation で整合性のある適切な翻訳が保証されません。
考慮事項
文字変換は、次の点で標準のテキスト翻訳とは異なります。
- 文字変換は一部の言語のみに対応しています。詳細については、サポートされている言語ページの文字変換列をご覧ください。
- MIME タイプは
text/plainにする必要があります。HTML はサポートされていません。 - 文字変換は、デフォルトの標準モデルでのみサポートされています。カスタムモデルはサポートされていません。
- 文字変換のデフォルトのコンテンツ割り当ては低く設定されています。詳細については、割り当てと上限をご覧ください。
REST
translateText メソッドで transliteration_config フィールドを設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID。
- LOCATION: このオペレーションを実行するリージョン。例:
us-central1 - SOURCE_LANGUAGE: (省略可)入力ドキュメントの言語コード。既知の場合は、言語サポートに記載されているいずれかの言語コードに設定します。
- TARGET_LANGUAGE: 入力テキストの翻訳先のターゲット言語。言語サポートに記載されているいずれかの言語コードを設定します。
- SOURCE_TEXT: 翻訳対象の原文をローマ字化したテキスト。
HTTP メソッドと URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText
リクエストの本文(JSON):
{
"source_language_code": "SOURCE_LANGUAGE",
"target_language_code": "TARGET_LANGUAGE",
"contents": "SOURCE_TEXT",
"mime_type": "text/plain",
"transliteration_config": { "enable_transliteration": true}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT",
}
]
}
基本的なテキスト翻訳の例
REST
Basic translate メソッドへの REST メソッド呼び出しを使用して、Cloud Translation - Basic リクエストを行います。ソース言語とターゲット言語は ISO-639 コードで指定できます。
以下は、curl または PowerShell を使用した POST リクエストの例です。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/language/translate/v2
リクエストの本文(JSON):
{
"q": "The Great Pyramid of Giza (also known as the Pyramid of Khufu or the Pyramid of Cheops) is the oldest and largest of the three pyramids in the Giza pyramid complex.",
"source": "en",
"target": "es",
"format": "text"
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"data": {
"translations": [{
"translatedText": "La Gran Pirámide de Giza (también conocida como la Pirámide de Khufu o la Pirámide de Keops) es la más antigua y más grande de las tres pirámides en el complejo de la pirámide de Giza."
}]
}
}
Go
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Java の設定を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Node.js の設定を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある手順で Python の設定を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
モデル パラメータ
Cloud Translation - Basic に翻訳リクエストを送信すると、テキストは Google ニューラル機械翻訳(NMT)モデルを使用して翻訳されます。 他のモデルは使用できません。AutoML モデルを使用してテキストを翻訳するには、Cloud Translation - Advanced を使用します。
参考情報
- 一般的な問題またはエラーの解決に関するヘルプについては、トラブルシューティングのページをご覧ください。
- Cloud Translation に関する一般的な質問については、よくある質問のページをご覧ください。
- Cloud Translation は、2 つのエディションで使用できます。各エディションの詳細については、Basic と Advanced の比較をご覧ください。