# General Translation Python SDKs: Démarrage rapide
URL: https://generaltranslation.com/fr/docs/python/quickstart.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Installez le SDK Python de General Translation et traduisez votre première application Flask ou FastAPI.

Le SDK Python de General Translation traduit les chaînes destinées aux utilisateurs dans les applications Flask et FastAPI. Vous l’initialisez une seule fois avec votre application, puis vous entourez les chaînes dans vos routes avec la fonction [`t`](/docs/python/reference/functions/t), qui les traduit selon le paramètre régional de la requête en cours.

Installez l’intégration adaptée à votre framework : `gt-flask` pour Flask, `gt-fastapi` pour FastAPI. Toutes deux reposent sur le runtime partagé `gt-i18n`, que vous pouvez aussi utiliser directement dans un projet sans framework.

<Callout type="warn">
  Le SDK Python est **expérimental et instable**. `gt-i18n`, `gt-flask` et `gt-fastapi` sont encore en phase de développement initial et peuvent inclure des changements incompatibles d’une version à l’autre. Python 3.10 ou une version ultérieure est requis.
</Callout>

## Ce que fait le SDK Python [#overview]

Le SDK vous offre :

* La **traduction de chaînes** avec [`t`](/docs/python/reference/functions/t), à l’aide de la syntaxe de message ICU.
* La détection du **paramètre régional propre à chaque requête** à partir de l’en-tête `Accept-Language`, ou selon votre propre logique.
* Des **variantes finies** avec [`derive`](/docs/python/reference/functions/derive), et des valeurs non traduisibles avec [`declare_var`](/docs/python/reference/functions/declare-var).
* La **livraison via CDN ou en local** des traductions générées par la [CLI de General Translation](/docs/cli/quickstart).

## Démarrage rapide [#quickstart]

Installez l’intégration, ajoutez un fichier de configuration, initialisez-la dans votre application et traduisez une chaîne de caractères.

### 1. Installez l’intégration

<Tabs items={['Flask', 'FastAPI']}>
  <Tab value="Flask">
    ```bash
    pip install gt-flask
    ```
  </Tab>

  <Tab value="FastAPI">
    ```bash
    pip install gt-fastapi
    ```
  </Tab>
</Tabs>

### 2. Configurez vos paramètres régionaux

Créez un `gt.config.json` à la racine de votre projet avec votre ID de projet et vos paramètres régionaux. Consultez la [référence de configuration](/docs/python/reference/config) pour la description de chaque clé.

```json title="gt.config.json"
{
  "projectId": "your-project-id",
  "defaultLocale": "en",
  "locales": ["es", "fr"]
}
```

Avec le placeholder `projectId`, l’application continue de s’exécuter et le paramètre régional de la requête continue de changer, mais toutes les chaînes sont renvoyées dans la langue source. C’est normal tant que vous n’avez pas défini votre propre ID de projet et publié les traductions.

### 3. Initialisez votre application

Appelez `initialize_gt(app)` une fois au démarrage. Cette fonction lit `gt.config.json`, configure la détection du paramètre régional pour chaque requête et précharge les traductions. Il n’y a pas de paramètre de clé API — le chargement via CDN utilise `project_id` et `cache_url`.

<Tabs items={['Flask', 'FastAPI']}>
  <Tab value="Flask">
    ```python title="app.py"
    from flask import Flask
    from gt_flask import initialize_gt, t, get_locale

    app = Flask(__name__)
    initialize_gt(app)

    @app.route("/")
    def index():
        return {"message": t("Hello, world!"), "locale": get_locale()}
    ```

    Exécutez-le avec :

    ```bash
    flask --app app run
    ```
  </Tab>

  <Tab value="FastAPI">
    ```python title="main.py"
    from fastapi import FastAPI
    from gt_fastapi import initialize_gt, t, get_locale

    app = FastAPI()
    initialize_gt(app)

    @app.get("/")
    def index():
        return {"message": t("Hello, world!"), "locale": get_locale()}
    ```

    FastAPI nécessite un serveur ASGI distinct. Installez Uvicorn et démarrez l’application avec :

    ```bash
    pip install "uvicorn[standard]"
    uvicorn main:app
    ```
  </Tab>
</Tabs>

### 4. Traduire avec des variables

Utilisez des placeholders ICU et passez les valeurs comme arguments nommés.

```python
t("Hello, {name}!", name="Alice")
```

### 5. Générer les traductions

Utilisez la [CLI de General Translation](/docs/cli/quickstart) pour traduire votre contenu avant le déploiement, afin que les traductions soient disponibles à l’exécution. La CLI est un outil Node ; elle nécessite donc que Node soit installé et s’utilise via `npx`.

```bash
npx gt translate
```

## Utiliser la bibliothèque principale sans framework [#core]

Si vous n’utilisez ni Flask ni FastAPI, installez directement `gt-i18n`. Il n’existe pas de [`initialize_gt`](/docs/python/reference/functions/initialize-gt) dans la bibliothèque principale — créez un [`I18nManager`](/docs/python/reference/classes/i18n-manager), enregistrez-le avec [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager), puis définissez vous-même le paramètre régional de la requête.

```bash
pip install gt-i18n
```

```python
from gt_i18n import I18nManager, set_i18n_manager, t

manager = I18nManager(default_locale="en", locales=["es", "fr"])
set_i18n_manager(manager)

manager.set_locale("es")
print(t("Hello, world!"))
```

(Voir [Traduire des chaînes](/docs/python/guides/translating-strings) pour en savoir plus sur le contexte et les variables, et [Détecter le paramètre régional de la requête](/docs/python/guides/detecting-locale) pour personnaliser la détection du paramètre régional).

## Next steps

- /docs/python/guides/translating-strings
- /docs/python/guides/detecting-locale
- /docs/python/guides/declaring-variables
- /docs/python/guides/storing-translations

## Sitemap

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