# generaltranslation: General Translation Core SDK: getLocaleName URL: https://generaltranslation.com/ru/docs/core/functions/locales/get-locale-name.mdx --- title: getLocaleName description: Справка по API автономной функции getLocaleName --- ## Обзор Автономная функция `getLocaleName` возвращает отображаемое имя кода локали без необходимости создавать экземпляр класса GT. Она использует API `Intl.DisplayNames`, чтобы предоставлять локализованные названия для любого допустимого кода локали BCP-47. ```typescript import { getLocaleName } from 'generaltranslation'; const name = getLocaleName('fr-CA', 'en'); console.log(name); // "French (Canada)" ``` *** ## Справочник ### Параметры ### Описание параметров | Параметр | Описание | | --------------- | ------------------------------------------------------------------ | | `locale` | Код локали BCP-47, для которого нужно получить отображаемое имя | | `defaultLocale` | Локаль для локализации отображаемого имени (по умолчанию — `en`) | | `customMapping` | Необязательное пользовательское сопоставление кодов локалей и названий | ### Возвращает `string` - локализованное отображаемое имя локали. *** ## Поведение ### Определение языка интерфейса Функция локализует названия в следующем порядке приоритета: 1. параметр `defaultLocale` (если указан) 2. локаль библиотеки по умолчанию (`en`) ### Интеграция пользовательских сопоставлений * Пользовательские сопоставления сначала проверяются как для кодов локалей, так и для названий * Поддерживается разрешение псевдонимов и пользовательские отображаемые имена * Для кодов без сопоставления используется стандартный Intl.DisplayNames ### Стратегия разрешения имён 1. **Пользовательское имя сопоставления** (наивысший приоритет) 2. **Intl.DisplayNames** в локали по умолчанию 3. **Intl.DisplayNames** в стандартной локали библиотеки ('en') 4. **Сам код локали** (запасной вариант) *** ## Примеры ```typescript import { getLocaleName } from 'generaltranslation'; // Отображаемые имена на английском console.log(getLocaleName('es', 'en')); // "Spanish (Spain)" console.log(getLocaleName('ja', 'en')); // "Japanese (Japan)" console.log(getLocaleName('zh', 'en')); // "Chinese (China)" ``` ### Формирование параметров локали ```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 (United States)', emoji: '🇺🇸' }, // { value: 'es', label: 'Spanish (Spain)', emoji: '🇪🇸' }, // ... // ] ``` *** ## Примечания * Пользовательские сопоставления имеют приоритет над стандартным `Intl.DisplayNames` * Если отображаемое имя определить не удаётся, возвращается сам код локали * Параметр локали отображения определяет язык возвращаемого названия ## Следующие шаги * Получите эмодзи локали с помощью [`getLocaleEmoji`](/docs/core/functions/locales/get-locale-emoji) * Используйте метод класса GT для операций с сохранением состояния [`getLocaleName`](/docs/core/class/methods/locales/get-locale-name) * Узнайте больше о типе [`CustomMapping`](/docs/core/types/custom-mapping)