PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
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 6 years ago JsonFileLoader.php 6 years ago LoaderCache.php 6 years ago LoaderInterface.php 6 years ago
JsonFileLoader.php
65 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8
9 namespace Piwik\Translation\Loader;
10
11 use Piwik\Common;
12
13 /**
14 * Loads translations from JSON files.
15 */
16 class JsonFileLoader implements LoaderInterface
17 {
18 /**
19 * {@inheritdoc}
20 */
21 public function load($language, array $directories)
22 {
23 if (empty($language)) {
24 return array();
25 }
26
27 $translations = array();
28
29 foreach ($directories as $directory) {
30 $filename = $directory . '/' . $language . '.json';
31
32 if (! file_exists($filename)) {
33 continue;
34 }
35
36 $translations = array_replace_recursive(
37 $translations,
38 $this->loadFile($filename)
39 );
40 }
41
42 return $translations;
43 }
44
45 private function loadFile($filename)
46 {
47 $data = file_get_contents($filename);
48 $translations = json_decode($data, true);
49
50 if (is_null($translations) && Common::hasJsonErrorOccurred()) {
51 throw new \Exception(sprintf(
52 'Not able to load translation file %s: %s',
53 $filename,
54 Common::getLastJsonError()
55 ));
56 }
57
58 if (!is_array($translations)) {
59 return array();
60 }
61
62 return $translations;
63 }
64 }
65