1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<?php
namespace Gettext\Utils;
use Gettext\Translations;
/** * Trait used by all generators that exports the translations to plain dictionary (original => singular-translation). */ trait DictionaryTrait { use HeadersGeneratorTrait; use HeadersExtractorTrait;
/** * Returns a plain dictionary with the format [original => translation]. * * @param Translations $translations * @param bool $includeHeaders * * @return array */ private static function toArray(Translations $translations, $includeHeaders) { $messages = [];
if ($includeHeaders) { $messages[''] = self::generateHeaders($translations); }
foreach ($translations as $translation) { $messages[$translation->getOriginal()] = $translation->getTranslation(); }
return $messages; }
/** * Extract the entries from a dictionary. * * @param array $messages * @param Translations $translations */ private static function fromArray(array $messages, Translations $translations) { foreach ($messages as $original => $translation) { if ($original === '') { self::extractHeaders($translation, $translations); continue; }
$translations->insert(null, $original)->setTranslation($translation); } } }
|