Конвертер локалей
Разбор идентификаторов локалей, предпросмотр форматов чисел/дат/валют и сравнение локалей
Популярные локали
Неверный идентификатор локали. Введите корректный тег BCP 47.
Поддержка браузера
Результаты разбора
Альтернативные форматы
Отображаемые имена
Предпросмотр данных
Формат чисел
Формат валют
Дата и время
Относительное время
Формат списков
Сортировка
Сравните, как две разные локали форматируют одни и те же данные.
Нативный браузер
Работает на встроенных 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.