React-Intl:消息未在Safari中格式化

时间:2019-09-18 12:39:38

标签: reactjs react-intl

我的翻译如下:

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

在Chrome中,它显示23 Kundenbewertungen很好,但是在Safari中,它显示翻译字符串并抛出错误

  

错误格式化消息:“ pdp:product-title:ratings”的语言环境:“ de”

     

无法使用消息源作为备用消息来格式化消息:“ pdp:product-title:ratings”。

在我的React Component中,代码如下:

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

我完全迷失了,因为它在Chrome中可以正常工作。我使用的语法正确吗?

2 个答案:

答案 0 :(得分:1)

原因是Intl.PluralRules在Safari上不可用。只需使用此polyfill,一切都会按预期进行。

答案 1 :(得分:0)

这是一个更好的 polyfill,由 MDN 推荐并由 polyfill.io 使用:https://formatjs.io/docs/polyfills/intl-pluralrules/