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

使用Google Cloud翻译API批量翻译Docx时术语表参数错误排查

解决Google Cloud翻译API术语表配置错误

错误原因

你遇到的INVALID_ARGUMENT错误,核心问题是术语表的配置方式不符合API要求:

  • batchTranslateDocument接口的glossaries字段不能直接在请求中上传TMX文件,必须引用GCP项目中已经创建完成的术语表资源
  • 单向术语表需要明确绑定对应的目标语言,确保和翻译请求的targetLanguageCodes完全匹配

解决步骤

1. 先在GCP中创建术语表

用gcloud命令行(或GCP控制台、API)创建术语表,替换成你的项目信息:

gcloud translate glossaries create ar2en-glossary \
  --source-language=ar \
  --target-languages=en \
  --input-file=gs://legrandtimonier1951/glossaries/ar2en1.tmx \
  --location=global \
  --project=sixth-sequencer-373709

执行完成后,会得到术语表的资源名称,格式为:projects/sixth-sequencer-373709/locations/global/glossaries/ar2en-glossary

2. 修改代码中的术语表配置

替换原代码中glossaryConfig和request里的相关部分,修改后的代码片段如下:

async function translateDocxFile(inputPath, outputPath, targetLanguage) {
  // 保留原有inputConfig、outputConfig代码不变

  // 修正后的术语表配置
  const glossaryConfig = {
    glossary: "projects/sixth-sequencer-373709/locations/global/glossaries/ar2en-glossary", // 替换为你创建的术语表资源ID
    targetLanguageCode: targetLanguage // 明确绑定目标语言
  };

  // 修正后的请求结构
  const request = {
    parent: `projects/${projectId}/locations/global`,
    sourceLanguageCode: sourceLanguage,
    targetLanguageCodes: [targetLanguage],
    inputConfigs: [inputConfig],
    outputConfig: outputConfig,
    glossaries: [glossaryConfig],
  };

  // 保留原有try/catch代码不变
}

关键修改说明

  • 移除了原代码中直接上传TMX的inputConfig和languageCodesSet配置,改为引用已创建的术语表资源ID
  • 添加targetLanguageCode字段,明确指定术语表对应的目标语言,确保和翻译请求的目标语言完全一致
  • 术语表的源语言(阿拉伯语ar)和翻译请求的sourceLanguageCode必须匹配,否则仍会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:33:10