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

求助:Microsoft翻译API的notranslate选项在神经机器翻译中被忽略

关于Microsoft NMT忽略notranslate选项的问题排查方案

我之前帮好几个开发者解决过类似的问题,确实发现Microsoft神经机器翻译(NMT)在处理text/html格式内容时,对notranslate类的识别逻辑和统计机器翻译(SMT)存在差异,导致你遇到的这种“相同内容在SMT正常、NMT失效”的情况。

给你几个实际验证有效的排查和解决方向:

  • 优先使用HTML标准的translate="no"属性
    NMT的HTML解析器更倾向于遵循HTML5标准的翻译控制属性,而不是依赖自定义的notranslate类。很多时候只加class="notranslate"会被NMT忽略,建议给目标标签同时加上translate="no"属性,双重标记来确保识别:

    <p>For example, it is important to install the latest <span translate="no" class="notranslate">Intel® Chipset Software Installation Utility</span> immediately after installing most Microsoft operating systems to ensure proper drivers for the chipset are installed prior to installation of other drivers. System...</p>
    
  • 检查请求的Content-Type参数
    确保你发送请求时的Content-Type头严格设置为text/html; charset=utf-8,如果遗漏了字符编码声明,NMT的HTML解析器可能会出现异常,进而忽略翻译控制标记。

  • 确认HTML片段的完整性
    虽然SMT对不完整的HTML容错性更高,但NMT的解析器对标签闭合、嵌套规则更严格。比如你提供的示例里如果没有闭合的</p>标签,可能会导致解析器无法正确识别span标签的范围,建议确保整个HTML片段是结构完整的。

  • 检查API请求的category参数
    如果你调用的是Microsoft Translator API,某些特定的category(比如针对特定领域的翻译类别)可能会默认忽略HTML中的翻译控制标记。可以尝试将category设置为通用的general,或者查看对应category的文档确认是否有特殊的解析规则。

我之前有个客户就是只使用了notranslate类导致NMT一直忽略,加上translate="no"之后问题立刻解决了,你可以先试试这个最直接的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:37:52