# generaltranslation: General Translation Core SDK: queryFileData URL: https://generaltranslation.com/fr/docs/core/class/methods/translation/query-file-data.mdx --- title: queryFileData description: Référence de l’API pour la méthode queryFileData permettant d’interroger les données des fichiers source et de traduction --- ## Vue d’ensemble La méthode `queryFileData` interroge les données d’un ou de plusieurs fichiers source ou de traduction. Cela permet de suivre l’avancement de la traduction, de vérifier l’état d’achèvement et de déterminer quelles traductions sont disponibles. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const result = await gt.queryFileData({ sourceFiles: [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789' } ], translatedFiles: [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789', locale: 'es' } ] }); ``` ## Référence ### Paramètres | Nom | Type | Description | | ---------- | ------------------------------ | ----------------------------------------------------------------- | | `data` | `FileDataQuery` | Objet contenant les requêtes des fichiers source et de traduction | | `options?` | `CheckFileTranslationsOptions` | Configuration facultative de la requête | #### FileDataQuery ```typescript type FileDataQuery = { sourceFiles?: { fileId: string; versionId: string; branchId: string; }[]; translatedFiles?: { fileId: string; versionId: string; branchId: string; locale: string; }[]; } ``` | Nom | Type | Description | | ------------------ | ---------- | --------------------------------------------- | | `sourceFiles?` | `object[]` | Tableau de requêtes sur les fichiers source | | `translatedFiles?` | `object[]` | Tableau de requêtes sur les fichiers traduits | #### CheckFileTranslationsOptions | Nom | Type | Description | | ---------- | -------- | ----------------------------------------------- | | `timeout?` | `number` | Délai d’attente de la requête, en millisecondes | ### Renvoie `Promise` - Contient les données des fichiers source et de traduction. ```typescript type FileDataResult = { sourceFiles?: { branchId: string; fileId: string; versionId: string; fileName: string; fileFormat: string; dataFormat: string | null; createdAt: string; updatedAt: string; approvalRequiredAt: string | null; publishedAt: string | null; locales: string[]; sourceLocale: string; }[]; translatedFiles?: { fileId: string; versionId: string; branchId: string; locale: string; fileFormat: string; dataFormat: string | null; completedAt: string | null; approvedAt: string | null; publishedAt: string | null; createdAt: string; updatedAt: string; }[]; } ``` | Propriété | Type | Description | | ----------------- | ---------- | --------------------------------------------- | | `sourceFiles` | `object[]` | Tableau de données des fichiers source | | `translatedFiles` | `object[]` | Tableau de données sur l’état des traductions | *** ## Exemples ### Utilisation de base Interrogez les données pour des fichiers source et de traduction spécifiques : ```typescript title="index.ts" copy // (1) Créer une instance GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Envoyer 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 const { fileId, versionId, branchId } = uploadedFiles[0]; const translatedFileQueries = targetLocales.map((locale) => ({ fileId, versionId, branchId, locale })); while (true) { const result = await gt.queryFileData({ translatedFiles: translatedFileQueries }); const allCompleted = result.translatedFiles?.every( (file) => file.completedAt !== null ); if (allCompleted) { break; } await new Promise(resolve => setTimeout(resolve, 1000)); } // (5) Télécharger les fichiers const downloadResult = await gt.downloadFileBatch( translatedFileQueries.map(({ fileId, branchId, locale }) => ({ fileId, branchId, locale })) ); ``` *** ## Remarques * Une traduction est terminée lorsque `completedAt` n’est pas `null` * Les traductions terminées peuvent encore nécessiter une approbation (`approvedAt`) avant d’être publiées (`publishedAt`) * Utilisez cette méthode pour vérifier efficacement le statut lors du suivi de plusieurs tâches de traduction * Toutes les requêtes de fichier nécessitent `branchId` pour assurer un versionnage correct ## Prochaines étapes * Consultez le [Quickstart](/docs/core/quickstart#translate-your-first-file) pour voir un exemple complet d’utilisation de cette méthode * Consultez [`downloadFile`](/docs/core/class/methods/translation/download-file) pour télécharger les traductions terminées * Consultez [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) pour créer des tâches de traduction * Consultez [`querySourceFile`](/docs/core/class/methods/translation/query-source-file) pour obtenir des informations sur le fichier source et les traductions