Add a new {{PAGELANGUAGE}} variable for use in wikitext
authordivadsn <divad.nnamtdeis@gmail.com>
Fri, 6 Jan 2017 19:44:36 +0000 (19:44 +0000)
committerdivadsn <divad.nnamtdeis@gmail.com>
Sat, 7 Jan 2017 02:03:53 +0000 (02:03 +0000)
Returns the language code of the page being parsed.

Bug: T59603
Change-Id: I229edd6251cf1120b3395d1811dbb9d96d9cd8ee

RELEASE-NOTES-1.29
includes/MagicWord.php
includes/parser/Parser.php
languages/messages/MessagesEn.php
tests/parser/parserTests.txt

index 7c60fa7..3630abc 100644 (file)
@@ -41,6 +41,8 @@ production.
   via mw.config.get('wgPageParseReport').
 * Added $wgSoftBlockRanges, to allow for automatically blocking anonymous edits
   from certain IP ranges (e.g. private IPs).
+* (T59603) Added new magic word {{PAGELANGUAGE}} which returns the language code
+  of the page being parsed.
 
 === External library changes in 1.29 ===
 
index 391e05a..5968e87 100644 (file)
@@ -169,6 +169,7 @@ class MagicWord {
                'localtimestamp',
                'directionmark',
                'contentlanguage',
+               'pagelanguage',
                'numberofadmins',
                'cascadingsources',
        ];
index 157946c..79fc172 100644 (file)
@@ -2812,6 +2812,9 @@ class Parser {
                        case 'contentlanguage':
                                global $wgLanguageCode;
                                return $wgLanguageCode;
+                       case 'pagelanguage':
+                               $value = $pageLang->getCode();
+                               break;
                        case 'cascadingsources':
                                $value = CoreParserFunctions::cascadingsources( $this );
                                break;
index 67369e2..99d3f64 100644 (file)
@@ -349,6 +349,7 @@ $magicWords = [
        'directionmark'           => [ 1, 'DIRECTIONMARK', 'DIRMARK' ],
        'language'                => [ 0, '#LANGUAGE:' ],
        'contentlanguage'         => [ 1, 'CONTENTLANGUAGE', 'CONTENTLANG' ],
+       'pagelanguage'            => [ 1, 'PAGELANGUAGE' ],
        'pagesinnamespace'        => [ 1, 'PAGESINNAMESPACE:', 'PAGESINNS:' ],
        'numberofadmins'          => [ 1, 'NUMBEROFADMINS' ],
        'formatnum'               => [ 0, 'FORMATNUM' ],
index 56816e1..16d724d 100644 (file)
@@ -10289,6 +10289,17 @@ Magic Word: {{SITENAME}}
 </p>
 !! end
 
+!! test
+Magic Word: {{PAGELANGUAGE}}
+!! options
+language=fr
+!! wikitext
+{{PAGELANGUAGE}}
+!! html
+<p>fr
+</p>
+!! end
+
 !! test
 Case-sensitive magic words, when cased differently, should just be template transclusions
 !! wikitext