# General Translation Platform: requiresTranslation
URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/locales/requires-translation.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Verifica se è necessaria una traduzione tra due impostazioni regionali senza un'istanza di GT. Riferimento API di requiresTranslation.

[`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) è una funzione di utilità autonoma della libreria Core di General Translation che determina se è necessaria una traduzione tra un&#39;impostazione regionale sorgente e una di destinazione.

## Panoramica [#overview]

Importa `requiresTranslation` direttamente da `generaltranslation` e chiamalo passandogli l&#39;impostazione regionale sorgente e quella di destinazione. Non richiede una chiave API né un&#39;istanza di [GT](/docs/platform/core/reference/gt-class/constructor). Per l&#39;equivalente basato su istanza, usa invece il metodo [`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) di un&#39;istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor).

```typescript
import { requiresTranslation } from 'generaltranslation';

console.log(requiresTranslation('en-US', 'es-ES')); // true
console.log(requiresTranslation('en-US', 'en')); // false (stesso dialetto)
```

Sintassi:

```typescript
requiresTranslation(
  sourceLocale: string,
  targetLocale: string,
  approvedLocales?: string[],
  customMapping?: CustomMapping
): boolean
```

## Come funziona [#how-it-works]

La risoluzione della traduzione segue queste regole:

* Se l&#39;impostazione regionale sorgente, di destinazione o una qualsiasi di quelle approvate non è valida, restituisce `false`.
* Se le impostazioni regionali sorgente e di destinazione coincidono, restituisce `false`.
* Se viene fornito `approvedLocales` e non contiene la lingua di destinazione, restituisce `false`.
* In caso contrario, restituisce `true`.

Le impostazioni regionali vengono confrontate tenendo conto del dialetto: solo quelle che si risolvono nello stesso dialetto saltano la traduzione. `en-US` → `en` (stesso dialetto) non richiede traduzione, mentre `en-US` → `en-GB` sì, perché le rispettive regioni sono diverse. Qualsiasi [`customMapping`](/docs/platform/core/reference/types/custom-mapping) viene applicato durante il confronto.

## Parametri [#parameters]

| Parametro                              | Descrizione                                                                | Tipo                                                                  | Facoltativo | Predefinito |
| -------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------- | ----------- |
| [`sourceLocale`](#source-locale)       | L&#39;impostazione regionale del contenuto sorgente.                       | `string`                                                              | No          | —           |
| [`targetLocale`](#target-locale)       | L&#39;impostazione regionale in cui tradurre il contenuto.                 | `string`                                                              | No          | —           |
| [`approvedLocales`](#approved-locales) | Elenco facoltativo delle impostazioni regionali di destinazione approvate. | `string[]`                                                            | Sì          | —           |
| [`customMapping`](#custom-mapping)     | Mapping personalizzato da applicare durante il confronto.                  | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sì          | —           |

### `sourceLocale` [#source-locale]

**Tipo** `string` · **Obbligatorio**

Il codice locale BCP-47 del contenuto sorgente.

### `targetLocale` [#target-locale]

**Tipo** `string` · **Obbligatorio**

Il codice locale BCP-47 in cui tradurre il contenuto.

### `approvedLocales` [#approved-locales]

**Tipo** `string[]` · **Facoltativo**

Un elenco facoltativo delle impostazioni regionali di destinazione approvate. La corrispondenza si basa sulla lingua, non sul dialetto esatto. Se specificato, per un&#39;impostazione regionale di destinazione la cui lingua non è rappresentata nell&#39;elenco viene restituito `false`.

### `customMapping` [#custom-mapping]

**Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facoltativo**

Una mappatura personalizzata utilizzata durante il confronto delle impostazioni regionali.

## Restituisce [#returns]

**Tipo** `boolean`

`true` se la traduzione è richiesta, `false` altrimenti.

## Esempi [#examples]

```typescript
import { requiresTranslation } from 'generaltranslation';

// Lingue diverse richiedono la traduzione
console.log(requiresTranslation('en-US', 'es-ES')); // true
console.log(requiresTranslation('en-US', 'fr-FR')); // true

// Lo stesso dialetto non richiede la traduzione
console.log(requiresTranslation('en-US', 'en-US')); // false
console.log(requiresTranslation('en-US', 'en')); // false (stesso dialetto)

// Dialetti diversi della stessa lingua richiedono comunque la traduzione
console.log(requiresTranslation('en-US', 'en-GB')); // true (le regioni differiscono)

// Con un filtro di impostazioni regionali approvate
const approved = ['en-US', 'es-ES', 'fr-FR'];
console.log(requiresTranslation('en-US', 'it-IT', approved)); // false (non approvata)
console.log(requiresTranslation('en-US', 'es-ES', approved)); // true (approvata e diversa)
console.log(requiresTranslation('en-US', 'es-MX', approved)); // true (lo spagnolo è approvato)
```

## Note [#notes]

* Rispetta i vincoli relativi alle impostazioni regionali approvate.
* Trova le corrispondenze tra le impostazioni regionali approvate in base alla lingua, non al dialetto esatto.
* Restituisce `false` quando la lingua di destinazione non è rappresentata nell&#39;elenco approvato.
* Tiene conto delle mappature personalizzate delle impostazioni regionali.

## Sitemap

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