# generaltranslation: General Translation Core SDK: Démarrage rapide
URL: https://generaltranslation.com/fr/docs/core/quickstart.mdx
---
title: Démarrage rapide
description: Guide de démarrage rapide de la bibliothèque generaltranslation
---
## Vue d’ensemble
Ce guide vous présente les bases de l’utilisation de la bibliothèque generaltranslation.
Nous aborderons la traduction de chaînes de caractères et la traduction de fichiers.
***
## Traduisez votre première chaîne
### 1. Obtenez vos variables d'environnement
La toute première étape consiste à créer un `GT_PROJECT_ID` et une `GT_API_KEY`.
C'est entièrement gratuit et cela vous donnera accès aux services de traduction.
Accédez à la [page `API Keys`](https://dash.generaltranslation.com/api-keys), puis cliquez sur `Create API Key`.
Choisissez un nom pour votre clé API, puis cliquez sur `Create`.

General Translation propose des limites d'utilisation gratuites très généreuses pour soutenir les projets personnels, les développeurs indépendants et la communauté.
### 2. Initialisez la classe GT
Initialisez la classe [`GT`](/docs/core/class/constructor) et transmettez-lui en toute sécurité votre `GT_PROJECT_ID` et votre `GT_API_KEY`.
```typescript title="src/index.ts"
import { GT } from 'generaltranslation';
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key',
});
```
### 3. Traduisez votre première chaîne
Appelez la méthode [`translate`](/docs/core/class/methods/translation/translate) pour traduire votre chaîne.
Passez-lui la chaîne à traduire ainsi que le paramètre régional cible.
```typescript title="src/index.ts"
const result = await gt.translate('Hello, world!', 'es'); // Espagnol
if (result.success) {
console.log(result.translation); // "¡Hola, mundo!"
} else {
console.error(`Échec de la traduction : ${result.error}`);
}
```
Si vous souhaitez rechercher un code de langue, consultez la page des [paramètres régionaux pris en charge](/docs/platform/supported-locales).
***
## Traduisez votre premier fichier
Ce guide suppose que vous avez déjà suivi les étapes 1 et 2 du guide [Traduisez
votre première chaîne](/docs/core/quickstart#translate-your-first-string) et
que vous disposez d’un `GT_PROJECT_ID`, d’une `GT_API_KEY` et d’une instance de
la classe `GT`.
Supposons que vous souhaitiez traduire en espagnol un fichier appelé `en.json`.
```json title="en.json"
{
"hello": "Hello",
"world": "World"
}
```
Afin de traduire un fichier, vous devez suivre ces quatre étapes :
1. Importez le fichier
2. Placez le fichier en file d’attente pour la traduction
3. Vérifiez l’état du fichier (facultatif)
4. Téléchargez le fichier traduit.
#### Pourquoi ne pas faire un seul appel ? En général, les utilisateurs voudront traduire plusieurs
fichiers à la fois. En divisant le processus en quatre étapes claires, les utilisateurs
bénéficient d’une bien plus grande flexibilité dans leur utilisation de l’API.
### 1. Téléversez le fichier
Le téléversement de fichiers renvoie une liste de références de fichiers avec la méthode [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files).
Vous pourrez ensuite mettre le fichier en file d’attente pour la traduction, en vérifier l’état et télécharger le fichier traduit.
```typescript title="src/index.ts"
import fs from 'fs';
import path from 'path';
import { FileUpload } from 'generaltranslation';
// (i) Lire le contenu d'un fichier
const filePath = path.join(process.cwd(), 'en.json');
const fileContents = fs.readFileSync(filePath, 'utf8');
// (ii) Formater le contenu du fichier
const fileUpload: FileUpload = {
content: fileContents,
fileName: filePath,
fileFormat: 'JSON',
locale: 'en',
};
const files = [ { source: fileUpload } ];
// (iii) Uploader le fichier
const { uploadedFiles } = await gt.uploadSourceFiles(
files,
{
sourceLocale: 'en'
}
);
```
Cela renvoie une liste de références de fichiers :
```ts title="Output"
[
{
fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
branchId: '123456789',
fileName: '/Users/demo/en.json',
fileFormat: 'JSON'
}
]
```
### 2. Ajouter le fichier à la file d’attente de traduction
L’étape suivante consiste à sélectionner les paramètres régionaux cibles pour la traduction avec la méthode [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files).
Dans ce cas, nous allons traduire en espagnol.
```typescript title="src/index.ts"
const fileUploadRef = {
fileId: uploadedFiles[0].fileId,
versionId: uploadedFiles[0].versionId,
branchId: uploadedFiles[0].branchId,
fileName: uploadedFiles[0].fileName,
fileFormat: uploadedFiles[0].fileFormat,
};
const enqueueResult = await gt.enqueueFiles(
[fileUploadRef],
{
sourceLocale: 'en',
targetLocales: ['es'],
});
```
Cela renverra un résultat contenant les informations sur la tâche :
```ts title="Output"
{
jobId: 'job-123456',
locales: [ 'es' ],
message: 'Creating 1 translation(s).'
}
```
### 3. Vérifiez l’état du fichier
Maintenant que le fichier a été upload, comment savoir quand il sera prêt à être téléchargé ?
Vous pouvez utiliser la méthode [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour vérifier l’état du fichier.
```typescript title="src/index.ts"
const { fileId, versionId, branchId } = uploadedFiles[0];
const status = await gt.queryFileData({
translatedFiles: [{
fileId,
versionId,
branchId,
locale: 'es'
}]
});
```
Si le fichier est encore en cours de traduction, `completedAt` sera `null`. Une fois la traduction terminée, il contiendra un horodatage.
```ts title="Output"
{
translatedFiles: [
{
fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
branchId: '123456789',
locale: 'es',
completedAt: '2024-01-15T12:00:00Z',
...
}
]
}
```
### 4. Télécharger le fichier traduit
Enfin, vous pouvez télécharger le fichier traduit avec la méthode [`downloadFile`](/docs/core/class/methods/translation/download-file).
```typescript title="src/index.ts"
const { fileId, branchId } = uploadedFiles[0];
const content = await gt.downloadFile({
fileId,
branchId,
locale: 'es',
});
```
Cela renverra le contenu traduit du fichier :
```ts title="Output"
{
"hello": "Hola",
"world": "Mundo"
}
```