# General Translation Platform: determineLocale
URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/locales/determine-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Trova l'impostazione regionale più adatta senza un'istanza GT. Riferimento API per determineLocale.

[`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) è una funzione di utilità indipendente della libreria Core di General Translation che trova l&#39;impostazione regionale più adatta da un elenco di impostazioni regionali approvate, in base alle preferenze dell&#39;utente. Consente la negoziazione dei contenuti senza richiedere un&#39;istanza GT.

## Panoramica [#overview]

Importa `determineLocale` direttamente da `generaltranslation` e chiamalo passando l&#39;impostazione regionale preferita dell&#39;utente o quelle preferite, insieme all&#39;elenco delle impostazioni regionali approvate. 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, che usa per default in `approvedLocales` le impostazioni regionali configurate per l&#39;istanza, utilizza invece il metodo [`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) di un&#39;istanza [`GT`](/docs/platform/core/reference/gt-class/constructor).

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

const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE'];

const best = determineLocale(['fr-CA', 'es-MX'], approvedLocales);
// Restituisce: "fr-FR"
```

Firma:

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

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

* **Ordine di preferenza.** `locales` è una singola impostazione regionale o un array ordinato per preferenza. Ogni preferenza viene verificata in sequenza rispetto all&#39;elenco delle impostazioni regionali approvate.
* **Corrispondenza.** Verifica l&#39;impostazione regionale esatta, poi i codici derivati lingua-regione, lingua-script e quelli minimizzati. Se nessuno corrisponde, verifica la regione e lo script probabili della lingua. Ad esempio, `fr-CA` può corrispondere a `fr-FR`, mentre `en-AU` non corrisponde a un elenco approvato che contiene solo `en-GB`.
* **Nessuna corrispondenza.** Restituisce `undefined` quando nessuna preferenza corrisponde alle impostazioni regionali approvate.
* **Mappatura personalizzata.** Qualsiasi [`customMapping`](/docs/platform/core/reference/types/custom-mapping) viene applicata durante la convalida e la standardizzazione delle impostazioni regionali.

## Parametri [#parameters]

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

### `locales` [#locales]

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

Una singola impostazione regionale o un array di impostazioni regionali, ordinati per preferenza (la più preferita per prima).

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

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

L&#39;elenco delle impostazioni regionali idonee alla corrispondenza. L&#39;ordine dell&#39;array non determina quale impostazione regionale della stessa lingua prevalga: la corrispondenza si basa sulla regione e sullo script derivati per ciascuna preferenza dell&#39;utente.

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

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

Una mappatura personalizzata applicata durante la convalida e la standardizzazione delle impostazioni regionali prima dell&#39;abbinamento.

## Restituisce [#returns]

**Tipo** `string | undefined`

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

## Esempi [#examples]

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

const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE'];

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

// Fallback linguistico (en-GB → en-US)
console.log(determineLocale('en-GB', approvedLocales)); // 'en-US'

// Preferenze multiple (fr-CA corrisponde a fr-FR prima di considerare es-MX)
console.log(determineLocale(['fr-CA', 'es-MX'], approvedLocales)); // 'fr-FR'

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

## Note [#notes]

* Corrisponde a codici locale esatti e derivati, inclusi i fallback per regione probabile e script probabile.
* Rispetta l&#39;ordine di preferenza dell&#39;array di input.
* Non utilizza l&#39;ordine dell&#39;array delle impostazioni regionali approvate come criterio di spareggio.
* Restituisce `undefined` quando non trova alcuna corrispondenza.
* È essenziale per la negoziazione dell&#39;impostazione regionale nelle applicazioni web.

## Sitemap

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