# General Translation Platform: requiresTranslation
URL: https://generaltranslation.com/fr/docs/platform/core/reference/utility-functions/locales/requires-translation.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Vérifie si une traduction est nécessaire entre deux paramètres régionaux sans instance GT. Référence de l’API pour requiresTranslation.

[`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) est une fonction utilitaire autonome de la bibliothèque principale de General Translation qui détermine si une traduction est nécessaire entre un paramètre régional source et un paramètre régional cible.

## Vue d’ensemble [#overview]

Importez `requiresTranslation` directement depuis `generaltranslation` et appelez-le avec les paramètres régionaux source et cible. Il ne nécessite ni clé API ni instance [GT](/docs/platform/core/reference/gt-class/constructor). Pour l’équivalent basé sur une instance, utilisez plutôt la méthode [`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) d’une instance [`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 (même dialecte)
```

Signature :

```typescript
requiresTranslation(
  sourceLocale: string,
  targetLocale: string,
  approvedLocales?: string[],
  customMapping?: CustomMapping
): boolean
```

## Fonctionnement [#how-it-works]

La résolution de la traduction suit les règles suivantes :

* Si le paramètre régional source, cible ou l’un des paramètres régionaux approuvés est invalide, renvoie `false`.
* Si le paramètre régional source et le paramètre régional cible sont identiques, renvoie `false`.
* Si `approvedLocales` est fourni et ne contient pas la langue cible, renvoie `false`.
* Sinon, renvoie `true`.

Les paramètres régionaux sont comparés en tenant compte des variantes dialectales : seules celles qui correspondent au même dialecte n’entraînent pas de traduction. `en-US` → `en` (même dialecte) ne nécessite pas de traduction, mais `en-US` → `en-GB`, si, car leurs régions diffèrent. Tout [`customMapping`](/docs/platform/core/reference/types/custom-mapping) est appliqué lors de la comparaison.

## Paramètres [#parameters]

| Paramètre                              | Description                                                  | Type                                                                  | Facultatif | Par défaut |
| -------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------- | ---------- | ---------- |
| [`sourceLocale`](#source-locale)       | Le paramètre régional du contenu source.                     | `string`                                                              | Non        | —          |
| [`targetLocale`](#target-locale)       | Le paramètre régional dans lequel traduire le contenu.       | `string`                                                              | Non        | —          |
| [`approvedLocales`](#approved-locales) | Liste facultative des paramètres régionaux cibles approuvés. | `string[]`                                                            | Oui        | —          |
| [`customMapping`](#custom-mapping)     | Mappage personnalisé à appliquer lors de la comparaison.     | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Oui        | —          |

### `sourceLocale` [#source-locale]

**Type** `string` · **Obligatoire**

Le code de langue BCP-47 du contenu original.

### `targetLocale` [#target-locale]

**Type** `string` · **Obligatoire**

Le code de langue BCP-47 dans lequel traduire le contenu.

### `approvedLocales` [#approved-locales]

**Type** `string[]` · **Facultatif**

Liste facultative des paramètres régionaux cibles approuvés. La correspondance s’effectue sur la langue, et non sur le dialecte exact. Lorsqu’elle est fournie, un paramètre régional cible dont la langue n’est pas représentée dans cette liste renvoie `false`.

### `customMapping` [#custom-mapping]

**Type** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Facultatif**

Un mapping personnalisé appliqué lors de la comparaison des paramètres régionaux.

## Retourne [#returns]

**Type** `boolean`

`true` si une traduction est nécessaire, `false` sinon.

## Exemples [#examples]

```typescript
import { requiresTranslation } from 'generaltranslation';

// Les langues différentes nécessitent une traduction
console.log(requiresTranslation('en-US', 'es-ES')); // true
console.log(requiresTranslation('en-US', 'fr-FR')); // true

// Le même dialecte ne nécessite pas de traduction
console.log(requiresTranslation('en-US', 'en-US')); // false
console.log(requiresTranslation('en-US', 'en')); // false (même dialecte)

// Les dialectes différents d'une même langue nécessitent tout de même une traduction
console.log(requiresTranslation('en-US', 'en-GB')); // true (régions différentes)

// Avec un filtre de paramètres régionaux approuvés
const approved = ['en-US', 'es-ES', 'fr-FR'];
console.log(requiresTranslation('en-US', 'it-IT', approved)); // false (non approuvé)
console.log(requiresTranslation('en-US', 'es-ES', approved)); // true (approuvé et différent)
console.log(requiresTranslation('en-US', 'es-MX', approved)); // true (l'espagnol est approuvé)
```

## Notes [#notes]

* Respecte les contraintes liées aux paramètres régionaux approuvés.
* Établit la correspondance avec les paramètres régionaux approuvés par langue, et non par dialecte exact.
* Renvoie `false` lorsque la langue cible ne figure pas dans la liste approuvée.
* Tient compte des correspondances personnalisées de paramètres régionaux.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
