# General Translation Platform: determineLocale
URL: https://generaltranslation.com/fr/docs/platform/core/reference/utility-functions/locales/determine-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Trouver le paramètre régional le plus approprié sans instance GT. Référence d’API pour determineLocale.

[`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) est une fonction utilitaire autonome de la bibliothèque Core de General Translation qui détermine le paramètre régional le plus approprié à partir d’une liste de paramètres régionaux approuvés, selon les préférences de l’utilisateur. Elle permet la négociation de contenu sans nécessiter d’instance GT.

## Vue d’ensemble [#overview]

Importez `determineLocale` directement depuis `generaltranslation` et appelez-le avec le ou les paramètres régionaux préférés de l’utilisateur et la liste des paramètres régionaux approuvés. Il ne nécessite ni clé API ni instance de [GT](/docs/platform/core/reference/gt-class/constructor). Pour l’équivalent basé sur une instance, qui utilise par défaut les `locales` configurées de l’instance pour `approvedLocales`, utilisez plutôt la méthode [`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) sur une instance de [`GT`](/docs/platform/core/reference/gt-class/constructor).

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

const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE'];

const best = determineLocale(['fr-CA', 'es-MX'], approvedLocales);
// Retourne : "fr-FR"
```

Signature :

```typescript
determineLocale(
  locales: string | string[],
  approvedLocales?: string[],
  customMapping?: CustomMapping
): string | undefined
```

## Fonctionnement [#how-it-works]

* **Ordre de préférence.** `locales` correspond à un seul paramètre régional ou à un tableau trié par ordre de préférence. Chaque préférence est vérifiée à tour de rôle par rapport à la liste des paramètres régionaux approuvés.
* **Correspondance.** Le paramètre régional exact est vérifié en premier, puis les codes dérivés langue-région, langue-script et minimisés. Si aucun ne correspond, la région et le script probables de la langue sont vérifiés. Par exemple, `fr-CA` peut correspondre à `fr-FR`, tandis que `en-AU` ne correspond pas à une liste approuvée contenant uniquement `en-GB`.
* **Aucune correspondance.** Retourne `undefined` lorsqu&#39;aucune préférence ne peut être mise en correspondance avec les paramètres régionaux approuvés.
* **Mappage personnalisé.** Tout [`customMapping`](/docs/platform/core/reference/types/custom-mapping) est appliqué lors de la validation et de la normalisation des paramètres régionaux.

## Paramètres [#parameters]

| Paramètre                              | Description                                                                                      | Type                                                                  | facultatif | Valeur par défaut |
| -------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- | ---------- | ----------------- |
| [`locales`](#locales)                  | Un seul paramètre régional ou un tableau de paramètres régionaux, triés par ordre de préférence. | `string \| string[]`                                                  | Non        | —                 |
| [`approvedLocales`](#approved-locales) | Paramètres régionaux éligibles à la correspondance.                                              | `string[]`                                                            | Oui        | `[]`              |
| [`customMapping`](#custom-mapping)     | Mappage personnalisé des paramètres régionaux à appliquer lors de la correspondance.             | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Oui        | —                 |

### `locales` [#locales]

**Type** `string | string[]` · **Obligatoire**

Un seul paramètre régional ou un tableau de paramètres régionaux, classés par ordre de préférence (du plus au moins préféré).

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

**Type** `string[]` · **facultatif** · **Par défaut** `[]`

La liste des paramètres régionaux éligibles à la correspondance. L&#39;ordre du tableau ne détermine pas quel paramètre régional de même langue l&#39;emporte : la correspondance s&#39;appuie sur la region et le script dérivés de chaque préférence utilisateur.

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

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

Mappage personnalisé appliqué lors de la validation et de la normalisation des paramètres régionaux avant l’appariement.

## Renvoie [#returns]

**Type** `string | undefined`

Le paramètre régional correspondant le mieux parmi `approvedLocales`, ou `undefined` si aucune correspondance n’est trouvée.

## Exemples [#examples]

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

const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE'];

// Correspondance exacte
console.log(determineLocale('en-US', approvedLocales)); // 'en-US'

// Repli linguistique (en-GB → en-US)
console.log(determineLocale('en-GB', approvedLocales)); // 'en-US'

// Préférences multiples (fr-CA correspond à fr-FR avant que es-MX soit pris en compte)
console.log(determineLocale(['fr-CA', 'es-MX'], approvedLocales)); // 'fr-FR'

// Aucune correspondance
console.log(determineLocale('it-IT', approvedLocales)); // undefined
```

## Remarques [#notes]

* Établit une correspondance avec les codes de langue exacts et dérivés, y compris les contenus de secours de région probable et de script probable.
* Respecte l’ordre de préférence du tableau d’entrée.
* N’utilise pas l’ordre du tableau des paramètres régionaux approuvés comme critère de départage.
* Renvoie `undefined` si aucune correspondance n’est trouvée.
* Indispensable pour la négociation des paramètres régionaux dans les applications web.

## Sitemap

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