Эта страница предназначена для команды разработчиков CornerStone и веб-разработчиков, использующих конструктор страниц CornerStone. На ней объясняется процесс поддержания совместимости CornerStone с WPML, который выполняется путем обновления файла языковой конфигурации.
В статье Регистрация пользовательских виджетов конструктора страниц для перевода мы подробно объясняем, как зарегистрировать пользовательские виджеты конструктора страниц для перевода с помощью файла языковой конфигурации. Теперь давайте рассмотрим информацию, необходимую для выполнения этой задачи для виджетов Cornerstone.
Поиск информации о регистрации виджета
Чтобы зарегистрировать пользовательский виджет Cornerstone в файле wpml-config.xml, Вам сначала нужно найти о нем некоторую базовую информацию.
Вы можете легко получить эту информацию из произвольного поля _cornerstone_data или с помощью такого плагина, как JSM Show Post Metadata. Этот плагин показывает метаданные записи и их десериализованные значения в метабоксе внизу страниц редактирования записей.
Кроме того, Вы можете использовать следующие шаги для получения этой информации:
- Перейдите на страницу WPML → Настройки, прокрутите до раздела Перевод пользовательских полей и нажмите ссылку Показать системное поле.
- Установите для произвольного поля _cornerstone_data значение Перевести.
- Создайте новую страницу и добавьте только тот виджет CornerStone, который Вы хотите зарегистрировать. Сохраните страницу.
- Перейдите в WPML → Настройки и в разделе Редактор переводов временно активируйте опцию Классический редактор переводов.
- Попробуйте перевести страницу, созданную на шаге 3, с помощью Классического редактора переводов, и Вы заметите сериализованный массив, например, такой:

- Скопируйте содержимое сериализованного массива.
- Используйте предпочитаемый Вами инструмент десериализации, чтобы лучше увидеть, как виджет выводит свой контент. В нашем случае мы использовали сайт Unserialize.
Вот объяснение содержимого массива, которое Вы увидите:
- [_type] содержит имя, вставленное в атрибут name тега виджета.
- Значение field будет именем внутри скобок, которое будет содержать имя поля. Например: [testimonial_content] => You are never too old to set another goal or to dream a new dream. В данном случае «title» — это нужный Вам текст.
Как только у Вас будет эта информация, Вы можете перейти непосредственно к регистрации виджета для перевода.
Например, виджет Testimonial, поставляемый с Cornerstone, имеет в своем произвольном поле _cornerstone_data аналогичную структуру. Обладая этой информацией, виджет следует зарегистрировать следующим образом, чтобы WPML мог его обнаружить и перевести:
<wpml-config> <cornerstone-widgets> <widget name="testimonial"> <fields> <field type="Testimonial: Content">testimonial_content</field> </fields> </widget> </cornerstone-widgets> </wpml-config>
В этом, конечно, нет необходимости, так как виджет Testimonial уже по умолчанию зарегистрирован WPML в нашем репозитории. Но он служит примером для Ваших пользовательских виджетов.
Тестирование файла языковой конфигурации
После создания файла конфигурации выполните следующие действия, чтобы проверить, все ли зарегистрировано должным образом:
- Настройте установку с активированными CornerStone и WPML. Активируйте дополнения Перевод строк и Перевод медиафайлов.
- Вам нужно будет переопределить удаленный файл языковой конфигурации WPML обновленным. Для этого перейдите на страницу WPML → Настройки и откройте вкладку Пользовательская конфигурация XML. Скопируйте содержимое Вашего обновленного файла языковой конфигурации в редактор и нажмите Сохранить.

- Создайте новую страницу и добавьте на нее новый модуль (или модули). Если Вы обновили некоторые атрибуты для существующих модулей, добавьте и их на страницу. В этом примере мы будем считать, что модуль Testimonial был только что добавлен в конструктор страниц CornerStone. Добавьте его на страницу и нажмите Опубликовать.

- Нажмите на значок плюса, чтобы перевести страницу. Вы перейдете на экран Редактор переводов.
- Убедитесь, что текстовые элементы модуля отображаются на экране Расширенный редактор переводов.
- Введите переведенный текст и нажмите кнопку Завершить перевод.

- Проверьте переведенную страницу на фронтенде.

Переведенная страница показывает все переведенные строки, что означает, что обновленный файл языковой конфигурации работает правильно. Если Вы столкнулись с какими-либо проблемами, пожалуйста, обратитесь в нашу команду по разработке совместимости. Они будут рады проверить проблемы, связанные с файлом языковой конфигурации.
По завершении тестов отправьте запрос на слияние (merge request) в наш репозиторий. Наши разработчики совместимости получат Ваши запросы и рассмотрят их.