GT ClassMethodsTranslation

checkFileTranslations

Référence de l’API pour la méthode checkFileTranslations permettant de vérifier l’état des traductions sans télécharger les files

Vue d’ensemble

La méthode checkFileTranslations vérifie l’état de traduction des files sans en télécharger le contenu. Elle est utile pour suivre l’avancement des traductions, contrôler le degré d’achèvement et déterminer quelles traductions sont disponibles.

const gt = new GT({ projectId: 'votre-project-id', apiKey: 'votre-api-key' });

const status = await gt.checkFileTranslations([
  {
    versionId: 'version-123',
    fileName: 'app.json',
    locale: 'es'
  }
]);

Références

Paramètres

NomTypeDescription
dataFileTranslationQuery[]Tableau de requêtes de traduction de fichiers à contrôler
options?CheckFileTranslationsOptionsConfiguration facultative de la requête

FileTranslationQuery

NomTypeDescription
versionIdstringID de version du fichier à contrôler
fileName?stringNom de fichier (obligatoire si fileId n’est pas fourni)
fileId?stringID de fichier (obligatoire si fileName n’est pas fourni)
localestringParamètre régional cible pour lequel vérifier l’état de la traduction

CheckFileTranslationsOptions

NomTypeDescription
timeout?numberDélai d’attente de la requête, en millisecondes

Renvoie

Promise<CheckFileTranslationsResult> — Contient des informations sur l’état des traductions.

type CheckFileTranslationsResult = {
  translations: CompletedFileTranslationData[];
}
PropriétéTypeDescription
translationsCompletedFileTranslationData[]Tableau de données sur l’état de la traduction

Structure CompletedFileTranslationData

type CompletedFileTranslationData = {
  id: string;
  fileId: string;
  versionId: string;
  fileName: string;
  locale: string;
  status: 'completed' | 'pending' | 'failed';
  completedAt: string | null;
  approvedAt: string | null;
  publishedAt: string | null;
  createdAt: string;
  updatedAt: string;
}

Exemples

Utilisation de base

Vérifiez l’état de traduction de files et de locales spécifiques :

index.ts
// (1) Créer une instance GT
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key',
});

// (2) Télécharger le fichier
const fileUpload = {
  content: fileContents,
  fileName: filePath,
  fileFormat: 'JSON',
  locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  { sourceLocale: 'en' }
);

// (3) Mettre en file d'attente le travail de traduction du fichier
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Attendre la fin de toutes les traductions
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
  return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
  const status = await gt.checkFileTranslations(statusQuery);
  if (status.translations.length === statusQuery.length) {
    translationIds = status.translations.map(translation => translation.id);
    break;
  }
  await new Promise(resolve => setTimeout(resolve, 1000));
}

Notes

  • Le statut de traduction inclut les états pending, completed et failed
  • Les traductions terminées peuvent encore nécessiter une approbation avant publication
  • Utilisez cette méthode pour vérifier le statut efficacement lors du suivi de plusieurs travaux de traduction

Prochaines étapes

Comment trouvez-vous ce guide ?