<?php
var_dump(
msgfmt_format_message('ru_RU', 'Значение {somekey} равно {0, choice, 0 #меньше 12| 12 #между 12 и 32| 32 #больше 32}', ['SomeAnotherKey' => -1]),
msgfmt_format_message('ru_RU', 'Значение {somekey} равно {0, choice, 0 #меньше 12| 12 #между 12 и 32| 32 #больше 32}', [14]),
msgfmt_format_message('ru_RU', 'Значение {somekey} равно {0, choice, 0 #меньше 12| 12 #между 12 и 32| 32 #больше 32}', [133]),
msgfmt_format_message('ru_RU', '{0, plural, =0{Ноль}=1{Один}other{Неизвестно #}}', [0]),
msgfmt_format_message('ru_RU', '{0, plural, =0{Ноль}=1{Один}other{Неизвестно #}}', [1]),
msgfmt_format_message('ru_RU', '{0, plural, =0{Ноль}=1{Один}other{Неизвестно #}}', [2]),
msgfmt_format_message('ru_RU', '{0, select, somevalue{Это какое-то значение} other{Неизвестное значение}}', ['somevalue']),
msgfmt_format_message('ru_RU', '{0, select, somevalue{Это какое-то значение} other{Неизвестное значение "{0}"}}', ['somevalue2'])
);
var_dump(
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [0]),
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [1]),
msgfmt_format_message('en_GB', 'Peter has {0, plural, =0{no cat} =1{a cat} other{# cats}}', [2])
);
?>
输出 (PHP 5.4.17RC1)
==========================
string 'Значение -1 равно меньше 12' (length=28)
string 'Значение 14 равно между 12 и 32' (length=38)
string 'Значение 133 равно больше 32' (length=34)
string 'Ноль' (length=4)
string 'Один' (length=4)
string 'Неизвестно 2' (length=11)
string 'Это какое-то значение' (length=21)
string 'Неизвестное значение "somevalue2"' (length=30)
string 'Peter has no cat' (length=16)
string 'Peter has a cat' (length=15)
string 'Peter has 2 cats' (length=16)