# General Translation Python SDKs: Quickstart
URL: https://generaltranslation.com/it/docs/python/quickstart.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Installa l’SDK Python di General Translation e traduci la tua prima app Flask o FastAPI.

L’SDK Python di General Translation traduce le stringhe rivolte agli utenti nelle app Flask e FastAPI. Lo inizializzi una sola volta per la tua app, poi racchiudi le stringhe nelle route con la funzione [`t`](/docs/python/reference/functions/t), che le traduce in base all’impostazione regionale della richiesta corrente.

Installa l’integrazione per il tuo framework: `gt-flask` per Flask, `gt-fastapi` per FastAPI. Entrambi si basano sul runtime condiviso `gt-i18n`, che puoi usare direttamente anche in un progetto senza framework.

<Callout type="warn">
  L’SDK Python è **sperimentale e instabile**. `gt-i18n`, `gt-flask` e `gt-fastapi` sono ancora nelle prime fasi di sviluppo e potrebbero introdurre modifiche incompatibili tra un rilascio e l’altro. Richiede Python 3.10 o versioni successive.
</Callout>

## Cosa fa lo SDK Python [#overview]

Lo SDK ti offre:

* **Traduzione delle stringhe** con [`t`](/docs/python/reference/functions/t), usando la sintassi dei messaggi ICU.
* Rilevamento dell&#39;**impostazione regionale per richiesta** dall&#39;header `Accept-Language`, oppure tramite una logica personalizzata.
* **Varianti finite** con [`derive`](/docs/python/reference/functions/derive) e valori non traducibili con [`declare_var`](/docs/python/reference/functions/declare-var).
* **Distribuzione tramite CDN o in locale** delle traduzioni generate dalla [General Translation CLI](/docs/cli/quickstart).

## Quickstart [#quickstart]

Installa l&#39;integrazione, aggiungi un file di configurazione, inizializzala nella tua app e traduci una stringa.

### 1. Installa l&#39;integrazione

<Tabs items={['Flask', 'FastAPI']}>
  <Tab value="Flask">
    ```bash
    pip install gt-flask
    ```
  </Tab>

  <Tab value="FastAPI">
    ```bash
    pip install gt-fastapi
    ```
  </Tab>
</Tabs>

### 2. Configura le impostazioni regionali

Crea `gt.config.json` nella radice del progetto con l&#39;ID progetto e le impostazioni regionali. Consulta il [riferimento della configurazione](/docs/python/reference/config) per ogni chiave.

```json title="gt.config.json"
{
  "projectId": "your-project-id",
  "defaultLocale": "en",
  "locales": ["es", "fr"]
}
```

Con il placeholder `projectId`, l&#39;app continua a funzionare e l&#39;impostazione regionale della richiesta continua a cambiare, ma ogni stringa viene restituita nella lingua sorgente. È il comportamento previsto finché non imposti il tuo ID progetto e non pubblichi le traduzioni.

### 3. Inizializza con la tua app

Chiama `initialize_gt(app)` una volta all&#39;avvio. Legge `gt.config.json`, registra il rilevamento dell&#39;impostazione regionale per ogni richiesta e carica in anticipo le traduzioni. Non c&#39;è alcun parametro per la chiave API: il caricamento dal CDN usa `project_id` e `cache_url`.

<Tabs items={['Flask', 'FastAPI']}>
  <Tab value="Flask">
    ```python title="app.py"
    from flask import Flask
    from gt_flask import initialize_gt, t, get_locale

    app = Flask(__name__)
    initialize_gt(app)

    @app.route("/")
    def index():
        return {"message": t("Hello, world!"), "locale": get_locale()}
    ```

    Esegui con:

    ```bash
    flask --app app run
    ```
  </Tab>

  <Tab value="FastAPI">
    ```python title="main.py"
    from fastapi import FastAPI
    from gt_fastapi import initialize_gt, t, get_locale

    app = FastAPI()
    initialize_gt(app)

    @app.get("/")
    def index():
        return {"message": t("Hello, world!"), "locale": get_locale()}
    ```

    FastAPI richiede un server ASGI separato. Installa Uvicorn e avvia l&#39;app con:

    ```bash
    pip install "uvicorn[standard]"
    uvicorn main:app
    ```
  </Tab>
</Tabs>

### 4. Tradurre con variabili

Usa i segnaposto ICU e passa i valori come argomenti nominati.

```python
t("Hello, {name}!", name="Alice")
```

### 5. Genera le traduzioni

Usa la [General Translation CLI](/docs/cli/quickstart) per tradurre i contenuti prima del deployment, così le traduzioni saranno disponibili a runtime. La CLI è uno strumento per Node, quindi richiede che Node sia installato e si esegue tramite `npx`.

```bash
npx gt translate
```

## Usa la libreria core senza un framework [#core]

Se non usi Flask o FastAPI, installa `gt-i18n` direttamente. La libreria core non include [`initialize_gt`](/docs/python/reference/functions/initialize-gt): istanzia un [`I18nManager`](/docs/python/reference/classes/i18n-manager), registralo con [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager) e imposta manualmente l&#39;impostazione regionale della richiesta.

```bash
pip install gt-i18n
```

```python
from gt_i18n import I18nManager, set_i18n_manager, t

manager = I18nManager(default_locale="en", locales=["es", "fr"])
set_i18n_manager(manager)

manager.set_locale("es")
print(t("Hello, world!"))
```

(Consulta [Traduzione delle stringhe](/docs/python/guides/translating-strings) per il contesto e le variabili, e [Rilevamento dell&#39;impostazione regionale della richiesta](/docs/python/guides/detecting-locale) per personalizzare il rilevamento dell&#39;impostazione regionale).

## Next steps

- /docs/python/guides/translating-strings
- /docs/python/guides/detecting-locale
- /docs/python/guides/declaring-variables
- /docs/python/guides/storing-translations

## Sitemap

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