+
+ // Check for fallback languages specified by the UI language
+ $possibilities = Language::getFallbacksFor( $uiCode );
+ foreach ( $possibilities as $lang ) {
+ if ( $lang !== $wikiLangCode ) {
+ $proposed = $base->getSubpage( $lang );
+ if ( $proposed && $proposed->exists() ) {
+ return $proposed;
+ }
+ }
+ }
+
+ // When all else has failed, return the base page
+ return $base;