# General Translation Integrations: Configuration
URL: https://generaltranslation.com/en-GB/docs/integrations/mintlify/reference/config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Reference for the gt.config.json General Translation generates for a Mintlify project. Reference for the Mintlify integration configuration.

General Translation generates a `gt.config.json` for your Mintlify project during setup — you do not write it by hand. This page documents what that file contains so you can review or fine-tune it after the setup pull request lands.

The configuration is a standard General Translation CLI config. Each shared key is documented once in the [CLI configuration reference](/docs/cli/reference/config); this page covers only the Mintlify-specific choices and the two modes the integration generates.

## Modes [#modes]

Setup started from **Project &gt; Automations** generates show-default-locale mode, where every language uses a locale-prefixed path. Existing projects may use hide-default-locale mode, where source pages keep their original paths. Both modes translate `docs.json` and every `.mdx`/`.md` page; they differ in how files are organised and how the source locale is served.

| Key                                                 | Description                                        | Hide default locale                                         | Show default locale                                                              |
| --------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [`files.mdx.include`](#files)                       | Glob patterns for the pages to translate.          | `./**/*.mdx`, `./**/*.md` (translated in place)             | `./[locale]/**/*.mdx`, `./snippets/[locale]/**/*.mdx`, and the `.md` equivalents |
| [`files.mdx.transform`](#files)                     | Rewrites source paths into locale folders.         | `{ match: "^(snippets/)?(.*)$", replace: "$1{locale}/$2" }` | *(none)*                                                                         |
| [`options.jsonSchema`](#options)                    | Preset used to localise `docs.json`.               | `mintlify-hide-default`                                     | `mintlify`                                                                       |
| [`options.docsHideDefaultLocaleImport`](#options)   | Hides the default locale in imports.               | `true`                                                      | *(omitted)*                                                                      |
| [`options.experimentalHideDefaultLocale`](#options) | Serves the default locale without a locale prefix. | `true`                                                      | *(omitted)*                                                                      |

## Files [#files]

The `files` block tells the General Translation CLI what to translate. For a Mintlify project, it always includes `docs.json` and the docs pages.

* `files.json.include` — always `['./docs.json']`. The `docs.json` navigation and labels are localised with the preset in `options.jsonSchema`.
* `files.mdx.include` — the `.mdx` and `.md` pages to translate. In hide-default-locale mode, this is the whole tree (`./**/*.mdx`, `./**/*.md`), and files are moved into locale folders by the transform; in show-default-locale mode, it targets existing per-locale folders.
* `files.mdx.transform` — in hide-default-locale mode, rewrites each source path into a `{locale}/` folder (keeping a leading `snippets/` prefix in place). Show-default-locale mode omits the transform because content already lives in locale folders.
* `files.mdx.exclude` — the locale folders themselves, plus common repository files that should never be translated (see [Supported content](/docs/integrations/mintlify/reference/supported-content#excluded)).

(See the [CLI configuration reference](/docs/cli/reference/config) for the full semantics of `files`, `include`, `exclude`, and `transform`, and the [MDX and Markdown format page](/docs/cli/reference/formats/mdx-md-files) and [JSON format page](/docs/cli/reference/formats/json-files) for per-format behaviour).

## Options [#options]

The `options` block configures Mintlify-specific behaviour. These keys are set for every Mintlify project unless noted as mode-specific.

* `mintlify.inferTitleFromFilename` — `true`. Derives a page title from its filename when a page has no explicit title.
* `jsonSchema` — maps `./docs.json` to a preset that knows how to localise Mintlify navigation: `mintlify-hide-default` when the default locale is hidden, otherwise `mintlify`.
* `docsUrlPattern` — `/[locale]`. The pattern used when localising documentation URLs.
* `docsImportPattern` — `/snippets/[locale]`. The pattern used when localising snippet imports.
* `generateRedirects` — `./docs.json`. Generates redirects in `docs.json` so existing links keep resolving after the navigation is restructured.
* `experimentalLocalizeStaticImports` — `true`. Localises static import paths (such as snippets).
* `experimentalLocalizeStaticUrls` — `true`. Localises internal static URLs so links stay within the reader&#39;s language.
* `experimentalLocalizeRelativeAssets` — `true`. Localises relative asset references.
* `experimentalAddHeaderAnchorIds` — `'mintlify'`. Writes Mintlify-native `{#id}` syntax on every translated heading, using the source heading&#39;s ID so in-page links keep the same target across languages. Headings nested deeply in JSX are moved to the margin because Mintlify only recognises this syntax with up to three leading spaces.
* `docsHideDefaultLocaleImport` — `true` *(hide-default-locale mode only)*. Hides the default locale in generated imports.
* `experimentalHideDefaultLocale` — `true` *(hide-default-locale mode only)*. Serves the default locale without a locale prefix.

## Example [#example]

The following example shows an existing project configured to hide the source locale (English source, Spanish and French targets):

```json title="gt.config.json"
{
  "$schema": "https://assets.gtx.dev/config-schema.json",
  "files": {
    "json": {
      "include": ["./docs.json"]
    },
    "mdx": {
      "include": ["./**/*.mdx", "./**/*.md"],
      "transform": {
        "match": "^(snippets/)?(.*)$",
        "replace": "$1{locale}/$2"
      },
      "exclude": [
        "./[locales]/**/*.mdx",
        "./snippets/[locales]/**/*.mdx",
        "./[locales]/**/*.md",
        "./snippets/[locales]/**/*.md"
        // plus repository files such as README.md, LICENSE.md, CHANGELOG.md
      ]
    }
  },
  "defaultLocale": "en",
  "locales": ["es", "fr"],
  "options": {
    "mintlify": { "inferTitleFromFilename": true },
    "jsonSchema": { "./docs.json": { "preset": "mintlify-hide-default" } },
    "docsUrlPattern": "/[locale]",
    "docsImportPattern": "/snippets/[locale]",
    "generateRedirects": "./docs.json",
    "experimentalLocalizeStaticImports": true,
    "experimentalLocalizeStaticUrls": true,
    "experimentalLocalizeRelativeAssets": true,
    "docsHideDefaultLocaleImport": true,
    "experimentalHideDefaultLocale": true,
    "experimentalAddHeaderAnchorIds": "mintlify"
  }
}
```

*Note: after setup, the CLI resolves the `[locales]` exclude placeholder to your actual target locales. Review the generated `gt.config.json` and adjust the excluded files if your repository keeps translatable content in one of those excluded paths.*

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
