# General Translation Python SDKs: Traduzione delle stringhe URL: https://generaltranslation.com/it/docs/python/guides/translating-strings.mdx --- title: Traduzione delle stringhe description: Come tradurre stringhe con variabili, contesto e opzioni usando le funzioni t e msg di General Translation in Python. related: links: - /docs/python/guides/declaring-variables - /docs/python/guides/detecting-locale - /docs/python/guides/storing-translations - /docs/python/guides/configuring --- La funzione [`t`](/docs/python/reference/functions/t) traduce una stringa nell'impostazione regionale attiva della richiesta. Scrivi direttamente il testo nella lingua sorgente e interpola i valori con la sintassi dei messaggi ICU. ## Traduci con `t` [#t] Chiama `t` con la stringa sorgente. Passa i valori di interpolazione come argomenti con nome che corrispondono ai segnaposto ICU, non come dizionario. ```python from gt_flask import t # oppure: from gt_fastapi import t, o: from gt_i18n import t t("Hello, world!") t("Hello, {name}!", name="Alice") ``` `t` calcola l'hash del messaggio sorgente, cerca una traduzione memorizzata nella cache per l'impostazione regionale corrente, interpola le variabili con ICU MessageFormat e, se non esiste alcuna traduzione, usa come fallback la stringa sorgente interpolata. Quando l'impostazione regionale corrente non richiede una traduzione (ad esempio, perché corrisponde all'impostazione regionale predefinita), `t` salta la ricerca ed esegue solo l'interpolazione. ## Aggiungi contesto e opzioni [#options] Le opzioni riservate usano un trattino basso iniziale, così non vengono trattate come variabili di interpolazione. Tutte e tre influiscono sull'hash del messaggio, quindi modificarne una genera una voce di traduzione distinta. * `_context` — disambigua una stringa che ha più di un significato. * `_id` — assegna a una voce un identificatore stabile. * `_max_chars` — imposta un limite al numero di caratteri della traduzione. ```python t("Bank", _context="the edge of a river") t("Welcome", _id="home.hero.title") t("This is a long message that may need truncation", _max_chars=20) ``` *Nota: una variabile utente il cui nome inizia con un solo underscore (ad esempio `_name`) viene comunque passata come variabile di interpolazione: vengono filtrate solo le chiavi riservate indicate sopra.* ## Inserisci valori dinamici [#variables] Per un valore che non deve essere tradotto — come un nome utente inserito in una frase — racchiudilo con [`declare_var`](/docs/python/reference/functions/declare-var) in modo che venga preservato in tutte le lingue. ```python from gt_flask import t, declare_var t(f"Signed in as {declare_var(email, name='email')}") ``` Vedi [Dichiarare variabili e varianti](/docs/python/guides/declaring-variables) per `declare_var`, [`derive`](/docs/python/reference/functions/derive) e gli helper correlati. ## Registra un messaggio per usarlo in seguito [#msg] Usa [`msg`](/docs/python/reference/functions/msg) per associare ora opzioni di traduzione a una stringa e risolverla in seguito, ad esempio quando componi un messaggio in un punto e lo visualizzi in un altro. Senza opzioni, `msg` restituisce il messaggio invariato; con le opzioni, restituisce una stringa codificata `{interpolated}:{base64options}` che [`m_fallback`](/docs/python/reference/functions/m-fallback) potrà poi decodificare. ```python from gt_i18n import msg, m_fallback encoded = msg("Save", _context="button") # ... in seguito, al momento del rendering: m_fallback(encoded) ``` ## Next steps - /docs/python/guides/declaring-variables - /docs/python/guides/detecting-locale - /docs/python/guides/storing-translations - /docs/python/guides/configuring