# General Translation Python SDKs: Déclarer des variables et des variantes URL: https://generaltranslation.com/fr/docs/python/guides/declaring-variables.mdx --- title: Déclarer des variables et des variantes description: Comment préserver des valeurs dynamiques et générer un ensemble fini de variantes avec les fonctions declare_var, derive et decode_vars de General Translation en Python. related: links: - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/configuring - /docs/python/guides/storing-translations --- Certaines valeurs à l’intérieur d’une chaîne traduite ne doivent pas être traduites elles-mêmes. Le SDK Python vous fournit deux marqueurs pour cela : [`declare_var`](/docs/python/reference/functions/declare-var) pour les valeurs réellement dynamiques, et [`derive`](/docs/python/reference/functions/derive) pour une valeur ayant un ensemble restreint et fixe de résultats possibles. ## Préserver une valeur dynamique avec `declare_var` [#declare-var] Entourez une valeur à l’exécution — un nom d’utilisateur, un e-mail, un nombre — avec `declare_var` afin qu’elle soit intégrée au message et conservée plutôt que traduite. Elle renvoie une structure ICU `{_gt_, select, ...}` que vous placez dans un appel à [`t`](/docs/python/reference/functions/t). ```python from gt_flask import t, declare_var t(f"Signed in as {declare_var(email, name='email')}") ``` Le champ `name`, facultatif, est un libellé lisible par l’humain pour la variable, utile pour les traducteurs et pour [`decode_vars`](/docs/python/reference/functions/decode-vars). ## Générer des variantes finies avec `derive` [#derive] Lorsqu’une phrase contient une valeur avec un ensemble réduit et fixe de résultats possibles, la traduire une seule fois ne suffit pas — dans d’autres langues, les mots qui l’entourent s’accordent différemment selon le résultat. `derive` marque ce type de valeur afin que le CLI génère une traduction distincte pour chaque variante. À l’exécution, `derive` renvoie sa valeur d’entrée telle quelle ; au moment de l’extraction, le CLI produit une entrée par résultat. ```python from gt_flask import t, derive gender = "male" t(f"The {derive('boy' if gender == 'male' else 'girl')} is playing.") # Génère : "The boy is playing." et "The girl is playing." ``` Chaque variante est traduite indépendamment, afin que chaque version se lise naturellement dans chaque langue. *Remarque : limitez le nombre de résultats dérivés. Chaque appel supplémentaire à `derive` multiplie le nombre d’entrées générées.* ## Combinez les deux [#combine] Dans une phrase dérivée, vous pouvez toujours y intégrer une valeur réellement dynamique avec `declare_var`, afin qu’elle soit préservée plutôt que traduite. ```python from gt_flask import t, derive, declare_var t(f"{declare_var(name, name='name')} adopted a {derive('cat' if is_cat else 'dog')}.") ``` ## Récupérer les valeurs intégrées avec `decode_vars` [#decode] [`decode_vars`](/docs/python/reference/functions/decode-vars) remplace les constructions `{_gt_, select, other {value}}` dans une chaîne par les valeurs qu’elles contiennent — utile lorsque vous avez besoin de récupérer la chaîne simple, avec ses valeurs renseignées, à partir d’une chaîne balisée. ```python from gt_i18n import declare_var, decode_vars marked = f"Signed in as {declare_var('a@b.com', name='email')}" decode_vars(marked) # "Connecté en tant que a@b.com" ``` *Remarque : [`declare_static`](/docs/python/reference/functions/declare-static) est un alias obsolète de `derive`, conservé pour assurer la rétrocompatibilité. Utilisez `derive` dans tout nouveau code.* ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/configuring - /docs/python/guides/storing-translations