# gt: General Translation CLI tool: JSON
URL: https://generaltranslation.com/it/docs/cli/formats/json.mdx
---
title: JSON
description: Come tradurre automaticamente file JSON con General Translation
---
## Panoramica
`gt` può essere usato per tradurre automaticamente i file JSON del tuo progetto, indipendentemente dalla libreria i18n che utilizzi.
**Nota:** Al momento supportiamo sintassi e formattazione personalizzate delle
stringhe per le seguenti librerie i18n di terze parti: `next-intl`, `i18next`. Se utilizzi una
libreria i18n diversa, i risultati della traduzione potrebbero non essere accurati per
le stringhe con sintassi e formattazione personalizzate (ad esempio, i messaggi ICU). Non
vedi la tua libreria preferita? [Faccelo
sapere](https://github.com/generaltranslation/gt/issues) e la aggiungeremo
appena possibile!
Seguiremo questi 4 passaggi:
Aggiungi le variabili d'ambiente
Installa [`gt`](/docs/cli)
Crea un file `gt.config.json`
Esegui [`gt translate`](/docs/cli/translate#translate)
**Suggerimento:**
Evita di usare file di traduzione con il componente [``](/docs/react/guides/t).
***
## Passaggio 1: Aggiungi le variabili d'ambiente
Aggiungi la tua API key di produzione e l'ID del progetto alle variabili d'ambiente.
Questo è necessario per usare lo strumento `gt`.
Puoi recuperarli dalla [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
```
## Passaggio 3: Crea un file `gt.config.json`
Crea un file `gt.config.json` nella cartella principale del progetto.
```json title="gt.config.json" copy
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"json": {
"include": ["i18n/[locale]/*.json"]
}
}
}
```
Personalizza il file `gt.config.json` in base alle tue esigenze. Per maggiori informazioni, consulta la documentazione sulla [configurazione](/docs/cli/reference/config).
Aggiorna il formato del file `json` in modo che il percorso `include` corrisponda alla struttura del progetto.
Le traduzioni manterranno la sintassi originale della stringa.
## 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, così le traduzioni verranno aggiunte automaticamente al progetto.
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
Questo genererà le traduzioni per tutte le tue impostazioni regionali e le salverà nel progetto.
Se vuoi eseguire il commit di questi file nel repository, puoi invece eseguire questo comando prima di effettuare il commit.
Hai finito! Ora il progetto aggiornerà automaticamente tutti i file JSON di traduzione ogni volta che viene modificato.
***
## Metadati per chiave
Puoi aggiungere istruzioni di traduzione per singole stringhe, chiave per chiave, usando un file `.metadata.json` associato. In questo modo puoi fornire contesto, limiti di caratteri e contesto del codice sorgente per chiavi specifiche senza modificare il file sorgente.
```json title="translations.json"
{
"nav": {
"home": "Home",
"bank": "Bank",
"save": "Save"
}
}
```
```json title="translations.metadata.json"
{
"nav": {
"bank": {
"context": "Riverbank — the side of a river. NOT a financial institution."
},
"save": {
"context": "Sports term — a goalkeeper preventing a goal. NOT saving data.",
"maxChars": 12
}
}
}
```
Non tutte le chiavi richiedono metadati: aggiungi voci solo per quelle che necessitano di istruzioni di traduzione specifiche.
Consulta il [riferimento dei metadati per chiave](/docs/cli/reference/keyed-metadata) per l’elenco completo dei campi supportati.
***
## Note
* Puoi aggiungere automaticamente le traduzioni al tuo progetto con il comando [`gt translate`](/docs/cli/translate#translate).
* Se vuoi salvare nel commit i file di traduzione, dovresti eseguire il comando `gt translate` prima di effettuare il commit.
* Per configurare il percorso di output delle traduzioni, consulta la documentazione sulla [configurazione](/docs/cli/reference/config).
## Passaggi successivi
* Consulta il [comando translate](/docs/cli/translate) per i dettagli di utilizzo della CLI.
* Scopri i [metadati per chiave](/docs/cli/reference/keyed-metadata) per le istruzioni di traduzione specifiche per ciascuna chiave.