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
|
<?php
/**
* @file
* @author Niklas Laxström
* @license GPL-2.0-or-later
*/
namespace LocalisationUpdate\Reader;
/**
* Reads MediaWiki JSON i18n files.
*/
class JSONReader implements Reader {
/// @var string Language tag
protected $code;
public function __construct( $code = null ) {
$this->code = $code;
}
/**
* @param string $contents
*
* @return array
*/
public function parse( $contents ) {
$messages = \FormatJson::decode( $contents, true );
unset( $messages['@metadata'] );
if ( $this->code ) {
return [ $this->code => $messages ];
}
// Assuming that the array is keyed by language codes
return $messages;
}
}
|