Size: a a a

JavaScript.Ninja

2020 July 22

V

Valentin in JavaScript.Ninja
используется new Intl.NumberFormat('ru-RU’)
источник

IK

Illya Klymov in JavaScript.Ninja
Valentin
Подскажите как вылечить react гидратаци?
Warning: Text content did not match. Server: "1,200 ₽" Client: "1 200 ₽»
Детектить локаль пользователя при серверном рендеринге
источник

IK

Illya Klymov in JavaScript.Ninja
Возможно через accept language
источник

V

Valentin in JavaScript.Ninja
а если я всегда делаю под одну локаль?
источник

IK

Illya Klymov in JavaScript.Ninja
Тогда смотреть почему на сервере ее нет
источник

V

Valentin in JavaScript.Ninja
new Intl.NumberFormat('ru-RU')
этого ведь достаточно?
источник

IK

Illya Klymov in JavaScript.Ninja
Теоретически да. Но на сервере должна быть нужная локаль сгенерированная
источник

V

Valentin in JavaScript.Ninja
вот этого и не понимаю, он же генерит локаль по ru-RU и ее же на клиенте нарисует, почему результат разный)
источник

V

Valentin in JavaScript.Ninja
есть открытая проблема https://github.com/lingui/js-lingui/issues/436
но решилась версией ноды… (уже старые). Что еще может быть, если без accept language? Тк это потом будет рендерится как статика
источник

IK

Illya Klymov in JavaScript.Ninja
Valentin
вот этого и не понимаю, он же генерит локаль по ru-RU и ее же на клиенте нарисует, почему результат разный)
На самом сервере может не быть локали в системе
источник

IK

Illya Klymov in JavaScript.Ninja
locale -a
источник

V

Valentin in JavaScript.Ninja
угу, есть какие-то:
ru_RU
ru_RU.CP866
ru_RU.*
источник

V

Valentin in JavaScript.Ninja
но такой же не принимает))
RangeError: Invalid language tag: ru_ru
источник

IK

Illya Klymov in JavaScript.Ninja
А нужно скорее всего ru_RU.UTF-8
источник

V

Valentin in JavaScript.Ninja
интересно
new Intl.NumberFormat('ru_RU.UTF-8’)
ведет к ошибке: RangeError: Invalid language tag: ru_ru.utf-8
источник

V

Valentin in JavaScript.Ninja
он приводит к нижнему регистру… )
источник

IK

Illya Klymov in JavaScript.Ninja
Valentin
интересно
new Intl.NumberFormat('ru_RU.UTF-8’)
ведет к ошибке: RangeError: Invalid language tag: ru_ru.utf-8
Да, потому что локаль системы и у ноды это разные вещи :)
источник

V

Valentin in JavaScript.Ninja
уже читаю об этом
источник

IK

Illya Klymov in JavaScript.Ninja
В системе указывается кодировка
источник

IK

Illya Klymov in JavaScript.Ninja
В коде нет
источник