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 fichiers

Présentation

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

const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-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 optionnelle de la requête

FileTranslationQuery

NomTypeDescription
versionIdstringID de version du fichier à vérifier
fileName?stringNom de fichier (requis si fileId n’est pas fourni)
fileId?stringID de fichier (requis si fileName n’est pas fourni)
localestringLocale cible pour laquelle vérifier l’état de 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 des données d’état des traductions

Structure de 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 pour des fichiers et des 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éverser 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 la tâche de traduction du fichier
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Attendre que toutes les traductions soient terminées
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

  • L’état de traduction inclut les statuts pending, completed et failed
  • Les traductions finalisées peuvent encore nécessiter une approbation avant leur publication
  • Utilisez cette méthode pour vérifier le statut de manière efficace lors du suivi de plusieurs travaux de traduction

Prochaines étapes

Que pensez-vous de ce guide ?

checkFileTranslations