# 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 estés usando.
**Nota:** Actualmente ofrecemos compatibilidad con sintaxis y formato de
cadenas personalizados para las siguientes bibliotecas de i18n de terceros:
`next-intl`, `i18next`. Si usas una biblioteca de i18n diferente, es posible
que los resultados de la traducción no sean precisos para cadenas con
sintaxis y formato personalizados (por ejemplo, mensajes ICU). ¿No ves tu
biblioteca favorita? [Háznoslo
saber](https://github.com/generaltranslation/gt/issues) y la agregaremos 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: Agrega tus variables de entorno
Agrega tu clave 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 control 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 de tu 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 formato del archivo `yaml` para que la ruta `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: Agrega el comando `gt translate` a tu proceso de compilación
Agrega el comando `gt translate` a tu proceso de compilación o de CI antes del comando de compilación para añadir traducciones automáticamente a tu proyecto.
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
Esto generará traducciones para todos tus locales y las guardará en tu proyecto.
Si quieres hacer commit de estos archivos en tu repositorio, puedes ejecutar este comando en su lugar antes de hacer commit.
¡Listo! Ahora tu proyecto actualizará automáticamente todos tus archivos YAML de traducción cada vez que haya cambios en tu proyecto.
***
## Metadatos por clave
Puedes adjuntar instrucciones de traducción para cada clave a cadenas individuales mediante un archivo complementario `.metadata.yaml`. 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: "Ribera — la orilla 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 — proporciona entradas solo para las claves que necesiten instrucciones de traducción específicas.
Consultar la [referencia de metadatos por clave](/docs/cli/reference/keyed-metadata) para ver la lista completa de campos compatibles.
***
## Notas
* Puedes añadir traducciones automáticamente a tu proyecto 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`.
## Próximos pasos
* Consulta la [guía de uso](/docs/cli/reference/usage) de la herramienta CLI.
* Más información sobre los [metadatos por clave](/docs/cli/reference/keyed-metadata) para las instrucciones de traducción por clave.