# generaltranslation: General Translation Core SDK: querySourceFile URL: https://generaltranslation.com/fr/docs/core/class/methods/translation/query-source-file.mdx --- title: querySourceFile description: Référence de l’API pour la méthode querySourceFile permettant d’obtenir des informations sur le fichier source et sa traduction --- ## Vue d’ensemble La méthode `querySourceFile` récupère des informations complètes sur un fichier source et sur toutes les traductions qui lui sont associées. Cela inclut les métadonnées du fichier, l’état des traductions pour tous les paramètres régionaux, ainsi que les horodatages de création, de finalisation, d’approbation et de publication. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const result = await gt.querySourceFile({ fileId: 'file-123', versionId: 'version-456' }); console.log(`Source file: ${result.sourceFile.fileName}`); console.log(`Available in ${result.translations.length} locales`); ``` ## Référence ### Paramètres | Nom | Type | Description | | ---------- | ------------------------------ | ------------------------------------------------------------ | | `data` | `FileQuery` | Objet de requête de fichier indiquant quel fichier récupérer | | `options?` | `CheckFileTranslationsOptions` | Configuration facultative de la requête | #### FileQuery | Nom | Type | 说明 | | ------------ | ---------------------- | ------------------------------------------------ | | `fileId` | `chaîne de caractères` | Identifiant unique du fichier à interroger | | `versionId?` | `chaîne de caractères` | ID facultatif de la version du fichier concernée | | `branchId?` | `chaîne de caractères` | ID facultatif de la branch concernée | #### CheckFileTranslationsOptions | Nom | Type | Description | | ---------- | -------- | -------------------------------------------------- | | `timeout?` | `number` | Délai d’expiration de la requête, en millisecondes | ### Renvoie `Promise` - Contient les informations sur le fichier source et l’état de traduction de tous les paramètres régionaux. ```typescript type FileQueryResult = { sourceFile: { id: string; fileId: string; versionId: string; branchId: string; sourceLocale: string; fileName: string; fileFormat: string; dataFormat: string | null; createdAt: string; updatedAt: string; approvalRequiredAt: string | null; locales: string[]; }; translations: { locale: string; completedAt: string | null; approvedAt: string | null; publishedAt: string | null; createdAt: string | null; updatedAt: string | null; }[]; } ``` #### Propriétés du fichier source | Propriété | Type | Description | | -------------------- | -------------------------------- | ------------------------------------------------------ | | `id` | `chaîne de caractères` | ID interne de la base de données | | `fileId` | `chaîne de caractères` | Identifiant unique du fichier | | `versionId` | `chaîne de caractères` | Identifiant de version | | `branchId` | `chaîne de caractères` | Identifiant de branch | | `sourceLocale` | `chaîne de caractères` | Paramètre régional source | | `fileName` | `chaîne de caractères` | Nom du fichier d’origine | | `fileFormat` | `chaîne de caractères` | Format du fichier (JSON, MD, MDX, etc.) | | `dataFormat` | `chaîne de caractères \| null` | Format des données dans le fichier (ICU, I18NEXT, JSX) | | `createdAt` | `chaîne de caractères` | Horodatage ISO de création du fichier | | `updatedAt` | `chaîne de caractères` | Horodatage ISO de la dernière mise à jour | | `approvalRequiredAt` | `chaîne de caractères \| null` | Horodatage ISO auquel l’approbation a été demandée | | `locales` | `chaîne de caractères[]` | Liste des paramètres régionaux cibles pour ce fichier | #### Propriétés de la traduction | Propriété | Type | Description | | ------------- | -------------------------------- | ---------------------------------------------------------- | | `locale` | `chaîne de caractères` | Code de langue cible | | `completedAt` | `chaîne de caractères \| null` | Horodatage ISO de fin de la traduction | | `approvedAt` | `chaîne de caractères \| null` | Horodatage ISO de l’approbation de la traduction | | `publishedAt` | `chaîne de caractères \| null` | Horodatage ISO de la publication de la traduction | | `createdAt` | `chaîne de caractères \| null` | Horodatage ISO de création de la tâche de traduction | | `updatedAt` | `chaîne de caractères \| null` | Horodatage ISO de la dernière mise à jour de la traduction | *** ## Exemple ```typescript title="index.ts" copy import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); async function getFileInfo(fileId: string, versionId?: string) { const result = await gt.querySourceFile({ fileId, versionId }); console.log('=== Source File Info ==='); console.log(`Name: ${result.sourceFile.fileName}`); console.log(`Format: ${result.sourceFile.fileFormat}`); console.log(`Source Locale: ${result.sourceFile.sourceLocale}`); console.log(`Branch: ${result.sourceFile.branchId}`); console.log(`Created: ${new Date(result.sourceFile.createdAt).toLocaleString()}`); console.log(`Updated: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`); console.log('\n=== Translation Status ==='); result.translations.forEach(translation => { console.log(`${translation.locale}:`); console.log(` Created: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Not started'}`); console.log(` Completed: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'In progress'}`); console.log(` Published: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'Not published'}`); }); return result; } const fileInfo = await getFileInfo('file-123', 'version-456'); ``` *** ## Remarques * Renvoie le fichier source et le statut de traduction pour tous les paramètres régionaux cibles * Les horodatages de traduction suivent les étapes du cycle de vie : `createdAt` -> `completedAt` -> `approvedAt` -> `publishedAt` * Des horodatages nuls indiquent que cette étape n’a pas encore été atteinte * Le tableau `locales` du fichier source répertorie tous les paramètres régionaux cibles configurés pour la traduction * La réponse inclut `branchId` pour garantir un versionnage correct avec la prise en charge des branches * Utilisez cette méthode pour les rapports détaillés, le suivi de l’avancement et les flux de gestion des fichiers ## Prochaines étapes * Voir [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour vérifier en batch le statut de traductions spécifiques * Voir [`downloadFile`](/docs/core/class/methods/translation/download-file) pour télécharger les traductions terminées * Voir [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) pour lancer des tâches de traduction pour des fichiers * Voir [`getProjectData`](/docs/core/class/methods/translation/get-project-data) pour obtenir des informations au niveau du projet