DefaultTranslator deprecated::transChoice()

string transChoice(string $id, int $number, array $parameters = array(), string|null $domain = null, string|null $locale = null)

Interpolates the given choice message by choosing a variant according to a number.

The variants are passed in the message ID using the format "|". "" is chosen if the passed $number is exactly 1. "" is chosen otherwise.

This format is consistent with the format supported by {@link \Symfony\Component\Translation\Translator}, but it does not have the same expressiveness. While Translator supports intervals in message translations, which are needed for languages other than English, this translator does not. You should use Translator or a custom implementation of {@link \Symfony\Component\Translation\TranslatorInterface} if you need this or similar functionality.

Example usage:

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    0,
    array('{{ count }}' => 0)
);

// -> These are 0 donkeys.

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    1,
    array('{{ count }}' => 1)
);

// -> This is 1 donkey.

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    3,
    array('{{ count }}' => 3)
);

// -> These are 3 donkeys.

Parameters

string $id The message id (may also be an object that can be cast to string)
int $number The number to use to find the indice of the message
array $parameters An array of parameters for the message
string|null $domain The domain for the message or null to use the default
string|null $locale The locale or null to use the default

Return Value

string The translated string

Exceptions

InvalidArgumentException If the message id does not have the format "singular|plural".
doc_Symfony
2016-10-28 06:13:38
Comments
Leave a Comment

Please login to continue.