---
title: "Label references / LLL strings"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:label-reference@13.4"
source: "ApiOverview/Localization/Labels/Index.rst"
rendered: "2026-09-29T12:03:22+00:00"
---

# Label references / LLL strings {#label-reference}

Strings prefixed with `LLL:` are found in many places in TYPO3. They are "label
references" - references to labels that will be translated into the current language.

The general format of a label reference is:

```text
LLL:EXT:<extension_key>/<path_to_xliff_file>:<identifier>
```

For example:

```text
LLL:EXT:my_extension/Resources/Private/Language/locallang_db.xlf:mytable.myfield
```

If a different language is set or a language file is
[overridden](https://docs.typo3.org/permalink/t3coreapi:xliff-translating-custom@13.4),
the path is automatically adjusted.

**Table of contents**

-   [File paths in label references](https://docs.typo3.org/permalink/t3coreapi:file-paths-in-label-references@13.4)
-   [Resolving localized labels](https://docs.typo3.org/permalink/t3coreapi:resolving-localized-labels@13.4)

## File paths in label references {#label-reference-storage}

Localized labels are stored in files with
[XLIFF format](https://docs.typo3.org/permalink/t3coreapi:xliff@13.4).
Most XLIFF files are located in
`EXT:my_extension/Resources/Private/Language/` and its subfolders.

In some cases the locations are different:

-   **Site sets** – Localization files for site set definitions are stored in
    the site set folder, for example:
    `EXT:my_extension/Configuration/Sets/MySet/labels.xlf`
-   **Content blocks** – Third-party extensions can define their own structure.
    For example, the extension
    [`friendsoftypo3/content-blocks`](https://packagist.org/packages/friendsoftypo3/content-blocks) stores labels alongside the
    content block definitions:
    `EXT:my_extension/Configuration/Sets/MySet/labels.xlf`

## Resolving localized labels {#label-reference-resolve}

In many cases, such as the
[label of a TCA field](https://docs.typo3.org/m/typo3/reference-tca/13.4/en-us/Columns/Index.html#confval-columns-label),
you can use a label reference, and TYPO3 will resolve it.

If label references are not resolved, you can do it manually:

### Fluid: Using the f:translate ViewHelper {#label-reference-resolve-fluid}

Use the [f:translate](https://docs.typo3.org/other/typo3/view-helper-reference/13.4/en-us/Global/Translate.html#typo3-fluid-translate) ViewHelper to
insert translated strings in Fluid templates.

**EXT:my_extension/Resources/Private/Templates/SomeTemplate.html**

```html
<f:translate key="LLL:EXT:my_extension/Resources/Private/Language/yourFile.xlf:yourKey" />
<!-- or as inline Fluid: -->
{f:translate(key: 'LLL:EXT:my_extension/Resources/Private/Language/yourFile.xlf:yourKey')}
```

See also: [The translation ViewHelper f:translate](https://docs.typo3.org/permalink/t3coreapi:f-translate@13.4)

### TypoScript: Using the getText property {#label-reference-resolve-typoscript}

The [getText property LLL](https://docs.typo3.org/m/typo3/reference-typoscript/13.4/en-us/Functions/Data.html#data-type-gettext-lll) can be used to
fetch translations from a language file and render them in the current language.

**EXT:site_package/Configuration/Sets/SitePackage/setup.typoscript**

```typoscript
lib.blogListTitle = TEXT
lib.blogListTitle {
    data = LLL : EXT:blog_example/Resources/Private/Language/locallang.xlf:blog.list
}
```

Make sure to leave spaces around the colon following `LLL` (as required by
general getText syntax).

See also:
[Output localized strings with TypoScript](https://docs.typo3.org/permalink/t3coreapi:extension-localization-typoscript-gettext@13.4)

### PHP: Using the LanguageService {#label-reference-resolve-php}

In PHP localized labels can be retrieved via the
`\TYPO3\CMS\Core\Localization\LanguageService`, which can be created
using the `\TYPO3\CMS\Core\Localization\LanguageServiceFactory`.

The recommended way to determine the correct
`LanguageService` instance depends on context:

-   **Frontend:** use the language in the current request object
    (`\Psr\Http\Message\ServerRequestInterface`) or the default site
    language.
-   **Backend:** use the language of the logged-in backend user.
-   **CLI:** determine the language programmatically depending on your use case
    (for example, when sending emails via scheduler tasks).

For more details, see
[Localization in PHP](https://docs.typo3.org/permalink/t3coreapi:extension-localization-php@13.4).

Once you have the correct LanguageService instance, you can resolve labels as follows:

**EXT:my_extension/Classes/MyClass.php (excerpt)**

```php
use TYPO3\CMS\Core\Localization\LanguageService;

private function translateSomething(
    LanguageService $languageService,
    string $labelReference
): string {
    return $languageService->sL($labelReference);
}
```
