WPML
Выпущено
21 октября 2026
Канал
Стабильная
Протестировано с WordPress
7.1
Продукт
WPML Multilingual CMS

Журнал изменений

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

Что нового

  • Автоматический перевод больше не оставляет задания в процессе, если на счету нет средств: он приостанавливается с сообщением «Перейти к оплате» и возобновляется после оплаты.
  • Список контента в Панели управления переводами переработан: он работает на сайтах с большим количеством языков, выводит каждую запись один раз, а его фильтры статуса соответствуют столбцу.
  • Изменение параметра перевода произвольного поля обновляет Ваш существующий контент в виде отслеживаемой фоновой задачи, а настройки объясняют, что делает каждый параметр.
  • При небольших правках переведенного контента больше не теряются существующие переводы и не взимается плата как за полный новый перевод.
  • Название и описание рубрики или метки переводятся и оплачиваются один раз, а не при каждом их использовании в записи.
  • Вариации товаров больше не участвуют в режиме «Переводить все», а созданные ранее пустые задания для вариаций удалены.
  • Отмена задания для уже переведенного контента восстанавливает его предыдущее состояние.
  • Экраны админ-панели WPML следуют Вашему языку админ-панели, включая языки с написанием справа налево.
  • Количество комментариев отображается для каждого языка, а статусы записей остаются синхронизированными между оригиналами и их переводами.
  • Режим проверки сохраняется для каждого пакета переводов, а Расширенный редактор переводов отмечает тексты медиафайлов и таксономий, оригинал которых изменился.
  • Мультисайт: мастер настройки подсайта корректно обрабатывает ключ сайта без ошибочного запроса пользователей, и подсайты больше не сообщают о несовпадении ключа сайта.
  • Приоритет перевода удален, а функция «Сбросить WPML» заблокирована, пока на сайте остаются дополнительные языки.
  • Проверка связи сайта с wpml.org включает данные о его настройке и состоянии автоматического перевода; один флажок согласия в мастере настройки и разделе «Настройки» управляет отправкой Вашей статистики контента и списка плагинов.
  • Все дополнения WPML собираются из того же источника, что и WPML, и выпускаются одновременно с ним.
  • Каждое дополнение WPML содержит ту же версию общей библиотеки, что и WPML, поэтому уведомление «WPML Update is Incomplete» остается переведенным независимо от того, какой плагин загружается первым.
  • Усиление безопасности: более строгая обработка сохраненных данных, проверка вводимых данных в запросах, более безопасное удаление файлов, имена файлов и пути включения, а также экранирование сохраненных значений.
  • Если роль администратора потеряла возможности WPML, WPML восстанавливает их, поэтому новые администраторы видят все функции WPML.
  • Предупреждение мастера настройки о минимальных требованиях больше нельзя пропустить и затем потерять.
  • Если отправка контента на перевод не удалась из-за проблемы с базой данных, во всплывающем окне отображаются сведения об ошибке.
  • Если WPML не может прочитать доступные слова Вашей учетной записи, он показывает понятный статус и сообщение.
  • Задание, которое постоянно завершается с ошибкой наряду с успешно созданными, больше не повторяется бесконечно.
  • Во время сбоя соединения, который может завершить только новая отправка, баннер больше не показывает обратный отсчет до повторной попытки.
  • В Очереди переводов статусы, отмеченные в фильтре статусов, остаются отмеченными после загрузки списка заданий.
  • Уведомление «Your automatic translation pricing has been upgraded» в Панели управления переводами теперь показывает свое содержимое, а не остается пустым.
  • Выбор «Копировать из исходного языка, если язык перевода использует закодированные URL-адреса» предупреждает Вас, когда ни один активный язык не использует закодированные URL-адреса.
  • Выпадающие переключатели языков теперь открываются с клавиатуры и по клику, а также сообщают программам чтения с экрана, открыты ли они.
  • Значок выпадающего списка переключателя языков появляется только тогда, когда есть переводы для выбора.
  • Переключатель языков отключается, если на сайте только один активный язык.
  • Переключатель языков в годовом архиве произвольного типа записи ссылается на правильный архив.
  • Предварительный просмотр записей и страниц использует правильный адрес на сайтах с настройкой «Свой домен для каждого языка».
  • Список записей показывает правильный значок для перевода в процессе.
  • Контент с элементами времени сохраняет свой HTML-код нетронутым при разделении для перевода.
  • Работа в нескольких вкладках браузера больше не смешивает языки в редакторе блоков.
  • Информация о языковых парах, кэшированная из Расширенного редактора переводов, больше не устаревает и восстанавливается автоматически.
  • Подключение перевода к другой группе переводов больше не завершается ошибкой при сообщении об успешном выполнении.
  • Списки иерархических типов записей в админ-панели, таких как страницы, больше не выполняют запрос перевода для каждой записи, что приводило к сбою на хостингах, ограничивающих размер запроса.
  • Автоматический перевод рубрик, меток и других элементов стал более надежным.
  • Старые адреса инструментов поддержки в админ-панели ведут на единую страницу «Поддержка» вместо отдельных копий.
  • Блоки, автоматически обнаруженные в конструкторах на основе полей, таких как Meta Box, предлагают для перевода только свои текстовые атрибуты.
  • Avada: виджет Fusion Post Cards переводится.
  • WP User Manager: переключатель языков на странице профиля ведет на переведенную страницу профиля, а не на общую.
  • Если переподключение скопированного или перемещенного сайта не удается, WPML больше не удаляет его ключ сайта, поэтому обновления и автоматический перевод продолжают работать.
  • Атрибут шорткода, зарегистрированный как закодированный в base64, но фактически содержащий обычный текст, теперь можно перевести.

Производительность

  • Сохранение страницы или шаблона, включая шаблоны Elementor, больше не перезаписывает неизмененные переводы, поэтому сохранение на сайтах с большим количеством языков происходит намного быстрее.
  • Страницы фронтенда на сайтах WooCommerce загружаются быстрее: правила URL больше не перечитываются для каждого элемента товара.
  • Кэшированный запрос фронтенда больше не опрашивает базу данных о языковых таблицах WPML при каждом просмотре страницы.
  • Запросы фронтенда больше не записывают прогресс обновления и не перечитывают структуру таблиц WPML.
  • Экраны редактирования записей больше не ждут ответа от системы перевода при каждой загрузке, а неудачный поиск не повторяется на каждой странице.
  • Редактирование записи на сайте с множеством плагинов больше не приводит к нехватке памяти.
  • Панель Управления переводами больше не прерывается по тайм-ауту на сайтах с большим количеством переведенных элементов.
  • Панель Управления переводами больше не исчерпывает память при подсчете слов.
  • На странице WPML > Переводы больше не возникает нехватка памяти на сайтах с постоянным кэшем объектов, таких как Redis или WP Engine.
  • Таблица кэша разрешения URL больше не растет без ограничений, а сохранение настроек маршрутизации больше не пересчитывает всю таблицу.
  • Запросы элементов с длинными списками включения, исключения или дочерних элементов, как в меню, виджетах и фильтрах товаров, переводятся одним запросом к базе данных.
  • Переводы элементов товаров, прочитанные вне запроса, ищутся один раз за запрос.
  • Тексты блоков по умолчанию переводятся при рендеринге блока, а не для каждого зарегистрированного типа блока при каждом запросе.
  • Команды WP-CLI используют меньше памяти: WPML загружает свой установщик только тогда, когда это нужно команде.
  • Мультисайт: переключение между сайтами больше не запускает проверки восстановления, когда восстанавливать нечего, поэтому страницы админ-панели сети снова загружаются быстро.
  • Переводы товаров ищутся одним запросом для товаров, отображаемых блоками коллекций товаров WooCommerce.
  • WP Rocket оптимизирует корневую страницу сайта так же, как каждый языковой каталог, и больше не регистрирует для нее «Empty buffer».
  • Страницы Elementor больше не запускают каждый конвертер динамических ID WooCommerce на каждом элементе.
  • Страницы админ-панели больше не перерегистрируют тексты по умолчанию каждого стороннего блока при каждом запросе, что экономит множество запросов к базе данных.
  • На некоторых обновленных сайтах обновление языкового каталога выполняется один раз, а не при каждом запросе.
  • Сохранение записи больше не перепроверяет таблицы WPML каждый раз, а запись из блоков читает свой пакет строк только один раз.
  • Страницы фронтенда блочных тем и магазинов WooCommerce читают переводы блоков, слагов элементов и правила переведенных URL один раз за страницу, а не при каждом использовании.
  • Значения, которые WPML кэширует без срока действия, сохраняются, а не рассматриваются как просроченные и удаляются.
  • Поиск элементов по слагу больше не повторяет одну и ту же корректировку для каждого поиска в запросе.
  • WPML больше не выполняет полную трассировку стека при каждом поиске домашнего URL-адреса, а его фильтр домашнего URL-адреса кэшируется.
  • WPML больше не загружает свой движок шаблонов писем на каждой странице админ-панели, в REST-запросе и вызове AJAX, поэтому загружается меньше файлов.
  • Страницы админ-панели больше не подсчитывают при каждой загрузке записи с произвольными полями, которые ждут Вашего решения.
  • Страницы админ-панели больше не замедляются из-за медленной проверки REST API и ошибок распаковки данных.
  • Конструкторы страниц: сохранение нескольких переводов в одном запросе больше не перестраивает заново каждую предыдущую запись.
  • Список записей больше не выполняет запрос перевода для каждой строки.
  • Страница настроек перевода ИИ загружается без ожидания ответов от нашей системы перевода.
  • Сохранение записей происходит быстрее на крупных многоязычных сайтах.
  • Применение перевода к записи с множеством произвольных полей происходит быстрее.
  • Страница перевода таксономий больше не прерывается по тайм-ауту на сайтах с очень большим количеством элементов.
  • Панель управления переводами считывает переводимые типы контента один раз за страницу вместо двух.

Исправления для автоматического перевода и режима «Переводить все»

  • Режим «Переводить все» больше не остается приостановленным из-за ежемесячного лимита расходов после того, как лимит увеличен или месяц сброшен.
  • В блоке приостановленного режима «Переводить все» отображается текущий ежемесячный лимит расходов и использование в этом месяце.
  • Тексты, которые более ранний перевод только скопировал из исходного языка, например, непереведенные сообщения форм, теперь переводятся автоматически, а не считаются завершенными, тогда как копия, которую переводчик завершил намеренно, сохраняется.
  • Режим «Переводить все» применяет переводы элементов, описание которых содержит HTML-код, например изображение, а неудачное задание для элемента указывает причину.
  • Оценки стоимости режима «Переводить все» исключают приостановленные языки, включая элементы, единственный недостающий перевод которых находится на приостановленном языке.
  • Автоматические переводы доставляются даже в том случае, если более ранний перевод контента был удален, и одно неудачное задание больше не влияет на остальные.
  • Сайты, у которых WPML запрашивает готовые переводы, продолжают собирать их до тех пор, пока не останется ни одного, поэтому крупный пакет поступает за минуты, а не за дни.
  • Отклонение неудачного задания автоматического перевода удаляет его навсегда, и его тексты больше не отправляются на автоматический перевод.
  • Проход строк режима «Переводить все» больше не замедляется на сайтах с множеством прошлых пакетов.
  • Отклоненный или отмененный неудачный автоматический перевод записи, пакета строк или элемента больше не отправляется повторно, пока его контент не изменится.
  • Действие «Synchronize local job ids with ATE jobs» отклоняет неоднозначные сопоставления заданий, поэтому доставка никогда не записывается в несвязанный перевод.
  • Переключение системы перевода в настройках перевода ИИ сообщает о неудачном сохранении как об ошибке, а не показывает статус «Сохранено».
  • Блок «не удалось завершить» больше не выводит задание со всеми деталями N/A после отклонения заданий.
  • Переводы, доставленные во время открытого экрана записи, сохраняют свою ссылку на оригинал и свой язык, когда другой плагин обрабатывает сохранение записи.
  • Режим «Переводить все» больше не пропускает элемент, созданный во время завершения перевода этой таксономии.
  • Страницы админ-панели WPML продолжают работать, когда Расширенный редактор переводов дает неожиданный ответ о сопоставлении языков.
  • Режим «Переводить все» записывает каждый завершенный элемент один раз, а удаление языка также очищает его из записей Ninja Forms и WPForms.
  • Оценки стоимости режима «Переводить все», включая оценки мастера настройки, подсчитывают записи с их полями элементов, строками, пакетами строк и ярлыками таксономий по мере их отправки.
  • В оценке стоимости автоматического перевода перечислен контент, который не учитывается, поэтому итоговое использование не преподнесет сюрпризов.
  • Режим «Переводить все» больше не застревает на текстах виджетов блоков за пределами экранов админ-панели, а контент, который он не может отправить, больше не блокирует последующие записи.
  • Режим «Переводить все» больше не перезаписывает прогресс, который другой запрос записал в то же время.
  • Примечание под таблицей подсчета слов режима «Переводить все» объясняет, что после первого перевода правки бесплатны, и Вы платите только за добавленные слова.
  • Режим «Переводить все» отправляет пакет строк виджетов, добавленный во время исключения виджетов, как только виджеты снова включаются.
  • Если WPML не может связаться с сайтом для проверки доставленных переводов, в блоке статуса сообщается об остановке проверок и предлагается забрать их сейчас.
  • Если наша система перевода продолжает отклонять адрес сайта, WPML показывает, что он переподключается, и продолжает повторять попытки, не прося сопоставить язык по умолчанию.
  • Нажатие «Забрать переводы сейчас» во время проверки доставки собирает переводы сразу после завершения этой проверки.
  • Когда несколько страниц админ-панели одновременно получают запрос на переподключение к нашей системе перевода, WPML перерегистрирует сайт только один раз.
  • Язык, добавленный с опцией «перевести существующий контент» во время переподключения WPML, получает перевод своего существующего контента, как только соединение восстанавливается.
  • Кнопка «Перевести контент» больше не отключается без объяснения причин, пока WPML переподключается к нашей системе перевода.
  • Сайты с переводами в процессе проверяют наличие завершенных каждые две минуты, как и задумано, и эта проверка больше не задерживает работу Вашего браузера.
  • Во время переподключения Шаг 2 Панели управления переводами не показывает обратный отсчет до повторной попытки или сообщение «не удается связаться», а удерживаемая кнопка режима «Переводить все» объясняет причину.
  • Оценка режима «Переводить все» называет строку виджетов блоков «Блок» вместо «Виджет» или «Виджеты».
  • Оценка стоимости в мастере настройки больше не учитывает рубрику записи на языке, на который она уже переведена, что соответствует Панели управления переводами.
  • Задание, которое система перевода не смогла перевести, появляется в списке заданий, которые не удалось завершить, с кнопками «Отправить повторно» и «Отклонить».
  • Режим «Переводить все» больше не отправляет и не списывает плату за ярлык таксономии дважды, если его запись статуса утеряна.
  • Включение режима «Переводить все» больше не утверждает, что язык по умолчанию не поддерживается, если WPML просто не смог прочитать информацию о поддержки.
  • Пока WPML переподключается к нашей системе перевода, блок режима «Переводить все» остается видимым в приостановленном состоянии и объясняет, что происходит.
  • Перевод, который постоянно не удается применить, отменяется после третьей попытки и выводится с кнопками «Отправить повторно» и «Отклонить»; повторная отправка запускает новое задание.
  • WPML распознает ответы «отсутствует сопоставление языков» от нашей системы перевода и очищает значок ошибки задания, отмененного там.
  • Возвращаясь из Расширенного редактора переводов, WPML сообщает, когда перевод не удалось сохранить, с указанием причины и следующего шага.
  • Автоматические переводы продолжают доставляться, когда другой плагин не может сохранить один из них, а прогресс в панели администратора больше не начинается с нуля.
  • После оплаты через виджет учетной записи в Консоли WordPress блок приостановленного автоматического перевода сразу очищается.
  • При оплате по мере использования задания, удерживаемые из-за ожидающего или неудачного платежа, сообщают, почему они ожидают и как продолжить.
  • Сбой соединения с нашей системой перевода заканчивается только тогда, когда отправка снова работает, а кнопка «Повторить» больше не пропускает дублирующее задание.
  • После отправки на автоматический перевод результат подсчитывает только фактически созданные задания, а кнопка «Повторить» больше не заменяет отложенное задание каждый раз.
  • Если часть отправки режима «Переводить все» не удалась, неудачные элементы удерживаются и отправляются снова позже.
  • Ответ, который WPML не может прочитать, например страница прокси-сервера, больше не блокирует эти элементы от автоматического перевода навсегда.
  • Отправки из-за пределов Панели управления переводами, например из редактора записей или списка записей, больше не отклоняются, пока WPML пережидает сбой.
  • Уведомление о подключении отличает проблемы с учетной записью от проблем с Расширенным редактором переводов, поэтому одно больше не скрывает другое.
  • Новый сбой соединения больше не показывает сразу «нет доступа», потому что другой запрос закрыл предыдущий сбой в середине отправки.
  • Отправки строк, которые завершаются неудачей, обрываются, нацелены на приостановленный язык или отклоняются, больше не оставляют после себя пустые пакеты строк.
  • Повторная отправка неудачного задания для элемента сохраняет элемент, а неудачная повторная отправка регистрируется как ошибка.
  • Отключение режима «Переводить все» во время перевода строк больше не оставляет им статус «Перевод в процессе» навсегда.
  • На экранах шириной с телефон окно «Настроить Переводить все» помещается на экране и может быть закрыто.
  • Режим «Переводить все» больше не отправляет повторно и не списывает плату за задание, которое Вы отменили, пока его первый проход по всему сайту все еще выполняется.
  • Задания таксономий, приостановленные из-за того, что в учетной записи закончились слова, возобновляются после добавления слов.
  • Панель управления больше не считает задания, которые наша система перевода никогда не принимала, ожидающими, поэтому никакие фантомные переводы не ждут получения.
  • Если WPML не может прочитать, какие языки поддерживает автоматический перевод, оценки стоимости и список языков в Панели управления переводами больше не отображаются неверно или пустыми.
  • Режим «Переводить все» больше не выводит тип контента, в котором нечего переводить, как ожидающий Вашего утверждения.
  • Типы контента, которые плагин регистрирует только в админ-панели, такие как Grid Builder от WPBakery, можно включить в разделе корректировки лимитов контента.

Исправления в редакторах переводов и заданиях на перевод

  • Существующие переводы контента с несколькими блоками в Классическом редакторе переводов сохраняются при открытии в Расширенном редакторе переводов.
  • Классический редактор переводов показывает HTML-код с элементами видео, аудио и изображений в текстовом поле, поэтому теги не теряются.
  • В редакторе переводов текст, повторяющийся в нескольких блоках, шорткодах или атрибутах, выводится под его первым вхождением, поэтому ни один блок не выглядит отсутствующим.
  • Завершение задания на перевод никогда не записывает и не перемещает запись, которая не является собственным переводом этого задания.
  • В Классическом редакторе переводов задание, источником которого является дополнительный язык, больше не загружает вместо него страницу на языке по умолчанию.
  • Открытие задания на перевод, отправленного из другого перевода, а не из оригинала, сохраняет этот перевод в качестве исходного языка.
  • Пакет строк или запись, проверенная в Расширенном редакторе переводов, завершается и публикуется, когда проверяющий нажимает «Сохранить и завершить».
  • Повторное открытие доставленного перевода товара больше не создает новое задание с пустыми полями; редактор ждет, пока перевод не будет собран.
  • Пустая цель в доставленном файле XLIFF больше не аннулирует задание: единицы без текста сохраняют исходный код, а ошибочные единицы пропускаются.
  • Открытие перевода в редакторе больше не перехватывает автоматическое задание, которое наша система перевода все еще переводит.
  • Принятие проверенного перевода запланированной записи больше не публикует его раньше оригинала.
  • В редакторе переводов текст шорткода конструктора страниц помечается только теми атрибутами, которые у него есть в данный момент.
  • В редакторе переводов шорткоды внутри блоков выводятся в порядке страницы, с одной записью на повторяющийся текст.
  • В редакторе переводов страница с шорткодами внутри блоков показывает свои две группы текстов под разными названиями.
  • Задание на перевод не создается для перевода, чья запись статуса была удалена одновременным сохранением, поэтому связанные с этим предупреждения PHP исчезли.
  • Неудачная запись статуса перевода больше не возвращает ID другого перевода.
  • Одновременные сохранения перевода, у которого нет задания, создают одно базовое задание, а не по одному для каждого.
  • Перевод элемента, проверенный в Расширенном редакторе переводов, снова применяется к сайту.
  • Файлы в загруженном архиве задания на перевод имеют имена, которые принимает Windows, поэтому архив распаковывается везде.
  • Если переведенную запись не удается создать или обновить, задание регистрируется как неудачное с указанием причины и может быть применено снова.
  • Классический редактор переводов корректно отображает шорткод в двойных кавычках внутри атрибута в двойных кавычках.
  • Повторное открытие перевода по ссылке с его ID задания сохраняет несохраненный прогресс переводчика.
  • После того как администратор открывает завершенный перевод, удаление переводчика или импорт файла XLIFF оставляет задание в правильном состоянии.
  • На странице проверки перевода ссылки переключателя языков указывают на их собственные языки, а не на проверяемый язык.

Исправления в Управлении переводами и Панели управления переводами

  • Ссылки для редактирования переведенных записей остаются на месте для пользователей без языковой пары переводчика.
  • Значок карандаша дублированной записи снова открывает редактор WordPress, если он выбран в качестве редактора переводов.
  • Записи, переведенные в редакторе WordPress, снова открываются там, пока наша система перевода не распознает новый адрес сайта, а заблокированные переводы сообщают причину.
  • Редакторы могут открывать исходную запись из столбца статуса перевода без ошибки «не разрешено переводить эту языковую пару».
  • Повторная отправка страницы, рубрики или метки с другого языка до появления ее перевода показывает новый исходный язык в Заданиях на перевод.
  • При отключенной автоматической регистрации строк возвращение в окно Панели управления переводами больше не запускает обработку строк.
  • Перевод, который не может открыться в редакторе, объясняет причину над списком Задач перевода, как это делает список записей.
  • Кнопки «Отмена» и «Сохранить» в диалоговом окне автоматической регистрации строк больше не уводят из Панели управления переводами на пустую страницу.
  • Изменение языка оригинала обновляет исходный язык его переводов, поэтому их задания остаются в списке Заданий на перевод.
  • Список заданий больше не показывает ошибку базы данных для переводчика, чья языковая пара не имеет языков перевода.
  • Письмо с обновлениями перевода больше не считает задание пакета строк записью с тем же ID.
  • Кнопка «Перевести контент» остается доступной для смешанного выбора, когда один тип элементов уже переведен.
  • Письмо со сводкой заданий больше не показывает предупреждение PHP, когда менеджер задания не является пользователем.
  • Панель управления переводами отправляет рубрики с пометкой «Переводить автоматически», даже если при предыдущей отправке использовалась опция «Переводить самому».

Исправления для конструкторов страниц

  • Elementor: редактирование перевода открывает редактор на Вашем языке админ-панели, а не на языке страницы.
  • Elementor: сохранение перевода больше не завершается ошибкой, когда виджету темы нужен текущий документ или виджет выдает ошибку при рендеринге.
  • Elementor: каждая кнопка на переведенной странице ссылается на перевод собственной цели, а не все на одну и ту же страницу.
  • Elementor Pro: поле сообщения виджета Form больше не отправляется на перевод, поэтому письма с уведомлениями сохраняют отправленные данные.
  • Avada: символы с диакритическими знаками в переведенных письмах с уведомлениями форм больше не сохраняются как escape-коды.
  • WPBakery: виджет Single Image с пользовательской ссылкой сохраняет свое изображение и ссылку в переводе.
  • Значения конструктора страниц, которые не являются списками ID вложений, больше не перезаписываются нулями в переводах.
  • Flatsome и другие конструкторы на основе шорткодов: текст между двумя шорткодами с одинаковым именем предлагается для перевода и переводится.
  • Beaver Builder: на переведенной странице модуль Pattern и панель паттернов выводят только паттерны этого языка.
  • Divi 5: модуль Loop на исходной странице сохраняется в переводе и выводит переведенные записи.
  • Divi: макеты конструктора тем, которые Divi помечает как неиспользуемые, больше не предлагаются в Панели управления переводами и не отправляются режимом «Переводить все».
  • Шорткод или блок, объявленный в нескольких файлах языковой конфигурации, сохраняет атрибуты и настройки из всех них.
  • После поиска и замены конструкторы на основе шорткодов больше не предлагают один и тот же текст дважды, а тексты, которых больше нет на странице, удаляются.
  • К странице, созданной на основе шорткодов, контент которой содержит комментарий блока, применяется ее перевод из Классического редактора переводов.
  • Настройка атрибута ID шорткода больше не преобразует также другие атрибуты, чьи имена заканчиваются так же.
  • Перевод атрибута шорткода больше не изменяет другой атрибут с таким же текстом.

Исправления для блоков и редактора блоков

  • Без модуля Перевод строк переведенная страница сохраняет настройки блока, вставленного из паттерна, а повторный перевод исправляет более ранние страницы.
  • Редактирование текста виджета блока сохраняет перевод текста, который он заменяет.
  • Настройки блока, представляющие собой код, такие как HTML-тег, выравнивание или тип анимации, сохраняют свое значение на каждом языке.
  • Атрибуты блоков, содержащие списки ID, такие как ID изображений галереи, показывают переведенные элементы.
  • Произвольные HTML-блоки: CSS, содержащий SVG-изображения, больше не обрезается, а экранированная разметка, амперсанды и неразрывные пробелы остаются как написано.
  • Переведенные страницы больше не превращают текст, показывающий HTML-теги, написанный как текст в абзаце, заголовке или списке, в реальную разметку.
  • Переведенные блоков сохраняют свои собственные ссылки: копии ссылок следуют за переведенным якорем, а блоки изображений называют переведенное вложение.
  • Beaver Builder: элемент вкладки или аккордеона, который показывает сохраненную строку, столбец, модуль или шаблон, показывает его перевод.
  • Блоки, которые хранят ссылку как в разметке, так и в атрибутах, такие как кнопки GenerateBlocks, больше не отмечаются как сломанные в редакторе.
  • Собственная языковая конфигурация плагина или темы теперь применяется сразу после ее активации, поэтому такие блоки, как Kadence Blocks, можно переводить сразу.
  • Сохранения в редакторе блоков используют язык записи, а не язык админ-панели, поэтому курс Sensei сохраняет свои модули.

Исправления для переключателя языков

  • AJAX-навигация переключателя языков читает только ответы HTML-страниц, безопасно, поэтому другие ответы никогда не загружают ресурсы и не выполняют код.
  • Окно настроек переключателя языков в футере больше не открывается пустым, а настройки, которые не поступили, больше не регистрируются как сохраненные.
  • Данные переключателя языков больше не сбрасывают текущую запись внутри списков и циклов.
  • При настройке «Свой домен для каждого языка» и WP_HOME, построенном из запроса, ссылки переключателя языка по умолчанию используют его собственный домен.
  • Блок переключателя языков работает для пользователей без возможности unfiltered_html: он сохраняется чисто и сохраняет свою стрелку, стили и размер изображения.
  • Блок переключателя языков, в сохраненной разметке которого отсутствует текущий язык, больше не вызывает фатальную ошибку; он выводит другие языки.
  • В редакторе блоков переключатель выпадающего списка переключателя языков направляет программы чтения с экрана на его список языков.
  • Два блока переключателя языков на одной странице больше не используют общий ID подменю в редакторе блоков.
  • Настройки пользовательского переключателя языков показывают свои собственные правила стилей, и переключатель больше нельзя сохранить пустым или с отключенными всеми параметрами отображения.
  • Параметры переключателя языков больше не принимают код шаблона, который затем будет рендерить каждая страница.
  • Блок переключателя языков корректно рендерит названия языков с диакритическими знаками и нелатинские названия на хостингах с новыми версиями libxml.
  • Блок переключателя языков больше не сообщает о недопустимом контенте для администраторов, чей язык админ-панели не английский.

Исправления для рубрик, меток и других таксономий

  • Перевод элемента, доставленный без одного из его текстов, например описания, остается открытым для недостающей части вместо завершения.
  • Архив таксономии, слаг которого одинаков на двух языках, показывает элемент запрошенного языка, и этот элемент снова сохраняется.
  • Элемент таксономии по умолчанию больше не перезаписывается при каждом переключении языка, а новые записи получают элемент по умолчанию своего собственного языка.
  • Плагин, проверяющий, существует ли элемент на странице на дополнительном языке, получает обратно этот элемент, а не его перевод.
  • Элемент по умолчанию произвольной таксономии больше нельзя удалить из админ-панели другого языка, из-за чего WordPress воссоздавал его на неправильном языке.
  • Если рубрика или элемент по умолчанию удаляется кодом или в базе данных, WPML воссоздает его на языке по умолчанию с его переводами.
  • Изменение режима перевода таксономии перемещает каждую запись в элемент на ее собственном языке.
  • Удаление рубрики или элемента кодом со страницы другого языка помещает ее записи в элемент по умолчанию их собственного языка, не удаляя другие элементы по умолчанию.
  • Язык, добавленный из админ-панели на другом языке, получает собственное название рубрики по умолчанию, например «Uncategorized» для английского.
  • Перевод элемента, созданный через API элементов WPML, сохраняет исходный язык, который называет вызывающая программа.
  • Создание перевода элемента через API путем указания ID исходного элемента работает и присоединяется к группе переводов оригинала.
  • Повторная отправка переведенной рубрики или метки больше не переименовывает ее слаг, когда оригинал или другой язык использует его совместно.
  • Язык админ-панели больше не переключается обратно на ранее просматриваемый язык после посещения экрана перевода таксономии.
  • Сайты, у которых ID элементов и ID таксономий элементов различаются, больше не получают несвязанные элементы в ссылках hreflang и счетчиках рубрик.
  • Если английский элемент по умолчанию произвольной таксономии удален, а его переводы используют то же имя, каждый язык сохраняет свой собственный элемент по умолчанию.
  • Запоздалая доставка автоматического перевода больше не перезаписывает ручные переводы элементов и не очищает их состояние обновления.

Исправления для меню

  • На сайтах с постоянным кэшем объектов, таким как Redis, переведенные меню и переводы элементов больше не заменяются меню языка по умолчанию.
  • В разделе «Меню» заполнитель «Translation of» отображается на языке админ-панели, а не на испанском.
  • Сохранение меню за пределами раздела «Внешний вид > Меню», через REST, настройщик или код, сохраняет его привязку к его переводам.
  • Пункты меню, добавленные кодом в одном запросе, сохраняют свои позиции.
  • Синхронизация меню WP создает переведенные меню внутри группы переводов их оригинала.
  • Синхронизация меню WP больше не делает переведенные меню плоскими, когда файл wpml-config, как в теме Porto, устанавливает поля пунктов меню для копирования.
  • Удаление пункта из исходного меню также удаляет его переведенные копии.
  • Двойное применение одних и тех же изменений Синхронизации меню WP больше не создает второе переведенное меню.
  • Синхронизация меню WP больше не добавляет черновые переводы в переведенные меню, поэтому посетители не получают ссылки 404.
  • Удаление родительского пункта из исходного меню больше не оставляет переведенные дочерние пункты указывающими на удаленный пункт.
  • Публикация изменения меню в настройщике с языком админ-панели, отличным от языка по умолчанию, больше не переименовывает переведенное меню этого языка.

Исправления для ссылок, URL-адресов и перенаправлений

  • Перевод или дублирование записи на несколько языков одновременно больше не сохраняет ссылку на произвольный тип записи с переведенным слагом на неправильном языке.
  • Страница, созданная с помощью функции создания корневой страницы, является корневой страницей сайта с момента ее первого сохранения в редакторе блоков и классическом редакторе.
  • Черновик или ожидающая страница с таким же слагом больше не отправляет опубликованную страницу на другом языке на 404.
  • При настройке «Свой домен для каждого языка» сохранение в WPML > Настройки > URL-адреса снова работает вместо сбоя проверки скрытого поля.
  • Адрес рубрики, заканчивающийся на несуществующую рубрику, часто запрашиваемый поисковыми роботами, больше не вызывает ошибку базы данных.
  • Ссылки на архивы и другие адреса, не являющиеся страницами, больше не переписываются на шаблон Elementor в переводах.
  • Ссылки на запись, слаг которой переведен, конвертируются корректно на языке по умолчанию, независимо от исходного языка записи.
  • Страница входа на домене скрытого языка больше не перенаправляется на язык по умолчанию.
  • Со скрытым языком и переведенной страницей входа адрес входа скрытого языка работает всегда.
  • Когда WPML восстанавливает отсутствующую настройку формата URL во время загрузки страницы, языковые ссылки этой страницы используют сохраненный формат, а не параметры ?lang=.
  • Сайт, который потерял свой сохраненный формат URL языка, продолжает обслуживать языковые каталоги и снова сохраняет настройку.
  • Переведенное поле ссылки, содержащее простую ссылку на переведенную страницу, как ее хранит Клейкие ссылки, открывает эту страницу на языке перевода.
  • Архив рубрики, открытый по адресу ?cat= и lang=, показывает архив вместо перенаправления на главную страницу языка.
  • Преобразованные ссылки на страницы, включая поля ACF Link и URL, сохраняют свой #якорь, строку запроса и подпуть.
  • Адрес с пагинацией больше не заставляет ссылки указывать на неправильную запись.
  • Новая корневая страница получает язык после того, как старая корневая страница была безвозвратно удалена.
  • Ссылка элемента обновляется, как только элемент сохраняется, поэтому SEO-плагины могут создать перенаправление.
  • Преобразованные якорные ссылки больше не получают закрывающий слеш после #якоря.
  • Ссылка больше не остается на исходном языке некоторое время после публикации ее перевода.
  • Ссылки на непереведенные записи больше не ведут на 404 на сайтах с настройкой «Свой домен для каждого языка».

Исправления для языков и мастера настройки

  • Мастер настройки возобновляется на шаге выбора языков, когда остается только язык по умолчанию, вместо блокировки админ-панели.
  • Шаг «Языки» мастера настройки больше не показывает пустой язык по умолчанию, когда сохраненный язык по умолчанию не был активен.
  • В мастере настройки добавление варианта страны для языка, который сайт использовал ранее, спрашивает, сохранить ли контент или начать заново.
  • Язык, которого больше нет в каталоге WPML, можно добавить как пользовательский язык со своим собственным кодом и локалью.
  • Синхронизация языкового каталога заполняет язык пресета, когда более ранняя версия оставляла его пустым.
  • Направление текста, исправленное в языковом каталоге WPML, достигает сайтов, использующих этот язык, без изменения их языковых настроек.
  • Код языка «0» больше не отправляет ссылки на язык по умолчанию; затронутые сайты восстанавливаются, а о неудачных изменениях кода сообщается.
  • Пользовательский язык, созданный до WPML 5.0 под кодом, который теперь использует WPML, например de-at, становится этим встроенным языком, сохраняя свой контент.
  • Пользовательский язык, который не может быть перенят, помечается как нуждающийся в сопоставлении и не отправляется на автоматический перевод до сопоставления.
  • Поиск языков больше не предлагает добавить китайский (Гонконг) в качестве пользовательского языка, если он уже есть на сайте.
  • Загрузки языковых пакетов завершаются на хостингах с низким лимитом времени PHP, возобновляясь вместо остановки на последнем пакете.
  • Сброс языковых настроек по умолчанию больше не показывает уведомления об устаревании PHP 8.1.

Исправления для регистрации и обновлений

  • Обновление WPML путем загрузки с версии 5.1 больше не показывает однократную критическую ошибку.
  • Обновление WPML больше не отправляет письмо о критической ошибке, когда плагин управления, такой как InfiniteWP, добавляет запись сразу после обновления.
  • Окно «Активировать и обновить» открывается для учетных записей, чей тип подписки не соответствует ни одному продукту, вместо остановки с критической ошибкой.
  • Окно «Активировать и обновить» показывает блок регистрации в любом состоянии учетной записи, с кнопкой «Отменить регистрацию» и полем ключа сайта, поэтому старые регистрации можно заменить.
  • Сведения о плагинах WPML больше не предупреждают о непроверенной версии WordPress в минорных релизах WordPress.
  • Зарегистрированный сайт больше не показывает «A New Site Key Is Required» с постоянным кэшем объектов и не теряет свой ключ, когда wpml.org недоступен.
  • После того как сайт переезжает на новый адрес и сохраняет свою учетную запись для перевода, WPML сообщает, что сайт перемещен, а не называет его копией.
  • Мультисайт: ссылка «Получить ключ для этого сайта» называет адрес сети, поэтому ключ, к которому она ведет, принимается.
  • Сайт, который не перемещался, больше не показывает уведомление о копии сайта после перерегистрации в нашей системе перевода.
  • Если канал продуктов WPML недоступен, окно «Активировать и обновить» сохраняет последние известные продукты и сообщает о сбое с кнопкой «Проверить снова».
  • WP-CLI выводит список плагинов без предупреждения, пока ожидается обновление WPML.
  • После переключения обратно на рабочий канал окно «Активировать и обновить» устанавливает рабочую версию, а загрузка без элементов для установки сообщает об этом.
  • Примечания к релизу каждого плагина в окне «Активировать и обновить» показывают только собственные примечания этого плагина.
  • После обновления браузеры и CDN загружают текущие скрипты и стили WPML вместо кэшированных старых.
  • Advanced Custom Fields Multilingual и другие сопутствующие плагины загружаются, когда их версия является бета-версией релиза, требуемого WPML.
  • Сайт больше не проверяет свой ключ много раз в секунду, в том числе когда приходит сразу несколько уведомлений об обновлении.
  • Ключ сайта, определенный в wp-config.php, сохраняет свою регистрацию, когда wpml.org только ограничивает скорость или выдает тайм-аут.
  • Обработчик загрузки плагина проверяет токен безопасности запроса перед проверкой ключа сайта.
  • Мультисайт: два сайта одной сети с разными предопределенными ключами сайта больше не перерегистрируются туда-сюда.
  • Мастер настройки больше не перерегистрирует ключ сайта, определенный в wp-config.php, при каждой загрузке.
  • Маршрут обновления подписки отвечает об успехе для сайта, чья подписка уже актуальна, поэтому прокси-серверы и мониторы перестают регистрировать ложные отказы.
  • Ключ сайта в wp-config.php сохраняется корректно, даже если скопирован с пробелом или разрывом строки в конце.
  • Сайты с лицензией Blog больше не получают фатальную ошибку об отсутствующей константе.

Исправления для сайтов WooCommerce

  • На сайтах с WooCommerce Multilingual WPML больше не возвращается к своему мастеру настройки самостоятельно и показывает записи всех языков.
  • Скрипты админ-панели WPML, CMS Nav и Клейкие ссылки больше не завершаются с ошибкой «addLoadEvent is not defined» в мастере настройки WooCommerce Multilingual.
  • Удаление рубрики из товара обновляет количество товаров в переведенной рубрике на каждом языке.
  • Товары, переведенные в Классическом редакторе переводов, сохраняют переводы вариаций, атрибутов и произвольных полей при открытии в Расширенном редакторе переводов.
  • Импорт переведенных вариативных товаров больше не завершается ошибкой на дублирующихся строках атрибутов, когда родительский товар содержит элементы обоих языков.
  • WooCommerce Multilingual больше не перестраивает свои переведенные адреса учетной записи и оформления заказа дважды, когда типы контента регистрируются поздно.

Исправления для произвольных полей и Advanced Custom Fields

  • Экраны настроек «Перевод пользовательских полей» и «Перевод метаданных элементов» снова открываются, когда плагин или импорт оставил строку произвольного поля без имени.
  • Фоновая задача, поставленная в очередь без запроса после обновления 5.1.0, удалена; вместо этого новое переводимое произвольное поле ждет Вашего решения.
  • Настройки перевода метаданных элементов указывают, что переведенное поле переводится с элементом, а не с записью.
  • Вложенные поля ACF (Flexible Content, Repeater, Group) в элементах таксономии переводятся автоматически и в редакторе.
  • Подполя Repeater и Flexible Content, установленные на копирование, теперь достигают переводов, когда строка добавляется вне редактора записей, например с помощью update_field() или формы ACF на фронтенде.
  • Новое переводимое произвольное поле помечает как «Нуждается в обновлении» только те переведенные записи, у которых это поле действительно есть.
  • Изменение параметра перевода поля ACF также обновляет существующие переводы элементов.
  • Ярлыки групп полей ACF сохраняют свои переводы после миграции на Advanced Custom Fields Multilingual 2.2.
  • Обновление с WPML 4.x больше не восстанавливает старые настройки произвольных полей после очистки Advanced Custom Fields Multilingual, которая сохраняла загрузку ненужных данных.
  • В разделе «Перевод пользовательских полей» параметр, выбранный во время загрузки результатов поиска, сохраняется, а не теряется после сообщения «Данные сохранены».
  • Сохранение перевода через REST API от внешнего клиента больше не запускает полную синхронизацию произвольных полей каждый раз.
  • Произвольные поля, записанные после того, как WPML скопировал поля записи, все равно достигают ее переводов.
  • Изменение слова в поле ACF Link на экране перевода таксономии сохраняет переведенную ссылку.
  • Изменение поля ACF на «Копировать», «Копировать один раз» или «Не переводить» в настройках WPML обновляет существующие переводы.

Исправления для медиафайлов и изображений

  • Перевод медиафайлов: переведенная страница редактора блоков сохраняет свое собственное изображение после сохранения перевода на хостинге с кэшем объектов.
  • Завершение задания на перевод, содержащего медиафайлы, больше не создает потерянные копии вложений на каждом дополнительном языке.
  • Запрос вложения на дополнительном языке возвращает его перевод или само вложение, что исправляет фоны Enfold Color Section.
  • Изображение, которое конструктор страниц называет по его URL, показывает медиа-тексты языка страницы.
  • Изображения конструктора страниц, такие как фон секции Divi, показывают правильные исходные тексты в редакторе переводов и сохраняются в правильное изображение.
  • Изображение без пригодного для использования адреса в виджете или контенте больше не вызывает ошибку кэша объектов при каждой загрузке страницы.

Исправления для записей и страниц

  • Записи произвольного типа больше не исчезают из списков админ-панели после того, как файл wpml-config.xml делает этот тип переводимым; затронутые сайты восстанавливаются при обновлении.
  • Удаление, перемещение в корзину или восстановление переведенной записи из запланированной задачи или формы на фронтенде применяется к ее переводам, как и в админ-панели.
  • Сохранение записи, чья строка базы данных исчезла, больше не останавливается с фатальной ошибкой.
  • Восстановление записи из корзины сохраняет статус ее переводов; черновые и личные переводы больше не возвращаются опубликованными.
  • Запланированная запись больше не публикует свои удаленные или незавершенные переводы в свою дату, когда даты публикации копируются в переводы.
  • Запросы фронтенда больше не завершаются сбоем с бесконечной рекурсией при разрешении текущего языка.
  • Обновление записи, чей язык отключен, сохраняет этот язык, а сохранение записи больше не отключает другой ее перевод.
  • Проверка ID записи, который не соответствует ни одной записи, больше не вызывает предупреждения PHP.

Исправления для совместимости с другими плагинами и темами

  • Страницы админ-панели других плагинов, такие как параметры Slider Revolution и Avada, снова загружают свои скрипты при активном WPML.
  • Отсутствует критическая ошибка на каждой странице, когда другой плагин, такой как конструктор Tatsu, ищет записи во время загрузки плагинов.
  • Когда другой плагин дает сбой во время загрузки WordPress, сайт снова показывает страницу критической ошибки WordPress, а не пустую страницу.
  • WPML восстанавливает язык сайта, когда другой плагин, такой как WP All Export Pro, переключает его и никогда не переключает обратно.
  • Плагины кэширования, которые сбрасывают кэш объектов, больше не вызывают ошибки базы данных «Commands out of sync», потому что WPML считывает свои настройки страницы один раз.
  • XML-карты сайта Yoast SEO выводят каждую переведенную запись под ее собственным URL, когда WPML SEO не активен.
  • WPML SEO переводит текстовые значения каждого типа схемы Rank Math.
  • The Events Calendar: корневая страница больше не отображается пустой при включенной опции «Integrate events in main blog loop».

Исправления для экранов админ-панели и настроек

  • Сайт, чья сохраненная настройка WPML была удалена плагином очистки или частичным восстановлением, получает ее обратно из сохраненной копии WPML.
  • Настройки, сохраненные во время завершения обновления базы данных WPML, больше не теряются.
  • Поиск и устранение неисправностей: перестроение кэша для одного URL надежно выполняется в фоновом режиме, а клик по кнопке «Перестроить» больше не теряется.
  • Уведомление «Your automatic translation pricing has been upgraded» показывается только пользователям, которые могут управлять переводами.
  • Поиск по настройкам: запись «Локализация тем и плагинов» прокручивает к параметрам локализации в разделе «Совместимость».
  • Старый адрес раздела «Локализация тем и плагинов» ведет в раздел «Настройки > Совместимость» с отображением сканирования тем и плагинов.
  • Запросы, выполняемые во время сброса WPML, больше не могут воссоздавать таблицы и настройки WPML.
  • Сброс WPML из админ-панели сети также сначала проверяет наличие дополнительных языков.
  • Удаление Приоритета перевода больше не записывает ложную запись «элемент удален» на обновляемых сайтах.
  • Уведомление, отображаемое при сбое проверки работоспособности админ-панели WPML, называет невыполненный запрос.
  • В разделе «Поддержка > Журнал связи» данные остаются читаемыми после обновления сервисов.
  • Изменение системы перевода сообщается при ежедневной проверке связи сайта с wpml.org.
  • Подсказку «Same as default» в языковых настройках WPML теперь можно перевести.
  • В REST-запросах админ-панели переключение локали применяется к переводам, как и ожидалось.

Исправления для баз данных и мультисайта

  • На кластерах баз данных, которые отклоняют именованные блокировки, таких как строгий режим Percona XtraDB, WPML переключается на блокировку на основе таблиц и продолжает работать.
  • WPML создает свои таблицы с соответствующим набором символов и параметрами сопоставления на MariaDB 11.
  • WPML создает все свои таблицы с одним набором символов и параметрами сопоставления, а уведомление называет любую таблицу, которую база данных отказывается создать.
  • В базах данных, которые отклоняют именованные блокировки, журнал установщика записывается без ошибки базы данных.
  • Мультисайт: сайты сети, где WPML неактивен или активен, но не настроен, больше не регистрируют ошибки об отсутствующей таблице языков.

Другие исправления

  • Перевод строк больше не записывает файл перевода языка из неактивного языка, использующего ту же локаль, что оставляло строки непереведенными.
  • Перевод строк: удаленная строка, которая была получена из текста блока по умолчанию, как в блоках WooCommerce, больше не возвращается.
  • Импорт файла .po, чьи переводы содержат внутренние ссылки, больше не завершается ошибкой сервера.
  • Перевод строк регистрирует и импортирует файлы перевода тем и плагинов, когда WordPress установлен в корневой файловой системе сервера.

Прочитайте анонс релиза WPML 5.2, чтобы узнать все подробности об этой версии.

Обновить или скачать

Обновление доступно всем клиентам WPML с активной подпиской — оно появится на странице Плагины в Вашей админ-панели WordPress в течение 24 часов после релиза. Вы также можете сразу проверить его наличие в разделе Плагины → Добавить новый → Коммерческие. Чтобы скачать и установить вручную, перейдите в раздел Загрузки в Вашей учётной записи на wpml.org (см. инструкции по установке) и не забудьте обновить все компоненты вместе, не смешивая версии.

Нужна помощь или хотите оставить отзыв? Пожалуйста, используйте наш форум технической поддержки (открывается в новой вкладке).

Смотреть все версии WPML Multilingual CMS