Синтез речи для сайтов WordPress с Weglot: что реально работает

1 мин чтения 14 мин прослушивания
Синтез речи для сайтов WordPress с Weglot: что реально работает

Большинство плагинов синтеза речи заявляют о совместимости с Weglot, но на практике мало кто обрабатывает это корректно. Всё дело в том, как плагин читает контент. Плагины, которые берут текст из базы данных WordPress, упускают переведённую версию, которую Weglot отдаёт посетителям. Плагины, которые определяют активный язык Weglot и читают из отрендеренной страницы, генерируют аудио, совпадающее с тем, что видит посетитель.

В этой статье объясняется техническая причина проблемы, приводится список требований к настоящей поддержке Weglot и разбирается, как с этим справляется каждый крупный плагин озвучки.

Почему Weglot ломает большинство плагинов озвучки

Weglot работает иначе, чем WPML и Polylang. Те плагины создают отдельные записи для каждого языка. Испанский перевод хранится как отдельная строка в базе данных WordPress со своим ID записи, слагом и контентом.

Weglot так не делает. Он переводит страницы на лету. Оригинальный английский контент остаётся в базе данных. Когда посетитель переключается на испанский, Weglot перехватывает HTML-ответ и переписывает видимый текст до того, как он попадает в браузер. База данных при этом не меняется.

Для синтеза речи это принципиально важно. Типичный плагин озвучки срабатывает на хуке вроде save_post или the_content. Он читает $post->post_content, отправляет текст поставщику голосов и сохраняет MP3-файл. Этот MP3 воспроизводится вне зависимости от того, на каком языке находится посетитель.

Итог: испаноязычный посетитель видит испанский текст и слышит английское аудио. Плеер загружается, голос звучит, но несоответствие языков разрушает восприятие и сводит на нет пользу для доступности, ради которой плагин и устанавливался.

Плагин с поддержкой Weglot обязан делать три дополнительных вещи. Определять текущий язык Weglot посетителя в момент запроса. Генерировать аудио из переведённого текста, а не из содержимого базы данных. И кэшировать аудио по языкам, чтобы следующий посетитель на испанском не запускал новую платную генерацию.

Диаграмма, сравнивающая TTS на основе базы данных, игнорирующий переводы Weglot, с TTS на основе DOM, который генерирует аудио под каждый язык
Плагины на основе базы данных генерируют аудио один раз из исходного поста. Плагины на основе DOM генерируют аудио из переведённой страницы, которую отдаёт Weglot.

Что требует настоящая поддержка Weglot

Используйте этот список из пяти пунктов для оценки любого плагина озвучки.

  1. Плагин определяет активный язык Weglot посетителя по URL или через Weglot API.
  2. Плагин генерирует аудио из переведённого контента, а не из сырого значения в базе данных.
  3. Плагин кэширует аудиофайл по языкам, чтобы каждый язык генерировался только один раз.
  4. Плагин позволяет назначить конкретный голос для каждого языка, чтобы французский контент звучал французским голосом.
  5. Плагин поддерживает пакетную предварительную генерацию для всех включённых языков Weglot, чтобы посетители не ждали первого синтеза.

Большинство плагинов соответствуют одному-двум из этих требований. Единицы — всем пяти.

Как крупные плагины синтеза речи работают с Weglot

Мы изучили публичную документацию, страницы на WordPress.org и описания каждого из перечисленных ниже плагинов. У некоторых разработчиков может быть недокументированная обработка Weglot. Если это не задокументировано, рассчитывать на это нельзя.

ПлагинОпределяет язык WeglotЧитает переведённый DOMКэш по языкамГолос на языкПакетная генерация по языкам
TTSWPДаДаДаДаДа (Pro и Agency)
BeyondWordsНе задокументировано (многоязычность ручная: вторичные языки добавляются в настройках плагина, язык выбирается для каждого поста)Нет (отправляет контент поста в BeyondWords API из базы данных WordPress, а не из отрендеренной страницы)Аудио хранится по посту и выбранному языку, но только при ручной установке языка для каждого постаДа (основной голос плюс вторичные языки и голоса, выбираемые для каждого поста)Пакетная генерация аудио есть, но только для языка, установленного в каждом посте. Автоматической пакетной генерации по языкам Weglot нет
Trinity AudioНе задокументированоПлеер читает отрендеренный текст статьи при загрузке, но перевод в реальном времени ограничен 6 языками и является отдельной функциейАудио генерируется на сервере по посту на языке, заданном для этого поста. Кэширование по языкам Weglot не задокументированоДа, но по посту (ручной выбор языка на уровне поста)Не задокументировано
GSpeechНе задокументировано. Многоязычный режим официально поддерживает GTranslate, WPML, Polylang и TranslatePress. Weglot в списке отсутствуетДа (читает DOM в момент клика)Для Weglot не задокументированоДа для перечисленных плагинов многоязычности (автоматический выбор голоса по активному языку сайта). Поведение с Weglot не задокументированоНе задокументировано
ResponsiveVoiceДа (читает DOM при клике)Да (браузерный Web Speech API)Н/П (аудиофайл не сохраняется)Да (параметры языка и голоса доступны в шорткодах и настройках, привязаны к голосам Web Speech API)Н/П (предварительная генерация не предусмотрена)
VoicerНе задокументировано. WPML — единственная многоязычная интеграция, упомянутая в описании плагинаДа (читает выделенный текст из DOM и отправляет в Google Cloud TTS при клике)Н/П для воспроизведения в реальном времени. Голос на элемент можно задать через CSS-класс, например voicer-voice-en-GB-Wavenet-AДа, но настраивается вручную через CSS-класс на элемент, а не автоматически по языку WeglotН/П (предварительная генерация не предусмотрена)

TTSWP

TTSWP определяет активный язык Weglot в момент запроса и генерирует аудио из отрендеренного перевода. Каждый язык получает собственный кэшированный MP3-файл. В плагине есть экран Language Voice Mapping, где вы назначаете отдельный голос для каждого языка Weglot. Пакетная генерация в планах Pro и Agency предварительно создаёт аудио для всех включённых языков. Полная интеграция задокументирована на странице интеграции с Weglot.

BeyondWords

BeyondWords специализируется на нейронных голосах и функциях аудио-CMS для редакций и крупных издателей. Публичная документация не описывает специфическую обработку Weglot. Плагин генерирует аудио при публикации из сохранённого контента поста, а значит переводы Weglot не подхватываются автоматически. BeyondWords — хороший выбор для одноязычных издателей. Пользователям Weglot стоит тщательно всё проверить перед тем, как делать ставку на этот плагин.

Trinity Audio

Trinity Audio — SaaS-платформа с коннектором для WordPress. Плеер загружается как JavaScript, читает текст статьи из DOM при инициализации и отправляет его на серверы Trinity для генерации аудио. Публичная документация не описывает определение языка Weglot или назначение голоса по языкам. Бесплатный план охватывает до 5 статей в месяц с доступом к 125+ языкам и 600+ голосам.

GSpeech

GSpeech использует Google Cloud Text-to-Speech и добавляет кнопку прослушивания к постам. Публичная документация не упоминает Weglot. Плагин читает видимый контент страницы в момент клика, поэтому при уже переключённом языке может генерировать переведённое аудио. Назначение голоса по языкам не задокументировано.

ResponsiveVoice

ResponsiveVoice работает полностью в браузере через Web Speech API. Поскольку он читает текст из отрендеренного DOM в момент нажатия кнопки воспроизведения, переводы Weglot учитываются автоматически. Качество голоса ниже, чем у облачных провайдеров, а коммерческое использование требует платного плана. Плагин последний раз обновлялся 14 апреля 2025 года (версия 1.7.15), то есть активная поддержка не ведётся уже более года.

Voicer

Voicer использует голоса Google Cloud и продвигает поддержку WPML. Weglot в публичной документации не упоминается. Плагин генерирует аудио при публикации из базы данных, поэтому для работы многоязычного аудио требуется система переводов на уровне базы данных, как WPML.

Закономерность очевидна. Плагины, генерирующие аудио при публикации из базы данных, нуждаются в системе переводов на уровне базы данных, как WPML. Плагины, генерирующие аудио в момент запроса из DOM, могут работать с Weglot. TTSWP построен по второй модели: с назначением голоса по языкам и кэшированием по языкам.

Как проверить совместимость Weglot и синтеза речи за пять минут

Выполните этот тест с любым плагином озвучки, который вы рассматриваете. Для этого нужен тестовый сайт с активным Weglot и хотя бы одним включённым целевым языком.

  1. Установите плагин озвучки и активируйте его.
  2. Откройте пост на языке по умолчанию. Убедитесь, что аудиоплеер отображается и воспроизводит звук корректно.
  3. Переключите язык через переключатель Weglot на целевой. Не обновляйте страницу.
  4. Нажмите кнопку воспроизведения в аудиоплеере.
  5. Слушайте десять секунд.

Три варианта результата покажут, как работает плагин.

Аудио воспроизводится на исходном языке. Плагин читает из базы данных, а не из переведённого DOM. Weglot реально не поддерживается.

Аудио воспроизводится на целевом языке, но с неправильным голосом или роботизированным. Плагин определяет язык, но не умеет назначать голос по языкам. Приемлемо только для задач доступности, не для брендового качества.

Аудио воспроизводится на целевом языке естественным голосом, подходящим к языку. Плагин корректно работает с Weglot. Проверьте аудиобиблиотеку после теста и убедитесь, что файл был закэширован, а не генерируется заново при каждом воспроизведении.

Повторите тест со вторым целевым языком, чтобы убедиться в корректной работе кэша для нескольких языков.

Какой плагин подходит для каких задач

Правильный выбор зависит от ваших приоритетов и бюджета.

Вы уже используете Weglot и хотите профессиональное аудио на каждом языке. TTSWP оказался единственным плагином из протестированных, который документирует и реализует все пять требований к работе с Weglot. Назначение голоса по языкам, кэширование по языкам и пакетная генерация включены. Начните с бесплатного плана.

Вы публикуете одноязычный контент и вам нужны корпоративные аудиофункции. BeyondWords предлагает более мощный аудио-CMS, распространение в подкастах и клонирование голоса. Если вы не используете Weglot, отсутствие его поддержки значения не имеет.

Вы хотите бесплатное решение и готовы к базовым браузерным голосам. ResponsiveVoice читает из DOM и автоматически работает с Weglot, но с ограниченным качеством голоса и условиями лицензирования.

Вы уже используете WPML, а не Weglot. Большинство плагинов справятся, потому что WPML хранит переводы в базе данных. TTSWP работает с WPML через отдельную интеграцию с WPML.

Вы выбираете и систему перевода, и плагин озвучки одновременно. Если качество аудио и охват языков важны, выбирайте TTSWP плюс Weglot. Если нужен редакторский контроль переводчиков над каждым переводом, выбирайте WPML и любой плагин озвучки с поддержкой WPML.

Часто задаваемые вопросы

Переводит ли Weglot аудиофайлы автоматически?

Нет. Weglot переводит HTML, JSON и несколько других текстовых форматов. MP3-файлы он не переводит. Плагин озвучки должен самостоятельно генерировать новый аудиофайл на каждом языке из переведённого текста. TTSWP делает это при первом запросе, затем кэширует результат, чтобы то же аудио обслуживало все последующие визиты на этом языке.

Можно ли использовать голоса ElevenLabs с Weglot?

Да. TTSWP по умолчанию использует голоса ElevenLabs. В экране Language Voice Mapping вы можете назначить отдельный голос ElevenLabs для каждого языка Weglot. ElevenLabs поддерживает широкий спектр языков, поэтому большинство языковых пар Weglot покрываются естественно звучащим голосом.

Будет ли аудио перегенерироваться каждый раз, когда Weglot обновляет перевод?

Нет. Аудио кэшируется по языку и по посту. Если вы редактируете исходный пост, TTSWP может перегенерировать аудио. Если Weglot обновляет перевод в своём дашборде, существующее аудио остаётся в кэше. Нажмите «Перегенерировать» в списке постов или воспользуйтесь пакетной генерацией, чтобы принудительно обновить аудио, когда перевод изменился.

Работает ли это с поддиректориями и поддоменами Weglot?

Да. TTSWP читает активный язык из Weglot, а не из структуры URL. Оба варианта — поддиректории (example.com/es/) и поддомены (es.example.com) — работают одинаково. Плагин запрашивает у Weglot, какой язык активен для текущего запроса, и генерирует или отдаёт соответствующий аудиофайл.

Сколько стоит многоязычное аудио?

Каждый поддерживаемый язык использует кредиты при первой генерации аудио на этом языке для каждого поста. Пост в 1000 символов на пяти языках потребует около 5000 кредитов при первом воспроизведении по всем языкам. После этого закэшированный файл воспроизводится без дополнительных затрат. Полный расчёт смотрите в документации по кредитам.

Следующий шаг

Попробуйте TTSWP на своём сайте с Weglot. Установите бесплатную версию с WordPress.org, активируйте интеграцию с Weglot в дашборде Overview и назначьте голос для каждого языка. Бесплатный план покрывает достаточно символов, чтобы протестировать два-три коротких поста на двух языках. Если возникнут вопросы, документация по интеграции с Weglot охватывает все краевые случаи, которые мы встречали в работе.

Озвучка товаров WooCommerce: практическое руководство

Озвучка товаров WooCommerce: практическое руководство

Как добавить аудионарративы на страницы товаров WooCommerce, чтобы увеличить время на странице, улучшить видимость в AI-поиске, расширить многоязычный охват и обеспечить доступность — с конкретными шагами настройки.

1 мин чтения Has audio
Европейский акт о доступности и WordPress: руководство по соответствию 2026

Европейский акт о доступности и WordPress: руководство по соответствию 2026

Что Европейский акт о доступности означает для владельцев сайтов на WordPress в 2026 году: кто обязан соблюдать требования, какие штрафы предусмотрены и о каком заявлении о доступности почти никто не говорит.

1 мин чтения Has audio