Skip to content
  • Daniel Windloff's avatar
    [TASK] DatabaseRecordList: Streamline translation and localization · 21f738cb
    Daniel Windloff authored and Christian Kuhn's avatar Christian Kuhn committed
    Streamline translation fetching:
    To get a better overview, the fetching of the translations for each
    record has been moved to the `getTable()` method.
    Therewith, the main translation related queries are together, as the
    workspace overlay is already there.
    The translations are now handed over to the methods that render the
    list of records.
    This allows to remove the properties `translations` and `selFieldList`
    as the fields to select are already in the `getTable()` method and
    the translation must no longer be transferred back to the `getTable()`
    from the `makeLocalizationPanel()` method.
    Furthermore, this also avoids a db query for each translated record
    (in strict translation mode). Previously, a query with an always empty
    result set was in place.
    
    Streamline localization (all records excluding pages):
    The localization of each record (excluding pages) depends on the
    available languages of the site configuration and the already
    translated pages.
    This information is collected in the `getPossibleTranslations()` method,
    which depends on the current page uid and replaces the
    `initializeLanguages()` method.
    It is used to set the possible translations to the `possibleTranslations`
    property in the `start()` method.
    The property `possibleTranslations` replaces the properties
    `pageOverlays` and `systemLanguagesOnPage`.
    
    Streamline localization for pages:
    The localization of page records does not depend on the translation status
    of the parent page, because otherwise the first translation of one page
    would not be possible.
    The restriction for the page translations is now the same as in the
    `languageSelector()`.
    
    Streamline `makeLocalizationPanel()` method:
    This method is now only used to create the possible localization
    buttons.
    
    Releases: master
    Resolves: #92133
    Change-Id: Iaf5f9f8cee795c4245d8201b20617df5d95570a7
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65505
    
    
    Tested-by: default avatarTYPO3com <noreply@typo3.com>
    Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    21f738cb