# gt: General Translation CLI tool: JSON
URL: https://generaltranslation.com/es/docs/cli/formats/json.mdx
---
title: JSON
description: Cómo traducir archivos JSON automáticamente con General Translation
---
## Resumen
`gt` puede usarse para traducir automáticamente los archivos JSON 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 otra
biblioteca de i18n, 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:
Agregar tus variables de entorno
Instala [`gt`](/docs/cli)
Crea un archivo `gt.config.json`
Ejecuta [`gt translate`](/docs/cli/translate#translate)
**Consejo:**
Evita tener que usar archivos de traducción con el [componente ``](/docs/react/guides/t).
***
## 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" copy
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"json": {
"include": ["i18n/[locale]/*.json"]
}
}
}
```
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 `json` para que la ruta de `include` coincida con la estructura de tu proyecto.
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 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 antes de hacer commit.
¡Listo! Ahora tu proyecto actualizará automáticamente todos tus archivos JSON de traducción cada vez que haya cambios.
***
## Metadatos por clave
Puedes adjuntar instrucciones de traducción para cada clave a cada cadena individual mediante un archivo `.metadata.json` complementario. Esto te permite proporcionar contexto, límites de caracteres y contexto del código de origen para claves específicas sin modificar el archivo de origen.
```json title="translations.json"
{
"nav": {
"home": "Home",
"bank": "Bank",
"save": "Save"
}
}
```
```json title="translations.metadata.json"
{
"nav": {
"bank": {
"context": "Orilla de un río — el lado de un río. NO una institución financiera."
},
"save": {
"context": "Término deportivo — un portero que detiene un gol. NO guardar datos.",
"maxChars": 12
}
}
}
```
No todas las claves necesitan metadatos: solo proporciona entradas para las claves que necesiten 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 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).
## Siguientes pasos
* Consulta la [guía de uso](/docs/cli/reference/usage) de la herramienta CLI.
* Obtén más información sobre los [metadatos por clave](/docs/cli/reference/keyed-metadata) para las instrucciones de traducción por clave.