Index: Babel.class.php =================================================================== --- Babel.class.php (revision 98500) +++ Babel.class.php (working copy) @@ -19,6 +19,7 @@ * @return string: Babel tower. */ public static function Render( $parser ) { + global $wgBabelUseUserLanguage; $parameters = func_get_args(); array_shift( $parameters ); self::$title = $parser->getTitle(); @@ -56,7 +57,13 @@ } } - $top = wfMessage( 'babel', self::$title->getDBkey() )->inContentLanguage(); // TODO: allow user language + $top = wfMessage( 'babel', self::$title->getDBkey() )->inContentLanguage(); + if ( $wgBabelUseUserLanguage ) { + $top = $top->inLanguage( $parser->getOptions()->getUserLangObj() ); + } else { + $top = $top->inContentLanguage(); + } + if ( $top->isDisabled() ) { $top = ''; } else { @@ -67,7 +74,13 @@ } $top = '! class="mw-babel-header" | ' . $top; } - $footer = wfMessage( 'babel-footer', self::$title->getDBkey() )->inContentLanguage(); // TODO: allow user language + $footer = wfMessage( 'babel-footer', self::$title->getDBkey() ); + if ( $wgBabelUseUserLanguage ) { + $footer = $footer->inLanguage( $parser->getOptions()->getUserLangObj() ); + } else { + $footer = $footer->inContentLanguage(); + } + if ( $footer->isDisabled() ) { $footer = ''; } else { Index: Babel.php =================================================================== --- Babel.php (revision 98500) +++ Babel.php (working copy) @@ -67,6 +67,9 @@ $wgBabelMainCategory = '%code%'; // Default level. $wgBabelDefaultLevel = 'N'; +// Use the viewing user's language for babel box header's and footer's +// May fragment parser cache, but otherwise shouldn't cause problems +$wgBabelUseUserLanguage = false; // A boolean (true or false) indicating whether ISO 639-3 codes should be preferred over ISO 639-1 codes. $wgBabelPreferISO639_3 = false; // Not yet used.