React-Intl: сообщение не форматируется в Safari

У меня есть такой перевод:

{count, number} {count, plural, one {Kundenbewertung} other {Kundenbewertungen}}

В Chrome он отлично отображает 23 Kundenbewertungen, но в Safari он отображает строку перевода и выдает ошибку

Сообщение об ошибке форматирования: pdp: product-title: рейтинги для локали: de

Невозможно отформатировать сообщение: pdp: product-title: rating, используя источник сообщения в качестве резервной копии.

В моем компоненте React код следующий:

<FormattedMessage
  id="pdp:product-title:ratings"
  values={{ count: product.metadata.rating.count }}
/>

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


person mxmtsk    schedule 18.09.2019    source источник


Ответы (2)


Причина в том, что Intl.PluralRules не доступно в Safari. Просто используйте этот полифилл, и все должно работать как положено.

person Yuriy Yakym    schedule 18.09.2019

Это гораздо лучший полифилл, рекомендованный MDN и используемый polyfill.io: https://formatjs.io/docs/polyfills/intl-pluralrules/

person Janne Annala    schedule 25.02.2021