getLocaleName
Справочник по API для автономной функции getLocaleName
Обзор
Отдельная функция getLocaleName возвращает отображаемое имя локали по её коду и не требует создания экземпляра класса GT.
Она использует API Intl.DisplayNames, чтобы предоставлять локализованные названия локалей для любого допустимого кода по стандарту BCP‑47.
import { getLocaleName } from 'generaltranslation';
const name = getLocaleName('fr-CA', 'en');
console.log(name); // «французский (Канада)»Ссылка
Параметры
Prop
Type
Описание параметров
| Параметр | Описание |
|---|---|
locale | Код локали в формате BCP‑47, для которого нужно получить отображаемое имя |
defaultLocale | Локаль, используемая для локализации отображаемого имени (по умолчанию «en») |
customMapping | Необязательное пользовательское сопоставление кодов и названий локалей |
Возвращает
string — локализованное имя языка/региона.
Поведение
Определение языка отображения
Функция локализует названия в таком порядке приоритетов:
- Параметр
defaultLocale(если указан) - Локаль библиотеки по умолчанию («en»)
Интеграция пользовательских сопоставлений
- В первую очередь проверяются пользовательские сопоставления как для кодов локалей, так и для их названий
- Поддерживается разрешение алиасов и пользовательские отображаемые названия
- Для несопоставленных кодов выполняется откат к стандартному Intl.DisplayNames
Стратегия определения имени
- Пользовательское сопоставление имени (наивысший приоритет)
- Intl.DisplayNames в локали по умолчанию
- Intl.DisplayNames в локали библиотеки по умолчанию ('en')
- Сам код локали (как запасной вариант)
Примеры
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)"Формирование параметров локалей
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: 'Английский (США)', emoji: '🇺🇸' },
// { value: 'es', label: 'Испанский (Испания)', emoji: '🇪🇸' },
// ...
// ]Примечания
- Пользовательские соответствия имеют приоритет над стандартным Intl.DisplayNames
- Если отображаемое имя определить нельзя, возвращается сам код локали
- Параметр локали отображения определяет язык возвращаемого имени
Дальнейшие шаги
- Получите эмодзи локали с помощью
getLocaleEmoji - Используйте метод класса GT для операций с состоянием
getLocaleName - Узнайте о типе
CustomMapping
Насколько полезно это руководство?