# gt: General Translation CLI tool: YAML
URL: https://generaltranslation.com/es/docs/cli/formats/yaml.mdx
---
title: YAML
description: Cómo traducir archivos YAML automáticamente con General Translation
---
## Resumen
`gt` puede usarse para traducir automáticamente los archivos YAML de tu proyecto, independientemente de la biblioteca de i18n que uses.
**Nota:** Actualmente admitimos sintaxis y formato de cadenas personalizados para las
siguientes bibliotecas de i18n de terceros: `next-intl`, `i18next`. Si usas una
biblioteca de i18n distinta, es posible que los resultados de traducción no sean precisos para
cadenas con sintaxis y formato personalizados (por ejemplo, mensajes ICU). ¿No
ves tu biblioteca favorita? [Avísanos](https://github.com/generaltranslation/gt/issues), y la añadiremos
en cuanto podamos.
Seguiremos estos 4 pasos:
Agrega tus variables de entorno
Instala [`gt`](/docs/cli)
Crea un archivo `gt.config.json`
Ejecuta [`gt translate`](/docs/cli/translate#translate)
***
## Paso 1: Añade tus variables de entorno
Añade tu clave de API de producción y el ID del proyecto a tus variables de entorno.
Esto es necesario para usar la herramienta `gt`.
Puedes obtenerlos en el [panel de General Translation](https://generaltranslation.com/dashboard).
```bash title=".env"
GT_API_KEY=
GT_PROJECT_ID=
```
## Paso 2: Instala `gt`
Instala la herramienta `gt` en tu proyecto.
```bash
npm i gt
```
```bash
yarn add --dev gt
```
```bash
bun add --dev gt
```
```bash
pnpm add --save-dev gt
```
## Paso 3: Crea un archivo `gt.config.json`
Crea un archivo `gt.config.json` en la raíz del proyecto.
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"yaml": {
"include": ["i18n/[locale]/*.yaml"]
}
}
}
```
Puedes personalizar el archivo `gt.config.json` según tus necesidades. Consulta la documentación de [configuración](/docs/cli/reference/config) para obtener más información.
Actualiza el archivo `yaml` para que la ruta de `include` coincida con la estructura de tu proyecto. Se admiten las extensiones `.yaml` y `.yml`.
Las traducciones conservarán la sintaxis original de la cadena.
## Paso 4: Añade el comando `gt translate` a tu proceso de compilación
Añade el comando `gt translate` a tu proceso de compilación o CI antes del comando de compilación para agregar automáticamente las traducciones a tu proyecto.
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
Esto generará traducciones para todas tus configuraciones regionales y las guardará en tu proyecto.
Si quieres hacer commit de estos archivos en tu repositorio, puedes ejecutar este comando antes de confirmar los cambios.
¡Listo! Ahora tu proyecto actualizará automáticamente todos tus archivos YAML de traducción cada vez que haya cambios en el proyecto.
***
## Metadatos por clave
Puedes adjuntar instrucciones de traducción para cada clave a cadenas individuales mediante un archivo `.metadata.yaml` complementario. Esto te permite proporcionar contexto, límites de caracteres y contexto del código fuente para claves específicas sin modificar el archivo de origen.
```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: "Orilla de río — el lado de un río. NO una institución financiera."
save:
context: "Término deportivo — un portero que evita un gol. NO guardar datos."
maxChars: 12
alerts:
new_lead:
context: "Contexto de ventas/CRM. Un 'lead' es un cliente potencial."
maxChars: 30
```
No todas las claves necesitan metadatos: solo añade entradas para las claves que requieran instrucciones de traducción específicas.
Consulta la [referencia de metadatos por clave](/docs/cli/reference/keyed-metadata) para ver la lista completa de campos admitidos.
***
## Notas
* Puedes agregar traducciones a tu proyecto automáticamente con el comando [`gt translate`](/docs/cli/translate#translate).
* Si quieres hacer commit de tus archivos de traducción, debes ejecutar el comando `gt translate` antes de hacer commit.
* Para configurar la ruta de salida de tus traducciones, consulta la documentación de [configuración](/docs/cli/reference/config).
* Se admiten las extensiones `.yaml` y `.yml`.
## Siguientes pasos
* Consulta el [comando `translate`](/docs/cli/translate) para obtener detalles de uso de la CLI.
* Obtén más información sobre los [metadatos por clave](/docs/cli/reference/keyed-metadata) para definir instrucciones de traducción para cada clave.