PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / symfony / translation / Loader / ArrayLoader.php
independent-analytics / vendor / symfony / translation / Loader Last commit date
ArrayLoader.php 1 month ago CsvFileLoader.php 1 month ago FileLoader.php 1 month ago IcuDatFileLoader.php 1 month ago IcuResFileLoader.php 1 month ago IniFileLoader.php 1 month ago JsonFileLoader.php 1 month ago LoaderInterface.php 1 month ago MoFileLoader.php 1 month ago PhpFileLoader.php 1 month ago PoFileLoader.php 1 month ago QtFileLoader.php 1 month ago XliffFileLoader.php 1 month ago YamlFileLoader.php 1 month ago
ArrayLoader.php
55 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace IAWPSCOPED\Symfony\Component\Translation\Loader;
12
13 use IAWPSCOPED\Symfony\Component\Translation\MessageCatalogue;
14 /**
15 * ArrayLoader loads translations from a PHP array.
16 *
17 * @author Fabien Potencier <fabien@symfony.com>
18 * @internal
19 */
20 class ArrayLoader implements LoaderInterface
21 {
22 /**
23 * {@inheritdoc}
24 */
25 public function load(mixed $resource, string $locale, string $domain = 'messages') : MessageCatalogue
26 {
27 $resource = $this->flatten($resource);
28 $catalogue = new MessageCatalogue($locale);
29 $catalogue->add($resource, $domain);
30 return $catalogue;
31 }
32 /**
33 * Flattens an nested array of translations.
34 *
35 * The scheme used is:
36 * 'key' => ['key2' => ['key3' => 'value']]
37 * Becomes:
38 * 'key.key2.key3' => 'value'
39 */
40 private function flatten(array $messages) : array
41 {
42 $result = [];
43 foreach ($messages as $key => $value) {
44 if (\is_array($value)) {
45 foreach ($this->flatten($value) as $k => $v) {
46 $result[$key . '.' . $k] = $v;
47 }
48 } else {
49 $result[$key] = $value;
50 }
51 }
52 return $result;
53 }
54 }
55