2

我正在使用react-intl包进行国际化。反过来,该软件包依赖于intl-messageformat. 我一直在搜索这两个包中的文档,但仍然对是否可以将分数变量的消息国际化感到困惑。例如,如此所述:

一些语言使用“1. 2茶匙”但“2 . 1茶匙”</p>

react-intl使用/时有没有办法计算分数intl-messageformat?到目前为止,我只在文档中看到了带有整数的示例。

4

1 回答 1

2

用于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,
                }}
            />
      );

参考

于 2017-05-01T03:25:27.523 回答