Миграция с основ CSV
Как указывалось в другом месте, код миграции только недавно (по состоянию на 8.2.x или 8.3.x), казалось, успокоился, и в сообщениях блога в Интернете есть множество старых, устаревших и неправильных инструкций. Тем не менее, я добился примерно 75% успеха, следуя инструкциям по этим двум наборам постов от Лукаса Хеддинга и Ады Эрнандес из Мтех.
В Github есть сопутствующий пример установки Lucas для кодовой базы, который охватывает основы первого примера поста в блоге CSV, но он не включает никаких помощников при переносе изображений или файлов.
Существует еще один пример репозитория от Wunderkraut, который включает в себя пример миграции CSV с миграцией пользователей, таксономии, статей и изображений:
Многоязычная миграция из CSV
Я рекомендую начать с основ CSV, а затем перейти к этому разделу. Вам действительно нужно иметь отдельные скрипты миграции для каждого языка.
Я получил еще 20% пути с этим сообщением в блоге, в котором подробно описывается, как изменить файл переноса yaml для поддержки многоязычного контента, в том числе, для включения translations: true
в destination
разделе, добавить langcode:
поле в process
разделе для правильной многоязычности. языковые объекты (например, узлы и термины), а также добавить language:
параметр для конкретной обработки многоязычного поля.
Самым сложным было выяснить, как импортировать поля файлов или изображений (оставшиеся 5% для меня). Ни один из приведенных выше примеров не демонстрирует, как правильно импортировать альтернативные поля изображения. В моем случае у меня есть поле изображения, которое разделяет изображение, но атрибут alt можно перевести. Я выяснил, как самостоятельно импортировать базовое поле alt в языковой узел по умолчанию, но у меня возникли проблемы с тем, чтобы при импорте использовался тот же самый fid, но другой текст alt для других языков. Решение было найдено пользователем @Vasi путем добавления дополнительного поля, которое вызывается content_translation_source
на шаге процесса миграции на иностранный язык YAML. Более подробно с полным примером здесь:
Дополнительное обсуждение
Наконец, здесь также идет некоторая дискуссия:
I was able for the moment to migrate the english content
Вот мое многоязычное предложение для новичков: не могли бы вы просто притвориться, что создали сайт D8 на английском, а теперь хотите сделать его многоязычным?