# General Translation Platform: standardizeLocale URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/locales/standardize-locale.mdx --- title: standardizeLocale description: Нормализует код локали до стандартного формата. Справочник API для standardizeLocale. --- Приводит код локали BCP-47 к стандартному виду, обеспечивая правильное форматирование и регистр в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). General Translation преобразует коды локалей в их каноническую форму, делая их единообразными во всем приложении и подходящими для использования с API интернационализации. ## Обзор [#overview] Вызовите `standardizeLocale` для экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), при необходимости передав код локали. Если его не указать, будет использовано значение `targetLocale` этого экземпляра. ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es-ES' }); console.log(gt.standardizeLocale('en-us')); // "en-US" ``` Сигнатура: ```typescript standardizeLocale(locale?: string): string ``` *Примечание: `standardizeLocale` выполняется локально и не требует API Key. Если `locale` не указана, используется `targetLocale` экземпляра. О нормализации без экземпляра `GT` см. в описании автономной [`standardizeLocale`](/docs/platform/core/reference/utility-functions/locales/standardize-locale).* ## Как это работает [#how-it-works] * **Канонизация.** Использует `Intl.getCanonicalLocales`, который нормализует регистр: языковые подтеги становятся строчными, а подтеги региона — прописными. * **Подстановка локали.** Если `locale` не указана, используется `targetLocale` экземпляра. * **Без изменений при ошибке.** Возвращает входную строку без изменений, если её не удаётся стандартизировать. * **Отсутствие локали.** Выбрасывает `Error`, если локаль не указана и у экземпляра не настроен `targetLocale`. Распространённые исправления регистра для кодов с дефисом: * `en-us` → `en-US` (регион в верхнем регистре) * `EN-gb` → `en-GB` (язык в нижнем регистре, регион — в верхнем) * `fr-ca` → `fr-CA` (правильный регистр во всём коде) ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | ------------------- | ------------------------------------- | -------- | -------------- | ------------------- | | [`locale`](#locale) | Код локали BCP-47 для стандартизации. | `string` | Да | `this.targetLocale` | ### `locale` [#locale] **Тип** `string` · **Необязательно** · **По умолчанию** `this.targetLocale` Код локали BCP-47, который нужно стандартизировать. Если параметр не указан, используется `targetLocale` этого экземпляра. ## Возвращает [#returns] **Тип** `string` Стандартизованный код локали BCP-47 либо исходная строка без изменений, если стандартизовать её невозможно. Вызывает `Error`, если локаль не указана и для экземпляра не настроен `targetLocale`. ## Примеры [#examples] ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es-ES' }); // Регистр нормализуется для кодов с дефисом console.log(gt.standardizeLocale('en-us')); // "en-US" console.log(gt.standardizeLocale('EN-gb')); // "en-GB" console.log(gt.standardizeLocale('fr-ca')); // "fr-CA" // Уже стандартизированные локали передаются без изменений console.log(gt.standardizeLocale('es-ES')); // "es-ES" console.log(gt.standardizeLocale('ja-JP')); // "ja-JP" ``` ## Примечания [#notes] * Нормализует регистр: коды языков приводятся к нижнему регистру, а коды регионов — к верхнему. * Возвращает входную строку без изменений, если код не удаётся стандартизировать. * Сохраняет расширения и варианты локали, если они присутствуют.