# gt: General Translation CLI tool: PO / POT URL: https://generaltranslation.com/es/docs/cli/formats/po.mdx --- title: PO / POT description: Cómo traducir automáticamente archivos PO/POT con General Translation --- ## Descripción general `gt` se puede usar para traducir automáticamente los archivos [PO (Portable Object)](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) y POT (PO Template) de tu proyecto. Estos son los formatos de archivo estándar que usa [GNU gettext](https://www.gnu.org/software/gettext/), uno de los sistemas de internacionalización más antiguos y ampliamente adoptados. Los archivos POT contienen las cadenas fuente extraídas de tu código, y los archivos PO contienen las traducciones para una configuración regional específica. 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 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 el root de tu proyecto. ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "pot": { "include": ["locales/[locale]/*.pot"], "transformationFormat": "PO" } } } ``` Si lo deseas, 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 `pot` para que la ruta `include` coincida con la estructura de tu proyecto. La opción `transformationFormat` indica a `gt` que genere archivos traducidos como archivos `.po` en lugar de archivos `.pot`. Este es el flujo de trabajo estándar: los archivos POT son plantillas de origen y los archivos PO contienen las traducciones reales para cada configuración regional. **Nota:** Las traducciones conservarán la sintaxis original de las cadenas de PO/POT. ## Paso 4: Añade el comando `gt translate` a tu proceso de construcción Añade el comando `gt translate` a tu proceso de construcción o de CI antes del comando de construcció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, en su lugar puedes ejecutar este comando antes de hacer commit. ¡Listo! Ahora tu proyecto actualizará automáticamente todos los archivos de traducción PO/POT cada vez que cambie. *** ## 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 archivos de traducción, consulta la documentación de [configuración](/docs/cli/reference/config). * Se aceptan tanto `pot` como `POT` como clave de configuración en `gt.config.json`. ## Próximos pasos * Consulta el [comando `translate`](/docs/cli/translate) para obtener más detalles sobre su uso en la CLI. * Más información sobre los [metadatos por clave](/docs/cli/reference/keyed-metadata) para instrucciones de traducción por clave.