このドキュメントでは、Cloud Translation - Basic(v2)を使用して文字列の言語を検出する方法について説明します。
始める前に
Cloud Translation API を使用するには、Cloud Translation API が有効になっているプロジェクトと適切な認証情報が必要です。また、この API の呼び出しを支援する一般的なプログラミング言語のクライアント ライブラリをインストールすることもできます。詳細については、設定ページをご覧ください。
テキスト文字列の言語の検出
テキスト文字列の言語を検出するには、次の形式の URL を使用して HTTP リクエストを送信します。
https://translation.googleapis.com/language/translate/v2/detect
1 つの文字列の言語の検出
テキストの言語を検出するには、POST
リクエストを作成して適切なリクエスト本文を提供します。以下は、curl
または PowerShell を使用した POST
リクエストの例です。この例では、Google Cloud CLI を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。Google Cloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、設定ページをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER_OR_ID
: Google Cloud プロジェクトの数字または英数字の ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/language/translate/v2/detect
リクエストの本文(JSON):
{ "q": "Mi comida favorita es una enchilada." }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を 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/detect"
PowerShell(Windows)
リクエスト本文を 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/detect" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "data": { "detections": [ [ { "confidence": 1, "isReliable": false, "language": "es" } ] ] } }
このレスポンスで、language
は検出された言語コードです。残り 2 つのフィールド isReliable
と confidence
は、下位互換性のための非推奨のフィールドです。これらの値を意思決定やしきい値に使用しないことをおすすめします。
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Cloud Translation Go API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Cloud Translation Java API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。
Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
複数の文字列の言語の検出
複数の文字列の言語を検出するには、q
パラメータを使用して各文字列を指定します。この例では、検出のために 2 つの個別の文字列を渡しています。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER_OR_ID
: Google Cloud プロジェクトの数字または英数字の ID
HTTP メソッドと URL:
POST https://translation.googleapis.com/language/translate/v2/detect
リクエストの本文(JSON):
{ "q": ["Hello world", "我的名字叫傑夫"] }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を 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/detect"
PowerShell(Windows)
リクエスト本文を 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/detect" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "data": { "detections": [ [ { "confidence": 1, "isReliable": false, "language": "en" } ], [ { "confidence": 1, "isReliable": false, "language": "zh-TW" } ] ] } }
この場合、レスポンスには、リクエストで指定された対応する 2 つの原文の文字列と同じ順番で検出結果が含まれます。
複数のテキストの言語を検出するには、前の例に示されている Client#DetectLanguage
メソッドに渡されるスライスに複数の文字列を組み込みます。
複数のテキストの言語を検出するには、前の例に示されている Translate#detect
メソッドに文字列のリストを渡すだけです。
複数のテキストの言語を検出するには、前の例に示されている Translate#detect
メソッドに文字列の配列を渡すだけです。
複数のテキストの言語を検出するには、前の例に示されている Client#detect_language
メソッドに文字列のリストを渡すだけです。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Cloud Translation リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Cloud Translation リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Cloud Translation リファレンス ドキュメントをご覧ください。
複数のテキストの言語を検出するには、前の例に示されている Translate#detect
メソッドに、複数の文字列を渡すだけです。
参考情報
- 一般的な問題またはエラーの解決に関するヘルプについては、トラブルシューティングページをご覧ください。