GT ClassMethodsLocales

standardizeLocale

Справочник API по методу GT standardizeLocale

Обзор

Метод standardizeLocale приводит код локали BCP‑47 к стандартному виду, обеспечивая корректное форматирование и регистр. Он преобразует коды локалей в канонический формат, делая их пригодными для использования с API интернационализации и обеспечивая единообразие во всём приложении.


Справочные материалы

Параметры

Prop

Type

Описание параметров

ПараметрОписание
localeКод локали по BCP‑47 для нормализации. Если не указан, используется targetLocale данного экземпляра

Возвращает

string — стандартизованный код локали BCP‑47 или пустую строку, если входные данные некорректны

Исключения

  • Error — если локаль не указана и в экземпляре не задан targetLocale

Поведение

Применяемые стандартные исправления формата:

  • en_USen-US (подчёркивание заменено на дефис)
  • zh_cnzh-CN (подчёркивание на дефис, корректный регистр)
  • EN-gben-GB (язык строчными, регион прописными)
  • Fr-cafr-CA (корректный регистр по всему коду)
  • ja_jpja-JP (подчёркивание и регистр)

Примеры

const gt = new GT({
  sourceLocale: 'en',
  targetLocale: 'es-ES'
});

// Приводит различные форматы локалей к стандартному виду
console.log(gt.standardizeLocale('en_us')); // "en-US"
console.log(gt.standardizeLocale('zh_cn')); // "zh-CN"
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"

Примечания

  • Заменяет символы подчеркивания на дефисы и нормализует регистр
  • Возвращает пустую строку для недопустимых кодов локали
  • Коды языка приводятся к нижнему регистру, коды региона — к верхнему
  • Сохраняет расширения и варианты локали, если они есть

Дальнейшие шаги

  • Проверяйте стандартизированные локали с помощью isValidLocale
  • Приводите локали к каноническому виду с помощью resolveCanonicalLocale
  • Получайте свойства локали с помощью getLocaleProperties

Насколько полезно это руководство?

standardizeLocale