# General Translation Python SDKs: t URL: https://generaltranslation.com/it/docs/python/reference/functions/t.mdx --- title: t description: Traduce e interpola una stringa ICU MessageFormat con General Translation in Python. Riferimento API per t. --- Traduce e interpola una stringa ICU MessageFormat nell'impostazione regionale attiva della richiesta. `t` è la principale funzione di traduzione rivolta all'utente. ## Panoramica [#overview] Chiama `t` passando una stringa sorgente e le eventuali variabili di interpolazione come argomenti con nome. Restituisce la stringa tradotta e interpolata per l'impostazione regionale corrente; se non trova alcuna traduzione, restituisce la stringa sorgente interpolata. ```python from gt_flask import t # oppure: from gt_fastapi import t, oppure: from gt_i18n import t message = t("Hello, {name}!", name="World") ``` Firma: ```python t(message: str, **kwargs: object) -> str ``` *Nota: `t` legge il manager attivo, quindi [`initialize_gt`](/docs/python/reference/functions/initialize-gt) (o [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager)) deve essere eseguito prima. In caso contrario, viene generato un `RuntimeError`.* ## Come funziona [#how-it-works] * **Controllo dell'impostazione regionale.** Legge l'impostazione regionale corrente dal manager. Se questa impostazione regionale non richiede traduzione (ad esempio, perché corrisponde all'impostazione regionale predefinita), salta il lookup e si limita a interpolare il sorgente. * **Ricerca dell'hash.** Altrimenti calcola l'hash del messaggio (con `_context`, `_id` e `_max_chars`) e recupera dalla cache in memoria la traduzione memorizzata per l'impostazione regionale. La cache è sincrona, quindi la traduzione deve essere già stata caricata: vedi [caricamento anticipato](/docs/python/guides/configuring#preload). * **Interpolazione.** Se trova una traduzione, la interpola con ICU MessageFormat usando le tue variabili e il sorgente come `__fallback` per risolvere le variabili `_gt_` dichiarate. * **Fallback.** Se non viene trovata alcuna traduzione, interpola e restituisce la stringa sorgente. ## Parametri [#parameters] | Parametro | Descrizione | Type | Facoltativo | Predefinito | | --------------------- | --------------------------------------------------- | ------------ | ----------- | ----------- | | [`message`](#message) | La stringa sorgente nel formato ICU MessageFormat. | `str` | No | — | | [`kwargs`](#kwargs) | Variabili di interpolazione e opzioni GT riservate. | keyword args | Sì | — | ### `message` [#message] **Tipo** `str` · **Obbligatorio** La stringa sorgente in formato ICU MessageFormat da tradurre e interpolare. ### `kwargs` [#kwargs] **Tipo** argomenti keyword · **Facoltativo** Variabili di interpolazione corrispondenti ai segnaposto ICU, oltre a queste opzioni GT riservate, che vengono escluse dall'interpolazione e incluse nell'hash del messaggio: * `_context` (`str`) — contesto aggiuntivo per distinguere traduzioni con lo stesso testo sorgente. * `_id` (`str`) — un identificatore personalizzato per la voce di traduzione. * `_max_chars` (`int`) — lunghezza massima in caratteri applicata all'output. *Una variabile definita dall'utente il cui nome inizia con un singolo trattino basso (ad esempio `_name`) viene comunque trattata come variabile di interpolazione; solo le tre chiavi sopra sono riservate.* ## Valore restituito [#returns] **Tipo** `str` La stringa tradotta e interpolata, oppure la stringa sorgente interpolata se non è disponibile alcuna traduzione. ## Esempi [#examples] ```python # Traduzione semplice t("Hello, world!") ``` ```python # Con variabili t("Hello, {name}!", name="Alice") ``` ```python # Con contesto per disambiguare testi sorgente identici t("Bank", _context="financial institution") t("Bank", _context="river bank") ``` ```python # Con f-string e declare_var — racchiudi i valori dinamici per preservarli from gt_flask import t, declare_var # Prima dell'i18n: message = f"{name} goes home" # Dopo l'i18n — racchiudi con t() e declare_var(): message = t(f"{declare_var(name, name='name')} goes home") ``` ```python # Con un limite di caratteri t("This is a very long message that might need truncation", _max_chars=20) ```