Saya berasal dari membaca Menggunakan API Migrasi Drupal 8 baru / Modul dan Migrasi Konten: CSV ke Drupal 8 proses untuk membuat migrasi sangat jelas dan berfungsi, tetapi saya tidak dapat menemukan cara memigrasi konten ke situs Multilingual. Dalam ikhtisar Migrasi API saya tidak dapat menemukan informasi tentang ini.
Jadi, bagaimana saya bisa memigrasi konten multibahasa?
UPDATE: Saya menemukan contoh: https://github.com/drupal/drupal/tree/8.3.x/core/modules/migrate/tests/modules/migrate_external_translated_test
Saat ini saya dapat memigrasikan konten bahasa Inggris tetapi bukan terjemahannya.
8
migration
importing-exporting
Adrian Cid Almaguer
sumber
sumber
I was able for the moment to migrate the english content
Ini adalah pemula T / multibahasa saya Q / saran, tidak bisakah Anda berpura-pura baru saja membuat situs D8 dalam bahasa Inggris dan sekarang Anda ingin menjadikannya multibahasa?Jawaban:
Bermigrasi dari dasar-dasar CSV
Seperti yang dinyatakan di tempat lain, kode migrasi hanya baru-baru ini (pada 8.2.x atau 8.3.x) tampaknya tenang dan ada banyak instruksi lama, ketinggalan jaman dan salah dalam posting blog di web. Yang sedang berkata, saya sudah sekitar 75% berhasil mengikuti instruksi pada dua set posting blog ini dari Lucas Hedding dan Ada Hernández di Mtech.
https://www.mtech-llc.com/blog/lucas-hedding/migrating-using-csv
https://www.mtech-llc.com/blog/ada-hernandez/how-migrate-images-drupal-8-using-csv-source
Ada contoh pengaturan basis kode Lucas yang menyertainya di Github yang mencakup dasar-dasar contoh posting blog CSV pertama, tetapi tidak menyertakan pembantu dengan migrasi gambar atau file.
Ada contoh repositori dari Wunderkraut yang menyertakan migrasi contoh CSV dengan pengguna, taksonomi, migrasi artikel dan gambar di sini:
Migrasi multibahasa dari CSV
Saya sarankan memulai dengan dasar-dasar CSV di atas, lalu pindah ke bagian ini. Anda benar-benar harus memiliki skrip migrasi terpisah untuk setiap bahasa.
Saya mendapat tambahan 20% dari perjalanan ke sana dengan posting blog ini, yang menguraikan rincian cara memodifikasi file yaml migrasi untuk mendukung konten multibahasa termasuk, untuk mengaktifkan
translations: true
didestination
bagian ini, untuk menambahkanlangcode:
bidang diprocess
bagian untuk multi entitas bahasa (seperti node dan istilah), dan untuk menambahkanlanguage:
parameter untuk pemrosesan bidang multi-bahasa tertentu.Saya telah menemukan bagian yang paling sulit untuk mencari tahu cara mengimpor file atau bidang gambar (sisanya 5% untuk saya). Tak satu pun dari contoh di atas yang menunjukkan cara mengimpor bidang alt gambar dengan benar. Dalam kasus saya, saya memiliki bidang gambar yang berbagi gambar, tetapi atribut alt dapat diterjemahkan. Saya menemukan cara mengimpor bidang alt dasar ke simpul bahasa default saya sendiri, tetapi saya mengalami kesulitan untuk mendapatkan impor menggunakan teks alt yang sama tetapi berbeda untuk bahasa lain. Solusi ini dipecahkan oleh pengguna @Vasi dengan menambahkan bidang tambahan yang disebut
content_translation_source
pada langkah proses migrasi bahasa asing YAML. Lebih detail dengan contoh lengkap di sini:Diskusi Tambahan
Akhirnya, ada beberapa diskusi yang terjadi di sini juga:
sumber
content_translation_source
bidang padaprocess
bagian terjemahan bahasa asing, nilai harus ditetapkan ke kode bahasa dari bahasa asli yang diimpor. Lihat jawaban Vasi pada tautan di atas. Saya juga akan memperbarui posting saya untuk mencerminkan perbaikan ini.Anda memerlukan kedua tugas migrasi, file yml di folder migrasi:
Kemudian di Plugin (MigrateExternalTranslatedTestSource.php), Anda perlu membaca .csv (in
initializeIterator()
) ke dalam struktur array impor:sumber