---
title: "LANG - language configuration"
manual: "TYPO3 Explained"
version: "14.3"
permalink: "https://docs.typo3.org/permalink/t3coreapi:typo3confvars-lang@14.3"
source: "Configuration/Typo3ConfVars/LANG.rst"
rendered: "2026-10-01T15:20:05+00:00"
---

# LANG - language configuration {#typo3confvars-lang}

-   **requireApprovedLocalizations**

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

    <!-- 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@14.3) 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
    -   *Default:* true
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['format'\]

    <!-- 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
    -   *Default:* `['default']`
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['availableLocales'\]

    <!-- 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
    -   *Default:* `[]`
    -   *Path:* $GLOBALS\['TYPO3_CONF_VARS'\]\['LANG'\]\['resourceOverrides'\]

    <!-- 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.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@14.3)

    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';

    ```
