И так, имеется сайт под управлением системы WordPress на котором реализована система мультиязычности благодаря плагину WPML.
Задача заключается в том чтобы импортировать записи без наличия переводов, и создать переводы локально (отдельно на компьютере в программе Excel). Для решения задачи нам потребуются плагины установленные на WordPress сайт:
WPML Multilingual CMS Версия 4.2.4.1
WPML All Import Версия 2.1
WP All Import Pro Версия 4.5.6-beta-3.5
- Крепкий кофе, открытые глаза, хорошее настроение, и около 20ти минут личного времени.
Данный метод будет крайне полезен и при переносе обычных переводов, так как в нем показан основной алгоритм при помощи которого происходит перенос и связка мультиязычного контента созданного при помощи WPML плагина.
Экспорт автономных записей
Данный способ пригодится тем администратором у которых есть в наличии контент только на одном языке, и соответственно задача стоит его перевести.
В общих чертах данная инструкция получилась выстраданной, так как все тестировалось на пользовательском типе записей, ну а кастомный тип записей просто так не поддавался импортированию, и можно сказать мне это удалось только жестко поставленной задаче. Скажу честно, у меня тоже наступают моменты когда я чувствую свое “руконеплечье”.
Для примера будем иметь ввиду что у нас есть только русскоязычный csv файл с названием RU_import.csv
. Импортируем CSV файл в Excel (как это сделать описано здесь:
https://www.extendoffice.com/ru/documents/excel/2478-convert-csv-to-xls-or-excel.html , далее сделаем у файла следующую структуру заголовков и столбцов:
Структура столбцов
Title – Название записи (формат значения в ячейке ‘Название записи’)
Content – Контент записи (формат значения в ячейке ‘Всякого рода контент’)
WPML Language Code – язык записи (формат значения в ячейке ‘ru’)
Connector – Уникальный идентификатор при помощи которого будем коннектить переводы (формат значения в ячейке ‘445645’)
Вид таблицы
В итоге получаем следующую таблицу:
Теперь сохраняем на Excel документ в CSV формате.
Далее нам необходимо сменить кодировку на “UTF-8 без BOM” сохраненного CSV, о том как это сделать правильно написал товарищ по цеху здесь:
http://lumpics.ru/how-to-change-encoding-in-excel/
Или просто открываем наш CSV в Notepad++ и там все это делаем.
Импорт WP All Import CSV файла RU
Переходим в админку и начинаем новый импорт:
Далее загружаем CSV файл:
На данном шаге сразу жмем далее:
А вот теперь важная часть, необходимо разместить шорт коды вывода как указано на скрине ниже (поле “Connector“ пока не трогаем, оно нам понадобиться позже):
На этой же странице, укажите оригинальный язык контента (за данную опцию отвечает плагин “WPML All Import”, и без него не как):
После того как настройки указали, жмем “Continue to Step 4”:
На следующей странице указываем “Connector” как основной идентификатор записи:
И переходим к самому импорту контента на следующей странице:
Немного ожидания и все готово, наш пост импортировался:
Смотрим в посты на сайте, и видим что русский пост героически опубликовался на нашем WordPress сайте:
Смотрим контент поста:
И видим что вся информация была импортирована верно, теперь перейдем к созданию EN версии контента.
Импорт WP All Import CSV файла EN
Структура столбцов
Структура столбцов точно такая же как и для RU файла (смотрим выше).
Вид таблицы
Вид таблицы будет таким:
Ну а название файла будет соответственно “EN_import.xlsx”. Далее экспортируем данный файл в CSV и делаем все те же операции по изменению кодировки на UTF-8 без Bom (ссылки давал выше).
После всех манипуляций у нас должен получиться файлик “EN_import.csv” что ж приступим к его импортированию в WordPress при помощи WP All Import.
Шаги касаемо загрузки файла и нажатия кнопок “Далее” я пропущу, все действия абсолютно идентичны как и при импортировании RU файла. Я начну с основных и важных моментов. А особенно важным моментом является шаг, связанный с настройками контента и языка нашего поста. Особенно важными являются настройки языка (как не странно. Касаемо тайтла и контента делаем настройки идентично RU импорту).
Как видно из скриншота выше, нужно не ошибиться с файлом RU версии импорта, так как данный EN импорт привязывается именно к ранее импортируемому “RU_import.csv”файлу. Так же необходимо перетянуть шорткод “Connector” в поле уникального идентификатора.
Нам осталось совсем немного, еще буквально чуть чуть…
Переходим к импорту нашего англоязычного перевода, и здесь очень, очень важно снова указать в качестве уникального идентификатора “Connector”.:
Снова жмем “зеленую кнопку” и дожидаемся импорта нашего перевода.
И если все было сделано верно, Мы должны увидеть заветную “зеленую” страничку:
Переходим в свои англоязычные посты, и видим магию:
Откроем пост:
Да все верно, пост был импортирован правильно, и его RU перевод подвязался именно так как нам и требовалось.
Полезные ссылки
Официальная инструкция о импортировании мультиязычного контента WPML, от содателей плагина WPML:
https://wpml.org/documentation/related-projects/wpml-all-import-plugin-website-import-with-wpml/
Официальная инструкция о экспортировании мультиязычного контента, от создателей плагина WPML:
Файлы используемые в примере, при напиании ппоста
Спасибо за внимание, надеюсь данная инструкция пригодится не только мне.