1 | <?php |
||
24 | final class CatalogueManager |
||
25 | { |
||
26 | /** |
||
27 | * @var MessageCatalogueInterface[] |
||
28 | */ |
||
29 | private $catalogues; |
||
30 | |||
31 | /** |
||
32 | * @param MessageCatalogueInterface[] $catalogues |
||
33 | */ |
||
34 | 4 | public function load(array $catalogues) |
|
41 | |||
42 | /** |
||
43 | * @return array |
||
44 | */ |
||
45 | 1 | public function getDomains() |
|
46 | { |
||
47 | /** @var MessageCatalogueInterface $c */ |
||
48 | 1 | $c = reset($this->catalogues); |
|
49 | |||
50 | 1 | return $c->getDomains(); |
|
51 | } |
||
52 | |||
53 | /** |
||
54 | * @param string $locale |
||
55 | * @param string $domain |
||
56 | * |
||
57 | * @return CatalogueMessage[] |
||
58 | */ |
||
59 | 2 | public function getMessages($locale, $domain) |
|
72 | |||
73 | /** |
||
74 | * @param array $config { |
||
75 | * |
||
76 | * @var string $domain |
||
77 | * @var string $locale |
||
78 | * @var bool $isNew |
||
79 | * @var bool $isObsolete |
||
80 | * @var bool $isApproved |
||
81 | * } |
||
82 | * |
||
83 | * @return CatalogueMessage[] |
||
84 | */ |
||
85 | 2 | public function findMessages(array $config = []) |
|
131 | |||
132 | /** |
||
133 | * @param string $domain |
||
134 | * @param string $key |
||
135 | * |
||
136 | * @return array |
||
137 | */ |
||
138 | 1 | public function getTranslations($domain, $key) |
|
139 | { |
||
140 | 1 | $translations = []; |
|
141 | 1 | foreach ($this->catalogues as $locale => $catalogue) { |
|
142 | 1 | if ($catalogue->has($key, $domain)) { |
|
143 | 1 | $translations[$locale] = $catalogue->get($key, $domain); |
|
144 | 1 | } |
|
145 | 1 | } |
|
146 | |||
147 | 1 | return $translations; |
|
148 | } |
||
149 | |||
150 | /** |
||
151 | * @param MessageCatalogueInterface $catalogue |
||
152 | * @param $locale |
||
153 | * @param $domain |
||
154 | * @param $key |
||
155 | * @param $text |
||
156 | * |
||
157 | * @return CatalogueMessage |
||
158 | */ |
||
159 | 4 | private function createMessage(MessageCatalogueInterface $catalogue, $locale, $domain, $key, $text) |
|
169 | } |
||
170 |