DeepL API
Коротко: API для перевода, позволяющий программно переводить тексты с одного языка на другой; известен переводами, звучащими заметно естественнее, чем у многих альтернатив.
Подробнее: Работает с ключом API (DEEPL_API_KEY); бесплатного плана «API Free» хватает для небольших проектов. Практический шаблон: если ключа нет, код аккуратно возвращается к исходному языку вместо сбоя — как и с другими необязательными сервисами (например, Cloudflare Turnstile, Pusher).
Наш контекст: В Emzett он автоматически переводит содержимое, которое next-intl не охватывает (потому что next-intl работает только с жёстко заданными текстами интерфейса, а не с содержимым базы данных): новости, письма рассылки и push-уведомления автоматически переводятся на английский при сохранении и доставляются каждому получателю на его сохранённом языке.
Подробности
Машинный перевод можно грубо разделить на два поколения: старые статистические/основанные на правилах системы, переводящие слово за словом или на основе больших статистик пар переводов, и новые системы на нейронных сетях (глубокое обучение), рассматривающие целые предложения в контексте. DeepL относится ко второму поколению, основан в 2017 году на базе компании по изучению языков Linguee — огромная коллекция пар предложений, переведённых людьми и собранная Linguee за годы, дала именно те обучающие данные, которые нужны модели нейронного перевода. DeepL намеренно специализируется на качестве перевода, в отличие от универсальной языковой модели (например, GPT или Claude), которая владеет переводом лишь «попутно» как одним из многих умений — в слепых тестах DeepL регулярно справляется лучше Google Translate для многих языковых пар, особенно внутри Европы, прежде всего с идиоматическими выражениями и порядком слов.
Параметры API и вежливость
Практически важно для интеграции: API различает исходный язык (необязательный; если опущен, определяется автоматически распознаванием языка) и целевой язык (обязательный) и предлагает параметр formality для языков с различением формального/неформального «ты/вы» (немецкий, французский и другие) — удобно для деловой коммуникации, где последовательно должна использоваться вежливая форма, даже если исходный материал сформулирован менее формально. Частое препятствие — форматирование HTML/Markdown в тексте: без специальной обработки API переводит и содержимое внутри тегов или меняет синтаксис Markdown, что может разрушить форматирование; для этого API предлагает режим tag_handling ("html" или "xml"), оставляющий определённые теги при переводе структурно нетронутыми и переносящий только текст между ними.
const result = await fetch("https://api-free.deepl.com/v2/translate", {
method: "POST",
headers: { Authorization: `DeepL-Auth-Key ${process.env.DEEPL_API_KEY}` },
body: new URLSearchParams({ text, target_lang: "EN", formality: "more" }),
})Стратегия отката и лимиты
Надёжный шаблон интеграции последовательно рассматривает DeepL как необязательное улучшение, а не жёсткую зависимость: если ключа API нет, запрос не удался или исчерпана квота бесплатного плана «API Free» (500 000 символов в месяц), приложение должно аккуратно вернуться к исходному языку, а не полностью упасть — тот же шаблон, что и с другими необязательными сервисами (например, Cloudflare Turnstile, Pusher). Важно также, что машинный перевод юридически значимых или особо чувствительных текстов (условия использования, медицинское содержание) всегда должен проверять человек — DeepL хорош, но не безошибочен, а ошибки перевода в юридических текстах могут иметь реальные последствия.
В сравнении с альтернативами
Google Cloud Translation охватывает гораздо больше языков (свыше 100 против примерно 30 у DeepL), но склонен быть менее естественным по формулировкам для европейских пар языков. Microsoft Translator выигрывает хорошей интеграцией с экосистемой Microsoft (Office, Azure). Для проекта, который в основном переводит между европейскими языками и ценит естественно звучащие результаты, DeepL обычно лучший выбор; для очень многих или экзотических языковых пар (например, немецкий–суахили) Google часто предлагает единственное практичное покрытие.