diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/TtContent.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/TtContent.php index 655a88453ff6311be3bd2cc4f19cafd51a353274..4341ac9e978b721079db5f2095230383e1e47930 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/TtContent.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Classes/Domain/Model/TtContent.php @@ -50,12 +50,18 @@ class TtContent extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity */ protected $image; + /** + * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category> + */ + protected $categories; + /** * Constructs this post */ public function __construct() { $this->image = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); + $this->categories = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); } /** @@ -114,6 +120,46 @@ class TtContent extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity $this->image = $image; } + /** + * Add category to a CE + * + * @param \TYPO3\CMS\Extbase\Domain\Model\Category $category + */ + public function addCategory(\TYPO3\CMS\Extbase\Domain\Model\Category $category) + { + $this->categories->attach($category); + } + + /** + * Set categories + * + * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $categories + */ + public function setCategories($categories) + { + $this->categories = $categories; + } + + /** + * Get categories + * + * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage + */ + public function getCategories() + { + return $this->categories; + } + + /** + * Remove category from a CE + * + * @param \TYPO3\CMS\Extbase\Domain\Model\Category $category + */ + public function removeCategory(\TYPO3\CMS\Extbase\Domain\Model\Category $category) + { + $this->categories->detach($category); + } + /** * Returns this as a formatted string * diff --git a/typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentTest.php b/typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentTest.php index a1eb9ef430e0fe2203b46a6fc51f1b2cf6faa413..6f8339c3aeedbef50b22a68ef3315ae9d92a2fe0 100644 --- a/typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentTest.php +++ b/typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentTest.php @@ -208,6 +208,16 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint() ->setRecordIdentifier(self::TABLE_Content . ':298')->setRecordField('image') ->setTable('sys_file_reference')->setField('title')->setValues(...$this->getNonVisibleFileTitles($visibleFiles))); + + //assert Categories + $visibleCategories = ['Category 1', 'Category 3 - not translated']; + $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint() + ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('categories') + ->setTable('sys_category')->setField('title')->setValues(...$visibleCategories)); + + $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint() + ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('categories') + ->setTable('sys_category')->setField('title')->setValues(...$this->getNonVisibleCategoryTitles($visibleCategories))); } /** @@ -228,7 +238,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -236,7 +246,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ], 299 => [ 'header' => '[Translate to Dansk:] Regular Element #3', - 'image' => [] + 'image' => [], ], 303 => [ 'header' => '[DK] Without default language', @@ -255,6 +265,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ @@ -282,7 +293,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -309,6 +320,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => [], + 'categories' => ['[Translate to Dansk:] Category 1'], ], 299 => [ 'header' => '[Translate to Dansk:] Regular Element #3', @@ -327,6 +339,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ @@ -354,6 +367,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ @@ -374,8 +388,8 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ], ], ], -// Expected behaviour: -// Not translated element #2 is shown because sys_language_overlay = 1 (with sys_language_overlay = hideNonTranslated, it would be hidden) + // Expected behaviour: + // Not translated element #2 is shown because sys_language_overlay = 1 (with sys_language_overlay = hideNonTranslated, it would be hidden) [ 'typoScript' => 'config.sys_language_overlay = 1 config.sys_language_mode = content_fallback', @@ -383,6 +397,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ @@ -403,9 +418,8 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ], ], ], -// Expected behaviour: -// Same as config.sys_language_mode = content_fallback because we're requesting language 1, so no additional fallback possible - + // Expected behaviour: + // Same as config.sys_language_mode = content_fallback because we're requesting language 1, so no additional fallback possible [ 'typoScript' => 'config.sys_language_overlay = 1 config.sys_language_mode = content_fallback;1,0', @@ -413,6 +427,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -439,6 +454,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => [], + 'categories' => ['[Translate to Dansk:] Category 1'], ], 299 => [ 'header' => '[Translate to Dansk:] Regular Element #3', @@ -457,7 +473,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -477,8 +493,10 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ], ], ], -// Expected behaviour: -// Non translated default language elements are not shown, because of hideNonTranslated + // Expected behaviour: + // Non translated default language elements are not shown, because of hideNonTranslated. + // Here we see it's not working - Regular Element #2 is still shown despite it's not translated to Dansk + // The same with relations (images and categories) 10 => [ 'typoScript' => 'config.sys_language_overlay = hideNonTranslated config.sys_language_mode =', @@ -486,7 +504,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -513,7 +531,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -540,7 +558,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], - + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -560,7 +578,9 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ], ], ], -// Setting sys_language_mode = strict has the same effect as previous data sets, because the translation of the page exists + // Expected behaviour: Setting sys_language_mode = strict has the same effect as previous data sets, + // because the translation of the page exists + // This is not true in Extbase unfortunately. As visible here: sys_language_mode = strict, works like overlay = 0 in TypoScript rendering. [ 'typoScript' => 'config.sys_language_overlay = hideNonTranslated config.sys_language_mode = strict', @@ -568,6 +588,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => [], + 'categories' => ['[Translate to Dansk:] Category 1'], ], 299 => [ 'header' => '[Translate to Dansk:] Regular Element #3', @@ -586,6 +607,7 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase 297 => [ 'header' => '[Translate to Dansk:] Regular Element #1', 'image' => ['T3BOARD'], + 'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'], ], 298 => [ 'header' => 'Regular Element #2', @@ -649,6 +671,16 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint() ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('image') ->setTable('sys_file_reference')->setField('title')->setValues(...$this->getNonVisibleFileTitles($visibleFileTitles))); + + $visibleCategoryTitles = $properties['categories'] ?? []; + if (!empty($visibleCategoryTitles)) { + $this->assertThat($responseSections, $this->getRequestSectionStructureHasRecordConstraint() + ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('categories') + ->setTable('sys_category')->setField('title')->setValues(...$visibleCategoryTitles)); + } + $this->assertThat($responseSections, $this->getRequestSectionStructureDoesNotHaveRecordConstraint() + ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('categories') + ->setTable('sys_category')->setField('title')->setValues(...$this->getNonVisibleCategoryTitles($visibleCategoryTitles))); } } @@ -1156,4 +1188,21 @@ class TranslatedContentTest extends AbstractDataHandlerActionTestCase ]; return array_diff($allElements, $visibleTitles); } + + /** + * Helper function to ease asserting that rest of the data set is not visible + * + * @param array $visibleTitles + * @return array + */ + protected function getNonVisibleCategoryTitles(array $visibleTitles): array + { + $allElements = [ + 'Category 1', + '[Translate to Dansk:] Category 1', + 'Category 3 - not translated', + 'Category 4', + ]; + return array_diff($allElements, $visibleTitles); + } } diff --git a/typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/LiveDefaultElements.csv b/typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/LiveDefaultElements.csv index 13e5e8ce60d37769b755d92d315feefe30273011..4af8a1efb8baa4e8a42bbc6350735e92a23c045a 100644 --- a/typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/LiveDefaultElements.csv +++ b/typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/LiveDefaultElements.csv @@ -1,41 +1,53 @@ -"sys_language",,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","hidden","title","flag",,,,,,,,,,,,,,,,, -,1,0,0,"Dansk","dk",,,,,,,,,,,,,,,,, -,2,0,0,"Deutsch","de",,,,,,,,,,,,,,,,, -,3,0,0,"Polski","pl",,,,,,,,,,,,,,,,, -"tt_content",,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","header","image","sorting","deleted","hidden","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id",,,,,, -,297,89,"Regular Element #1",1,256,0,0,0,0,0,0,0,0,0,0,0,,,,,, -,298,89,"Regular Element #2",1,512,0,0,0,0,0,0,0,0,0,0,0,,,,,, -,299,89,"Regular Element #3",0,768,0,0,0,0,0,0,0,0,0,0,0,,,,,, -,300,89,"[Translate to Dansk:] Regular Element #3",2,1024,0,0,1,299,299,299,0,0,0,0,0,,,,,, -,301,89,"[Translate to Dansk:] Regular Element #1",0,384,0,0,1,297,297,297,0,0,0,0,0,,,,,, -,302,89,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",1,448,0,0,2,297,301,301,0,0,0,0,0,,,,,, -,303,89,"[DK] Without default language",1,1250,0,0,1,0,0,0,0,0,0,0,0,,,,,, -,304,89,"[DE] Without default language",0,1250,0,0,2,0,0,0,0,0,0,0,0,,,,,, -,305,89,"[Translate to Polski:] Regular Element #1",0,512,0,0,3,297,297,297,0,0,0,0,0,,,,,, -,306,89,"[PL] Without default language",0,1024,0,0,3,0,0,0,0,0,0,0,0,,,,,, -,307,89,"Hidden Element #4",0,128,0,1,0,0,0,0,0,0,0,0,0,,,,,, -,308,89,"[DK] UnHidden Element #4",0,128,0,0,1,307,307,307,0,0,0,0,0,,,,,, -,309,89,"[PL] Hidden Regular Element #2",0,512,0,1,3,298,298,298,0,0,0,0,0,,,,,, -,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,, -"sys_file",,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","type","storage","identifier","extension","mime_type","name","sha1","size","creation_date","modification_date","missing","metadata","identifier_hash","folder_hash","last_indexed",,,,, -,1,0,2,1,"/user_upload/kasper-skarhoj1.jpg","jpg","image/jpeg","kasper-skarhoj1.jpg","05d8c6dda534a0b9e7023c3031e60e4b49c3da40",39037,1375080761,1374139442,0,0,"a58963e60a4fcc31d1a869184a2d5d929dd27c8a","19669f1e02c2f16705ec7587044c66443be70725",0,,,,, -,21,0,2,1,"/user_upload/team-t3board10.jpg","jpg","image/jpeg","team-t3board10.jpg","ae6951147687ed1f94f60973fca7ef46e2ba2372",166843,1375080761,1374139442,0,0,"16ba2a587da8ef10dfccbe8b9841bde85afbd2d4","19669f1e02c2f16705ec7587044c66443be70725",0,,,,, -,20,0,2,1,"/user_upload/typo3-logo.png","png","image/png","typo3-logo.png","cdac36562aaa65d23831b25c48cd14863b5be2ad",1392,1449871035,1449871035,0,0,"ef4e3ead8d320c927228e158d950ade4a105081d","19669f1e02c2f16705ec7587044c66443be70725",0,,,,, -,,,,,,,,,,,,,,,,,,,,,, -"sys_file_metadata",,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","sys_language_uid","l10n_parent","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","file","title","width","height","description","alternative","categories","l10n_diffsource",,,, -,1,0,0,0,0,0,0,0,0,0,1,"Image Kasper",401,600,,,0,,,,, -,21,0,0,0,0,0,0,0,0,0,21,"Image T3BOARD",1024,683,,,0,,,,, -"sys_file_reference",,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","title","uid_local","uid_foreign","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","deleted","tablenames","fieldname","sorting_foreign","table_local","description","alternative","link","l10n_diffsource", -,126,89,"T3BOARD",1,297,0,0,0,0,0,0,0,0,"tt_content","image",2,"sys_file",,,,, -,127,89,"Kasper",21,298,0,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,,, -,128,89,"[Kasper] Image translated to Dansk",21,300,1,127,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,,, -,129,89,"[T3BOARD] Image added in Dansk (without parent)",1,300,1,0,0,0,0,0,0,0,"tt_content","image",2,"sys_file",,,,, -,130,89,"[T3BOARD] Image added to DK element without default language",1,303,1,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,,, -,131,89,"[T3BOARD] image translated to DE from DK",1,302,2,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,,, +"sys_language",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","hidden","title","flag",,,,,,,,,,,,,,,, +,1,0,0,"Dansk","dk",,,,,,,,,,,,,,,, +,2,0,0,"Deutsch","de",,,,,,,,,,,,,,,, +,3,0,0,"Polski","pl",,,,,,,,,,,,,,,, +"tt_content",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","header","image","sorting","deleted","hidden","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","categories",,,, +,297,89,"Regular Element #1",1,256,0,0,0,0,0,0,0,0,0,0,0,2,,,, +,298,89,"Regular Element #2",1,512,0,0,0,0,0,0,0,0,0,0,0,0,,,, +,299,89,"Regular Element #3",0,768,0,0,0,0,0,0,0,0,0,0,0,0,,,, +,300,89,"[Translate to Dansk:] Regular Element #3",2,1024,0,0,1,299,299,299,0,0,0,0,0,0,,,, +,301,89,"[Translate to Dansk:] Regular Element #1",0,384,0,0,1,297,297,297,0,0,0,0,0,2,,,, +,302,89,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",1,448,0,0,2,297,301,301,0,0,0,0,0,0,,,, +,303,89,"[DK] Without default language",1,1250,0,0,1,0,0,0,0,0,0,0,0,0,,,, +,304,89,"[DE] Without default language",0,1250,0,0,2,0,0,0,0,0,0,0,0,0,,,, +,305,89,"[Translate to Polski:] Regular Element #1",0,512,0,0,3,297,297,297,0,0,0,0,0,0,,,, +,306,89,"[PL] Without default language",0,1024,0,0,3,0,0,0,0,0,0,0,0,0,,,, +,307,89,"Hidden Element #4",0,128,0,1,0,0,0,0,0,0,0,0,0,0,,,, +,308,89,"[DK] UnHidden Element #4",0,128,0,0,1,307,307,307,0,0,0,0,0,0,,,, +,309,89,"[PL] Hidden Regular Element #2",0,512,0,1,3,298,298,298,0,0,0,0,0,0,,,, +,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,, +"sys_file",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","type","storage","identifier","extension","mime_type","name","sha1","size","creation_date","modification_date","missing","metadata","identifier_hash","folder_hash","last_indexed",,,, +,1,0,2,1,"/user_upload/kasper-skarhoj1.jpg","jpg","image/jpeg","kasper-skarhoj1.jpg","05d8c6dda534a0b9e7023c3031e60e4b49c3da40",39037,1375080761,1374139442,0,0,"a58963e60a4fcc31d1a869184a2d5d929dd27c8a","19669f1e02c2f16705ec7587044c66443be70725",0,,,, +,21,0,2,1,"/user_upload/team-t3board10.jpg","jpg","image/jpeg","team-t3board10.jpg","ae6951147687ed1f94f60973fca7ef46e2ba2372",166843,1375080761,1374139442,0,0,"16ba2a587da8ef10dfccbe8b9841bde85afbd2d4","19669f1e02c2f16705ec7587044c66443be70725",0,,,, +,20,0,2,1,"/user_upload/typo3-logo.png","png","image/png","typo3-logo.png","cdac36562aaa65d23831b25c48cd14863b5be2ad",1392,1449871035,1449871035,0,0,"ef4e3ead8d320c927228e158d950ade4a105081d","19669f1e02c2f16705ec7587044c66443be70725",0,,,, +,,,,,,,,,,,,,,,,,,,,, +"sys_file_metadata",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","sys_language_uid","l10n_parent","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","file","title","width","height","description","alternative","categories","l10n_diffsource",,, +,1,0,0,0,0,0,0,0,0,0,1,"Image Kasper",401,600,,,0,,,, +,21,0,0,0,0,0,0,0,0,0,21,"Image T3BOARD",1024,683,,,0,,,, +"sys_file_reference",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","title","uid_local","uid_foreign","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","deleted","tablenames","fieldname","sorting_foreign","table_local","description","alternative","link","l10n_diffsource" +,126,89,"T3BOARD",1,297,0,0,0,0,0,0,0,0,"tt_content","image",2,"sys_file",,,, +,127,89,"Kasper",21,298,0,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,, +,128,89,"[Kasper] Image translated to Dansk",21,300,1,127,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,, +,129,89,"[T3BOARD] Image added in Dansk (without parent)",1,300,1,0,0,0,0,0,0,0,"tt_content","image",2,"sys_file",,,, +,130,89,"[T3BOARD] Image added to DK element without default language",1,303,1,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,, +,131,89,"[T3BOARD] image translated to DE from DK",1,302,2,0,0,0,0,0,0,0,"tt_content","image",1,"sys_file",,,, +"sys_category",,,,,,,,,,,,,,,,,,,,, +,"uid","pid","title","sys_language_uid","l10n_parent","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","t3ver_move_id","deleted",,,,,,,,,, +,1,89,"Category 1",0,0,0,0,0,0,0,0,,,,,,,,,, +,2,89,"[Translate to Dansk:] Category 1",1,1,0,0,0,0,0,0,,,,,,,,,, +,3,89,"Category 3 - not translated",0,0,0,0,0,0,0,0,,,,,,,,,, +,4,89,"Category 4",0,0,0,0,0,0,0,0,,,,,,,,,, +"sys_category_record_mm",,,,,,,,,,,,,,,,,,,,, +,"uid_local","uid_foreign","tablenames","fieldname","sorting","sorting_foreign",,,,,,,,,,,,,,, +,1,297,"tt_content","categories",0,1,,,,,,,,,,,,,,, +,3,297,"tt_content","categories",0,1,,,,,,,,,,,,,,, +,1,301,"tt_content","categories",0,1,,,,,,,,,,,,,,, +,4,301,"tt_content","categories",0,1,,,,,,,,,,,,,,,