Fix Bug 33653 -JqueryMsg parser should support templates without replacements
[lhc/web/wiklou.git] / resources / mediawiki / mediawiki.jqueryMsg.js
index 6c00bd1..a8d4a3a 100644 (file)
                                return result === null ? null : [ result[0], result[2] ];
                        }
 
+                       function templateWithOutReplacement() {
+                               var result = sequence( [
+                                       templateName,
+                                       colon,
+                                       paramExpression
+                               ] );
+                               return result === null ? null : [ result[0], result[2] ];
+                       }
+
                        var colon = makeStringParser(':');
 
                        var templateContents = choice( [
                                function() {
                                        var res = sequence( [
-                                               templateWithReplacement,
+                                               // templates can have placeholders for dynamic replacement eg: {{PLURAL:$1|one car|$1 cars}}
+                                               // or no placeholders eg: {{GRAMMAR:genitive|{{SITENAME}}}
+                                               choice( [ templateWithReplacement, templateWithOutReplacement ] ),
                                                nOrMore( 0, templateParam )
                                        ] );
                                        return res === null ? null : res[0].concat( res[1] );