localize ordinal numbers
Asked Answered
T

1

6

for ($rank=0; $rank<100; $rank++) { printf("Your rank: %d%s", $rank, $suffix); }

Does there exist a gettext function to localize $suffix to the current language and return, for example:

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

if the current locale is English, and whatever the correct "ordinal" forms of numbers are in other languages when the locale is set to something else?

Thank you.

Typhoon answered 16/3, 2010 at 10:37 Comment(0)
B
7

Not that I know of, but you can use NumberFormatter

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

Source:

Brauer answered 16/3, 2010 at 10:59 Comment(1)
I don't know if I've discovered a bug in PHP or the Swedish language pack, but doing this for sv_SE or sv_FI for 1 returns "1:e%digits-ordinal-neutre:0: 1:a" Or am I missing an additional argument?Pickle

© 2022 - 2024 — McMap. All rights reserved.