Task #79241: Streamline usage of l10n_mode
Add field for the record translation mode (connected vs free)
Currently there is no way to detect whether a record was translated using connected mode or free mode.
All we store is id of the source record in the 'transOrigPointerField' field, e.g. l10n_parent
TYPO3 should be able to store translation source record independently from information about the translation/localization mode.
[FEATURE] Introduce l10n_source field for tt_content
A new field which is a ctrl-based field for any TCA table
called "translationSource" set to a DB field name
(used for the new field tt_content.l10n_source) is added
and filled as it contains the uid of the record of where a
translation record came from.
This is different to "transOrigPointerField" as it
contains not the record to a record in the default language
or the one where a record was copied from, but rather
the information what the translation source was made.
Tested-by: TYPO3com <firstname.lastname@example.org>
Reviewed-by: Susanne Moog <email@example.com>
Tested-by: Susanne Moog <firstname.lastname@example.org>
Reviewed-by: Christian Kuhn <email@example.com>
Tested-by: Christian Kuhn <firstname.lastname@example.org>
#1 Updated by Tymoteusz Motylewski over 2 years ago
- Category set to Localization
- Assignee set to Tymoteusz Motylewski
- Target version set to 8 LTS
There was an idea to use t3_origuid for this purposes (as it's already in the core).However it's not that's simple.
I spend some time investigating the current and past usage of the t3_origuid field. I wrote tons of functional tests for it to see how it behaves in different scenarios.
I found out that it's not so easy to use it consistently for localization purposes unfortunately (now it's used in translation wizard).
So right now we have 2 solutions
1. adapt the definition of t3_origuid and fix the core to align with this definition
2. introduce a new field `l10n_source` with a clear meaning.
Please take a look at the document describing the details of the issue and possible solutions.
"Solution 2" mentioned in the document is what this ticket is about.