# General Translation Platform: requiresTranslation URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/locales/requires-translation.mdx --- title: requiresTranslation description: Vérifie si une traduction est nécessaire entre deux paramètres régionaux. Référence d’API pour requiresTranslation. --- Détermine si une traduction est nécessaire entre un paramètre régional source et un paramètre régional cible sur une instance de [GT](/docs/platform/core/reference/gt-class/constructor). General Translation compare les codes de langue et tient compte de la liste des paramètres régionaux approuvés pour déterminer si le contenu doit être traduit. ## Vue d’ensemble [#overview] Appelez `requiresTranslation` sur une instance de [`GT`](/docs/platform/core/reference/gt-class/constructor) avec des paramètres régionaux source et cible facultatifs. Lorsqu’ils sont omis, la méthode utilise les valeurs `sourceLocale` et `targetLocale` de l’instance. ```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 (même dialecte) ``` Signature : ```typescript requiresTranslation( sourceLocale?: string, targetLocale?: string, approvedLocales?: string[], customMapping?: CustomMapping ): boolean ``` *Remarque : `requiresTranslation` s’exécute localement et ne nécessite pas de clé API. Lorsque les arguments sont omis, il utilise les `sourceLocale`, `targetLocale`, `locales` et `customMapping` de l’instance. Pour des vérifications sans instance `GT`, consultez la version autonome de [`requiresTranslation`](/docs/platform/core/reference/utility-functions/locales/requires-translation).* ## Fonctionnement [#how-it-works] La méthode est évaluée dans cet ordre : 1. **Validité.** Si la source, la cible ou un paramètre régional approuvé n'est pas un paramètre régional valide, renvoie `false`. 2. **Même dialecte.** Si la source et la cible relèvent du même dialecte (par exemple, `en` et `en-US`), renvoie `false` — aucune traduction n'est nécessaire. 3. **Aucune liste approuvée.** Si aucun `approvedLocales` ne s'applique, renvoie `true` lorsque la source et la cible diffèrent. 4. **Locales approuvées.** Sinon, renvoie `true` uniquement si la langue de la cible correspond à celle d'au moins un paramètre régional approuvé ; différents dialectes d'une même langue sont considérés comme nécessitant une traduction (afin qu'un dialecte plus proche puisse servir de contenu de secours). Si la langue de la cible n'est pas représentée dans les locales approuvées, renvoie `false`. Lorsque `sourceLocale` ou `targetLocale` est omis, les valeurs de l'instance sont utilisées. Lève une `Error` si aucun paramètre régional source n'est fourni et que l'instance n'a pas de `sourceLocale`, ou si aucun paramètre régional cible n'est fourni et que l'instance n'a pas de `targetLocale`. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | -------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------- | ---------- | -------------------- | | [`sourceLocale`](#source-locale) | Le code de langue source. | `string` | Oui | `this.sourceLocale` | | [`targetLocale`](#target-locale) | Le code de langue cible. | `string` | Oui | `this.targetLocale` | | [`approvedLocales`](#approved-locales) | Tableau des paramètres régionaux cibles approuvés. | `string[]` | Oui | `this.locales` | | [`customMapping`](#custom-mapping) | Mappage personnalisé pour la résolution de paramètres régionaux. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Oui | `this.customMapping` | ### `sourceLocale` [#source-locale] **Type** `string` · **Facultatif** · **Par défaut** `this.sourceLocale` Le code de langue source. S’il n’est pas fourni, la valeur `sourceLocale` de l’instance est utilisée. ### `targetLocale` [#target-locale] **Type** `string` · **Facultatif** · **Par défaut** `this.targetLocale` Le code de langue cible. S'il n'est pas fourni, la valeur `targetLocale` de l'instance est utilisée. ### `approvedLocales` [#approved-locales] **Type** `string[]` · **Facultatif** · **Par défaut** `this.locales` Tableau des paramètres régionaux cibles approuvés. S'il n'est pas défini, le tableau `locales` de l'instance est utilisé. Si le paramètre régional cible ne figure pas dans cette liste, la méthode renvoie `false`. ### `customMapping` [#custom-mapping] **Type** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facultatif** · **Par défaut** `this.customMapping` Mappage personnalisé pour la résolution des paramètres régionaux. ## Valeur de retour [#returns] **Type** `boolean` `true` si une traduction est nécessaire, `false` sinon. Lève une `Error` si aucun paramètre régional source ou paramètre régional cible ne peut être déterminé. ## Exemples [#examples] ```typescript const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'], }); // Des langues différentes nécessitent une traduction console.log(gt.requiresTranslation('en-US', 'es-ES')); // true console.log(gt.requiresTranslation('en-US', 'fr-FR')); // true // Le même dialecte exact ne nécessite pas de traduction 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 (même dialecte) // Des dialectes différents de la même langue nécessitent bien une traduction // (un dialecte plus proche peut servir de contenu de secours) console.log(gt.requiresTranslation('en-US', 'en-GB')); // true console.log(gt.requiresTranslation('es-ES', 'es-MX')); // true // La langue cible n'est pas représentée dans les locales approuvées console.log(gt.requiresTranslation('en-US', 'it-IT')); // false (it-IT absent des locales approuvées) ``` ## Notes [#notes] * Renvoie `false` uniquement pour un dialecte strictement identique, des locales non valides ou une cible dont la langue n'est pas représentée dans les locales approuvées. * Des dialectes différents d'une même langue (par exemple `en-US` et `en-GB`) nécessitent une traduction ; un dialecte plus proche peut donc servir de contenu de secours. * Respecte la liste des locales approuvées : la correspondance se fait par langue, et non par dialecte exact.