# gt: General Translation CLI tool: PO / POT
URL: https://generaltranslation.com/it/docs/cli/formats/po.mdx
---
title: PO / POT
description: Come tradurre automaticamente i file PO/POT con General Translation
---
## Panoramica
`gt` può essere usato per tradurre automaticamente i file [PO (Portable Object)](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) e POT (PO Template) del tuo progetto. Si tratta del formato di file standard usato da [GNU gettext](https://www.gnu.org/software/gettext/), uno dei sistemi di internazionalizzazione più datati e diffusi.
I file POT contengono le stringhe sorgente estratte dal codice, mentre i file PO contengono le traduzioni per una specifica impostazione regionale.
Segui questi 4 passaggi:
Aggiungi le tue variabili d'ambiente
Installa [`gt`](/docs/cli)
Crea un file `gt.config.json`
Esegui [`gt translate`](/docs/cli/translate#translate)
***
## Passaggio 1: Aggiungi le variabili d'ambiente
Aggiungi la chiave API di produzione e l'ID del progetto alle variabili d'ambiente.
Questo è necessario per usare lo strumento `gt`.
Puoi trovarli nel [dashboard di General Translation](https://generaltranslation.com/dashboard).
```bash title=".env"
GT_API_KEY=
GT_PROJECT_ID=
```
## Passaggio 2: Installa `gt`
Installa lo strumento `gt` nel progetto.
```bash
npm i gt
```
```bash
yarn add --dev gt
```
```bash
bun add --dev gt
```
```bash
pnpm add --save-dev gt
```
## Passo 3: Crea un file `gt.config.json`
Crea un file `gt.config.json` nella root del progetto.
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"pot": {
"include": ["locales/[locale]/*.pot"],
"transformationFormat": "PO"
}
}
}
```
Puoi personalizzare il file `gt.config.json` in base alle tue esigenze. Per maggiori informazioni, consulta la [configurazione](/docs/cli/reference/config).
Aggiorna il formato del file `pot` in modo che il percorso `include` corrisponda alla struttura del tuo progetto.
L'opzione `transformationFormat` fa sì che `gt` generi i file tradotti come file `.po` anziché `.pot`. Questo è il flusso di lavoro standard: i file POT sono template di origine, mentre i file PO contengono le traduzioni effettive per ogni impostazione regionale.
**Nota:** Le traduzioni manterranno la sintassi originale delle stringhe PO/POT.
## Passaggio 4: Aggiungi il comando `gt translate` al processo di build
Aggiungi il comando `gt translate` al processo di build o CI prima del comando di build, in modo da aggiungere automaticamente le traduzioni al progetto.
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
Questo genererà le traduzioni per tutte le impostazioni regionali del tuo progetto e le salverà nel progetto.
Se vuoi fare commit di questi file nel tuo repository, puoi invece eseguire questo comando prima del commit.
Hai finito! Ora il tuo progetto aggiornerà automaticamente tutti i file PO/POT delle traduzioni ogni volta che viene modificato.
***
## Note
* Puoi aggiungere automaticamente le traduzioni al tuo progetto con il comando [`gt translate`](/docs/cli/translate#translate).
* Se vuoi fare commit dei file di traduzione, dovresti eseguire il comando `gt translate` prima di eseguire il commit.
* Per configurare il percorso di output delle traduzioni, consulta la docs sulla [configurazione](/docs/cli/reference/config).
* Sia `pot` che `POT` sono accettati come chiave di configurazione in `gt.config.json`.
## Passaggi successivi
* Consulta il [comando `translate`](/docs/cli/translate) per i dettagli sull'uso della CLI.
* Scopri i [metadati per chiave](/docs/cli/reference/keyed-metadata) per le per-key translation instructions.