# gt: General Translation CLI tool: PO / POT
URL: https://generaltranslation.com/fr/docs/cli/formats/po.mdx
---
title: PO / POT
description: Comment traduire automatiquement des fichiers PO/POT avec General Translation
---
## Vue d’ensemble
`gt` peut être utilisé pour traduire automatiquement les fichiers [PO (Portable Object)](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) et POT (PO Template) de votre projet. Ce sont les formats de fichier standard utilisés par [GNU gettext](https://www.gnu.org/software/gettext/), l’un des systèmes d’internationalisation les plus anciens et les plus largement adoptés.
Les fichiers POT contiennent les chaînes source extraites de votre code, et les fichiers PO contiennent les traductions pour un paramètre régional donné.
Nous allons suivre ces 4 étapes :
Ajoutez vos variables d'environnement
Installez [`gt`](/docs/cli)
Créez un fichier `gt.config.json`
Exécutez [`gt translate`](/docs/cli/translate#translate)
***
## Étape 1 : ajoutez vos variables d’environnement
Ajoutez votre clé API de production et l’ID de votre projet à vos variables d’environnement.
C’est nécessaire pour utiliser l’outil `gt`.
Vous les trouverez dans le [tableau de bord de General Translation](https://generaltranslation.com/dashboard).
```bash title=".env"
GT_API_KEY=
GT_PROJECT_ID=
```
## Étape 2 : Installez `gt`
Installez l’outil `gt` dans votre projet.
```bash
npm i gt
```
```bash
yarn add --dev gt
```
```bash
bun add --dev gt
```
```bash
pnpm add --save-dev gt
```
## Étape 3 : Créez un fichier `gt.config.json`
Créez un fichier `gt.config.json` à la racine de votre projet.
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"pot": {
"include": ["locales/[locale]/*.pot"],
"transformationFormat": "PO"
}
}
}
```
N’hésitez pas à adapter le fichier `gt.config.json` à vos besoins. Consultez la documentation de [configuration](/docs/cli/reference/config) pour plus d’informations.
Mettez à jour le format du fichier `pot` afin que le chemin `include` corresponde à la structure de votre projet.
L’option `transformationFormat` indique à `gt` de générer les fichiers traduits au format `.po` plutôt qu’au format `.pot`. Il s’agit du workflow standard : les fichiers POT sont des modèles source, et les fichiers PO contiennent les traductions proprement dites pour chaque paramètre régional.
**Remarque :** Les traductions conserveront la syntaxe d’origine des chaînes de caractères PO/POT.
## Étape 4 : ajoutez la commande `gt translate` à votre processus de build
Ajoutez la commande `gt translate` à votre processus de build ou de CI, avant la commande de build, afin d’ajouter automatiquement les traductions à votre projet.
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
Cela générera les traductions pour tous vos paramètres régionaux et les enregistrera dans votre projet.
Si vous préférez valider ces fichiers dans votre dépôt, vous pouvez exécuter cette commande avant de valider.
C'est terminé ! Votre projet mettra désormais automatiquement à jour tous vos fichiers de traduction PO/POT à chaque modification du projet.
***
## Remarques
* Vous pouvez ajouter automatiquement des traductions à votre projet avec la commande [`gt translate`](/docs/cli/translate#translate).
* Si vous souhaitez valider vos fichiers de traduction, exécutez la commande `gt translate` avant de valider.
* Pour configurer le chemin de sortie de vos traductions, consultez la documentation de [configuration](/docs/cli/reference/config).
* `pot` et `POT` sont tous deux acceptés comme clés de configuration dans `gt.config.json`.
## Étapes suivantes
* Consultez la [commande translate](/docs/cli/translate) pour en savoir plus sur son utilisation en CLI.
* Découvrez les [métadonnées par clé](/docs/cli/reference/keyed-metadata) pour définir des instructions de traduction pour chaque clé.