Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\Translation; Chris@0: Chris@0: /** Chris@0: * IdentityTranslator does not translate anything. Chris@0: * Chris@0: * @author Fabien Potencier Chris@0: */ Chris@0: class IdentityTranslator implements TranslatorInterface Chris@0: { Chris@0: private $selector; Chris@0: private $locale; Chris@0: Chris@0: /** Chris@0: * @param MessageSelector|null $selector The message selector for pluralization Chris@0: */ Chris@0: public function __construct(MessageSelector $selector = null) Chris@0: { Chris@0: $this->selector = $selector ?: new MessageSelector(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function setLocale($locale) Chris@0: { Chris@0: $this->locale = $locale; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getLocale() Chris@0: { Chris@0: return $this->locale ?: \Locale::getDefault(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@17: public function trans($id, array $parameters = [], $domain = null, $locale = null) Chris@0: { Chris@0: return strtr((string) $id, $parameters); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@17: public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null) Chris@0: { Chris@0: return strtr($this->selector->choose((string) $id, (int) $number, $locale ?: $this->getLocale()), $parameters); Chris@0: } Chris@0: }