# General Translation Platform: determineLocale URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/locales/determine-locale.mdx --- title: determineLocale description: Trova l'impostazione regionale più adatta tra un elenco di impostazioni regionali approvate. Riferimento API per determineLocale. --- Determina l'impostazione regionale più adatta tra un elenco di impostazioni regionali approvate in base alle preferenze dell'utente, in un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation implementa la negoziazione dell'impostazione regionale per individuare quella più adatta quando non è disponibile una corrispondenza esatta. ## Panoramica [#overview] Chiama `determineLocale` su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) passando una o più impostazioni regionali preferite, in ordine di preferenza. Restituisce l'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' (variante inglese più vicina) // 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'istanza. Per l'abbinamento senza un'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 la prima corrispondenza esatta tra le impostazioni regionali approvate. * **Fallback sulla lingua.** Quando una regione specifica non è disponibile, usa come fallback le corrispondenze per lingua. * **Ordine di preferenza.** Rispetta l'ordine dell'array di input, quindi una corrispondenza per lingua con priorità più alta viene scelta rispetto a una corrispondenza esatta con priorità più bassa. * **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) | Array di impostazioni regionali approvate in ordine di preferenza. | `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` Array delle impostazioni regionali approvate, in ordine di preferenza. Se omesso, vengono utilizzate le `locales` dell'istanza. ### `customMapping` [#custom-mapping] **Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facoltativo** · **Predefinito** `this.customMapping` Mappatura personalizzata dell'impostazione regionale utilizzata durante la risoluzione. Se omessa, viene utilizzato il `customMapping` dell'istanza. ## Valore restituito [#returns] **Tipo** `string | undefined` L'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] * Restituisce la prima corrispondenza esatta tra le impostazioni regionali approvate. * Se la regione esatta non è disponibile, usa come fallback le corrispondenze per lingua. * Rispetta l'ordine di preferenza nell'array di input. * Restituisce `undefined` se non trova alcuna corrispondenza adatta. * È essenziale per implementare la negoziazione delle impostazioni regionali nelle applicazioni web.