Конвертер локалей

Разбор идентификаторов локалей, предпросмотр форматов чисел/дат/валют и сравнение локалей

Популярные локали

Поддержка браузера

Введите идентификатор локали для просмотра результатов разбора...

Нативный браузер

Работает на встроенных Intl API. Без серверных запросов, без внешних зависимостей. Работает офлайн и защищает конфиденциальность.

Мгновенный предпросмотр

Мгновенно просматривайте форматирование чисел, дат, валют и списков для любой локали.

Полный анализ

Разбор компонентов локали, отображение имён на нескольких языках и сравнение двух локалей.

Часто задаваемые вопросы

Что такое идентификатор локали?

Идентификатор локали — это короткая строка, определяющая конкретную комбинацию языка, региона, письменности и других параметров. Распространённые форматы: теги BCP 47 (en-US, ru-RU) и идентификаторы POSIX (ru_RU.UTF-8). Они определяют отображение текста, чисел, дат и валют.

В чём разница между форматами BCP 47 и POSIX?

BCP 47 использует дефисы для разделения компонентов (en-US, ru-RU) и является стандартом для веб-технологий. POSIX использует подчёркивания (en_US, ru_RU.UTF-8) и распространён в системах Unix/Linux. Оба идентифицируют одну и ту же локаль, но используют разный синтаксис.

Как инструмент работает без сервера?

Инструмент использует встроенное в браузер семейство API Intl (Intl.Locale, Intl.NumberFormat, Intl.DateTimeFormat, Intl.DisplayNames и др.) для разбора идентификаторов локалей и генерации предпросмотра форматирования. Вся обработка происходит в браузере — данные не отправляются на сервер.

Почему некоторые локали показывают разные результаты в разных браузерах?

Реализация Intl API и данные локалей различаются между браузерами и операционными системами. Chrome, Firefox и Safari могут использовать разные версии данных Unicode CLDR, что приводит к незначительным различиям в форматировании.

Что означает "разрешённая локаль"?

При запросе локали "en" браузер может разрешить её в более конкретную, например "en-US", в зависимости от доступных данных. Разрешённая локаль — это фактически используемая браузером локаль для форматирования.

Понимание идентификаторов локалей

Структура BCP 47

Языковой тег BCP 47 состоит из подтегов, разделённых дефисами: язык (обязательно, 2-3 буквы), письменность (опционально, 4 буквы), регион (опционально, 2 буквы или 3 цифры) и варианты (опционально). Примеры:

  • Только язык en, ru, ar
  • Язык + Регион en-US, ru-RU, pt-BR
  • Язык + Письменность zh-Hans, sr-Latn
  • Полный тег zh-Hans-CN, en-Latn-US

Intl API на практике

Семейство JavaScript Intl API обеспечивает форматирование с учётом локали для чисел, дат, списков, относительного времени и многого другого. Используйте Intl.Locale для разбора, Intl.DisplayNames для отображаемых имён и Intl.NumberFormat/DateTimeFormat для форматирования.

  • new Intl.Locale("zh-Hans-CN") — parse
  • Intl.DisplayNames — display names
  • Intl.NumberFormat — numbers
  • Intl.DateTimeFormat — dates

Лучшие практики: Всегда используйте наиболее специфичный тег локали, соответствующий вашим потребностям. Для веб-приложений используйте предпочтительный язык пользователя из navigator.language с соответствующим fallback.

Скопировано в буфер обмена!