# General Translation Python SDKs: Traduzione delle stringhe
URL: https://generaltranslation.com/it/docs/python/guides/translating-strings.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come tradurre stringhe con variabili, contesto e opzioni usando le funzioni t e msg di General Translation in Python.

La funzione [`t`](/docs/python/reference/functions/t) traduce una stringa nell&#39;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`](/docs/python/reference/functions/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`](/docs/python/reference/functions/t) calcola l&#39;hash del messaggio sorgente, cerca una traduzione memorizzata nella cache per l&#39;impostazione regionale corrente, interpola le variabili con ICU MessageFormat e, se non esiste alcuna traduzione, usa come fallback la stringa sorgente interpolata. Quando l&#39;impostazione regionale corrente non richiede una traduzione (ad esempio, perché corrisponde all&#39;impostazione regionale predefinita), [`t`](/docs/python/reference/functions/t) salta la ricerca ed esegue solo l&#39;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&#39;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`](/docs/python/reference/functions/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 renderizzi in un altro. Senza opzioni, [`msg`](/docs/python/reference/functions/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

## Sitemap

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