Перевод HTML с сохранением вашей разметки.
Теги остаются тегами. Атрибуты остаются атрибутами. Имена классов, значения href, data-атрибуты — ничего из этого не меняется. Переводится только видимый текст, который действительно читают ваши пользователи.
Нарушенная разметка хуже, чем отсутствие перевода.
Отправка HTML через стандартный API перевода рискованна. Теги частично переводятся. Значения атрибутов повреждаются. Имена классов, которые не должны изменяться, меняются. В результате вывод выглядит правильно в виде простого текста, но ломается в браузере — и это происходит незаметно. Для сайта с большим количеством контента или экспорта из CMS исправление поврежденного HTML на 10 языках — это непрактичный рабочий процесс.
Что ещё хуже, стандартные API перевода часто переводят содержимое, которое никогда не должно изменяться — имена CSS классов, URL в href, атрибуты src, aria-метки с техническими идентификаторами и data-атрибуты. В результате HTML перестаёт корректно отображаться, а некоторые изменения настолько тонкие, что проходят визуальное тестирование, прежде чем вызвать ошибки во время выполнения.
Для HTML, сгенерированного CMS, шаблонов электронной почты или любого HTML, обрабатываемого программно, исправление после перевода не является опцией. Это становится скрытыми затратами на поддержку, которые нарастают с каждым обновлением контента.
PolyLingo анализирует DOM перед переводом.
PolyLingo рассматривает ваш HTML как документ, а не как строку. Он проходит по структуре DOM, определяет текстовые узлы с видимым содержимым и отправляет на перевод только их. Имена тегов, значения атрибутов, имена классов, href, data-атрибуты — ничего структурного не передается модели перевода. Выходной HTML валиден и структурно идентичен исходному.
PolyLingo использует парсер DOM, а не рассматривает HTML как простой текст. Перед переводом HTML разбирается в дерево узлов. Каждый узел классифицируется: текстовые узлы с естественным языком извлекаются для перевода, а элементные узлы, значения атрибутов, не являющиеся языковыми (имена классов, ID, href, src, data-атрибуты), и непереводимый контент (скрипты, стили, блоки кода) полностью исключаются.
Переведённые текстовые узлы затем вставляются обратно в исходную структуру DOM. Полученный HTML семантически эквивалентен исходному, с идентичным вложением тегов, значениями атрибутов и структурной разметкой. Меняется только видимый текст.
<article class="post">
<h1 class="post-title">How to build a multilingual site</h1>
<p>Building a <strong>multilingual website</strong> doesn't have to be
complicated. The key is choosing the right translation layer.</p>
<a href="/pricing" class="cta-button" aria-label="View pricing">
See our plans
</a>
<img src="/hero.png" alt="Multilingual platform dashboard" />
</article><article class="post">
<h1 class="post-title">Comment créer un site multilingue</h1>
<p>Créer un <strong>site web multilingue</strong> n'a pas à être
compliqué. La clé est de choisir la bonne couche de traduction.</p>
<a href="/pricing" class="cta-button" aria-label="Voir les tarifs">
Voir nos offres
</a>
<img src="/hero.png" alt="Tableau de bord de la plateforme multilingue" />
</article>Что переводится и что сохраняется
| Переводится | Сохраняется | |
|---|---|---|
| Текст между тегами | да | нет |
| Атрибут title (доступная метка) | да | нет |
| Альтернативный текст на изображениях | да | нет |
| Атрибуты aria-label | да | нет |
| Текст заполнителя в полях ввода | да | нет |
| Имена HTML тегов | нет | да |
| Атрибуты класса и ID | нет | да |
| URL в href и src | нет | да |
| Data-атрибуты | нет | да |
| Блоки скриптов и стилей | нет | да |
Что PolyLingo обрабатывает в каждом переводе HTML
- ✓Имена тегов и структура никогда не изменяются
- ✓Имена классов, ID, data-атрибуты остаются нетронутыми
- ✓Значения href и src ссылок сохраняются точно
- ✓Переводятся только видимые текстовые узлы
- ✓Языки с письмом справа налево: атрибут dir обрабатывается корректно
- ✓Работает с полными страницами, фрагментами и компонентами
- ✓Вложенный HTML — корректная обработка любой глубины вложенности элементов
- ✓HTML для электронной почты — сохранение встроенных стилей и табличных макетов
Как перевести HTML с PolyLingo
Отправьте ваш HTML в API
Отправьте POST-запрос с вашим HTML на /v1/translate. Установите формат в "html" или опустите этот параметр — PolyLingo автоматически определит HTML по содержимому. Укажите коды целевых языков.
Получите чистый, переведённый HTML
В ответе будет одна строка с переведённым HTML для каждого целевого языка. Каждый тег, класс, ID и атрибут точно такой же, как вы отправили. Изменился только текст на естественном языке.
Запишите в вашу CMS, шаблон или файл
Используйте переведённый HTML напрямую в вашей CMS, конструкторе писем, генераторе статических сайтов или любом другом инструменте, который работает с HTML. Не требуется дополнительная обработка или исправление.
Где нужен перевод HTML
Экспорт страниц и записей CMS
Headless CMS платформы хранят контент в виде HTML или форматированного текста, сериализуемого в HTML. PolyLingo переводит этот контент для каждой локали, сохраняя структуру и форматирование, созданные CMS.
Шаблоны электронной почты
HTML для писем очень хрупок — табличные макеты, встроенные стили и глубоко вложенные структуры ломаются при простом переводе. PolyLingo сохраняет всё это.
Описание товаров для электронной коммерции
Описания товаров часто содержат форматированный HTML со стилизованными списками, жирным текстом и структурированным содержимым. Массовый перевод требует точного сохранения формата, чтобы вывод отображался одинаково на всех языках.
Часто задаваемые вопросы о переводе HTML
Переводит ли PolyLingo атрибуты, такие как title и alt?
Да. Атрибуты alt на изображениях, title на элементах, aria-label и placeholder в формах распознаются как содержащие текст на естественном языке и переводятся. Атрибуты href и src, имена классов, ID и data-атрибуты не переводятся.
Что насчёт встроенного JavaScript или атрибутов стиля?
Теги script и style никогда не переводятся — их содержимое передаётся без изменений. Встроенные атрибуты стиля (style="...") также сохраняются точно. Переводится только текст на естественном языке.
Может ли PolyLingo обрабатывать полный HTML-документ, включая doctype и head?
Да. PolyLingo может обрабатывать полный HTML-документ с doctype, head и body. Элементы title, meta description и Open Graph в head переводимы. Канонический URL, meta charset и технические meta-теги сохраняются без изменений.
Работает ли он с HTML, сгенерированным редакторами rich-text, такими как ProseMirror или TipTap?
Да. HTML, созданный редакторами rich-text, сериализуется в стандартный HTML. PolyLingo обрабатывает любой валидный HTML независимо от способа его генерации. Парсер DOM работает с HTML-строкой, а не с каким-либо специфичным форматом редактора.
Что происходит с HTML-сущностями, такими как & или ©?
HTML-сущности декодируются перед переводом и повторно кодируются в выводе. Именованные сущности, такие как &, © и —, сохраняются. Числовые сущности также обрабатываются корректно. Переведённый вывод использует ту же кодировку сущностей, что и исходный текст.
Есть ли ограничение на размер файла для перевода HTML?
Отдельные запросы на перевод ограничены 64 КБ содержимого. Для больших документов (длинных статей, полных страниц) рекомендуется разбивать их по естественным границам (разделы, статьи) и собирать обратно после перевода. Это также помогает точности использования токенов.
Связанные руководства
Переводите ваш HTML без последующей очистки.
Бесплатный тариф. Без кредитной карты. Валидный HTML на выходе.
Начать бесплатный переводВставьте любой HTML и точно увидьте, что переводится, а что нет.