# General Translation Platform: requiresTranslation URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/locales/requires-translation.mdx --- title: requiresTranslation 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'impostazione regionale sorgente e una di destinazione. ## Panoramica [#overview] Importa `requiresTranslation` direttamente da `generaltranslation` e chiamalo passandogli l'impostazione regionale sorgente e quella di destinazione. Non richiede una chiave API né un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). Per l'equivalente basato su istanza, usa invece il metodo [`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) di un'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 non viene specificata alcuna impostazione regionale di destinazione, restituisce `false` (non è necessaria alcuna traduzione). * Se le impostazioni regionali sorgente e di destinazione coincidono, restituisce `false`. * Se viene fornito `approvedLocales` e l'impostazione regionale di destinazione non è inclusa in quell'elenco, 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'impostazione regionale del contenuto sorgente. | `string` | No | — | | [`targetLocale`](#target-locale) | L'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. Se specificato, per un'impostazione regionale di destinazione non inclusa nell'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 locales 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) ``` ## Note [#notes] * Rispetta i vincoli relativi alle impostazioni regionali approvate. * Restituisce `false` quando la impostazione regionale di destinazione non è nell'elenco approvato. * Tiene conto delle mappature personalizzate delle impostazioni regionali.