# General Translation Platform: getLocaleName URL: https://generaltranslation.com/ru/docs/platform/core/reference/utility-functions/locales/get-locale-name.mdx --- title: getLocaleName description: Возвращает понятное человеку имя локали без экземпляра GT. Справочник API для getLocaleName. --- [`getLocaleName`](/docs/platform/core/reference/gt-class-methods/locales/get-locale-name) — это отдельная вспомогательная функция из основной библиотеки General Translation, которая возвращает отображаемое имя для кода локали. Она использует API `Intl.DisplayNames` для получения локализованного имени любого допустимого кода локали BCP-47. ## Обзор [#overview] Импортируйте `getLocaleName` напрямую из `generaltranslation` и вызовите её, передав код локали и необязательную локаль для отображения. Для этого не нужен API Key или экземпляр [GT](/docs/platform/core/reference/gt-class/constructor). Чтобы использовать эквивалентный вариант через экземпляр, вызовите метод [`getLocaleName`](/docs/platform/core/reference/gt-class-methods/locales/get-locale-name) у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { getLocaleName } from 'generaltranslation'; const name = getLocaleName('fr-CA', 'en'); console.log(name); // "Canadian French" (Канадский французский) ``` Сигнатура: ```typescript getLocaleName( locale: string, defaultLocale?: string, customMapping?: CustomMapping ): string ``` ## Как это работает [#how-it-works] ### Определение языка интерфейса Функция локализует названия в следующем порядке: 1. Параметр `defaultLocale`, если он указан. 2. Локаль библиотеки по умолчанию — `en`. ### Интеграция пользовательских сопоставлений * Пользовательские сопоставления проверяются в первую очередь — и для кодов локалей, и для названий. * Поддерживается разрешение алиасов и пользовательские отображаемые имена. * Для кодов без сопоставления используется стандартный `Intl.DisplayNames`. ### Стратегия разрешения имен 1. **Имя из пользовательского сопоставления** (наивысший приоритет). 2. **`Intl.DisplayNames`** в локали по умолчанию. 3. **`Intl.DisplayNames`** в локали библиотеки по умолчанию (`en`). 4. **Пустая строка** (резервный вариант). *Примечание: отображаемое имя использует диалектную форму CLDR, поэтому `fr-CA` разрешается как «канадский французский», а `es-ES` — как «европейский испанский», а не как «французский (Канада)» или «испанский (Испания)». Базовый язык, такой как `es`, разрешается как «испанский», без указания региона.* ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | ---------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------- | -------------- | ------------ | | [`locale`](#locale) | Код локали BCP-47, для которого нужно получить отображаемое имя. | `string` | Нет | — | | [`defaultLocale`](#default-locale) | Локаль, используемая для локализации отображаемого имени. | `string` | Да | `en` | | [`customMapping`](#custom-mapping) | Пользовательское сопоставление кодов и названий локалей. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Да | — | ### `locale` [#locale] **Тип** `string` · **Обязательно** Код локали BCP-47, для которой нужно получить отображаемое имя. ### `defaultLocale` [#default-locale] **Тип** `string` · **Необязательно** · **По умолчанию** `en` Локаль, используемая для локализации отображаемого имени в возвращаемом значении. ### `customMapping` [#custom-mapping] **Тип** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Необязательно** Необязательное пользовательское сопоставление кодов и названий локалей. ## Возвращает [#returns] **Тип** `string` Локализованное имя локали для отображения. Возвращает пустую строку, если определить отображаемое имя не удалось. ## Примеры [#examples] ```typescript import { getLocaleName } from 'generaltranslation'; // Названия на английском языке console.log(getLocaleName('es', 'en')); // "Spanish" console.log(getLocaleName('ja', 'en')); // "Japanese" console.log(getLocaleName('zh', 'en')); // "Chinese" console.log(getLocaleName('fr-CA', 'en')); // "Canadian French" console.log(getLocaleName('es-ES', 'en')); // "European Spanish" ``` ```typescript import { getLocaleName, getLocaleEmoji } from 'generaltranslation'; // Формирование вариантов локали для выбора function buildLocaleOptions( supportedLocales: string[], displayLocale: string = 'en' ) { return supportedLocales.map((locale) => ({ value: locale, label: getLocaleName(locale, displayLocale), emoji: getLocaleEmoji(locale), })); } const options = buildLocaleOptions(['en', 'es', 'fr', 'de', 'ja'], 'en'); console.log(options); // [ // { value: 'en', label: 'English', emoji: '🇺🇸' }, // { value: 'es', label: 'Spanish', emoji: '🇪🇸' }, // ... // ] ``` ## Примечания [#notes] * Пользовательские сопоставления имеют приоритет над стандартными `Intl.DisplayNames`. * Возвращает пустую строку, если не удаётся определить отображаемое имя. * Параметр `defaultLocale` определяет язык возвращаемого названия.