diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/AbstractActionTestCase.php
index f9ad4354c988c1bc92dfe1de7059bd62dc5223d5..e3d4eee171a8467bb749fd2b73e30083644affb6 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/AbstractActionTestCase.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/AbstractActionTestCase.php
@@ -134,20 +134,21 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
 
     /**
      * See DataSet/copyContentToLanguageOfRelation.csv
-     * @todo: does not exist in workspaces
      */
     public function copyContentToLanguageOfRelation(): void
     {
-        $this->actionService->copyRecordToLanguage(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+        $newTableIds = $this->actionService->copyRecordToLanguage(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+        $this->recordIds['newContentId'] = $newTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
     }
 
     /**
      * See DataSet/copyCategoryToLanguageOfRelation.csv
-     * @todo: does not exist in workspaces
+     * @todo: This action does not copy the relations with it (at least in workspaces), and should be re-evaluated
      */
     public function copyCategoryToLanguageOfRelation(): void
     {
-        $this->actionService->copyRecordToLanguage(self::TABLE_Category, self::VALUE_CategoryIdFirst, self::VALUE_LanguageId);
+        $newTableIds = $this->actionService->copyRecordToLanguage(self::TABLE_Category, self::VALUE_CategoryIdFirst, self::VALUE_LanguageId);
+        $this->recordIds['newCategoryId'] = $newTableIds[self::TABLE_Category][self::VALUE_CategoryIdFirst];
     }
 
     public function localizeContentOfRelation(): void
@@ -156,9 +157,6 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
         $this->recordIds['localizedContentId'] = $localizedTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
     }
 
-    /**
-     * @todo: does not exist in workspaces
-     */
     public function localizeContentOfRelationWithLanguageSynchronization(): void
     {
         $GLOBALS['TCA'][self::TABLE_Content]['columns'][self::FIELD_Categories]['config']['behaviour']['allowLanguageSynchronization'] = true;
@@ -166,9 +164,13 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
         $this->recordIds['localizedContentId'] = $localizedTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
     }
 
-    /**
-     * @todo: does not exist in workspaces
-     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        $GLOBALS['TCA'][self::TABLE_Content]['columns'][self::FIELD_Categories]['config']['l10n_mode'] = 'exclude';
+        $localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Content, self::VALUE_ContentIdLast, self::VALUE_LanguageId);
+        $this->recordIds['localizedContentId'] = $localizedTableIds[self::TABLE_Content][self::VALUE_ContentIdLast];
+    }
+
     public function localizeContentOfRelationAndAddCategoryWithLanguageSynchronization(): void
     {
         $GLOBALS['TCA'][self::TABLE_Content]['columns'][self::FIELD_Categories]['config']['behaviour']['allowLanguageSynchronization'] = true;
@@ -182,9 +184,6 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
         );
     }
 
-    /**
-     * @todo: does not exist in workspaces
-     */
     public function localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization(): void
     {
         $GLOBALS['TCA'][self::TABLE_Content]['columns'][self::FIELD_Categories]['config']['behaviour']['allowLanguageSynchronization'] = true;
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/ActionTest.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/ActionTest.php
index c0516a1643172308a94737bfbad1b8ac65c42603..fe96c2ccf3cab099db969f7729d64c37711cd9ec 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/ActionTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/ActionTest.php
@@ -269,6 +269,22 @@ final class ActionTest extends AbstractActionTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     * See DataSet/localizeContentOfRelationWExclude.csv
+     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        parent::localizeContentOfRelationWithLanguageExclude();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWExclude.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      * See DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/DataSet/localizeContentOfRelationWExclude.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/DataSet/localizeContentOfRelationWExclude.csv
new file mode 100644
index 0000000000000000000000000000000000000000..a0a653fb43a8f89655b5bdd7c6d31a641f4675f4
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/Modify/DataSet/localizeContentOfRelationWExclude.csv
@@ -0,0 +1,35 @@
+"pages",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,
+,1,0,256,0,0,0,0,0,0,"FunctionalTest",,,,,
+,88,1,256,0,0,0,0,0,0,"DataHandlerTest",,,,,
+,89,88,256,0,0,0,0,0,0,"Relations",,,,,
+,90,88,512,0,0,0,0,0,0,"Target",,,,,
+"sys_category",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",
+,28,0,256,0,0,0,0,0,0,0,0,"Category A",0,0,
+,29,0,512,0,0,0,0,0,0,0,0,"Category B",0,0,
+,30,0,768,0,0,0,0,0,0,0,0,"Category C",0,0,
+,31,0,1024,0,0,0,0,0,0,0,0,"Category A.A",28,0,
+"sys_category_record_mm",,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state"
+,297,89,256,0,0,0,0,0,0,0,0,"Regular Element #1",0,2,"\NULL"
+,298,89,512,0,0,0,0,0,0,0,0,"Regular Element #2",0,2,"\NULL"
+,299,89,768,0,1,298,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,"\NULL"
+"sys_refindex",,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/ActionTest.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/ActionTest.php
index eb2f9aa41663960426211f6775bb3796d9a9f581..e0c9a2b98436b0c11c898bed3d8e478d4f84fa00 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/ActionTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/ActionTest.php
@@ -195,6 +195,16 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
         $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentOfRelation.csv');
     }
 
+    /**
+     * @test
+     */
+    public function copyContentToLanguageOfRelation(): void
+    {
+        parent::copyContentToLanguageOfRelation();
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['newContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageOfRelation.csv');
+    }
+
     /**
      * @test
      */
@@ -205,6 +215,17 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
         $this->assertCSVDataSet(__DIR__ . '/DataSet/copyCategoryOfRelation.csv');
     }
 
+    /**
+     * @test
+     * @todo: this is a faulty test, because the category should be discarded
+     */
+    public function copyCategoryToLanguageOfRelation(): void
+    {
+        parent::copyCategoryToLanguageOfRelation();
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['newCategoryId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyCategoryToLanguageOfRelation.csv');
+    }
+
     /**
      * @test
      */
@@ -215,6 +236,55 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
         $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelation.csv');
     }
 
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationWithLanguageSynchronization();
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWSynchronization.csv');
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        parent::localizeContentOfRelationWithLanguageExclude();
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWExclude.csv');
+    }
+
+    /**
+     * @test
+     * See DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
+     * Note: The added category still exists, even if we discard the localized content
+     */
+    public function localizeContentOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationAndAddCategoryWithLanguageSynchronization();
+        // @todo: even if we discard this record, it is still showing up in the result
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        // @todo: do we need to discard the references manually?
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv');
+    }
+
+    /**
+     * @test
+     * See DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
+     * Note: The added category still exists, even if we discard the localized content
+     */
+    public function localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization();
+        // @todo: even if we discard this record, it is still showing up in the result
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->actionService->clearWorkspaceRecord(self::TABLE_Content, $this->recordIds['localizedContentIdSecond']);
+        // @todo: do we need to discard the references manually?
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv');
+    }
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyCategoryToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyCategoryToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8e52c515d732b1d03355bab659439280eb0fb7e7
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyCategoryToLanguageOfRelation.csv
@@ -0,0 +1,40 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+# @todo: this is a bug. Discard should remove this record
+,32,0,384,0,1,0,1,1,0,0,"[Translate to Dansk:] Category A",0,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyContentToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyContentToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..20ff25652b1ed78796275ac340e583e59f29a7b4
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/copyContentToLanguageOfRelation.csv
@@ -0,0 +1,38 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..cee1eee86312b9c0ff80cbf93ac6830a8a80fb3f
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,48 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: These records have been added in Workspace but are not discarded (as it's a loose connection) - does this make sense?
+,29,301,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,301,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,301,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+# @todo: this should never be there. And: Why doesn't this have a sys_language_uid record?
+,301,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"f0163305d4f0d8bb60442a6274f60789","sys_category",29,"items",,,,2,1,"tt_content",301,,,,,,
+,"7e26b91c5c5b4a248372dc4088aab1a2","sys_category",30,"items",,,,1,1,"tt_content",301,,,,,,
+,"25149609959939239d08d8a9bf55d0dd","sys_category",31,"items",,,,0,1,"tt_content",301,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f2d01a204af8f989be170a212eda918073d7efbb
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,48 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: These records have been added in Workspace but are not discarded (as it's a loose connection) - does this make sense?
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+# @todo: this should never be there. And: Why doesn't this have a sys_language_uid record?
+,300,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"f075722a18763b90bece7e2a128a4c37","sys_category",29,"items",,,,2,1,"tt_content",300,,,,,,
+,"a05563ee05b1309b920ab23a469e94aa","sys_category",30,"items",,,,1,1,"tt_content",300,,,,,,
+,"3f2f472a5a6903529448b3da3d4c1e4d","sys_category",31,"items",,,,0,1,"tt_content",300,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWExclude.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWExclude.csv
new file mode 100644
index 0000000000000000000000000000000000000000..08e6d17b33c8f542f523f9baaf8a9031ab874db9
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWExclude.csv
@@ -0,0 +1,38 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..08e6d17b33c8f542f523f9baaf8a9031ab874db9
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesDiscard/DataSet/localizeContentOfRelationWSynchronization.csv
@@ -0,0 +1,38 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/ActionTest.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/ActionTest.php
index 83c4d7287aa68ca6734c2884c93b7aa46f6eaff8..f0ec9146baf609aa3cb149ff8e965c612f35914f 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/ActionTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/ActionTest.php
@@ -285,6 +285,24 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function copyContentToLanguageOfRelation(): void
+    {
+        parent::copyContentToLanguageOfRelation();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
@@ -303,6 +321,26 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', 'Category A (copy 1)'));
     }
 
+    /**
+     * @test
+     */
+    public function copyCategoryToLanguageOfRelation(): void
+    {
+        parent::copyCategoryToLanguageOfRelation();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyCategoryToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A'));
+        // As the copy is not connected, it is also not shown in the default language @todo check if this is correct
+        //    ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', '[Translate to Dansk:] Category A'));
+    }
+
     /**
      * @test
      */
@@ -321,6 +359,82 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationWithLanguageSynchronization();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv');
+
+        // @todo: should we check for LanguageId_Second?
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        parent::localizeContentOfRelationWithLanguageExclude();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWExclude.csv');
+
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     * See DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
+     * @todo: this test is faulty as it adds a lot of entries
+     */
+    public function localizeContentOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest(
+            (new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId),
+            (new InternalRequestContext())->withBackendUserId(self::VALUE_BackendUserId)->withWorkspaceId(self::VALUE_WorkspaceId)
+        );
+        // @todo: should probably also show the fourth category
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyCategoryToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyCategoryToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f8d860d99d628a479086b5269a8a86b79b2153bb
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyCategoryToLanguageOfRelation.csv
@@ -0,0 +1,39 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+,32,0,384,0,1,0,1,1,0,0,"[Translate to Dansk:] Category A",0,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyContentToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyContentToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e8299313538e75ff5520e13c288b20bad50be90f
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/copyContentToLanguageOfRelation.csv
@@ -0,0 +1,46 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,0,1,1,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"6824a5635d464123a7a91770440e1d23","sys_category",29,"items",,,,1,1,"tt_content",298,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"d624da48d7d6427f385a8197cb90c391","sys_category",30,"items",,,,0,1,"tt_content",298,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..cd06a15e2b6d129fc5f3eec3f5e1b39ec61d5b2b
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,64 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: These records have been added in Workspace but are not discarded (as it's a loose connection) - does this make sense?
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+,29,301,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,301,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,301,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,1,1,0,0,"[Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""parent""}",,,
+,300,89,1024,0,2,298,1,1,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""source""}",,,
+# @todo: this should never be there. And: Why doesn't this have a sys_language_uid record?
+,301,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
+,"55997c67816b709e1d0f0323fea3c39a","sys_category",31,"items",,,,0,1,"tt_content",299,,,,,,
+,"bc70e11586947a0c445e348692fd80ba","sys_category",29,"items",,,,3,1,"tt_content",300,,,,,,
+,"30dbf807a4f9b02e14ed66e14fbafa8d","sys_category",30,"items",,,,2,1,"tt_content",300,,,,,,
+,"cc7a87f86e822a6fa9e657823dd403cb","sys_category",31,"items",,,,1,1,"tt_content",300,,,,,,
+,"e4afda9b67d6ad42e03f5c797250235d","tt_content",299,"l18n_parent",,,,0,1,"tt_content",298,,,,,,
+,"395b0d618186f09ea54b5c1d1453b546","tt_content",300,"l18n_parent",,,,0,1,"tt_content",298,,,,,,
+,"f61b78a60242bcb99d06fa67e53e901f","sys_category",29,"items",,,,4,1,"tt_content",301,,,,,,
+,"82a47852dee1493bcb8621ec3f4a3774","sys_category",30,"items",,,,3,1,"tt_content",301,,,,,,
+,"43deb98f64c8be0b517af16d3f667792","sys_category",31,"items",,,,2,1,"tt_content",301,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..cb9178f865631f3dfa87722db0c1dca1a4348816
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,56 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: This does not seem right at all. A lot of duplicates
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,1,1,0,0,"[Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""parent""}",,,
+# @todo: This does not seem right at all. This is a copy of the regular element IN ADDITION to the translated version
+,300,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"e4afda9b67d6ad42e03f5c797250235d","tt_content",299,"l18n_parent",,,,0,1,"tt_content",298,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
+,"bc70e11586947a0c445e348692fd80ba","sys_category",29,"items",,,,3,1,"tt_content",300,,,,,,
+,"30dbf807a4f9b02e14ed66e14fbafa8d","sys_category",30,"items",,,,2,1,"tt_content",300,,,,,,
+,"55997c67816b709e1d0f0323fea3c39a","sys_category",31,"items",,,,0,1,"tt_content",299,,,,,,
+,"cc7a87f86e822a6fa9e657823dd403cb","sys_category",31,"items",,,,1,1,"tt_content",300,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWExclude.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWExclude.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4db5fa391f44bde46b06be9fbafacbd3282a7061
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWExclude.csv
@@ -0,0 +1,47 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,1,1,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"e4afda9b67d6ad42e03f5c797250235d","tt_content",299,"l18n_parent",,,,0,1,"tt_content",298,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"6824a5635d464123a7a91770440e1d23","sys_category",29,"items",,,,1,1,"tt_content",298,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"d624da48d7d6427f385a8197cb90c391","sys_category",30,"items",,,,0,1,"tt_content",298,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..debbb7c4890efd3ed3bba537f52235cbf6aa74b6
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesModify/DataSet/localizeContentOfRelationWSynchronization.csv
@@ -0,0 +1,47 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,1,1,0,0,"[Translate to Dansk:] Regular Element #2",0,2,"{""categories"":""parent""}",,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"e4afda9b67d6ad42e03f5c797250235d","tt_content",299,"l18n_parent",,,,0,1,"tt_content",298,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"6824a5635d464123a7a91770440e1d23","sys_category",29,"items",,,,1,1,"tt_content",298,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"d624da48d7d6427f385a8197cb90c391","sys_category",30,"items",,,,0,1,"tt_content",298,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/ActionTest.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/ActionTest.php
index 285bda23566b26f36340b2fe940c95c36dc1d52d..f99f431e5f4ddf5968670be05c7a307da4aaa822 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/ActionTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/ActionTest.php
@@ -279,6 +279,22 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function copyContentToLanguageOfRelation(): void
+    {
+        parent::copyContentToLanguageOfRelation();
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['newContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
@@ -295,6 +311,25 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', 'Category A (copy 1)'));
     }
 
+    /**
+     * @test
+     */
+    public function copyCategoryToLanguageOfRelation(): void
+    {
+        parent::copyCategoryToLanguageOfRelation();
+        $this->actionService->publishRecord(self::TABLE_Category, $this->recordIds['newCategoryId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyCategoryToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A'));
+        // [Translate to Dansk:] Category A is not connected, thus it is not shown
+        // ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', '[Translate to Dansk:] Category A'));
+
+    }
+
     /**
      * @test
      */
@@ -311,6 +346,72 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationWithLanguageSynchronization();
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        parent::localizeContentOfRelationWithLanguageExclude();
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWExclude.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentId']);
+        $this->actionService->publishRecord(self::TABLE_Content, $this->recordIds['localizedContentIdSecond']);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv');
+
+        // @todo: should we check for LanguageId_Second?
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyCategoryToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyCategoryToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..eaaa8e344e0153500e0bd555b417f7050d663ede
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyCategoryToLanguageOfRelation.csv
@@ -0,0 +1,39 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+,32,0,384,0,1,0,0,0,0,0,"[Translate to Dansk:] Category A",0,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyContentToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyContentToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..071536216deb14e0be3f46f7231a41c8cd1d98eb
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/copyContentToLanguageOfRelation.csv
@@ -0,0 +1,43 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..a3ef6e21cbc71c8afb6c7a70e303cb508dadcb08
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,70 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: These records have been added in Workspace but are not discarded (as it's a loose connection) - does this make sense?
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+,29,301,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,301,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,301,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""parent""}",,,
+,300,89,1024,0,2,298,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""source""}",,,
+# @todo: this should never be there. And: Why doesn't this have a sys_language_uid record?
+,301,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
+,"51c976b55c7d8cded9b04d8f6a7ba588","sys_category",31,"items",,,,0,0,"tt_content",299,,,,,,
+,"c9b6f46d28e208f172a6d23329c6ca99","sys_category",29,"items",,,,3,0,"tt_content",300,,,,,,
+,"0a064b8983002eeee02584d61a5bbf76","sys_category",30,"items",,,,2,0,"tt_content",300,,,,,,
+,"eff6e1e751e73db5f4d29f1cffee82af","sys_category",31,"items",,,,1,0,"tt_content",300,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"96c729dcc96a40a04fd5591a442b68b5","tt_content",300,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"f61b78a60242bcb99d06fa67e53e901f","sys_category",29,"items",,,,4,1,"tt_content",301,,,,,,
+,"82a47852dee1493bcb8621ec3f4a3774","sys_category",30,"items",,,,3,1,"tt_content",301,,,,,,
+,"43deb98f64c8be0b517af16d3f667792","sys_category",31,"items",,,,2,1,"tt_content",301,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
+,"55997c67816b709e1d0f0323fea3c39a","sys_category",31,"items",,,,0,1,"tt_content",299,,,,,,
+,"bc70e11586947a0c445e348692fd80ba","sys_category",29,"items",,,,3,1,"tt_content",300,,,,,,
+,"30dbf807a4f9b02e14ed66e14fbafa8d","sys_category",30,"items",,,,2,1,"tt_content",300,,,,,,
+,"cc7a87f86e822a6fa9e657823dd403cb","sys_category",31,"items",,,,1,1,"tt_content",300,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..fd3bda0410b3f4f01206b8c4a2a4c214b9a8e7d5
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,59 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo this is probably wrong as there are multiple records
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,3,,,,
+# @todo: should not exist
+,300,89,512,0,0,0,1,0,0,298,"Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
+,"a2784c59b73c994181170d02af23959c","sys_category",29,"items",,,,0,1,"tt_content",297,,,,,,
+,"bc70e11586947a0c445e348692fd80ba","sys_category",29,"items",,,,3,1,"tt_content",300,,,,,,
+,"30dbf807a4f9b02e14ed66e14fbafa8d","sys_category",30,"items",,,,2,1,"tt_content",300,,,,,,
+,"cc7a87f86e822a6fa9e657823dd403cb","sys_category",31,"items",,,,1,1,"tt_content",300,,,,,,
+,"51c976b55c7d8cded9b04d8f6a7ba588","sys_category",31,"items",,,,0,0,"tt_content",299,,,,,,
+,"92e328e25f38d92ecf90478f6b47e671","sys_category",29,"items",,,,2,1,"tt_content",299,,,,,,
+,"f65da53fb6e3b34333940d2cffe010a3","sys_category",30,"items",,,,1,1,"tt_content",299,,,,,,
+,"55997c67816b709e1d0f0323fea3c39a","sys_category",31,"items",,,,0,1,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWExclude.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWExclude.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4d7e8dacf729a4789b7074125ab7d9f776d5158c
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWExclude.csv
@@ -0,0 +1,44 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..111ec9ebd86cae7ee0230c9409c2390f5e993fcc
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublish/DataSet/localizeContentOfRelationWSynchronization.csv
@@ -0,0 +1,44 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,"{""categories"":""parent""}",,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/ActionTest.php b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/ActionTest.php
index e69c8800e1c18f67e698c0508c9d3332adf5e649..75a7babe98ffd61c0d24de2a4453042990b21505 100644
--- a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/ActionTest.php
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/ActionTest.php
@@ -263,6 +263,22 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function copyContentToLanguageOfRelation(): void
+    {
+        parent::copyContentToLanguageOfRelation();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyContentToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
@@ -279,6 +295,24 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', 'Category A (copy 1)'));
     }
 
+    /**
+     * @test
+     */
+    public function copyCategoryToLanguageOfRelation(): void
+    {
+        parent::copyCategoryToLanguageOfRelation();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/copyCategoryToLanguageOfRelation.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdFirst)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A'));
+        // [Translate to Dansk:] Category A is not connected, thus it is not shown
+        // ->setTable(self::TABLE_Category)->setField('title')->setValues('Category A', '[Translate to Dansk:] Category A'));
+    }
+
     /**
      * @test
      */
@@ -295,6 +329,71 @@ final class ActionTest extends AbstractActionWorkspacesTestCase
             ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
     }
 
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationWithLanguageSynchronization();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationWithLanguageExclude(): void
+    {
+        parent::localizeContentOfRelationWithLanguageExclude();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationWExclude.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv');
+
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
+    /**
+     * @test
+     */
+    public function localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization(): void
+    {
+        parent::localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization();
+        $this->actionService->publishWorkspace(self::VALUE_WorkspaceId);
+        $this->assertCSVDataSet(__DIR__ . '/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv');
+
+        // @todo: should we check for LanguageId_Second?
+        $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(self::VALUE_PageId)->withLanguageId(self::VALUE_LanguageId));
+        $responseSections = ResponseContent::fromString((string)$response->getBody())->getSections();
+        self::assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint()
+            ->setRecordIdentifier(self::TABLE_Content . ':' . self::VALUE_ContentIdLast)->setRecordField('categories')
+            ->setTable(self::TABLE_Category)->setField('title')->setValues('Category B', 'Category C'));
+    }
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyCategoryToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyCategoryToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..eaaa8e344e0153500e0bd555b417f7050d663ede
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyCategoryToLanguageOfRelation.csv
@@ -0,0 +1,39 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+,32,0,384,0,1,0,0,0,0,0,"[Translate to Dansk:] Category A",0,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyContentToLanguageOfRelation.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyContentToLanguageOfRelation.csv
new file mode 100644
index 0000000000000000000000000000000000000000..071536216deb14e0be3f46f7231a41c8cd1d98eb
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/copyContentToLanguageOfRelation.csv
@@ -0,0 +1,43 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,0,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8fec0de24286d54878f098ec7daf8225aea8c6e6
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentChainOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,58 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+# @todo: These records have been added in Workspace but are not discarded (as it's a loose connection) - does this make sense?
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+,29,300,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,300,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,300,"tt_content",0,3,"categories",,,,,,,,,,,
+,31,298,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,3,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""parent""}",,,
+,300,89,1024,0,2,298,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #2",0,3,"{""categories"":""source""}",,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
+,"6353470b60a88a0d5f54f34692c16358","sys_category",31,"items",,,,0,0,"tt_content",298,,,,,,
+,"c9b6f46d28e208f172a6d23329c6ca99","sys_category",29,"items",,,,3,0,"tt_content",300,,,,,,
+,"0a064b8983002eeee02584d61a5bbf76","sys_category",30,"items",,,,2,0,"tt_content",300,,,,,,
+# @todo: interesting sorting
+,"e50479cdf26742b853f7c6887e590abe","sys_category",31,"items",,,,2,0,"tt_content",300,,,,,,
+,"c3bb83bc7d6b774c78ef56f8ce67fba5","sys_category",31,"items",,,,1,0,"tt_content",299,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"96c729dcc96a40a04fd5591a442b68b5","tt_content",300,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..26ea9f143d134d49c40bafdbd72a38ffe57dc7cc
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationNAddCategoryWSynchronization.csv
@@ -0,0 +1,48 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+,31,298,"tt_content",0,3,"categories",,,,,,,,,,,
+,31,299,"tt_content",0,3,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories",,,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,3,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,3,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
+,"6353470b60a88a0d5f54f34692c16358","sys_category",31,"items",,,,0,0,"tt_content",298,,,,,,
+,"c3bb83bc7d6b774c78ef56f8ce67fba5","sys_category",31,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWExclude.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWExclude.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4d7e8dacf729a4789b7074125ab7d9f776d5158c
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWExclude.csv
@@ -0,0 +1,44 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,,,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,
diff --git a/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWSynchronization.csv b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWSynchronization.csv
new file mode 100644
index 0000000000000000000000000000000000000000..111ec9ebd86cae7ee0230c9409c2390f5e993fcc
--- /dev/null
+++ b/typo3/sysext/core/Tests/Functional/DataScenarios/ManyToMany/WorkspacesPublishAll/DataSet/localizeContentOfRelationWSynchronization.csv
@@ -0,0 +1,44 @@
+"pages",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title",,,,,,,,
+,1,0,256,0,0,0,0,0,"FunctionalTest",,,,,,,,
+,88,1,256,0,0,0,0,0,"DataHandlerTest",,,,,,,,
+,89,88,256,0,0,0,0,0,"Relations",,,,,,,,
+,90,88,512,0,0,0,0,0,"Target",,,,,,,,
+"sys_workspace",,,,,,,,,,,,,,,,,
+,"uid","pid","deleted","title","adminusers","members","db_mountpoints","file_mountpoints","freeze","live_edit","publish_access","custom_stages","stagechg_notification","edit_notification_defaults","edit_allow_notificaton_settings","publish_notification_defaults","publish_allow_notificaton_settings"
+,1,0,0,"Workspace #1",,,,,0,0,0,0,0,0,0,0,0
+,2,0,0,"Workspace #2",,,,,0,0,0,0,0,0,0,0,0
+"sys_workspace_stage",,,,,,,,,,,,,,,,,
+,"uid","pid","tstamp","deleted","sorting","title","responsible_persons","default_mailcomment","parentid","parenttable","notification_defaults","allow_notificaton_settings",,,,,
+,1,0,1290048921,0,1,"Stage 1","be_users_3",,1,"sys_workspace",0,0,,,,,
+"sys_category",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","parent","items",,,,
+,28,0,256,0,0,0,0,0,0,0,"Category A",0,0,,,,
+,29,0,512,0,0,0,0,0,0,0,"Category B",0,0,,,,
+,30,0,768,0,0,0,0,0,0,0,"Category C",0,0,,,,
+,31,0,1024,0,0,0,0,0,0,0,"Category A.A",28,0,,,,
+"sys_category_record_mm",,,,,,,,,,,,,,,,,
+,"uid_local","uid_foreign","tablenames","sorting","sorting_foreign","fieldname",,,,,,,,,,,
+,28,297,"tt_content",0,1,"categories",,,,,,,,,,,
+,29,297,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,298,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,298,"tt_content",0,2,"categories",,,,,,,,,,,
+,29,299,"tt_content",0,1,"categories",,,,,,,,,,,
+,30,299,"tt_content",0,2,"categories",,,,,,,,,,,
+"tt_content",,,,,,,,,,,,,,,,,
+,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header","image","categories","l10n_state",,,
+,297,89,256,0,0,0,0,0,0,0,"Regular Element #1",0,2,,,,
+,298,89,512,0,0,0,0,0,0,0,"Regular Element #2",0,2,,,,
+,299,89,768,0,1,298,0,0,0,0,"[Translate to Dansk:] Regular Element #2",0,2,"{""categories"":""parent""}",,,
+"sys_refindex",,,,,,,,,,,,,,,,,
+,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,,,,
+,"01a3ce8c4e3b2bb1aa439dc29081f996","sys_workspace_stage",1,"responsible_persons",,,,0,0,"be_users",3,,,,,,
+,"1b70a8e25c22645f7a49a79f57f3cf3f","sys_category",31,"parent",,,,0,0,"sys_category",28,,,,,,
+,"25426f92d44dd2ccf416108462b446e3","sys_workspace",1,"custom_stages",,,,0,0,"sys_workspace_stage",1,,,,,,
+,"3c637501ab9c158daa933643bff8cc43","sys_category",28,"items",,,,0,0,"tt_content",297,,,,,,
+,"6dc66af7d395e5be3c87fc4e13c0455c","tt_content",299,"l18n_parent",,,,0,0,"tt_content",298,,,,,,
+,"aabda97b66f9b693f30d1faf442b37d6","sys_category",29,"items",,,,1,0,"tt_content",298,,,,,,
+,"b102e2f9b1ed99b14d813363199cb281","sys_category",30,"items",,,,0,0,"tt_content",298,,,,,,
+,"e19100d609a435906e16432a41b55c72","sys_category",29,"items",,,,0,0,"tt_content",297,,,,,,
+,"40880cf3db51a7c80d8714f9b60409eb","sys_category",29,"items",,,,2,0,"tt_content",299,,,,,,
+,"60e6778effa62e4edb070c954d9643ff","sys_category",30,"items",,,,1,0,"tt_content",299,,,,,,