diff --git a/Nuke.i18n.php b/Nuke.i18n.php index eeb2776d..a01e3a8c 100755 --- a/Nuke.i18n.php +++ b/Nuke.i18n.php @@ -11,21 +11,25 @@ * This shim maintains compatibility back to MediaWiki 1.17. */ $messages = array(); -$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) { - $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] ); - foreach ( $codeSequence as $csCode ) { - $fileName = __DIR__ . "/i18n/$csCode.json"; - if ( is_readable( $fileName ) ) { - $data = FormatJson::decode( file_get_contents( $fileName ), true ); - foreach ( array_keys( $data ) as $key ) { - if ( $key === '' || $key[0] === '@' ) { - unset( $data[$key] ); +if ( !function_exists( 'wfJsonI18nShim1b110e87fcd3a9cb' ) ) { + function wfJsonI18nShim1b110e87fcd3a9cb( $cache, $code, &$cachedData ) { + $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] ); + foreach ( $codeSequence as $csCode ) { + $fileName = dirname( __FILE__ ) . "/i18n/$csCode.json"; + if ( is_readable( $fileName ) ) { + $data = FormatJson::decode( file_get_contents( $fileName ), true ); + foreach ( array_keys( $data ) as $key ) { + if ( $key === '' || $key[0] === '@' ) { + unset( $data[$key] ); + } } + $cachedData['messages'] = array_merge( $data, $cachedData['messages'] ); } - $cachedData['messages'] = array_merge( $data, $cachedData['messages'] ); - } - $cachedData['deps'][] = new FileDependency( $fileName ); + $cachedData['deps'][] = new FileDependency( $fileName ); + } + return true; } - return true; -}; + + $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 'wfJsonI18nShim1b110e87fcd3a9cb'; +}