---
title: "Internationalisation"
description: "Créez une documentation multilingue avec le support i18n intégré de Docus."
canonical_url: "https://docus.dev/fr/concepts/internationalization"
---
# Internationalisation

> Créez une documentation multilingue avec le support i18n intégré de Docus.

Docus introduit un **support d'internationalisation natif** basé sur le module `@nuxtjs/i18n`, vous permettant de créer une documentation en plusieurs langues avec un routage automatique et une gestion de contenu.

## Fonctionnalités

- **Module i18n intégré** : Intégration native avec `@nuxtjs/i18n`
- **Routage de locale dynamique** : Préfixage automatique des URL avec les codes de langue (`/en/docs`, `/fr/docs`)
- **Collections de contenu par locale** : Gestion séparée du contenu pour chaque langue
- **Sélecteur de langue** : Composant intégré pour basculer entre les locales
- **Configuration monolingue** : Configuration simple de la locale pour les sites monolingues via `app.config.ts`

## Configuration monolingue

Si vous créez une documentation dans une seule langue (sans le module complet `@nuxtjs/i18n`), vous pouvez configurer la locale via `app.config.ts`. Ceci est utile pour définir la langue des composants UI et localiser les chaînes intégrées.

```ts [app.config.ts]
export default defineAppConfig({
  docus: {
    locale: 'fr', // Définissez votre locale (par défaut : 'en')
  }
})
```

Cette configuration affecte :

- Les traductions des composants UI (boutons, étiquettes, etc.)
- Les attributs `lang` et `dir` sur la balise `<html>`
- Les chaînes d'interface intégrées de Docus

## Configuration multilingue

Pour une documentation multilingue, utilisez l'intégration complète `@nuxtjs/i18n` comme décrit ci-dessous.

### Configurer un projet existant

Pour activer l'i18n dans votre projet Docus, ajoutez le module `@nuxtjs/i18n` à votre `nuxt.config.ts` et définissez vos locales :

```typescript [nuxt.config.ts]
export default defineNuxtConfig({
  modules: ['@nuxtjs/i18n'],
  i18n: {
    defaultLocale: 'en',
    locales: [
      { code: 'en', name: 'English' },
      { code: 'fr', name: 'Français' },
    ],
  }
})
```

<warning>

Docus surcharge la stratégie `@nuxtjs/i18n` en `prefix`.

</warning>

## Créer un nouveau projet avec le modèle i18n

Lors de la création d'un nouveau projet, vous pouvez choisir le modèle i18n pour une internationalisation préconfigurée :

```bash [Terminal]
npx create-docus my-docs -t i18n
```

## Structure des répertoires

Lorsque l'i18n est activé, organisez votre contenu par locale dans le répertoire `content/` :

```text
content/
├── en/                    # Contenu anglais
│   ├── index.md          # Page d'accueil anglaise
│   ├── getting-started/
│   │   ├── installation.md
│   │   └── configuration.md
│   └── guide/
│       └── advanced.md
├── fr/                    # Contenu français
│   ├── index.md          # Page d'accueil française
│   ├── getting-started/
│   │   ├── installation.md
│   │   └── configuration.md
│   └── guide/
│       └── advanced.md
```

<warning>

Chaque locale doit refléter la même structure de répertoires pour maintenir une navigation cohérente entre les langues.

</warning>

## Codes de locale régionaux

Vous pouvez utiliser des codes de locale qui incluent une région, comme `zh-TW`, `zh-CN` ou `pt-BR` :

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  modules: ['@nuxtjs/i18n'],
  i18n: {
    defaultLocale: 'en',
    locales: [
      { code: 'en', name: 'English' },
      { code: 'zh-TW', name: '繁體中文' },
    ],
  }
})
```

- **Les URL** utilisent le code en minuscules, comme `/zh-tw/getting-started/installation`.
- **Les dossiers de contenu** peuvent garder leur casse d'origine : `content/zh-TW/` et `content/zh-tw/` fonctionnent tous les deux.
- **<html lang>** conserve le code régional, comme `zh-TW`.

<warning>

Utilisez le code en minuscules (`zh-tw`) partout où vous faites référence à la locale, par exemple dans les liens internes. Docus redirige toujours vers l'URL en minuscules.

</warning>


## Sitemap

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