mediawiki-extensions-Visual.../VisualEditor.i18n.php
Roan Kattouw 880a972166 Use JSON support in core for i18n messages
Replace VisualEditor.i18n.php with a shim that uses the
LocalisationCacheRecache hook to read messages from JSON files
and add cache dependencies.

Change-Id: Ib8490d3e327ddf5852827c24ee2aa2916c8af072
2014-01-05 18:41:43 +08:00

24 lines
779 B
PHP

<?php
$messages = array();
$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) {
global $wgMessagesDirs;
$codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
foreach ( (array)$wgMessagesDirs['VisualEditor'] as $dir ) {
foreach ( $codeSequence as $csCode ) {
$fileName = "$dir/$csCode.json";
if ( !is_readable( $fileName ) ) {
continue;
}
$data = FormatJson::decode( file_get_contents( $fileName ), true );
foreach ( $data as $key => $unused ) {
if ( $key === '' || $key[0] === '@' ) {
unset( $data[$key] );
}
}
$cachedData['messages'] = array_merge( $data, $cachedData['messages'] );
$cachedData['deps'][] = new FileDependency( $fileName );
}
}
return true;
};