# General Translation Platform: determineLocale URL: https://generaltranslation.com/fr/docs/platform/core/reference/utility-functions/locales/determine-locale.mdx --- title: determineLocale 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.** Les correspondances exactes sont privilégiées, puis le système se rabat sur un autre dialecte de la même langue de base. Par exemple, une préférence `fr-CA` correspond au paramètre régional approuvé `fr-FR` avant de passer à la préférence suivante. * **Aucune correspondance.** Retourne `undefined` lorsqu'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 approuvés, également triés par ordre de préférence. | `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 approuvés avec lesquels effectuer la correspondance, également triée par ordre de préférence. ### `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] * Implémente une négociation intelligente des paramètres régionaux : d’abord les correspondances exactes, puis les dialectes d’une même langue. * Respecte l’ordre de préférence du tableau d’entrée. * Renvoie `undefined` si aucune correspondance n’est trouvée. * Indispensable pour la négociation des paramètres régionaux dans les applications web.