这段代码可以处理英语、西班牙语和德语的序数,但无法处理俄语或意大利语的序数。
'ru-RU'
和 'it-IT'
也不行。
例如,在俄语中,我得到了2 -> два(这是基数),但我想要序数,这里应该是2 -> второй。
例如,在意大利语中,我得到了2 -> due(这是基数),但我想要序数,这里应该是2 -> secondo。
更新:
我找到了一个解决方案,适用于法语、西班牙语、德语和其他一些语言:
男性序数: %spellout-ordinal-maskuline
女性序数: %spellout-ordinal-feminine
俄语和意大利语版本不起作用,我已经尝试使用 -maskuline/-feminine。
$ru_ordinal = new NumberFormatter('ru', NumberFormatter::SPELLOUT);
$ru_ordinal->setTextAttribute(NumberFormatter::DEFAULT_RULESET, "%spellout-ordinal");
due
而不是2 ->secondo
。 - Grischa