# General Translation Platform: standardizeLocale URL: https://generaltranslation.com/ru/docs/platform/core/reference/utility-functions/locales/standardize-locale.mdx --- title: standardizeLocale description: Приводит код локали к стандартному формату без экземпляра GT. Справочник API для standardizeLocale. --- [`standardizeLocale`](/docs/platform/core/reference/gt-class-methods/locales/standardize-locale) — это автономная служебная функция из Core library General Translation, которая приводит код локали BCP-47 к каноническому виду, исправляя регистр. ## Обзор [#overview] Импортируйте `standardizeLocale` напрямую из `generaltranslation` и вызовите её, передав код локали. Для этого не требуется API-ключ или экземпляр [GT](/docs/platform/core/reference/gt-class/constructor). Если нужен вариант на основе экземпляра, используйте метод [`standardizeLocale`](/docs/platform/core/reference/gt-class-methods/locales/standardize-locale) экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { standardizeLocale } from 'generaltranslation'; // Нормализация регистра console.log(standardizeLocale('EN-gb')); // 'en-GB' console.log(standardizeLocale('fr-ca')); // 'fr-CA' // Уже стандартизированные локали проходят без изменений console.log(standardizeLocale('es-ES')); // 'es-ES' ``` Сигнатура: ```typescript standardizeLocale(locale: string): string ``` ## Как это работает [#how-it-works] * **Каноникализация.** Передаёт входное значение в `Intl.getCanonicalLocales` и возвращает первый результат в канонической форме, нормализуя регистр (язык — строчными буквами, регион — прописными, письменность — с заглавной буквы). * **Резервный вариант.** Если входное значение не удаётся каноникализировать, исходная строка возвращается без изменений. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | ------------------- | ------------------------------------------------------- | -------- | -------------- | ------------ | | [`locale`](#locale) | Код локали BCP-47, который требуется стандартизировать. | `string` | Нет | — | ### `locale` [#locale] **Тип** `string` · **Обязательно** Код локали BCP-47 для стандартизации. ## Возвращает [#returns] **Тип** `string` Стандартизованный код локали BCP-47 либо исходная строка без изменений, если её невозможно стандартизовать. ## Примеры [#examples] ```typescript import { standardizeLocale } from 'generaltranslation'; // Нормализует регистр в дефисных тегах console.log(standardizeLocale('EN-gb')); // 'en-GB' console.log(standardizeLocale('fr-ca')); // 'fr-CA' console.log(standardizeLocale('en-us')); // 'en-US' // Уже стандартизированные локали проходят без изменений console.log(standardizeLocale('es-ES')); // 'es-ES' // Входные данные, не поддающиеся канонизации, возвращаются без изменений console.log(standardizeLocale('en_us')); // 'en_us' (underscore is not valid BCP-47) console.log(standardizeLocale('not a locale')); // 'not a locale' ``` ```typescript import { standardizeLocale, isValidLocale } from 'generaltranslation'; // Нормализация пользовательского ввода function processUserInput(input: string) { const standardized = standardizeLocale(input.trim()); const isValid = isValidLocale(standardized); return { original: input, standardized, isValid, }; } // Проверка различных входных данных const inputs = ['EN-gb', 'FR-ca', 'invalid', 'zh-CN']; inputs.forEach((input) => { console.log(processUserInput(input)); }); ``` ## Заметки [#notes] * Нормализует регистр (язык — в нижнем регистре, регион — в верхнем) с помощью `Intl.getCanonicalLocales`. * Возвращает входную строку без изменений, если её нельзя привести к канонической форме. * Необходима для нормализации входных данных локали из различных источников. * Не имеет внешних зависимостей, кроме API `Intl`.