---
title: "LANG - language configuration"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:typo3confvars-lang@main"
source: "Configuration/Typo3ConfVars/LANG.rst"
rendered: "2026-09-22T15:26:06+00:00"
---

# LANG - language configuration {#typo3confvars-lang}

-   **requireApprovedLocalizations**

    -   *Type:* bool
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['requireApprovedLocalizations'\]
    -   *Default:* true

    <!-- TODO: no Markdown rendering for "versionchanged" -->

    This option has been moved from $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['requireApprovedLocalizations'].The attribute `approved` of the [XLIFF](https://docs.typo3.org/permalink/t3coreapi:xliff@main) standard is
    respected by TYPO3 since version 12.0 when parsing XLF files. This attribute
    can either have the value `yes` or `no` and indicates whether the
    translation is final or not.

    **EXT:my_extension/Resources/Private/Language/locallang.xml**

    ```xml
    <trans-unit id="label2" approved="yes">
        <source>This is label #2</source>
        <target>Ceci est le libellé no. 2</target>
    </trans-unit>
    ```

    This setting can be used to control the behavior:

    -   **`true`**

        Only translations with the attribute `approved` set to `yes`
        will be used. Any non-approved translation (value is set to `no`)
        will be ignored. If the attribute `approved` is omitted, the
        translation is still taken into account.

    -   **`false`**

        All translations are used.

## loader {#globals-typo3-conf-vars-lang-loader}

-   **loader**

    -   *Type:* array
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['loader'\]

    <!-- TODO: no Markdown rendering for "versionchanged" -->

    This option is a predecessor of $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['parser'].Configures custom translation loaders.

## format {#globals-typo3-conf-vars-lang-format}

-   **format**

    -   *Type:* bool
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['format'\]
    -   *Default:* true

    <!-- TODO: no Markdown rendering for "versionchanged" -->

    This option has been moved from $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format'].

## availableLocales {#globals-typo3-conf-vars-lang-availablelocales}

-   **availableLocales**

    -   *Type:* array
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['availableLocales'\]
    -   *Default:* `['default']`

    <!-- TODO: no Markdown rendering for "versionchanged" -->

    This option has been moved from $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['lang']['availableLanguages'].

## resourceOverrides {#globals-typo3-conf-vars-lang-resourceoverrides}

-   **resourceOverrides**

    -   *Type:* array
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['resourceOverrides'\]
    -   *Default:* `[]`

    <!-- TODO: no Markdown rendering for "versionchanged" -->

    This option has been moved from $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride'].<!-- TODO: no Markdown rendering for "versionchanged" -->

    The overridden file can also be addressed by its
    translation domain instead of its path.
    See Important: #109672 - Translation domain syntax supported in resourceOverrides.Allows overriding XLIFF files. This applies not only to translations but
    also to default language files.

    See also: [Custom translations](https://docs.typo3.org/permalink/t3coreapi:xliff-translating-custom@main)

    The syntax is as follows:

    **config/system/additional.php**

    ```php
    <?php

    $GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']
        ['EXT:frontend/Resources/Private/Language/locallang_tca.xlf'][]
            = 'EXT:examples/Resources/Private/Language/custom.xlf';
    // Override a German ("de") translation
    $GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']['de']
        ['EXT:news/Resources/Private/Language/locallang_modadministration.xlf'][]
            = 'EXT:examples/Resources/Private/Language/Overrides/'
                . 'de.locallang_modadministration.xlf';

    ```

    The same overrides can be expressed with the translation domain as key:

    **config/system/additional.php**

    ```php
    <?php

    $GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']['core.common'][]
        = 'EXT:examples/Resources/Private/Language/custom.xlf';
    // Override a German ("de") translation
    $GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']['de']['core.common'][]
        = 'EXT:examples/Resources/Private/Language/Overrides/de.custom.xlf';

    ```
