%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/extensions/LocalisationUpdate/reader/ |
Current File : /www/varak.net/wiki.varak.net/extensions/LocalisationUpdate/reader/ReaderFactory.php |
<?php /** * @file * @author Niklas Laxström * @license GPL-2.0+ */ namespace LocalisationUpdate; /** * Constructs readers for files based on the names. */ class ReaderFactory { /** * Constructs a suitable reader for a given path. * @param string $filename Usually a relative path to the file name. * @return Reader * @throw Exception */ public function getReader( $filename ) { if ( preg_match( '/i18n\.php$/', $filename ) ) { return new PHPReader(); } // Ugly hack for core i18n files if ( preg_match( '/Messages(.*)\.php$/', $filename ) ) { $code = \Language::getCodeFromFileName( basename( $filename ), 'Messages' ); return new PHPReader( $code ); } if ( preg_match( '/\.json/', $filename ) ) { $code = basename( $filename, '.json' ); return new JSONReader( $code ); } throw new \Exception( "Unknown file format: " . $filename ); } }