Passed
Pull Request — master (#259)
by Arnaud
08:22
created

TranslationExtension   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
eloc 8
c 1
b 1
f 0
dl 0
loc 31
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
namespace LAG\AdminBundle\Twig\Extension;
4
5
use LAG\AdminBundle\Translation\Helper\TranslationHelperInterface;
6
use Twig\Extension\AbstractExtension;
7
use Twig\TwigFilter;
8
9
class TranslationExtension extends AbstractExtension
10
{
11
    private TranslationHelperInterface $translationHelper;
12
13
    public function __construct(TranslationHelperInterface $translationHelper)
14
    {
15
        $this->translationHelper = $translationHelper;
16
    }
17
18
    public function getFilters(): array
19
    {
20
        return [
21
            new TwigFilter('admin_trans', [$this, 'translate']),
22
            new TwigFilter('admin_ui_trans', [$this, 'translateUI']),
23
        ];
24
    }
25
26
    public function translate(
27
        string $id,
28
        array $parameters = [],
29
        string $domain = null,
30
        string $locale = null,
31
        string $pattern = null,
32
        string $adminName = null
33
    ): string {
34
        return $this->translationHelper->transWithPattern($id, $parameters, $domain, $locale, $pattern, $adminName);
35
    }
36
37
    public function translateUI(string $id, array $parameters = []): string
38
    {
39
        return $this->translationHelper->transWithPattern($id, $parameters, null, null, null, 'ui');
40
    }
41
}
42