# generaltranslation: General Translation Core SDK: translate
URL: https://generaltranslation.com/it/docs/core/class/methods/translation/translate.mdx
---
title: translate
description: Riferimento API per il metodo `translate` di GT
---
## Panoramica
Il metodo `translate` è la funzione di traduzione principale della libreria GT.
Traduce i contenuti dall'impostazione regionale di origine a una specifica impostazione regionale di destinazione utilizzando servizi di traduzione basati sull'IA.
```typescript
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id'
});
const result = await gt.translate('Hello, world!', 'es');
console.log(result); // "¡Hola, mundo!"
```
Il metodo supporta diversi tipi di contenuto, tra cui testo normale, formato messaggio ICU e messaggi in stile i18next, con metadati facoltativi per migliorare la precisione della traduzione.
**Autenticazione richiesta:**
Il metodo `translate` richiede che nell'istanza GT siano configurati sia `apiKey` (o `devApiKey`) sia `projectId`.
***
## Guida di riferimento
### Parametri
### TranslateManyEntry
Il parametro `source` accetta una semplice stringa o un oggetto:
```typescript
type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata };
```
### TranslateOptions
Il parametro `options` può essere una stringa che indica l'impostazione regionale (abbreviazione di `targetLocale`) oppure un oggetto:
```typescript
type TranslateOptions = {
targetLocale: string;
sourceLocale?: string;
modelProvider?: string;
};
```
### Descrizione dei parametri
| Parametro | Descrizione |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `source` | Il contenuto da tradurre. Una stringa semplice oppure un oggetto con `source` (Content) e `metadata` facoltativo (EntryMetadata). |
| `options` | Una stringa con l'impostazione regionale di destinazione (ad esempio `'es'`) oppure un oggetto di opzioni con `targetLocale`, `sourceLocale` facoltativo e `modelProvider`. |
| `timeout` | Timeout facoltativo della richiesta, in millisecondi. |
### Restituisce
```typescript
Promise
```
* **TranslationResult**: Contiene il contenuto tradotto e i metadati
* **TranslationError**: Contiene le informazioni sull'errore se la traduzione non va a buon fine
***
## Comportamento
### Rilevamento del tipo di contenuto
Il metodo rileva automaticamente il tipo di contenuto in base al parametro `source`:
* **String**: Trattata come testo normale o messaggio in formato messaggio ICU
* **Elementi JSX**: Gestiti come contenuto JSX in stile React
* **Oggetti**: Trattati come messaggi strutturati
### Risoluzione dell'impostazione regionale
* L'impostazione regionale di destinazione viene convalidata secondo lo standard BCP-47
* Le mappature personalizzate delle impostazioni regionali vengono applicate, se configurate
* Per le richieste API vengono usati codici locale standard
### Forma abbreviata delle opzioni
Puoi passare una stringa come parametro `options` come forma abbreviata di `{ targetLocale: string }`:
```typescript
// Questi sono equivalenti:
await gt.translate('Hello', 'es');
await gt.translate('Hello', { targetLocale: 'es' });
```
***
## Esempi
### Traduzione semplice di stringhe
```typescript
const result = await gt.translate('Welcome to our application', 'fr');
```
### Con un oggetto di opzioni
```typescript
const result = await gt.translate('Welcome to our application', {
targetLocale: 'fr',
sourceLocale: 'en',
});
```
### Con i metadati di origine
```typescript
const result = await gt.translate(
{ source: '{count, plural, other {{count} items}}', metadata: { dataFormat: 'ICU', context: 'Item count display' } },
{ targetLocale: 'es' }
);
```
### Con timeout
```typescript
const result = await gt.translate('Hello, world!', 'es', 5000);
```
***
## Note
* Traduce una determinata stringa nell'impostazione regionale di destinazione e restituisce una Promise
* Usa `translateMany` internamente con una singola voce
## Passaggi successivi
* **[Traduci più elementi con translateMany](/docs/core/class/methods/translation/translate-many)**
* **[Scopri le opzioni di EntryMetadata](/docs/core/types/entry-metadata)**
* **[Esplora il tipo TranslationResult](/docs/core/types/translation-result)**