* Gives language names.
* @param $parser Parser
* @param $code String Language code
- * @param $inLanguage String Language code
+ * @param $language String Language code
* @return String
*/
- static function language( $parser, $code = '', $inLanguage = '' ) {
+ static function language( $parser, $code = '', $language = '' ) {
+ global $wgContLang;
$code = strtolower( $code );
- # default to native language name
- $inLanguage = $inLanguage !== '' ? strtolower( $inLanguage ) : $code;
- $names = Language::getTranslatedLanguageNames( $inLanguage );
- return isset( $names[$code] ) ? $names[$code] : wfBCP47( $code );
+ $language = strtolower( $language );
+
+ if ( $language !== '' ) {
+ $names = Language::getTranslatedLanguageNames( $language );
+ return isset( $names[$code] ) ? $names[$code] : wfBCP47( $code );
+ }
+
+ $lang = $wgContLang->getLanguageName( $code );
+ return $lang !== '' ? $lang : wfBCP47( $code );
}
/**
$names = array();
wfRunHooks( 'LanguageGetTranslatedLanguageNames', array( &$names, $code ) );
- foreach ( self::getLanguageNames() as $code2 => $name ) {
- # Prefer own MediaWiki native name,
- # for other names just add if not added through the hook
- if ( $code === $code2 || !isset( $names[$code2] ) ) {
- $names[$code2] = $name;
- }
+ foreach ( self::getLanguageNames() as $code => $name ) {
+ if ( !isset( $names[$code] ) ) $names[$code] = $name;
}
return $names;