AI-переклад контенту для вебсайтів
Автоматизований переклад контенту сайту кількома мовами за допомогою нейронних моделей. Швидка та недорога альтернатива людському перекладу для сайтів з великим обсягом.
Підходи до перекладу
Прямий API (Google Translate, DeepL) — найшвидший, підходить для некритичного контенту. Вартість: $15–20 за мільйон символів.
Fine-tuned моделі (Azure Translator, AWS Translate) — краще для специфічної термінології. 2–3 тижні налаштування.
Open-source (Argos, Ollama + Seamless M4T) — self-hosted, без вартості за запит, повна контроль.
Реалізація через DeepL API
import * as deepl from 'deepl-node';
const translator = new deepl.Translator(process.env.DEEPL_API_KEY);
async function translateContent(text, targetLang = 'UK') {
const result = await translator.translateText(text, null, targetLang);
return result.text;
}
// Масовий переклад
async function translatePage(page, languages = ['DE', 'FR', 'EN']) {
const translations = {};
for (const lang of languages) {
translations[lang] = {
title: await translateContent(page.title, lang),
description: await translateContent(page.description, lang),
body: await translateContent(page.body, lang),
};
}
return translations;
}
// Збереження в базу
async function saveTranslations(pageId, translations) {
for (const [lang, content] of Object.entries(translations)) {
await db.insert('page_translations', {
page_id: pageId,
language: lang,
title: content.title,
description: content.description,
body: content.body,
translated_at: new Date(),
});
}
}
SEO & Визначення мови
// Автоматичне виявлення мови користувача з заголовка
function getPreferredLanguage(request) {
const acceptLanguage = request.headers['accept-language'];
if (!acceptLanguage) return 'uk';
const languages = acceptLanguage.split(',').map(lang =>
lang.split(';')[0].trim().split('-')[0]
);
return languages[0] || 'uk';
}
// Hreflang теги для SEO
function generateHreflangs(path, languages = ['uk', 'de', 'fr', 'en']) {
return languages.map(lang =>
`<link rel="alternate" hreflang="${lang}" href="https://example.ua/${lang}${path}" />`
).join('\n');
}
Контроль якості
// Перевірка якості після перекладу
async function validateTranslation(original, translated, lang) {
const checks = [
// Довжина в межах 20% від оригіналу
Math.abs(translated.length - original.length) / original.length < 0.2,
// Без неперекладених placeholders (${var})
!/{{\w+}}/.test(translated),
// Правильна пунктуація
/[.!?;:]$/.test(translated),
];
return checks.every(c => c);
}
// Переклад з глосарієм
async function translateWithGlossary(text, lang, glossary) {
return translator.translateText(text, null, lang, {
glossary: glossary, // Custom term mappings
});
}
Терміни
- Налаштування API перекладу — 1 день
- Масовий переклад існуючого контенту — 2–3 дні
- Виявлення мови + маршрутизація — 1–2 дні
- SEO (hreflang, атрибути lang) — 1 день
- Перевірка якості + управління глосарієм — 2–3 тижні постійно







