[Validator] Improved the inline documentation of DefaultTranslator
This commit is contained in:
parent
cd662ccf7a
commit
58bfd60b0f
@ -19,14 +19,57 @@ use Symfony\Component\Translation\TranslatorInterface;
|
|||||||
* Simple translator implementation that simply replaces the parameters in
|
* Simple translator implementation that simply replaces the parameters in
|
||||||
* the message IDs.
|
* the message IDs.
|
||||||
*
|
*
|
||||||
* Does not support translation domains or locales.
|
* Example usage:
|
||||||
|
*
|
||||||
|
* $translator = new DefaultTranslator();
|
||||||
|
*
|
||||||
|
* echo $translator->trans(
|
||||||
|
* 'This is a {{ var }}.',
|
||||||
|
* array('{{ var }}' => 'donkey')
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // -> This is a donkey.
|
||||||
|
*
|
||||||
|
* echo $translator->transChoice(
|
||||||
|
* 'This is {{ count }} donkey.|These are {{ count }} donkeys.',
|
||||||
|
* 3,
|
||||||
|
* array('{{ count }}' => 'three')
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // -> These are three donkeys.
|
||||||
|
*
|
||||||
|
* This translator does not support message catalogs, translation domains or
|
||||||
|
* locales. Instead, it implements a subset of the capabilities of
|
||||||
|
* {@link \Symfony\Component\Translation\Translator} and can be used in places
|
||||||
|
* where translation is not required by default but should be optional.
|
||||||
*
|
*
|
||||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||||
*/
|
*/
|
||||||
class DefaultTranslator implements TranslatorInterface
|
class DefaultTranslator implements TranslatorInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Interpolates the given message.
|
||||||
|
*
|
||||||
|
* Parameters are replaced in the message in the same manner that
|
||||||
|
* {@link strtr()} uses.
|
||||||
|
*
|
||||||
|
* Example usage:
|
||||||
|
*
|
||||||
|
* $translator = new DefaultTranslator();
|
||||||
|
*
|
||||||
|
* echo $translator->trans(
|
||||||
|
* 'This is a {{ var }}.',
|
||||||
|
* array('{{ var }}' => 'donkey')
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* // -> This is a donkey.
|
||||||
|
*
|
||||||
|
* @param string $id The message id
|
||||||
|
* @param array $parameters An array of parameters for the message
|
||||||
|
* @param string $domain Ignored
|
||||||
|
* @param string $locale Ignored
|
||||||
|
*
|
||||||
|
* @return string The interpolated string
|
||||||
*/
|
*/
|
||||||
public function trans($id, array $parameters = array(), $domain = null, $locale = null)
|
public function trans($id, array $parameters = array(), $domain = null, $locale = null)
|
||||||
{
|
{
|
||||||
@ -34,7 +77,56 @@ class DefaultTranslator implements TranslatorInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Interpolates the given choice message by choosing a variant according to a number.
|
||||||
|
*
|
||||||
|
* The variants are passed in the message ID using the format
|
||||||
|
* "<singular>|<plural>". "<singular>" is chosen if the passed $number is
|
||||||
|
* exactly 1. "<plural>" 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 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.
|
||||||
|
*
|
||||||
|
* @param string $id The message id
|
||||||
|
* @param integer $number The number to use to find the index of the message
|
||||||
|
* @param array $parameters An array of parameters for the message
|
||||||
|
* @param string $domain Ignored
|
||||||
|
* @param string $locale Ignored
|
||||||
|
*
|
||||||
|
* @return string The translated string
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException If the message id does not have the format
|
||||||
|
* "singular|plural".
|
||||||
*/
|
*/
|
||||||
public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null)
|
public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null)
|
||||||
{
|
{
|
||||||
@ -52,7 +144,11 @@ class DefaultTranslator implements TranslatorInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Not supported.
|
||||||
|
*
|
||||||
|
* @param string $locale The locale
|
||||||
|
*
|
||||||
|
* @throws BadMethodCallException
|
||||||
*/
|
*/
|
||||||
public function setLocale($locale)
|
public function setLocale($locale)
|
||||||
{
|
{
|
||||||
@ -60,7 +156,9 @@ class DefaultTranslator implements TranslatorInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Not supported.
|
||||||
|
*
|
||||||
|
* @throws BadMethodCallException
|
||||||
*/
|
*/
|
||||||
public function getLocale()
|
public function getLocale()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user