# General Translation Platform: determineLocale
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/locales/determine-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Trova l'impostazione regionale più adatta tra un elenco di impostazioni regionali approvate. Riferimento API per determineLocale.

General Translation implementa la negoziazione dell&#39;impostazione regionale per individuare quella più adatta quando non è disponibile una corrispondenza esatta.

## Panoramica [#overview]

Chiama `determineLocale` su un&#39;istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) passando una o più impostazioni regionali preferite, in ordine di preferenza. Restituisce l&#39;impostazione regionale approvata più adatta oppure `undefined` se non trova alcuna corrispondenza.

```typescript
const gt = new GT({
  sourceLocale: 'en-US',
  locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'],
});

// Corrispondenza esatta
console.log(gt.determineLocale('en-US')); // 'en-US'

// Fallback linguistico
console.log(gt.determineLocale('en-GB')); // 'en-US' (fallback sulla regione più probabile)

// Preferenze multiple (vince l'ordine di preferenza)
console.log(gt.determineLocale(['fr-CA', 'es-MX', 'en-US'])); // 'fr-FR' (più vicina alla prima preferenza)

// Nessuna corrispondenza
console.log(gt.determineLocale('it-IT')); // undefined
```

Firma:

```typescript
determineLocale(
  locales: string | string[],
  approvedLocales?: string[],
  customMapping?: CustomMapping
): string | undefined
```

*Nota: `determineLocale` viene eseguita localmente e non richiede una chiave API. Quando `approvedLocales` e `customMapping` vengono omessi, utilizza `locales` e `customMapping` dell&#39;istanza. Per l&#39;abbinamento senza un&#39;istanza `GT`, consulta la versione standalone di [`determineLocale`](/docs/platform/core/reference/utility-functions/locales/determine-locale).*

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

* **Corrispondenza esatta innanzitutto.** Restituisce una corrispondenza esatta tra le impostazioni regionali approvate per la preferenza attuale dell&#39;utente.
* **Corrispondenza per impostazioni regionali derivate.** Verifica le forme lingua-regione, lingua-script e minimizzate prima di ricorrere alla regione e allo script probabili della lingua.
* **Ordine di preferenza.** Rispetta l&#39;ordine dell&#39;array di input, quindi una corrispondenza per lingua con priorità più alta viene scelta rispetto a una corrispondenza esatta con priorità più bassa.
* **Impostazioni regionali approvate.** Considera `approvedLocales` come l&#39;insieme dei risultati ammissibili. L&#39;ordine del suo array non determina la scelta tra candidati della stessa lingua.
* **Nessuna corrispondenza.** Restituisce `undefined` quando non trova alcuna corrispondenza adatta.

## Parametri [#parameters]

| Parametro                              | Descrizione                                                                                      | Tipo                                                                  | Facoltativo | Predefinito          |
| -------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- | ----------- | -------------------- |
| [`locales`](#locales)                  | Una singola impostazione regionale o un array di impostazioni regionali in ordine di preferenza. | `string \| string[]`                                                  | No          | —                    |
| [`approvedLocales`](#approved-locales) | Impostazioni regionali idonee alla corrispondenza.                                               | `string[]`                                                            | Sì          | `this.locales`       |
| [`customMapping`](#custom-mapping)     | Mappatura personalizzata delle impostazioni regionali per la risoluzione.                        | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sì          | `this.customMapping` |

### `locales` [#locales]

**Tipo** `string | string[]` · **Obbligatorio**

Una singola impostazione regionale o un array di impostazioni regionali in ordine di preferenza (ad esempio, un elenco `Accept-Language` del browser).

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

**Tipo** `string[]` · **Facoltativo** · **Predefinito** `this.locales`

Impostazioni regionali idonee per la corrispondenza. Se omesso, vengono utilizzate le `locales` dell&#39;istanza. L&#39;ordine dell&#39;array non determina quale impostazione regionale della stessa lingua prevalga.

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

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

Mappatura personalizzata dell&#39;impostazione regionale utilizzata durante la risoluzione. Se omessa, viene utilizzato il `customMapping` dell&#39;istanza.

## Valore restituito [#returns]

**Tipo** `string | undefined`

L&#39;impostazione regionale più adatta, oppure `undefined` se non viene trovata alcuna corrispondenza.

## Esempi [#examples]

```typescript
// Negoziazione dell'impostazione regionale dell'utente
const gt = new GT({
  sourceLocale: 'en-US',
  locales: ['en-US', 'en-GB', 'es-ES', 'fr-FR'],
});

// Simula un header Accept-Language del browser
const userPreferences = ['fr-CA', 'en-GB', 'en'];
const bestMatch = gt.determineLocale(userPreferences);
console.log(bestMatch); // 'fr-FR' in base all'ordine di preferenza
```

## Note [#notes]

* Verifica i codici locale esatti e derivati per ogni preferenza dell&#39;utente.
* Usa come fallback la regione probabile e lo script probabile, non una corrispondenza arbitraria tra dialetti della stessa lingua.
* Rispetta l&#39;ordine di preferenza nell&#39;array di input.
* Non usa l&#39;ordine dell&#39;array delle impostazioni regionali approvate come criterio di spareggio.
* Restituisce `undefined` se non trova alcuna corrispondenza adatta.
* È essenziale per implementare la negoziazione delle impostazioni regionali nelle applicazioni web.

## Sitemap

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