# gt: General Translation CLI tool: YAML
URL: https://generaltranslation.com/it/docs/cli/formats/yaml.mdx
---
title: YAML
description: Come tradurre automaticamente i file YAML con General Translation
---
## Panoramica
`gt` può essere usato per tradurre automaticamente i file YAML 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
trovi la tua libreria preferita? [Faccelo
sapere](https://github.com/generaltranslation/gt/issues) e la aggiungeremo non
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)
***
## Passaggio 1: Aggiungi le variabili d'ambiente
Aggiungi la chiave API di produzione e l'ID progetto alle variabili d'ambiente.
Questo è necessario per usare lo strumento `gt`.
Puoi trovarli nella [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"
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"yaml": {
"include": ["i18n/[locale]/*.yaml"]
}
}
}
```
Puoi personalizzare il file `gt.config.json` in base alle tue esigenze. Per maggiori informazioni, consulta la documentazione sulla [configurazione](/docs/cli/reference/config).
Aggiorna il file `yaml` in modo che il percorso `include` corrisponda alla struttura del tuo progetto. Sono supportate entrambe le estensioni `.yaml` e `.yml`.
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, per inserire automaticamente le traduzioni nel 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 fare il commit di questi file nel repository, puoi invece eseguire questo comando prima del commit.
Hai finito! Ora il progetto aggiornerà automaticamente tutti i file YAML di traduzione ogni volta che viene modificato.
***
## Metadati per chiave
Puoi aggiungere istruzioni di traduzione per singole chiavi a specifiche stringhe usando un file `.metadata.yaml` associato. In questo modo puoi fornire contesto, limiti di caratteri e contesto del codice sorgente per chiavi specifiche senza modificare il file sorgente.
```yaml title="translations.yaml"
nav:
home: "Home"
bank: "Bank"
save: "Save"
alerts:
new_lead: "You have a new lead!"
```
```yaml title="translations.metadata.yaml"
nav:
bank:
context: "Riva del fiume — il lato di un fiume. NON un istituto finanziario."
save:
context: "Termine sportivo — un portiere che para un gol. NON il salvataggio di dati."
maxChars: 12
alerts:
new_lead:
context: "Contesto vendite/CRM. Un 'lead' è un potenziale cliente."
maxChars: 30
```
Non tutte le chiavi richiedono metadati: aggiungi voci solo per quelle che necessitano di istruzioni di traduzione specifiche.
Consulta il [riferimento sui 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, esegui 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).
* Sono supportate entrambe le estensioni `.yaml` e `.yml`.
## 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 istruzioni di traduzione associate a ciascuna chiave.