]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - extensions/LocalisationUpdate/reader/JSONReader.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / extensions / LocalisationUpdate / reader / JSONReader.php
diff --git a/extensions/LocalisationUpdate/reader/JSONReader.php b/extensions/LocalisationUpdate/reader/JSONReader.php
new file mode 100644 (file)
index 0000000..fdc4e1d
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+/**
+ * @file
+ * @author Niklas Laxström
+ * @license GPL-2.0+
+ */
+
+namespace LocalisationUpdate;
+
+/**
+ * Reads MediaWiki JSON i18n files.
+ */
+class JSONReader implements Reader {
+       /// @var string Language tag
+       protected $code;
+
+       public function __construct( $code = null ) {
+               $this->code = $code;
+       }
+
+       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;
+       }
+}