# General Translation Platform: determineLocale URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/locales/determine-locale.mdx --- title: determineLocale 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'impostazione regionale più adatta da un elenco di impostazioni regionali approvate, in base alle preferenze dell'utente. Consente la negoziazione dei contenuti senza richiedere un'istanza GT. ## Panoramica [#overview] Importa `determineLocale` direttamente da `generaltranslation` e chiamalo passando l'impostazione regionale preferita dell'utente o quelle preferite, insieme all'elenco delle impostazioni regionali approvate. Non richiede una chiave API né un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). Per l'equivalente basato su istanza, che usa per default in `approvedLocales` le impostazioni regionali configurate per l'istanza, utilizza invece il metodo [`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) di un'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'elenco delle impostazioni regionali approvate. * **Corrispondenza.** Dà priorità alle corrispondenze esatte, poi passa a un altro dialetto della stessa lingua di base. Ad esempio, una preferenza `fr-CA` corrisponde all'impostazione regionale approvata `fr-FR` prima di passare alla preferenza successiva. * **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 approvate, anch'esse ordinate per preferenza. | `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'elenco delle impostazioni regionali approvate da confrontare, anch'esso ordinato per preferenza. ### `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'abbinamento. ## Restituisce [#returns] **Tipo** `string | undefined` L'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] * Implementa una negoziazione intelligente dell'impostazione regionale: prima le corrispondenze esatte, poi le varianti della stessa lingua. * Rispetta l'ordine di preferenza dell'array di input. * Restituisce `undefined` quando non trova alcuna corrispondenza. * È essenziale per la negoziazione dell'impostazione regionale nelle applicazioni web.