使用Azure转换器将文本从日语翻译为英语,但失败,错误为'400003'

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

我一直在探索文本翻译器的Azure认知服务,以将文本从一个来源翻译到另一个来源。就我而言,我想将日语文本翻译成英语。

我已按照文档进行操作,并使用python代码来完成上述任务。但是,从API获得响应时收到错误。

错误代码:400003消息:指定的一种语言无效。

在错误代码上找不到太多帮助。附上代码以供参考。任何建议/解决方法都将有所帮助。

    import os, requests, uuid, json
     key_var_name =subscription_key
     endpoint_var_name =endpoint_details_of_API
     path = '/transliterate?api-version=3.0'
     params = '&to=en'
     constructed_url = endpoint_var_name + path + params
     headers = {
     'Ocp-Apim-Subscription-Key':subscription_key',
     'Content-type': 'application/json',
     'Ocp-Apim-Subscription-Region': 'eastasia',
     'X-ClientTraceId': str(uuid.uuid4())
      }
      body =[{
      'text': 'こんにちは'
      }]
      request=requests.post(constructed_url,headers=headers,json=body)
      response=request.json()
      print(response)

python azure translation language
1个回答
0
投票

翻译和音译以及调用相应API的方式都不同。

由于您使用的是音译API,因此您需要指定要音译到/来自音译的脚本。

  • 日语的语言代码ja
  • 日语的脚本Jpan
  • 英语的语言代码en
  • 拉丁文的脚本Latn

更多信息:Language and region support for Translator

在python中构造API的URL应该看起来像这样:

path = '/transliterate?api-version=3.0'
params = '&language=ja&fromScript=jpan&toScript=latn'
constructed_url = endpoint_var_name + path + params

有关更多信息,请参见Quickstart: Use the translator to transliterate text。>

有关Transliterate API的更多信息,请参见Translator 3.0: Transliterate文档。这表明参数api-versionlanguagefromScripttoScript都是必需的。

编辑:

我刚刚测试了从日语到英语的翻译(not音译),并且行得通。至少,如果这是这样:こんにちは表示“ Hello”,那就可以了。音译可能没有必要。

私はこれが役立つことを愿っています。

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