Платформа · Урок 74

Интернационализация: i18n

Пользователь из другой страны видит другой язык, формат даты и цену в своей валюте. i18n — это не «перевод фраз», а целая система локализации данных.

Строки в файлах локалей

// ru.json
{ "button.buy": "Купить", "cart.title": "Корзина" }
// en.json
{ "button.buy": "Buy", "cart.title": "Cart" }

// в коде — ключ, а не текст:
t("button.buy")

Даты и деньги через Intl

const price = new Intl.NumberFormat("ru-RU", {
  style: "currency", currency: "RUB"
}).format(1249);
// "1 249,00 ₽" — а для "en-US" будет "$1,249.00"

new Intl.DateTimeFormat("en-GB").format(date); // 01/02/2026
💡
Не склеивайте тексты руками («Добрый день, » + name) — порядок слов в языках разный. Используйте плейсхолдеры и шаблоны переводчика.
ℹ️
Готовые решения: i18next, react-i18next. Для дат и чисел сначала всегда смотрите на встроенный Intl — он покрывает большинство задач без библиотек.