Problem/Motivation
In #2953360: Experimental migrate_drupal_multilingual module a new Migrate Drupal Multilingual module was added to wrap multilingual migrations in an experimental package.
Proposed resolution
We should fix the remaining gaps and "get the module to stable". That means in practice that the module will be hidden and disabled. See #2966856: Hide and disable Drupal Migrate Multilingual for that.
Remaining tasks
Testing
This needs testing, with databases used by migrate for testing that are in core and with real world sources for both Drupal 6 and Drupal 7 sources. The testing needed is all done with the UI and checking the results at the end.
There are a couple of options for testing either provide a database here for someone else to test of run the tests yourself and comment on the issue.
To provide a database
- Make your database available to someone else who will run the tests.
- Make just the needed database tables available to someone else you will run the tests. The tables to provide are node*, i18n*, and locales_target. entity_translation* is optional. This should help to remove sensitive data from you database.
To run a test
- Setup
- A fresh Drupal 8.9.x site, minimal install.
- Install migrate_drupal_ui, migrate_drupal_multilingual, migrate, migrate_drupal, language, interface_translation, content_translation, node config_translation and node
- Install other modules as needed to match the old site, i.e. taxonomy, comment, blocks, menu_link_content etc
- It helps to make a dump of the D8 database to make it easier to restart the process
- A source database accessible from the Drupal 8 site, you will be asked for the credentials. You can use
one of the test databases in core, drupal6.php or drupal7.php. If you want to do that create an entry in
settings.php for the database, d6_dump, or d7_dump, and load the database with this command for Drupal 6
php core/scripts/db-tools import --database=d6_dump core/modules/migrate_drupal/tests/fixtures/drupal6.php
and this for Drupal 7
php core/scripts/db-tools import --database=d7_dump core/modules/migrate_drupal/tests/fixtures/drupal7.php
- Run the migration
- UI
- Navigate to /upgrade.
- The Review form will list what will be upgraded and what will not. That output depends on which
modules you installed in the new site. - When you click 'perform upgrade' go take a break, it can take a while.
- Drush
- Use dN_node_master for node migrations. Do not use dN_mode, dN_node_translation or dN_node_revision.
- UI
- Post migration
- Note any errors displayed
- Check the node revisions to determine if the translations are correct.
- Of particular interest is the results displayed on the revisions tab for all the nodes. Go to
node/X/revisions on one site vs the other and make sure the results match.
Remaining Issues
Issues are prioritized based on their impact to content primarily.
Could have
User interface changes
None.
API changes
None.
Data model changes
None.
Release notes snippet
Not for this one. #2966856: Hide and disable Drupal Migrate Multilingual would be the release note worthy one.
Comments
Comment #1
Anonymous (not verified) commentedComment #2
Anonymous (not verified) commentedComment #3
Anonymous (not verified) commentedComment #4
Anonymous (not verified) commentedComment #5
Anonymous (not verified) commentedComment #6
chx commented> Best case scenario, we detect which settings have the override set, and then pull all the language versions for those config and apply them to the translatable config entities in D8.
That will be slightly interesting because we do not have a special mechanism that would map a variable to a config rather we just have separate migrations for each config file so this would mean we would need to duplicate them for i18n? Check for example core/modules/migrate_drupal/config/migrate.migration.d6_system_site.yml which creates the config file system.site
Comment #7
penyaskitoComment #8
Anonymous (not verified) commented@chx Re: #6
"so this would mean we would need to duplicate them for i18n?"
Indeed, this seems to be the case. This is what we are doing with our D7 migrations, we have one that runs first with the baseline data (like the example you refer to) then another migration of "i18n variables" that overlays what was in the i18n table. It is a bit of a hack, two-step process.
Comment #9
Anonymous (not verified) commentedSo it sounds like the biggest issues with these things is time and the amount of tests that will be needed. Testing is not one of my strengths unfortunately, and though I've contributed a bit in this area it is by far the hardest thing for me to work on. The actual doing of the tasks is not as hard IMO, as these are considerations that go into every D7 site I build. These aspects "seem" easy to me, but when adding testing into the mix it becomes extremely daunting to take this on myself. With much of it I literally don't know where to get started. I find this a bit embarrassing, but I'm just being honest about what I think I'm capable of here.
My recommendation in the call today was to have a focus on these issues at the upcoming camp in New York as there will be an i18n sprint happening there. For me this means I'll have access to some insights on creating tests so I can progress when I get stuck, but more importantly there will be other developers who are well versed in testing who can take these issues and really run with them. I wish I was there already... but sadly I'm not yet.
Of course dev days in Szeged is another opportunity but I don't have the time or resources to make it there.
Comment #10
chx commentedTests are superb easy. I'd recommend looking at MigrateAggregatorFeedTest as your starter. You need a DBTNG-format database dump in a class (Drupal6AggregatorFeed), a pretty much copy-paste setUp and then assert that whatever you migrated makes sense.
Comment #11
eliza411 commented@Ryan Weal - thanks again for the outline above.
I know I get discouraged when I find something hard and other people tell me how easy it is. Test writing can eventually become routine, but it also requires a different way of looking at things that can take time to wrap your head around!
Your plan to wait for the camp in New York to personally dig in makes sense to me.
In addition to the example @chx pointed to, I believe the following documentation is still relevant for getting started: https://groups.drupal.org/node/387488 I'm not positive it's up-to-date, though.
Comment #12
penyaskitoComment #13
pcambraAdded roadmap after discussion with penyaskito, chx & gábor.
We're now about to create a set of issues to get this started.
Comment #14
penyaskitoWe discussed with chx and work will happen on drupal6-i18n branch, so we can split the mega-d6-migration-patch and the multilingual parts.
Comment #15
Anonymous (not verified) commentedComment #16
quietone commentedWhat is the "the drupal6-i18n branch" mentioned at the top of the IS? Do I need to use that to work on Multilingual migrations?
Comment #17
penyaskitoThat one is not used anymore, I just edited the issue summary.
Patches are against Drupal core now.
Comment #18
penyaskitoComment #19
heddnCan we get issue summary update? What is remaining for i18n at this point? With D6 sunset fast approaching, how many of the D6 i18n issues are still a concern?
Comment #20
quietone commented@heddn, Nearly everything remains to be done and I'm fairly sure there are more issues to create, at least of the variable to config variety.
I've been researching these issues using D6 (never used multilingual before) and the source plugins should be easy, it is the destinations that need input from someone more experienced. Recently, I've been looking into the user profile fields and the destination EntityConfigBase needs to handle language overrides. How to do that 'properly'?
A review of the Config destination plugin at #2225477: Add migrate sources and destinations for D6 i18n variables is needed. It is blocking novice level work.
Comment #21
quietone commentedAdded issue links to the IS, primarily to find what is missing.
Comment #22
quietone commentedCreated sub issues and moved the original summaries by Ryan Weal to the new issues. Now that it is easier to see all the issues, maybe assigning some priorities is the next step.
Comment #23
quietone commentedComment #24
quietone commentedComment #25
quietone commentedComment #26
quietone commentedAdd issue for D7 test fixture.
Comment #27
quietone commentedJust discovered that i18n blocks is different that the blocks data in the i18n_strings tables. So, adding a todo.
@TODO:
Comment #28
quietone commentedComment #29
gábor hojtsyLet's keep the individual issues on the D8MI sprint. Unless you keep the sprint tag for migrate sprint issues, we are fine to remove it from here IMHO. This meta should be discoverable from each individual issue.
Comment #31
webflo commentedComment #32
vasi commentedComment #33
Anonymous (not verified) commentedI attempted a D7->D8 migration. The D7 site is using entity_translation for nodes. When I migrate to D8 (8.1.7), it only copies 1 translation, and messes it up too.
For example, I have nodes in 3 languages, Dutch, German and English. I migrate to D8, it copies a Dutch translation body with an English title and calls it 'English'. The other 2 translations, including the English source, are nowhere to be found.
Comment #34
gábor hojtsy@morningtime: I agree that is unfortunate, but that is sadly how it is expected at this point. We focused on making the Drupal 6 to Drupal 8 migration path work generally and especially for multilingual. The Drupal 7 core translation and Drupal 6 contrib entity translation to Drupal 8 core translation migrations are still to be done. As per #2225775-188: Migrate Drupal 6 core node translation to Drupal 8 we don't even have an entity_translation issue yet, we do have at least #2669964: Migrate Drupal 7 core node translations to Drupal 8 which would already be a step forward.
@morningtime, the reason the migration does not understand your title translations is because that is a custom module in Drupal 7, just like entity translation and all of those would need migration paths built. Help is very welcome, maybe starting on #2669964: Migrate Drupal 7 core node translations to Drupal 8 would be a good first step towards a solution :)
Comment #35
mpp commentedComment #37
quietone commentedIS update: Corrected the issue for i18n menu.
Why is "Menu Links: #2669978: Migrate D7 Menu Links" listed here with the i18n issues. Admittedly, I just took a brief look.
Comment #38
quietone commentedCorrected link to taxonomy term issue.
Comment #39
gábor hojtsy@quietone: it could be that #2669978: Migrate D7 Menu Links was a dependency for the menu translation migration? Not sure why else would it be here, but its complete nonetheless. I think we can remove it now.
Comment #40
meanderix commentedI'm running in to the same problems as in #33: the D7->D8 upgrade path does not work when using Entity Translation with "field translation". I guess this related to #2073467: Migrate Drupal 7 Entity Translation settings to Drupal 8.
Comment #42
damienmckenna#2669964 was just committed, so that's another great step forwards!
Comment #43
gábor hojtsyAdded #2073467: Migrate Drupal 7 Entity Translation settings to Drupal 8 to issue summary.
Comment #44
jhodgdonAdded #2859297: Migrate taxonomy term references for D6 Node translations
Comment #45
jcnventuraComment #46
jhodgdonAdded child issue #2886609: Migrate translations for D6 i18n taxonomy 'localized' terms to summary.
Comment #49
quietone commentedThis hasn't been updated in a while and needs to checked that it includes all the issues tagged i18n-migrate.
Comment #50
quietone commentedAdd a few i18n issues not already listed here.
Comment #51
quietone commentedFix typo and add new experimental module in top priority section.
Comment #52
quietone commentedFormatting
Comment #53
quietone commentedNoting that an issue to migrate CCK field labels and options needs to be added. I can't do that now, maybe tomorrow.
Comment #54
quietone commentedAdd issue for D6 CCK fields
Comment #55
quietone commentedAdd D7 i18n Variable issues
Comment #56
masipila commentedI updated the issues summary based on the discussion last Thu in migrate mainatainers' weekly and following discussion in #7 - #8 in #2905736: Mark Migrate Drupal as stable.
I added a new subheading for those migrations that are about migrating multilingual content to separate them from migrations where site builder csn easily do the i18n setup manually.
Feel free to propose promoting any issue to this category, I just moved the most obvious ones.
Markus
p.s. Thumbs up @quietone! I noticed you've been very active lately in these i18n issues!
Comment #57
masipila commentedMoved user entity translations to the high priority (content) list.
Comment #58
jhodgdonAdding new issue to the taxonomy section.
Comment #59
masipila commentedComment #60
masipila commentedI made a minimal change to issue summary. I believe it will refresh the colors of the issues listed in the IS. Sorry for the email notifications that this triggers.
Comment #61
heddnRe-titling to bring in the concept of entity translation in addition to just i18n.
Comment #62
heddnBumping to major.
Comment #63
masipila commentedI cleaned up the issue summary, the list items were duplicating the issue titles that are automatically rendered.
Bumped #2859297: Migrate taxonomy term references for D6 Node translations to the high priority list as it is content migration and is blocking Migrate Drupal stability according to the current definition.
Markus
Comment #64
masipila commentedAdded #2979964: Migrate translations for D7 i18n taxonomy 'localized' terms which is the same thing as #2886609: Migrate translations for D6 i18n taxonomy 'localized' terms but for Drupal 7.
Comment #65
masipila commentedAdded #2979966: Migrate D7 i18n taxonomy term language
Comment #66
masipila commentedAdded #2979970: Migrate D7 vocabulary language settings
Comment #67
masipila commentedEntity translation issue was split, added the follow-ups:
#2980996: Migrate Drupal 7 taxonomy term entity translations data to Drupal 8
#2669984: Migrate Drupal 7 user entity translations data to Drupal 8
#2981000: Migrate Drupal 7 comment entity translations data to Drupal 8
Comment #68
masipila commentedWoops, listed one of the issues twice.
Comment #69
masipila commentedAdded the two new comment related issues + organized the lists in the IS a bit for clarity.
Comment #70
masipila commentedAdded #2985716: Cannot save language negotiation settings after upgrade which is critical as it corrupts data
Comment #71
webchickJust a bunk comment to update the issue statuses in the issue summary to their proper current values.
Comment #73
masipila commentedPseudo update to refresh the status colors.
Comment #74
masipila commentedRefreshing the issue colors so that I can write a summary of the current situation.
Comment #75
masipila commentedAdded remaining child issues to the issue summary.
The upgrade path for multilingual Drupal 6 to Drupal 8 is quite good. The biggest single remaining bundle is related to multilingual taxonomies / vocabularies. We have also node revision translations left.
For multilingual Drupal 7 to Drupal 8, the migrations for the Entity Translation concept is done except one remaining issue! The multilingual taxonomies / vocabularies (done without Entity Translation) and node revision translations is also remaining.
When these land, I would be ready to start considering also the multilingual upgrade paths stable i.e. the other issues that we have left should not block stability. If somebody has other views, please comment here!
Thanks @maxocub and @quietone once more for the productive mini-sprint this week and keep up the great work!
Cheers,
Markus
Comment #76
gábor hojtsyRetitle to be more appropriate now that we have its own module.
Comment #77
quietone commentedI was just comparing the d6 i18n issues with what exists for D7 to see what D7 migrations still need to be created . This is what I have as a working list. This does not mean that these are all the ones needed for D7, just the ones the would bring in the same type of data as the D6 ones. Still a lot to do.
Block
block_translation
Fields
cck fields label and description
cck field option translations
Menu
menu_links_translation
Taxonomy
taxonomy_vocabulary_translation
taxonomy_term_translation
i18n taxonomy localized terms
vocabulary language settings
"per" language multilingual vocabularies and terms
User
user_profile_field_instance_translation
user_settings_translation
user profile field value option translations
Comment #78
quietone commentedAdding new issues to the IS and put the ones still to do at the top of each section. Still needs more cleanup but I want to understand the priorities first.
Taxonomy and User migrations still need issues.
Comment #79
quietone commentedUpdating the list of migrations still needing issues.
Taxonomy
taxonomy_vocabulary_translation
taxonomy_term_translation
vocabulary language settings
"per" language multilingual vocabularies and terms
User
user_profile_field_instance_translation
user profile field value option translations
Comment #80
quietone commentedJust rearranging the issues to make it easier for me to find things.
Comment #81
gábor hojtsyComment #82
quietone commentedIS update - removed completed issues from the list and moved all the d6 to high priority. Much easier to read now.
Comment #83
gábor hojtsyRemoved two other landed just now if we are removing things now :)
Comment #84
masipila commentedTwo subheadings were not accurate anymore, removed.
Comment #85
gábor hojtsyComment #86
quietone commentedUpdated IS to put blocked issues below the issue blocking it and indented.
Comment #87
quietone commented@masipila, you recently changed the parent of #2746517: Automatically derive auxiliary migrations to this one but this has changed to focus on stability of the multilingual. And I don't think that one is required for stability. Shall we just 'un parent' it and rely on the tags?
Comment #88
masipila commented#2886609: Migrate translations for D6 i18n taxonomy 'localized' terms landed.
Comment #89
masipila commented#2979970: Migrate D7 vocabulary language settings is not postponed anymore.
Comment #90
quietone commentedAnd one of taxonomy one was committed too! #2886609: Migrate translations for D6 i18n taxonomy 'localized' terms
Comment #91
quietone commentedRemove fixed issue from the IS
Comment #92
heddnComment #93
heddnComment #94
quietone commentedAdd D7 language content comment migration
Remove fixed D6 user profile issue
Comment #95
quietone commentedComment #96
heddnDiscussed in the migration maintainers call in slack this week this issue. TLDR; the sub-system maintainers are going to review all the child issues for multilingual for BC break potential. After we've done that and ONLY IF we don't find any potential, we'll mark this issue here for framework and release manager review. Review for marking multilingual as stable.
The longer version...
Due to our cautious nature in Drupal, we want to make sure we don't cause *any* BC breaks to folks. We take great pride in limiting the BC breaks in Migrate for a long time. Even before it was officially stable. This is a slow process though and multi-lingual migrations are complicated and only serves about 20% of the community. And of that 20%, there are multiple ways to implement multilingual sites in D6 and D7, all adding to the complexity. So we've traditionally stated we'd like to finish everything related to multi-lingual before we mark all of it stable. This is contrary to what we have done in the non-multilingual side of Migrate Drupal. On that side, we got to a point where we don't think we'll have any more BC breaks and even though there are few small holes here on the upgrade path... we felt it was far better to mark the whole thing stable and give folks the opportunity to upgrade to D8, then to wait a really long time until all upgrade paths are filled.
So, we're proposing to do the same thing now for multilingual. Review the child issues. Look for potential BC breaks. We know that name changes are the bane of BC. Keep that and other things in mind when reviewing. If we do not find any potential BC breaks, then let's move on and mark this thing stable.
Comment #97
phenaproximaReviewed #3008028-24: Migrate D7 i18n menu links for BC breaks and found none. Adjusting the IS.
Comment #98
masipila commentedHi!
I honestly don't know how we could declare stability without these three issues being solved:
#2979964: Migrate translations for D7 i18n taxonomy 'localized' terms
#2859297: Migrate taxonomy term references for D6 Node translations
#2979966: Migrate D7 i18n taxonomy term language
Without these, the upgrade path for multilingual sites that use taxonomy terms is more or less totally incomplete. The only workaround would be to go manually through all the nodes that used to have terms and manually add those terms back (after manually fixing the language to all those terms). This can be thousands of nodes and humanly impossible task.
Markus
Comment #99
quietone commentedAdd issue for D7 synchronized fields
Comment #100
quietone commentedAdd issue
Comment #101
quietone commentedJust moving the D6 issues to the top of this list in the IS
Comment #102
quietone commentedFormat fix for IS.
Comment #103
masipila commentedUpdating issue color coding
Comment #104
masipila commentedAdded #3035392: Migrate vocabulary translations and taxonomy term references for Drupal 7 node translations
Comment #105
masipila commentedComment #106
masipila commentedRemoving this issue from the issue summary todo list as it landed. #3008030: Migrate D7 i18n fields label and description
Comment #107
quietone commentedComment #108
quietone commentedJust finished going through all the high priority issues. There is plenty to review.
Comment #109
masipila commentedRefreshing the status colors in the issue summary
Comment #110
gábor hojtsyRetitled for Must/Should/Could/Nice to have.
Comment #111
gábor hojtsyFurther clarified the issue summary and removed 2 done issues.
Comment #112
masipila commented#3024460: Migrate D7 comment type language settings just landed, removing from IS
Comment #113
webchickAccording to #2608062: [META] Requirements for tagging Drupal 9.0.0-alpha1, this is a "must have" for opening the Drupal 9 branch, which must be done by the end of 2020, so escalating to critical and tagging it with "Drupal 9."
Comment #114
quietone commentedComment #115
quietone commentedFixing a mistake
Comment #116
quietone commentedRemove duplicate issue from IS
Comment #117
quietone commentedComment #118
quietone commentedComment #119
webchickPer @catch, one of the core release managers, we should try and focus here on migration paths for multilingual functionality provided by core (e.g. node revisions), since that's core violating its own standard to provide upgrade paths for all of its own data, vs. other things such as taxonomy terms that needed a contrib module (i18n) to provide multilingual functionality... those are still critical from the standpoint of calling the migration path "done," but the core-provided stuff specifically blocks the opening of the D9 branch, so... "hyper-critical." ;D
Comment #120
catchComment #121
catchComment #122
catchI split the issue summary up into 'must have -> core migrations' and 'must have -> contrib to core migrations'. Also bumped those two obvious core to core issues to critical.
Comment #123
quietone commentedAdd #3073050: Migrate D7 i18n taxonomy term field translations to the IS.
Comment #124
masipila commentedRefreshing colors
Comment #125
masipila commented#2979970: Migrate D7 vocabulary language settings and #3008029: Migrate D7 i18n field option translations have landed, removing from IS.
Comment #126
quietone commentedAnd #2979964: Migrate translations for D7 i18n taxonomy 'localized' terms
Comment #127
masipila commented#2979966: Migrate D7 i18n taxonomy term language just landed, removed from remaining tasks.
Comment #128
masipila commentedOne more edit to refresh status colors as #3035392: Migrate vocabulary translations and taxonomy term references for Drupal 7 node translations is unpostponed.
Comment #129
quietone commentedAdd issue for migrating revisions for d7 entity translation method.
Comment #130
gábor hojtsyI closed #2980551: Errors When Migrating Books From Multilingual Drupal 7 as the reported did not follow up on questions from almost a month ago (and repeated questions over a week ago). Since it was not otherwise reproducible, it does not seem like we can do anything about that.
Comment #131
quietone commentedUpdating the IS because #3030937: Ensure language is not Null in translation source queries has been committed
Comment #132
gábor hojtsyReparenting as this is a direct requirement of beta.
Comment #133
gábor hojtsy#3031727: Migrate D7 synchronized fields also just landed, removing from issue summary.
Comment #134
masipila commented#3035392: Migrate vocabulary translations and taxonomy term references for Drupal 7 node translations landed, removed from issue summary
Comment #135
quietone commentedAdded issues that were found when working on the node revision translation and that need to be committed first.
Comment #137
quietone commentedComment #138
quietone commentedComment #139
quietone commentedGreat both Upgrade6 and Upgrade7 are passing tests.
Comment #140
quietone commentedTesters: Sorry, I found a problem late last night so please don't test with the latest patch. I will post a new patch within the hour.
Comment #141
quietone commentedComment #142
quietone commentedComment #143
quietone commentedAdd instructions for drush
Comment #144
webchickSorry for the noise; adding an ID attribute to the "Testing" heading for easier link-age.
Comment #145
quietone commentedRemove #3082719: migrate_drupal_migration_plugins_alter() should only alter definitions that exist from the IS since it was committed.
Comment #146
quietone commentedComment #147
quietone commentedRemove #3073050: Migrate D7 i18n taxonomy term field translations and #3086238: getHighestId() should not fail when there is a destination id with type string from the IS because they were committed.
Comment #148
quietone commentedUpdate the IS with the Drupal 8 version to install.
Comment #149
quietone commentedRemove committed issue from the IS
Comment #150
quietone commentedComment #151
quietone commentedComment #152
quietone commentedComment #153
quietone commentedComment #154
quietone commentedAdd more testing info to IS
Comment #155
wim leersFor those following along here: #2746541: Migrate D6 and D7 node revision translations to D8 is now RTBC 🥳
Comment #156
xjmComment #157
quietone commentedAdd menu translation issue
Comment #158
quietone commentedComment #159
xjmComment #160
gábor hojtsyMoving entity_translation issue to could have based on discussion in #2966856-46: Hide and disable Drupal Migrate Multilingual.
Comment #161
catchRe-titling. We have a stable multingual migration path for core, but we still have migrations to add for functionality that required contrib modules in Drupal 6/7 and has been moved to core.
Comment #163
quietone commentedUpdate issues in IS.
Comment #164
quietone commentedthis is blocking #3010983: Deprecate Drupal 6 and Drupal 7 migrations and move to contrib
Comment #165
catchWe'll still want to backport these to 8.9 patch releases if possible I think, so switching the version back.
Comment #166
quietone commented#2746517: Automatically derive auxiliary migrations has been closed(outdated) so removing from the IS.
Comment #167
quietone commentedAll must haves are completed.
Comment #168
quietone commented#3110669: Migrate d7 menu language content settings committed!
Comment #169
quietone commented#3112249: Migrate d7 menu translation committed.
Comment #170
benjifisherNot a word: "migation". ;)
Comment #171
catchJust realised #3008028: Migrate D7 i18n menu links and #3030939: D7 user profile translation migration are the last open issues here, both should haves, one RTBC - I think we can close this? Going to go ahead and do that (adding some triage credit in the process). Please re-open if I've missed something.
Comment #172
catchComment #173
wim leers🥳
Comment #175
quietone commentedWim Leers pointed out in #3175729: Mark i18n migrations as finished that there are todos in core referring to this issue. Those todo can't be done until all the i18n issues are committed and they are not. We are waiting on, at least, #3008028: Migrate D7 i18n menu links. So, let's leave this open until all the issues are done.
Comment #176
wim leersThanks for the coordination here, @quietone!
Comment #177
gábor hojtsy#3008028: Migrate D7 i18n menu links is committed at least in Drupal 9.1. That would mean this can be continued?
Comment #178
quietone commentedI've checked the migration of user profile translation for D7 and am pleased so say that it was already done, there is nothing to do there. Therefor, I have closed #3030939: D7 user profile translation migration.
That means that all the multilingual migrations have been committed to HEAD, 9.1.x.
Wow! Did I really say that?
The remaining work is to backport #3110669: Migrate d7 menu language content settings and #3112249: Migrate d7 menu translation. The first one needs to be committed first as it has fixture changes needed in the second. There is no reason to wait on these issue to be backported, or not, as the case may be. We can continue on with the followup work.
Thanks to Wim Leers, the follow up to this, which is to review the files in migrates/state and remove @todos, already exists with a patch, #3175729: Mark i18n migrations as finished.
A very big THANK YOU to the many, many, many people, too many to name, who helped get this job done. And a special thank you to Gábor Hojtsy who was patient when I was struggling to figure out how to use translations in Drupal 6 and Drupal 7.
Time to Celebrate!!
Comment #179
quietone commentedOops, seems I missed, #3008028: Migrate D7 i18n menu links, despite it being mentioned in #177. I will check those issues and update them as needed tonight.
Comment #180
xjm