From 757714bf95c15342be0447e9b7d0b5c778a1f0f1 Mon Sep 17 00:00:00 2001 From: Fomafix Date: Wed, 17 Feb 2016 05:27:49 +0000 Subject: [PATCH] Title.php: Support DB language in getPageViewLanguage() If a page language in database is set then use the current preferred variant of this language. Bug: T117667 Change-Id: Idfe1165346ae0068a4b73de441dc9dfa107b8e8b --- includes/Title.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/includes/Title.php b/includes/Title.php index 90ac89ced8..c0ec97f219 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -4699,6 +4699,18 @@ class Title implements LinkTarget { return $wgLang; } + // Checking if DB language is set + $dbPageLanguage = $this->getDbPageLanguageCode(); + if ( $dbPageLanguage ) { + $pageLang = wfGetLangObj( $dbPageLanguage ); + $variant = $pageLang->getPreferredVariant(); + if ( $pageLang->getCode() !== $variant ) { + $pageLang = Language::factory( $variant ); + } + + return $pageLang; + } + // @note Can't be cached persistently, depends on user settings. // @note ContentHandler::getPageViewLanguage() may need to load the // content to determine the page language! -- 2.20.1