# General Translation Python SDKs: Configurer General Translation URL: https://generaltranslation.com/fr/docs/python/guides/configuring.mdx --- title: Configurer General Translation description: "Comment initialiser General Translation en Python : ce guide explique comment configurer votre application, les paramètres régionaux et la livraison des traductions avec Flask, FastAPI ou la bibliothèque principale." related: links: - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations --- Le SDK Python se configure via un seul appel. Dans Flask et FastAPI, il s’agit de `initialize_gt(app)` ; avec la bibliothèque principale `gt-i18n`, vous créez vous-même un [`I18nManager`](/docs/python/reference/classes/i18n-manager). Ce guide présente les deux approches, ainsi que la façon dont les traductions sont livrées et préchargées. ## Configurer une application Flask ou FastAPI [#framework] Appelez `initialize_gt(app)` une seule fois, avant de commencer à traiter les requêtes. Cette fonction lit `gt.config.json`, crée le gestionnaire de traduction, enregistre la détection du paramètre régional pour chaque requête et précharge les traductions. ```python title="app.py" from flask import Flask from gt_flask import initialize_gt app = Flask(__name__) initialize_gt(app, default_locale="en", locales=["es", "fr"]) ``` ```python title="main.py" from fastapi import FastAPI from gt_fastapi import initialize_gt app = FastAPI() initialize_gt(app, default_locale="en", locales=["es", "fr"]) ``` Les arguments nommés priment sur `gt.config.json`. Consultez la [référence de configuration](/docs/python/reference/config) pour voir toutes les options et clés de configuration. Les deux intégrations partagent la même signature [`initialize_gt`](/docs/python/reference/functions/initialize-gt) ; seule leur implémentation interne diffère. Flask enregistre un hook `before_request` qui définit le paramètre régional ; FastAPI encapsule le cycle de vie de l’application (pour le préchargement) et ajoute un middleware HTTP qui définit le paramètre régional. ## Configurer la bibliothèque principale [#core] Le package principal `gt-i18n` n’inclut pas `initialize_gt`. Créez un [`I18nManager`](/docs/python/reference/classes/i18n-manager), enregistrez-le comme gestionnaire actif 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. La détection du paramètre régional et le préchargement ne sont pas automatiques ici. ```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") # vous gérez le paramètre régional par requête print(t("Hello, world!")) ``` Toute fonction de traduction ([`t`](/docs/python/reference/functions/t), [`get_locale`](/docs/python/reference/functions/get-locale), etc.) utilise le gestionnaire défini avec `set_i18n_manager`. En appeler une avant qu’un gestionnaire ne soit défini déclenche une `RuntimeError`. ## Choisissez comment les traductions sont livrées [#delivery] Le SDK récupère les traductions selon l’un des modes suivants : * **General Translation CDN:** définissez `project_id` (dans la configuration ou comme argument nommé) pour que les traductions soient chargées depuis le CDN à l’adresse `{cache_url}/{project_id}/{locale}`. Vous pouvez remplacer l’URL de base avec `cache_url`. * **Fichiers locaux :** passez un callback `load_translations` qui renvoie un `dict[str, str]` pour un paramètre régional. Cela remplace le loader du CDN. Voir [Storing translations locally](/docs/python/guides/storing-translations). Il n’y a pas de clé API. La livraison via le CDN repose entièrement sur `project_id` et `cache_url`. ## Précharger les traductions [#preload] La fonction [`t`](/docs/python/reference/functions/t) lit depuis un cache en mémoire. Les traductions doivent donc être chargées avant qu'une requête ne les utilise. Par défaut, `initialize_gt` les précharge au démarrage (`eager_loading=True`). *Remarque : Le préchargement ne s'exécute que lorsque les `locales` cibles sont connues. Avec Flask, cela vérifie les `locales` que vous transmettez directement à `initialize_gt`, et non celles chargées depuis `gt.config.json` — si vos `locales` proviennent uniquement du fichier de configuration, transmettez-les explicitement ou chargez les traductions vous-même. Si les traductions ne sont pas encore chargées, `t` renvoie la chaîne source.* *Remarque : Le cache en mémoire expire après `cache_expiry_time` (60 secondes par défaut), et le chemin de lecture synchrone utilisé par `t` ne le recharge pas — après expiration, `t` se rabat sur les chaînes source jusqu'à ce que le loader asynchrone s'exécute à nouveau. `initialize_gt` n'expose pas `cache_expiry_time`.* ## Gérer les traductions manquantes [#missing] Lorsqu’une traduction manque, `t` renvoie la chaîne source interpolée avec vos variables au lieu de lever une erreur, de sorte qu’un rendu est toujours produit pour chaque requête. Générez les traductions avec la [CLI](/docs/cli/quickstart) avant le déploiement afin qu’elles soient prêtes en production. ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations