DeepL API 1.8.7术语表未生效问题排查求助
问题根源及修复方案
你的术语表配置逻辑错误,导致DeepL无法触发术语替换:
- 术语表的键值对应关系必须是源语言(法语)术语 → 目标语言(英语)术语,但你当前配置的是英语术语之间的映射。源文本中需要替换的对应法语词是
fournisseur,你未在术语表中配置该条目,因此DeepL不会自动将翻译后的supplier替换为provider。
修复后的测试代码
public static void main(String[] args) throws DeepLException, InterruptedException { var client = new DeepLClient("********-****-****-****-************:fx"); // 修正术语表:以法语术语为键,对应目标英语术语 var glossaryEntries = new GlossaryEntries(Map.of( "fournisseur", "provider", "Fournisseur", "Provider" )); final GlossaryInfo glossaryInfo = client.createGlossary("my-glossary", "fr", "en", glossaryEntries); var englishTranslationOptions = new TextTranslationOptions(); englishTranslationOptions.setModelType("prefer_quality_optimized"); englishTranslationOptions.setFormality(Formality.PreferMore); englishTranslationOptions.setGlossaryId(glossaryInfo.getGlossaryId()); var response = client.translateText("L'acheteur demande au chef de projet d'appeler le fournisseur pour parler du temps.", "fr", "en-GB", englishTranslationOptions); System.out.println("Translation : "+response.getText()); // 预期输出: // The buyer asks the project manager to call the provider to discuss the weather. }
补充说明
- 术语表的匹配逻辑是:当源文本中出现术语表的键(源语言术语)时,DeepL才会将其替换为对应的值(目标语言术语),而非对翻译结果进行二次替换。
- 你配置的大小写对应条目可以覆盖首字母大写的场景,确保不同格式的术语都能被正确替换。
内容的提问来源于stack exchange,提问作者osalazard
相关产品推荐
相关产品推荐

