TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-94165:
|
||||
|
||||
========================================
|
||||
Deprecation: #94165 - sys_language table
|
||||
========================================
|
||||
|
||||
See :issue:`94165`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Since the introduction of site handling back in TYPO3 v9, available
|
||||
languages and their associated information, for example locale, ISO code or the
|
||||
navigation title are configured in the site configurations. As a consequence,
|
||||
the :sql:`sys_language` table just duplicated this information and is therefore
|
||||
now deprecated.
|
||||
|
||||
The Core internally does not longer rely on this table but fetches
|
||||
necessary information from the site languages instead. This means, there
|
||||
won't be any relation to the :sql:`sys_language` table, which allows to
|
||||
define any kind of "ID" for the :php:`languageField` field of records, which
|
||||
is usually :sql:`sys_language_uid`.
|
||||
|
||||
Also the site languages, used in site configurations, are now completely
|
||||
independent of any :sql:`sys_language` record. Previously, when using the
|
||||
site module to create or edit a site configuration, site languages could
|
||||
only be added when a corresponding :sql:`sys_language` record existed.
|
||||
This has now changed. The site configurations' `languages` field now
|
||||
features a :guilabel:`Create new language` button, which allows to create a new
|
||||
site language for this site configuration. Such newly created site
|
||||
language will then also be available in the selector box of all other
|
||||
site configurations. The ID for a new site language is always created
|
||||
automatically (auto-increment). When selecting this site language in
|
||||
another site configuration, most of the fields will now be prefilled.
|
||||
|
||||
.. note::
|
||||
|
||||
When creating the first site configuration of a new installation, the
|
||||
languages selector box is empty, as new languages must be created via
|
||||
the :guilabel:`Create new language` button first. However, a default
|
||||
language (ID=0) record will always be added automatically.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Currently there is no direct impact. However, if your code relies on TYPO3
|
||||
processing :sql:`sys_language`, you might have to adapt those places to use
|
||||
site languages instead.
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations which rely on TYPO3 processing the :sql:`sys_language`
|
||||
table. For example for fetching available languages and their related
|
||||
information.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Adapt your code to always use site languages for fetching and processing
|
||||
language related information.
|
||||
|
||||
For example, use the new TCA type `language`, introduced in :issue:`57082`,
|
||||
instead of :php:`foreign_table => sys_language` for selecting a records'
|
||||
language.
|
||||
|
||||
.. index:: Database, TCA, NotScanned, ext:core
|
||||
Reference in New Issue
Block a user