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 часто пропонує єдине практичне покриття.