localization fails if content is moved from other language to default language
I copied a page from an old site to a new one, to have some initial content. The old site uses german as default language (uid=0) and english as localization language (uid=1). The new one uses english as default language. So the copied english content shows up in the wrong language in the new system. So I moved the contests in the laguages view of the page module from right to left (into the default column).
But now the problem occurs: If you now press "copy default content elements" to localize the contents at the new site, the following error occurs:
Errors: 1: Localization failed; Source record contained a reference to an original default record (which is strange)!
If you set the content-elements l18n_parent to zero (in phpMyAdmin) it works.
You can reproduce the effect the following, shorter way:
1) Create an content element and localize it.
2) Move the localized version in the default-language column.
3) Press "copy default content elements" to localize it again.
(issue imported from #M2142)
#1 Updated by Thorsten Kahler over 8 years ago
The value of l18n_parent should be reset when moving content elements to other languages, especially when moving to the default language.
The same applies for copies of records, especially since they're copied along with their translations, see bug #19014 and svn revision r6195.
#2 Updated by Alexander Opitz over 5 years ago
- Status changed from Accepted to Needs Feedback
- Target version deleted (
- TYPO3 Version changed from 3.8.0 to 4.4
- PHP Version deleted (
- Is Regression set to No
as this issue is very old. Does the problem still exists within newer versions of TYPO3 CMS (6.1.7)?
#4 Updated by Alexander Opitz about 5 years ago
- Status changed from Needs Feedback to Closed
No feedback within the last 90 days => closing this ticket.
If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.
#7 Updated by Lars Peter Søndergaard about 4 years ago
I asked to reopen this issue. Here the content of my mail:
To reiterate the steps from the bug report:
- Create a content element in default language and localize it by clicking on "Copy default content elements".
- Move the localized version in the default-language column (by changing the language in the content elements settings). You should now have two content elements in the default column.
- Try to localize both elements again by clicking on "Copy default content elements".
You get this error:
"1: [newlog()] Localization failed; Source record contained a reference to an original default record (which is strange)!"
Note: If I delete the original content element ("Beispieltext" in default column) all three content elements visible in the screenshot get deleted (which certainly is not what you would expect).
To make it work with current versions, I actually created a 4.5 compatible extension: https://github.com/lsoendergaard/localfix
#8 Updated by Riccardo De Contardi over 2 years ago
I performed a test with the latest master:
1) I have 2 languages, Default (ITA) and English (ENG, ID=1)
2) Create a page "Test 15339"
2.1) translate it in ENG "Test 15339 ENG"
3) in ITA > create a Text element "Test"
3.1) Page view > choose "languages" view
3.2) Translate it clicking on "translate and choose "translate"
4) Edit the translated "Test" CE > rename its headline to "Test 2"
4.1) Tab "Language" > set its language to Italian
4.2) Now I have 2 content in "Italian" column, "Test" and "Test 2"
4.3) Translate it clicking on "translate and choose "translate"
5) Result 1: Only "Test" Will be translated, but not "Test 2" (but the modal lists both the CEs)
No error is thrown
6) Delete the original CE "Test"
7) Result 2: all CE are deleted
My explanation: I think that the behavior observed is related to this: when you switch the language of the CE "Test 2" from ENG to ITA, the field "Transl.Orig:" is not cleared! if you clear it, the behavior will be the correct one.
The same (correct) behavior will be triggered if you choose "Copy" instead of "Translate" on point 3.2
When switching the language (point 4.1) to the default language, automatically clear the "Transl. Orig." field. OR open a modal alert box that warns you about what will happen and offers you to clear that field.