PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.12.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.12.1
5.12.1 5.12.0 5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Translation / Loader / JsonFileLoader.php
matomo / app / core / Translation / Loader Last commit date
DevelopmentLoader.php 2 months ago JsonFileLoader.php 2 months ago LoaderCache.php 2 years ago LoaderInterface.php 2 months ago
JsonFileLoader.php
48 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Translation\Loader;
10
11 use Piwik\Common;
12 /**
13 * Loads translations from JSON files.
14 */
15 class JsonFileLoader implements \Piwik\Translation\Loader\LoaderInterface
16 {
17 public function load($language, array $directories)
18 {
19 if (empty($language)) {
20 return array();
21 }
22 $translations = array();
23 foreach ($directories as $directory) {
24 $filename = $directory . '/' . $language . '.json';
25 if (!file_exists($filename)) {
26 continue;
27 }
28 $translations = array_replace_recursive($translations, $this->loadFile($filename));
29 }
30 return $translations;
31 }
32 /**
33 * @return array<string, array<string, string>>
34 */
35 private function loadFile(string $filename) : array
36 {
37 $data = file_get_contents($filename);
38 $translations = json_decode($data, \true);
39 if (is_null($translations) && Common::hasJsonErrorOccurred()) {
40 throw new \Exception(sprintf('Not able to load translation file %s: %s', $filename, Common::getLastJsonError()));
41 }
42 if (!is_array($translations)) {
43 return [];
44 }
45 return $translations;
46 }
47 }
48