Démarrage rapide

Guide de démarrage rapide pour la bibliothèque generaltranslation

Présentation

Ce guide vous présente les bases de l’utilisation de la bibliothèque generaltranslation. Nous couvrirons la traduction de chaînes et la traduction de fichiers.


Traduisez votre première chaîne

1. Récupérez vos variables d’environnement

La toute première étape consiste à créer un GT_PROJECT_ID et un GT_API_KEY. C’est entièrement gratuit et cela vous donnera accès aux services de traduction.

Accédez à la page API Keys, puis cliquez sur Create API Key. Choisissez un nom pour votre clé d’API, puis cliquez sur Create.

Page de clé d’API

General Translation offre des limites 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 et transmettez en toute sécurité votre GT_PROJECT_ID et votre GT_API_KEY.

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 pour traduire votre chaîne. Passez la chaîne à traduire et la locale cible.

src/index.ts
const { translation } = await gt.translate('Hello, world!', 'es'); // Spanish

console.log(translation); // "¡Hola, mundo!"

Si vous souhaitez rechercher un code de locale, consultez la page des locales prises en charge.


Traduisez votre premier fichier

Ce guide part du principe que vous avez déjà suivi les étapes 1 et 2 du guide Traduisez votre première chaîne 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 un fichier nommé en.json en espagnol.

en.json
{
  "hello": "Bonjour",
  "world": "Monde"
}

Pour traduire un fichier, suivez ces quatre étapes :

  1. Importez le fichier
  2. Placez le fichier en file d’attente pour traduction
  3. Vérifiez l’état du fichier (optionnel)
  4. Téléchargez le fichier traduit.

Pourquoi pas un seul appel ?

En général, les utilisateurs veulent traduire plusieurs fichiers à la fois. En scindant le processus en quatre étapes claires, cela leur offre bien plus de flexibilité dans l’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 via la méthode uploadSourceFiles. Vous pouvez ensuite mettre le fichier en file d’attente pour traduction, vérifier son statut et télécharger le fichier traduit.

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) Téléverser le fichier
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  {
    sourceLocale: 'en'
  }
);

Cela renverra une liste de références de fichiers :

Output
[
  {
    fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
    versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
    fileName: '/Users/demo/en.json',
    fileFormat: 'JSON'
  }
]

2. Mettre le fichier en file d’attente pour traduction

L’étape suivante consiste à sélectionner les locales cibles pour la traduction avec la méthode enqueueFiles. Dans ce cas, nous allons traduire en espagnol.

src/index.ts
const fileUploadRef = {
  fileId: uploadedFiles[0].fileId,
  versionId: uploadedFiles[0].versionId,
  fileName: uploadedFiles[0].fileName,
  fileFormat: uploadedFiles[0].fileFormat,
};
const enqueueResult = await gt.enqueueFiles(
  [fileUploadRef],
  {
  sourceLocale: 'en',
  targetLocales: ['es'],
});

Cela renverra une liste de références de fichiers :

Output
{
  translations: [],
  data: {
    '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e': {
      fileName: '/Users/demo/en.json',
      versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121'
    }
  },
  locales: [ 'es' ],
  message: 'Création de 1 traduction.'
}

3. Vérifier l’état du fichier

Très bien, maintenant que le fichier a été téléversé, comment savoir quand il est prêt à être téléchargé ? Nous pouvons utiliser la méthode checkFileTranslations pour vérifier l’état du fichier.

src/index.ts
const status = await gt.checkFileTranslations([{
  versionId: uploadedFiles[0].versionId,
  fileName: uploadedFiles[0].fileName,
  locale: 'es'
}]);

Si le fichier est encore en cours de traduction, il n’y aura pas de traductions correspondantes dans la sortie.

Output
{
  translations: [
    {
      locale: 'es',
      metadata: {},
      fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
      fileName: '/Users/demo/en.json',
      versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
      id: 'skl44z0ieuvdcomw38zb5chv',
      isReady: true,
      downloadUrl: '/v2/project/translations/files/skl44z0ieuvdcomw38zb5chv/download'
    }
  ]
}

4. Télécharger le fichier traduit

Enfin, nous pouvons télécharger le fichier traduit à l’aide de la méthode downloadTranslatedFile.

src/index.ts
const { translation } = await gt.downloadTranslatedFile({
  fileId: uploadedFiles[0].fileId,
  locale: 'es',
  versionId: uploadedFiles[0].versionId,
});

Cela renverra le contenu du fichier traduit :

Output
{
  "hello": "Bonjour",
  "world": "Monde"
}

Que pensez-vous de ce guide ?

Démarrage rapide