Реализация AI-перевода контента сайта

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация AI-перевода контента сайта
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Реализация AI-перевода контента сайта

Машинный перевод прошёл долгий путь от PROMT до нейросетевых моделей. Современные LLM-переводы сопоставимы с профессиональными по качеству для большинства языковых пар и предметных областей, а по скорости и стоимости — вне конкуренции.

Выбор провайдера

DeepL API — лучшее качество для европейских языков, особенно немецкого, французского, нидерландского. Бесплатный тариф: 500 000 символов в месяц. Платный от $5.49/месяц за 1M символов. Поддерживает сохранение форматирования HTML.

Google Cloud Translation — 135 языков, включая редкие. Basic API (v2) работает с простым текстом, Advanced (v3) понимает HTML и поддерживает глоссарии. Цена: $20 за 1M символов после бесплатного лимита в 500 000 символов.

OpenAI / Anthropic — не специализированные переводчики, но отлично справляются с контекстуальным переводом, сохранением тона и специфической терминологии. Дороже DeepL, но гибче в настройке.

LibreTranslate — open-source, можно развернуть локально. Качество ниже, но нет зависимости от внешних API и нет стоимости за запрос.

Интеграция DeepL

import deepl

translator = deepl.Translator(auth_key="your-api-key")

def translate_text(text: str, target_lang: str = "RU", source_lang: str = None) -> str:
    result = translator.translate_text(
        text,
        target_lang=target_lang,
        source_lang=source_lang,
        tag_handling="html",  # сохраняет HTML-теги
        preserve_formatting=True
    )
    return result.text

def translate_batch(texts: list[str], target_lang: str) -> list[str]:
    results = translator.translate_text(texts, target_lang=target_lang)
    return [r.text for r in results]

Перевод HTML-контента

Прямой перевод HTML-строки без обработки разрушает разметку. DeepL и Google Translation API поддерживают tag_handling="html" — они переводят только текстовые узлы, не трогая атрибуты и теги.

Для кастомной обработки используйте BeautifulSoup:

from bs4 import BeautifulSoup

def translate_html_content(html: str, target_lang: str) -> str:
    soup = BeautifulSoup(html, "html.parser")
    text_nodes = soup.find_all(text=True)

    for node in text_nodes:
        if node.parent.name in ["script", "style", "code", "pre"]:
            continue
        if node.strip():
            translated = translate_text(str(node), target_lang)
            node.replace_with(translated)

    return str(soup)

Глоссарии и терминология

Для специализированных сайтов (медицина, право, техника) стандартный перевод даёт неточную терминологию. DeepL поддерживает глоссарии:

glossary = translator.create_glossary(
    "Medical terms RU-EN",
    source_lang="RU",
    target_lang="EN-US",
    entries={
        "инфаркт миокарда": "myocardial infarction",
        "артериальное давление": "blood pressure",
        "анамнез": "medical history"
    }
)

result = translator.translate_text(
    text,
    target_lang="EN-US",
    glossary=glossary
)

Стратегия кэширования

Переводить один и тот же контент при каждом запросе — расточительство. Стратегии хранения:

Отдельная таблица переводовcontent_translations(content_id, locale, field, translated_text, translated_at, source_hash). При изменении исходного контента source_hash меняется, перевод помечается устаревшим.

Файловый кэш для статических сайтов — переводы сохраняются как JSON-файлы рядом с исходным контентом.

Redis для временного кэша — ключ translation:{lang}:{sha256(text)}, TTL 30 дней.

Автоматический перевод при публикации

Типичный воркфлоу для многоязычного CMS:

  1. Редактор публикует контент на основном языке
  2. Webhook или событие в очереди запускает задачу перевода
  3. Воркер переводит все поля параллельно через batch-запросы
  4. Переводы сохраняются со статусом auto_translated
  5. Переводчик-редактор проверяет и при необходимости правит; статус меняется на reviewed
  6. Фронтенд показывает предупреждение для auto_translated контента (опционально)

Обнаружение языка

Перед переводом нужно знать исходный язык. Не полагайтесь только на настройки сайта — пользователь может вставить текст на другом языке.

# Google Cloud Translation
from google.cloud import translate_v2 as translate

def detect_language(text: str) -> str:
    client = translate.Client()
    result = client.detect_language(text)
    return result["language"]  # "ru", "en", "de", ...

Сроки

Интеграция DeepL/Google Translation API с базовым кэшем — 3–4 дня. Автоматический перевод при публикации через очередь — плюс 2–3 дня. Глоссарии и workflow проверки — плюс 2 дня.