我正在使用react-intl
包进行国际化。反过来,该软件包依赖于intl-messageformat
. 我一直在搜索这两个包中的文档,但仍然对是否可以将分数变量的消息国际化感到困惑。例如,如此处所述:
一些语言使用“1. 2茶匙”但“2 . 1茶匙”</p>
react-intl
使用/时有没有办法计算分数intl-messageformat
?到目前为止,我只在文档中看到了带有整数的示例。
我正在使用react-intl
包进行国际化。反过来,该软件包依赖于intl-messageformat
. 我一直在搜索这两个包中的文档,但仍然对是否可以将分数变量的消息国际化感到困惑。例如,如此处所述:
一些语言使用“1. 2茶匙”但“2 . 1茶匙”</p>
react-intl
使用/时有没有办法计算分数intl-messageformat
?到目前为止,我只在文档中看到了带有整数的示例。
用于FormattedNumber
处理小数。例如:
it('formats numbers with decimal separators', () => {
const el = <FormattedNumber value={0.1} minimumFractionDigits={2} />;
renderer.render(el, intlProvider.getChildContext());
expect(renderer.getRenderOutput()).toEqualJSX(
<span>0.10</span>
);
});
对复数使用不同的值:
it('pluralizes labels in strings', () => {
const el = (
<FormattedMessage
id="num_emails"
defaultMessage="You have 1.{teaspoons, plural, one {# teaspoons} other {# teaspoons}}."
values={{
teaspoons: 2,
}}
/>
);
和单数:
it('pluralizes labels in strings', () => {
const el = (
<FormattedMessage
id="num_emails"
defaultMessage="You have 2.{teaspoons, plural, one {# teaspoons} other {# teaspoons}}."
values={{
teaspoons: 1,
}}
/>
);
参考