From e53ff931ab17ba9e999ee550ddfdef89b172675f Mon Sep 17 00:00:00 2001 From: Fomafix Date: Mon, 9 Nov 2015 05:43:11 +0000 Subject: [PATCH] Apply wfBCP47() to HTTP response header Content-Language See https://tools.ietf.org/html/rfc7231#section-3.1.3 for Content-Language. This references https://tools.ietf.org/html/rfc5646 aka BCP 47. Example: curl -I https://crh.wikipedia.org/wiki/Ba%C5%9F_Saife | grep -i '^content-language:' should contain Content-language: crh-Latn instead of Content-language: crh-latn Change-Id: Ice4f40911c3761c2542430935bc1898bc4e7a4d4 --- includes/OutputPage.php | 2 +- includes/cache/HTMLFileCache.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 4c4fb1c6e4..ba14b99557 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -2268,7 +2268,7 @@ class OutputPage extends ContextSource { ob_start(); $response->header( 'Content-type: ' . $config->get( 'MimeType' ) . '; charset=UTF-8' ); - $response->header( 'Content-language: ' . $config->get( 'LanguageCode' ) ); + $response->header( 'Content-language: ' . $config->get( 'ContLang' )->getHtmlCode() ); // Avoid Internet Explorer "compatibility view" in IE 8-10, so that // jQuery etc. can work correctly. diff --git a/includes/cache/HTMLFileCache.php b/includes/cache/HTMLFileCache.php index 52ae27912d..71011e03a0 100644 --- a/includes/cache/HTMLFileCache.php +++ b/includes/cache/HTMLFileCache.php @@ -154,7 +154,7 @@ class HTMLFileCache extends FileCacheBase { * @return void */ public function loadFromFileCache( IContextSource $context, $mode = self::MODE_NORMAL ) { - global $wgMimeType, $wgLanguageCode; + global $wgMimeType, $wgContLang; wfDebug( __METHOD__ . "()\n" ); $filename = $this->cachePath(); @@ -166,7 +166,7 @@ class HTMLFileCache extends FileCacheBase { $context->getOutput()->sendCacheControl(); header( "Content-Type: $wgMimeType; charset=UTF-8" ); - header( "Content-Language: $wgLanguageCode" ); + header( 'Content-Language: ' . $wgContLang->getHtmlCode() ); if ( $this->useGzip() ) { if ( wfClientAcceptsGzip() ) { header( 'Content-Encoding: gzip' ); -- 2.20.1