# General Translation Python SDKs: Definire variabili e varianti URL: https://generaltranslation.com/it/docs/python/guides/declaring-variables.mdx --- title: Definire variabili e varianti description: Come preservare i valori dinamici e generare varianti finite con General Translation `declare_var`, `derive` e `decode_vars` in Python. related: links: - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/configuring - /docs/python/guides/storing-translations --- Alcuni valori all'interno di una stringa tradotta non dovrebbero essere tradotti. L'SDK per Python ti offre due marcatori per farlo: [`declare_var`](/docs/python/reference/functions/declare-var) per i valori realmente dinamici e [`derive`](/docs/python/reference/functions/derive) per un valore con un insieme ridotto e fisso di esiti. ## Mantieni un valore dinamico con `declare_var` [#declare-var] Racchiudi un valore di Runtime — un nome utente, un'email, un conteggio — con `declare_var` in modo che venga incorporato nel messaggio e mantenuto invece di essere tradotto. Restituisce un costrutto ICU `{_gt_, select, ...}` da inserire all'interno di una chiamata a [`t`](/docs/python/reference/functions/t). ```python from gt_flask import t, declare_var t(f"Signed in as {declare_var(email, name='email')}") ``` Il parametro facoltativo `name` è un'etichetta descrittiva della variabile, utile per i traduttori e per [`decode_vars`](/docs/python/reference/functions/decode-vars). ## Genera varianti finite con `derive` [#derive] Quando una frase incorpora un valore con un insieme piccolo e fisso di esiti, tradurla una sola volta non basta: in altre lingue, le parole circostanti si flettono in modo diverso per ciascun esito. `derive` contrassegna un valore di questo tipo affinché la CLI generi una traduzione separata per ogni variante. A runtime, `derive` restituisce il proprio input invariato; al momento dell'estrazione, la CLI produce una voce per ogni esito. ```python from gt_flask import t, derive gender = "male" t(f"The {derive('boy' if gender == 'male' else 'girl')} is playing.") # Genera: "The boy is playing." e "The girl is playing." ``` Ogni variante viene tradotta in modo indipendente, così ogni versione suona naturale in ogni lingua. *Nota: mantieni piccolo l'insieme degli esiti derivati. Ogni chiamata aggiuntiva a `derive` moltiplica il numero di voci generate.* ## Combina i due [#combine] All'interno di una frase derivata puoi comunque incorporare un valore realmente dinamico con `declare_var`, in modo che venga preservato invece di essere tradotto. ```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')}.") ``` ## Recupera i valori incorporati con `decode_vars` [#decode] [`decode_vars`](/docs/python/reference/functions/decode-vars) sostituisce i costrutti `{_gt_, select, other {value}}` in una stringa con i valori incorporati corrispondenti: è utile quando ti serve recuperare da una stringa marcata la stringa semplice con i valori già inseriti. ```python from gt_i18n import declare_var, decode_vars marked = f"Signed in as {declare_var('a@b.com', name='email')}" decode_vars(marked) # "Accesso effettuato come a@b.com" ``` *Nota: [`declare_static`](/docs/python/reference/functions/declare-static) è un alias deprecato di `derive`, mantenuto per retrocompatibilità. Usa `derive` nel codice nuovo.* ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/configuring - /docs/python/guides/storing-translations