本文档介绍了如何使用 Cloud Translation 基本版 (v2) 检测字符串的语言。
准备工作
在开始使用 Cloud Translation API 之前,您必须具有启用了 Cloud Translation API 的项目,并且必须具有具有适当凭据的私钥。 您还可以安装常用编程语言的客户端库,以便调用 API。如需了解详情,请参阅设置页面。
检测文本字符串的语言
要检测文本字符串的语言,使用以下格式的网址发送 HTTP 请求即可:
https://translation.googleapis.com/language/translate/v2/detect
检测单个字符串的语言
REST 和命令行
要检测部分文本的语言,请发出 POST
请求并提供相应的请求正文。下面显示了使用 curl
或 PowerShell 的 POST
请求的示例。该示例针对通过 Google Cloud CLI 为项目设置的服务帐号使用访问令牌。如需了解有关安装 Google Cloud CLI、使用服务帐号设置项目以及获取访问令牌的说明,请参阅设置页面。
HTTP 方法和网址:
POST https://translation.googleapis.com/language/translate/v2/detect
请求 JSON 正文:
{ "q": "Mi comida favorita es una enchilada." }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2/detect "
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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
是检测到的语言代码。另外两个字段 isReliable
和 confidence
是为了向后兼容而添加的已弃用字段;我们建议不要根据其值做出任何决定或设置任何阈值。
Go
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Translation Go API 参考文档。
Java
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Translation Java API 参考文档。
Node.js
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Translation Node.js API 参考文档。
Python
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Translation Python API 参考文档。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Translation 参考文档。
检测多个字符串的语言
REST 和命令行
如需检测多个字符串的语言,请使用 q
参数指定每个字符串。下面的示例传递了两个单独字符串以进行检测:
HTTP 方法和网址:
POST https://translation.googleapis.com/language/translate/v2/detect
请求 JSON 正文:
{ "q": ["Hello world", "我的名字叫傑夫"] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2/detect "
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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" } ] ] } }
此处,响应包含两项检测结果,它们的顺序与相应源字符串在请求中出现的顺序相同。
Go
如需检测多个文本的语言,请将多个字符串包含在传递给 Client#DetectLanguage
方法的切片中(如以上示例所示)。
Java
如需检测多个文本的语言,只需将多个字符串传递给 Translate#detect
方法(如以上示例所示)。
Node.js
如需检测多个文本的语言,只需将字符串数组传递给 Translate#detect
方法(如以上示例所示)。
Python
如需检测多个文本的语言,只需将多个字符串传递给 Client#detect_language
方法(如以上示例所示)。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Translation 参考文档。
Ruby
如需检测多个文本的语言,只需将多个字符串传递给 Translate#detect
方法(如以上示例所示)。
其他资源
- 如需有关解决常见问题或错误的帮助,请参阅问题排查页面。