Chris@14: Chris@14: * Chris@14: * For the full copyright and license information, please view the LICENSE Chris@14: * file that was distributed with this source code. Chris@14: */ Chris@14: Chris@14: namespace Symfony\Component\Translation\Formatter; Chris@14: Chris@14: use Symfony\Component\Translation\MessageSelector; Chris@14: Chris@14: /** Chris@14: * @author Abdellatif Ait boudad Chris@14: */ Chris@14: class MessageFormatter implements MessageFormatterInterface, ChoiceMessageFormatterInterface Chris@14: { Chris@14: private $selector; Chris@14: Chris@14: /** Chris@14: * @param MessageSelector|null $selector The message selector for pluralization Chris@14: */ Chris@14: public function __construct(MessageSelector $selector = null) Chris@14: { Chris@14: $this->selector = $selector ?: new MessageSelector(); Chris@14: } Chris@14: Chris@14: /** Chris@14: * {@inheritdoc} Chris@14: */ Chris@17: public function format($message, $locale, array $parameters = []) Chris@14: { Chris@14: return strtr($message, $parameters); Chris@14: } Chris@14: Chris@14: /** Chris@14: * {@inheritdoc} Chris@14: */ Chris@17: public function choiceFormat($message, $number, $locale, array $parameters = []) Chris@14: { Chris@17: $parameters = array_merge(['%count%' => $number], $parameters); Chris@14: Chris@14: return $this->format($this->selector->choose($message, (int) $number, $locale), $locale, $parameters); Chris@14: } Chris@14: }