annotate vendor/symfony/translation/Formatter/MessageFormatter.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author |
Chris Cannam |
date |
Thu, 28 Feb 2019 13:21:36 +0000 |
parents |
1fec387a4317 |
children |
|
rev |
line source |
Chris@14
|
1 <?php
|
Chris@14
|
2
|
Chris@14
|
3 /*
|
Chris@14
|
4 * This file is part of the Symfony package.
|
Chris@14
|
5 *
|
Chris@14
|
6 * (c) Fabien Potencier <fabien@symfony.com>
|
Chris@14
|
7 *
|
Chris@14
|
8 * For the full copyright and license information, please view the LICENSE
|
Chris@14
|
9 * file that was distributed with this source code.
|
Chris@14
|
10 */
|
Chris@14
|
11
|
Chris@14
|
12 namespace Symfony\Component\Translation\Formatter;
|
Chris@14
|
13
|
Chris@14
|
14 use Symfony\Component\Translation\MessageSelector;
|
Chris@14
|
15
|
Chris@14
|
16 /**
|
Chris@14
|
17 * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
|
Chris@14
|
18 */
|
Chris@14
|
19 class MessageFormatter implements MessageFormatterInterface, ChoiceMessageFormatterInterface
|
Chris@14
|
20 {
|
Chris@14
|
21 private $selector;
|
Chris@14
|
22
|
Chris@14
|
23 /**
|
Chris@14
|
24 * @param MessageSelector|null $selector The message selector for pluralization
|
Chris@14
|
25 */
|
Chris@14
|
26 public function __construct(MessageSelector $selector = null)
|
Chris@14
|
27 {
|
Chris@14
|
28 $this->selector = $selector ?: new MessageSelector();
|
Chris@14
|
29 }
|
Chris@14
|
30
|
Chris@14
|
31 /**
|
Chris@14
|
32 * {@inheritdoc}
|
Chris@14
|
33 */
|
Chris@17
|
34 public function format($message, $locale, array $parameters = [])
|
Chris@14
|
35 {
|
Chris@14
|
36 return strtr($message, $parameters);
|
Chris@14
|
37 }
|
Chris@14
|
38
|
Chris@14
|
39 /**
|
Chris@14
|
40 * {@inheritdoc}
|
Chris@14
|
41 */
|
Chris@17
|
42 public function choiceFormat($message, $number, $locale, array $parameters = [])
|
Chris@14
|
43 {
|
Chris@17
|
44 $parameters = array_merge(['%count%' => $number], $parameters);
|
Chris@14
|
45
|
Chris@14
|
46 return $this->format($this->selector->choose($message, (int) $number, $locale), $locale, $parameters);
|
Chris@14
|
47 }
|
Chris@14
|
48 }
|