用途
DeepL Translation Skill 用于通过 DeepL API 翻译文本、文档和 XLIFF 文件。它提供三个命令:/deepl translate 翻译自由文本,/deepl file 翻译文档,/deepl xliff 翻译 XLIFF 文件。
配置
必需环境变量:
- DEEPL_API_KEY:DeepL API 密钥
可选环境变量:
- DEEPL_TARGET_LANG:默认目标语言(默认值:DE)
API 密钥可在 https://www.deepl.com/pro-api 获取。
主要能力
/deepl translate
翻译自由文本。
语法:
/deepl translate "<text>" [--to LANG] [--from LANG]
示例:
/deepl translate "Hello, how are you?" /deepl translate "Guten Morgen" --to EN /deepl translate "Bonjour" --from FR --to DE
/deepl file
翻译文档(DeepL 原生格式)。
支持的格式:
- Microsoft Word:.docx
- Microsoft PowerPoint:.pptx
- PDF:.pdf(仅 Pro)
- HTML:.html、.htm
- Plain Text:.txt
语法:
/deepl file <path> [--to LANG] [--from LANG] [--output <path>]
示例:
/deepl file README.txt --to EN /deepl file document.docx --to FR --output document_fr.docx
/deepl xliff
翻译 XLIFF 文件(TYPO3、Symfony 等)。
语法:
/deepl xliff <path> [--to LANG] [--force] [--dry-run] [--output <path>]
选项:
- --force:所有翻译重新创建
- --dry-run:仅显示将要翻译的内容
- --output <path>:写入新文件
示例:
/deepl xliff locallang.xlf --to DE /deepl xliff locallang.xlf --force --to FR /deepl xliff locallang.xlf --dry-run
使用方式
通用选项
- --to <LANG>:目标语言(例如 EN、DE、FR)
- --from <LANG>:源语言(否则自动检测)
API 配置
API 密钥检查:每次 API 调用前检查 DEEPL_API_KEY 是否已设置。
API 端点确定:DeepL Free 密钥以 :fx 结尾,使用 https://api-free.deepl.com/v2;否则使用 https://api.deepl.com/v2。
目标语言确定:TARGET_LANG="${DEEPL_TARGET_LANG:-DE}",可被 --to 覆盖。
有效语言代码
BG, CS, DA, DE, EL, EN, EN-GB, EN-US, ES, ET, FI, FR, HU, ID, IT, JA, KO, LT, LV, NB, NL, PL, PT, PT-BR, PT-PT, RO, RU, SK, SL, SV, TR, UK, ZH, ZH-HANS, ZH-HANT
错误处理
HTTP 状态码:
- 200:成功,继续
- 400:Bad Request,检查参数
- 403:Forbidden,API 密钥无效
- 404:Not Found,检查端点
- 413:Payload too large,文本/文件过大
- 429:Too Many Requests,等待 1 秒,最多重试 3 次
- 456:Quota exceeded,检查 DeepL 账户
- 5xx:Server Error,使用退避重试
重试逻辑:最多重试 3 次,等待时间从 1 秒开始指数增长。
验证
API 调用前始终检查:
- DEEPL_API_KEY 是否已设置
- 文件是否存在(file/xliff 时)
- 文件格式是否支持
- 目标语言是否有效
适用场景
- 翻译自由文本
- 翻译 Word、PowerPoint、PDF、HTML、纯文本等文档
- 翻译 XLIFF 文件,适用于 TYPO3、Symfony 等本地化场景
限制
- PDF 格式仅 Pro 账户支持
- 需要有效的 DeepL API 密钥
- 文档翻译需要上传、轮询状态、下载结果
- XLIFF 翻译依赖 xmllint 进行 XML 验证,XML 更新在 Bash 中较复杂,建议使用 Python
- 具体收费、价格、平台等信息暂未提供