X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=languages%2FLanguage.php;h=b5eef8caa03d715b6f6475d6df440a1a039b103f;hp=fb45cf78688acf37624ff383b32059aa12e5752c;hb=f7e1770fb832aa77bf4e16ce8cc815f2b24dd10d;hpb=e0ba37d622114a8d170f03a6960e59311b50d9e8 diff --git a/languages/Language.php b/languages/Language.php index fb45cf7868..b5eef8caa0 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -203,10 +203,11 @@ class Language { /** * Create a language object for a given language code * @param string $code + * @param $fallback boolean Whether we're going through language fallback chain * @throws MWException * @return Language */ - protected static function newFromCode( $code ) { + protected static function newFromCode( $code, $fallback = false ) { if ( !Language::isValidCode( $code ) ) { throw new MWException( "Invalid language code \"$code\"" ); } @@ -220,7 +221,7 @@ class Language { } // Check if there is a language class for the code - $class = self::classFromCode( $code ); + $class = self::classFromCode( $code, $fallback ); if ( class_exists( $class ) ) { $lang = new $class; return $lang; @@ -826,7 +827,7 @@ class Language { * @return array Language code => language name */ private static function fetchLanguageNamesUncached( $inLanguage = null, $include = 'mw' ) { - global $wgExtraLanguageNames; + global $wgExtraLanguageNames, $wgUsePigLatinVariant; // If passed an invalid language code to use, fallback to en if ( $inLanguage !== null && !Language::isValidCode( $inLanguage ) ) { @@ -841,6 +842,11 @@ class Language { } $mwNames = $wgExtraLanguageNames + MediaWiki\Languages\Data\Names::$names; + if ( $wgUsePigLatinVariant ) { + // Pig Latin (for variant development) + $mwNames['en-x-piglatin'] = 'Igpay Atinlay'; + } + foreach ( $mwNames as $mwCode => $mwName ) { # - Prefer own MediaWiki native name when not using the hook # - For other names just add if not added through the hook @@ -4338,10 +4344,11 @@ class Language { /** * @param string $code + * @param boolean $fallback Whether we're going through language fallback chain * @return string Name of the language class */ - public static function classFromCode( $code ) { - if ( $code == 'en' ) { + public static function classFromCode( $code, $fallback = true ) { + if ( $fallback && $code == 'en' ) { return 'Language'; } else { return 'Language' . str_replace( '-', '_', ucfirst( $code ) );