Completed
Push — master ( cd21c6...a50cd0 )
by Craig
04:57
created

TranslatorTrait::trans()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 4
dl 0
loc 3
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Zikula package.
7
 *
8
 * Copyright Zikula Foundation - https://ziku.la/
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Zikula\Common\Translator;
15
16
use Symfony\Contracts\Translation\TranslatorInterface;
17
18
/**
19
 * Class TranslatorTrait
20
 */
21
trait TranslatorTrait
22
{
23
    /**
24
     * @var TranslatorInterface
25
     */
26
    private $translator;
27
28
    public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null): string
29
    {
30
        return $this->getTranslator()->trans($id, $parameters, $domain, $locale);
31
    }
32
33
    public function getTranslator(): TranslatorInterface
34
    {
35
        if (null === $this->translator) {
36
            throw new \ErrorException('Translator must be set in __TRAIT__ before it can be used.');
37
        }
38
39
        return $this->translator;
40
    }
41
42
    public function setTranslator(TranslatorInterface $translator)
43
    {
44
        $this->translator = $translator;
45
    }
46
}
47