TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.
TYPO3 is designed to be fully localizable. Hard-coded strings should
thus be avoided unless there are some technical limitations (e.g. some
very early or low-level stuff where a
is not yet available).
Defining Localized Strings¶
Here are some rules to respect when working with labels in
Always check the existing locallang files to see if a given localized string already exists, in particular
Localized strings should never be all uppercase. If uppercase is needed, then appropriate methods should be used to transform them to uppercase.
Localized strings must not be split into several parts to include stuff in their middle. Rather use a single string with
When a localized string contains several
sprintf()markers, it must use numbered arguments (e.g.
Localized strings should never contain configuration options (e.g.
index_config:timer_frequency, which would display a link or
EXT:wizard_crpages/cshimages/wizards_1.png, which would show an image). Configuration like this does not belong in language labels, but in TypoScript.
Localized strings are not supposed to contain HTML tags, except for CSH. They should be avoided whenever possible.
Punctuation marks must be included in the localized string – including trailing marks – as different punctuation marks (e.g. "?" and "¿") may be used in various languages. Also some languages include blanks before some punctuation marks.
Once a localized string appears in a released version of TYPO3, it cannot be changed (unless it needs grammar or spelling fixes). Nor can it be removed. If the label of a localized string has to be changed, a new one should be introduced instead.