# General Translation Platform: querySourceFile
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/query-source-file.mdx
Docs index: https://generaltranslation.com/llms.txt
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<FileQueryResult>
```

*Nota: `querySourceFile` richiede un `apiKey` (o `devApiKey`) e `projectId` sull&#39;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&#39;ordine `createdAt` → `completedAt` → `approvedAt` → `publishedAt`. Un timestamp `null` indica che quella fase non è ancora stata raggiunta.
* **Impostazioni regionali configurate.** L&#39;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<FileQueryResult>`

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&#39;interno del file (ICU, I18NEXT, JSX).       | `string \| null` |
| `createdAt`    | Timestamp ISO della creazione del file.                              | `string`         |
| `updatedAt`    | Timestamp ISO dell&#39;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&#39;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&#39;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&#39;array `locales` del file sorgente mostra tutte le impostazioni regionali di destinazione configurate per la traduzione.
* Usa questo metodo per report dettagliati, monitoraggio dell&#39;avanzamento e workflow di gestione dei file.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
