# 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
---
## Descripción general
`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 formatos de cadena personalizados para las
siguientes bibliotecas de i18n de terceros: `next-intl`, `i18next`. Si usas una
biblioteca de i18n distinta, puede que los resultados de la traducción no sean precisos en
cadenas con sintaxis y formato personalizados (por ejemplo, mensajes ICU). ¿No
aparece tu biblioteca favorita? [Háznoslo
saber](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)
**Consejo:**
Evita las complicaciones de usar archivos de traducción con el componente [``](/docs/react/guides/t).
***
## 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 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 `include` se ajuste a la estructura de tu proyecto.
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 hacer commit.
¡Listo! Ahora tu proyecto actualizará automáticamente todos tus archivos JSON de traducción cada vez que cambie.
***
## Metadatos por clave
Puedes añadir instrucciones de traducción para cada clave a cadenas individuales mediante un archivo complementario `.metadata.json`. 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.
```json title="translations.json"
{
"nav": {
"home": "Home",
"bank": "Bank",
"save": "Save"
}
}
```
```json title="translations.metadata.json"
{
"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
}
}
}
```
No todas las claves necesitan metadatos; añade entradas solo 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 añadir 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).
## 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.