update Piwik to version 2.16 (fixes #91)
This commit is contained in:
parent
296343bf3b
commit
d885a4baa9
5833 changed files with 418860 additions and 226988 deletions
64
www/analytics/core/Translation/Loader/JsonFileLoader.php
Normal file
64
www/analytics/core/Translation/Loader/JsonFileLoader.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace Piwik\Translation\Loader;
|
||||
|
||||
use Piwik\Common;
|
||||
|
||||
/**
|
||||
* Loads translations from JSON files.
|
||||
*/
|
||||
class JsonFileLoader implements LoaderInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function load($language, array $directories)
|
||||
{
|
||||
if (empty($language)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
$translations = array();
|
||||
|
||||
foreach ($directories as $directory) {
|
||||
$filename = $directory . '/' . $language . '.json';
|
||||
|
||||
if (! file_exists($filename)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$translations = array_replace_recursive(
|
||||
$translations,
|
||||
$this->loadFile($filename)
|
||||
);
|
||||
}
|
||||
|
||||
return $translations;
|
||||
}
|
||||
|
||||
private function loadFile($filename)
|
||||
{
|
||||
$data = file_get_contents($filename);
|
||||
$translations = json_decode($data, true);
|
||||
|
||||
if (is_null($translations) && Common::hasJsonErrorOccurred()) {
|
||||
throw new \Exception(sprintf(
|
||||
'Not able to load translation file %s: %s',
|
||||
$filename,
|
||||
Common::getLastJsonError()
|
||||
));
|
||||
}
|
||||
|
||||
if (!is_array($translations)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return $translations;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue