# General Translation Platform: querySourceFile URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/query-source-file.mdx --- title: querySourceFile description: Recupera i metadati del file sorgente e le relative informazioni sulle traduzioni. Riferimento API per querySourceFile. --- Recupera informazioni complete su un file sorgente e su tutte le sue traduzioni con General Translation. Sono inclusi i metadati del file, lo stato delle traduzioni per ogni impostazione regionale e i timestamp di creazione, completamento, approvazione e pubblicazione. ## Panoramica [#overview] Chiama `querySourceFile` con una query che identifichi il file. Restituisce i metadati del file sorgente insieme a una voce di traduzione per ogni impostazione regionale. ```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`); ``` Firma: ```typescript querySourceFile( data: FileQuery, options?: CheckFileTranslationsOptions ): Promise ``` *Nota: `querySourceFile` richiede un `apiKey` (o `devApiKey`) e `projectId` sull'istanza GT.* ## Come funziona [#how-it-works] * **Stato completo della traduzione.** Restituisce il file sorgente e lo stato della traduzione per ogni impostazione regionale di destinazione. * **Ciclo di vita dei timestamp.** I timestamp della traduzione seguono l'ordine `createdAt` → `completedAt` → `approvedAt` → `publishedAt`. Un timestamp `null` indica che quella fase non è ancora stata raggiunta. * **Impostazioni regionali configurate.** L'array `locales` del file sorgente elenca tutte le impostazioni regionali di destinazione configurate per la traduzione. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | --------------------------------------------------- | ------------------------------ | ----------- | ----------- | | [`data`](#data) | Query del file che specifica quale file recuperare. | `FileQuery` | No | — | | [`options`](#options) | Configurazione della richiesta. | `CheckFileTranslationsOptions` | Sì | — | ### `data` [#data] **Tipo** `FileQuery` · **Obbligatorio** Identifica il file da interrogare: | Campo | Descrizione | Tipo | Facoltativo | | ----------- | ----------------------------------------------- | -------- | ----------- | | `fileId` | Identificatore univoco del file da interrogare. | `string` | No | | `versionId` | ID della versione specifica del file. | `string` | Sì | | `branchId` | Branch ID del branch specifico. | `string` | Sì | ### `options` [#options] **Tipo** `CheckFileTranslationsOptions` · **Facoltativo** | Campo | Descrizione | Tipo | Facoltativo | | --------- | ---------------------------------------------- | -------- | ----------- | | `timeout` | Tempo massimo della richiesta in millisecondi. | `number` | Sì | ## Restituisce [#returns] **Tipo** `Promise` Si risolve con un `FileQueryResult` contenente le informazioni del file sorgente e lo stato della traduzione per tutte le impostazioni regionali: ```typescript type FileQueryResult = { sourceFile: { id: string; fileId: string; versionId: string; sourceLocale: string; fileName: string; fileFormat: string; dataFormat: string | null; createdAt: string; updatedAt: string; locales: string[]; }; translations: { locale: string; completedAt: string | null; approvedAt: string | null; publishedAt: string | null; createdAt: string | null; updatedAt: string | null; }[]; }; ``` Proprietà del file sorgente: | Proprietà | Descrizione | Tipo | | -------------- | -------------------------------------------------------------------- | ---------------- | | `id` | ID interno del database. | `string` | | `fileId` | Identificatore univoco del file. | `string` | | `versionId` | Identificatore della versione. | `string` | | `sourceLocale` | Impostazione regionale della lingua sorgente. | `string` | | `fileName` | Nome originale del file. | `string` | | `fileFormat` | Formato del file (JSON, MD, MDX e altri). | `string` | | `dataFormat` | Formato dei dati all'interno del file (ICU, I18NEXT, JSX). | `string \| null` | | `createdAt` | Timestamp ISO della creazione del file. | `string` | | `updatedAt` | Timestamp ISO dell'ultimo aggiornamento. | `string` | | `locales` | Elenco delle impostazioni regionali di destinazione per questo file. | `string[]` | Proprietà della traduzione: | Proprietà | Descrizione | Tipo | | ------------- | ------------------------------------------------------------- | ---------------- | | `locale` | Codice locale di destinazione. | `string` | | `completedAt` | Timestamp ISO del completamento della traduzione. | `string \| null` | | `approvedAt` | Timestamp ISO dell'approvazione della traduzione. | `string \| null` | | `publishedAt` | Timestamp ISO della pubblicazione della traduzione. | `string \| null` | | `createdAt` | Timestamp ISO della creazione del job di traduzione. | `string \| null` | | `updatedAt` | Timestamp ISO dell'ultimo aggiornamento della traduzione. | `string \| null` | ## Esempi [#examples] ```typescript title="index.ts" 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(`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'); ``` ## Note [#notes] * Restituisce il file sorgente e lo stato della traduzione per tutte le impostazioni regionali di destinazione. * I timestamp della traduzione seguono il ciclo di vita `createdAt` → `completedAt` → `approvedAt` → `publishedAt`; i timestamp `null` indicano una fase non ancora raggiunta. * L'array `locales` del file sorgente mostra tutte le impostazioni regionali di destinazione configurate per la traduzione. * Usa questo metodo per report dettagliati, monitoraggio dell'avanzamento e workflow di gestione dei file.