You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以JSON为输入使用Microsoft Translator Text API的Dynamic Dictionary功能?

用JSON调用微软翻译API的Dynamic Dictionary功能

我之前也被微软这个Dynamic Dictionary的文档绕晕过,结合你提到的那个Python示例,给你捋清楚怎么用JSON输入来实现这个功能:

核心思路

Dynamic Dictionary的作用就是强制让API把指定词汇翻译成你想要的结果,核心是在待翻译文本里加特定标签,同时告诉API要识别这些标签(通过设置textType参数)。

1. 给待翻译文本加字典标签

要指定词汇的翻译,你需要在文本里用<mstrans:dictionary>标签包裹目标词汇,格式是:

<mstrans:dictionary translation="目标语言翻译结果">源语言词汇</mstrans:dictionary>

比如你想让英文的"Contoso"翻译成中文的"康托索",待翻译文本就写成:
"The <mstrans:dictionary translation=\"康托索\">Contoso</mstrans:dictionary> team is working on a new project."

2. 调整API请求的参数

因为用到了HTML标签,必须在请求的查询参数里设置textType=html,不然API会把标签当成普通文本直接翻译,起不到字典的作用。

3. 基于Translate.py示例修改代码

把原来示例里的请求体和参数做调整,下面是修改后的完整代码片段:

import requests, uuid, json

# 替换成你自己的Azure翻译密钥和端点
key = "你的翻译API密钥"
endpoint = "你的翻译API端点"
path = '/translate'
constructed_url = endpoint + path

params = {
    'api-version': '3.0',
    'from': 'en',
    'to': ['zh-Hans'],
    'textType': 'html'  # 关键:必须设为html才能识别字典标签
}

headers = {
    'Ocp-Apim-Subscription-Key': key,
    'Ocp-Apim-Subscription-Region': '你的资源区域',
    'Content-type': 'application/json',
    'X-ClientTraceId': str(uuid.uuid4())
}

# 包含Dynamic Dictionary的JSON请求体
body = [{
    'Text': 'The <mstrans:dictionary translation="康托索">Contoso</mstrans:dictionary> team is working on a new project.'
}]

# 发送请求并打印结果
request = requests.post(constructed_url, params=params, headers=headers, json=body)
response = request.json()

print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))

4. 几个要注意的点

  • 别忘把代码里的密钥、端点、区域换成你自己Azure账户里的信息,不然请求会失败。
  • 如果要批量处理多个文本,直接在body数组里添加更多{"Text": "..."}对象就行,每个文本都可以单独加字典标签。
  • 标签里的translation值一定要和你指定的目标语言匹配,比如目标语是日文就写日文翻译,别搞混了。

内容的提问来源于stack exchange,提问作者Clay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:32:24