| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Translation;use Symfony\Contracts\Translation\TranslatableInterface;use Symfony\Contracts\Translation\TranslatorInterface;/** * @author Nate Wiebe <nate@northern.co> */class TranslatableMessage implements TranslatableInterface{    private $message;    private $parameters;    private $domain;    public function __construct(string $message, array $parameters = [], string $domain = null)    {        $this->message = $message;        $this->parameters = $parameters;        $this->domain = $domain;    }    public function __toString(): string    {        return $this->getMessage();    }    public function getMessage(): string    {        return $this->message;    }    public function getParameters(): array    {        return $this->parameters;    }    public function getDomain(): ?string    {        return $this->domain;    }    public function trans(TranslatorInterface $translator, string $locale = null): string    {        return $translator->trans($this->getMessage(), array_map(            static function ($parameter) use ($translator, $locale) {                return $parameter instanceof TranslatableInterface ? $parameter->trans($translator, $locale) : $parameter;            },            $this->getParameters()        ), $this->getDomain(), $locale);    }}
 |