I started vetting core multilingual migrations for Acquia Migrate Accelerate last December, and I’ve found a couple of issues which I tried to fix or worked around.

  1. #3095922 The comment language column in D7 might be empty after migrating from D6, this is invalid in D8

  2. #3155300 d7_language_types migration runs when not appropriate

  3. #3187426 Ignored parent::prepareRow() return value in TermTranslation and in TermLocalizedTranslation,

    Later this was closed as duplicate of #3187433 Eliminate parent::prepareRow() calls with ignored return value from all migrate source plugins

  4. #3186449 ContentEntity source plugin shouldn’t throw exception when the bundle key is missing

  5. #3187474 Improve source record count of translation migrate source plugins which use the i18n_string table

  6. #3318747 Remove unused “I18nQueryTrait” from “TermTranslation” migrate source plugin

  7. #3187616 Fix TermTranslation query and add missing source plugin test

  8. #3143676 Missing condition in d7_term_localized_translation source plugin causing invalid migration

  9. #3188455 Shouldn’t MigrateSkipRowException extend MigrateException?

  10. #3189463 All translation/localization migrations should depend on the language migration

  11. #3196873 Migrations with config or content entity destination should depend on default_language

  12. #3178966 Fatal error in CommentEntityTranslation @MigrationSource when source site does not have comment or node module installed

  13. #3187263 Block configuration translation migrations should be defined in config_translation, not in content_translation

  14. #3187318 ContentEntity source plugin should exclude user with uid 0

  15. #3187320 Migrate Drupal 7 user settings

  16. #3187415 Module settings translation migrations should depend on the default settings migration

  17. #3187418 System site translation shouldn’t migrate properties which are not translatable