Completed
Push — master ( 1fe708...6360f1 )
by Arnaud
16s queued 12s
created

TranslationExtension   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
eloc 8
c 1
b 1
f 0
dl 0
loc 31
ccs 0
cts 10
cp 0
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getFilters() 0 5 1
A translate() 0 9 1
A translateUI() 0 3 1
A __construct() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace LAG\AdminBundle\Twig\Extension;
6
7
use LAG\AdminBundle\Translation\Helper\TranslationHelperInterface;
8
use Twig\Extension\AbstractExtension;
9
use Twig\TwigFilter;
10
11
class TranslationExtension extends AbstractExtension
12
{
13
    private TranslationHelperInterface $translationHelper;
14
15
    public function __construct(TranslationHelperInterface $translationHelper)
16
    {
17
        $this->translationHelper = $translationHelper;
18
    }
19
20
    public function getFilters(): array
21
    {
22
        return [
23
            new TwigFilter('admin_trans', [$this, 'translate']),
24
            new TwigFilter('admin_ui_trans', [$this, 'translateUI']),
25
        ];
26
    }
27
28
    public function translate(
29
        string $id,
30
        array $parameters = [],
31
        string $domain = null,
32
        string $locale = null,
33
        string $pattern = null,
34
        string $adminName = null
35
    ): string {
36
        return $this->translationHelper->transWithPattern($id, $parameters, $domain, $locale, $pattern, $adminName);
37
    }
38
39
    public function translateUI(string $id, array $parameters = []): string
40
    {
41
        return $this->translationHelper->transWithPattern($id, $parameters, null, null, null, 'ui');
42
    }
43
}
44