使用谷歌翻译API时出现无效值(400)

问题描述 投票:0回答:4

我的要求有什么问题吗?

我有俄语字符串:

$string = Потенциал, %

我想用谷歌 API 将其翻译成乌克兰语:

我对字符串进行urlencode:

$q = urlencode($string)

我请求谷歌API:

https://www.googleapis.com/language/translate/v2?q=%D0%9F%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0 %B0%D0%BB%2C%20%25&target=ua&source=ru&key=A...

我得到的回应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}

我的要求有什么问题吗?

google-api google-translate google-api-php-client
4个回答
12
投票

解决方案很简单。 Google 为乌克兰语提供了 UK 字母,而不是 UA


3
投票

目标应该是 uk 而不是 ua。我认为这会解决问题。


3
投票

就我而言,我试图翻译为“es-uy”,但尽管它是有效的语言代码,但 Google 不支持它。

API支持的语言代码如下: https://cloud.google.com/translate/docs/languages


0
投票

我在 SDL Trados 和 Google 中的目标语言不同,在 google 上它是库尔德 Sorani,在 Trados 上它的代码为 (ckb),它是同一种语言的一些不同名称,这甚至让 AI 很生气! 伊拉克中部库尔德地区 (ckb-IQ) 伊朗中部库尔德地区 (ckb-IR) 中部库尔德语(- Peros 阿拉伯语伊拉克 (ku -Arab-IQ) 库尔德语 - 波斯阿拉伯语 - 伊朗 (ku -Arab-IR) 它们都是完全相同的语言和方言,我已经告诉 SDL Trados 很多次了,但没有解决。

© www.soinside.com 2019 - 2024. All rights reserved.