For now the core itself doesn't provide those, but extension can use the hook
to provide them. Callers should not except full coverage in every language.
$specialPageAliases: associative array of magic words synonyms
$lang: laguage code (string)
+'LanguageGetTranslatedLanguageNames': Provide translated language names.
+&$names: array of language code => language name
+$code language of the preferred translations
+
'LinkBegin': Used when generating internal and interwiki links in
Linker::link(), before processing starts. Return false to skip default proces-
sing and return $ret. See documentation for Linker::link() for details on the
return $names;
}
+ /**
+ * Get translated language names. This is done on best effort and
+ * by default this is exactly the same as Language::getLanguageNames.
+ * The CLDR extension provides translated names.
+ * @param $code String Language code.
+ * @return Array language code => language name
+ * @since 1.18.0
+ */
+ public static function getTranslatedLanguageNames( $code ) {
+ $names = array();
+ wfRunHooks( 'LanguageGetTranslatedLanguageNames', array( &$names, $code ) );
+
+ foreach ( self::getLanguageNames() as $code => $name ) {
+ if ( !isset( $names[$code] ) ) $names[$code] = $name;
+ }
+
+ return $names;
+ }
+
/**
* Get a message from the MediaWiki namespace.
*