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

Разбор идентификаторов локалей, предпросмотр форматов чисел/дат/валют и сравнение локалей Быстро работает в браузере, бесплатно, без регистрации и с упором на…

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

Попробуйте типичные входные данные

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

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

Как использовать

  1. 1

    Вставьте любую строку локали

    Начните с локалей браузера, значений POSIX вроде en_US.UTF-8, тегов письменности вроде zh_Hans_CN или заголовка Accept-Language.

  2. 2

    Нормализуйте тег

    Инструмент приводит значение к каноническому виду BCP 47 и показывает соответствующие POSIX, HTML lang и фрагменты Intl.

  3. 3

    Скопируйте нужный формат

    Используйте блок вывода, подходящий для вашего случая: веб-разметка, JavaScript Intl, переменные окружения или документация QA.

  4. 4

    Сравните различия вывода

    Переключитесь в режим сравнения, чтобы увидеть, как две локали различаются в форматировании чисел, валют, дат и сортировке.

Почему выбирают Be Converter?

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

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

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

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

Нормализация реальных данных

Вставляйте локали POSIX, ICU-стиль с подчёркиваниями или заголовки Accept-Language и превращайте их в чистые строки BCP 47 и готовые для HTML локали.

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

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

Подходит для

Конвертировать en_US.UTF-8 в en-US Подготовить атрибуты HTML lang Нормализовать заголовки Accept-Language Проверить цепочки fallback локалей Проверить разрешённые локали Intl Документировать детали реализации i18n

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

Что такое идентификатор локали?
Идентификатор локали — это короткая строка, определяющая конкретную комбинацию языка, региона, письменности и других параметров. Распространённые форматы: теги 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", в зависимости от доступных данных. Разрешённая локаль — это фактически используемая браузером локаль для форматирования.

Примеры конвертации локалей

Это наиболее распространённые задачи по обработке строк локалей, которые ищут разработчики и команды локализации, когда им нужен онлайн-конвертер локалей.

Ввод
en_US.UTF-8
Вывод
en-US

Конвертируйте значения окружения локалей Unix-стиля в тег BCP 47 для использования во фронтенде.

Ввод
zh_Hans_CN
Вывод
zh-Hans-CN

Нормализуйте подтеги письменности с регистром, ожидаемым веб-платформами.

Ввод
sr_RS@latin
Вывод
sr-Latn-RS

Преобразуйте модификатор POSIX в тег локали с поддержкой письменности для локализации продукта.

Ввод
Accept-Language: fr-CA,fr;q=0.9
Вывод
fr-CA

Извлеките предпочтительную локаль из заголовка браузера перед маршрутизацией или форматированием контента.

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

Структура 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 для форматирования.

  • Intl.getCanonicalLocales(["pt-br"]) - canonicalize
  • new Intl.Locale("zh-Hans-CN") — parse
  • Intl.DisplayNames — display names
  • Intl.NumberFormat — numbers
  • Intl.DateTimeFormat — dates

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

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