---
title: "Configuration"
manual: "AI Localization"
version: "main"
permalink: "https://docs.typo3.org/permalink/nitsan/ns-t3al:configuration@main"
source: "Configuration/Index.rst"
rendered: "2026-10-20T11:46:30+00:00"
---

# Configuration {#configuration}

All settings are made in **Admin Tools > Settings > Extension
Configuration > ns_t3al**. They are stored in `config/system/settings.php`.

> [!IMPORTANT]
> API keys and access tokens are secrets. Do not commit them to a public
> Git repository.

## OpenAI {#configuration-openai}

-   **openaiApiKey**

    -   *Type:* string
    -   *Default:* (empty)

    Your OpenAI API key.

-   **openaiApiModel**

    -   *Type:* options
    -   *Default:* gpt-5.6-terra

    Default OpenAI model: `gpt-5.6-terra`, `gpt-5.6-luna`,
    `gpt-5.6-sol` or `gpt-4o`. The model can also be switched in the
    module toolbar.

## DeepL {#configuration-deepl}

-   **deeplApiKey**

    -   *Type:* string
    -   *Default:* (empty)

    Your DeepL API authentication key.

-   **deeplApiUrl**

    -   *Type:* string
    -   *Default:* [https://api-free.deepl.com/v2/translate](https://api-free.deepl.com/v2/translate)

    DeepL translate endpoint. Use `https://api-free.deepl.com/v2/translate`
    for DeepL API Free and `https://api.deepl.com/v2/translate` for DeepL
    API Pro.

## Google Translate {#configuration-google}

-   **googleApiKey**

    -   *Type:* string
    -   *Default:* (empty)

    API key of a Google Cloud project with the Cloud Translation API enabled.

-   **googleApiUrl**

    -   *Type:* string
    -   *Default:* [https://translation.googleapis.com/language/translate/v2](https://translation.googleapis.com/language/translate/v2)

    Google Cloud Translation API (v2) endpoint.

## Google Gemini {#configuration-gemini}

-   **geminiApiKey**

    -   *Type:* string
    -   *Default:* (empty)

    Your Gemini API key from Google AI Studio.

-   **geminiApiModel**

    -   *Type:* options
    -   *Default:* gemini-2.5-flash

    Default Gemini model: `gemini-2.5-flash`, `gemini-2.5-flash-lite` or
    `gemini-3.6-flash`.

## Crowdin {#configuration-crowdin}

-   **accessToken**

    -   *Type:* string
    -   *Default:* (empty)

    Crowdin personal access token. Required for
    **Save to Crowdin**, see [Crowdin](https://docs.typo3.org/permalink/nitsan/ns-t3al:crowdin@main). The field is a password
    field, so the token is not shown on screen.

-   **crowdinApiUrl**

    -   *Type:* string
    -   *Default:* [https://api.crowdin.com/api/v2/](https://api.crowdin.com/api/v2/)

    Crowdin API v2 base URL, for Crowdin Enterprise e.g.
    `https://<organization>.api.crowdin.com/api/v2/`. A missing trailing
    slash is added; an empty value uses the default.

-   **crowdinSystemExtensionPath**

    -   *Type:* string
    -   *Default:* /main/typo3/sysext

    Crowdin directory that contains the TYPO3 system extensions. The file of
    `EXT:<extension>/Resources/Private/Language/<file>` is looked up at
    `<path>/<extension>/Resources/Private/Language/<file>`. Change it
    only if your Crowdin project uses a different layout.

## General settings {#configuration-general}

-   **enableLogs**

    -   *Type:* boolean
    -   *Default:* 1

    Record every saved change in the translation logs (**Logs** tab).

-   **enableExport**

    -   *Type:* boolean
    -   *Default:* 1

    Show the **Export ZIP** action. Export ZIP is never offered for
    TYPO3 system extensions.

-   **logRetentionDays**

    -   *Type:* int+
    -   *Default:* 365

    Logs older than this number of days are deleted whenever a new log entry
    is written. `0` keeps all logs.
