Attention
TYPO3 v9 has reached its end-of-life September 30th, 2021 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.
You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.
The $TCA_DESCR Array¶
The global array $TCA_DESCR
is reserved to contain CSH labels. CSH
labels are loaded as they are needed. Thus the class rendering the
form will make an API call to the global language object to have the
CSH labels loaded - if any - for the relevant table.
Basically, the $TCA_DESCR
array contains references to the
registered language files. As it gets used, it is filled with the
actual labels. This task is performed by method
\TYPO3\CMS\Core\Localization\LanguageService::loadSingleTableDescription()
.
The content of the $TCA_DESCR
array can be reviewed in the
SYSTEM > Configuration module:

List of file references for the CSH labels of the "pages" table¶
As can be seen, several files can be registered for the same table. This makes it possible to:
override existing CSH labels (e.g. for providing more dedicated help)
extending existing labels
add CSH labels for fields added by the extension
Keys in $TCA_DESCR¶
Each file is registered with $TCA_DESCR
using a key. For a
database table, this is simple the table name. For backend modules you
can use the following syntax:
_MOD_[main module]_[module name]
For the WEB > Info module, the key is:
_MOD_web_info
The loaded labels will be available in $TCA_DESCR[(key)]['columns']
.