Вёрстка сайтов | HTML, CSS, JS
4.79K subscribers
650 photos
2 videos
4 files
1.1K links
👋 Привет, друг!

В этом канале я выкладываю структурированные, обучающие уроки и материалы по вёрстке сайтов и фронтенду.
Присоединяйся и начинай учиться!

Связь: @Tigran1963
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Intl API: интернационализация в JavaScript

Обычно разработчики форматируют даты и числа «вручную»: конкатенацией строк или костылями. Но у браузеров уже есть встроенный инструмент — Intl API. Он решает задачи интернационализации (i18n) и избавляет от лишних библиотек.

1. Форматирование чисел
const number = 1234567.89;

console.log(new Intl.NumberFormat('de-DE').format(number));
// 1.234.567,89 (немецкий формат)

console.log(new Intl.NumberFormat('en-US').format(number));
// 1,234,567.89 (американский)

📌 Локаль ('de-DE', 'en-US') задаёт стиль записи чисел.

2. Валюта

const price = 1999.99;

const usd = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });
console.log(usd.format(price)); // $1,999.99

const eur = new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' });
console.log(eur.format(price)); // 1.999,99 €


Теперь цены отображаются привычно для пользователей разных стран.

3. Даты и время

const date = new Date();

const us = new Intl.DateTimeFormat('en-US').format(date);
console.log(us); // 8/21/2025

const ru = new Intl.DateTimeFormat('ru-RU', { dateStyle: 'full' }).format(date);
console.log(ru); // четверг, 21 августа 2025 г.


📌 Можно настраивать dateStyle, timeStyle, часовые пояса и даже календари.

4. Сравнение строк

const collator = new Intl.Collator('ru-RU');
console.log(['ёж', 'яблоко', 'арбуз'].sort(collator.compare));
// ['арбуз', 'ёж', 'яблоко']


Без Intl.Collator сортировка могла бы работать неправильно для кириллицы.

Где это полезно?
• Мульти-язычные проекты (сайты, интернет-магазины).
• Корректное отображение цен, дат, валют и чисел для разных стран.
• Локализованная сортировка (например, списки по алфавиту).

#полезности
👍21