# General Translation Platform: requiresTranslation URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/locales/requires-translation.mdx --- title: requiresTranslation description: Verifica se la traduzione è necessaria tra due impostazioni regionali. Riferimento API per requiresTranslation. --- Stabilisce se è necessaria la traduzione tra un'impostazione regionale sorgente e una di destinazione in un'istanza di [GT](/docs/platform/core/reference/gt-class/constructor). General Translation confronta i codici locale e considera l'elenco delle impostazioni regionali approvate per decidere se il contenuto deve essere tradotto. ## Panoramica [#overview] Chiama `requiresTranslation` su un'istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) con le impostazioni regionali sorgente e di destinazione facoltative. Se non specificate, vengono usate `sourceLocale` e `targetLocale` dell'istanza. ```typescript const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'], }); console.log(gt.requiresTranslation('en-US', 'es-ES')); // true console.log(gt.requiresTranslation('en', 'en-US')); // false (stesso dialetto) ``` Firma: ```typescript requiresTranslation( sourceLocale?: string, targetLocale?: string, approvedLocales?: string[], customMapping?: CustomMapping ): boolean ``` *Nota: `requiresTranslation` viene eseguito localmente e non richiede una chiave API. Quando gli argomenti vengono omessi, usa `sourceLocale`, `targetLocale`, `locales` e `customMapping` dell'istanza. Per i controlli senza un'istanza `GT`, consulta la versione autonoma di [`requiresTranslation`](/docs/platform/core/reference/utility-functions/locales/requires-translation).* ## Come funziona [#how-it-works] Il metodo viene valutato in questo ordine: 1. **Validità.** Se `source`, `target` o una qualsiasi impostazione regionale approvata non è un'impostazione regionale valida, restituisce `false`. 2. **Stesso dialetto.** Se sorgente e destinazione corrispondono allo stesso dialetto (ad esempio, `en` e `en-US`), restituisce `false` — non è necessaria alcuna traduzione. 3. **Nessun elenco approvato.** Se non si applica alcun `approvedLocales`, restituisce `true` quando sorgente e destinazione sono diverse. 4. **Ambito approvato.** Altrimenti, restituisce `true` solo se la lingua della destinazione corrisponde a quella di almeno un'impostazione regionale approvata; dialetti diversi della stessa lingua sono considerati come casi che richiedono traduzione, quindi un dialetto più vicino può fungere da fallback. Se la lingua della destinazione non è rappresentata nelle impostazioni regionali approvate, restituisce `false`. Quando `sourceLocale` o `targetLocale` vengono omessi, vengono usati i valori dell'istanza. Genera un `Error` se non viene fornita alcuna impostazione regionale sorgente e l'istanza non ha `sourceLocale`, oppure se non viene fornita alcuna impostazione regionale di destinazione e l'istanza non ha `targetLocale`. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | -------------------------------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------- | -------------------- | | [`sourceLocale`](#source-locale) | Il codice locale sorgente. | `string` | Sì | `this.sourceLocale` | | [`targetLocale`](#target-locale) | Il codice locale di destinazione. | `string` | Sì | `this.targetLocale` | | [`approvedLocales`](#approved-locales) | Array delle impostazioni regionali di destinazione approvate. | `string[]` | Sì | `this.locales` | | [`customMapping`](#custom-mapping) | Mappatura personalizzata per la risoluzione delle impostazioni regionali. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sì | `this.customMapping` | ### `sourceLocale` [#source-locale] **Tipo** `string` · **Facoltativo** · **Predefinito** `this.sourceLocale` Il codice locale sorgente. Se non viene fornito, usa `sourceLocale` dell’istanza. ### `targetLocale` [#target-locale] **Tipo** `string` · **Facoltativo** · **Predefinito** `this.targetLocale` Il codice locale di destinazione. Se non viene specificato, viene usato il `targetLocale` dell'istanza. ### `approvedLocales` [#approved-locales] **Tipo** `string[]` · **Facoltativo** · **Predefinito** `this.locales` Array delle impostazioni regionali di destinazione approvate. Se non viene fornito, viene usato l'array `locales` dell'istanza. Se l'impostazione regionale di destinazione non è presente in questo elenco, il metodo restituisce `false`. ### `customMapping` [#custom-mapping] **Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facoltativo** · **Predefinito** `this.customMapping` Mappatura personalizzata per risolvere l'impostazione regionale. ## Restituisce [#returns] **Tipo** `boolean` `true` se la traduzione è necessaria, `false` altrimenti. Genera un `Error` se non è possibile determinare l'impostazione regionale sorgente o quella di destinazione. ## Esempi [#examples] ```typescript const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'], }); // Lingue diverse richiedono la traduzione console.log(gt.requiresTranslation('en-US', 'es-ES')); // true console.log(gt.requiresTranslation('en-US', 'fr-FR')); // true // Lo stesso dialetto identico non richiede la traduzione console.log(gt.requiresTranslation('en-US', 'en-US')); // false console.log(gt.requiresTranslation('es-ES', 'es-ES')); // false console.log(gt.requiresTranslation('en', 'en-US')); // false (stesso dialetto) // Dialetti diversi della stessa lingua richiedono la traduzione // (un dialetto più vicino può fungere da fallback) console.log(gt.requiresTranslation('en-US', 'en-GB')); // true console.log(gt.requiresTranslation('es-ES', 'es-MX')); // true // Lingua di destinazione non presente nelle impostazioni regionali approvate console.log(gt.requiresTranslation('en-US', 'it-IT')); // false (it-IT non è nelle impostazioni regionali approvate) ``` ## Note [#notes] * Restituisce `false` solo per lo stesso identico dialetto, per le locales non valide o per una destinazione la cui lingua non è presente tra le impostazioni regionali approvate. * Dialetti diversi della stessa lingua (ad esempio, `en-US` e `en-GB`) richiedono la traduzione, quindi un dialetto più vicino può fungere da fallback. * Rispetta l'elenco delle impostazioni regionali approvate: la corrispondenza avviene in base alla lingua, non al dialetto esatto.