локализовать порядковые номера

for ($ rank = 0; $ rank ‹100; $ rank ++) {printf (" Ваш рейтинг:% d% s ", $ rank, $ суффикс); }

Существует ли функция gettext для локализации суффикса $ на текущий язык и возврата, например:

Your rank: 0th
Your rank: 1st
Your rank: 2nd
Your rank: 3rd
Your rank: 4th

если текущий языковой стандарт - английский, и какие бы правильные "порядковые" формы чисел ни были в других языках, когда языковой стандарт установлен на что-то другое?

Спасибо.


person abernier    schedule 16.03.2010    source источник


Ответы (1)


Не знаю, но вы можете использовать NumberFormatter

$nf = new NumberFormatter('en_US', NumberFormatter::ORDINAL);
print $nf->format(123); // prints 123rd

Источник:

person Gordon    schedule 16.03.2010
comment
Я не знаю, обнаружил ли я ошибку в PHP или шведском языковом пакете, но если сделать это для sv_SE или sv_FI for 1, вернется 1: e% digits-ordinal-Neutre: 0: 1: a Или мне не хватает дополнительный аргумент? - person Lucent; 14.08.2010