MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "warnings": {
        "main": {
            "*": "Unrecognized parameter: refix."
        }
    },
    "batchcomplete": "",
    "query": {
        "allmessages": [
            {
                "name": "1movedto2",
                "normalizedname": "1movedto2",
                "*": "moved [[$1]] to [[$2]]"
            },
            {
                "name": "1movedto2_redir",
                "normalizedname": "1movedto2_redir",
                "*": "moved [[$1]] to [[$2]] over redirect"
            },
            {
                "name": "about",
                "normalizedname": "about",
                "*": "About"
            },
            {
                "name": "aboutpage",
                "normalizedname": "aboutpage",
                "*": "Project:About"
            },
            {
                "name": "aboutsite",
                "normalizedname": "aboutsite",
                "*": "About {{SITENAME}}"
            },
            {
                "name": "accesskey-blockip-block",
                "normalizedname": "accesskey-blockip-block",
                "*": "s"
            },
            {
                "name": "accesskey-ca-addsection",
                "normalizedname": "accesskey-ca-addsection",
                "*": "+"
            },
            {
                "name": "accesskey-ca-delete",
                "normalizedname": "accesskey-ca-delete",
                "*": "d"
            },
            {
                "name": "accesskey-ca-edit",
                "normalizedname": "accesskey-ca-edit",
                "*": "e"
            },
            {
                "name": "accesskey-ca-history",
                "normalizedname": "accesskey-ca-history",
                "*": "h"
            },
            {
                "name": "accesskey-ca-move",
                "normalizedname": "accesskey-ca-move",
                "*": "m"
            },
            {
                "name": "accesskey-ca-nstab-category",
                "normalizedname": "accesskey-ca-nstab-category",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-help",
                "normalizedname": "accesskey-ca-nstab-help",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-image",
                "normalizedname": "accesskey-ca-nstab-image",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-main",
                "normalizedname": "accesskey-ca-nstab-main",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-media",
                "normalizedname": "accesskey-ca-nstab-media",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-mediawiki",
                "normalizedname": "accesskey-ca-nstab-mediawiki",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-project",
                "normalizedname": "accesskey-ca-nstab-project",
                "*": "a"
            },
            {
                "name": "accesskey-ca-nstab-special",
                "normalizedname": "accesskey-ca-nstab-special",
                "*": ""
            },
            {
                "name": "accesskey-ca-nstab-template",
                "normalizedname": "accesskey-ca-nstab-template",
                "*": "c"
            },
            {
                "name": "accesskey-ca-nstab-user",
                "normalizedname": "accesskey-ca-nstab-user",
                "*": "c"
            },
            {
                "name": "accesskey-ca-protect",
                "normalizedname": "accesskey-ca-protect",
                "*": "="
            },
            {
                "name": "accesskey-ca-talk",
                "normalizedname": "accesskey-ca-talk",
                "*": "t"
            },
            {
                "name": "accesskey-ca-undelete",
                "normalizedname": "accesskey-ca-undelete",
                "*": "d"
            },
            {
                "name": "accesskey-ca-unprotect",
                "normalizedname": "accesskey-ca-unprotect",
                "*": "="
            },
            {
                "name": "accesskey-ca-unwatch",
                "normalizedname": "accesskey-ca-unwatch",
                "*": "w"
            },
            {
                "name": "accesskey-ca-viewsource",
                "normalizedname": "accesskey-ca-viewsource",
                "*": "e"
            },
            {
                "name": "accesskey-ca-watch",
                "normalizedname": "accesskey-ca-watch",
                "*": "w"
            },
            {
                "name": "accesskey-compareselectedversions",
                "normalizedname": "accesskey-compareselectedversions",
                "*": "v"
            },
            {
                "name": "accesskey-diff",
                "normalizedname": "accesskey-diff",
                "*": "v"
            },
            {
                "name": "accesskey-export",
                "normalizedname": "accesskey-export",
                "*": "s"
            },
            {
                "name": "accesskey-feed-atom",
                "normalizedname": "accesskey-feed-atom",
                "*": ""
            },
            {
                "name": "accesskey-feed-rss",
                "normalizedname": "accesskey-feed-rss",
                "*": ""
            },
            {
                "name": "accesskey-import",
                "normalizedname": "accesskey-import",
                "*": "s"
            },
            {
                "name": "accesskey-minoredit",
                "normalizedname": "accesskey-minoredit",
                "*": "i"
            },
            {
                "name": "accesskey-n-currentevents",
                "normalizedname": "accesskey-n-currentevents",
                "*": ""
            },
            {
                "name": "accesskey-n-help",
                "normalizedname": "accesskey-n-help",
                "*": ""
            },
            {
                "name": "accesskey-n-mainpage",
                "normalizedname": "accesskey-n-mainpage",
                "*": "z"
            },
            {
                "name": "accesskey-n-mainpage-description",
                "normalizedname": "accesskey-n-mainpage-description",
                "*": "z"
            },
            {
                "name": "accesskey-n-portal",
                "normalizedname": "accesskey-n-portal",
                "*": ""
            },
            {
                "name": "accesskey-n-randompage",
                "normalizedname": "accesskey-n-randompage",
                "*": "x"
            },
            {
                "name": "accesskey-n-recentchanges",
                "normalizedname": "accesskey-n-recentchanges",
                "*": "r"
            },
            {
                "name": "accesskey-p-logo",
                "normalizedname": "accesskey-p-logo",
                "*": ""
            },
            {
                "name": "accesskey-preferences-save",
                "normalizedname": "accesskey-preferences-save",
                "*": "s"
            },
            {
                "name": "accesskey-preview",
                "normalizedname": "accesskey-preview",
                "*": "p"
            },
            {
                "name": "accesskey-pt-anoncontribs",
                "normalizedname": "accesskey-pt-anoncontribs",
                "*": "y"
            },
            {
                "name": "accesskey-pt-anontalk",
                "normalizedname": "accesskey-pt-anontalk",
                "*": "n"
            },
            {
                "name": "accesskey-pt-anonuserpage",
                "normalizedname": "accesskey-pt-anonuserpage",
                "*": "."
            },
            {
                "name": "accesskey-pt-createaccount",
                "normalizedname": "accesskey-pt-createaccount",
                "*": ""
            },
            {
                "name": "accesskey-pt-login",
                "normalizedname": "accesskey-pt-login",
                "*": "o"
            },
            {
                "name": "accesskey-pt-login-private",
                "normalizedname": "accesskey-pt-login-private",
                "*": "o"
            },
            {
                "name": "accesskey-pt-logout",
                "normalizedname": "accesskey-pt-logout",
                "*": ""
            },
            {
                "name": "accesskey-pt-mycontris",
                "normalizedname": "accesskey-pt-mycontris",
                "*": "y"
            },
            {
                "name": "accesskey-pt-mytalk",
                "normalizedname": "accesskey-pt-mytalk",
                "*": "n"
            },
            {
                "name": "accesskey-pt-preferences",
                "normalizedname": "accesskey-pt-preferences",
                "*": ""
            },
            {
                "name": "accesskey-pt-userpage",
                "normalizedname": "accesskey-pt-userpage",
                "*": "."
            },
            {
                "name": "accesskey-pt-watchlist",
                "normalizedname": "accesskey-pt-watchlist",
                "*": "l"
            },
            {
                "name": "accesskey-publish",
                "normalizedname": "accesskey-publish",
                "*": "s"
            },
            {
                "name": "accesskey-save",
                "normalizedname": "accesskey-save",
                "*": "s"
            },
            {
                "name": "accesskey-search",
                "normalizedname": "accesskey-search",
                "*": "f"
            },
            {
                "name": "accesskey-search-fulltext",
                "normalizedname": "accesskey-search-fulltext",
                "*": ""
            },
            {
                "name": "accesskey-search-go",
                "normalizedname": "accesskey-search-go",
                "*": ""
            },
            {
                "name": "accesskey-summary",
                "normalizedname": "accesskey-summary",
                "*": "b"
            },
            {
                "name": "accesskey-t-contributions",
                "normalizedname": "accesskey-t-contributions",
                "*": ""
            },
            {
                "name": "accesskey-t-emailuser",
                "normalizedname": "accesskey-t-emailuser",
                "*": ""
            },
            {
                "name": "accesskey-t-info",
                "normalizedname": "accesskey-t-info",
                "*": ""
            },
            {
                "name": "accesskey-t-permalink",
                "normalizedname": "accesskey-t-permalink",
                "*": ""
            },
            {
                "name": "accesskey-t-print",
                "normalizedname": "accesskey-t-print",
                "*": "p"
            },
            {
                "name": "accesskey-t-recentchangeslinked",
                "normalizedname": "accesskey-t-recentchangeslinked",
                "*": "k"
            },
            {
                "name": "accesskey-t-specialpages",
                "normalizedname": "accesskey-t-specialpages",
                "*": "q"
            },
            {
                "name": "accesskey-t-upload",
                "normalizedname": "accesskey-t-upload",
                "*": "u"
            },
            {
                "name": "accesskey-t-whatlinkshere",
                "normalizedname": "accesskey-t-whatlinkshere",
                "*": "j"
            },
            {
                "name": "accesskey-upload",
                "normalizedname": "accesskey-upload",
                "*": "s"
            },
            {
                "name": "accesskey-userrights-set",
                "normalizedname": "accesskey-userrights-set",
                "*": "s"
            },
            {
                "name": "accesskey-watch",
                "normalizedname": "accesskey-watch",
                "*": "w"
            },
            {
                "name": "accesskey-watchlistedit-normal-submit",
                "normalizedname": "accesskey-watchlistedit-normal-submit",
                "*": "s"
            },
            {
                "name": "accesskey-watchlistedit-raw-submit",
                "normalizedname": "accesskey-watchlistedit-raw-submit",
                "*": "s"
            },
            {
                "name": "accmailtext",
                "normalizedname": "accmailtext",
                "*": "A randomly generated password for [[User talk:$1|$1]] has been sent to $2. It can be changed on the <em>[[Special:ChangePassword|change password]]</em> page upon logging in."
            },
            {
                "name": "accmailtitle",
                "normalizedname": "accmailtitle",
                "*": "Password sent"
            },
            {
                "name": "accountcreated",
                "normalizedname": "accountcreated",
                "*": "Account created"
            },
            {
                "name": "accountcreatedtext",
                "normalizedname": "accountcreatedtext",
                "*": "The user account for [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) has been created."
            },
            {
                "name": "acct_creation_throttle_hit",
                "normalizedname": "acct_creation_throttle_hit",
                "*": "Visitors to this wiki using your IP address have created {{PLURAL:$1|1 account|$1 accounts}} in the last $2, which is the maximum allowed in this time period.\nAs a result, visitors using this IP address cannot create any more accounts at the moment."
            },
            {
                "name": "action-applychangetags",
                "normalizedname": "action-applychangetags",
                "*": "apply tags along with your changes"
            },
            {
                "name": "action-autocreateaccount",
                "normalizedname": "action-autocreateaccount",
                "*": "automatically create this external user account"
            },
            {
                "name": "action-autopatrol",
                "normalizedname": "action-autopatrol",
                "*": "have your edit marked as patrolled"
            },
            {
                "name": "action-block",
                "normalizedname": "action-block",
                "*": "block this user from editing"
            },
            {
                "name": "action-browsearchive",
                "normalizedname": "action-browsearchive",
                "*": "search deleted pages"
            },
            {
                "name": "action-changetags",
                "normalizedname": "action-changetags",
                "*": "add and remove arbitrary tags on individual revisions and log entries"
            },
            {
                "name": "action-createaccount",
                "normalizedname": "action-createaccount",
                "*": "create this user account"
            },
            {
                "name": "action-createpage",
                "normalizedname": "action-createpage",
                "*": "create this page"
            },
            {
                "name": "action-createtalk",
                "normalizedname": "action-createtalk",
                "*": "create this discussion page"
            },
            {
                "name": "action-delete",
                "normalizedname": "action-delete",
                "*": "delete this page"
            },
            {
                "name": "action-deletechangetags",
                "normalizedname": "action-deletechangetags",
                "*": "delete tags from the database"
            },
            {
                "name": "action-deletedhistory",
                "normalizedname": "action-deletedhistory",
                "*": "view a page's deleted history"
            },
            {
                "name": "action-deletedtext",
                "normalizedname": "action-deletedtext",
                "*": "view deleted revision text"
            },
            {
                "name": "action-deletelogentry",
                "normalizedname": "action-deletelogentry",
                "*": "delete log entries"
            },
            {
                "name": "action-deleterevision",
                "normalizedname": "action-deleterevision",
                "*": "delete revisions"
            },
            {
                "name": "action-edit",
                "normalizedname": "action-edit",
                "*": "edit this page"
            },
            {
                "name": "action-editcontentmodel",
                "normalizedname": "action-editcontentmodel",
                "*": "edit the content model of a page"
            },
            {
                "name": "action-editmyoptions",
                "normalizedname": "action-editmyoptions",
                "*": "edit your preferences"
            },
            {
                "name": "action-editmyprivateinfo",
                "normalizedname": "action-editmyprivateinfo",
                "*": "edit your private information"
            },
            {
                "name": "action-editmywatchlist",
                "normalizedname": "action-editmywatchlist",
                "*": "edit your watchlist"
            },
            {
                "name": "action-history",
                "normalizedname": "action-history",
                "*": "view the history of this page"
            },
            {
                "name": "action-import",
                "normalizedname": "action-import",
                "*": "import pages from another wiki"
            },
            {
                "name": "action-importupload",
                "normalizedname": "action-importupload",
                "*": "import pages from a file upload"
            },
            {
                "name": "action-managechangetags",
                "normalizedname": "action-managechangetags",
                "*": "create and (de)activate tags"
            },
            {
                "name": "action-mergehistory",
                "normalizedname": "action-mergehistory",
                "*": "merge the history of this page"
            },
            {
                "name": "action-minoredit",
                "normalizedname": "action-minoredit",
                "*": "mark this edit as minor"
            },
            {
                "name": "action-move",
                "normalizedname": "action-move",
                "*": "move this page"
            },
            {
                "name": "action-move-categorypages",
                "normalizedname": "action-move-categorypages",
                "*": "move category pages"
            },
            {
                "name": "action-move-rootuserpages",
                "normalizedname": "action-move-rootuserpages",
                "*": "move root user pages"
            },
            {
                "name": "action-move-subpages",
                "normalizedname": "action-move-subpages",
                "*": "move this page, and its subpages"
            },
            {
                "name": "action-movefile",
                "normalizedname": "action-movefile",
                "*": "move this file"
            },
            {
                "name": "action-pagelang",
                "normalizedname": "action-pagelang",
                "*": "change the page language"
            },
            {
                "name": "action-patrol",
                "normalizedname": "action-patrol",
                "*": "mark others' edits as patrolled"
            },
            {
                "name": "action-protect",
                "normalizedname": "action-protect",
                "*": "change protection levels for this page"
            },
            {
                "name": "action-purge",
                "normalizedname": "action-purge",
                "*": "purge this page"
            },
            {
                "name": "action-read",
                "normalizedname": "action-read",
                "*": "read this page"
            },
            {
                "name": "action-reupload",
                "normalizedname": "action-reupload",
                "*": "overwrite this existing file"
            },
            {
                "name": "action-reupload-shared",
                "normalizedname": "action-reupload-shared",
                "*": "override this file on a shared repository"
            },
            {
                "name": "action-rollback",
                "normalizedname": "action-rollback",
                "*": "quickly rollback the edits of the last user who edited a particular page"
            },
            {
                "name": "action-sendemail",
                "normalizedname": "action-sendemail",
                "*": "send emails"
            },
            {
                "name": "action-siteadmin",
                "normalizedname": "action-siteadmin",
                "*": "lock or unlock the database"
            },
            {
                "name": "action-suppressionlog",
                "normalizedname": "action-suppressionlog",
                "*": "view this private log"
            },
            {
                "name": "action-suppressrevision",
                "normalizedname": "action-suppressrevision",
                "*": "review and restore hidden revisions"
            },
            {
                "name": "action-undelete",
                "normalizedname": "action-undelete",
                "*": "undelete pages"
            },
            {
                "name": "action-unwatchedpages",
                "normalizedname": "action-unwatchedpages",
                "*": "view the list of unwatched pages"
            },
            {
                "name": "action-upload",
                "normalizedname": "action-upload",
                "*": "upload this file"
            },
            {
                "name": "action-upload_by_url",
                "normalizedname": "action-upload_by_url",
                "*": "upload this file from a URL"
            },
            {
                "name": "action-userrights",
                "normalizedname": "action-userrights",
                "*": "edit all user rights"
            },
            {
                "name": "action-userrights-interwiki",
                "normalizedname": "action-userrights-interwiki",
                "*": "edit user rights of users on other wikis"
            },
            {
                "name": "action-viewmyprivateinfo",
                "normalizedname": "action-viewmyprivateinfo",
                "*": "view your private information"
            },
            {
                "name": "action-viewmywatchlist",
                "normalizedname": "action-viewmywatchlist",
                "*": "view your watchlist"
            },
            {
                "name": "action-writeapi",
                "normalizedname": "action-writeapi",
                "*": "use the write API"
            },
            {
                "name": "actioncomplete",
                "normalizedname": "actioncomplete",
                "*": "Action complete"
            },
            {
                "name": "actionfailed",
                "normalizedname": "actionfailed",
                "*": "Action failed"
            },
            {
                "name": "actions",
                "normalizedname": "actions",
                "*": "Actions"
            },
            {
                "name": "actionthrottled",
                "normalizedname": "actionthrottled",
                "*": "Action throttled"
            },
            {
                "name": "actionthrottledtext",
                "normalizedname": "actionthrottledtext",
                "*": "As an anti-abuse measure, you are limited from performing this action too many times in a short space of time, and you have exceeded this limit.\nPlease try again in a few minutes."
            },
            {
                "name": "activeusers",
                "normalizedname": "activeusers",
                "*": "Active users list"
            },
            {
                "name": "activeusers-count",
                "normalizedname": "activeusers-count",
                "*": "$1 {{PLURAL:$1|action|actions}} in the last {{PLURAL:$3|day|$3 days}}"
            },
            {
                "name": "activeusers-excludegroups",
                "normalizedname": "activeusers-excludegroups",
                "*": "Exclude users belonging to groups:"
            },
            {
                "name": "activeusers-from",
                "normalizedname": "activeusers-from",
                "*": "Display users starting at:"
            },
            {
                "name": "activeusers-groups",
                "normalizedname": "activeusers-groups",
                "*": "Display users belonging to groups:"
            },
            {
                "name": "activeusers-intro",
                "normalizedname": "activeusers-intro",
                "*": "This is a list of users who had some kind of activity within the last $1 {{PLURAL:$1|day|days}}."
            },
            {
                "name": "activeusers-noresult",
                "normalizedname": "activeusers-noresult",
                "*": "No users found."
            },
            {
                "name": "activeusers-submit",
                "normalizedname": "activeusers-submit",
                "*": "Display active users"
            },
            {
                "name": "activeusers-summary",
                "normalizedname": "activeusers-summary",
                "*": ""
            },
            {
                "name": "addedwatchtext",
                "normalizedname": "addedwatchtext",
                "*": "\"[[:$1]]\" and its discussion page have been added to your [[Special:Watchlist|watchlist]]."
            },
            {
                "name": "addedwatchtext-short",
                "normalizedname": "addedwatchtext-short",
                "*": "The page \"$1\" has been added to your watchlist."
            },
            {
                "name": "addedwatchtext-talk",
                "normalizedname": "addedwatchtext-talk",
                "*": "\"[[:$1]]\" and its associated page have been added to your [[Special:Watchlist|watchlist]]."
            },
            {
                "name": "addsection",
                "normalizedname": "addsection",
                "*": "+"
            },
            {
                "name": "addsection-editintro",
                "normalizedname": "addsection-editintro",
                "*": ""
            },
            {
                "name": "addsection-preload",
                "normalizedname": "addsection-preload",
                "*": ""
            },
            {
                "name": "addwatch",
                "normalizedname": "addwatch",
                "*": "Add to watchlist"
            },
            {
                "name": "ago",
                "normalizedname": "ago",
                "*": "$1 ago"
            },
            {
                "name": "all-logs-page",
                "normalizedname": "all-logs-page",
                "*": "All public logs"
            },
            {
                "name": "allarticles",
                "normalizedname": "allarticles",
                "*": "All pages"
            },
            {
                "name": "allinnamespace",
                "normalizedname": "allinnamespace",
                "*": "All pages ($1 namespace)"
            },
            {
                "name": "alllogstext",
                "normalizedname": "alllogstext",
                "*": "Combined display of all available logs of {{SITENAME}}.\nYou can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive)."
            },
            {
                "name": "allmessages",
                "normalizedname": "allmessages",
                "*": "System messages"
            },
            {
                "name": "allmessages-filter",
                "normalizedname": "allmessages-filter",
                "*": "Filter by customization state:"
            },
            {
                "name": "allmessages-filter-all",
                "normalizedname": "allmessages-filter-all",
                "*": "All"
            },
            {
                "name": "allmessages-filter-legend",
                "normalizedname": "allmessages-filter-legend",
                "*": "Filter"
            },
            {
                "name": "allmessages-filter-modified",
                "normalizedname": "allmessages-filter-modified",
                "*": "Modified"
            },
            {
                "name": "allmessages-filter-submit",
                "normalizedname": "allmessages-filter-submit",
                "*": "Go"
            },
            {
                "name": "allmessages-filter-translate",
                "normalizedname": "allmessages-filter-translate",
                "*": "Translate"
            },
            {
                "name": "allmessages-filter-unmodified",
                "normalizedname": "allmessages-filter-unmodified",
                "*": "Unmodified"
            },
            {
                "name": "allmessages-language",
                "normalizedname": "allmessages-language",
                "*": "Language:"
            },
            {
                "name": "allmessages-prefix",
                "normalizedname": "allmessages-prefix",
                "*": "Filter by prefix:"
            },
            {
                "name": "allmessagescurrent",
                "normalizedname": "allmessagescurrent",
                "*": "Current message text"
            },
            {
                "name": "allmessagesdefault",
                "normalizedname": "allmessagesdefault",
                "*": "Default message text"
            },
            {
                "name": "allmessagesname",
                "normalizedname": "allmessagesname",
                "*": "Name"
            },
            {
                "name": "allmessagesnotsupportedDB",
                "normalizedname": "allmessagesnotsupportedDB",
                "*": "This page cannot be used because <strong>$wgUseDatabaseMessages</strong> has been disabled."
            },
            {
                "name": "allmessagestext",
                "normalizedname": "allmessagestext",
                "*": "This is a list of system messages available in the MediaWiki namespace.\nPlease visit [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation MediaWiki Localisation] and [https://translatewiki.net translatewiki.net] if you wish to contribute to the generic MediaWiki localisation."
            },
            {
                "name": "allowemail",
                "normalizedname": "allowemail",
                "*": "Allow other users to email me"
            },
            {
                "name": "allpages",
                "normalizedname": "allpages",
                "*": "All pages"
            },
            {
                "name": "allpages-bad-ns",
                "normalizedname": "allpages-bad-ns",
                "*": "{{SITENAME}} does not have namespace \"$1\"."
            },
            {
                "name": "allpages-hide-redirects",
                "normalizedname": "allpages-hide-redirects",
                "*": "Hide redirects"
            },
            {
                "name": "allpages-summary",
                "normalizedname": "allpages-summary",
                "*": ""
            },
            {
                "name": "allpagesbadtitle",
                "normalizedname": "allpagesbadtitle",
                "*": "The given page title was invalid or had an inter-language or inter-wiki prefix.\nIt may contain one or more characters that cannot be used in titles."
            },
            {
                "name": "allpagesfrom",
                "normalizedname": "allpagesfrom",
                "*": "Display pages starting at:"
            },
            {
                "name": "allpagesprefix",
                "normalizedname": "allpagesprefix",
                "*": "Display pages with prefix:"
            },
            {
                "name": "allpagessubmit",
                "normalizedname": "allpagessubmit",
                "*": "Go"
            },
            {
                "name": "allpagesto",
                "normalizedname": "allpagesto",
                "*": "Display pages ending at:"
            },
            {
                "name": "alreadyrolled",
                "normalizedname": "alreadyrolled",
                "*": "Cannot rollback last edit of [[:$1]] by [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nsomeone else has edited or rolled back the page already.\n\nThe last edit to the page was by [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]])."
            },
            {
                "name": "ancientpages",
                "normalizedname": "ancientpages",
                "*": "Oldest pages"
            },
            {
                "name": "ancientpages-summary",
                "normalizedname": "ancientpages-summary",
                "*": ""
            },
            {
                "name": "and",
                "normalizedname": "and",
                "*": " and"
            },
            {
                "name": "anoncontribs",
                "normalizedname": "anoncontribs",
                "*": "Contributions"
            },
            {
                "name": "anoneditwarning",
                "normalizedname": "anoneditwarning",
                "*": "<strong>Warning:</strong> You are not logged in. Your IP address will be publicly visible if you make any edits. If you <strong>[$1 log in]</strong> or <strong>[$2 create an account]</strong>, your edits will be attributed to your username, along with other benefits."
            },
            {
                "name": "anonnotice",
                "normalizedname": "anonnotice",
                "*": "-"
            },
            {
                "name": "anononlyblock",
                "normalizedname": "anononlyblock",
                "*": "anon. only"
            },
            {
                "name": "anonpreviewwarning",
                "normalizedname": "anonpreviewwarning",
                "*": "<em>You are not logged in. Saving will record your IP address in this page's edit history.</em>"
            },
            {
                "name": "anontalk",
                "normalizedname": "anontalk",
                "*": "Talk"
            },
            {
                "name": "anontalkpagetext",
                "normalizedname": "anontalkpagetext",
                "*": "----\n<em>This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.</em>\nWe therefore have to use the numerical IP address to identify him/her.\nSuch an IP address can be shared by several users.\nIf you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:CreateAccount|create an account]] or [[Special:UserLogin|log in]] to avoid future confusion with other anonymous users."
            },
            {
                "name": "anonuser",
                "normalizedname": "anonuser",
                "*": "{{SITENAME}} anonymous user $1"
            },
            {
                "name": "anonusers",
                "normalizedname": "anonusers",
                "*": "{{SITENAME}} anonymous {{PLURAL:$2|user|users}} $1"
            },
            {
                "name": "anonymous",
                "normalizedname": "anonymous",
                "*": "Anonymous {{PLURAL:$1|user|users}} of {{SITENAME}}"
            },
            {
                "name": "api-credits",
                "normalizedname": "api-credits",
                "*": "API developers:\n* Yuri Astrakhan (creator, lead developer Sep 2006\u2013Sep 2007)\n* Roan Kattouw (lead developer Sep 2007\u20132009)\n* Victor Vasiliev\n* Bryan Tong Minh\n* Sam Reed\n* Brad Jorsch (lead developer 2013\u2013present)\n\nPlease send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org\nor file a bug report at https://phabricator.wikimedia.org/."
            },
            {
                "name": "api-credits-header",
                "normalizedname": "api-credits-header",
                "*": "Credits"
            },
            {
                "name": "api-error-badtoken",
                "normalizedname": "api-error-badtoken",
                "*": "Internal error: Bad token."
            },
            {
                "name": "api-error-emptypage",
                "normalizedname": "api-error-emptypage",
                "*": "Creating new, empty pages is not allowed."
            },
            {
                "name": "api-error-publishfailed",
                "normalizedname": "api-error-publishfailed",
                "*": "Internal error: Server failed to publish temporary file."
            },
            {
                "name": "api-error-stashfailed",
                "normalizedname": "api-error-stashfailed",
                "*": "Internal error: Server failed to store temporary file."
            },
            {
                "name": "api-error-unknown-warning",
                "normalizedname": "api-error-unknown-warning",
                "*": "Unknown warning: \"$1\"."
            },
            {
                "name": "api-error-unknownerror",
                "normalizedname": "api-error-unknownerror",
                "*": "Unknown error: \"$1\"."
            },
            {
                "name": "api-exception-trace",
                "normalizedname": "api-exception-trace",
                "*": "$1 at $2($3)\n$4"
            },
            {
                "name": "api-feed-error-title",
                "normalizedname": "api-feed-error-title",
                "*": "Error ($1)"
            },
            {
                "name": "api-format-prettyprint-header",
                "normalizedname": "api-format-prettyprint-header",
                "*": "This is the HTML representation of the $1 format. HTML is good for debugging, but is unsuitable for application use.\n\nSpecify the <var>format</var> parameter to change the output format. To see the non-HTML representation of the $1 format, set <kbd>format=$2</kbd>.\n\nSee the [[mw:Special:MyLanguage/API|complete documentation]], or the [[Special:ApiHelp/main|API help]] for more information."
            },
            {
                "name": "api-format-prettyprint-header-hyperlinked",
                "normalizedname": "api-format-prettyprint-header-hyperlinked",
                "*": "This is the HTML representation of the $1 format. HTML is good for debugging, but is unsuitable for application use.\n\nSpecify the <var>format</var> parameter to change the output format. To see the non-HTML representation of the $1 format, set [$3 <kbd>format=$2</kbd>].\n\nSee the [[mw:API|complete documentation]], or the [[Special:ApiHelp/main|API help]] for more information."
            },
            {
                "name": "api-format-prettyprint-header-only-html",
                "normalizedname": "api-format-prettyprint-header-only-html",
                "*": "This is an HTML representation intended for debugging, and is unsuitable for application use.\n\nSee the [[mw:Special:MyLanguage/API|complete documentation]], or the [[Special:ApiHelp/main|API help]] for more information."
            },
            {
                "name": "api-format-prettyprint-status",
                "normalizedname": "api-format-prettyprint-status",
                "*": "This response would be returned with HTTP status $1 $2."
            },
            {
                "name": "api-format-title",
                "normalizedname": "api-format-title",
                "*": "MediaWiki API result"
            },
            {
                "name": "api-help-authmanager-general-usage",
                "normalizedname": "api-help-authmanager-general-usage",
                "*": "The general procedure to use this module is:\n# Fetch the fields available from <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> with <kbd>amirequestsfor=$4</kbd>, and a <kbd>$5</kbd> token from <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>.\n# Present the fields to the user, and obtain their submission.\n# Post to this module, supplying <var>$1returnurl</var> and any relevant fields.\n# Check the <samp>status</samp> in the response.\n#* If you received <samp>PASS</samp> or <samp>FAIL</samp>, you're done. The operation either succeeded or it didn't.\n#* If you received <samp>UI</samp>, present the new fields to the user and obtain their submission. Then post to this module with <var>$1continue</var> and the relevant fields set, and repeat step 4.\n#* If you received <samp>REDIRECT</samp>, direct the user to the <samp>redirecttarget</samp> and wait for the return to <var>$1returnurl</var>. Then post to this module with <var>$1continue</var> and any fields passed to the return URL, and repeat step 4.\n#* If you received <samp>RESTART</samp>, that means the authentication worked but we don't have a linked user account. You might treat this as <samp>UI</samp> or as <samp>FAIL</samp>."
            },
            {
                "name": "api-help-authmanagerhelper-additional-params",
                "normalizedname": "api-help-authmanagerhelper-additional-params",
                "*": "This module accepts additional parameters depending on the available authentication requests. Use <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> with <kbd>amirequestsfor=$1</kbd> (or a previous response from this module, if applicable) to determine the requests available and the fields that they use."
            },
            {
                "name": "api-help-authmanagerhelper-continue",
                "normalizedname": "api-help-authmanagerhelper-continue",
                "*": "This request is a continuation after an earlier <samp>UI</samp> or <samp>REDIRECT</samp> response. Either this or <var>$1returnurl</var> is required."
            },
            {
                "name": "api-help-authmanagerhelper-mergerequestfields",
                "normalizedname": "api-help-authmanagerhelper-mergerequestfields",
                "*": "Merge field information for all authentication requests into one array."
            },
            {
                "name": "api-help-authmanagerhelper-messageformat",
                "normalizedname": "api-help-authmanagerhelper-messageformat",
                "*": "Format to use for returning messages."
            },
            {
                "name": "api-help-authmanagerhelper-preservestate",
                "normalizedname": "api-help-authmanagerhelper-preservestate",
                "*": "Preserve state from a previous failed login attempt, if possible."
            },
            {
                "name": "api-help-authmanagerhelper-request",
                "normalizedname": "api-help-authmanagerhelper-request",
                "*": "Use this authentication request, by the <samp>id</samp> returned from <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> with <kbd>amirequestsfor=$1</kbd>."
            },
            {
                "name": "api-help-authmanagerhelper-requests",
                "normalizedname": "api-help-authmanagerhelper-requests",
                "*": "Only use these authentication requests, by the <samp>id</samp> returned from <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> with <kbd>amirequestsfor=$1</kbd> or from a previous response from this module."
            },
            {
                "name": "api-help-authmanagerhelper-returnurl",
                "normalizedname": "api-help-authmanagerhelper-returnurl",
                "*": "Return URL for third-party authentication flows, must be absolute. Either this or <var>$1continue</var> is required.\n\nUpon receiving a <samp>REDIRECT</samp> response, you will typically open a browser or web view to the specified <samp>redirecttarget</samp> URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a <var>$1continue</var> request to this API module."
            },
            {
                "name": "api-help-datatypes",
                "normalizedname": "api-help-datatypes",
                "*": "Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as [[Special:ApiHelp/edit|edits]] with MD5 checks) to fail.\n\nSome parameter types in API requests need further explanation:\n;boolean\n:Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.\n;timestamp\n:Timestamps may be specified in several formats. ISO 8601 date and time is recommended. All times are in UTC, any included timezone is ignored.\n:* ISO 8601 date and time, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd> (punctuation and <kbd>Z</kbd> are optional)\n:* ISO 8601 date and time with (ignored) fractional seconds, <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>.<var>00001</var>Z</kbd> (dashes, colons, and <kbd>Z</kbd> are optional)\n:* MediaWiki format, <kbd><var>2001</var><var>01</var><var>15</var><var>14</var><var>56</var><var>00</var></kbd>\n:* Generic numeric format, <kbd><var>2001</var>-<var>01</var>-<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd> (optional timezone of <kbd>GMT</kbd>, <kbd>+<var>##</var></kbd>, or <kbd>-<var>##</var></kbd> is ignored)\n:* EXIF format, <kbd><var>2001</var>:<var>01</var>:<var>15</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:*RFC 2822 format (timezone may be omitted), <kbd><var>Mon</var>, <var>15</var> <var>Jan</var> <var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* RFC 850 format (timezone may be omitted), <kbd><var>Monday</var>, <var>15</var>-<var>Jan</var>-<var>2001</var> <var>14</var>:<var>56</var>:<var>00</var></kbd>\n:* C ctime format, <kbd><var>Mon</var> <var>Jan</var> <var>15</var> <var>14</var>:<var>56</var>:<var>00</var> <var>2001</var></kbd>\n:* Seconds since 1970-01-01T00:00:00Z as a 1 to 13 digit integer (excluding <kbd>0</kbd>)\n:* The string <kbd>now</kbd>\n;alternative multiple-value separator\n:Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. <kbd>param=value1|value2</kbd> or <kbd>param=value1%7Cvalue2</kbd>. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator ''and'' prefix the value with U+001F, e.g. <kbd>param=%1Fvalue1%1Fvalue2</kbd>."
            },
            {
                "name": "api-help-datatypes-header",
                "normalizedname": "api-help-datatypes-header",
                "*": "Data types"
            },
            {
                "name": "api-help-examples",
                "normalizedname": "api-help-examples",
                "*": "{{PLURAL:$1|Example|Examples}}:"
            },
            {
                "name": "api-help-fallback-description",
                "normalizedname": "api-help-fallback-description",
                "*": "$1"
            },
            {
                "name": "api-help-fallback-example",
                "normalizedname": "api-help-fallback-example",
                "*": "$1"
            },
            {
                "name": "api-help-fallback-parameter",
                "normalizedname": "api-help-fallback-parameter",
                "*": "$1"
            },
            {
                "name": "api-help-flag-deprecated",
                "normalizedname": "api-help-flag-deprecated",
                "*": "This module is deprecated."
            },
            {
                "name": "api-help-flag-generator",
                "normalizedname": "api-help-flag-generator",
                "*": "This module can be used as a generator."
            },
            {
                "name": "api-help-flag-internal",
                "normalizedname": "api-help-flag-internal",
                "*": "<strong>This module is internal or unstable.</strong> Its operation may change without notice."
            },
            {
                "name": "api-help-flag-mustbeposted",
                "normalizedname": "api-help-flag-mustbeposted",
                "*": "This module only accepts POST requests."
            },
            {
                "name": "api-help-flag-readrights",
                "normalizedname": "api-help-flag-readrights",
                "*": "This module requires read rights."
            },
            {
                "name": "api-help-flag-writerights",
                "normalizedname": "api-help-flag-writerights",
                "*": "This module requires write rights."
            },
            {
                "name": "api-help-flags",
                "normalizedname": "api-help-flags",
                "*": ""
            },
            {
                "name": "api-help-help-urls",
                "normalizedname": "api-help-help-urls",
                "*": ""
            },
            {
                "name": "api-help-lead",
                "normalizedname": "api-help-lead",
                "*": "This is an auto-generated MediaWiki API documentation page.\n\nDocumentation and examples: https://www.mediawiki.org/wiki/API"
            },
            {
                "name": "api-help-license",
                "normalizedname": "api-help-license",
                "*": "License: [[$1|$2]]"
            },
            {
                "name": "api-help-license-noname",
                "normalizedname": "api-help-license-noname",
                "*": "License: [[$1|See link]]"
            },
            {
                "name": "api-help-license-unknown",
                "normalizedname": "api-help-license-unknown",
                "*": "License: <span class=\"apihelp-unknown\">unknown</span>"
            },
            {
                "name": "api-help-main-header",
                "normalizedname": "api-help-main-header",
                "*": "Main module"
            },
            {
                "name": "api-help-no-extended-description",
                "normalizedname": "api-help-no-extended-description",
                "*": ""
            },
            {
                "name": "api-help-open-in-apisandbox",
                "normalizedname": "api-help-open-in-apisandbox",
                "*": "<small>[open in sandbox]</small>"
            },
            {
                "name": "api-help-param-continue",
                "normalizedname": "api-help-param-continue",
                "*": "When more results are available, use this to continue."
            },
            {
                "name": "api-help-param-default",
                "normalizedname": "api-help-param-default",
                "*": "Default: $1"
            },
            {
                "name": "api-help-param-default-empty",
                "normalizedname": "api-help-param-default-empty",
                "*": "Default: <span class=\"apihelp-empty\">(empty)</span>"
            },
            {
                "name": "api-help-param-deprecated",
                "normalizedname": "api-help-param-deprecated",
                "*": "Deprecated."
            },
            {
                "name": "api-help-param-direction",
                "normalizedname": "api-help-param-direction",
                "*": "In which direction to enumerate:\n;newer:List oldest first. Note: $1start has to be before $1end.\n;older:List newest first (default). Note: $1start has to be later than $1end."
            },
            {
                "name": "api-help-param-disabled-in-miser-mode",
                "normalizedname": "api-help-param-disabled-in-miser-mode",
                "*": "Disabled due to [[mw:Special:MyLanguage/Manual:$wgMiserMode|miser mode]]."
            },
            {
                "name": "api-help-param-integer-max",
                "normalizedname": "api-help-param-integer-max",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be no greater than $3."
            },
            {
                "name": "api-help-param-integer-min",
                "normalizedname": "api-help-param-integer-min",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be no less than $2."
            },
            {
                "name": "api-help-param-integer-minmax",
                "normalizedname": "api-help-param-integer-minmax",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be between $2 and $3."
            },
            {
                "name": "api-help-param-limit",
                "normalizedname": "api-help-param-limit",
                "*": "No more than $1 allowed."
            },
            {
                "name": "api-help-param-limit2",
                "normalizedname": "api-help-param-limit2",
                "*": "No more than $1 ($2 for bots) allowed."
            },
            {
                "name": "api-help-param-limited-in-miser-mode",
                "normalizedname": "api-help-param-limited-in-miser-mode",
                "*": "<strong>Note:</strong> Due to [[mw:Special:MyLanguage/Manual:$wgMiserMode|miser mode]], using this may result in fewer than <var>$1limit</var> results returned before continuing; in extreme cases, zero results may be returned."
            },
            {
                "name": "api-help-param-list",
                "normalizedname": "api-help-param-list",
                "*": "{{PLURAL:$1|1=One of the following values|2=Values (separate with <kbd>{{!}}</kbd> or [[Special:ApiHelp/main#main/datatypes|alternative]])}}: $2"
            },
            {
                "name": "api-help-param-list-can-be-empty",
                "normalizedname": "api-help-param-list-can-be-empty",
                "*": "{{PLURAL:$1|0=Must be empty|Can be empty, or $2}}"
            },
            {
                "name": "api-help-param-maxbytes",
                "normalizedname": "api-help-param-maxbytes",
                "*": "Cannot be longer than $1 {{PLURAL:$1|byte|bytes}}."
            },
            {
                "name": "api-help-param-maxchars",
                "normalizedname": "api-help-param-maxchars",
                "*": "Cannot be longer than $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "api-help-param-multi-all",
                "normalizedname": "api-help-param-multi-all",
                "*": "To specify all values, use <kbd>$1</kbd>."
            },
            {
                "name": "api-help-param-multi-max",
                "normalizedname": "api-help-param-multi-max",
                "*": "Maximum number of values is {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} for bots)."
            },
            {
                "name": "api-help-param-multi-max-simple",
                "normalizedname": "api-help-param-multi-max-simple",
                "*": "Maximum number of values is {{PLURAL:$1|$1}}."
            },
            {
                "name": "api-help-param-multi-separate",
                "normalizedname": "api-help-param-multi-separate",
                "*": "Separate values with <kbd>|</kbd> or [[Special:ApiHelp/main#main/datatypes|alternative]]."
            },
            {
                "name": "api-help-param-no-description",
                "normalizedname": "api-help-param-no-description",
                "*": "<span class=\"apihelp-empty\">(no description)</span>"
            },
            {
                "name": "api-help-param-required",
                "normalizedname": "api-help-param-required",
                "*": "This parameter is required."
            },
            {
                "name": "api-help-param-token",
                "normalizedname": "api-help-param-token",
                "*": "A \"$1\" token retrieved from [[Special:ApiHelp/query+tokens|action=query&meta=tokens]]"
            },
            {
                "name": "api-help-param-token-webui",
                "normalizedname": "api-help-param-token-webui",
                "*": "For compatibility, the token used in the web UI is also accepted."
            },
            {
                "name": "api-help-param-type-boolean",
                "normalizedname": "api-help-param-type-boolean",
                "*": "Type: boolean ([[Special:ApiHelp/main#main/datatypes|details]])"
            },
            {
                "name": "api-help-param-type-integer",
                "normalizedname": "api-help-param-type-integer",
                "*": "Type: {{PLURAL:$1|1=integer|2=list of integers}}"
            },
            {
                "name": "api-help-param-type-limit",
                "normalizedname": "api-help-param-type-limit",
                "*": "Type: integer or <kbd>max</kbd>"
            },
            {
                "name": "api-help-param-type-password",
                "normalizedname": "api-help-param-type-password",
                "*": ""
            },
            {
                "name": "api-help-param-type-timestamp",
                "normalizedname": "api-help-param-type-timestamp",
                "*": "Type: {{PLURAL:$1|1=timestamp|2=list of timestamps}} ([[Special:ApiHelp/main#main/datatypes|allowed formats]])"
            },
            {
                "name": "api-help-param-type-user",
                "normalizedname": "api-help-param-type-user",
                "*": "Type: {{PLURAL:$1|1=user name|2=list of user names}}"
            },
            {
                "name": "api-help-param-upload",
                "normalizedname": "api-help-param-upload",
                "*": "Must be posted as a file upload using multipart/form-data."
            },
            {
                "name": "api-help-parameters",
                "normalizedname": "api-help-parameters",
                "*": "{{PLURAL:$1|Parameter|Parameters}}:"
            },
            {
                "name": "api-help-permissions",
                "normalizedname": "api-help-permissions",
                "*": "{{PLURAL:$1|Permission|Permissions}}:"
            },
            {
                "name": "api-help-permissions-granted-to",
                "normalizedname": "api-help-permissions-granted-to",
                "*": "{{PLURAL:$1|Granted to}}: $2"
            },
            {
                "name": "api-help-right-apihighlimits",
                "normalizedname": "api-help-right-apihighlimits",
                "*": "Use higher limits in API queries (slow queries: $1; fast queries: $2). The limits for slow queries also apply to multivalue parameters."
            },
            {
                "name": "api-help-source",
                "normalizedname": "api-help-source",
                "*": "Source: $1"
            },
            {
                "name": "api-help-source-unknown",
                "normalizedname": "api-help-source-unknown",
                "*": "Source: <span class=\"apihelp-unknown\">unknown</span>"
            },
            {
                "name": "api-help-title",
                "normalizedname": "api-help-title",
                "*": "MediaWiki API help"
            },
            {
                "name": "api-help-undocumented-module",
                "normalizedname": "api-help-undocumented-module",
                "*": "No documentation for module $1."
            },
            {
                "name": "api-login-fail-aborted",
                "normalizedname": "api-login-fail-aborted",
                "*": "Authentication requires user interaction, which is not supported by <kbd>action=login</kbd>. To be able to login with <kbd>action=login</kbd>, see [[Special:BotPasswords]]. To continue using main-account login, see <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>."
            },
            {
                "name": "api-login-fail-aborted-nobotpw",
                "normalizedname": "api-login-fail-aborted-nobotpw",
                "*": "Authentication requires user interaction, which is not supported by <kbd>action=login</kbd>. To log in, see <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>."
            },
            {
                "name": "api-login-fail-badsessionprovider",
                "normalizedname": "api-login-fail-badsessionprovider",
                "*": "Cannot log in when using $1."
            },
            {
                "name": "api-login-fail-sameorigin",
                "normalizedname": "api-login-fail-sameorigin",
                "*": "Cannot log in when the same-origin policy is not applied."
            },
            {
                "name": "api-pageset-param-converttitles",
                "normalizedname": "api-pageset-param-converttitles",
                "*": "Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include $1."
            },
            {
                "name": "api-pageset-param-generator",
                "normalizedname": "api-pageset-param-generator",
                "*": "Get the list of pages to work on by executing the specified query module.\n\n<strong>Note:</strong> Generator parameter names must be prefixed with a \"g\", see examples."
            },
            {
                "name": "api-pageset-param-pageids",
                "normalizedname": "api-pageset-param-pageids",
                "*": "A list of page IDs to work on."
            },
            {
                "name": "api-pageset-param-redirects-generator",
                "normalizedname": "api-pageset-param-redirects-generator",
                "*": "Automatically resolve redirects in <var>$1titles</var>, <var>$1pageids</var>, and <var>$1revids</var>, and in pages returned by <var>$1generator</var>."
            },
            {
                "name": "api-pageset-param-redirects-nogenerator",
                "normalizedname": "api-pageset-param-redirects-nogenerator",
                "*": "Automatically resolve redirects in <var>$1titles</var>, <var>$1pageids</var>, and <var>$1revids</var>."
            },
            {
                "name": "api-pageset-param-revids",
                "normalizedname": "api-pageset-param-revids",
                "*": "A list of revision IDs to work on."
            },
            {
                "name": "api-pageset-param-titles",
                "normalizedname": "api-pageset-param-titles",
                "*": "A list of titles to work on."
            },
            {
                "name": "api-usage-docref",
                "normalizedname": "api-usage-docref",
                "*": "See $1 for API usage."
            },
            {
                "name": "api-usage-mailinglist-ref",
                "normalizedname": "api-usage-mailinglist-ref",
                "*": "Subscribe to the mediawiki-api-announce mailing list at &lt;https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce&gt; for notice of API deprecations and breaking changes."
            },
            {
                "name": "apierror-allimages-redirect",
                "normalizedname": "apierror-allimages-redirect",
                "*": "Use <kbd>gaifilterredir=nonredirects</kbd> instead of <var>redirects</var> when using <kbd>allimages</kbd> as a generator."
            },
            {
                "name": "apierror-allpages-generator-redirects",
                "normalizedname": "apierror-allpages-generator-redirects",
                "*": "Use <kbd>gapfilterredir=nonredirects</kbd> instead of <var>redirects</var> when using <kbd>allpages</kbd> as a generator."
            },
            {
                "name": "apierror-appendnotsupported",
                "normalizedname": "apierror-appendnotsupported",
                "*": "Can't append to pages using content model $1."
            },
            {
                "name": "apierror-articleexists",
                "normalizedname": "apierror-articleexists",
                "*": "The article you tried to create has been created already."
            },
            {
                "name": "apierror-assertbotfailed",
                "normalizedname": "apierror-assertbotfailed",
                "*": "Assertion that the user has the <code>bot</code> right failed."
            },
            {
                "name": "apierror-assertnameduserfailed",
                "normalizedname": "apierror-assertnameduserfailed",
                "*": "Assertion that the user is \"$1\" failed."
            },
            {
                "name": "apierror-assertuserfailed",
                "normalizedname": "apierror-assertuserfailed",
                "*": "Assertion that the user is logged in failed."
            },
            {
                "name": "apierror-autoblocked",
                "normalizedname": "apierror-autoblocked",
                "*": "Your IP address has been blocked automatically, because it was used by a blocked user."
            },
            {
                "name": "apierror-bad-watchlist-token",
                "normalizedname": "apierror-bad-watchlist-token",
                "*": "Incorrect watchlist token provided. Please set a correct token in [[Special:Preferences]]."
            },
            {
                "name": "apierror-badconfig-resulttoosmall",
                "normalizedname": "apierror-badconfig-resulttoosmall",
                "*": "The value of <code>$wgAPIMaxResultSize</code> on this wiki is too small to hold basic result information."
            },
            {
                "name": "apierror-badcontinue",
                "normalizedname": "apierror-badcontinue",
                "*": "Invalid continue param. You should pass the original value returned by the previous query."
            },
            {
                "name": "apierror-baddiff",
                "normalizedname": "apierror-baddiff",
                "*": "The diff cannot be retrieved. One or both revisions do not exist or you do not have permission to view them."
            },
            {
                "name": "apierror-baddiffto",
                "normalizedname": "apierror-baddiffto",
                "*": "<var>$1diffto</var> must be set to a non-negative number, <kbd>prev</kbd>, <kbd>next</kbd> or <kbd>cur</kbd>."
            },
            {
                "name": "apierror-badformat",
                "normalizedname": "apierror-badformat",
                "*": "The requested format $1 is not supported for content model $2 used by $3."
            },
            {
                "name": "apierror-badformat-generic",
                "normalizedname": "apierror-badformat-generic",
                "*": "The requested format $1 is not supported for content model $2."
            },
            {
                "name": "apierror-badgenerator-notgenerator",
                "normalizedname": "apierror-badgenerator-notgenerator",
                "*": "Module <kbd>$1</kbd> cannot be used as a generator."
            },
            {
                "name": "apierror-badgenerator-unknown",
                "normalizedname": "apierror-badgenerator-unknown",
                "*": "Unknown <kbd>generator=$1</kbd>."
            },
            {
                "name": "apierror-badip",
                "normalizedname": "apierror-badip",
                "*": "IP parameter is not valid."
            },
            {
                "name": "apierror-badmd5",
                "normalizedname": "apierror-badmd5",
                "*": "The supplied MD5 hash was incorrect."
            },
            {
                "name": "apierror-badmodule-badsubmodule",
                "normalizedname": "apierror-badmodule-badsubmodule",
                "*": "The module <kbd>$1</kbd> does not have a submodule \"$2\"."
            },
            {
                "name": "apierror-badmodule-nosubmodules",
                "normalizedname": "apierror-badmodule-nosubmodules",
                "*": "The module <kbd>$1</kbd> has no submodules."
            },
            {
                "name": "apierror-badparameter",
                "normalizedname": "apierror-badparameter",
                "*": "Invalid value for parameter <var>$1</var>."
            },
            {
                "name": "apierror-badquery",
                "normalizedname": "apierror-badquery",
                "*": "Invalid query."
            },
            {
                "name": "apierror-badtimestamp",
                "normalizedname": "apierror-badtimestamp",
                "*": "Invalid value \"$2\" for timestamp parameter <var>$1</var>."
            },
            {
                "name": "apierror-badtoken",
                "normalizedname": "apierror-badtoken",
                "*": "Invalid CSRF token."
            },
            {
                "name": "apierror-badupload",
                "normalizedname": "apierror-badupload",
                "*": "File upload parameter <var>$1</var> is not a file upload; be sure to use <code>multipart/form-data</code> for your POST and include a filename in the <code>Content-Disposition</code> header."
            },
            {
                "name": "apierror-badurl",
                "normalizedname": "apierror-badurl",
                "*": "Invalid value \"$2\" for URL parameter <var>$1</var>."
            },
            {
                "name": "apierror-baduser",
                "normalizedname": "apierror-baduser",
                "*": "Invalid value \"$2\" for user parameter <var>$1</var>."
            },
            {
                "name": "apierror-badvalue-notmultivalue",
                "normalizedname": "apierror-badvalue-notmultivalue",
                "*": "U+001F multi-value separation may only be used for multi-valued parameters."
            },
            {
                "name": "apierror-blocked",
                "normalizedname": "apierror-blocked",
                "*": "You have been blocked from editing."
            },
            {
                "name": "apierror-blockedfrommail",
                "normalizedname": "apierror-blockedfrommail",
                "*": "You have been blocked from sending email."
            },
            {
                "name": "apierror-botsnotsupported",
                "normalizedname": "apierror-botsnotsupported",
                "*": "This interface is not supported for bots."
            },
            {
                "name": "apierror-cannot-async-upload-file",
                "normalizedname": "apierror-cannot-async-upload-file",
                "*": "The parameters <var>async</var> and <var>file</var> cannot be combined. If you want asynchronous processing of your uploaded file, first upload it to stash (using the <var>stash</var> parameter) and then publish the stashed file asynchronously (using <var>filekey</var> and <var>async</var>)."
            },
            {
                "name": "apierror-cannotreauthenticate",
                "normalizedname": "apierror-cannotreauthenticate",
                "*": "This action is not available as your identity cannot be verified."
            },
            {
                "name": "apierror-cannotviewtitle",
                "normalizedname": "apierror-cannotviewtitle",
                "*": "You are not allowed to view $1."
            },
            {
                "name": "apierror-cantblock",
                "normalizedname": "apierror-cantblock",
                "*": "You don't have permission to block users."
            },
            {
                "name": "apierror-cantblock-email",
                "normalizedname": "apierror-cantblock-email",
                "*": "You don't have permission to block users from sending email through the wiki."
            },
            {
                "name": "apierror-cantchangecontentmodel",
                "normalizedname": "apierror-cantchangecontentmodel",
                "*": "You don't have permission to change the content model of a page."
            },
            {
                "name": "apierror-canthide",
                "normalizedname": "apierror-canthide",
                "*": "You don't have permission to hide user names from the block log."
            },
            {
                "name": "apierror-cantimport",
                "normalizedname": "apierror-cantimport",
                "*": "You don't have permission to import pages."
            },
            {
                "name": "apierror-cantimport-upload",
                "normalizedname": "apierror-cantimport-upload",
                "*": "You don't have permission to import uploaded pages."
            },
            {
                "name": "apierror-cantoverwrite-sharedfile",
                "normalizedname": "apierror-cantoverwrite-sharedfile",
                "*": "The target file exists on a shared repository and you do not have permission to override it."
            },
            {
                "name": "apierror-cantsend",
                "normalizedname": "apierror-cantsend",
                "*": "You are not logged in, you do not have a confirmed email address, or you are not allowed to send email to other users, so you cannot send email."
            },
            {
                "name": "apierror-cantundelete",
                "normalizedname": "apierror-cantundelete",
                "*": "Couldn't undelete: the requested revisions may not exist, or may have been undeleted already."
            },
            {
                "name": "apierror-changeauth-norequest",
                "normalizedname": "apierror-changeauth-norequest",
                "*": "Failed to create change request."
            },
            {
                "name": "apierror-chunk-too-small",
                "normalizedname": "apierror-chunk-too-small",
                "*": "Minimum chunk size is $1 {{PLURAL:$1|byte|bytes}} for non-final chunks."
            },
            {
                "name": "apierror-cidrtoobroad",
                "normalizedname": "apierror-cidrtoobroad",
                "*": "$1 CIDR ranges broader than /$2 are not accepted."
            },
            {
                "name": "apierror-compare-no-title",
                "normalizedname": "apierror-compare-no-title",
                "*": "Cannot pre-save transform without a title. Try specifying <var>fromtitle</var> or <var>totitle</var>."
            },
            {
                "name": "apierror-compare-nosuchfromsection",
                "normalizedname": "apierror-compare-nosuchfromsection",
                "*": "There is no section $1 in the 'from' content."
            },
            {
                "name": "apierror-compare-nosuchtosection",
                "normalizedname": "apierror-compare-nosuchtosection",
                "*": "There is no section $1 in the 'to' content."
            },
            {
                "name": "apierror-compare-relative-to-nothing",
                "normalizedname": "apierror-compare-relative-to-nothing",
                "*": "No 'from' revision for <var>torelative</var> to be relative to."
            },
            {
                "name": "apierror-contentserializationexception",
                "normalizedname": "apierror-contentserializationexception",
                "*": "Content serialization failed: $1"
            },
            {
                "name": "apierror-contenttoobig",
                "normalizedname": "apierror-contenttoobig",
                "*": "The content you supplied exceeds the article size limit of $1 {{PLURAL:$1|kilobyte|kilobytes}}."
            },
            {
                "name": "apierror-copyuploadbaddomain",
                "normalizedname": "apierror-copyuploadbaddomain",
                "*": "Uploads by URL are not allowed from this domain."
            },
            {
                "name": "apierror-copyuploadbadurl",
                "normalizedname": "apierror-copyuploadbadurl",
                "*": "Upload not allowed from this URL."
            },
            {
                "name": "apierror-create-titleexists",
                "normalizedname": "apierror-create-titleexists",
                "*": "Existing titles can't be protected with <kbd>create</kbd>."
            },
            {
                "name": "apierror-csp-report",
                "normalizedname": "apierror-csp-report",
                "*": "Error processing CSP report: $1."
            },
            {
                "name": "apierror-databaseerror",
                "normalizedname": "apierror-databaseerror",
                "*": "[$1] Database query error."
            },
            {
                "name": "apierror-deletedrevs-param-not-1-2",
                "normalizedname": "apierror-deletedrevs-param-not-1-2",
                "*": "The <var>$1</var> parameter cannot be used in modes 1 or 2."
            },
            {
                "name": "apierror-deletedrevs-param-not-3",
                "normalizedname": "apierror-deletedrevs-param-not-3",
                "*": "The <var>$1</var> parameter cannot be used in mode 3."
            },
            {
                "name": "apierror-emptynewsection",
                "normalizedname": "apierror-emptynewsection",
                "*": "Creating empty new sections is not possible."
            },
            {
                "name": "apierror-emptypage",
                "normalizedname": "apierror-emptypage",
                "*": "Creating new, empty pages is not allowed."
            },
            {
                "name": "apierror-exceptioncaught",
                "normalizedname": "apierror-exceptioncaught",
                "*": "[$1] Exception caught: $2"
            },
            {
                "name": "apierror-filedoesnotexist",
                "normalizedname": "apierror-filedoesnotexist",
                "*": "File does not exist."
            },
            {
                "name": "apierror-fileexists-sharedrepo-perm",
                "normalizedname": "apierror-fileexists-sharedrepo-perm",
                "*": "The target file exists on a shared repository. Use the <var>ignorewarnings</var> parameter to override it."
            },
            {
                "name": "apierror-filenopath",
                "normalizedname": "apierror-filenopath",
                "*": "Cannot get local file path."
            },
            {
                "name": "apierror-filetypecannotberotated",
                "normalizedname": "apierror-filetypecannotberotated",
                "*": "File type cannot be rotated."
            },
            {
                "name": "apierror-formatphp",
                "normalizedname": "apierror-formatphp",
                "*": "This response cannot be represented using <kbd>format=php</kbd>. See https://phabricator.wikimedia.org/T68776."
            },
            {
                "name": "apierror-imageusage-badtitle",
                "normalizedname": "apierror-imageusage-badtitle",
                "*": "The title for <kbd>$1</kbd> must be a file."
            },
            {
                "name": "apierror-import-unknownerror",
                "normalizedname": "apierror-import-unknownerror",
                "*": "Unknown error on import: $1."
            },
            {
                "name": "apierror-integeroutofrange-abovebotmax",
                "normalizedname": "apierror-integeroutofrange-abovebotmax",
                "*": "<var>$1</var> may not be over $2 (set to $3) for bots or sysops."
            },
            {
                "name": "apierror-integeroutofrange-abovemax",
                "normalizedname": "apierror-integeroutofrange-abovemax",
                "*": "<var>$1</var> may not be over $2 (set to $3) for users."
            },
            {
                "name": "apierror-integeroutofrange-belowminimum",
                "normalizedname": "apierror-integeroutofrange-belowminimum",
                "*": "<var>$1</var> may not be less than $2 (set to $3)."
            },
            {
                "name": "apierror-invalid-chunk",
                "normalizedname": "apierror-invalid-chunk",
                "*": "Offset plus current chunk is greater than claimed file size."
            },
            {
                "name": "apierror-invalid-file-key",
                "normalizedname": "apierror-invalid-file-key",
                "*": "Not a valid file key."
            },
            {
                "name": "apierror-invalidcategory",
                "normalizedname": "apierror-invalidcategory",
                "*": "The category name you entered is not valid."
            },
            {
                "name": "apierror-invalidexpiry",
                "normalizedname": "apierror-invalidexpiry",
                "*": "Invalid expiry time \"$1\"."
            },
            {
                "name": "apierror-invalidlang",
                "normalizedname": "apierror-invalidlang",
                "*": "Invalid language code for parameter <var>$1</var>."
            },
            {
                "name": "apierror-invalidoldimage",
                "normalizedname": "apierror-invalidoldimage",
                "*": "The <var>oldimage</var> parameter has an invalid format."
            },
            {
                "name": "apierror-invalidparammix",
                "normalizedname": "apierror-invalidparammix",
                "*": "The {{PLURAL:$2|parameters}} $1 can not be used together."
            },
            {
                "name": "apierror-invalidparammix-cannotusewith",
                "normalizedname": "apierror-invalidparammix-cannotusewith",
                "*": "The <kbd>$1</kbd> parameter cannot be used with <kbd>$2</kbd>."
            },
            {
                "name": "apierror-invalidparammix-mustusewith",
                "normalizedname": "apierror-invalidparammix-mustusewith",
                "*": "The <kbd>$1</kbd> parameter may only be used with <kbd>$2</kbd>."
            },
            {
                "name": "apierror-invalidparammix-parse-new-section",
                "normalizedname": "apierror-invalidparammix-parse-new-section",
                "*": "<kbd>section=new</kbd> cannot be combined with the <var>oldid</var>, <var>pageid</var> or <var>page</var> parameters. Please use <var>title</var> and <var>text</var>."
            },
            {
                "name": "apierror-invalidsection",
                "normalizedname": "apierror-invalidsection",
                "*": "The <var>section</var> parameter must be a valid section ID or <kbd>new</kbd>."
            },
            {
                "name": "apierror-invalidsha1base36hash",
                "normalizedname": "apierror-invalidsha1base36hash",
                "*": "The SHA1Base36 hash provided is not valid."
            },
            {
                "name": "apierror-invalidsha1hash",
                "normalizedname": "apierror-invalidsha1hash",
                "*": "The SHA1 hash provided is not valid."
            },
            {
                "name": "apierror-invalidtitle",
                "normalizedname": "apierror-invalidtitle",
                "*": "Bad title \"$1\"."
            },
            {
                "name": "apierror-invalidurlparam",
                "normalizedname": "apierror-invalidurlparam",
                "*": "Invalid value for <var>$1urlparam</var> (<kbd>$2=$3</kbd>)."
            },
            {
                "name": "apierror-invaliduser",
                "normalizedname": "apierror-invaliduser",
                "*": "Invalid username \"$1\"."
            },
            {
                "name": "apierror-invaliduserid",
                "normalizedname": "apierror-invaliduserid",
                "*": "User ID <var>$1</var> is not valid."
            },
            {
                "name": "apierror-maxbytes",
                "normalizedname": "apierror-maxbytes",
                "*": "Parameter <var>$1</var> cannot be longer than $2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "apierror-maxchars",
                "normalizedname": "apierror-maxchars",
                "*": "Parameter <var>$1</var> cannot be longer than $2 {{PLURAL:$2|character|characters}}"
            },
            {
                "name": "apierror-maxlag",
                "normalizedname": "apierror-maxlag",
                "*": "Waiting for $2: $1 {{PLURAL:$1|second|seconds}} lagged."
            },
            {
                "name": "apierror-maxlag-generic",
                "normalizedname": "apierror-maxlag-generic",
                "*": "Waiting for a database server: $1 {{PLURAL:$1|second|seconds}} lagged."
            },
            {
                "name": "apierror-mimesearchdisabled",
                "normalizedname": "apierror-mimesearchdisabled",
                "*": "MIME search is disabled in Miser Mode."
            },
            {
                "name": "apierror-missingcontent-pageid",
                "normalizedname": "apierror-missingcontent-pageid",
                "*": "Missing content for page ID $1."
            },
            {
                "name": "apierror-missingcontent-revid",
                "normalizedname": "apierror-missingcontent-revid",
                "*": "Missing content for revision ID $1."
            },
            {
                "name": "apierror-missingparam",
                "normalizedname": "apierror-missingparam",
                "*": "The <var>$1</var> parameter must be set."
            },
            {
                "name": "apierror-missingparam-at-least-one-of",
                "normalizedname": "apierror-missingparam-at-least-one-of",
                "*": "{{PLURAL:$2|The parameter|At least one of the parameters}} $1 is required."
            },
            {
                "name": "apierror-missingparam-one-of",
                "normalizedname": "apierror-missingparam-one-of",
                "*": "{{PLURAL:$2|The parameter|One of the parameters}} $1 is required."
            },
            {
                "name": "apierror-missingrev-pageid",
                "normalizedname": "apierror-missingrev-pageid",
                "*": "No current revision of page ID $1."
            },
            {
                "name": "apierror-missingrev-title",
                "normalizedname": "apierror-missingrev-title",
                "*": "No current revision of title $1."
            },
            {
                "name": "apierror-missingtitle",
                "normalizedname": "apierror-missingtitle",
                "*": "The page you specified doesn't exist."
            },
            {
                "name": "apierror-missingtitle-byname",
                "normalizedname": "apierror-missingtitle-byname",
                "*": "The page $1 doesn't exist."
            },
            {
                "name": "apierror-missingtitle-createonly",
                "normalizedname": "apierror-missingtitle-createonly",
                "*": "Missing titles can only be protected with <kbd>create</kbd>."
            },
            {
                "name": "apierror-moduledisabled",
                "normalizedname": "apierror-moduledisabled",
                "*": "The <kbd>$1</kbd> module has been disabled."
            },
            {
                "name": "apierror-multival-only-one-of",
                "normalizedname": "apierror-multival-only-one-of",
                "*": "{{PLURAL:$3|Only|Only one of}} $2 is allowed for parameter <var>$1</var>."
            },
            {
                "name": "apierror-multpages",
                "normalizedname": "apierror-multpages",
                "*": "<var>$1</var> may only be used with a single page."
            },
            {
                "name": "apierror-mustbeloggedin",
                "normalizedname": "apierror-mustbeloggedin",
                "*": "You must be logged in to $1."
            },
            {
                "name": "apierror-mustbeloggedin-changeauth",
                "normalizedname": "apierror-mustbeloggedin-changeauth",
                "*": "You must be logged in to change authentication data."
            },
            {
                "name": "apierror-mustbeloggedin-generic",
                "normalizedname": "apierror-mustbeloggedin-generic",
                "*": "You must be logged in."
            },
            {
                "name": "apierror-mustbeloggedin-linkaccounts",
                "normalizedname": "apierror-mustbeloggedin-linkaccounts",
                "*": "You must be logged in to link accounts."
            },
            {
                "name": "apierror-mustbeloggedin-removeauth",
                "normalizedname": "apierror-mustbeloggedin-removeauth",
                "*": "You must be logged in to remove authentication data."
            },
            {
                "name": "apierror-mustbeloggedin-uploadstash",
                "normalizedname": "apierror-mustbeloggedin-uploadstash",
                "*": "The upload stash is only available to logged-in users."
            },
            {
                "name": "apierror-mustbeposted",
                "normalizedname": "apierror-mustbeposted",
                "*": "The <kbd>$1</kbd> module requires a POST request."
            },
            {
                "name": "apierror-mustpostparams",
                "normalizedname": "apierror-mustpostparams",
                "*": "The following {{PLURAL:$2|parameter was|parameters were}} found in the query string, but must be in the POST body: $1."
            },
            {
                "name": "apierror-no-direct-editing",
                "normalizedname": "apierror-no-direct-editing",
                "*": "Direct editing via API is not supported for content model $1 used by $2."
            },
            {
                "name": "apierror-noapiwrite",
                "normalizedname": "apierror-noapiwrite",
                "*": "Editing of this wiki through the API is disabled. Make sure the <code>$wgEnableWriteAPI=true;</code> statement is included in the wiki's <code>LocalSettings.php</code> file."
            },
            {
                "name": "apierror-nochanges",
                "normalizedname": "apierror-nochanges",
                "*": "No changes were requested."
            },
            {
                "name": "apierror-nodeleteablefile",
                "normalizedname": "apierror-nodeleteablefile",
                "*": "No such old version of the file."
            },
            {
                "name": "apierror-noedit",
                "normalizedname": "apierror-noedit",
                "*": "You don't have permission to edit pages."
            },
            {
                "name": "apierror-noedit-anon",
                "normalizedname": "apierror-noedit-anon",
                "*": "Anonymous users can't edit pages."
            },
            {
                "name": "apierror-noimageredirect",
                "normalizedname": "apierror-noimageredirect",
                "*": "You don't have permission to create image redirects."
            },
            {
                "name": "apierror-noimageredirect-anon",
                "normalizedname": "apierror-noimageredirect-anon",
                "*": "Anonymous users can't create image redirects."
            },
            {
                "name": "apierror-nosuchlogid",
                "normalizedname": "apierror-nosuchlogid",
                "*": "There is no log entry with ID $1."
            },
            {
                "name": "apierror-nosuchpageid",
                "normalizedname": "apierror-nosuchpageid",
                "*": "There is no page with ID $1."
            },
            {
                "name": "apierror-nosuchrcid",
                "normalizedname": "apierror-nosuchrcid",
                "*": "There is no recent change with ID $1."
            },
            {
                "name": "apierror-nosuchrevid",
                "normalizedname": "apierror-nosuchrevid",
                "*": "There is no revision with ID $1."
            },
            {
                "name": "apierror-nosuchsection",
                "normalizedname": "apierror-nosuchsection",
                "*": "There is no section $1."
            },
            {
                "name": "apierror-nosuchsection-what",
                "normalizedname": "apierror-nosuchsection-what",
                "*": "There is no section $1 in $2."
            },
            {
                "name": "apierror-nosuchuserid",
                "normalizedname": "apierror-nosuchuserid",
                "*": "There is no user with ID $1."
            },
            {
                "name": "apierror-notarget",
                "normalizedname": "apierror-notarget",
                "*": "You have not specified a valid target for this action."
            },
            {
                "name": "apierror-notpatrollable",
                "normalizedname": "apierror-notpatrollable",
                "*": "The revision r$1 can't be patrolled as it's too old."
            },
            {
                "name": "apierror-nouploadmodule",
                "normalizedname": "apierror-nouploadmodule",
                "*": "No upload module set."
            },
            {
                "name": "apierror-offline",
                "normalizedname": "apierror-offline",
                "*": "Could not proceed due to network connectivity issues. Make sure you have a working internet connection and try again."
            },
            {
                "name": "apierror-opensearch-json-warnings",
                "normalizedname": "apierror-opensearch-json-warnings",
                "*": "Warnings cannot be represented in OpenSearch JSON format."
            },
            {
                "name": "apierror-pagecannotexist",
                "normalizedname": "apierror-pagecannotexist",
                "*": "Namespace doesn't allow actual pages."
            },
            {
                "name": "apierror-pagedeleted",
                "normalizedname": "apierror-pagedeleted",
                "*": "The page has been deleted since you fetched its timestamp."
            },
            {
                "name": "apierror-pagelang-disabled",
                "normalizedname": "apierror-pagelang-disabled",
                "*": "Changing the language of a page is not allowed on this wiki."
            },
            {
                "name": "apierror-paramempty",
                "normalizedname": "apierror-paramempty",
                "*": "The parameter <var>$1</var> may not be empty."
            },
            {
                "name": "apierror-parsetree-notwikitext",
                "normalizedname": "apierror-parsetree-notwikitext",
                "*": "<kbd>prop=parsetree</kbd> is only supported for wikitext content."
            },
            {
                "name": "apierror-parsetree-notwikitext-title",
                "normalizedname": "apierror-parsetree-notwikitext-title",
                "*": "<kbd>prop=parsetree</kbd> is only supported for wikitext content. $1 uses content model $2."
            },
            {
                "name": "apierror-pastexpiry",
                "normalizedname": "apierror-pastexpiry",
                "*": "Expiry time \"$1\" is in the past."
            },
            {
                "name": "apierror-permissiondenied",
                "normalizedname": "apierror-permissiondenied",
                "*": "You don't have permission to $1."
            },
            {
                "name": "apierror-permissiondenied-generic",
                "normalizedname": "apierror-permissiondenied-generic",
                "*": "Permission denied."
            },
            {
                "name": "apierror-permissiondenied-patrolflag",
                "normalizedname": "apierror-permissiondenied-patrolflag",
                "*": "You need the <code>patrol</code> or <code>patrolmarks</code> right to request the patrolled flag."
            },
            {
                "name": "apierror-permissiondenied-unblock",
                "normalizedname": "apierror-permissiondenied-unblock",
                "*": "You don't have permission to unblock users."
            },
            {
                "name": "apierror-prefixsearchdisabled",
                "normalizedname": "apierror-prefixsearchdisabled",
                "*": "Prefix search is disabled in Miser Mode."
            },
            {
                "name": "apierror-promised-nonwrite-api",
                "normalizedname": "apierror-promised-nonwrite-api",
                "*": "The <code>Promise-Non-Write-API-Action</code> HTTP header cannot be sent to write-mode API modules."
            },
            {
                "name": "apierror-protect-invalidaction",
                "normalizedname": "apierror-protect-invalidaction",
                "*": "Invalid protection type \"$1\"."
            },
            {
                "name": "apierror-protect-invalidlevel",
                "normalizedname": "apierror-protect-invalidlevel",
                "*": "Invalid protection level \"$1\"."
            },
            {
                "name": "apierror-ratelimited",
                "normalizedname": "apierror-ratelimited",
                "*": "You've exceeded your rate limit. Please wait some time and try again."
            },
            {
                "name": "apierror-readapidenied",
                "normalizedname": "apierror-readapidenied",
                "*": "You need read permission to use this module."
            },
            {
                "name": "apierror-readonly",
                "normalizedname": "apierror-readonly",
                "*": "The wiki is currently in read-only mode."
            },
            {
                "name": "apierror-reauthenticate",
                "normalizedname": "apierror-reauthenticate",
                "*": "You have not authenticated recently in this session, please reauthenticate."
            },
            {
                "name": "apierror-redirect-appendonly",
                "normalizedname": "apierror-redirect-appendonly",
                "*": "You have attempted to edit using the redirect-following mode, which must be used in conjuction with <kbd>section=new</kbd>, <var>prependtext</var>, or <var>appendtext</var>."
            },
            {
                "name": "apierror-revdel-mutuallyexclusive",
                "normalizedname": "apierror-revdel-mutuallyexclusive",
                "*": "The same field cannot be used in both <var>hide</var> and <var>show</var>."
            },
            {
                "name": "apierror-revdel-needtarget",
                "normalizedname": "apierror-revdel-needtarget",
                "*": "A target title is required for this RevDel type."
            },
            {
                "name": "apierror-revdel-paramneeded",
                "normalizedname": "apierror-revdel-paramneeded",
                "*": "At least one value is required for <var>hide</var> and/or <var>show</var>."
            },
            {
                "name": "apierror-revisions-badid",
                "normalizedname": "apierror-revisions-badid",
                "*": "No revision was found for parameter <var>$1</var>."
            },
            {
                "name": "apierror-revisions-norevids",
                "normalizedname": "apierror-revisions-norevids",
                "*": "The <var>revids</var> parameter may not be used with the list options (<var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var>, and <var>$1end</var>)."
            },
            {
                "name": "apierror-revisions-singlepage",
                "normalizedname": "apierror-revisions-singlepage",
                "*": "<var>titles</var>, <var>pageids</var> or a generator was used to supply multiple pages, but the <var>$1limit</var>, <var>$1startid</var>, <var>$1endid</var>, <kbd>$1dir=newer</kbd>, <var>$1user</var>, <var>$1excludeuser</var>, <var>$1start</var>, and <var>$1end</var> parameters may only be used on a single page."
            },
            {
                "name": "apierror-revwrongpage",
                "normalizedname": "apierror-revwrongpage",
                "*": "r$1 is not a revision of $2."
            },
            {
                "name": "apierror-searchdisabled",
                "normalizedname": "apierror-searchdisabled",
                "*": "<var>$1</var> search is disabled."
            },
            {
                "name": "apierror-sectionreplacefailed",
                "normalizedname": "apierror-sectionreplacefailed",
                "*": "Could not merge updated section."
            },
            {
                "name": "apierror-sectionsnotsupported",
                "normalizedname": "apierror-sectionsnotsupported",
                "*": "Sections are not supported for content model $1."
            },
            {
                "name": "apierror-sectionsnotsupported-what",
                "normalizedname": "apierror-sectionsnotsupported-what",
                "*": "Sections are not supported by $1."
            },
            {
                "name": "apierror-show",
                "normalizedname": "apierror-show",
                "*": "Incorrect parameter - mutually exclusive values may not be supplied."
            },
            {
                "name": "apierror-siteinfo-includealldenied",
                "normalizedname": "apierror-siteinfo-includealldenied",
                "*": "Cannot view all servers' info unless <var>$wgShowHostNames</var> is true."
            },
            {
                "name": "apierror-sizediffdisabled",
                "normalizedname": "apierror-sizediffdisabled",
                "*": "Size difference is disabled in Miser Mode."
            },
            {
                "name": "apierror-spamdetected",
                "normalizedname": "apierror-spamdetected",
                "*": "Your edit was refused because it contained a spam fragment: <code>$1</code>."
            },
            {
                "name": "apierror-specialpage-cantexecute",
                "normalizedname": "apierror-specialpage-cantexecute",
                "*": "You don't have permission to view the results of this special page."
            },
            {
                "name": "apierror-stashedfilenotfound",
                "normalizedname": "apierror-stashedfilenotfound",
                "*": "Could not find the file in the stash: $1."
            },
            {
                "name": "apierror-stashedit-missingtext",
                "normalizedname": "apierror-stashedit-missingtext",
                "*": "No stashed text found with the given hash."
            },
            {
                "name": "apierror-stashexception",
                "normalizedname": "apierror-stashexception",
                "*": "$1"
            },
            {
                "name": "apierror-stashfailed-complete",
                "normalizedname": "apierror-stashfailed-complete",
                "*": "Chunked upload is already completed, check status for details."
            },
            {
                "name": "apierror-stashfailed-nosession",
                "normalizedname": "apierror-stashfailed-nosession",
                "*": "No chunked upload session with this key."
            },
            {
                "name": "apierror-stashfilestorage",
                "normalizedname": "apierror-stashfilestorage",
                "*": "Could not store upload in the stash: $1"
            },
            {
                "name": "apierror-stashinvalidfile",
                "normalizedname": "apierror-stashinvalidfile",
                "*": "Invalid stashed file."
            },
            {
                "name": "apierror-stashnosuchfilekey",
                "normalizedname": "apierror-stashnosuchfilekey",
                "*": "No such filekey: $1."
            },
            {
                "name": "apierror-stashpathinvalid",
                "normalizedname": "apierror-stashpathinvalid",
                "*": "File key of improper format or otherwise invalid: $1."
            },
            {
                "name": "apierror-stashwrongowner",
                "normalizedname": "apierror-stashwrongowner",
                "*": "Wrong owner: $1"
            },
            {
                "name": "apierror-stashzerolength",
                "normalizedname": "apierror-stashzerolength",
                "*": "File is of zero length, and could not be stored in the stash: $1."
            },
            {
                "name": "apierror-systemblocked",
                "normalizedname": "apierror-systemblocked",
                "*": "You have been blocked automatically by MediaWiki."
            },
            {
                "name": "apierror-templateexpansion-notwikitext",
                "normalizedname": "apierror-templateexpansion-notwikitext",
                "*": "Template expansion is only supported for wikitext content. $1 uses content model $2."
            },
            {
                "name": "apierror-timeout",
                "normalizedname": "apierror-timeout",
                "*": "The server did not respond within the expected time."
            },
            {
                "name": "apierror-toofewexpiries",
                "normalizedname": "apierror-toofewexpiries",
                "*": "$1 expiry {{PLURAL:$1|timestamp was|timestamps were}} provided where $2 {{PLURAL:$2|was|were}} needed."
            },
            {
                "name": "apierror-unknownaction",
                "normalizedname": "apierror-unknownaction",
                "*": "The action specified, <kbd>$1</kbd>, is not recognized."
            },
            {
                "name": "apierror-unknownerror",
                "normalizedname": "apierror-unknownerror",
                "*": "Unknown error: \"$1\"."
            },
            {
                "name": "apierror-unknownerror-editpage",
                "normalizedname": "apierror-unknownerror-editpage",
                "*": "Unknown EditPage error: $1."
            },
            {
                "name": "apierror-unknownerror-nocode",
                "normalizedname": "apierror-unknownerror-nocode",
                "*": "Unknown error."
            },
            {
                "name": "apierror-unknownformat",
                "normalizedname": "apierror-unknownformat",
                "*": "Unrecognized format \"$1\"."
            },
            {
                "name": "apierror-unrecognizedparams",
                "normalizedname": "apierror-unrecognizedparams",
                "*": "Unrecognized {{PLURAL:$2|parameter|parameters}}: $1."
            },
            {
                "name": "apierror-unrecognizedvalue",
                "normalizedname": "apierror-unrecognizedvalue",
                "*": "Unrecognized value for parameter <var>$1</var>: $2."
            },
            {
                "name": "apierror-unsupportedrepo",
                "normalizedname": "apierror-unsupportedrepo",
                "*": "Local file repository does not support querying all images."
            },
            {
                "name": "apierror-upload-filekeyneeded",
                "normalizedname": "apierror-upload-filekeyneeded",
                "*": "Must supply a <var>filekey</var> when <var>offset</var> is non-zero."
            },
            {
                "name": "apierror-upload-filekeynotallowed",
                "normalizedname": "apierror-upload-filekeynotallowed",
                "*": "Cannot supply a <var>filekey</var> when <var>offset</var> is 0."
            },
            {
                "name": "apierror-upload-inprogress",
                "normalizedname": "apierror-upload-inprogress",
                "*": "Upload from stash already in progress."
            },
            {
                "name": "apierror-upload-missingresult",
                "normalizedname": "apierror-upload-missingresult",
                "*": "No result in status data."
            },
            {
                "name": "apierror-urlparamnormal",
                "normalizedname": "apierror-urlparamnormal",
                "*": "Could not normalize image parameters for $1."
            },
            {
                "name": "apierror-writeapidenied",
                "normalizedname": "apierror-writeapidenied",
                "*": "You're not allowed to edit this wiki through the API."
            },
            {
                "name": "apihelp",
                "normalizedname": "apihelp",
                "*": "API help"
            },
            {
                "name": "apihelp-block-example-ip-simple",
                "normalizedname": "apihelp-block-example-ip-simple",
                "*": "Block IP address <kbd>192.0.2.5</kbd> for three days with reason <kbd>First strike</kbd>."
            },
            {
                "name": "apihelp-block-example-user-complex",
                "normalizedname": "apihelp-block-example-user-complex",
                "*": "Block user <kbd>Vandal</kbd> indefinitely with reason <kbd>Vandalism</kbd>, and prevent new account creation and email sending."
            },
            {
                "name": "apihelp-block-param-allowusertalk",
                "normalizedname": "apihelp-block-param-allowusertalk",
                "*": "Allow the user to edit their own talk page (depends on <var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>)."
            },
            {
                "name": "apihelp-block-param-anononly",
                "normalizedname": "apihelp-block-param-anononly",
                "*": "Block anonymous users only (i.e. disable anonymous edits for this IP address)."
            },
            {
                "name": "apihelp-block-param-autoblock",
                "normalizedname": "apihelp-block-param-autoblock",
                "*": "Automatically block the last used IP address, and any subsequent IP addresses they try to login from."
            },
            {
                "name": "apihelp-block-param-expiry",
                "normalizedname": "apihelp-block-param-expiry",
                "*": "Expiry time. May be relative (e.g. <kbd>5 months</kbd> or <kbd>2 weeks</kbd>) or absolute (e.g. <kbd>2014-09-18T12:34:56Z</kbd>). If set to <kbd>infinite</kbd>, <kbd>indefinite</kbd>, or <kbd>never</kbd>, the block will never expire."
            },
            {
                "name": "apihelp-block-param-hidename",
                "normalizedname": "apihelp-block-param-hidename",
                "*": "Hide the username from the block log. (Requires the <code>hideuser</code> right)."
            },
            {
                "name": "apihelp-block-param-nocreate",
                "normalizedname": "apihelp-block-param-nocreate",
                "*": "Prevent account creation."
            },
            {
                "name": "apihelp-block-param-noemail",
                "normalizedname": "apihelp-block-param-noemail",
                "*": "Prevent user from sending email through the wiki. (Requires the <code>blockemail</code> right)."
            },
            {
                "name": "apihelp-block-param-reason",
                "normalizedname": "apihelp-block-param-reason",
                "*": "Reason for block."
            },
            {
                "name": "apihelp-block-param-reblock",
                "normalizedname": "apihelp-block-param-reblock",
                "*": "If the user is already blocked, overwrite the existing block."
            },
            {
                "name": "apihelp-block-param-tags",
                "normalizedname": "apihelp-block-param-tags",
                "*": "Change tags to apply to the entry in the block log."
            },
            {
                "name": "apihelp-block-param-user",
                "normalizedname": "apihelp-block-param-user",
                "*": "Username, IP address, or IP address range to block. Cannot be used together with <var>$1userid</var>"
            },
            {
                "name": "apihelp-block-param-userid",
                "normalizedname": "apihelp-block-param-userid",
                "*": "User ID to block. Cannot be used together with <var>$1user</var>."
            },
            {
                "name": "apihelp-block-param-watchuser",
                "normalizedname": "apihelp-block-param-watchuser",
                "*": "Watch the user's or IP address's user and talk pages."
            },
            {
                "name": "apihelp-block-summary",
                "normalizedname": "apihelp-block-summary",
                "*": "Block a user."
            },
            {
                "name": "apihelp-changeauthenticationdata-example-password",
                "normalizedname": "apihelp-changeauthenticationdata-example-password",
                "*": "Attempt to change the current user's password to <kbd>ExamplePassword</kbd>."
            },
            {
                "name": "apihelp-changeauthenticationdata-summary",
                "normalizedname": "apihelp-changeauthenticationdata-summary",
                "*": "Change authentication data for the current user."
            },
            {
                "name": "apihelp-checktoken-example-simple",
                "normalizedname": "apihelp-checktoken-example-simple",
                "*": "Test the validity of a <kbd>csrf</kbd> token."
            },
            {
                "name": "apihelp-checktoken-param-maxtokenage",
                "normalizedname": "apihelp-checktoken-param-maxtokenage",
                "*": "Maximum allowed age of the token, in seconds."
            },
            {
                "name": "apihelp-checktoken-param-token",
                "normalizedname": "apihelp-checktoken-param-token",
                "*": "Token to test."
            },
            {
                "name": "apihelp-checktoken-param-type",
                "normalizedname": "apihelp-checktoken-param-type",
                "*": "Type of token being tested."
            },
            {
                "name": "apihelp-checktoken-summary",
                "normalizedname": "apihelp-checktoken-summary",
                "*": "Check the validity of a token from <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd>."
            },
            {
                "name": "apihelp-clearhasmsg-example-1",
                "normalizedname": "apihelp-clearhasmsg-example-1",
                "*": "Clear the <code>hasmsg</code> flag for the current user."
            },
            {
                "name": "apihelp-clearhasmsg-summary",
                "normalizedname": "apihelp-clearhasmsg-summary",
                "*": "Clears the <code>hasmsg</code> flag for the current user."
            },
            {
                "name": "apihelp-clientlogin-example-login",
                "normalizedname": "apihelp-clientlogin-example-login",
                "*": "Start the process of logging in to the wiki as user <kbd>Example</kbd> with password <kbd>ExamplePassword</kbd>."
            },
            {
                "name": "apihelp-clientlogin-example-login2",
                "normalizedname": "apihelp-clientlogin-example-login2",
                "*": "Continue logging in after a <samp>UI</samp> response for two-factor auth, supplying an <var>OATHToken</var> of <kbd>987654</kbd>."
            },
            {
                "name": "apihelp-clientlogin-summary",
                "normalizedname": "apihelp-clientlogin-summary",
                "*": "Log in to the wiki using the interactive flow."
            },
            {
                "name": "apihelp-compare-example-1",
                "normalizedname": "apihelp-compare-example-1",
                "*": "Create a diff between revision 1 and 2."
            },
            {
                "name": "apihelp-compare-extended-description",
                "normalizedname": "apihelp-compare-extended-description",
                "*": "A revision number, a page title, a page ID, text, or a relative reference for both \"from\" and \"to\" must be passed."
            },
            {
                "name": "apihelp-compare-param-fromcontentformat",
                "normalizedname": "apihelp-compare-param-fromcontentformat",
                "*": "Content serialization format of <var>fromtext</var>."
            },
            {
                "name": "apihelp-compare-param-fromcontentmodel",
                "normalizedname": "apihelp-compare-param-fromcontentmodel",
                "*": "Content model of <var>fromtext</var>. If not supplied, it will be guessed based on the other parameters."
            },
            {
                "name": "apihelp-compare-param-fromid",
                "normalizedname": "apihelp-compare-param-fromid",
                "*": "First page ID to compare."
            },
            {
                "name": "apihelp-compare-param-frompst",
                "normalizedname": "apihelp-compare-param-frompst",
                "*": "Do a pre-save transform on <var>fromtext</var>."
            },
            {
                "name": "apihelp-compare-param-fromrev",
                "normalizedname": "apihelp-compare-param-fromrev",
                "*": "First revision to compare."
            },
            {
                "name": "apihelp-compare-param-fromsection",
                "normalizedname": "apihelp-compare-param-fromsection",
                "*": "Only use the specified section of the specified 'from' content."
            },
            {
                "name": "apihelp-compare-param-fromtext",
                "normalizedname": "apihelp-compare-param-fromtext",
                "*": "Use this text instead of the content of the revision specified by <var>fromtitle</var>, <var>fromid</var> or <var>fromrev</var>."
            },
            {
                "name": "apihelp-compare-param-fromtitle",
                "normalizedname": "apihelp-compare-param-fromtitle",
                "*": "First title to compare."
            },
            {
                "name": "apihelp-compare-param-prop",
                "normalizedname": "apihelp-compare-param-prop",
                "*": "Which pieces of information to get."
            },
            {
                "name": "apihelp-compare-param-tocontentformat",
                "normalizedname": "apihelp-compare-param-tocontentformat",
                "*": "Content serialization format of <var>totext</var>."
            },
            {
                "name": "apihelp-compare-param-tocontentmodel",
                "normalizedname": "apihelp-compare-param-tocontentmodel",
                "*": "Content model of <var>totext</var>. If not supplied, it will be guessed based on the other parameters."
            },
            {
                "name": "apihelp-compare-param-toid",
                "normalizedname": "apihelp-compare-param-toid",
                "*": "Second page ID to compare."
            },
            {
                "name": "apihelp-compare-param-topst",
                "normalizedname": "apihelp-compare-param-topst",
                "*": "Do a pre-save transform on <var>totext</var>."
            },
            {
                "name": "apihelp-compare-param-torelative",
                "normalizedname": "apihelp-compare-param-torelative",
                "*": "Use a revision relative to the revision determined from <var>fromtitle</var>, <var>fromid</var> or <var>fromrev</var>. All of the other 'to' options will be ignored."
            },
            {
                "name": "apihelp-compare-param-torev",
                "normalizedname": "apihelp-compare-param-torev",
                "*": "Second revision to compare."
            },
            {
                "name": "apihelp-compare-param-tosection",
                "normalizedname": "apihelp-compare-param-tosection",
                "*": "Only use the specified section of the specified 'to' content."
            },
            {
                "name": "apihelp-compare-param-totext",
                "normalizedname": "apihelp-compare-param-totext",
                "*": "Use this text instead of the content of the revision specified by <var>totitle</var>, <var>toid</var> or <var>torev</var>."
            },
            {
                "name": "apihelp-compare-param-totitle",
                "normalizedname": "apihelp-compare-param-totitle",
                "*": "Second title to compare."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-comment",
                "normalizedname": "apihelp-compare-paramvalue-prop-comment",
                "*": "The comment on the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-diff",
                "normalizedname": "apihelp-compare-paramvalue-prop-diff",
                "*": "The diff HTML."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-diffsize",
                "normalizedname": "apihelp-compare-paramvalue-prop-diffsize",
                "*": "The size of the diff HTML, in bytes."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-ids",
                "normalizedname": "apihelp-compare-paramvalue-prop-ids",
                "*": "The page and revision IDs of the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-compare-paramvalue-prop-parsedcomment",
                "*": "The parsed comment on the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-rel",
                "normalizedname": "apihelp-compare-paramvalue-prop-rel",
                "*": "The revision IDs of the revision previous to 'from' and after 'to', if any."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-size",
                "normalizedname": "apihelp-compare-paramvalue-prop-size",
                "*": "The size of the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-title",
                "normalizedname": "apihelp-compare-paramvalue-prop-title",
                "*": "The page titles of the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-paramvalue-prop-user",
                "normalizedname": "apihelp-compare-paramvalue-prop-user",
                "*": "The user name and ID of the 'from' and 'to' revisions."
            },
            {
                "name": "apihelp-compare-summary",
                "normalizedname": "apihelp-compare-summary",
                "*": "Get the difference between two pages."
            },
            {
                "name": "apihelp-createaccount-example-create",
                "normalizedname": "apihelp-createaccount-example-create",
                "*": "Start the process of creating user <kbd>Example</kbd> with password <kbd>ExamplePassword</kbd>."
            },
            {
                "name": "apihelp-createaccount-example-mail",
                "normalizedname": "apihelp-createaccount-example-mail",
                "*": "Create user <kbd>testmailuser</kbd> and email a randomly-generated password."
            },
            {
                "name": "apihelp-createaccount-example-pass",
                "normalizedname": "apihelp-createaccount-example-pass",
                "*": "Create user <kbd>testuser</kbd> with password <kbd>test123</kbd>."
            },
            {
                "name": "apihelp-createaccount-param-domain",
                "normalizedname": "apihelp-createaccount-param-domain",
                "*": "Domain for external authentication (optional)."
            },
            {
                "name": "apihelp-createaccount-param-email",
                "normalizedname": "apihelp-createaccount-param-email",
                "*": "Email address of user (optional)."
            },
            {
                "name": "apihelp-createaccount-param-language",
                "normalizedname": "apihelp-createaccount-param-language",
                "*": "Language code to set as default for the user (optional, defaults to content language)."
            },
            {
                "name": "apihelp-createaccount-param-mailpassword",
                "normalizedname": "apihelp-createaccount-param-mailpassword",
                "*": "If set to any value, a random password will be emailed to the user."
            },
            {
                "name": "apihelp-createaccount-param-name",
                "normalizedname": "apihelp-createaccount-param-name",
                "*": "Username."
            },
            {
                "name": "apihelp-createaccount-param-password",
                "normalizedname": "apihelp-createaccount-param-password",
                "*": "Password (ignored if <var>$1mailpassword</var> is set)."
            },
            {
                "name": "apihelp-createaccount-param-preservestate",
                "normalizedname": "apihelp-createaccount-param-preservestate",
                "*": "If <kbd>[[Special:ApiHelp/query+authmanagerinfo|action=query&meta=authmanagerinfo]]</kbd> returned true for <samp>hasprimarypreservedstate</samp>, requests marked as <samp>primary-required</samp> should be omitted. If it returned a non-empty value for <samp>preservedusername</samp>, that username must be used for the <var>username</var> parameter."
            },
            {
                "name": "apihelp-createaccount-param-realname",
                "normalizedname": "apihelp-createaccount-param-realname",
                "*": "Real name of user (optional)."
            },
            {
                "name": "apihelp-createaccount-param-reason",
                "normalizedname": "apihelp-createaccount-param-reason",
                "*": "Optional reason for creating the account to be put in the logs."
            },
            {
                "name": "apihelp-createaccount-param-token",
                "normalizedname": "apihelp-createaccount-param-token",
                "*": "Account creation token obtained in first request."
            },
            {
                "name": "apihelp-createaccount-summary",
                "normalizedname": "apihelp-createaccount-summary",
                "*": "Create a new user account."
            },
            {
                "name": "apihelp-cspreport-param-reportonly",
                "normalizedname": "apihelp-cspreport-param-reportonly",
                "*": "Mark as being a report from a monitoring policy, not an enforced policy"
            },
            {
                "name": "apihelp-cspreport-param-source",
                "normalizedname": "apihelp-cspreport-param-source",
                "*": "What generated the CSP header that triggered this report"
            },
            {
                "name": "apihelp-cspreport-summary",
                "normalizedname": "apihelp-cspreport-summary",
                "*": "Used by browsers to report violations of the Content Security Policy. This module should never be used, except when used automatically by a CSP compliant web browser."
            },
            {
                "name": "apihelp-delete-example-reason",
                "normalizedname": "apihelp-delete-example-reason",
                "*": "Delete <kbd>Main Page</kbd> with the reason <kbd>Preparing for move</kbd>."
            },
            {
                "name": "apihelp-delete-example-simple",
                "normalizedname": "apihelp-delete-example-simple",
                "*": "Delete <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-delete-param-oldimage",
                "normalizedname": "apihelp-delete-param-oldimage",
                "*": "The name of the old image to delete as provided by [[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]]."
            },
            {
                "name": "apihelp-delete-param-pageid",
                "normalizedname": "apihelp-delete-param-pageid",
                "*": "Page ID of the page to delete. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-delete-param-reason",
                "normalizedname": "apihelp-delete-param-reason",
                "*": "Reason for the deletion. If not set, an automatically generated reason will be used."
            },
            {
                "name": "apihelp-delete-param-tags",
                "normalizedname": "apihelp-delete-param-tags",
                "*": "Change tags to apply to the entry in the deletion log."
            },
            {
                "name": "apihelp-delete-param-title",
                "normalizedname": "apihelp-delete-param-title",
                "*": "Title of the page to delete. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-delete-param-unwatch",
                "normalizedname": "apihelp-delete-param-unwatch",
                "*": "Remove the page from the current user's watchlist."
            },
            {
                "name": "apihelp-delete-param-watch",
                "normalizedname": "apihelp-delete-param-watch",
                "*": "Add the page to the current user's watchlist."
            },
            {
                "name": "apihelp-delete-param-watchlist",
                "normalizedname": "apihelp-delete-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-delete-summary",
                "normalizedname": "apihelp-delete-summary",
                "*": "Delete a page."
            },
            {
                "name": "apihelp-disabled-summary",
                "normalizedname": "apihelp-disabled-summary",
                "*": "This module has been disabled."
            },
            {
                "name": "apihelp-edit-example-edit",
                "normalizedname": "apihelp-edit-example-edit",
                "*": "Edit a page."
            },
            {
                "name": "apihelp-edit-example-prepend",
                "normalizedname": "apihelp-edit-example-prepend",
                "*": "Prepend <kbd>_&#95;NOTOC_&#95;</kbd> to a page."
            },
            {
                "name": "apihelp-edit-example-undo",
                "normalizedname": "apihelp-edit-example-undo",
                "*": "Undo revisions 13579 through 13585 with autosummary."
            },
            {
                "name": "apihelp-edit-param-appendtext",
                "normalizedname": "apihelp-edit-param-appendtext",
                "*": "Add this text to the end of the page. Overrides $1text.\n\nUse $1section=new to append a new section, rather than this parameter."
            },
            {
                "name": "apihelp-edit-param-basetimestamp",
                "normalizedname": "apihelp-edit-param-basetimestamp",
                "*": "Timestamp of the base revision, used to detect edit conflicts. May be obtained through [[Special:ApiHelp/query+revisions|action=query&prop=revisions&rvprop=timestamp]]."
            },
            {
                "name": "apihelp-edit-param-bot",
                "normalizedname": "apihelp-edit-param-bot",
                "*": "Mark this edit as a bot edit."
            },
            {
                "name": "apihelp-edit-param-contentformat",
                "normalizedname": "apihelp-edit-param-contentformat",
                "*": "Content serialization format used for the input text."
            },
            {
                "name": "apihelp-edit-param-contentmodel",
                "normalizedname": "apihelp-edit-param-contentmodel",
                "*": "Content model of the new content."
            },
            {
                "name": "apihelp-edit-param-createonly",
                "normalizedname": "apihelp-edit-param-createonly",
                "*": "Don't edit the page if it exists already."
            },
            {
                "name": "apihelp-edit-param-md5",
                "normalizedname": "apihelp-edit-param-md5",
                "*": "The MD5 hash of the $1text parameter, or the $1prependtext and $1appendtext parameters concatenated. If set, the edit won't be done unless the hash is correct."
            },
            {
                "name": "apihelp-edit-param-minor",
                "normalizedname": "apihelp-edit-param-minor",
                "*": "Minor edit."
            },
            {
                "name": "apihelp-edit-param-nocreate",
                "normalizedname": "apihelp-edit-param-nocreate",
                "*": "Throw an error if the page doesn't exist."
            },
            {
                "name": "apihelp-edit-param-notminor",
                "normalizedname": "apihelp-edit-param-notminor",
                "*": "Non-minor edit."
            },
            {
                "name": "apihelp-edit-param-pageid",
                "normalizedname": "apihelp-edit-param-pageid",
                "*": "Page ID of the page to edit. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-edit-param-prependtext",
                "normalizedname": "apihelp-edit-param-prependtext",
                "*": "Add this text to the beginning of the page. Overrides $1text."
            },
            {
                "name": "apihelp-edit-param-recreate",
                "normalizedname": "apihelp-edit-param-recreate",
                "*": "Override any errors about the page having been deleted in the meantime."
            },
            {
                "name": "apihelp-edit-param-redirect",
                "normalizedname": "apihelp-edit-param-redirect",
                "*": "Automatically resolve redirects."
            },
            {
                "name": "apihelp-edit-param-section",
                "normalizedname": "apihelp-edit-param-section",
                "*": "Section number. <kbd>0</kbd> for the top section, <kbd>new</kbd> for a new section."
            },
            {
                "name": "apihelp-edit-param-sectiontitle",
                "normalizedname": "apihelp-edit-param-sectiontitle",
                "*": "The title for a new section."
            },
            {
                "name": "apihelp-edit-param-starttimestamp",
                "normalizedname": "apihelp-edit-param-starttimestamp",
                "*": "Timestamp when the editing process began, used to detect edit conflicts. An appropriate value may be obtained using <var>[[Special:ApiHelp/main|curtimestamp]]</var> when beginning the edit process (e.g. when loading the page content to edit)."
            },
            {
                "name": "apihelp-edit-param-summary",
                "normalizedname": "apihelp-edit-param-summary",
                "*": "Edit summary. Also section title when $1section=new and $1sectiontitle is not set."
            },
            {
                "name": "apihelp-edit-param-tags",
                "normalizedname": "apihelp-edit-param-tags",
                "*": "Change tags to apply to the revision."
            },
            {
                "name": "apihelp-edit-param-text",
                "normalizedname": "apihelp-edit-param-text",
                "*": "Page content."
            },
            {
                "name": "apihelp-edit-param-title",
                "normalizedname": "apihelp-edit-param-title",
                "*": "Title of the page to edit. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-edit-param-token",
                "normalizedname": "apihelp-edit-param-token",
                "*": "The token should always be sent as the last parameter, or at least after the $1text parameter."
            },
            {
                "name": "apihelp-edit-param-undo",
                "normalizedname": "apihelp-edit-param-undo",
                "*": "Undo this revision. Overrides $1text, $1prependtext and $1appendtext."
            },
            {
                "name": "apihelp-edit-param-undoafter",
                "normalizedname": "apihelp-edit-param-undoafter",
                "*": "Undo all revisions from $1undo to this one. If not set, just undo one revision."
            },
            {
                "name": "apihelp-edit-param-unwatch",
                "normalizedname": "apihelp-edit-param-unwatch",
                "*": "Remove the page from the current user's watchlist."
            },
            {
                "name": "apihelp-edit-param-watch",
                "normalizedname": "apihelp-edit-param-watch",
                "*": "Add the page to the current user's watchlist."
            },
            {
                "name": "apihelp-edit-param-watchlist",
                "normalizedname": "apihelp-edit-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-edit-summary",
                "normalizedname": "apihelp-edit-summary",
                "*": "Create and edit pages."
            },
            {
                "name": "apihelp-emailuser-example-email",
                "normalizedname": "apihelp-emailuser-example-email",
                "*": "Send an email to user <kbd>WikiSysop</kbd> with the text <kbd>Content</kbd>."
            },
            {
                "name": "apihelp-emailuser-param-ccme",
                "normalizedname": "apihelp-emailuser-param-ccme",
                "*": "Send a copy of this mail to me."
            },
            {
                "name": "apihelp-emailuser-param-subject",
                "normalizedname": "apihelp-emailuser-param-subject",
                "*": "Subject header."
            },
            {
                "name": "apihelp-emailuser-param-target",
                "normalizedname": "apihelp-emailuser-param-target",
                "*": "User to send email to."
            },
            {
                "name": "apihelp-emailuser-param-text",
                "normalizedname": "apihelp-emailuser-param-text",
                "*": "Mail body."
            },
            {
                "name": "apihelp-emailuser-summary",
                "normalizedname": "apihelp-emailuser-summary",
                "*": "Email a user."
            },
            {
                "name": "apihelp-expandtemplates-example-simple",
                "normalizedname": "apihelp-expandtemplates-example-simple",
                "*": "Expand the wikitext <kbd><nowiki>{{Project:Sandbox}}</nowiki></kbd>."
            },
            {
                "name": "apihelp-expandtemplates-param-generatexml",
                "normalizedname": "apihelp-expandtemplates-param-generatexml",
                "*": "Generate XML parse tree (replaced by $1prop=parsetree)."
            },
            {
                "name": "apihelp-expandtemplates-param-includecomments",
                "normalizedname": "apihelp-expandtemplates-param-includecomments",
                "*": "Whether to include HTML comments in the output."
            },
            {
                "name": "apihelp-expandtemplates-param-prop",
                "normalizedname": "apihelp-expandtemplates-param-prop",
                "*": "Which pieces of information to get.\n\nNote that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format."
            },
            {
                "name": "apihelp-expandtemplates-param-revid",
                "normalizedname": "apihelp-expandtemplates-param-revid",
                "*": "Revision ID, for <code><nowiki>{{REVISIONID}}</nowiki></code> and similar variables."
            },
            {
                "name": "apihelp-expandtemplates-param-text",
                "normalizedname": "apihelp-expandtemplates-param-text",
                "*": "Wikitext to convert."
            },
            {
                "name": "apihelp-expandtemplates-param-title",
                "normalizedname": "apihelp-expandtemplates-param-title",
                "*": "Title of page."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-categories",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-categories",
                "*": "Any categories present in the input that are not represented in the wikitext output."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-encodedjsconfigvars",
                "*": "Gives the JavaScript configuration variables specific to the page as a JSON string."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-jsconfigvars",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-jsconfigvars",
                "*": "Gives the JavaScript configuration variables specific to the page."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-modules",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-modules",
                "*": "Any ResourceLoader modules that parser functions have requested be added to the output. Either <kbd>jsconfigvars</kbd> or <kbd>encodedjsconfigvars</kbd> must be requested jointly with <kbd>modules</kbd>."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-parsetree",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-parsetree",
                "*": "The XML parse tree of the input."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-properties",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-properties",
                "*": "Page properties defined by expanded magic words in the wikitext."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-ttl",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-ttl",
                "*": "The maximum time after which caches of the result should be invalidated."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-volatile",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-volatile",
                "*": "Whether the output is volatile and should not be reused elsewhere within the page."
            },
            {
                "name": "apihelp-expandtemplates-paramvalue-prop-wikitext",
                "normalizedname": "apihelp-expandtemplates-paramvalue-prop-wikitext",
                "*": "The expanded wikitext."
            },
            {
                "name": "apihelp-expandtemplates-summary",
                "normalizedname": "apihelp-expandtemplates-summary",
                "*": "Expands all templates within wikitext."
            },
            {
                "name": "apihelp-feedcontributions-example-simple",
                "normalizedname": "apihelp-feedcontributions-example-simple",
                "*": "Return contributions for user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-feedcontributions-param-deletedonly",
                "normalizedname": "apihelp-feedcontributions-param-deletedonly",
                "*": "Show only deleted contributions."
            },
            {
                "name": "apihelp-feedcontributions-param-feedformat",
                "normalizedname": "apihelp-feedcontributions-param-feedformat",
                "*": "The format of the feed."
            },
            {
                "name": "apihelp-feedcontributions-param-hideminor",
                "normalizedname": "apihelp-feedcontributions-param-hideminor",
                "*": "Hide minor edits."
            },
            {
                "name": "apihelp-feedcontributions-param-month",
                "normalizedname": "apihelp-feedcontributions-param-month",
                "*": "From month (and earlier)."
            },
            {
                "name": "apihelp-feedcontributions-param-namespace",
                "normalizedname": "apihelp-feedcontributions-param-namespace",
                "*": "Which namespace to filter the contributions by."
            },
            {
                "name": "apihelp-feedcontributions-param-newonly",
                "normalizedname": "apihelp-feedcontributions-param-newonly",
                "*": "Only show edits that are page creations."
            },
            {
                "name": "apihelp-feedcontributions-param-showsizediff",
                "normalizedname": "apihelp-feedcontributions-param-showsizediff",
                "*": "Show the size difference between revisions."
            },
            {
                "name": "apihelp-feedcontributions-param-tagfilter",
                "normalizedname": "apihelp-feedcontributions-param-tagfilter",
                "*": "Filter contributions that have these tags."
            },
            {
                "name": "apihelp-feedcontributions-param-toponly",
                "normalizedname": "apihelp-feedcontributions-param-toponly",
                "*": "Only show edits that are the latest revisions."
            },
            {
                "name": "apihelp-feedcontributions-param-user",
                "normalizedname": "apihelp-feedcontributions-param-user",
                "*": "What users to get the contributions for."
            },
            {
                "name": "apihelp-feedcontributions-param-year",
                "normalizedname": "apihelp-feedcontributions-param-year",
                "*": "From year (and earlier)."
            },
            {
                "name": "apihelp-feedcontributions-summary",
                "normalizedname": "apihelp-feedcontributions-summary",
                "*": "Returns a user contributions feed."
            },
            {
                "name": "apihelp-feedrecentchanges-example-30days",
                "normalizedname": "apihelp-feedrecentchanges-example-30days",
                "*": "Show recent changes for 30 days."
            },
            {
                "name": "apihelp-feedrecentchanges-example-simple",
                "normalizedname": "apihelp-feedrecentchanges-example-simple",
                "*": "Show recent changes."
            },
            {
                "name": "apihelp-feedrecentchanges-param-associated",
                "normalizedname": "apihelp-feedrecentchanges-param-associated",
                "*": "Include associated (talk or main) namespace."
            },
            {
                "name": "apihelp-feedrecentchanges-param-days",
                "normalizedname": "apihelp-feedrecentchanges-param-days",
                "*": "Days to limit the results to."
            },
            {
                "name": "apihelp-feedrecentchanges-param-feedformat",
                "normalizedname": "apihelp-feedrecentchanges-param-feedformat",
                "*": "The format of the feed."
            },
            {
                "name": "apihelp-feedrecentchanges-param-from",
                "normalizedname": "apihelp-feedrecentchanges-param-from",
                "*": "Show changes since then."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hideanons",
                "normalizedname": "apihelp-feedrecentchanges-param-hideanons",
                "*": "Hide changes made by anonymous users."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hidebots",
                "normalizedname": "apihelp-feedrecentchanges-param-hidebots",
                "*": "Hide changes made by bots."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hidecategorization",
                "normalizedname": "apihelp-feedrecentchanges-param-hidecategorization",
                "*": "Hide category membership changes."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hideliu",
                "normalizedname": "apihelp-feedrecentchanges-param-hideliu",
                "*": "Hide changes made by registered users."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hideminor",
                "normalizedname": "apihelp-feedrecentchanges-param-hideminor",
                "*": "Hide minor changes."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hidemyself",
                "normalizedname": "apihelp-feedrecentchanges-param-hidemyself",
                "*": "Hide changes made by the current user."
            },
            {
                "name": "apihelp-feedrecentchanges-param-hidepatrolled",
                "normalizedname": "apihelp-feedrecentchanges-param-hidepatrolled",
                "*": "Hide patrolled changes."
            },
            {
                "name": "apihelp-feedrecentchanges-param-invert",
                "normalizedname": "apihelp-feedrecentchanges-param-invert",
                "*": "All namespaces but the selected one."
            },
            {
                "name": "apihelp-feedrecentchanges-param-limit",
                "normalizedname": "apihelp-feedrecentchanges-param-limit",
                "*": "Maximum number of results to return."
            },
            {
                "name": "apihelp-feedrecentchanges-param-namespace",
                "normalizedname": "apihelp-feedrecentchanges-param-namespace",
                "*": "Namespace to limit the results to."
            },
            {
                "name": "apihelp-feedrecentchanges-param-showlinkedto",
                "normalizedname": "apihelp-feedrecentchanges-param-showlinkedto",
                "*": "Show changes on pages linked to the selected page instead."
            },
            {
                "name": "apihelp-feedrecentchanges-param-tagfilter",
                "normalizedname": "apihelp-feedrecentchanges-param-tagfilter",
                "*": "Filter by tag."
            },
            {
                "name": "apihelp-feedrecentchanges-param-target",
                "normalizedname": "apihelp-feedrecentchanges-param-target",
                "*": "Show only changes on pages linked from this page."
            },
            {
                "name": "apihelp-feedrecentchanges-summary",
                "normalizedname": "apihelp-feedrecentchanges-summary",
                "*": "Returns a recent changes feed."
            },
            {
                "name": "apihelp-feedwatchlist-example-all6hrs",
                "normalizedname": "apihelp-feedwatchlist-example-all6hrs",
                "*": "Show all changes to watched pages in the past 6 hours."
            },
            {
                "name": "apihelp-feedwatchlist-example-default",
                "normalizedname": "apihelp-feedwatchlist-example-default",
                "*": "Show the watchlist feed."
            },
            {
                "name": "apihelp-feedwatchlist-param-feedformat",
                "normalizedname": "apihelp-feedwatchlist-param-feedformat",
                "*": "The format of the feed."
            },
            {
                "name": "apihelp-feedwatchlist-param-hours",
                "normalizedname": "apihelp-feedwatchlist-param-hours",
                "*": "List pages modified within this many hours from now."
            },
            {
                "name": "apihelp-feedwatchlist-param-linktosections",
                "normalizedname": "apihelp-feedwatchlist-param-linktosections",
                "*": "Link directly to changed sections if possible."
            },
            {
                "name": "apihelp-feedwatchlist-summary",
                "normalizedname": "apihelp-feedwatchlist-summary",
                "*": "Returns a watchlist feed."
            },
            {
                "name": "apihelp-filerevert-example-revert",
                "normalizedname": "apihelp-filerevert-example-revert",
                "*": "Revert <kbd>Wiki.png</kbd> to the version of <kbd>2011-03-05T15:27:40Z</kbd>."
            },
            {
                "name": "apihelp-filerevert-param-archivename",
                "normalizedname": "apihelp-filerevert-param-archivename",
                "*": "Archive name of the revision to revert to."
            },
            {
                "name": "apihelp-filerevert-param-comment",
                "normalizedname": "apihelp-filerevert-param-comment",
                "*": "Upload comment."
            },
            {
                "name": "apihelp-filerevert-param-filename",
                "normalizedname": "apihelp-filerevert-param-filename",
                "*": "Target filename, without the File: prefix."
            },
            {
                "name": "apihelp-filerevert-summary",
                "normalizedname": "apihelp-filerevert-summary",
                "*": "Revert a file to an old version."
            },
            {
                "name": "apihelp-format-example-generic",
                "normalizedname": "apihelp-format-example-generic",
                "*": "Return the query result in the $1 format."
            },
            {
                "name": "apihelp-format-param-wrappedhtml",
                "normalizedname": "apihelp-format-param-wrappedhtml",
                "*": "Return the pretty-printed HTML and associated ResourceLoader modules as a JSON object."
            },
            {
                "name": "apihelp-help-example-help",
                "normalizedname": "apihelp-help-example-help",
                "*": "Help for the help module itself."
            },
            {
                "name": "apihelp-help-example-main",
                "normalizedname": "apihelp-help-example-main",
                "*": "Help for the main module."
            },
            {
                "name": "apihelp-help-example-query",
                "normalizedname": "apihelp-help-example-query",
                "*": "Help for two query submodules."
            },
            {
                "name": "apihelp-help-example-recursive",
                "normalizedname": "apihelp-help-example-recursive",
                "*": "All help in one page."
            },
            {
                "name": "apihelp-help-example-submodules",
                "normalizedname": "apihelp-help-example-submodules",
                "*": "Help for <kbd>action=query</kbd> and all its submodules."
            },
            {
                "name": "apihelp-help-param-helpformat",
                "normalizedname": "apihelp-help-param-helpformat",
                "*": "Format of the help output."
            },
            {
                "name": "apihelp-help-param-modules",
                "normalizedname": "apihelp-help-param-modules",
                "*": "Modules to display help for (values of the <var>action</var> and <var>format</var> parameters, or <kbd>main</kbd>). Can specify submodules with a <kbd>+</kbd>."
            },
            {
                "name": "apihelp-help-param-recursivesubmodules",
                "normalizedname": "apihelp-help-param-recursivesubmodules",
                "*": "Include help for submodules recursively."
            },
            {
                "name": "apihelp-help-param-submodules",
                "normalizedname": "apihelp-help-param-submodules",
                "*": "Include help for submodules of the named module."
            },
            {
                "name": "apihelp-help-param-toc",
                "normalizedname": "apihelp-help-param-toc",
                "*": "Include a table of contents in the HTML output."
            },
            {
                "name": "apihelp-help-param-wrap",
                "normalizedname": "apihelp-help-param-wrap",
                "*": "Wrap the output in a standard API response structure."
            },
            {
                "name": "apihelp-help-summary",
                "normalizedname": "apihelp-help-summary",
                "*": "Display help for the specified modules."
            },
            {
                "name": "apihelp-imagerotate-example-generator",
                "normalizedname": "apihelp-imagerotate-example-generator",
                "*": "Rotate all images in <kbd>Category:Flip</kbd> by <kbd>180</kbd> degrees."
            },
            {
                "name": "apihelp-imagerotate-example-simple",
                "normalizedname": "apihelp-imagerotate-example-simple",
                "*": "Rotate <kbd>File:Example.png</kbd> by <kbd>90</kbd> degrees."
            },
            {
                "name": "apihelp-imagerotate-param-rotation",
                "normalizedname": "apihelp-imagerotate-param-rotation",
                "*": "Degrees to rotate image clockwise."
            },
            {
                "name": "apihelp-imagerotate-param-tags",
                "normalizedname": "apihelp-imagerotate-param-tags",
                "*": "Tags to apply to the entry in the upload log."
            },
            {
                "name": "apihelp-imagerotate-summary",
                "normalizedname": "apihelp-imagerotate-summary",
                "*": "Rotate one or more images."
            },
            {
                "name": "apihelp-import-example-import",
                "normalizedname": "apihelp-import-example-import",
                "*": "Import [[meta:Help:ParserFunctions]] to namespace 100 with full history."
            },
            {
                "name": "apihelp-import-extended-description",
                "normalizedname": "apihelp-import-extended-description",
                "*": "Note that the HTTP POST must be done as a file upload (i.e. using multipart/form-data) when sending a file for the <var>xml</var> parameter."
            },
            {
                "name": "apihelp-import-param-assignknownusers",
                "normalizedname": "apihelp-import-param-assignknownusers",
                "*": "Assign edits to local users where the named user exists locally."
            },
            {
                "name": "apihelp-import-param-fullhistory",
                "normalizedname": "apihelp-import-param-fullhistory",
                "*": "For interwiki imports: import the full history, not just the current version."
            },
            {
                "name": "apihelp-import-param-interwikipage",
                "normalizedname": "apihelp-import-param-interwikipage",
                "*": "For interwiki imports: page to import."
            },
            {
                "name": "apihelp-import-param-interwikiprefix",
                "normalizedname": "apihelp-import-param-interwikiprefix",
                "*": "For uploaded imports: interwiki prefix to apply to unknown user names (and known users if <var>$1assignknownusers</var> is set)."
            },
            {
                "name": "apihelp-import-param-interwikisource",
                "normalizedname": "apihelp-import-param-interwikisource",
                "*": "For interwiki imports: wiki to import from."
            },
            {
                "name": "apihelp-import-param-namespace",
                "normalizedname": "apihelp-import-param-namespace",
                "*": "Import to this namespace. Cannot be used together with <var>$1rootpage</var>."
            },
            {
                "name": "apihelp-import-param-rootpage",
                "normalizedname": "apihelp-import-param-rootpage",
                "*": "Import as subpage of this page. Cannot be used together with <var>$1namespace</var>."
            },
            {
                "name": "apihelp-import-param-summary",
                "normalizedname": "apihelp-import-param-summary",
                "*": "Log entry import summary."
            },
            {
                "name": "apihelp-import-param-tags",
                "normalizedname": "apihelp-import-param-tags",
                "*": "Change tags to apply to the entry in the import log and to the null revision on the imported pages."
            },
            {
                "name": "apihelp-import-param-templates",
                "normalizedname": "apihelp-import-param-templates",
                "*": "For interwiki imports: import all included templates as well."
            },
            {
                "name": "apihelp-import-param-xml",
                "normalizedname": "apihelp-import-param-xml",
                "*": "Uploaded XML file."
            },
            {
                "name": "apihelp-import-summary",
                "normalizedname": "apihelp-import-summary",
                "*": "Import a page from another wiki, or from an XML file."
            },
            {
                "name": "apihelp-json-param-ascii",
                "normalizedname": "apihelp-json-param-ascii",
                "*": "If specified, encodes all non-ASCII using hexadecimal escape sequences. Default when <var>formatversion</var> is <kbd>1</kbd>."
            },
            {
                "name": "apihelp-json-param-callback",
                "normalizedname": "apihelp-json-param-callback",
                "*": "If specified, wraps the output into a given function call. For safety, all user-specific data will be restricted."
            },
            {
                "name": "apihelp-json-param-formatversion",
                "normalizedname": "apihelp-json-param-formatversion",
                "*": "Output formatting:\n;1:Backwards-compatible format (XML-style booleans, <samp>*</samp> keys for content nodes, etc.).\n;2:Experimental modern format. Details may change!\n;latest:Use the latest format (currently <kbd>2</kbd>), may change without warning."
            },
            {
                "name": "apihelp-json-param-utf8",
                "normalizedname": "apihelp-json-param-utf8",
                "*": "If specified, encodes most (but not all) non-ASCII characters as UTF-8 instead of replacing them with hexadecimal escape sequences. Default when <var>formatversion</var> is not <kbd>1</kbd>."
            },
            {
                "name": "apihelp-json-summary",
                "normalizedname": "apihelp-json-summary",
                "*": "Output data in JSON format."
            },
            {
                "name": "apihelp-jsonfm-summary",
                "normalizedname": "apihelp-jsonfm-summary",
                "*": "Output data in JSON format (pretty-print in HTML)."
            },
            {
                "name": "apihelp-link",
                "normalizedname": "apihelp-link",
                "*": "[[Special:ApiHelp/$1|$2]]"
            },
            {
                "name": "apihelp-linkaccount-example-link",
                "normalizedname": "apihelp-linkaccount-example-link",
                "*": "Start the process of linking to an account from <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-linkaccount-summary",
                "normalizedname": "apihelp-linkaccount-summary",
                "*": "Link an account from a third-party provider to the current user."
            },
            {
                "name": "apihelp-login-example-gettoken",
                "normalizedname": "apihelp-login-example-gettoken",
                "*": "Retrieve a login token."
            },
            {
                "name": "apihelp-login-example-login",
                "normalizedname": "apihelp-login-example-login",
                "*": "Log in."
            },
            {
                "name": "apihelp-login-extended-description",
                "normalizedname": "apihelp-login-extended-description",
                "*": "This action should only be used in combination with [[Special:BotPasswords]]; use for main-account login is deprecated and may fail without warning. To safely log in to the main account, use <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>."
            },
            {
                "name": "apihelp-login-extended-description-nobotpasswords",
                "normalizedname": "apihelp-login-extended-description-nobotpasswords",
                "*": "This action is deprecated and may fail without warning. To safely log in, use <kbd>[[Special:ApiHelp/clientlogin|action=clientlogin]]</kbd>."
            },
            {
                "name": "apihelp-login-param-domain",
                "normalizedname": "apihelp-login-param-domain",
                "*": "Domain (optional)."
            },
            {
                "name": "apihelp-login-param-name",
                "normalizedname": "apihelp-login-param-name",
                "*": "User name."
            },
            {
                "name": "apihelp-login-param-password",
                "normalizedname": "apihelp-login-param-password",
                "*": "Password."
            },
            {
                "name": "apihelp-login-param-token",
                "normalizedname": "apihelp-login-param-token",
                "*": "Login token obtained in first request."
            },
            {
                "name": "apihelp-login-summary",
                "normalizedname": "apihelp-login-summary",
                "*": "Log in and get authentication cookies."
            },
            {
                "name": "apihelp-logout-example-logout",
                "normalizedname": "apihelp-logout-example-logout",
                "*": "Log the current user out."
            },
            {
                "name": "apihelp-logout-summary",
                "normalizedname": "apihelp-logout-summary",
                "*": "Log out and clear session data."
            },
            {
                "name": "apihelp-main-extended-description",
                "normalizedname": "apihelp-main-extended-description",
                "*": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:Special:MyLanguage/API:Main_page|Documentation]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n</div>\n<strong>Status:</strong> The MediaWiki API is a mature and stable interface that is actively supported and improved. While we try to avoid it, we may occasionally need to make breaking changes; subscribe to [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list] for notice of updates.\n\n<strong>Erroneous requests:</strong> When erroneous requests are sent to the API, an HTTP header will be sent with the key \"MediaWiki-API-Error\" and then both the value of the header and the error code sent back will be set to the same value. For more information see [[mw:Special:MyLanguage/API:Errors_and_warnings|API: Errors and warnings]].\n\n<p class=\"mw-apisandbox-link\"><strong>Testing:</strong> For ease of testing API requests, see [[Special:ApiSandbox]].</p>"
            },
            {
                "name": "apihelp-main-param-action",
                "normalizedname": "apihelp-main-param-action",
                "*": "Which action to perform."
            },
            {
                "name": "apihelp-main-param-assert",
                "normalizedname": "apihelp-main-param-assert",
                "*": "Verify the user is logged in if set to <kbd>user</kbd>, or has the bot user right if <kbd>bot</kbd>."
            },
            {
                "name": "apihelp-main-param-assertuser",
                "normalizedname": "apihelp-main-param-assertuser",
                "*": "Verify the current user is the named user."
            },
            {
                "name": "apihelp-main-param-curtimestamp",
                "normalizedname": "apihelp-main-param-curtimestamp",
                "*": "Include the current timestamp in the result."
            },
            {
                "name": "apihelp-main-param-errorformat",
                "normalizedname": "apihelp-main-param-errorformat",
                "*": "Format to use for warning and error text output.\n; plaintext: Wikitext with HTML tags removed and entities replaced.\n; wikitext: Unparsed wikitext.\n; html: HTML.\n; raw: Message key and parameters.\n; none: No text output, only the error codes.\n; bc: Format used prior to MediaWiki 1.29. <var>errorlang</var> and <var>errorsuselocal</var> are ignored."
            },
            {
                "name": "apihelp-main-param-errorlang",
                "normalizedname": "apihelp-main-param-errorlang",
                "*": "Language to use for warnings and errors. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> with <kbd>siprop=languages</kbd> returns a list of language codes, or specify <kbd>content</kbd> to use this wiki's content language, or specify <kbd>uselang</kbd> to use the same value as the <var>uselang</var> parameter."
            },
            {
                "name": "apihelp-main-param-errorsuselocal",
                "normalizedname": "apihelp-main-param-errorsuselocal",
                "*": "If given, error texts will use locally-customized messages from the {{ns:MediaWiki}} namespace."
            },
            {
                "name": "apihelp-main-param-format",
                "normalizedname": "apihelp-main-param-format",
                "*": "The format of the output."
            },
            {
                "name": "apihelp-main-param-maxage",
                "normalizedname": "apihelp-main-param-maxage",
                "*": "Set the <code>max-age</code> HTTP cache control header to this many seconds. Errors are never cached."
            },
            {
                "name": "apihelp-main-param-maxlag",
                "normalizedname": "apihelp-main-param-maxlag",
                "*": "Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code <samp>maxlag</samp> is returned with a message like <samp>Waiting for $host: $lag seconds lagged</samp>.<br />See [[mw:Special:MyLanguage/Manual:Maxlag_parameter|Manual: Maxlag parameter]] for more information."
            },
            {
                "name": "apihelp-main-param-origin",
                "normalizedname": "apihelp-main-param-origin",
                "*": "When accessing the API using a cross-domain AJAX request (CORS), set this to the originating domain. This must be included in any pre-flight request, and therefore must be part of the request URI (not the POST body).\n\nFor authenticated requests, this must match one of the origins in the <code>Origin</code> header exactly, so it has to be set to something like <kbd>https://en.wikipedia.org</kbd> or <kbd>https://meta.wikimedia.org</kbd>. If this parameter does not match the <code>Origin</code> header, a 403 response will be returned. If this parameter matches the <code>Origin</code> header and the origin is whitelisted, the <code>Access-Control-Allow-Origin</code> and <code>Access-Control-Allow-Credentials</code> headers will be set.\n\nFor non-authenticated requests, specify the value <kbd>*</kbd>. This will cause the <code>Access-Control-Allow-Origin</code> header to be set, but <code>Access-Control-Allow-Credentials</code> will be <code>false</code> and all user-specific data will be restricted."
            },
            {
                "name": "apihelp-main-param-requestid",
                "normalizedname": "apihelp-main-param-requestid",
                "*": "Any value given here will be included in the response. May be used to distinguish requests."
            },
            {
                "name": "apihelp-main-param-responselanginfo",
                "normalizedname": "apihelp-main-param-responselanginfo",
                "*": "Include the languages used for <var>uselang</var> and <var>errorlang</var> in the result."
            },
            {
                "name": "apihelp-main-param-servedby",
                "normalizedname": "apihelp-main-param-servedby",
                "*": "Include the hostname that served the request in the results."
            },
            {
                "name": "apihelp-main-param-smaxage",
                "normalizedname": "apihelp-main-param-smaxage",
                "*": "Set the <code>s-maxage</code> HTTP cache control header to this many seconds. Errors are never cached."
            },
            {
                "name": "apihelp-main-param-uselang",
                "normalizedname": "apihelp-main-param-uselang",
                "*": "Language to use for message translations. <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd> with <kbd>siprop=languages</kbd> returns a list of language codes, or specify <kbd>user</kbd> to use the current user's language preference, or specify <kbd>content</kbd> to use this wiki's content language."
            },
            {
                "name": "apihelp-main-summary",
                "normalizedname": "apihelp-main-summary",
                "*": ""
            },
            {
                "name": "apihelp-managetags-example-activate",
                "normalizedname": "apihelp-managetags-example-activate",
                "*": "Activate a tag named <kbd>spam</kbd> with the reason <kbd>For use in edit patrolling</kbd>"
            },
            {
                "name": "apihelp-managetags-example-create",
                "normalizedname": "apihelp-managetags-example-create",
                "*": "Create a tag named <kbd>spam</kbd> with the reason <kbd>For use in edit patrolling</kbd>"
            },
            {
                "name": "apihelp-managetags-example-deactivate",
                "normalizedname": "apihelp-managetags-example-deactivate",
                "*": "Deactivate a tag named <kbd>spam</kbd> with the reason <kbd>No longer required</kbd>"
            },
            {
                "name": "apihelp-managetags-example-delete",
                "normalizedname": "apihelp-managetags-example-delete",
                "*": "Delete the <kbd>vandlaism</kbd> tag with the reason <kbd>Misspelt</kbd>"
            },
            {
                "name": "apihelp-managetags-param-ignorewarnings",
                "normalizedname": "apihelp-managetags-param-ignorewarnings",
                "*": "Whether to ignore any warnings that are issued during the operation."
            },
            {
                "name": "apihelp-managetags-param-operation",
                "normalizedname": "apihelp-managetags-param-operation",
                "*": "Which operation to perform:\n;create:Create a new change tag for manual use.\n;delete:Remove a change tag from the database, including removing the tag from all revisions, recent change entries and log entries on which it is used.\n;activate:Activate a change tag, allowing users to apply it manually.\n;deactivate:Deactivate a change tag, preventing users from applying it manually."
            },
            {
                "name": "apihelp-managetags-param-reason",
                "normalizedname": "apihelp-managetags-param-reason",
                "*": "An optional reason for creating, deleting, activating or deactivating the tag."
            },
            {
                "name": "apihelp-managetags-param-tag",
                "normalizedname": "apihelp-managetags-param-tag",
                "*": "Tag to create, delete, activate or deactivate. For tag creation, the tag must not exist. For tag deletion, the tag must exist. For tag activation, the tag must exist and not be in use by an extension. For tag deactivation, the tag must be currently active and manually defined."
            },
            {
                "name": "apihelp-managetags-param-tags",
                "normalizedname": "apihelp-managetags-param-tags",
                "*": "Change tags to apply to the entry in the tag management log."
            },
            {
                "name": "apihelp-managetags-summary",
                "normalizedname": "apihelp-managetags-summary",
                "*": "Perform management tasks relating to change tags."
            },
            {
                "name": "apihelp-mergehistory-example-merge",
                "normalizedname": "apihelp-mergehistory-example-merge",
                "*": "Merge the entire history of <kbd>Oldpage</kbd> into <kbd>Newpage</kbd>."
            },
            {
                "name": "apihelp-mergehistory-example-merge-timestamp",
                "normalizedname": "apihelp-mergehistory-example-merge-timestamp",
                "*": "Merge the page revisions of <kbd>Oldpage</kbd> dating up to <kbd>2015-12-31T04:37:41Z</kbd> into <kbd>Newpage</kbd>."
            },
            {
                "name": "apihelp-mergehistory-param-from",
                "normalizedname": "apihelp-mergehistory-param-from",
                "*": "Title of the page from which history will be merged. Cannot be used together with <var>$1fromid</var>."
            },
            {
                "name": "apihelp-mergehistory-param-fromid",
                "normalizedname": "apihelp-mergehistory-param-fromid",
                "*": "Page ID of the page from which history will be merged. Cannot be used together with <var>$1from</var>."
            },
            {
                "name": "apihelp-mergehistory-param-reason",
                "normalizedname": "apihelp-mergehistory-param-reason",
                "*": "Reason for the history merge."
            },
            {
                "name": "apihelp-mergehistory-param-timestamp",
                "normalizedname": "apihelp-mergehistory-param-timestamp",
                "*": "Timestamp up to which revisions will be moved from the source page's history to the destination page's history. If omitted, the entire page history of the source page will be merged into the destination page."
            },
            {
                "name": "apihelp-mergehistory-param-to",
                "normalizedname": "apihelp-mergehistory-param-to",
                "*": "Title of the page to which history will be merged. Cannot be used together with <var>$1toid</var>."
            },
            {
                "name": "apihelp-mergehistory-param-toid",
                "normalizedname": "apihelp-mergehistory-param-toid",
                "*": "Page ID of the page to which history will be merged. Cannot be used together with <var>$1to</var>."
            },
            {
                "name": "apihelp-mergehistory-summary",
                "normalizedname": "apihelp-mergehistory-summary",
                "*": "Merge page histories."
            },
            {
                "name": "apihelp-move-example-move",
                "normalizedname": "apihelp-move-example-move",
                "*": "Move <kbd>Badtitle</kbd> to <kbd>Goodtitle</kbd> without leaving a redirect."
            },
            {
                "name": "apihelp-move-param-from",
                "normalizedname": "apihelp-move-param-from",
                "*": "Title of the page to rename. Cannot be used together with <var>$1fromid</var>."
            },
            {
                "name": "apihelp-move-param-fromid",
                "normalizedname": "apihelp-move-param-fromid",
                "*": "Page ID of the page to rename. Cannot be used together with <var>$1from</var>."
            },
            {
                "name": "apihelp-move-param-ignorewarnings",
                "normalizedname": "apihelp-move-param-ignorewarnings",
                "*": "Ignore any warnings."
            },
            {
                "name": "apihelp-move-param-movesubpages",
                "normalizedname": "apihelp-move-param-movesubpages",
                "*": "Rename subpages, if applicable."
            },
            {
                "name": "apihelp-move-param-movetalk",
                "normalizedname": "apihelp-move-param-movetalk",
                "*": "Rename the talk page, if it exists."
            },
            {
                "name": "apihelp-move-param-noredirect",
                "normalizedname": "apihelp-move-param-noredirect",
                "*": "Don't create a redirect."
            },
            {
                "name": "apihelp-move-param-reason",
                "normalizedname": "apihelp-move-param-reason",
                "*": "Reason for the rename."
            },
            {
                "name": "apihelp-move-param-tags",
                "normalizedname": "apihelp-move-param-tags",
                "*": "Change tags to apply to the entry in the move log and to the null revision on the destination page."
            },
            {
                "name": "apihelp-move-param-to",
                "normalizedname": "apihelp-move-param-to",
                "*": "Title to rename the page to."
            },
            {
                "name": "apihelp-move-param-unwatch",
                "normalizedname": "apihelp-move-param-unwatch",
                "*": "Remove the page and the redirect from the current user's watchlist."
            },
            {
                "name": "apihelp-move-param-watch",
                "normalizedname": "apihelp-move-param-watch",
                "*": "Add the page and the redirect to the current user's watchlist."
            },
            {
                "name": "apihelp-move-param-watchlist",
                "normalizedname": "apihelp-move-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-move-summary",
                "normalizedname": "apihelp-move-summary",
                "*": "Move a page."
            },
            {
                "name": "apihelp-no-such-module",
                "normalizedname": "apihelp-no-such-module",
                "*": "Module \"$1\" not found."
            },
            {
                "name": "apihelp-none-summary",
                "normalizedname": "apihelp-none-summary",
                "*": "Output nothing."
            },
            {
                "name": "apihelp-opensearch-example-te",
                "normalizedname": "apihelp-opensearch-example-te",
                "*": "Find pages beginning with <kbd>Te</kbd>."
            },
            {
                "name": "apihelp-opensearch-param-format",
                "normalizedname": "apihelp-opensearch-param-format",
                "*": "The format of the output."
            },
            {
                "name": "apihelp-opensearch-param-limit",
                "normalizedname": "apihelp-opensearch-param-limit",
                "*": "Maximum number of results to return."
            },
            {
                "name": "apihelp-opensearch-param-namespace",
                "normalizedname": "apihelp-opensearch-param-namespace",
                "*": "Namespaces to search. Ignored if <var>$1search</var> begins with a valid namespace prefix."
            },
            {
                "name": "apihelp-opensearch-param-redirects",
                "normalizedname": "apihelp-opensearch-param-redirects",
                "*": "How to handle redirects:\n;return:Return the redirect itself.\n;resolve:Return the target page. May return fewer than $1limit results.\nFor historical reasons, the default is \"return\" for $1format=json and \"resolve\" for other formats."
            },
            {
                "name": "apihelp-opensearch-param-search",
                "normalizedname": "apihelp-opensearch-param-search",
                "*": "Search string."
            },
            {
                "name": "apihelp-opensearch-param-suggest",
                "normalizedname": "apihelp-opensearch-param-suggest",
                "*": "Do nothing if <var>[[mw:Special:MyLanguage/Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> is false."
            },
            {
                "name": "apihelp-opensearch-param-warningsaserror",
                "normalizedname": "apihelp-opensearch-param-warningsaserror",
                "*": "If warnings are raised with <kbd>format=json</kbd>, return an API error instead of ignoring them."
            },
            {
                "name": "apihelp-opensearch-summary",
                "normalizedname": "apihelp-opensearch-summary",
                "*": "Search the wiki using the OpenSearch protocol."
            },
            {
                "name": "apihelp-options-example-change",
                "normalizedname": "apihelp-options-example-change",
                "*": "Change <kbd>skin</kbd> and <kbd>hideminor</kbd> preferences."
            },
            {
                "name": "apihelp-options-example-complex",
                "normalizedname": "apihelp-options-example-complex",
                "*": "Reset all preferences, then set <kbd>skin</kbd> and <kbd>nickname</kbd>."
            },
            {
                "name": "apihelp-options-example-reset",
                "normalizedname": "apihelp-options-example-reset",
                "*": "Reset all preferences."
            },
            {
                "name": "apihelp-options-extended-description",
                "normalizedname": "apihelp-options-extended-description",
                "*": "Only options which are registered in core or in one of installed extensions, or options with keys prefixed with <code>userjs-</code> (intended to be used by user scripts), can be set."
            },
            {
                "name": "apihelp-options-param-change",
                "normalizedname": "apihelp-options-param-change",
                "*": "List of changes, formatted name=value (e.g. skin=vector). If no value is given (not even an equals sign), e.g., optionname|otheroption|..., the option will be reset to its default value. If any value passed contains the pipe character (<kbd>|</kbd>), use the [[Special:ApiHelp/main#main/datatypes|alternative multiple-value separator]] for correct operation."
            },
            {
                "name": "apihelp-options-param-optionname",
                "normalizedname": "apihelp-options-param-optionname",
                "*": "The name of the option that should be set to the value given by <var>$1optionvalue</var>."
            },
            {
                "name": "apihelp-options-param-optionvalue",
                "normalizedname": "apihelp-options-param-optionvalue",
                "*": "The value for the option specified by <var>$1optionname</var>."
            },
            {
                "name": "apihelp-options-param-reset",
                "normalizedname": "apihelp-options-param-reset",
                "*": "Resets preferences to the site defaults."
            },
            {
                "name": "apihelp-options-param-resetkinds",
                "normalizedname": "apihelp-options-param-resetkinds",
                "*": "List of types of options to reset when the <var>$1reset</var> option is set."
            },
            {
                "name": "apihelp-options-summary",
                "normalizedname": "apihelp-options-summary",
                "*": "Change preferences of the current user."
            },
            {
                "name": "apihelp-paraminfo-example-1",
                "normalizedname": "apihelp-paraminfo-example-1",
                "*": "Show info for <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>, <kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>, <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>, and <kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>."
            },
            {
                "name": "apihelp-paraminfo-example-2",
                "normalizedname": "apihelp-paraminfo-example-2",
                "*": "Show info for all submodules of <kbd>[[Special:ApiHelp/query|action=query]]</kbd>."
            },
            {
                "name": "apihelp-paraminfo-param-formatmodules",
                "normalizedname": "apihelp-paraminfo-param-formatmodules",
                "*": "List of format module names (value of <var>format</var> parameter). Use <var>$1modules</var> instead."
            },
            {
                "name": "apihelp-paraminfo-param-helpformat",
                "normalizedname": "apihelp-paraminfo-param-helpformat",
                "*": "Format of help strings."
            },
            {
                "name": "apihelp-paraminfo-param-mainmodule",
                "normalizedname": "apihelp-paraminfo-param-mainmodule",
                "*": "Get information about the main (top-level) module as well. Use <kbd>$1modules=main</kbd> instead."
            },
            {
                "name": "apihelp-paraminfo-param-modules",
                "normalizedname": "apihelp-paraminfo-param-modules",
                "*": "List of module names (values of the <var>action</var> and <var>format</var> parameters, or <kbd>main</kbd>). Can specify submodules with a <kbd>+</kbd>, or all submodules with <kbd>+*</kbd>, or all submodules recursively with <kbd>+**</kbd>."
            },
            {
                "name": "apihelp-paraminfo-param-pagesetmodule",
                "normalizedname": "apihelp-paraminfo-param-pagesetmodule",
                "*": "Get information about the pageset module (providing titles= and friends) as well."
            },
            {
                "name": "apihelp-paraminfo-param-querymodules",
                "normalizedname": "apihelp-paraminfo-param-querymodules",
                "*": "List of query module names (value of <var>prop</var>, <var>meta</var> or <var>list</var> parameter). Use <kbd>$1modules=query+foo</kbd> instead of <kbd>$1querymodules=foo</kbd>."
            },
            {
                "name": "apihelp-paraminfo-summary",
                "normalizedname": "apihelp-paraminfo-summary",
                "*": "Obtain information about API modules."
            },
            {
                "name": "apihelp-parse-example-page",
                "normalizedname": "apihelp-parse-example-page",
                "*": "Parse a page."
            },
            {
                "name": "apihelp-parse-example-summary",
                "normalizedname": "apihelp-parse-example-summary",
                "*": "Parse a summary."
            },
            {
                "name": "apihelp-parse-example-text",
                "normalizedname": "apihelp-parse-example-text",
                "*": "Parse wikitext."
            },
            {
                "name": "apihelp-parse-example-texttitle",
                "normalizedname": "apihelp-parse-example-texttitle",
                "*": "Parse wikitext, specifying the page title."
            },
            {
                "name": "apihelp-parse-extended-description",
                "normalizedname": "apihelp-parse-extended-description",
                "*": "See the various prop-modules of <kbd>[[Special:ApiHelp/query|action=query]]</kbd> to get information from the current version of a page.\n\nThere are several ways to specify the text to parse:\n# Specify a page or revision, using <var>$1page</var>, <var>$1pageid</var>, or <var>$1oldid</var>.\n# Specify content explicitly, using <var>$1text</var>, <var>$1title</var>, <var>$1revid</var>, and <var>$1contentmodel</var>.\n# Specify only a summary to parse. <var>$1prop</var> should be given an empty value."
            },
            {
                "name": "apihelp-parse-param-contentformat",
                "normalizedname": "apihelp-parse-param-contentformat",
                "*": "Content serialization format used for the input text. Only valid when used with $1text."
            },
            {
                "name": "apihelp-parse-param-contentmodel",
                "normalizedname": "apihelp-parse-param-contentmodel",
                "*": "Content model of the input text. If omitted, $1title must be specified, and default will be the model of the specified title. Only valid when used with $1text."
            },
            {
                "name": "apihelp-parse-param-disableeditsection",
                "normalizedname": "apihelp-parse-param-disableeditsection",
                "*": "Omit edit section links from the parser output."
            },
            {
                "name": "apihelp-parse-param-disablelimitreport",
                "normalizedname": "apihelp-parse-param-disablelimitreport",
                "*": "Omit the limit report (\"NewPP limit report\") from the parser output."
            },
            {
                "name": "apihelp-parse-param-disablepp",
                "normalizedname": "apihelp-parse-param-disablepp",
                "*": "Use <var>$1disablelimitreport</var> instead."
            },
            {
                "name": "apihelp-parse-param-disablestylededuplication",
                "normalizedname": "apihelp-parse-param-disablestylededuplication",
                "*": "Do not deduplicate inline stylesheets in the parser output."
            },
            {
                "name": "apihelp-parse-param-disabletidy",
                "normalizedname": "apihelp-parse-param-disabletidy",
                "*": "Do not run HTML cleanup (e.g. tidy) on the parser output."
            },
            {
                "name": "apihelp-parse-param-disabletoc",
                "normalizedname": "apihelp-parse-param-disabletoc",
                "*": "Omit table of contents in output."
            },
            {
                "name": "apihelp-parse-param-effectivelanglinks",
                "normalizedname": "apihelp-parse-param-effectivelanglinks",
                "*": "Includes language links supplied by extensions (for use with <kbd>$1prop=langlinks</kbd>)."
            },
            {
                "name": "apihelp-parse-param-generatexml",
                "normalizedname": "apihelp-parse-param-generatexml",
                "*": "Generate XML parse tree (requires content model <code>$1</code>; replaced by <kbd>$2prop=parsetree</kbd>)."
            },
            {
                "name": "apihelp-parse-param-oldid",
                "normalizedname": "apihelp-parse-param-oldid",
                "*": "Parse the content of this revision. Overrides <var>$1page</var> and <var>$1pageid</var>."
            },
            {
                "name": "apihelp-parse-param-onlypst",
                "normalizedname": "apihelp-parse-param-onlypst",
                "*": "Do a pre-save transform (PST) on the input, but don't parse it. Returns the same wikitext, after a PST has been applied. Only valid when used with <var>$1text</var>."
            },
            {
                "name": "apihelp-parse-param-page",
                "normalizedname": "apihelp-parse-param-page",
                "*": "Parse the content of this page. Cannot be used together with <var>$1text</var> and <var>$1title</var>."
            },
            {
                "name": "apihelp-parse-param-pageid",
                "normalizedname": "apihelp-parse-param-pageid",
                "*": "Parse the content of this page. Overrides <var>$1page</var>."
            },
            {
                "name": "apihelp-parse-param-preview",
                "normalizedname": "apihelp-parse-param-preview",
                "*": "Parse in preview mode."
            },
            {
                "name": "apihelp-parse-param-prop",
                "normalizedname": "apihelp-parse-param-prop",
                "*": "Which pieces of information to get:"
            },
            {
                "name": "apihelp-parse-param-pst",
                "normalizedname": "apihelp-parse-param-pst",
                "*": "Do a pre-save transform on the input before parsing it. Only valid when used with text."
            },
            {
                "name": "apihelp-parse-param-redirects",
                "normalizedname": "apihelp-parse-param-redirects",
                "*": "If <var>$1page</var> or <var>$1pageid</var> is set to a redirect, resolve it."
            },
            {
                "name": "apihelp-parse-param-revid",
                "normalizedname": "apihelp-parse-param-revid",
                "*": "Revision ID, for <code><nowiki>{{REVISIONID}}</nowiki></code> and similar variables."
            },
            {
                "name": "apihelp-parse-param-section",
                "normalizedname": "apihelp-parse-param-section",
                "*": "Only parse the content of this section number.\n\nWhen <kbd>new</kbd>, parse <var>$1text</var> and <var>$1sectiontitle</var> as if adding a new section to the page.\n\n<kbd>new</kbd> is allowed only when specifying <var>text</var>."
            },
            {
                "name": "apihelp-parse-param-sectionpreview",
                "normalizedname": "apihelp-parse-param-sectionpreview",
                "*": "Parse in section preview mode (enables preview mode too)."
            },
            {
                "name": "apihelp-parse-param-sectiontitle",
                "normalizedname": "apihelp-parse-param-sectiontitle",
                "*": "New section title when <var>section</var> is <kbd>new</kbd>.\n\nUnlike page editing, this does not fall back to <var>summary</var> when omitted or empty."
            },
            {
                "name": "apihelp-parse-param-summary",
                "normalizedname": "apihelp-parse-param-summary",
                "*": "Summary to parse."
            },
            {
                "name": "apihelp-parse-param-text",
                "normalizedname": "apihelp-parse-param-text",
                "*": "Text to parse. Use <var>$1title</var> or <var>$1contentmodel</var> to control the content model."
            },
            {
                "name": "apihelp-parse-param-title",
                "normalizedname": "apihelp-parse-param-title",
                "*": "Title of page the text belongs to. If omitted, <var>$1contentmodel</var> must be specified, and [[API]] will be used as the title."
            },
            {
                "name": "apihelp-parse-param-useskin",
                "normalizedname": "apihelp-parse-param-useskin",
                "*": "Apply the selected skin to the parser output. May affect the following properties: <kbd>langlinks</kbd>, <kbd>headitems</kbd>, <kbd>modules</kbd>, <kbd>jsconfigvars</kbd>, <kbd>indicators</kbd>."
            },
            {
                "name": "apihelp-parse-param-wrapoutputclass",
                "normalizedname": "apihelp-parse-param-wrapoutputclass",
                "*": "CSS class to use to wrap the parser output."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-categories",
                "normalizedname": "apihelp-parse-paramvalue-prop-categories",
                "*": "Gives the categories in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-categorieshtml",
                "normalizedname": "apihelp-parse-paramvalue-prop-categorieshtml",
                "*": "Gives the HTML version of the categories."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-displaytitle",
                "normalizedname": "apihelp-parse-paramvalue-prop-displaytitle",
                "*": "Adds the title of the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-encodedjsconfigvars",
                "normalizedname": "apihelp-parse-paramvalue-prop-encodedjsconfigvars",
                "*": "Gives the JavaScript configuration variables specific to the page as a JSON string."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-externallinks",
                "normalizedname": "apihelp-parse-paramvalue-prop-externallinks",
                "*": "Gives the external links in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-headhtml",
                "normalizedname": "apihelp-parse-paramvalue-prop-headhtml",
                "*": "Gives parsed <code>&lt;head&gt;</code> of the page."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-headitems",
                "normalizedname": "apihelp-parse-paramvalue-prop-headitems",
                "*": "Gives items to put in the <code>&lt;head&gt;</code> of the page."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-images",
                "normalizedname": "apihelp-parse-paramvalue-prop-images",
                "*": "Gives the images in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-indicators",
                "normalizedname": "apihelp-parse-paramvalue-prop-indicators",
                "*": "Gives the HTML of page status indicators used on the page."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-iwlinks",
                "normalizedname": "apihelp-parse-paramvalue-prop-iwlinks",
                "*": "Gives interwiki links in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-jsconfigvars",
                "normalizedname": "apihelp-parse-paramvalue-prop-jsconfigvars",
                "*": "Gives the JavaScript configuration variables specific to the page. To apply, use <code>mw.config.set()</code>."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-langlinks",
                "normalizedname": "apihelp-parse-paramvalue-prop-langlinks",
                "*": "Gives the language links in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-limitreportdata",
                "normalizedname": "apihelp-parse-paramvalue-prop-limitreportdata",
                "*": "Gives the limit report in a structured way. Gives no data, when <var>$1disablelimitreport</var> is set."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-limitreporthtml",
                "normalizedname": "apihelp-parse-paramvalue-prop-limitreporthtml",
                "*": "Gives the HTML version of the limit report. Gives no data, when <var>$1disablelimitreport</var> is set."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-links",
                "normalizedname": "apihelp-parse-paramvalue-prop-links",
                "*": "Gives the internal links in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-modules",
                "normalizedname": "apihelp-parse-paramvalue-prop-modules",
                "*": "Gives the ResourceLoader modules used on the page. To load, use <code>mw.loader.using()</code>. Either <kbd>jsconfigvars</kbd> or <kbd>encodedjsconfigvars</kbd> must be requested jointly with <kbd>modules</kbd>."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-parsetree",
                "normalizedname": "apihelp-parse-paramvalue-prop-parsetree",
                "*": "The XML parse tree of revision content (requires content model <code>$1</code>)"
            },
            {
                "name": "apihelp-parse-paramvalue-prop-parsewarnings",
                "normalizedname": "apihelp-parse-paramvalue-prop-parsewarnings",
                "*": "Gives the warnings that occurred while parsing content."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-properties",
                "normalizedname": "apihelp-parse-paramvalue-prop-properties",
                "*": "Gives various properties defined in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-revid",
                "normalizedname": "apihelp-parse-paramvalue-prop-revid",
                "*": "Adds the revision ID of the parsed page."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-sections",
                "normalizedname": "apihelp-parse-paramvalue-prop-sections",
                "*": "Gives the sections in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-templates",
                "normalizedname": "apihelp-parse-paramvalue-prop-templates",
                "*": "Gives the templates in the parsed wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-text",
                "normalizedname": "apihelp-parse-paramvalue-prop-text",
                "*": "Gives the parsed text of the wikitext."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-wikitext",
                "normalizedname": "apihelp-parse-paramvalue-prop-wikitext",
                "*": "Gives the original wikitext that was parsed."
            },
            {
                "name": "apihelp-parse-summary",
                "normalizedname": "apihelp-parse-summary",
                "*": "Parses content and returns parser output."
            },
            {
                "name": "apihelp-patrol-example-rcid",
                "normalizedname": "apihelp-patrol-example-rcid",
                "*": "Patrol a recent change."
            },
            {
                "name": "apihelp-patrol-example-revid",
                "normalizedname": "apihelp-patrol-example-revid",
                "*": "Patrol a revision."
            },
            {
                "name": "apihelp-patrol-param-rcid",
                "normalizedname": "apihelp-patrol-param-rcid",
                "*": "Recentchanges ID to patrol."
            },
            {
                "name": "apihelp-patrol-param-revid",
                "normalizedname": "apihelp-patrol-param-revid",
                "*": "Revision ID to patrol."
            },
            {
                "name": "apihelp-patrol-param-tags",
                "normalizedname": "apihelp-patrol-param-tags",
                "*": "Change tags to apply to the entry in the patrol log."
            },
            {
                "name": "apihelp-patrol-summary",
                "normalizedname": "apihelp-patrol-summary",
                "*": "Patrol a page or revision."
            },
            {
                "name": "apihelp-php-param-formatversion",
                "normalizedname": "apihelp-php-param-formatversion",
                "*": "Output formatting:\n;1:Backwards-compatible format (XML-style booleans, <samp>*</samp> keys for content nodes, etc.).\n;2:Experimental modern format. Details may change!\n;latest:Use the latest format (currently <kbd>2</kbd>), may change without warning."
            },
            {
                "name": "apihelp-php-summary",
                "normalizedname": "apihelp-php-summary",
                "*": "Output data in serialized PHP format."
            },
            {
                "name": "apihelp-phpfm-summary",
                "normalizedname": "apihelp-phpfm-summary",
                "*": "Output data in serialized PHP format (pretty-print in HTML)."
            },
            {
                "name": "apihelp-protect-example-protect",
                "normalizedname": "apihelp-protect-example-protect",
                "*": "Protect a page."
            },
            {
                "name": "apihelp-protect-example-unprotect",
                "normalizedname": "apihelp-protect-example-unprotect",
                "*": "Unprotect a page by setting restrictions to <kbd>all</kbd> (i.e. everyone is allowed to take the action)."
            },
            {
                "name": "apihelp-protect-example-unprotect2",
                "normalizedname": "apihelp-protect-example-unprotect2",
                "*": "Unprotect a page by setting no restrictions."
            },
            {
                "name": "apihelp-protect-param-cascade",
                "normalizedname": "apihelp-protect-param-cascade",
                "*": "Enable cascading protection (i.e. protect transcluded templates and images used in this page). Ignored if none of the given protection levels support cascading."
            },
            {
                "name": "apihelp-protect-param-expiry",
                "normalizedname": "apihelp-protect-param-expiry",
                "*": "Expiry timestamps. If only one timestamp is set, it'll be used for all protections. Use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd>, or <kbd>never</kbd>, for a never-expiring protection."
            },
            {
                "name": "apihelp-protect-param-pageid",
                "normalizedname": "apihelp-protect-param-pageid",
                "*": "ID of the page to (un)protect. Cannot be used together with $1title."
            },
            {
                "name": "apihelp-protect-param-protections",
                "normalizedname": "apihelp-protect-param-protections",
                "*": "List of protection levels, formatted <kbd>action=level</kbd> (e.g. <kbd>edit=sysop</kbd>). A level of <kbd>all</kbd> means everyone is allowed to take the action, i.e. no restriction.\n\n<strong>Note:</strong> Any actions not listed will have restrictions removed."
            },
            {
                "name": "apihelp-protect-param-reason",
                "normalizedname": "apihelp-protect-param-reason",
                "*": "Reason for (un)protecting."
            },
            {
                "name": "apihelp-protect-param-tags",
                "normalizedname": "apihelp-protect-param-tags",
                "*": "Change tags to apply to the entry in the protection log."
            },
            {
                "name": "apihelp-protect-param-title",
                "normalizedname": "apihelp-protect-param-title",
                "*": "Title of the page to (un)protect. Cannot be used together with $1pageid."
            },
            {
                "name": "apihelp-protect-param-watch",
                "normalizedname": "apihelp-protect-param-watch",
                "*": "If set, add the page being (un)protected to the current user's watchlist."
            },
            {
                "name": "apihelp-protect-param-watchlist",
                "normalizedname": "apihelp-protect-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-protect-summary",
                "normalizedname": "apihelp-protect-summary",
                "*": "Change the protection level of a page."
            },
            {
                "name": "apihelp-purge-example-generator",
                "normalizedname": "apihelp-purge-example-generator",
                "*": "Purge the first 10 pages in the main namespace."
            },
            {
                "name": "apihelp-purge-example-simple",
                "normalizedname": "apihelp-purge-example-simple",
                "*": "Purge the <kbd>Main Page</kbd> and the <kbd>API</kbd> page."
            },
            {
                "name": "apihelp-purge-param-forcelinkupdate",
                "normalizedname": "apihelp-purge-param-forcelinkupdate",
                "*": "Update the links tables."
            },
            {
                "name": "apihelp-purge-param-forcerecursivelinkupdate",
                "normalizedname": "apihelp-purge-param-forcerecursivelinkupdate",
                "*": "Update the links table, and update the links tables for any page that uses this page as a template."
            },
            {
                "name": "apihelp-purge-summary",
                "normalizedname": "apihelp-purge-summary",
                "*": "Purge the cache for the given titles."
            },
            {
                "name": "apihelp-query+allcategories-example-generator",
                "normalizedname": "apihelp-query+allcategories-example-generator",
                "*": "Retrieve info about the category page itself for categories beginning <kbd>List</kbd>."
            },
            {
                "name": "apihelp-query+allcategories-example-size",
                "normalizedname": "apihelp-query+allcategories-example-size",
                "*": "List categories with information on the number of pages in each."
            },
            {
                "name": "apihelp-query+allcategories-param-dir",
                "normalizedname": "apihelp-query+allcategories-param-dir",
                "*": "Direction to sort in."
            },
            {
                "name": "apihelp-query+allcategories-param-from",
                "normalizedname": "apihelp-query+allcategories-param-from",
                "*": "The category to start enumerating from."
            },
            {
                "name": "apihelp-query+allcategories-param-limit",
                "normalizedname": "apihelp-query+allcategories-param-limit",
                "*": "How many categories to return."
            },
            {
                "name": "apihelp-query+allcategories-param-max",
                "normalizedname": "apihelp-query+allcategories-param-max",
                "*": "Only return categories with at most this many members."
            },
            {
                "name": "apihelp-query+allcategories-param-min",
                "normalizedname": "apihelp-query+allcategories-param-min",
                "*": "Only return categories with at least this many members."
            },
            {
                "name": "apihelp-query+allcategories-param-prefix",
                "normalizedname": "apihelp-query+allcategories-param-prefix",
                "*": "Search for all category titles that begin with this value."
            },
            {
                "name": "apihelp-query+allcategories-param-prop",
                "normalizedname": "apihelp-query+allcategories-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+allcategories-param-to",
                "normalizedname": "apihelp-query+allcategories-param-to",
                "*": "The category to stop enumerating at."
            },
            {
                "name": "apihelp-query+allcategories-paramvalue-prop-hidden",
                "normalizedname": "apihelp-query+allcategories-paramvalue-prop-hidden",
                "*": "Tags categories that are hidden with <code>_&#95;HIDDENCAT_&#95;</code>."
            },
            {
                "name": "apihelp-query+allcategories-paramvalue-prop-size",
                "normalizedname": "apihelp-query+allcategories-paramvalue-prop-size",
                "*": "Adds number of pages in the category."
            },
            {
                "name": "apihelp-query+allcategories-summary",
                "normalizedname": "apihelp-query+allcategories-summary",
                "*": "Enumerate all categories."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-example-ns-main",
                "normalizedname": "apihelp-query+alldeletedrevisions-example-ns-main",
                "*": "List the first 50 deleted revisions in the main namespace."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-example-user",
                "normalizedname": "apihelp-query+alldeletedrevisions-example-user",
                "*": "List the last 50 deleted contributions by user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-end",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-end",
                "*": "The timestamp to stop enumerating at."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-excludeuser",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-excludeuser",
                "*": "Don't list revisions by this user."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-from",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-from",
                "*": "Start listing at this title."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-generatetitles",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-generatetitles",
                "*": "When being used as a generator, generate titles rather than revision IDs."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-miser-user-namespace",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-miser-user-namespace",
                "*": "<strong>Note:</strong> Due to [[mw:Special:MyLanguage/Manual:$wgMiserMode|miser mode]], using <var>$1user</var> and <var>$1namespace</var> together may result in fewer than <var>$1limit</var> results returned before continuing; in extreme cases, zero results may be returned."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-namespace",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-namespace",
                "*": "Only list pages in this namespace."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-prefix",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-prefix",
                "*": "Search for all page titles that begin with this value."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-start",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-tag",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-tag",
                "*": "Only list revisions tagged with this tag."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-to",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-to",
                "*": "Stop listing at this title."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-param-user",
                "normalizedname": "apihelp-query+alldeletedrevisions-param-user",
                "*": "Only list revisions by this user."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly",
                "normalizedname": "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly",
                "*": "Cannot be used with <var>$3user</var>."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-paraminfo-useronly",
                "normalizedname": "apihelp-query+alldeletedrevisions-paraminfo-useronly",
                "*": "May only be used with <var>$3user</var>."
            },
            {
                "name": "apihelp-query+alldeletedrevisions-summary",
                "normalizedname": "apihelp-query+alldeletedrevisions-summary",
                "*": "List all deleted revisions by a user or in a namespace."
            },
            {
                "name": "apihelp-query+allfileusages-example-B",
                "normalizedname": "apihelp-query+allfileusages-example-B",
                "*": "List file titles, including missing ones, with page IDs they are from, starting at <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+allfileusages-example-generator",
                "normalizedname": "apihelp-query+allfileusages-example-generator",
                "*": "Gets pages containing the files."
            },
            {
                "name": "apihelp-query+allfileusages-example-unique",
                "normalizedname": "apihelp-query+allfileusages-example-unique",
                "*": "List unique file titles."
            },
            {
                "name": "apihelp-query+allfileusages-example-unique-generator",
                "normalizedname": "apihelp-query+allfileusages-example-unique-generator",
                "*": "Gets all file titles, marking the missing ones."
            },
            {
                "name": "apihelp-query+allfileusages-param-dir",
                "normalizedname": "apihelp-query+allfileusages-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+allfileusages-param-from",
                "normalizedname": "apihelp-query+allfileusages-param-from",
                "*": "The title of the file to start enumerating from."
            },
            {
                "name": "apihelp-query+allfileusages-param-limit",
                "normalizedname": "apihelp-query+allfileusages-param-limit",
                "*": "How many total items to return."
            },
            {
                "name": "apihelp-query+allfileusages-param-prefix",
                "normalizedname": "apihelp-query+allfileusages-param-prefix",
                "*": "Search for all file titles that begin with this value."
            },
            {
                "name": "apihelp-query+allfileusages-param-prop",
                "normalizedname": "apihelp-query+allfileusages-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+allfileusages-param-to",
                "normalizedname": "apihelp-query+allfileusages-param-to",
                "*": "The title of the file to stop enumerating at."
            },
            {
                "name": "apihelp-query+allfileusages-param-unique",
                "normalizedname": "apihelp-query+allfileusages-param-unique",
                "*": "Only show distinct file titles. Cannot be used with $1prop=ids.\nWhen used as a generator, yields target pages instead of source pages."
            },
            {
                "name": "apihelp-query+allfileusages-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+allfileusages-paramvalue-prop-ids",
                "*": "Adds the page IDs of the using pages (cannot be used with $1unique)."
            },
            {
                "name": "apihelp-query+allfileusages-paramvalue-prop-title",
                "normalizedname": "apihelp-query+allfileusages-paramvalue-prop-title",
                "*": "Adds the title of the file."
            },
            {
                "name": "apihelp-query+allfileusages-summary",
                "normalizedname": "apihelp-query+allfileusages-summary",
                "*": "List all file usages, including non-existing."
            },
            {
                "name": "apihelp-query+allimages-example-B",
                "normalizedname": "apihelp-query+allimages-example-B",
                "*": "Show a list of files starting at the letter <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+allimages-example-generator",
                "normalizedname": "apihelp-query+allimages-example-generator",
                "*": "Show info about 4 files starting at the letter <kbd>T</kbd>."
            },
            {
                "name": "apihelp-query+allimages-example-mimetypes",
                "normalizedname": "apihelp-query+allimages-example-mimetypes",
                "*": "Show a list of files with MIME type <kbd>image/png</kbd> or <kbd>image/gif</kbd>"
            },
            {
                "name": "apihelp-query+allimages-example-recent",
                "normalizedname": "apihelp-query+allimages-example-recent",
                "*": "Show a list of recently uploaded files, similar to [[Special:NewFiles]]."
            },
            {
                "name": "apihelp-query+allimages-param-dir",
                "normalizedname": "apihelp-query+allimages-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+allimages-param-end",
                "normalizedname": "apihelp-query+allimages-param-end",
                "*": "The timestamp to end enumerating. Can only be used with $1sort=timestamp."
            },
            {
                "name": "apihelp-query+allimages-param-filterbots",
                "normalizedname": "apihelp-query+allimages-param-filterbots",
                "*": "How to filter files uploaded by bots. Can only be used with $1sort=timestamp. Cannot be used together with $1user."
            },
            {
                "name": "apihelp-query+allimages-param-from",
                "normalizedname": "apihelp-query+allimages-param-from",
                "*": "The image title to start enumerating from. Can only be used with $1sort=name."
            },
            {
                "name": "apihelp-query+allimages-param-limit",
                "normalizedname": "apihelp-query+allimages-param-limit",
                "*": "How many images in total to return."
            },
            {
                "name": "apihelp-query+allimages-param-maxsize",
                "normalizedname": "apihelp-query+allimages-param-maxsize",
                "*": "Limit to images with at most this many bytes."
            },
            {
                "name": "apihelp-query+allimages-param-mime",
                "normalizedname": "apihelp-query+allimages-param-mime",
                "*": "What MIME types to search for, e.g. <kbd>image/jpeg</kbd>."
            },
            {
                "name": "apihelp-query+allimages-param-minsize",
                "normalizedname": "apihelp-query+allimages-param-minsize",
                "*": "Limit to images with at least this many bytes."
            },
            {
                "name": "apihelp-query+allimages-param-prefix",
                "normalizedname": "apihelp-query+allimages-param-prefix",
                "*": "Search for all image titles that begin with this value. Can only be used with $1sort=name."
            },
            {
                "name": "apihelp-query+allimages-param-sha1",
                "normalizedname": "apihelp-query+allimages-param-sha1",
                "*": "SHA1 hash of image. Overrides $1sha1base36."
            },
            {
                "name": "apihelp-query+allimages-param-sha1base36",
                "normalizedname": "apihelp-query+allimages-param-sha1base36",
                "*": "SHA1 hash of image in base 36 (used in MediaWiki)."
            },
            {
                "name": "apihelp-query+allimages-param-sort",
                "normalizedname": "apihelp-query+allimages-param-sort",
                "*": "Property to sort by."
            },
            {
                "name": "apihelp-query+allimages-param-start",
                "normalizedname": "apihelp-query+allimages-param-start",
                "*": "The timestamp to start enumerating from. Can only be used with $1sort=timestamp."
            },
            {
                "name": "apihelp-query+allimages-param-to",
                "normalizedname": "apihelp-query+allimages-param-to",
                "*": "The image title to stop enumerating at. Can only be used with $1sort=name."
            },
            {
                "name": "apihelp-query+allimages-param-user",
                "normalizedname": "apihelp-query+allimages-param-user",
                "*": "Only return files uploaded by this user. Can only be used with $1sort=timestamp. Cannot be used together with $1filterbots."
            },
            {
                "name": "apihelp-query+allimages-summary",
                "normalizedname": "apihelp-query+allimages-summary",
                "*": "Enumerate all images sequentially."
            },
            {
                "name": "apihelp-query+alllinks-example-B",
                "normalizedname": "apihelp-query+alllinks-example-B",
                "*": "List linked titles, including missing ones, with page IDs they are from, starting at <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+alllinks-example-generator",
                "normalizedname": "apihelp-query+alllinks-example-generator",
                "*": "Gets pages containing the links."
            },
            {
                "name": "apihelp-query+alllinks-example-unique",
                "normalizedname": "apihelp-query+alllinks-example-unique",
                "*": "List unique linked titles."
            },
            {
                "name": "apihelp-query+alllinks-example-unique-generator",
                "normalizedname": "apihelp-query+alllinks-example-unique-generator",
                "*": "Gets all linked titles, marking the missing ones."
            },
            {
                "name": "apihelp-query+alllinks-param-dir",
                "normalizedname": "apihelp-query+alllinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+alllinks-param-from",
                "normalizedname": "apihelp-query+alllinks-param-from",
                "*": "The title of the link to start enumerating from."
            },
            {
                "name": "apihelp-query+alllinks-param-limit",
                "normalizedname": "apihelp-query+alllinks-param-limit",
                "*": "How many total items to return."
            },
            {
                "name": "apihelp-query+alllinks-param-namespace",
                "normalizedname": "apihelp-query+alllinks-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+alllinks-param-prefix",
                "normalizedname": "apihelp-query+alllinks-param-prefix",
                "*": "Search for all linked titles that begin with this value."
            },
            {
                "name": "apihelp-query+alllinks-param-prop",
                "normalizedname": "apihelp-query+alllinks-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+alllinks-param-to",
                "normalizedname": "apihelp-query+alllinks-param-to",
                "*": "The title of the link to stop enumerating at."
            },
            {
                "name": "apihelp-query+alllinks-param-unique",
                "normalizedname": "apihelp-query+alllinks-param-unique",
                "*": "Only show distinct linked titles. Cannot be used with <kbd>$1prop=ids</kbd>.\nWhen used as a generator, yields target pages instead of source pages."
            },
            {
                "name": "apihelp-query+alllinks-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+alllinks-paramvalue-prop-ids",
                "*": "Adds the page ID of the linking page (cannot be used with <var>$1unique</var>)."
            },
            {
                "name": "apihelp-query+alllinks-paramvalue-prop-title",
                "normalizedname": "apihelp-query+alllinks-paramvalue-prop-title",
                "*": "Adds the title of the link."
            },
            {
                "name": "apihelp-query+alllinks-summary",
                "normalizedname": "apihelp-query+alllinks-summary",
                "*": "Enumerate all links that point to a given namespace."
            },
            {
                "name": "apihelp-query+allmessages-example-de",
                "normalizedname": "apihelp-query+allmessages-example-de",
                "*": "Show messages <kbd>august</kbd> and <kbd>mainpage</kbd> in German."
            },
            {
                "name": "apihelp-query+allmessages-example-ipb",
                "normalizedname": "apihelp-query+allmessages-example-ipb",
                "*": "Show messages starting with <kbd>ipb-</kbd>."
            },
            {
                "name": "apihelp-query+allmessages-param-args",
                "normalizedname": "apihelp-query+allmessages-param-args",
                "*": "Arguments to be substituted into message."
            },
            {
                "name": "apihelp-query+allmessages-param-customised",
                "normalizedname": "apihelp-query+allmessages-param-customised",
                "*": "Return only messages in this customisation state."
            },
            {
                "name": "apihelp-query+allmessages-param-enableparser",
                "normalizedname": "apihelp-query+allmessages-param-enableparser",
                "*": "Set to enable parser, will preprocess the wikitext of message (substitute magic words, handle templates, etc.)."
            },
            {
                "name": "apihelp-query+allmessages-param-filter",
                "normalizedname": "apihelp-query+allmessages-param-filter",
                "*": "Return only messages with names that contain this string."
            },
            {
                "name": "apihelp-query+allmessages-param-from",
                "normalizedname": "apihelp-query+allmessages-param-from",
                "*": "Return messages starting at this message."
            },
            {
                "name": "apihelp-query+allmessages-param-includelocal",
                "normalizedname": "apihelp-query+allmessages-param-includelocal",
                "*": "Also include local messages, i.e. messages that don't exist in the software but do exist as in the {{ns:MediaWiki}} namespace.\nThis lists all {{ns:MediaWiki}}-namespace pages, so it will also list those that aren't really messages such as [[MediaWiki:Common.js|Common.js]]."
            },
            {
                "name": "apihelp-query+allmessages-param-lang",
                "normalizedname": "apihelp-query+allmessages-param-lang",
                "*": "Return messages in this language."
            },
            {
                "name": "apihelp-query+allmessages-param-messages",
                "normalizedname": "apihelp-query+allmessages-param-messages",
                "*": "Which messages to output. <kbd>*</kbd> (default) means all messages."
            },
            {
                "name": "apihelp-query+allmessages-param-nocontent",
                "normalizedname": "apihelp-query+allmessages-param-nocontent",
                "*": "If set, do not include the content of the messages in the output."
            },
            {
                "name": "apihelp-query+allmessages-param-prefix",
                "normalizedname": "apihelp-query+allmessages-param-prefix",
                "*": "Return messages with this prefix."
            },
            {
                "name": "apihelp-query+allmessages-param-prop",
                "normalizedname": "apihelp-query+allmessages-param-prop",
                "*": "Which properties to get."
            },
            {
                "name": "apihelp-query+allmessages-param-title",
                "normalizedname": "apihelp-query+allmessages-param-title",
                "*": "Page name to use as context when parsing message (for $1enableparser option)."
            },
            {
                "name": "apihelp-query+allmessages-param-to",
                "normalizedname": "apihelp-query+allmessages-param-to",
                "*": "Return messages ending at this message."
            },
            {
                "name": "apihelp-query+allmessages-summary",
                "normalizedname": "apihelp-query+allmessages-summary",
                "*": "Return messages from this site."
            },
            {
                "name": "apihelp-query+allpages-example-B",
                "normalizedname": "apihelp-query+allpages-example-B",
                "*": "Show a list of pages starting at the letter <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+allpages-example-generator",
                "normalizedname": "apihelp-query+allpages-example-generator",
                "*": "Show info about 4 pages starting at the letter <kbd>T</kbd>."
            },
            {
                "name": "apihelp-query+allpages-example-generator-revisions",
                "normalizedname": "apihelp-query+allpages-example-generator-revisions",
                "*": "Show content of first 2 non-redirect pages beginning at <kbd>Re</kbd>."
            },
            {
                "name": "apihelp-query+allpages-param-dir",
                "normalizedname": "apihelp-query+allpages-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+allpages-param-filterlanglinks",
                "normalizedname": "apihelp-query+allpages-param-filterlanglinks",
                "*": "Filter based on whether a page has langlinks. Note that this may not consider langlinks added by extensions."
            },
            {
                "name": "apihelp-query+allpages-param-filterredir",
                "normalizedname": "apihelp-query+allpages-param-filterredir",
                "*": "Which pages to list."
            },
            {
                "name": "apihelp-query+allpages-param-from",
                "normalizedname": "apihelp-query+allpages-param-from",
                "*": "The page title to start enumerating from."
            },
            {
                "name": "apihelp-query+allpages-param-limit",
                "normalizedname": "apihelp-query+allpages-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+allpages-param-maxsize",
                "normalizedname": "apihelp-query+allpages-param-maxsize",
                "*": "Limit to pages with at most this many bytes."
            },
            {
                "name": "apihelp-query+allpages-param-minsize",
                "normalizedname": "apihelp-query+allpages-param-minsize",
                "*": "Limit to pages with at least this many bytes."
            },
            {
                "name": "apihelp-query+allpages-param-namespace",
                "normalizedname": "apihelp-query+allpages-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+allpages-param-prefix",
                "normalizedname": "apihelp-query+allpages-param-prefix",
                "*": "Search for all page titles that begin with this value."
            },
            {
                "name": "apihelp-query+allpages-param-prexpiry",
                "normalizedname": "apihelp-query+allpages-param-prexpiry",
                "*": "Which protection expiry to filter the page on:\n;indefinite:Get only pages with indefinite protection expiry.\n;definite:Get only pages with a definite (specific) protection expiry.\n;all:Get pages with any protections expiry."
            },
            {
                "name": "apihelp-query+allpages-param-prfiltercascade",
                "normalizedname": "apihelp-query+allpages-param-prfiltercascade",
                "*": "Filter protections based on cascadingness (ignored when $1prtype isn't set)."
            },
            {
                "name": "apihelp-query+allpages-param-prlevel",
                "normalizedname": "apihelp-query+allpages-param-prlevel",
                "*": "Filter protections based on protection level (must be used with $1prtype= parameter)."
            },
            {
                "name": "apihelp-query+allpages-param-prtype",
                "normalizedname": "apihelp-query+allpages-param-prtype",
                "*": "Limit to protected pages only."
            },
            {
                "name": "apihelp-query+allpages-param-to",
                "normalizedname": "apihelp-query+allpages-param-to",
                "*": "The page title to stop enumerating at."
            },
            {
                "name": "apihelp-query+allpages-summary",
                "normalizedname": "apihelp-query+allpages-summary",
                "*": "Enumerate all pages sequentially in a given namespace."
            },
            {
                "name": "apihelp-query+allredirects-example-B",
                "normalizedname": "apihelp-query+allredirects-example-B",
                "*": "List target pages, including missing ones, with page IDs they are from, starting at <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+allredirects-example-generator",
                "normalizedname": "apihelp-query+allredirects-example-generator",
                "*": "Gets pages containing the redirects."
            },
            {
                "name": "apihelp-query+allredirects-example-unique",
                "normalizedname": "apihelp-query+allredirects-example-unique",
                "*": "List unique target pages."
            },
            {
                "name": "apihelp-query+allredirects-example-unique-generator",
                "normalizedname": "apihelp-query+allredirects-example-unique-generator",
                "*": "Gets all target pages, marking the missing ones."
            },
            {
                "name": "apihelp-query+allredirects-param-dir",
                "normalizedname": "apihelp-query+allredirects-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+allredirects-param-from",
                "normalizedname": "apihelp-query+allredirects-param-from",
                "*": "The title of the redirect to start enumerating from."
            },
            {
                "name": "apihelp-query+allredirects-param-limit",
                "normalizedname": "apihelp-query+allredirects-param-limit",
                "*": "How many total items to return."
            },
            {
                "name": "apihelp-query+allredirects-param-namespace",
                "normalizedname": "apihelp-query+allredirects-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+allredirects-param-prefix",
                "normalizedname": "apihelp-query+allredirects-param-prefix",
                "*": "Search for all target pages that begin with this value."
            },
            {
                "name": "apihelp-query+allredirects-param-prop",
                "normalizedname": "apihelp-query+allredirects-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+allredirects-param-to",
                "normalizedname": "apihelp-query+allredirects-param-to",
                "*": "The title of the redirect to stop enumerating at."
            },
            {
                "name": "apihelp-query+allredirects-param-unique",
                "normalizedname": "apihelp-query+allredirects-param-unique",
                "*": "Only show distinct target pages. Cannot be used with $1prop=ids|fragment|interwiki.\nWhen used as a generator, yields target pages instead of source pages."
            },
            {
                "name": "apihelp-query+allredirects-paramvalue-prop-fragment",
                "normalizedname": "apihelp-query+allredirects-paramvalue-prop-fragment",
                "*": "Adds the fragment from the redirect, if any (cannot be used with <var>$1unique</var>)."
            },
            {
                "name": "apihelp-query+allredirects-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+allredirects-paramvalue-prop-ids",
                "*": "Adds the page ID of the redirecting page (cannot be used with <var>$1unique</var>)."
            },
            {
                "name": "apihelp-query+allredirects-paramvalue-prop-interwiki",
                "normalizedname": "apihelp-query+allredirects-paramvalue-prop-interwiki",
                "*": "Adds the interwiki prefix from the redirect, if any (cannot be used with <var>$1unique</var>)."
            },
            {
                "name": "apihelp-query+allredirects-paramvalue-prop-title",
                "normalizedname": "apihelp-query+allredirects-paramvalue-prop-title",
                "*": "Adds the title of the redirect."
            },
            {
                "name": "apihelp-query+allredirects-summary",
                "normalizedname": "apihelp-query+allredirects-summary",
                "*": "List all redirects to a namespace."
            },
            {
                "name": "apihelp-query+allrevisions-example-ns-main",
                "normalizedname": "apihelp-query+allrevisions-example-ns-main",
                "*": "List the first 50 revisions in the main namespace."
            },
            {
                "name": "apihelp-query+allrevisions-example-user",
                "normalizedname": "apihelp-query+allrevisions-example-user",
                "*": "List the last 50 contributions by user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-query+allrevisions-param-end",
                "normalizedname": "apihelp-query+allrevisions-param-end",
                "*": "The timestamp to stop enumerating at."
            },
            {
                "name": "apihelp-query+allrevisions-param-excludeuser",
                "normalizedname": "apihelp-query+allrevisions-param-excludeuser",
                "*": "Don't list revisions by this user."
            },
            {
                "name": "apihelp-query+allrevisions-param-generatetitles",
                "normalizedname": "apihelp-query+allrevisions-param-generatetitles",
                "*": "When being used as a generator, generate titles rather than revision IDs."
            },
            {
                "name": "apihelp-query+allrevisions-param-namespace",
                "normalizedname": "apihelp-query+allrevisions-param-namespace",
                "*": "Only list pages in this namespace."
            },
            {
                "name": "apihelp-query+allrevisions-param-start",
                "normalizedname": "apihelp-query+allrevisions-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+allrevisions-param-user",
                "normalizedname": "apihelp-query+allrevisions-param-user",
                "*": "Only list revisions by this user."
            },
            {
                "name": "apihelp-query+allrevisions-summary",
                "normalizedname": "apihelp-query+allrevisions-summary",
                "*": "List all revisions."
            },
            {
                "name": "apihelp-query+alltransclusions-example-B",
                "normalizedname": "apihelp-query+alltransclusions-example-B",
                "*": "List transcluded titles, including missing ones, with page IDs they are from, starting at <kbd>B</kbd>."
            },
            {
                "name": "apihelp-query+alltransclusions-example-generator",
                "normalizedname": "apihelp-query+alltransclusions-example-generator",
                "*": "Gets pages containing the transclusions."
            },
            {
                "name": "apihelp-query+alltransclusions-example-unique",
                "normalizedname": "apihelp-query+alltransclusions-example-unique",
                "*": "List unique transcluded titles."
            },
            {
                "name": "apihelp-query+alltransclusions-example-unique-generator",
                "normalizedname": "apihelp-query+alltransclusions-example-unique-generator",
                "*": "Gets all transcluded titles, marking the missing ones."
            },
            {
                "name": "apihelp-query+alltransclusions-param-dir",
                "normalizedname": "apihelp-query+alltransclusions-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+alltransclusions-param-from",
                "normalizedname": "apihelp-query+alltransclusions-param-from",
                "*": "The title of the transclusion to start enumerating from."
            },
            {
                "name": "apihelp-query+alltransclusions-param-limit",
                "normalizedname": "apihelp-query+alltransclusions-param-limit",
                "*": "How many total items to return."
            },
            {
                "name": "apihelp-query+alltransclusions-param-namespace",
                "normalizedname": "apihelp-query+alltransclusions-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+alltransclusions-param-prefix",
                "normalizedname": "apihelp-query+alltransclusions-param-prefix",
                "*": "Search for all transcluded titles that begin with this value."
            },
            {
                "name": "apihelp-query+alltransclusions-param-prop",
                "normalizedname": "apihelp-query+alltransclusions-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+alltransclusions-param-to",
                "normalizedname": "apihelp-query+alltransclusions-param-to",
                "*": "The title of the transclusion to stop enumerating at."
            },
            {
                "name": "apihelp-query+alltransclusions-param-unique",
                "normalizedname": "apihelp-query+alltransclusions-param-unique",
                "*": "Only show distinct transcluded titles. Cannot be used with $1prop=ids.\nWhen used as a generator, yields target pages instead of source pages."
            },
            {
                "name": "apihelp-query+alltransclusions-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+alltransclusions-paramvalue-prop-ids",
                "*": "Adds the page ID of the transcluding page (cannot be used with $1unique)."
            },
            {
                "name": "apihelp-query+alltransclusions-paramvalue-prop-title",
                "normalizedname": "apihelp-query+alltransclusions-paramvalue-prop-title",
                "*": "Adds the title of the transclusion."
            },
            {
                "name": "apihelp-query+alltransclusions-summary",
                "normalizedname": "apihelp-query+alltransclusions-summary",
                "*": "List all transclusions (pages embedded using &#123;&#123;x&#125;&#125;), including non-existing."
            },
            {
                "name": "apihelp-query+allusers-example-Y",
                "normalizedname": "apihelp-query+allusers-example-Y",
                "*": "List users starting at <kbd>Y</kbd>."
            },
            {
                "name": "apihelp-query+allusers-param-activeusers",
                "normalizedname": "apihelp-query+allusers-param-activeusers",
                "*": "Only list users active in the last $1 {{PLURAL:$1|day|days}}."
            },
            {
                "name": "apihelp-query+allusers-param-attachedwiki",
                "normalizedname": "apihelp-query+allusers-param-attachedwiki",
                "*": "With <kbd>$1prop=centralids</kbd>, also indicate whether the user is attached with the wiki identified by this ID."
            },
            {
                "name": "apihelp-query+allusers-param-dir",
                "normalizedname": "apihelp-query+allusers-param-dir",
                "*": "Direction to sort in."
            },
            {
                "name": "apihelp-query+allusers-param-excludegroup",
                "normalizedname": "apihelp-query+allusers-param-excludegroup",
                "*": "Exclude users in the given groups."
            },
            {
                "name": "apihelp-query+allusers-param-from",
                "normalizedname": "apihelp-query+allusers-param-from",
                "*": "The user name to start enumerating from."
            },
            {
                "name": "apihelp-query+allusers-param-group",
                "normalizedname": "apihelp-query+allusers-param-group",
                "*": "Only include users in the given groups."
            },
            {
                "name": "apihelp-query+allusers-param-limit",
                "normalizedname": "apihelp-query+allusers-param-limit",
                "*": "How many total user names to return."
            },
            {
                "name": "apihelp-query+allusers-param-prefix",
                "normalizedname": "apihelp-query+allusers-param-prefix",
                "*": "Search for all users that begin with this value."
            },
            {
                "name": "apihelp-query+allusers-param-prop",
                "normalizedname": "apihelp-query+allusers-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+allusers-param-rights",
                "normalizedname": "apihelp-query+allusers-param-rights",
                "*": "Only include users with the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed."
            },
            {
                "name": "apihelp-query+allusers-param-to",
                "normalizedname": "apihelp-query+allusers-param-to",
                "*": "The user name to stop enumerating at."
            },
            {
                "name": "apihelp-query+allusers-param-witheditsonly",
                "normalizedname": "apihelp-query+allusers-param-witheditsonly",
                "*": "Only list users who have made edits."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-blockinfo",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-blockinfo",
                "*": "Adds the information about a current block on the user."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-centralids",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-centralids",
                "*": "Adds the central IDs and attachment status for the user."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-editcount",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-editcount",
                "*": "Adds the edit count of the user."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-groups",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-groups",
                "*": "Lists groups that the user is in. This uses more server resources and may return fewer results than the limit."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-implicitgroups",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-implicitgroups",
                "*": "Lists all the groups the user is automatically in."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-registration",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-registration",
                "*": "Adds the timestamp of when the user registered if available (may be blank)."
            },
            {
                "name": "apihelp-query+allusers-paramvalue-prop-rights",
                "normalizedname": "apihelp-query+allusers-paramvalue-prop-rights",
                "*": "Lists rights that the user has."
            },
            {
                "name": "apihelp-query+allusers-summary",
                "normalizedname": "apihelp-query+allusers-summary",
                "*": "Enumerate all registered users."
            },
            {
                "name": "apihelp-query+authmanagerinfo-example-login",
                "normalizedname": "apihelp-query+authmanagerinfo-example-login",
                "*": "Fetch the requests that may be used when beginning a login."
            },
            {
                "name": "apihelp-query+authmanagerinfo-example-login-merged",
                "normalizedname": "apihelp-query+authmanagerinfo-example-login-merged",
                "*": "Fetch the requests that may be used when beginning a login, with form fields merged."
            },
            {
                "name": "apihelp-query+authmanagerinfo-example-securitysensitiveoperation",
                "normalizedname": "apihelp-query+authmanagerinfo-example-securitysensitiveoperation",
                "*": "Test whether authentication is sufficient for action <kbd>foo</kbd>."
            },
            {
                "name": "apihelp-query+authmanagerinfo-param-requestsfor",
                "normalizedname": "apihelp-query+authmanagerinfo-param-requestsfor",
                "*": "Fetch information about the authentication requests needed for the specified authentication action."
            },
            {
                "name": "apihelp-query+authmanagerinfo-param-securitysensitiveoperation",
                "normalizedname": "apihelp-query+authmanagerinfo-param-securitysensitiveoperation",
                "*": "Test whether the user's current authentication status is sufficient for the specified security-sensitive operation."
            },
            {
                "name": "apihelp-query+authmanagerinfo-summary",
                "normalizedname": "apihelp-query+authmanagerinfo-summary",
                "*": "Retrieve information about the current authentication status."
            },
            {
                "name": "apihelp-query+backlinks-example-generator",
                "normalizedname": "apihelp-query+backlinks-example-generator",
                "*": "Get information about pages linking to <kbd>Main page</kbd>."
            },
            {
                "name": "apihelp-query+backlinks-example-simple",
                "normalizedname": "apihelp-query+backlinks-example-simple",
                "*": "Show links to <kbd>Main page</kbd>."
            },
            {
                "name": "apihelp-query+backlinks-param-dir",
                "normalizedname": "apihelp-query+backlinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+backlinks-param-filterredir",
                "normalizedname": "apihelp-query+backlinks-param-filterredir",
                "*": "How to filter for redirects. If set to <kbd>nonredirects</kbd> when <var>$1redirect</var> is enabled, this is only applied to the second level."
            },
            {
                "name": "apihelp-query+backlinks-param-limit",
                "normalizedname": "apihelp-query+backlinks-param-limit",
                "*": "How many total pages to return. If <var>$1redirect</var> is enabled, the limit applies to each level separately (which means up to 2 * <var>$1limit</var> results may be returned)."
            },
            {
                "name": "apihelp-query+backlinks-param-namespace",
                "normalizedname": "apihelp-query+backlinks-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+backlinks-param-pageid",
                "normalizedname": "apihelp-query+backlinks-param-pageid",
                "*": "Page ID to search. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-query+backlinks-param-redirect",
                "normalizedname": "apihelp-query+backlinks-param-redirect",
                "*": "If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved."
            },
            {
                "name": "apihelp-query+backlinks-param-title",
                "normalizedname": "apihelp-query+backlinks-param-title",
                "*": "Title to search. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-query+backlinks-summary",
                "normalizedname": "apihelp-query+backlinks-summary",
                "*": "Find all pages that link to the given page."
            },
            {
                "name": "apihelp-query+blocks-example-simple",
                "normalizedname": "apihelp-query+blocks-example-simple",
                "*": "List blocks."
            },
            {
                "name": "apihelp-query+blocks-example-users",
                "normalizedname": "apihelp-query+blocks-example-users",
                "*": "List blocks of users <kbd>Alice</kbd> and <kbd>Bob</kbd>."
            },
            {
                "name": "apihelp-query+blocks-param-end",
                "normalizedname": "apihelp-query+blocks-param-end",
                "*": "The timestamp to stop enumerating at."
            },
            {
                "name": "apihelp-query+blocks-param-ids",
                "normalizedname": "apihelp-query+blocks-param-ids",
                "*": "List of block IDs to list (optional)."
            },
            {
                "name": "apihelp-query+blocks-param-ip",
                "normalizedname": "apihelp-query+blocks-param-ip",
                "*": "Get all blocks applying to this IP address or CIDR range, including range blocks.\nCannot be used together with <var>$3users</var>. CIDR ranges broader than IPv4/$1 or IPv6/$2 are not accepted."
            },
            {
                "name": "apihelp-query+blocks-param-limit",
                "normalizedname": "apihelp-query+blocks-param-limit",
                "*": "The maximum number of blocks to list."
            },
            {
                "name": "apihelp-query+blocks-param-prop",
                "normalizedname": "apihelp-query+blocks-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+blocks-param-show",
                "normalizedname": "apihelp-query+blocks-param-show",
                "*": "Show only items that meet these criteria.\nFor example, to see only indefinite blocks on IP addresses, set <kbd>$1show=ip|!temp</kbd>."
            },
            {
                "name": "apihelp-query+blocks-param-start",
                "normalizedname": "apihelp-query+blocks-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+blocks-param-users",
                "normalizedname": "apihelp-query+blocks-param-users",
                "*": "List of users to search for (optional)."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-by",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-by",
                "*": "Adds the username of the blocking user."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-byid",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-byid",
                "*": "Adds the user ID of the blocking user."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-expiry",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-expiry",
                "*": "Adds the timestamp of when the block expires."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-flags",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-flags",
                "*": "Tags the ban with (autoblock, anononly, etc.)."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-id",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-id",
                "*": "Adds the ID of the block."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-range",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-range",
                "*": "Adds the range of IP addresses affected by the block."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-reason",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-reason",
                "*": "Adds the reason given for the block."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-timestamp",
                "*": "Adds the timestamp of when the block was given."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-user",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-user",
                "*": "Adds the username of the blocked user."
            },
            {
                "name": "apihelp-query+blocks-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-userid",
                "*": "Adds the user ID of the blocked user."
            },
            {
                "name": "apihelp-query+blocks-summary",
                "normalizedname": "apihelp-query+blocks-summary",
                "*": "List all blocked users and IP addresses."
            },
            {
                "name": "apihelp-query+categories-example-generator",
                "normalizedname": "apihelp-query+categories-example-generator",
                "*": "Get information about all categories used in the page <kbd>Albert Einstein</kbd>."
            },
            {
                "name": "apihelp-query+categories-example-simple",
                "normalizedname": "apihelp-query+categories-example-simple",
                "*": "Get a list of categories the page <kbd>Albert Einstein</kbd> belongs to."
            },
            {
                "name": "apihelp-query+categories-param-categories",
                "normalizedname": "apihelp-query+categories-param-categories",
                "*": "Only list these categories. Useful for checking whether a certain page is in a certain category."
            },
            {
                "name": "apihelp-query+categories-param-dir",
                "normalizedname": "apihelp-query+categories-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+categories-param-limit",
                "normalizedname": "apihelp-query+categories-param-limit",
                "*": "How many categories to return."
            },
            {
                "name": "apihelp-query+categories-param-prop",
                "normalizedname": "apihelp-query+categories-param-prop",
                "*": "Which additional properties to get for each category:"
            },
            {
                "name": "apihelp-query+categories-param-show",
                "normalizedname": "apihelp-query+categories-param-show",
                "*": "Which kind of categories to show."
            },
            {
                "name": "apihelp-query+categories-paramvalue-prop-hidden",
                "normalizedname": "apihelp-query+categories-paramvalue-prop-hidden",
                "*": "Tags categories that are hidden with <code>_&#95;HIDDENCAT_&#95;</code>."
            },
            {
                "name": "apihelp-query+categories-paramvalue-prop-sortkey",
                "normalizedname": "apihelp-query+categories-paramvalue-prop-sortkey",
                "*": "Adds the sortkey (hexadecimal string) and sortkey prefix (human-readable part) for the category."
            },
            {
                "name": "apihelp-query+categories-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+categories-paramvalue-prop-timestamp",
                "*": "Adds timestamp of when the category was added."
            },
            {
                "name": "apihelp-query+categories-summary",
                "normalizedname": "apihelp-query+categories-summary",
                "*": "List all categories the pages belong to."
            },
            {
                "name": "apihelp-query+categoryinfo-example-simple",
                "normalizedname": "apihelp-query+categoryinfo-example-simple",
                "*": "Get information about <kbd>Category:Foo</kbd> and <kbd>Category:Bar</kbd>."
            },
            {
                "name": "apihelp-query+categoryinfo-summary",
                "normalizedname": "apihelp-query+categoryinfo-summary",
                "*": "Returns information about the given categories."
            },
            {
                "name": "apihelp-query+categorymembers-example-generator",
                "normalizedname": "apihelp-query+categorymembers-example-generator",
                "*": "Get page info about first 10 pages in <kbd>Category:Physics</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-example-simple",
                "normalizedname": "apihelp-query+categorymembers-example-simple",
                "*": "Get first 10 pages in <kbd>Category:Physics</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-dir",
                "normalizedname": "apihelp-query+categorymembers-param-dir",
                "*": "In which direction to sort."
            },
            {
                "name": "apihelp-query+categorymembers-param-end",
                "normalizedname": "apihelp-query+categorymembers-param-end",
                "*": "Timestamp to end listing at. Can only be used with <kbd>$1sort=timestamp</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-endhexsortkey",
                "normalizedname": "apihelp-query+categorymembers-param-endhexsortkey",
                "*": "Sortkey to end listing at, as returned by <kbd>$1prop=sortkey</kbd>. Can only be used with <kbd>$1sort=sortkey</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-endsortkey",
                "normalizedname": "apihelp-query+categorymembers-param-endsortkey",
                "*": "Use $1endhexsortkey instead."
            },
            {
                "name": "apihelp-query+categorymembers-param-endsortkeyprefix",
                "normalizedname": "apihelp-query+categorymembers-param-endsortkeyprefix",
                "*": "Sortkey prefix to end listing <strong>before</strong> (not <strong>at</strong>; if this value occurs it will not be included!). Can only be used with $1sort=sortkey. Overrides $1endhexsortkey."
            },
            {
                "name": "apihelp-query+categorymembers-param-limit",
                "normalizedname": "apihelp-query+categorymembers-param-limit",
                "*": "The maximum number of pages to return."
            },
            {
                "name": "apihelp-query+categorymembers-param-namespace",
                "normalizedname": "apihelp-query+categorymembers-param-namespace",
                "*": "Only include pages in these namespaces. Note that <kbd>$1type=subcat</kbd> or <kbd>$1type=file</kbd> may be used instead of <kbd>$1namespace=14</kbd> or <kbd>6</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-pageid",
                "normalizedname": "apihelp-query+categorymembers-param-pageid",
                "*": "Page ID of the category to enumerate. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-query+categorymembers-param-prop",
                "normalizedname": "apihelp-query+categorymembers-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+categorymembers-param-sort",
                "normalizedname": "apihelp-query+categorymembers-param-sort",
                "*": "Property to sort by."
            },
            {
                "name": "apihelp-query+categorymembers-param-start",
                "normalizedname": "apihelp-query+categorymembers-param-start",
                "*": "Timestamp to start listing from. Can only be used with <kbd>$1sort=timestamp</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-starthexsortkey",
                "normalizedname": "apihelp-query+categorymembers-param-starthexsortkey",
                "*": "Sortkey to start listing from, as returned by <kbd>$1prop=sortkey</kbd>. Can only be used with <kbd>$1sort=sortkey</kbd>."
            },
            {
                "name": "apihelp-query+categorymembers-param-startsortkey",
                "normalizedname": "apihelp-query+categorymembers-param-startsortkey",
                "*": "Use $1starthexsortkey instead."
            },
            {
                "name": "apihelp-query+categorymembers-param-startsortkeyprefix",
                "normalizedname": "apihelp-query+categorymembers-param-startsortkeyprefix",
                "*": "Sortkey prefix to start listing from. Can only be used with <kbd>$1sort=sortkey</kbd>. Overrides <var>$1starthexsortkey</var>."
            },
            {
                "name": "apihelp-query+categorymembers-param-title",
                "normalizedname": "apihelp-query+categorymembers-param-title",
                "*": "Which category to enumerate (required). Must include the <kbd>{{ns:category}}:</kbd> prefix. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-query+categorymembers-param-type",
                "normalizedname": "apihelp-query+categorymembers-param-type",
                "*": "Which type of category members to include. Ignored when <kbd>$1sort=timestamp</kbd> is set."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-ids",
                "*": "Adds the page ID."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-sortkey",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-sortkey",
                "*": "Adds the sortkey used for sorting in the category (hexadecimal string)."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-sortkeyprefix",
                "*": "Adds the sortkey prefix used for sorting in the category (human-readable part of the sortkey)."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-timestamp",
                "*": "Adds the timestamp of when the page was included."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-title",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-title",
                "*": "Adds the title and namespace ID of the page."
            },
            {
                "name": "apihelp-query+categorymembers-paramvalue-prop-type",
                "normalizedname": "apihelp-query+categorymembers-paramvalue-prop-type",
                "*": "Adds the type that the page has been categorised as (<samp>page</samp>, <samp>subcat</samp> or <samp>file</samp>)."
            },
            {
                "name": "apihelp-query+categorymembers-summary",
                "normalizedname": "apihelp-query+categorymembers-summary",
                "*": "List all pages in a given category."
            },
            {
                "name": "apihelp-query+contributors-example-simple",
                "normalizedname": "apihelp-query+contributors-example-simple",
                "*": "Show contributors to the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+contributors-param-excludegroup",
                "normalizedname": "apihelp-query+contributors-param-excludegroup",
                "*": "Exclude users in the given groups. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed."
            },
            {
                "name": "apihelp-query+contributors-param-excluderights",
                "normalizedname": "apihelp-query+contributors-param-excluderights",
                "*": "Exclude users having the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed."
            },
            {
                "name": "apihelp-query+contributors-param-group",
                "normalizedname": "apihelp-query+contributors-param-group",
                "*": "Only include users in the given groups. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed."
            },
            {
                "name": "apihelp-query+contributors-param-limit",
                "normalizedname": "apihelp-query+contributors-param-limit",
                "*": "How many contributors to return."
            },
            {
                "name": "apihelp-query+contributors-param-rights",
                "normalizedname": "apihelp-query+contributors-param-rights",
                "*": "Only include users having the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed."
            },
            {
                "name": "apihelp-query+contributors-summary",
                "normalizedname": "apihelp-query+contributors-summary",
                "*": "Get the list of logged-in contributors and the count of anonymous contributors to a page."
            },
            {
                "name": "apihelp-query+deletedrevisions-example-revids",
                "normalizedname": "apihelp-query+deletedrevisions-example-revids",
                "*": "List the information for deleted revision <kbd>123456</kbd>."
            },
            {
                "name": "apihelp-query+deletedrevisions-example-titles",
                "normalizedname": "apihelp-query+deletedrevisions-example-titles",
                "*": "List the deleted revisions of the pages <kbd>Main Page</kbd> and <kbd>Talk:Main Page</kbd>, with content."
            },
            {
                "name": "apihelp-query+deletedrevisions-extended-description",
                "normalizedname": "apihelp-query+deletedrevisions-extended-description",
                "*": "May be used in several ways:\n# Get deleted revisions for a set of pages, by setting titles or pageids. Ordered by title and timestamp.\n# Get data about a set of deleted revisions by setting their IDs with revids. Ordered by revision ID."
            },
            {
                "name": "apihelp-query+deletedrevisions-param-end",
                "normalizedname": "apihelp-query+deletedrevisions-param-end",
                "*": "The timestamp to stop enumerating at. Ignored when processing a list of revision IDs."
            },
            {
                "name": "apihelp-query+deletedrevisions-param-excludeuser",
                "normalizedname": "apihelp-query+deletedrevisions-param-excludeuser",
                "*": "Don't list revisions by this user."
            },
            {
                "name": "apihelp-query+deletedrevisions-param-start",
                "normalizedname": "apihelp-query+deletedrevisions-param-start",
                "*": "The timestamp to start enumerating from. Ignored when processing a list of revision IDs."
            },
            {
                "name": "apihelp-query+deletedrevisions-param-tag",
                "normalizedname": "apihelp-query+deletedrevisions-param-tag",
                "*": "Only list revisions tagged with this tag."
            },
            {
                "name": "apihelp-query+deletedrevisions-param-user",
                "normalizedname": "apihelp-query+deletedrevisions-param-user",
                "*": "Only list revisions by this user."
            },
            {
                "name": "apihelp-query+deletedrevisions-summary",
                "normalizedname": "apihelp-query+deletedrevisions-summary",
                "*": "Get deleted revision information."
            },
            {
                "name": "apihelp-query+deletedrevs-example-mode1",
                "normalizedname": "apihelp-query+deletedrevs-example-mode1",
                "*": "List the last deleted revisions of the pages <kbd>Main Page</kbd> and <kbd>Talk:Main Page</kbd>, with content (mode 1)."
            },
            {
                "name": "apihelp-query+deletedrevs-example-mode2",
                "normalizedname": "apihelp-query+deletedrevs-example-mode2",
                "*": "List the last 50 deleted contributions by <kbd>Bob</kbd> (mode 2)."
            },
            {
                "name": "apihelp-query+deletedrevs-example-mode3-main",
                "normalizedname": "apihelp-query+deletedrevs-example-mode3-main",
                "*": "List the first 50 deleted revisions in the main namespace (mode 3)."
            },
            {
                "name": "apihelp-query+deletedrevs-example-mode3-talk",
                "normalizedname": "apihelp-query+deletedrevs-example-mode3-talk",
                "*": "List the first 50 deleted pages in the {{ns:talk}} namespace (mode 3)."
            },
            {
                "name": "apihelp-query+deletedrevs-extended-description",
                "normalizedname": "apihelp-query+deletedrevs-extended-description",
                "*": "Operates in three modes:\n# List deleted revisions for the given titles, sorted by timestamp.\n# List deleted contributions for the given user, sorted by timestamp (no titles specified).\n# List all deleted revisions in the given namespace, sorted by title and timestamp (no titles specified, $1user not set).\n\nCertain parameters only apply to some modes and are ignored in others."
            },
            {
                "name": "apihelp-query+deletedrevs-param-end",
                "normalizedname": "apihelp-query+deletedrevs-param-end",
                "*": "The timestamp to stop enumerating at."
            },
            {
                "name": "apihelp-query+deletedrevs-param-excludeuser",
                "normalizedname": "apihelp-query+deletedrevs-param-excludeuser",
                "*": "Don't list revisions by this user."
            },
            {
                "name": "apihelp-query+deletedrevs-param-from",
                "normalizedname": "apihelp-query+deletedrevs-param-from",
                "*": "Start listing at this title."
            },
            {
                "name": "apihelp-query+deletedrevs-param-limit",
                "normalizedname": "apihelp-query+deletedrevs-param-limit",
                "*": "The maximum amount of revisions to list."
            },
            {
                "name": "apihelp-query+deletedrevs-param-namespace",
                "normalizedname": "apihelp-query+deletedrevs-param-namespace",
                "*": "Only list pages in this namespace."
            },
            {
                "name": "apihelp-query+deletedrevs-param-prefix",
                "normalizedname": "apihelp-query+deletedrevs-param-prefix",
                "*": "Search for all page titles that begin with this value."
            },
            {
                "name": "apihelp-query+deletedrevs-param-prop",
                "normalizedname": "apihelp-query+deletedrevs-param-prop",
                "*": "Which properties to get:\n;revid:Adds the revision ID of the deleted revision.\n;parentid:Adds the revision ID of the previous revision to the page.\n;user:Adds the user who made the revision.\n;userid:Adds the ID of the user who made the revision.\n;comment:Adds the comment of the revision.\n;parsedcomment:Adds the parsed comment of the revision.\n;minor:Tags if the revision is minor.\n;len:Adds the length (bytes) of the revision.\n;sha1:Adds the SHA-1 (base 16) of the revision.\n;content:Adds the content of the revision.\n;token:<span class=\"apihelp-deprecated\">Deprecated.</span> Gives the edit token.\n;tags:Tags for the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-param-start",
                "normalizedname": "apihelp-query+deletedrevs-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+deletedrevs-param-tag",
                "normalizedname": "apihelp-query+deletedrevs-param-tag",
                "*": "Only list revisions tagged with this tag."
            },
            {
                "name": "apihelp-query+deletedrevs-param-to",
                "normalizedname": "apihelp-query+deletedrevs-param-to",
                "*": "Stop listing at this title."
            },
            {
                "name": "apihelp-query+deletedrevs-param-unique",
                "normalizedname": "apihelp-query+deletedrevs-param-unique",
                "*": "List only one revision for each page."
            },
            {
                "name": "apihelp-query+deletedrevs-param-user",
                "normalizedname": "apihelp-query+deletedrevs-param-user",
                "*": "Only list revisions by this user."
            },
            {
                "name": "apihelp-query+deletedrevs-paraminfo-modes",
                "normalizedname": "apihelp-query+deletedrevs-paraminfo-modes",
                "*": "{{PLURAL:$1|Mode|Modes}}: $2"
            },
            {
                "name": "apihelp-query+deletedrevs-summary",
                "normalizedname": "apihelp-query+deletedrevs-summary",
                "*": "List deleted revisions."
            },
            {
                "name": "apihelp-query+disabled-summary",
                "normalizedname": "apihelp-query+disabled-summary",
                "*": "This query module has been disabled."
            },
            {
                "name": "apihelp-query+duplicatefiles-example-generated",
                "normalizedname": "apihelp-query+duplicatefiles-example-generated",
                "*": "Look for duplicates of all files."
            },
            {
                "name": "apihelp-query+duplicatefiles-example-simple",
                "normalizedname": "apihelp-query+duplicatefiles-example-simple",
                "*": "Look for duplicates of [[:File:Albert Einstein Head.jpg]]."
            },
            {
                "name": "apihelp-query+duplicatefiles-param-dir",
                "normalizedname": "apihelp-query+duplicatefiles-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+duplicatefiles-param-limit",
                "normalizedname": "apihelp-query+duplicatefiles-param-limit",
                "*": "How many duplicate files to return."
            },
            {
                "name": "apihelp-query+duplicatefiles-param-localonly",
                "normalizedname": "apihelp-query+duplicatefiles-param-localonly",
                "*": "Look only for files in the local repository."
            },
            {
                "name": "apihelp-query+duplicatefiles-summary",
                "normalizedname": "apihelp-query+duplicatefiles-summary",
                "*": "List all files that are duplicates of the given files based on hash values."
            },
            {
                "name": "apihelp-query+embeddedin-example-generator",
                "normalizedname": "apihelp-query+embeddedin-example-generator",
                "*": "Get information about pages transcluding <kbd>Template:Stub</kbd>."
            },
            {
                "name": "apihelp-query+embeddedin-example-simple",
                "normalizedname": "apihelp-query+embeddedin-example-simple",
                "*": "Show pages transcluding <kbd>Template:Stub</kbd>."
            },
            {
                "name": "apihelp-query+embeddedin-param-dir",
                "normalizedname": "apihelp-query+embeddedin-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+embeddedin-param-filterredir",
                "normalizedname": "apihelp-query+embeddedin-param-filterredir",
                "*": "How to filter for redirects."
            },
            {
                "name": "apihelp-query+embeddedin-param-limit",
                "normalizedname": "apihelp-query+embeddedin-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+embeddedin-param-namespace",
                "normalizedname": "apihelp-query+embeddedin-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+embeddedin-param-pageid",
                "normalizedname": "apihelp-query+embeddedin-param-pageid",
                "*": "Page ID to search. Cannot be used together with $1title."
            },
            {
                "name": "apihelp-query+embeddedin-param-title",
                "normalizedname": "apihelp-query+embeddedin-param-title",
                "*": "Title to search. Cannot be used together with $1pageid."
            },
            {
                "name": "apihelp-query+embeddedin-summary",
                "normalizedname": "apihelp-query+embeddedin-summary",
                "*": "Find all pages that embed (transclude) the given title."
            },
            {
                "name": "apihelp-query+extlinks-example-simple",
                "normalizedname": "apihelp-query+extlinks-example-simple",
                "*": "Get a list of external links on <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+extlinks-param-expandurl",
                "normalizedname": "apihelp-query+extlinks-param-expandurl",
                "*": "Expand protocol-relative URLs with the canonical protocol."
            },
            {
                "name": "apihelp-query+extlinks-param-limit",
                "normalizedname": "apihelp-query+extlinks-param-limit",
                "*": "How many links to return."
            },
            {
                "name": "apihelp-query+extlinks-param-protocol",
                "normalizedname": "apihelp-query+extlinks-param-protocol",
                "*": "Protocol of the URL. If empty and <var>$1query</var> is set, the protocol is <kbd>http</kbd>. Leave both this and <var>$1query</var> empty to list all external links."
            },
            {
                "name": "apihelp-query+extlinks-param-query",
                "normalizedname": "apihelp-query+extlinks-param-query",
                "*": "Search string without protocol. Useful for checking whether a certain page contains a certain external url."
            },
            {
                "name": "apihelp-query+extlinks-summary",
                "normalizedname": "apihelp-query+extlinks-summary",
                "*": "Returns all external URLs (not interwikis) from the given pages."
            },
            {
                "name": "apihelp-query+exturlusage-example-simple",
                "normalizedname": "apihelp-query+exturlusage-example-simple",
                "*": "Show pages linking to <kbd>https://www.mediawiki.org</kbd>."
            },
            {
                "name": "apihelp-query+exturlusage-param-expandurl",
                "normalizedname": "apihelp-query+exturlusage-param-expandurl",
                "*": "Expand protocol-relative URLs with the canonical protocol."
            },
            {
                "name": "apihelp-query+exturlusage-param-limit",
                "normalizedname": "apihelp-query+exturlusage-param-limit",
                "*": "How many pages to return."
            },
            {
                "name": "apihelp-query+exturlusage-param-namespace",
                "normalizedname": "apihelp-query+exturlusage-param-namespace",
                "*": "The page namespaces to enumerate."
            },
            {
                "name": "apihelp-query+exturlusage-param-prop",
                "normalizedname": "apihelp-query+exturlusage-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+exturlusage-param-protocol",
                "normalizedname": "apihelp-query+exturlusage-param-protocol",
                "*": "Protocol of the URL. If empty and <var>$1query</var> is set, the protocol is <kbd>http</kbd>. Leave both this and <var>$1query</var> empty to list all external links."
            },
            {
                "name": "apihelp-query+exturlusage-param-query",
                "normalizedname": "apihelp-query+exturlusage-param-query",
                "*": "Search string without protocol. See [[Special:LinkSearch]]. Leave empty to list all external links."
            },
            {
                "name": "apihelp-query+exturlusage-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+exturlusage-paramvalue-prop-ids",
                "*": "Adds the ID of page."
            },
            {
                "name": "apihelp-query+exturlusage-paramvalue-prop-title",
                "normalizedname": "apihelp-query+exturlusage-paramvalue-prop-title",
                "*": "Adds the title and namespace ID of the page."
            },
            {
                "name": "apihelp-query+exturlusage-paramvalue-prop-url",
                "normalizedname": "apihelp-query+exturlusage-paramvalue-prop-url",
                "*": "Adds the URL used in the page."
            },
            {
                "name": "apihelp-query+exturlusage-summary",
                "normalizedname": "apihelp-query+exturlusage-summary",
                "*": "Enumerate pages that contain a given URL."
            },
            {
                "name": "apihelp-query+filearchive-example-simple",
                "normalizedname": "apihelp-query+filearchive-example-simple",
                "*": "Show a list of all deleted files."
            },
            {
                "name": "apihelp-query+filearchive-param-dir",
                "normalizedname": "apihelp-query+filearchive-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+filearchive-param-from",
                "normalizedname": "apihelp-query+filearchive-param-from",
                "*": "The image title to start enumerating from."
            },
            {
                "name": "apihelp-query+filearchive-param-limit",
                "normalizedname": "apihelp-query+filearchive-param-limit",
                "*": "How many images to return in total."
            },
            {
                "name": "apihelp-query+filearchive-param-prefix",
                "normalizedname": "apihelp-query+filearchive-param-prefix",
                "*": "Search for all image titles that begin with this value."
            },
            {
                "name": "apihelp-query+filearchive-param-prop",
                "normalizedname": "apihelp-query+filearchive-param-prop",
                "*": "Which image information to get:"
            },
            {
                "name": "apihelp-query+filearchive-param-sha1",
                "normalizedname": "apihelp-query+filearchive-param-sha1",
                "*": "SHA1 hash of image. Overrides $1sha1base36."
            },
            {
                "name": "apihelp-query+filearchive-param-sha1base36",
                "normalizedname": "apihelp-query+filearchive-param-sha1base36",
                "*": "SHA1 hash of image in base 36 (used in MediaWiki)."
            },
            {
                "name": "apihelp-query+filearchive-param-to",
                "normalizedname": "apihelp-query+filearchive-param-to",
                "*": "The image title to stop enumerating at."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-archivename",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-archivename",
                "*": "Adds the filename of the archive version for non-latest versions."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-bitdepth",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-bitdepth",
                "*": "Adds the bit depth of the version."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-description",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-description",
                "*": "Adds description of the image version."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-dimensions",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-dimensions",
                "*": "Alias for size."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-mediatype",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-mediatype",
                "*": "Adds the media type of the image."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-metadata",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-metadata",
                "*": "Lists Exif metadata for the version of the image."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-mime",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-mime",
                "*": "Adds MIME of the image."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-parseddescription",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-parseddescription",
                "*": "Parse the description of the version."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-sha1",
                "*": "Adds SHA-1 hash for the image."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-size",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-size",
                "*": "Adds the size of the image in bytes and the height, width and page count (if applicable)."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-timestamp",
                "*": "Adds timestamp for the uploaded version."
            },
            {
                "name": "apihelp-query+filearchive-paramvalue-prop-user",
                "normalizedname": "apihelp-query+filearchive-paramvalue-prop-user",
                "*": "Adds user who uploaded the image version."
            },
            {
                "name": "apihelp-query+filearchive-summary",
                "normalizedname": "apihelp-query+filearchive-summary",
                "*": "Enumerate all deleted files sequentially."
            },
            {
                "name": "apihelp-query+filerepoinfo-example-simple",
                "normalizedname": "apihelp-query+filerepoinfo-example-simple",
                "*": "Get information about file repositories."
            },
            {
                "name": "apihelp-query+filerepoinfo-param-prop",
                "normalizedname": "apihelp-query+filerepoinfo-param-prop",
                "*": "Which repository properties to get (there may be more available on some wikis):\n;apiurl:URL to the repository API - helpful for getting image info from the host.\n;name:The key of the repository - used in e.g. <var>[[mw:Special:MyLanguage/Manual:$wgForeignFileRepos|$wgForeignFileRepos]]</var> and [[Special:ApiHelp/query+imageinfo|imageinfo]] return values.\n;displayname:The human-readable name of the repository wiki.\n;rooturl:Root URL for image paths.\n;local:Whether that repository is the local one or not."
            },
            {
                "name": "apihelp-query+filerepoinfo-summary",
                "normalizedname": "apihelp-query+filerepoinfo-summary",
                "*": "Return meta information about image repositories configured on the wiki."
            },
            {
                "name": "apihelp-query+fileusage-example-generator",
                "normalizedname": "apihelp-query+fileusage-example-generator",
                "*": "Get information about pages using [[:File:Example.jpg]]."
            },
            {
                "name": "apihelp-query+fileusage-example-simple",
                "normalizedname": "apihelp-query+fileusage-example-simple",
                "*": "Get a list of pages using [[:File:Example.jpg]]."
            },
            {
                "name": "apihelp-query+fileusage-param-limit",
                "normalizedname": "apihelp-query+fileusage-param-limit",
                "*": "How many to return."
            },
            {
                "name": "apihelp-query+fileusage-param-namespace",
                "normalizedname": "apihelp-query+fileusage-param-namespace",
                "*": "Only include pages in these namespaces."
            },
            {
                "name": "apihelp-query+fileusage-param-prop",
                "normalizedname": "apihelp-query+fileusage-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+fileusage-param-show",
                "normalizedname": "apihelp-query+fileusage-param-show",
                "*": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects."
            },
            {
                "name": "apihelp-query+fileusage-paramvalue-prop-pageid",
                "normalizedname": "apihelp-query+fileusage-paramvalue-prop-pageid",
                "*": "Page ID of each page."
            },
            {
                "name": "apihelp-query+fileusage-paramvalue-prop-redirect",
                "normalizedname": "apihelp-query+fileusage-paramvalue-prop-redirect",
                "*": "Flag if the page is a redirect."
            },
            {
                "name": "apihelp-query+fileusage-paramvalue-prop-title",
                "normalizedname": "apihelp-query+fileusage-paramvalue-prop-title",
                "*": "Title of each page."
            },
            {
                "name": "apihelp-query+fileusage-summary",
                "normalizedname": "apihelp-query+fileusage-summary",
                "*": "Find all pages that use the given files."
            },
            {
                "name": "apihelp-query+imageinfo-example-dated",
                "normalizedname": "apihelp-query+imageinfo-example-dated",
                "*": "Fetch information about versions of [[:File:Test.jpg]] from 2008 and later."
            },
            {
                "name": "apihelp-query+imageinfo-example-simple",
                "normalizedname": "apihelp-query+imageinfo-example-simple",
                "*": "Fetch information about the current version of [[:File:Albert Einstein Head.jpg]]."
            },
            {
                "name": "apihelp-query+imageinfo-param-badfilecontexttitle",
                "normalizedname": "apihelp-query+imageinfo-param-badfilecontexttitle",
                "*": "If <kbd>$2prop=badfile</kbd> is set, this is the page title used when evaluating the [[MediaWiki:Bad image list]]"
            },
            {
                "name": "apihelp-query+imageinfo-param-end",
                "normalizedname": "apihelp-query+imageinfo-param-end",
                "*": "Timestamp to stop listing at."
            },
            {
                "name": "apihelp-query+imageinfo-param-extmetadatafilter",
                "normalizedname": "apihelp-query+imageinfo-param-extmetadatafilter",
                "*": "If specified and non-empty, only these keys will be returned for $1prop=extmetadata."
            },
            {
                "name": "apihelp-query+imageinfo-param-extmetadatalanguage",
                "normalizedname": "apihelp-query+imageinfo-param-extmetadatalanguage",
                "*": "What language to fetch extmetadata in. This affects both which translation to fetch, if multiple are available, as well as how things like numbers and various values are formatted."
            },
            {
                "name": "apihelp-query+imageinfo-param-extmetadatamultilang",
                "normalizedname": "apihelp-query+imageinfo-param-extmetadatamultilang",
                "*": "If translations for extmetadata property are available, fetch all of them."
            },
            {
                "name": "apihelp-query+imageinfo-param-limit",
                "normalizedname": "apihelp-query+imageinfo-param-limit",
                "*": "How many file revisions to return per file."
            },
            {
                "name": "apihelp-query+imageinfo-param-localonly",
                "normalizedname": "apihelp-query+imageinfo-param-localonly",
                "*": "Look only for files in the local repository."
            },
            {
                "name": "apihelp-query+imageinfo-param-metadataversion",
                "normalizedname": "apihelp-query+imageinfo-param-metadataversion",
                "*": "Version of metadata to use. If <kbd>latest</kbd> is specified, use latest version. Defaults to <kbd>1</kbd> for backwards compatibility."
            },
            {
                "name": "apihelp-query+imageinfo-param-prop",
                "normalizedname": "apihelp-query+imageinfo-param-prop",
                "*": "Which file information to get:"
            },
            {
                "name": "apihelp-query+imageinfo-param-start",
                "normalizedname": "apihelp-query+imageinfo-param-start",
                "*": "Timestamp to start listing from."
            },
            {
                "name": "apihelp-query+imageinfo-param-urlheight",
                "normalizedname": "apihelp-query+imageinfo-param-urlheight",
                "*": "Similar to $1urlwidth."
            },
            {
                "name": "apihelp-query+imageinfo-param-urlparam",
                "normalizedname": "apihelp-query+imageinfo-param-urlparam",
                "*": "A handler specific parameter string. For example, PDFs might use <kbd>page15-100px</kbd>. <var>$1urlwidth</var> must be used and be consistent with <var>$1urlparam</var>."
            },
            {
                "name": "apihelp-query+imageinfo-param-urlwidth",
                "normalizedname": "apihelp-query+imageinfo-param-urlwidth",
                "*": "If $2prop=url is set, a URL to an image scaled to this width will be returned.\nFor performance reasons if this option is used, no more than $1 scaled images will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-archivename",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-archivename",
                "*": "Adds the filename of the archive version for non-latest versions."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-badfile",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-badfile",
                "*": "Adds whether the file is on the [[MediaWiki:Bad image list]]"
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-bitdepth",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-bitdepth",
                "*": "Adds the bit depth of the version."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle",
                "*": "Adds the canonical title of the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-comment",
                "*": "Comment on the version."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-commonmetadata",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-commonmetadata",
                "*": "Lists file format generic metadata for the version of the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-dimensions",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-dimensions",
                "*": "Alias for size."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-extmetadata",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-extmetadata",
                "*": "Lists formatted metadata combined from multiple sources. Results are HTML formatted."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-mediatype",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-mediatype",
                "*": "Adds the media type of the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-metadata",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-metadata",
                "*": "Lists Exif metadata for the version of the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-mime",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-mime",
                "*": "Adds MIME type of the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-parsedcomment",
                "*": "Parse the comment on the version."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-sha1",
                "*": "Adds SHA-1 hash for the file."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-size",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-size",
                "*": "Adds the size of the file in bytes and the height, width and page count (if applicable)."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-thumbmime",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-thumbmime",
                "*": "Adds MIME type of the image thumbnail (requires url and param $1urlwidth)."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-timestamp",
                "*": "Adds timestamp for the uploaded version."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-uploadwarning",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-uploadwarning",
                "*": "Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-url",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-url",
                "*": "Gives URL to the file and the description page."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-user",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-user",
                "*": "Adds the user who uploaded each file version."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-userid",
                "*": "Add the ID of the user that uploaded each file version."
            },
            {
                "name": "apihelp-query+imageinfo-summary",
                "normalizedname": "apihelp-query+imageinfo-summary",
                "*": "Returns file information and upload history."
            },
            {
                "name": "apihelp-query+images-example-generator",
                "normalizedname": "apihelp-query+images-example-generator",
                "*": "Get information about all files used in the [[Main Page]]."
            },
            {
                "name": "apihelp-query+images-example-simple",
                "normalizedname": "apihelp-query+images-example-simple",
                "*": "Get a list of files used in the [[Main Page]]."
            },
            {
                "name": "apihelp-query+images-param-dir",
                "normalizedname": "apihelp-query+images-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+images-param-images",
                "normalizedname": "apihelp-query+images-param-images",
                "*": "Only list these files. Useful for checking whether a certain page has a certain file."
            },
            {
                "name": "apihelp-query+images-param-limit",
                "normalizedname": "apihelp-query+images-param-limit",
                "*": "How many files to return."
            },
            {
                "name": "apihelp-query+images-summary",
                "normalizedname": "apihelp-query+images-summary",
                "*": "Returns all files contained on the given pages."
            },
            {
                "name": "apihelp-query+imageusage-example-generator",
                "normalizedname": "apihelp-query+imageusage-example-generator",
                "*": "Get information about pages using [[:File:Albert Einstein Head.jpg]]."
            },
            {
                "name": "apihelp-query+imageusage-example-simple",
                "normalizedname": "apihelp-query+imageusage-example-simple",
                "*": "Show pages using [[:File:Albert Einstein Head.jpg]]."
            },
            {
                "name": "apihelp-query+imageusage-param-dir",
                "normalizedname": "apihelp-query+imageusage-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+imageusage-param-filterredir",
                "normalizedname": "apihelp-query+imageusage-param-filterredir",
                "*": "How to filter for redirects. If set to nonredirects when $1redirect is enabled, this is only applied to the second level."
            },
            {
                "name": "apihelp-query+imageusage-param-limit",
                "normalizedname": "apihelp-query+imageusage-param-limit",
                "*": "How many total pages to return. If <var>$1redirect</var> is enabled, the limit applies to each level separately (which means up to 2 * <var>$1limit</var> results may be returned)."
            },
            {
                "name": "apihelp-query+imageusage-param-namespace",
                "normalizedname": "apihelp-query+imageusage-param-namespace",
                "*": "The namespace to enumerate."
            },
            {
                "name": "apihelp-query+imageusage-param-pageid",
                "normalizedname": "apihelp-query+imageusage-param-pageid",
                "*": "Page ID to search. Cannot be used together with $1title."
            },
            {
                "name": "apihelp-query+imageusage-param-redirect",
                "normalizedname": "apihelp-query+imageusage-param-redirect",
                "*": "If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved."
            },
            {
                "name": "apihelp-query+imageusage-param-title",
                "normalizedname": "apihelp-query+imageusage-param-title",
                "*": "Title to search. Cannot be used together with $1pageid."
            },
            {
                "name": "apihelp-query+imageusage-summary",
                "normalizedname": "apihelp-query+imageusage-summary",
                "*": "Find all pages that use the given image title."
            },
            {
                "name": "apihelp-query+info-example-protection",
                "normalizedname": "apihelp-query+info-example-protection",
                "*": "Get general and protection information about the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+info-example-simple",
                "normalizedname": "apihelp-query+info-example-simple",
                "*": "Get information about the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+info-param-prop",
                "normalizedname": "apihelp-query+info-param-prop",
                "*": "Which additional properties to get:"
            },
            {
                "name": "apihelp-query+info-param-testactions",
                "normalizedname": "apihelp-query+info-param-testactions",
                "*": "Test whether the current user can perform certain actions on the page."
            },
            {
                "name": "apihelp-query+info-param-token",
                "normalizedname": "apihelp-query+info-param-token",
                "*": "Use [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] instead."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-displaytitle",
                "normalizedname": "apihelp-query+info-paramvalue-prop-displaytitle",
                "*": "Gives the manner in which the page title is actually displayed."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-notificationtimestamp",
                "normalizedname": "apihelp-query+info-paramvalue-prop-notificationtimestamp",
                "*": "The watchlist notification timestamp of each page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-preload",
                "normalizedname": "apihelp-query+info-paramvalue-prop-preload",
                "*": "Gives the text returned by EditFormPreloadText."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-protection",
                "normalizedname": "apihelp-query+info-paramvalue-prop-protection",
                "*": "List the protection level of each page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-readable",
                "normalizedname": "apihelp-query+info-paramvalue-prop-readable",
                "*": "Whether the user can read this page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-subjectid",
                "normalizedname": "apihelp-query+info-paramvalue-prop-subjectid",
                "*": "The page ID of the parent page for each talk page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-talkid",
                "normalizedname": "apihelp-query+info-paramvalue-prop-talkid",
                "*": "The page ID of the talk page for each non-talk page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-url",
                "normalizedname": "apihelp-query+info-paramvalue-prop-url",
                "*": "Gives a full URL, an edit URL, and the canonical URL for each page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-varianttitles",
                "normalizedname": "apihelp-query+info-paramvalue-prop-varianttitles",
                "*": "Gives the display title in all variants of the site content language."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-visitingwatchers",
                "normalizedname": "apihelp-query+info-paramvalue-prop-visitingwatchers",
                "*": "The number of watchers of each page who have visited recent edits to that page, if allowed."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-watched",
                "normalizedname": "apihelp-query+info-paramvalue-prop-watched",
                "*": "List the watched status of each page."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-watchers",
                "normalizedname": "apihelp-query+info-paramvalue-prop-watchers",
                "*": "The number of watchers, if allowed."
            },
            {
                "name": "apihelp-query+info-summary",
                "normalizedname": "apihelp-query+info-summary",
                "*": "Get basic page information."
            },
            {
                "name": "apihelp-query+iwbacklinks-example-generator",
                "normalizedname": "apihelp-query+iwbacklinks-example-generator",
                "*": "Get information about pages linking to [[wikibooks:Test]]."
            },
            {
                "name": "apihelp-query+iwbacklinks-example-simple",
                "normalizedname": "apihelp-query+iwbacklinks-example-simple",
                "*": "Get pages linking to [[wikibooks:Test]]."
            },
            {
                "name": "apihelp-query+iwbacklinks-extended-description",
                "normalizedname": "apihelp-query+iwbacklinks-extended-description",
                "*": "Can be used to find all links with a prefix, or all links to a title (with a given prefix). Using neither parameter is effectively \"all interwiki links\"."
            },
            {
                "name": "apihelp-query+iwbacklinks-param-dir",
                "normalizedname": "apihelp-query+iwbacklinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+iwbacklinks-param-limit",
                "normalizedname": "apihelp-query+iwbacklinks-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+iwbacklinks-param-prefix",
                "normalizedname": "apihelp-query+iwbacklinks-param-prefix",
                "*": "Prefix for the interwiki."
            },
            {
                "name": "apihelp-query+iwbacklinks-param-prop",
                "normalizedname": "apihelp-query+iwbacklinks-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+iwbacklinks-param-title",
                "normalizedname": "apihelp-query+iwbacklinks-param-title",
                "*": "Interwiki link to search for. Must be used with <var>$1blprefix</var>."
            },
            {
                "name": "apihelp-query+iwbacklinks-paramvalue-prop-iwprefix",
                "normalizedname": "apihelp-query+iwbacklinks-paramvalue-prop-iwprefix",
                "*": "Adds the prefix of the interwiki."
            },
            {
                "name": "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle",
                "normalizedname": "apihelp-query+iwbacklinks-paramvalue-prop-iwtitle",
                "*": "Adds the title of the interwiki."
            },
            {
                "name": "apihelp-query+iwbacklinks-summary",
                "normalizedname": "apihelp-query+iwbacklinks-summary",
                "*": "Find all pages that link to the given interwiki link."
            },
            {
                "name": "apihelp-query+iwlinks-example-simple",
                "normalizedname": "apihelp-query+iwlinks-example-simple",
                "*": "Get interwiki links from the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+iwlinks-param-dir",
                "normalizedname": "apihelp-query+iwlinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+iwlinks-param-limit",
                "normalizedname": "apihelp-query+iwlinks-param-limit",
                "*": "How many interwiki links to return."
            },
            {
                "name": "apihelp-query+iwlinks-param-prefix",
                "normalizedname": "apihelp-query+iwlinks-param-prefix",
                "*": "Only return interwiki links with this prefix."
            },
            {
                "name": "apihelp-query+iwlinks-param-prop",
                "normalizedname": "apihelp-query+iwlinks-param-prop",
                "*": "Which additional properties to get for each interlanguage link:"
            },
            {
                "name": "apihelp-query+iwlinks-param-title",
                "normalizedname": "apihelp-query+iwlinks-param-title",
                "*": "Interwiki link to search for. Must be used with <var>$1prefix</var>."
            },
            {
                "name": "apihelp-query+iwlinks-param-url",
                "normalizedname": "apihelp-query+iwlinks-param-url",
                "*": "Whether to get the full URL (cannot be used with $1prop)."
            },
            {
                "name": "apihelp-query+iwlinks-paramvalue-prop-url",
                "normalizedname": "apihelp-query+iwlinks-paramvalue-prop-url",
                "*": "Adds the full URL."
            },
            {
                "name": "apihelp-query+iwlinks-summary",
                "normalizedname": "apihelp-query+iwlinks-summary",
                "*": "Returns all interwiki links from the given pages."
            },
            {
                "name": "apihelp-query+langbacklinks-example-generator",
                "normalizedname": "apihelp-query+langbacklinks-example-generator",
                "*": "Get information about pages linking to [[:fr:Test]]."
            },
            {
                "name": "apihelp-query+langbacklinks-example-simple",
                "normalizedname": "apihelp-query+langbacklinks-example-simple",
                "*": "Get pages linking to [[:fr:Test]]."
            },
            {
                "name": "apihelp-query+langbacklinks-extended-description",
                "normalizedname": "apihelp-query+langbacklinks-extended-description",
                "*": "Can be used to find all links with a language code, or all links to a title (with a given language). Using neither parameter is effectively \"all language links\".\n\nNote that this may not consider language links added by extensions."
            },
            {
                "name": "apihelp-query+langbacklinks-param-dir",
                "normalizedname": "apihelp-query+langbacklinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+langbacklinks-param-lang",
                "normalizedname": "apihelp-query+langbacklinks-param-lang",
                "*": "Language for the language link."
            },
            {
                "name": "apihelp-query+langbacklinks-param-limit",
                "normalizedname": "apihelp-query+langbacklinks-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+langbacklinks-param-prop",
                "normalizedname": "apihelp-query+langbacklinks-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+langbacklinks-param-title",
                "normalizedname": "apihelp-query+langbacklinks-param-title",
                "*": "Language link to search for. Must be used with $1lang."
            },
            {
                "name": "apihelp-query+langbacklinks-paramvalue-prop-lllang",
                "normalizedname": "apihelp-query+langbacklinks-paramvalue-prop-lllang",
                "*": "Adds the language code of the language link."
            },
            {
                "name": "apihelp-query+langbacklinks-paramvalue-prop-lltitle",
                "normalizedname": "apihelp-query+langbacklinks-paramvalue-prop-lltitle",
                "*": "Adds the title of the language link."
            },
            {
                "name": "apihelp-query+langbacklinks-summary",
                "normalizedname": "apihelp-query+langbacklinks-summary",
                "*": "Find all pages that link to the given language link."
            },
            {
                "name": "apihelp-query+langlinks-example-simple",
                "normalizedname": "apihelp-query+langlinks-example-simple",
                "*": "Get interlanguage links from the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+langlinks-param-dir",
                "normalizedname": "apihelp-query+langlinks-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+langlinks-param-inlanguagecode",
                "normalizedname": "apihelp-query+langlinks-param-inlanguagecode",
                "*": "Language code for localised language names."
            },
            {
                "name": "apihelp-query+langlinks-param-lang",
                "normalizedname": "apihelp-query+langlinks-param-lang",
                "*": "Only return language links with this language code."
            },
            {
                "name": "apihelp-query+langlinks-param-limit",
                "normalizedname": "apihelp-query+langlinks-param-limit",
                "*": "How many langlinks to return."
            },
            {
                "name": "apihelp-query+langlinks-param-prop",
                "normalizedname": "apihelp-query+langlinks-param-prop",
                "*": "Which additional properties to get for each interlanguage link:"
            },
            {
                "name": "apihelp-query+langlinks-param-title",
                "normalizedname": "apihelp-query+langlinks-param-title",
                "*": "Link to search for. Must be used with <var>$1lang</var>."
            },
            {
                "name": "apihelp-query+langlinks-param-url",
                "normalizedname": "apihelp-query+langlinks-param-url",
                "*": "Whether to get the full URL (cannot be used with <var>$1prop</var>)."
            },
            {
                "name": "apihelp-query+langlinks-paramvalue-prop-autonym",
                "normalizedname": "apihelp-query+langlinks-paramvalue-prop-autonym",
                "*": "Adds the native language name."
            },
            {
                "name": "apihelp-query+langlinks-paramvalue-prop-langname",
                "normalizedname": "apihelp-query+langlinks-paramvalue-prop-langname",
                "*": "Adds the localised language name (best effort). Use <var>$1inlanguagecode</var> to control the language."
            },
            {
                "name": "apihelp-query+langlinks-paramvalue-prop-url",
                "normalizedname": "apihelp-query+langlinks-paramvalue-prop-url",
                "*": "Adds the full URL."
            },
            {
                "name": "apihelp-query+langlinks-summary",
                "normalizedname": "apihelp-query+langlinks-summary",
                "*": "Returns all interlanguage links from the given pages."
            },
            {
                "name": "apihelp-query+links-example-generator",
                "normalizedname": "apihelp-query+links-example-generator",
                "*": "Get information about the link pages in the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+links-example-namespaces",
                "normalizedname": "apihelp-query+links-example-namespaces",
                "*": "Get links from the page <kbd>Main Page</kbd> in the {{ns:user}} and {{ns:template}} namespaces."
            },
            {
                "name": "apihelp-query+links-example-simple",
                "normalizedname": "apihelp-query+links-example-simple",
                "*": "Get links from the page <kbd>Main Page</kbd>"
            },
            {
                "name": "apihelp-query+links-param-dir",
                "normalizedname": "apihelp-query+links-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+links-param-limit",
                "normalizedname": "apihelp-query+links-param-limit",
                "*": "How many links to return."
            },
            {
                "name": "apihelp-query+links-param-namespace",
                "normalizedname": "apihelp-query+links-param-namespace",
                "*": "Show links in these namespaces only."
            },
            {
                "name": "apihelp-query+links-param-titles",
                "normalizedname": "apihelp-query+links-param-titles",
                "*": "Only list links to these titles. Useful for checking whether a certain page links to a certain title."
            },
            {
                "name": "apihelp-query+links-summary",
                "normalizedname": "apihelp-query+links-summary",
                "*": "Returns all links from the given pages."
            },
            {
                "name": "apihelp-query+linkshere-example-generator",
                "normalizedname": "apihelp-query+linkshere-example-generator",
                "*": "Get information about pages linking to the [[Main Page]]."
            },
            {
                "name": "apihelp-query+linkshere-example-simple",
                "normalizedname": "apihelp-query+linkshere-example-simple",
                "*": "Get a list of pages linking to the [[Main Page]]."
            },
            {
                "name": "apihelp-query+linkshere-param-limit",
                "normalizedname": "apihelp-query+linkshere-param-limit",
                "*": "How many to return."
            },
            {
                "name": "apihelp-query+linkshere-param-namespace",
                "normalizedname": "apihelp-query+linkshere-param-namespace",
                "*": "Only include pages in these namespaces."
            },
            {
                "name": "apihelp-query+linkshere-param-prop",
                "normalizedname": "apihelp-query+linkshere-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+linkshere-param-show",
                "normalizedname": "apihelp-query+linkshere-param-show",
                "*": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects."
            },
            {
                "name": "apihelp-query+linkshere-paramvalue-prop-pageid",
                "normalizedname": "apihelp-query+linkshere-paramvalue-prop-pageid",
                "*": "Page ID of each page."
            },
            {
                "name": "apihelp-query+linkshere-paramvalue-prop-redirect",
                "normalizedname": "apihelp-query+linkshere-paramvalue-prop-redirect",
                "*": "Flag if the page is a redirect."
            },
            {
                "name": "apihelp-query+linkshere-paramvalue-prop-title",
                "normalizedname": "apihelp-query+linkshere-paramvalue-prop-title",
                "*": "Title of each page."
            },
            {
                "name": "apihelp-query+linkshere-summary",
                "normalizedname": "apihelp-query+linkshere-summary",
                "*": "Find all pages that link to the given pages."
            },
            {
                "name": "apihelp-query+logevents-example-simple",
                "normalizedname": "apihelp-query+logevents-example-simple",
                "*": "List recent log events."
            },
            {
                "name": "apihelp-query+logevents-param-action",
                "normalizedname": "apihelp-query+logevents-param-action",
                "*": "Filter log actions to only this action. Overrides <var>$1type</var>. In the list of possible values, values with the asterisk wildcard such as <kbd>action/*</kbd> can have different strings after the slash (/)."
            },
            {
                "name": "apihelp-query+logevents-param-end",
                "normalizedname": "apihelp-query+logevents-param-end",
                "*": "The timestamp to end enumerating."
            },
            {
                "name": "apihelp-query+logevents-param-limit",
                "normalizedname": "apihelp-query+logevents-param-limit",
                "*": "How many total event entries to return."
            },
            {
                "name": "apihelp-query+logevents-param-namespace",
                "normalizedname": "apihelp-query+logevents-param-namespace",
                "*": "Filter entries to those in the given namespace."
            },
            {
                "name": "apihelp-query+logevents-param-prefix",
                "normalizedname": "apihelp-query+logevents-param-prefix",
                "*": "Filter entries that start with this prefix."
            },
            {
                "name": "apihelp-query+logevents-param-prop",
                "normalizedname": "apihelp-query+logevents-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+logevents-param-start",
                "normalizedname": "apihelp-query+logevents-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+logevents-param-tag",
                "normalizedname": "apihelp-query+logevents-param-tag",
                "*": "Only list event entries tagged with this tag."
            },
            {
                "name": "apihelp-query+logevents-param-title",
                "normalizedname": "apihelp-query+logevents-param-title",
                "*": "Filter entries to those related to a page."
            },
            {
                "name": "apihelp-query+logevents-param-type",
                "normalizedname": "apihelp-query+logevents-param-type",
                "*": "Filter log entries to only this type."
            },
            {
                "name": "apihelp-query+logevents-param-user",
                "normalizedname": "apihelp-query+logevents-param-user",
                "*": "Filter entries to those made by the given user."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-comment",
                "*": "Adds the comment of the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-details",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-details",
                "*": "Lists additional details about the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-ids",
                "*": "Adds the ID of the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-parsedcomment",
                "*": "Adds the parsed comment of the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-tags",
                "*": "Lists tags for the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-timestamp",
                "*": "Adds the timestamp for the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-title",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-title",
                "*": "Adds the title of the page for the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-type",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-type",
                "*": "Adds the type of log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-user",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-user",
                "*": "Adds the user responsible for the log event."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-userid",
                "*": "Adds the user ID who was responsible for the log event."
            },
            {
                "name": "apihelp-query+logevents-summary",
                "normalizedname": "apihelp-query+logevents-summary",
                "*": "Get events from logs."
            },
            {
                "name": "apihelp-query+mystashedfiles-example-simple",
                "normalizedname": "apihelp-query+mystashedfiles-example-simple",
                "*": "Get the filekey, file size, and pixel size of files in the current user's upload stash."
            },
            {
                "name": "apihelp-query+mystashedfiles-param-limit",
                "normalizedname": "apihelp-query+mystashedfiles-param-limit",
                "*": "How many files to get."
            },
            {
                "name": "apihelp-query+mystashedfiles-param-prop",
                "normalizedname": "apihelp-query+mystashedfiles-param-prop",
                "*": "Which properties to fetch for the files."
            },
            {
                "name": "apihelp-query+mystashedfiles-paramvalue-prop-size",
                "normalizedname": "apihelp-query+mystashedfiles-paramvalue-prop-size",
                "*": "Fetch the file size and image dimensions."
            },
            {
                "name": "apihelp-query+mystashedfiles-paramvalue-prop-type",
                "normalizedname": "apihelp-query+mystashedfiles-paramvalue-prop-type",
                "*": "Fetch the file's MIME type and media type."
            },
            {
                "name": "apihelp-query+mystashedfiles-summary",
                "normalizedname": "apihelp-query+mystashedfiles-summary",
                "*": "Get a list of files in the current user's upload stash."
            },
            {
                "name": "apihelp-query+pagepropnames-example-simple",
                "normalizedname": "apihelp-query+pagepropnames-example-simple",
                "*": "Get first 10 property names."
            },
            {
                "name": "apihelp-query+pagepropnames-param-limit",
                "normalizedname": "apihelp-query+pagepropnames-param-limit",
                "*": "The maximum number of names to return."
            },
            {
                "name": "apihelp-query+pagepropnames-summary",
                "normalizedname": "apihelp-query+pagepropnames-summary",
                "*": "List all page property names in use on the wiki."
            },
            {
                "name": "apihelp-query+pageprops-example-simple",
                "normalizedname": "apihelp-query+pageprops-example-simple",
                "*": "Get properties for the pages <kbd>Main Page</kbd> and <kbd>MediaWiki</kbd>."
            },
            {
                "name": "apihelp-query+pageprops-param-prop",
                "normalizedname": "apihelp-query+pageprops-param-prop",
                "*": "Only list these page properties (<kbd>[[Special:ApiHelp/query+pagepropnames|action=query&list=pagepropnames]]</kbd> returns page property names in use). Useful for checking whether pages use a certain page property."
            },
            {
                "name": "apihelp-query+pageprops-summary",
                "normalizedname": "apihelp-query+pageprops-summary",
                "*": "Get various page properties defined in the page content."
            },
            {
                "name": "apihelp-query+pageswithprop-example-generator",
                "normalizedname": "apihelp-query+pageswithprop-example-generator",
                "*": "Get additional information about the first 10 pages using <code>_&#95;NOTOC_&#95;</code>."
            },
            {
                "name": "apihelp-query+pageswithprop-example-simple",
                "normalizedname": "apihelp-query+pageswithprop-example-simple",
                "*": "List the first 10 pages using <code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>."
            },
            {
                "name": "apihelp-query+pageswithprop-param-dir",
                "normalizedname": "apihelp-query+pageswithprop-param-dir",
                "*": "In which direction to sort."
            },
            {
                "name": "apihelp-query+pageswithprop-param-limit",
                "normalizedname": "apihelp-query+pageswithprop-param-limit",
                "*": "The maximum number of pages to return."
            },
            {
                "name": "apihelp-query+pageswithprop-param-prop",
                "normalizedname": "apihelp-query+pageswithprop-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+pageswithprop-param-propname",
                "normalizedname": "apihelp-query+pageswithprop-param-propname",
                "*": "Page property for which to enumerate pages (<kbd>[[Special:ApiHelp/query+pagepropnames|action=query&list=pagepropnames]]</kbd> returns page property names in use)."
            },
            {
                "name": "apihelp-query+pageswithprop-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+pageswithprop-paramvalue-prop-ids",
                "*": "Adds the page ID."
            },
            {
                "name": "apihelp-query+pageswithprop-paramvalue-prop-title",
                "normalizedname": "apihelp-query+pageswithprop-paramvalue-prop-title",
                "*": "Adds the title and namespace ID of the page."
            },
            {
                "name": "apihelp-query+pageswithprop-paramvalue-prop-value",
                "normalizedname": "apihelp-query+pageswithprop-paramvalue-prop-value",
                "*": "Adds the value of the page property."
            },
            {
                "name": "apihelp-query+pageswithprop-summary",
                "normalizedname": "apihelp-query+pageswithprop-summary",
                "*": "List all pages using a given page property."
            },
            {
                "name": "apihelp-query+prefixsearch-example-simple",
                "normalizedname": "apihelp-query+prefixsearch-example-simple",
                "*": "Search for page titles beginning with <kbd>meaning</kbd>."
            },
            {
                "name": "apihelp-query+prefixsearch-extended-description",
                "normalizedname": "apihelp-query+prefixsearch-extended-description",
                "*": "Despite the similarity in names, this module is not intended to be equivalent to [[Special:PrefixIndex]]; for that, see <kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd> with the <kbd>apprefix</kbd> parameter. The purpose of this module is similar to <kbd>[[Special:ApiHelp/opensearch|action=opensearch]]</kbd>: to take user input and provide the best-matching titles. Depending on the search engine backend, this might include typo correction, redirect avoidance, or other heuristics."
            },
            {
                "name": "apihelp-query+prefixsearch-param-limit",
                "normalizedname": "apihelp-query+prefixsearch-param-limit",
                "*": "Maximum number of results to return."
            },
            {
                "name": "apihelp-query+prefixsearch-param-namespace",
                "normalizedname": "apihelp-query+prefixsearch-param-namespace",
                "*": "Namespaces to search. Ignored if <var>$1search</var> begins with a valid namespace prefix."
            },
            {
                "name": "apihelp-query+prefixsearch-param-offset",
                "normalizedname": "apihelp-query+prefixsearch-param-offset",
                "*": "Number of results to skip."
            },
            {
                "name": "apihelp-query+prefixsearch-param-profile",
                "normalizedname": "apihelp-query+prefixsearch-param-profile",
                "*": "Search profile to use."
            },
            {
                "name": "apihelp-query+prefixsearch-param-search",
                "normalizedname": "apihelp-query+prefixsearch-param-search",
                "*": "Search string."
            },
            {
                "name": "apihelp-query+prefixsearch-summary",
                "normalizedname": "apihelp-query+prefixsearch-summary",
                "*": "Perform a prefix search for page titles."
            },
            {
                "name": "apihelp-query+protectedtitles-example-generator",
                "normalizedname": "apihelp-query+protectedtitles-example-generator",
                "*": "Find links to protected titles in the main namespace."
            },
            {
                "name": "apihelp-query+protectedtitles-example-simple",
                "normalizedname": "apihelp-query+protectedtitles-example-simple",
                "*": "List protected titles."
            },
            {
                "name": "apihelp-query+protectedtitles-param-end",
                "normalizedname": "apihelp-query+protectedtitles-param-end",
                "*": "Stop listing at this protection timestamp."
            },
            {
                "name": "apihelp-query+protectedtitles-param-level",
                "normalizedname": "apihelp-query+protectedtitles-param-level",
                "*": "Only list titles with these protection levels."
            },
            {
                "name": "apihelp-query+protectedtitles-param-limit",
                "normalizedname": "apihelp-query+protectedtitles-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+protectedtitles-param-namespace",
                "normalizedname": "apihelp-query+protectedtitles-param-namespace",
                "*": "Only list titles in these namespaces."
            },
            {
                "name": "apihelp-query+protectedtitles-param-prop",
                "normalizedname": "apihelp-query+protectedtitles-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+protectedtitles-param-start",
                "normalizedname": "apihelp-query+protectedtitles-param-start",
                "*": "Start listing at this protection timestamp."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-comment",
                "*": "Adds the comment for the protection."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-expiry",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-expiry",
                "*": "Adds the timestamp of when the protection will be lifted."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-level",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-level",
                "*": "Adds the protection level."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-parsedcomment",
                "*": "Adds the parsed comment for the protection."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-timestamp",
                "*": "Adds the timestamp of when protection was added."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-user",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-user",
                "*": "Adds the user that added the protection."
            },
            {
                "name": "apihelp-query+protectedtitles-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+protectedtitles-paramvalue-prop-userid",
                "*": "Adds the user ID that added the protection."
            },
            {
                "name": "apihelp-query+protectedtitles-summary",
                "normalizedname": "apihelp-query+protectedtitles-summary",
                "*": "List all titles protected from creation."
            },
            {
                "name": "apihelp-query+querypage-example-ancientpages",
                "normalizedname": "apihelp-query+querypage-example-ancientpages",
                "*": "Return results from [[Special:Ancientpages]]."
            },
            {
                "name": "apihelp-query+querypage-param-limit",
                "normalizedname": "apihelp-query+querypage-param-limit",
                "*": "Number of results to return."
            },
            {
                "name": "apihelp-query+querypage-param-page",
                "normalizedname": "apihelp-query+querypage-param-page",
                "*": "The name of the special page. Note, this is case sensitive."
            },
            {
                "name": "apihelp-query+querypage-summary",
                "normalizedname": "apihelp-query+querypage-summary",
                "*": "Get a list provided by a QueryPage-based special page."
            },
            {
                "name": "apihelp-query+random-example-generator",
                "normalizedname": "apihelp-query+random-example-generator",
                "*": "Return page info about two random pages from the main namespace."
            },
            {
                "name": "apihelp-query+random-example-simple",
                "normalizedname": "apihelp-query+random-example-simple",
                "*": "Return two random pages from the main namespace."
            },
            {
                "name": "apihelp-query+random-extended-description",
                "normalizedname": "apihelp-query+random-extended-description",
                "*": "Pages are listed in a fixed sequence, only the starting point is random. This means that if, for example, <samp>Main Page</samp> is the first random page in the list, <samp>List of fictional monkeys</samp> will <em>always</em> be second, <samp>List of people on stamps of Vanuatu</samp> third, etc."
            },
            {
                "name": "apihelp-query+random-param-filterredir",
                "normalizedname": "apihelp-query+random-param-filterredir",
                "*": "How to filter for redirects."
            },
            {
                "name": "apihelp-query+random-param-limit",
                "normalizedname": "apihelp-query+random-param-limit",
                "*": "Limit how many random pages will be returned."
            },
            {
                "name": "apihelp-query+random-param-namespace",
                "normalizedname": "apihelp-query+random-param-namespace",
                "*": "Return pages in these namespaces only."
            },
            {
                "name": "apihelp-query+random-param-redirect",
                "normalizedname": "apihelp-query+random-param-redirect",
                "*": "Use <kbd>$1filterredir=redirects</kbd> instead."
            },
            {
                "name": "apihelp-query+random-summary",
                "normalizedname": "apihelp-query+random-summary",
                "*": "Get a set of random pages."
            },
            {
                "name": "apihelp-query+recentchanges-example-generator",
                "normalizedname": "apihelp-query+recentchanges-example-generator",
                "*": "Get page info about recent unpatrolled changes."
            },
            {
                "name": "apihelp-query+recentchanges-example-simple",
                "normalizedname": "apihelp-query+recentchanges-example-simple",
                "*": "List recent changes."
            },
            {
                "name": "apihelp-query+recentchanges-param-end",
                "normalizedname": "apihelp-query+recentchanges-param-end",
                "*": "The timestamp to end enumerating."
            },
            {
                "name": "apihelp-query+recentchanges-param-excludeuser",
                "normalizedname": "apihelp-query+recentchanges-param-excludeuser",
                "*": "Don't list changes by this user."
            },
            {
                "name": "apihelp-query+recentchanges-param-generaterevisions",
                "normalizedname": "apihelp-query+recentchanges-param-generaterevisions",
                "*": "When being used as a generator, generate revision IDs rather than titles. Recent change entries without associated revision IDs (e.g. most log entries) will generate nothing."
            },
            {
                "name": "apihelp-query+recentchanges-param-limit",
                "normalizedname": "apihelp-query+recentchanges-param-limit",
                "*": "How many total changes to return."
            },
            {
                "name": "apihelp-query+recentchanges-param-namespace",
                "normalizedname": "apihelp-query+recentchanges-param-namespace",
                "*": "Filter changes to only these namespaces."
            },
            {
                "name": "apihelp-query+recentchanges-param-prop",
                "normalizedname": "apihelp-query+recentchanges-param-prop",
                "*": "Include additional pieces of information:"
            },
            {
                "name": "apihelp-query+recentchanges-param-show",
                "normalizedname": "apihelp-query+recentchanges-param-show",
                "*": "Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set $1show=minor|!anon."
            },
            {
                "name": "apihelp-query+recentchanges-param-start",
                "normalizedname": "apihelp-query+recentchanges-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+recentchanges-param-tag",
                "normalizedname": "apihelp-query+recentchanges-param-tag",
                "*": "Only list changes tagged with this tag."
            },
            {
                "name": "apihelp-query+recentchanges-param-token",
                "normalizedname": "apihelp-query+recentchanges-param-token",
                "*": "Use <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> instead."
            },
            {
                "name": "apihelp-query+recentchanges-param-toponly",
                "normalizedname": "apihelp-query+recentchanges-param-toponly",
                "*": "Only list changes which are the latest revision."
            },
            {
                "name": "apihelp-query+recentchanges-param-type",
                "normalizedname": "apihelp-query+recentchanges-param-type",
                "*": "Which types of changes to show."
            },
            {
                "name": "apihelp-query+recentchanges-param-user",
                "normalizedname": "apihelp-query+recentchanges-param-user",
                "*": "Only list changes by this user."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-autopatrolled",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-autopatrolled",
                "*": "Tags patrollable edits as being autopatrolled or not."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-comment",
                "*": "Adds the comment for the edit."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-flags",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-flags",
                "*": "Adds flags for the edit."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-ids",
                "*": "Adds the page ID, recent changes ID and the new and old revision ID."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-loginfo",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-loginfo",
                "*": "Adds log information (log ID, log type, etc) to log entries."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-parsedcomment",
                "*": "Adds the parsed comment for the edit."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-patrolled",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-patrolled",
                "*": "Tags patrollable edits as being patrolled or unpatrolled."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-redirect",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-redirect",
                "*": "Tags edit if page is a redirect."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-sha1",
                "*": "Adds the content checksum for entries associated with a revision."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-sizes",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-sizes",
                "*": "Adds the new and old page length in bytes."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-tags",
                "*": "Lists tags for the entry."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-timestamp",
                "*": "Adds timestamp of the edit."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-title",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-title",
                "*": "Adds the page title of the edit."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-user",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-user",
                "*": "Adds the user responsible for the edit and tags if they are an IP."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-userid",
                "*": "Adds the user ID responsible for the edit."
            },
            {
                "name": "apihelp-query+recentchanges-summary",
                "normalizedname": "apihelp-query+recentchanges-summary",
                "*": "Enumerate recent changes."
            },
            {
                "name": "apihelp-query+redirects-example-generator",
                "normalizedname": "apihelp-query+redirects-example-generator",
                "*": "Get information about all redirects to the [[Main Page]]."
            },
            {
                "name": "apihelp-query+redirects-example-simple",
                "normalizedname": "apihelp-query+redirects-example-simple",
                "*": "Get a list of redirects to the [[Main Page]]."
            },
            {
                "name": "apihelp-query+redirects-param-limit",
                "normalizedname": "apihelp-query+redirects-param-limit",
                "*": "How many redirects to return."
            },
            {
                "name": "apihelp-query+redirects-param-namespace",
                "normalizedname": "apihelp-query+redirects-param-namespace",
                "*": "Only include pages in these namespaces."
            },
            {
                "name": "apihelp-query+redirects-param-prop",
                "normalizedname": "apihelp-query+redirects-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+redirects-param-show",
                "normalizedname": "apihelp-query+redirects-param-show",
                "*": "Show only items that meet these criteria:\n;fragment:Only show redirects with a fragment.\n;!fragment:Only show redirects without a fragment."
            },
            {
                "name": "apihelp-query+redirects-paramvalue-prop-fragment",
                "normalizedname": "apihelp-query+redirects-paramvalue-prop-fragment",
                "*": "Fragment of each redirect, if any."
            },
            {
                "name": "apihelp-query+redirects-paramvalue-prop-pageid",
                "normalizedname": "apihelp-query+redirects-paramvalue-prop-pageid",
                "*": "Page ID of each redirect."
            },
            {
                "name": "apihelp-query+redirects-paramvalue-prop-title",
                "normalizedname": "apihelp-query+redirects-paramvalue-prop-title",
                "*": "Title of each redirect."
            },
            {
                "name": "apihelp-query+redirects-summary",
                "normalizedname": "apihelp-query+redirects-summary",
                "*": "Returns all redirects to the given pages."
            },
            {
                "name": "apihelp-query+revisions+base-param-contentformat",
                "normalizedname": "apihelp-query+revisions+base-param-contentformat",
                "*": "Serialization format used for <var>$1difftotext</var> and expected for output of content."
            },
            {
                "name": "apihelp-query+revisions+base-param-diffto",
                "normalizedname": "apihelp-query+revisions+base-param-diffto",
                "*": "Use <kbd>[[Special:ApiHelp/compare|action=compare]]</kbd> instead. Revision ID to diff each revision to. Use <kbd>prev</kbd>, <kbd>next</kbd> and <kbd>cur</kbd> for the previous, next and current revision respectively."
            },
            {
                "name": "apihelp-query+revisions+base-param-difftotext",
                "normalizedname": "apihelp-query+revisions+base-param-difftotext",
                "*": "Use <kbd>[[Special:ApiHelp/compare|action=compare]]</kbd> instead. Text to diff each revision to. Only diffs a limited number of revisions. Overrides <var>$1diffto</var>. If <var>$1section</var> is set, only that section will be diffed against this text."
            },
            {
                "name": "apihelp-query+revisions+base-param-difftotextpst",
                "normalizedname": "apihelp-query+revisions+base-param-difftotextpst",
                "*": "Use <kbd>[[Special:ApiHelp/compare|action=compare]]</kbd> instead. Perform a pre-save transform on the text before diffing it. Only valid when used with <var>$1difftotext</var>."
            },
            {
                "name": "apihelp-query+revisions+base-param-expandtemplates",
                "normalizedname": "apihelp-query+revisions+base-param-expandtemplates",
                "*": "Use <kbd>[[Special:ApiHelp/expandtemplates|action=expandtemplates]]</kbd> instead. Expand templates in revision content (requires $1prop=content)."
            },
            {
                "name": "apihelp-query+revisions+base-param-generatexml",
                "normalizedname": "apihelp-query+revisions+base-param-generatexml",
                "*": "Use <kbd>[[Special:ApiHelp/expandtemplates|action=expandtemplates]]</kbd> or <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd> instead. Generate XML parse tree for revision content (requires $1prop=content)."
            },
            {
                "name": "apihelp-query+revisions+base-param-limit",
                "normalizedname": "apihelp-query+revisions+base-param-limit",
                "*": "Limit how many revisions will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-param-parse",
                "normalizedname": "apihelp-query+revisions+base-param-parse",
                "*": "Use <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd> instead. Parse revision content (requires $1prop=content). For performance reasons, if this option is used, $1limit is enforced to 1."
            },
            {
                "name": "apihelp-query+revisions+base-param-prop",
                "normalizedname": "apihelp-query+revisions+base-param-prop",
                "*": "Which properties to get for each revision:"
            },
            {
                "name": "apihelp-query+revisions+base-param-section",
                "normalizedname": "apihelp-query+revisions+base-param-section",
                "*": "Only retrieve the content of this section number."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-comment",
                "*": "Comment by the user for the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-content",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-content",
                "*": "Text of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-contentmodel",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-contentmodel",
                "*": "Content model ID of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-flags",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-flags",
                "*": "Revision flags (minor)."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-ids",
                "*": "The ID of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-parsedcomment",
                "*": "Parsed comment by the user for the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-parsetree",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-parsetree",
                "*": "<span class=\"apihelp-deprecated\">Deprecated.</span> Use <kbd>[[Special:ApiHelp/expandtemplates|action=expandtemplates]]</kbd> or <kbd>[[Special:ApiHelp/parse|action=parse]]</kbd> instead. The XML parse tree of revision content (requires content model <code>$1</code>)."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-sha1",
                "*": "SHA-1 (base 16) of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-size",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-size",
                "*": "Length (bytes) of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-tags",
                "*": "Tags for the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-timestamp",
                "*": "The timestamp of the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-user",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-user",
                "*": "User that made the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-userid",
                "*": "User ID of the revision creator."
            },
            {
                "name": "apihelp-query+revisions-example-content",
                "normalizedname": "apihelp-query+revisions-example-content",
                "*": "Get data with content for the last revision of titles <kbd>API</kbd> and <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+revisions-example-first5",
                "normalizedname": "apihelp-query+revisions-example-first5",
                "*": "Get first 5 revisions of the <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+revisions-example-first5-after",
                "normalizedname": "apihelp-query+revisions-example-first5-after",
                "*": "Get first 5 revisions of the <kbd>Main Page</kbd> made after 2006-05-01."
            },
            {
                "name": "apihelp-query+revisions-example-first5-not-localhost",
                "normalizedname": "apihelp-query+revisions-example-first5-not-localhost",
                "*": "Get first 5 revisions of the <kbd>Main Page</kbd> that were not made by anonymous user <kbd>127.0.0.1</kbd>."
            },
            {
                "name": "apihelp-query+revisions-example-first5-user",
                "normalizedname": "apihelp-query+revisions-example-first5-user",
                "*": "Get first 5 revisions of the <kbd>Main Page</kbd> that were made by the user <kbd>MediaWiki default</kbd>."
            },
            {
                "name": "apihelp-query+revisions-example-last5",
                "normalizedname": "apihelp-query+revisions-example-last5",
                "*": "Get last 5 revisions of the <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+revisions-extended-description",
                "normalizedname": "apihelp-query+revisions-extended-description",
                "*": "May be used in several ways:\n# Get data about a set of pages (last revision), by setting titles or pageids.\n# Get revisions for one given page, by using titles or pageids with start, end, or limit.\n# Get data about a set of revisions by setting their IDs with revids."
            },
            {
                "name": "apihelp-query+revisions-param-end",
                "normalizedname": "apihelp-query+revisions-param-end",
                "*": "Enumerate up to this timestamp."
            },
            {
                "name": "apihelp-query+revisions-param-endid",
                "normalizedname": "apihelp-query+revisions-param-endid",
                "*": "Stop enumeration at this revision's timestamp. The revision must exist, but need not belong to this page."
            },
            {
                "name": "apihelp-query+revisions-param-excludeuser",
                "normalizedname": "apihelp-query+revisions-param-excludeuser",
                "*": "Exclude revisions made by user."
            },
            {
                "name": "apihelp-query+revisions-param-start",
                "normalizedname": "apihelp-query+revisions-param-start",
                "*": "From which revision timestamp to start enumeration."
            },
            {
                "name": "apihelp-query+revisions-param-startid",
                "normalizedname": "apihelp-query+revisions-param-startid",
                "*": "Start enumeration from this revision's timestamp. The revision must exist, but need not belong to this page."
            },
            {
                "name": "apihelp-query+revisions-param-tag",
                "normalizedname": "apihelp-query+revisions-param-tag",
                "*": "Only list revisions tagged with this tag."
            },
            {
                "name": "apihelp-query+revisions-param-token",
                "normalizedname": "apihelp-query+revisions-param-token",
                "*": "Which tokens to obtain for each revision."
            },
            {
                "name": "apihelp-query+revisions-param-user",
                "normalizedname": "apihelp-query+revisions-param-user",
                "*": "Only include revisions made by user."
            },
            {
                "name": "apihelp-query+revisions-paraminfo-singlepageonly",
                "normalizedname": "apihelp-query+revisions-paraminfo-singlepageonly",
                "*": "May only be used with a single page (mode #2)."
            },
            {
                "name": "apihelp-query+revisions-summary",
                "normalizedname": "apihelp-query+revisions-summary",
                "*": "Get revision information."
            },
            {
                "name": "apihelp-query+search-example-generator",
                "normalizedname": "apihelp-query+search-example-generator",
                "*": "Get page info about the pages returned for a search for <kbd>meaning</kbd>."
            },
            {
                "name": "apihelp-query+search-example-simple",
                "normalizedname": "apihelp-query+search-example-simple",
                "*": "Search for <kbd>meaning</kbd>."
            },
            {
                "name": "apihelp-query+search-example-text",
                "normalizedname": "apihelp-query+search-example-text",
                "*": "Search texts for <kbd>meaning</kbd>."
            },
            {
                "name": "apihelp-query+search-param-backend",
                "normalizedname": "apihelp-query+search-param-backend",
                "*": "Which search backend to use, if not the default."
            },
            {
                "name": "apihelp-query+search-param-enablerewrites",
                "normalizedname": "apihelp-query+search-param-enablerewrites",
                "*": "Enable internal query rewriting. Some search backends can rewrite the query into another which is thought to provide better results, for instance by correcting spelling errors."
            },
            {
                "name": "apihelp-query+search-param-info",
                "normalizedname": "apihelp-query+search-param-info",
                "*": "Which metadata to return."
            },
            {
                "name": "apihelp-query+search-param-interwiki",
                "normalizedname": "apihelp-query+search-param-interwiki",
                "*": "Include interwiki results in the search, if available."
            },
            {
                "name": "apihelp-query+search-param-limit",
                "normalizedname": "apihelp-query+search-param-limit",
                "*": "How many total pages to return."
            },
            {
                "name": "apihelp-query+search-param-namespace",
                "normalizedname": "apihelp-query+search-param-namespace",
                "*": "Search only within these namespaces."
            },
            {
                "name": "apihelp-query+search-param-prop",
                "normalizedname": "apihelp-query+search-param-prop",
                "*": "Which properties to return:"
            },
            {
                "name": "apihelp-query+search-param-qiprofile",
                "normalizedname": "apihelp-query+search-param-qiprofile",
                "*": "Query independent profile to use (affects ranking algorithm)."
            },
            {
                "name": "apihelp-query+search-param-search",
                "normalizedname": "apihelp-query+search-param-search",
                "*": "Search for page titles or content matching this value. You can use the search string to invoke special search features, depending on what the wiki's search backend implements."
            },
            {
                "name": "apihelp-query+search-param-what",
                "normalizedname": "apihelp-query+search-param-what",
                "*": "Which type of search to perform."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-categorysnippet",
                "normalizedname": "apihelp-query+search-paramvalue-prop-categorysnippet",
                "*": "Adds a parsed snippet of the matching category."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-extensiondata",
                "normalizedname": "apihelp-query+search-paramvalue-prop-extensiondata",
                "*": "Adds extra data generated by extensions."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-hasrelated",
                "normalizedname": "apihelp-query+search-paramvalue-prop-hasrelated",
                "*": "Ignored."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-isfilematch",
                "normalizedname": "apihelp-query+search-paramvalue-prop-isfilematch",
                "*": "Adds a boolean indicating if the search matched file content."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-redirectsnippet",
                "normalizedname": "apihelp-query+search-paramvalue-prop-redirectsnippet",
                "*": "Adds a parsed snippet of the redirect title."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-redirecttitle",
                "normalizedname": "apihelp-query+search-paramvalue-prop-redirecttitle",
                "*": "Adds the title of the matching redirect."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-score",
                "normalizedname": "apihelp-query+search-paramvalue-prop-score",
                "*": "Ignored."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-sectionsnippet",
                "normalizedname": "apihelp-query+search-paramvalue-prop-sectionsnippet",
                "*": "Adds a parsed snippet of the matching section title."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-sectiontitle",
                "normalizedname": "apihelp-query+search-paramvalue-prop-sectiontitle",
                "*": "Adds the title of the matching section."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-size",
                "normalizedname": "apihelp-query+search-paramvalue-prop-size",
                "*": "Adds the size of the page in bytes."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-snippet",
                "normalizedname": "apihelp-query+search-paramvalue-prop-snippet",
                "*": "Adds a parsed snippet of the page."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+search-paramvalue-prop-timestamp",
                "*": "Adds the timestamp of when the page was last edited."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-titlesnippet",
                "normalizedname": "apihelp-query+search-paramvalue-prop-titlesnippet",
                "*": "Adds a parsed snippet of the page title."
            },
            {
                "name": "apihelp-query+search-paramvalue-prop-wordcount",
                "normalizedname": "apihelp-query+search-paramvalue-prop-wordcount",
                "*": "Adds the word count of the page."
            },
            {
                "name": "apihelp-query+search-summary",
                "normalizedname": "apihelp-query+search-summary",
                "*": "Perform a full text search."
            },
            {
                "name": "apihelp-query+siteinfo-example-interwiki",
                "normalizedname": "apihelp-query+siteinfo-example-interwiki",
                "*": "Fetch a list of local interwiki prefixes."
            },
            {
                "name": "apihelp-query+siteinfo-example-replag",
                "normalizedname": "apihelp-query+siteinfo-example-replag",
                "*": "Check the current replication lag."
            },
            {
                "name": "apihelp-query+siteinfo-example-simple",
                "normalizedname": "apihelp-query+siteinfo-example-simple",
                "*": "Fetch site information."
            },
            {
                "name": "apihelp-query+siteinfo-param-filteriw",
                "normalizedname": "apihelp-query+siteinfo-param-filteriw",
                "*": "Return only local or only nonlocal entries of the interwiki map."
            },
            {
                "name": "apihelp-query+siteinfo-param-inlanguagecode",
                "normalizedname": "apihelp-query+siteinfo-param-inlanguagecode",
                "*": "Language code for localised language names (best effort) and skin names."
            },
            {
                "name": "apihelp-query+siteinfo-param-numberingroup",
                "normalizedname": "apihelp-query+siteinfo-param-numberingroup",
                "*": "Lists the number of users in user groups."
            },
            {
                "name": "apihelp-query+siteinfo-param-prop",
                "normalizedname": "apihelp-query+siteinfo-param-prop",
                "*": "Which information to get:"
            },
            {
                "name": "apihelp-query+siteinfo-param-showalldb",
                "normalizedname": "apihelp-query+siteinfo-param-showalldb",
                "*": "List all database servers, not just the one lagging the most."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-dbrepllag",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-dbrepllag",
                "*": "Returns database server with the highest replication lag."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-defaultoptions",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-defaultoptions",
                "*": "Returns the default values for user preferences."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-extensions",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-extensions",
                "*": "Returns extensions installed on the wiki."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-extensiontags",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-extensiontags",
                "*": "Returns a list of parser extension tags."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-fileextensions",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-fileextensions",
                "*": "Returns list of file extensions (file types) allowed to be uploaded."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-functionhooks",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-functionhooks",
                "*": "Returns a list of parser function hooks."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-general",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-general",
                "*": "Overall system information."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-interwikimap",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-interwikimap",
                "*": "Returns interwiki map (optionally filtered, optionally localised by using <var>$1inlanguagecode</var>)."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-languages",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-languages",
                "*": "Returns a list of languages MediaWiki supports (optionally localised by using <var>$1inlanguagecode</var>)."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-languagevariants",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-languagevariants",
                "*": "Returns a list of language codes for which [[mw:Special:MyLanguage/LanguageConverter|LanguageConverter]] is enabled, and the variants supported for each."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-libraries",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-libraries",
                "*": "Returns libraries installed on the wiki."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-magicwords",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-magicwords",
                "*": "List of magic words and their aliases."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-namespacealiases",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-namespacealiases",
                "*": "List of registered namespace aliases."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-namespaces",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-namespaces",
                "*": "List of registered namespaces and their canonical names."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-protocols",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-protocols",
                "*": "Returns a list of protocols that are allowed in external links."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-restrictions",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-restrictions",
                "*": "Returns information on available restriction (protection) types."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-rightsinfo",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-rightsinfo",
                "*": "Returns wiki rights (license) information if available."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-showhooks",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-showhooks",
                "*": "Returns a list of all subscribed hooks (contents of <var>[[mw:Special:MyLanguage/Manual:$wgHooks|$wgHooks]]</var>)."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-skins",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-skins",
                "*": "Returns a list of all enabled skins (optionally localised by using <var>$1inlanguagecode</var>, otherwise in the content language)."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-specialpagealiases",
                "*": "List of special page aliases."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-statistics",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-statistics",
                "*": "Returns site statistics."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-uploaddialog",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-uploaddialog",
                "*": "Returns the upload dialog configuration."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-usergroups",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-usergroups",
                "*": "Returns user groups and the associated permissions."
            },
            {
                "name": "apihelp-query+siteinfo-paramvalue-prop-variables",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-variables",
                "*": "Returns a list of variable IDs."
            },
            {
                "name": "apihelp-query+siteinfo-summary",
                "normalizedname": "apihelp-query+siteinfo-summary",
                "*": "Return general information about the site."
            },
            {
                "name": "apihelp-query+stashimageinfo-example-params",
                "normalizedname": "apihelp-query+stashimageinfo-example-params",
                "*": "Returns thumbnails for two stashed files."
            },
            {
                "name": "apihelp-query+stashimageinfo-example-simple",
                "normalizedname": "apihelp-query+stashimageinfo-example-simple",
                "*": "Returns information for a stashed file."
            },
            {
                "name": "apihelp-query+stashimageinfo-param-filekey",
                "normalizedname": "apihelp-query+stashimageinfo-param-filekey",
                "*": "Key that identifies a previous upload that was stashed temporarily."
            },
            {
                "name": "apihelp-query+stashimageinfo-param-sessionkey",
                "normalizedname": "apihelp-query+stashimageinfo-param-sessionkey",
                "*": "Alias for $1filekey, for backward compatibility."
            },
            {
                "name": "apihelp-query+stashimageinfo-summary",
                "normalizedname": "apihelp-query+stashimageinfo-summary",
                "*": "Returns file information for stashed files."
            },
            {
                "name": "apihelp-query+tags-example-simple",
                "normalizedname": "apihelp-query+tags-example-simple",
                "*": "List available tags."
            },
            {
                "name": "apihelp-query+tags-param-limit",
                "normalizedname": "apihelp-query+tags-param-limit",
                "*": "The maximum number of tags to list."
            },
            {
                "name": "apihelp-query+tags-param-prop",
                "normalizedname": "apihelp-query+tags-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-active",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-active",
                "*": "Whether the tag is still being applied."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-defined",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-defined",
                "*": "Indicate whether the tag is defined."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-description",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-description",
                "*": "Adds description of the tag."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-displayname",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-displayname",
                "*": "Adds system message for the tag."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-hitcount",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-hitcount",
                "*": "Adds the number of revisions and log entries that have this tag."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-name",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-name",
                "*": "Adds name of tag."
            },
            {
                "name": "apihelp-query+tags-paramvalue-prop-source",
                "normalizedname": "apihelp-query+tags-paramvalue-prop-source",
                "*": "Gets the sources of the tag, which may include <samp>extension</samp> for extension-defined tags and <samp>manual</samp> for tags that may be applied manually by users."
            },
            {
                "name": "apihelp-query+tags-summary",
                "normalizedname": "apihelp-query+tags-summary",
                "*": "List change tags."
            },
            {
                "name": "apihelp-query+templates-example-generator",
                "normalizedname": "apihelp-query+templates-example-generator",
                "*": "Get information about the template pages used on <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+templates-example-namespaces",
                "normalizedname": "apihelp-query+templates-example-namespaces",
                "*": "Get pages in the {{ns:user}} and {{ns:template}} namespaces that are transcluded on the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+templates-example-simple",
                "normalizedname": "apihelp-query+templates-example-simple",
                "*": "Get the templates used on the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+templates-param-dir",
                "normalizedname": "apihelp-query+templates-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+templates-param-limit",
                "normalizedname": "apihelp-query+templates-param-limit",
                "*": "How many templates to return."
            },
            {
                "name": "apihelp-query+templates-param-namespace",
                "normalizedname": "apihelp-query+templates-param-namespace",
                "*": "Show templates in these namespaces only."
            },
            {
                "name": "apihelp-query+templates-param-templates",
                "normalizedname": "apihelp-query+templates-param-templates",
                "*": "Only list these templates. Useful for checking whether a certain page uses a certain template."
            },
            {
                "name": "apihelp-query+templates-summary",
                "normalizedname": "apihelp-query+templates-summary",
                "*": "Returns all pages transcluded on the given pages."
            },
            {
                "name": "apihelp-query+tokens-example-simple",
                "normalizedname": "apihelp-query+tokens-example-simple",
                "*": "Retrieve a csrf token (the default)."
            },
            {
                "name": "apihelp-query+tokens-example-types",
                "normalizedname": "apihelp-query+tokens-example-types",
                "*": "Retrieve a watch token and a patrol token."
            },
            {
                "name": "apihelp-query+tokens-param-type",
                "normalizedname": "apihelp-query+tokens-param-type",
                "*": "Types of token to request."
            },
            {
                "name": "apihelp-query+tokens-summary",
                "normalizedname": "apihelp-query+tokens-summary",
                "*": "Gets tokens for data-modifying actions."
            },
            {
                "name": "apihelp-query+transcludedin-example-generator",
                "normalizedname": "apihelp-query+transcludedin-example-generator",
                "*": "Get information about pages transcluding <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+transcludedin-example-simple",
                "normalizedname": "apihelp-query+transcludedin-example-simple",
                "*": "Get a list of pages transcluding <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query+transcludedin-param-limit",
                "normalizedname": "apihelp-query+transcludedin-param-limit",
                "*": "How many to return."
            },
            {
                "name": "apihelp-query+transcludedin-param-namespace",
                "normalizedname": "apihelp-query+transcludedin-param-namespace",
                "*": "Only include pages in these namespaces."
            },
            {
                "name": "apihelp-query+transcludedin-param-prop",
                "normalizedname": "apihelp-query+transcludedin-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-query+transcludedin-param-show",
                "normalizedname": "apihelp-query+transcludedin-param-show",
                "*": "Show only items that meet these criteria:\n;redirect:Only show redirects.\n;!redirect:Only show non-redirects."
            },
            {
                "name": "apihelp-query+transcludedin-paramvalue-prop-pageid",
                "normalizedname": "apihelp-query+transcludedin-paramvalue-prop-pageid",
                "*": "Page ID of each page."
            },
            {
                "name": "apihelp-query+transcludedin-paramvalue-prop-redirect",
                "normalizedname": "apihelp-query+transcludedin-paramvalue-prop-redirect",
                "*": "Flag if the page is a redirect."
            },
            {
                "name": "apihelp-query+transcludedin-paramvalue-prop-title",
                "normalizedname": "apihelp-query+transcludedin-paramvalue-prop-title",
                "*": "Title of each page."
            },
            {
                "name": "apihelp-query+transcludedin-summary",
                "normalizedname": "apihelp-query+transcludedin-summary",
                "*": "Find all pages that transclude the given pages."
            },
            {
                "name": "apihelp-query+usercontribs-example-ipprefix",
                "normalizedname": "apihelp-query+usercontribs-example-ipprefix",
                "*": "Show contributions from all IP addresses with prefix <kbd>192.0.2.</kbd>."
            },
            {
                "name": "apihelp-query+usercontribs-example-user",
                "normalizedname": "apihelp-query+usercontribs-example-user",
                "*": "Show contributions of user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-query+usercontribs-param-end",
                "normalizedname": "apihelp-query+usercontribs-param-end",
                "*": "The end timestamp to return to."
            },
            {
                "name": "apihelp-query+usercontribs-param-limit",
                "normalizedname": "apihelp-query+usercontribs-param-limit",
                "*": "The maximum number of contributions to return."
            },
            {
                "name": "apihelp-query+usercontribs-param-namespace",
                "normalizedname": "apihelp-query+usercontribs-param-namespace",
                "*": "Only list contributions in these namespaces."
            },
            {
                "name": "apihelp-query+usercontribs-param-prop",
                "normalizedname": "apihelp-query+usercontribs-param-prop",
                "*": "Include additional pieces of information:"
            },
            {
                "name": "apihelp-query+usercontribs-param-show",
                "normalizedname": "apihelp-query+usercontribs-param-show",
                "*": "Show only items that meet these criteria, e.g. non minor edits only: <kbd>$2show=!minor</kbd>.\n\nIf <kbd>$2show=patrolled</kbd> or <kbd>$2show=!patrolled</kbd> is set, revisions older than <var>[[mw:Special:MyLanguage/Manual:$wgRCMaxAge|$wgRCMaxAge]]</var> ($1 {{PLURAL:$1|second|seconds}}) won't be shown."
            },
            {
                "name": "apihelp-query+usercontribs-param-start",
                "normalizedname": "apihelp-query+usercontribs-param-start",
                "*": "The start timestamp to return from."
            },
            {
                "name": "apihelp-query+usercontribs-param-tag",
                "normalizedname": "apihelp-query+usercontribs-param-tag",
                "*": "Only list revisions tagged with this tag."
            },
            {
                "name": "apihelp-query+usercontribs-param-toponly",
                "normalizedname": "apihelp-query+usercontribs-param-toponly",
                "*": "Only list changes which are the latest revision."
            },
            {
                "name": "apihelp-query+usercontribs-param-user",
                "normalizedname": "apihelp-query+usercontribs-param-user",
                "*": "The users to retrieve contributions for. Cannot be used with <var>$1userids</var> or <var>$1userprefix</var>."
            },
            {
                "name": "apihelp-query+usercontribs-param-userids",
                "normalizedname": "apihelp-query+usercontribs-param-userids",
                "*": "The user IDs to retrieve contributions for. Cannot be used with <var>$1user</var> or <var>$1userprefix</var>."
            },
            {
                "name": "apihelp-query+usercontribs-param-userprefix",
                "normalizedname": "apihelp-query+usercontribs-param-userprefix",
                "*": "Retrieve contributions for all users whose names begin with this value. Cannot be used with <var>$1user</var> or <var>$1userids</var>."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-autopatrolled",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-autopatrolled",
                "*": "Tags autopatrolled edits."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-comment",
                "*": "Adds the comment of the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-flags",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-flags",
                "*": "Adds flags of the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-ids",
                "*": "Adds the page ID and revision ID."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-parsedcomment",
                "*": "Adds the parsed comment of the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-patrolled",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-patrolled",
                "*": "Tags patrolled edits."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-size",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-size",
                "*": "Adds the new size of the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-sizediff",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-sizediff",
                "*": "Adds the size delta of the edit against its parent."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-tags",
                "*": "Lists tags for the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-timestamp",
                "*": "Adds the timestamp of the edit."
            },
            {
                "name": "apihelp-query+usercontribs-paramvalue-prop-title",
                "normalizedname": "apihelp-query+usercontribs-paramvalue-prop-title",
                "*": "Adds the title and namespace ID of the page."
            },
            {
                "name": "apihelp-query+usercontribs-summary",
                "normalizedname": "apihelp-query+usercontribs-summary",
                "*": "Get all edits by a user."
            },
            {
                "name": "apihelp-query+userinfo-example-data",
                "normalizedname": "apihelp-query+userinfo-example-data",
                "*": "Get additional information about the current user."
            },
            {
                "name": "apihelp-query+userinfo-example-simple",
                "normalizedname": "apihelp-query+userinfo-example-simple",
                "*": "Get information about the current user."
            },
            {
                "name": "apihelp-query+userinfo-param-attachedwiki",
                "normalizedname": "apihelp-query+userinfo-param-attachedwiki",
                "*": "With <kbd>$1prop=centralids</kbd>, indicate whether the user is attached with the wiki identified by this ID."
            },
            {
                "name": "apihelp-query+userinfo-param-prop",
                "normalizedname": "apihelp-query+userinfo-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-acceptlang",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-acceptlang",
                "*": "Echoes the <code>Accept-Language</code> header sent by the client in a structured format."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-blockinfo",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-blockinfo",
                "*": "Tags if the current user is blocked, by whom, and for what reason."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-centralids",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-centralids",
                "*": "Adds the central IDs and attachment status for the user."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-changeablegroups",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-changeablegroups",
                "*": "Lists the groups the current user can add to and remove from."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-editcount",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-editcount",
                "*": "Adds the current user's edit count."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-email",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-email",
                "*": "Adds the user's email address and email authentication date."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-groupmemberships",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-groupmemberships",
                "*": "Lists groups that the current user has been explicitly assigned to, including the expiry date of each group membership."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-groups",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-groups",
                "*": "Lists all the groups the current user belongs to."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-hasmsg",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-hasmsg",
                "*": "Adds a tag <samp>messages</samp> if the current user has pending messages."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-implicitgroups",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-implicitgroups",
                "*": "Lists all the groups the current user is automatically a member of."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-options",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-options",
                "*": "Lists all preferences the current user has set."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-preferencestoken",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-preferencestoken",
                "*": "Get a token to change current user's preferences."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-ratelimits",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-ratelimits",
                "*": "Lists all rate limits applying to the current user."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-realname",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-realname",
                "*": "Adds the user's real name."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-registrationdate",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-registrationdate",
                "*": "Adds the user's registration date."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-rights",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-rights",
                "*": "Lists all the rights the current user has."
            },
            {
                "name": "apihelp-query+userinfo-paramvalue-prop-unreadcount",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-unreadcount",
                "*": "Adds the count of unread pages on the user's watchlist (maximum $1; returns <samp>$2</samp> if more)."
            },
            {
                "name": "apihelp-query+userinfo-summary",
                "normalizedname": "apihelp-query+userinfo-summary",
                "*": "Get information about the current user."
            },
            {
                "name": "apihelp-query+users-example-simple",
                "normalizedname": "apihelp-query+users-example-simple",
                "*": "Return information for user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-query+users-param-attachedwiki",
                "normalizedname": "apihelp-query+users-param-attachedwiki",
                "*": "With <kbd>$1prop=centralids</kbd>, indicate whether the user is attached with the wiki identified by this ID."
            },
            {
                "name": "apihelp-query+users-param-prop",
                "normalizedname": "apihelp-query+users-param-prop",
                "*": "Which pieces of information to include:"
            },
            {
                "name": "apihelp-query+users-param-token",
                "normalizedname": "apihelp-query+users-param-token",
                "*": "Use <kbd>[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]</kbd> instead."
            },
            {
                "name": "apihelp-query+users-param-userids",
                "normalizedname": "apihelp-query+users-param-userids",
                "*": "A list of user IDs to obtain information for."
            },
            {
                "name": "apihelp-query+users-param-users",
                "normalizedname": "apihelp-query+users-param-users",
                "*": "A list of users to obtain information for."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-blockinfo",
                "normalizedname": "apihelp-query+users-paramvalue-prop-blockinfo",
                "*": "Tags if the user is blocked, by whom, and for what reason."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-cancreate",
                "normalizedname": "apihelp-query+users-paramvalue-prop-cancreate",
                "*": "Indicates whether an account for valid but unregistered usernames can be created."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-centralids",
                "normalizedname": "apihelp-query+users-paramvalue-prop-centralids",
                "*": "Adds the central IDs and attachment status for the user."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-editcount",
                "normalizedname": "apihelp-query+users-paramvalue-prop-editcount",
                "*": "Adds the user's edit count."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-emailable",
                "normalizedname": "apihelp-query+users-paramvalue-prop-emailable",
                "*": "Tags if the user can and wants to receive email through [[Special:Emailuser]]."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-gender",
                "normalizedname": "apihelp-query+users-paramvalue-prop-gender",
                "*": "Tags the gender of the user. Returns \"male\", \"female\", or \"unknown\"."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-groupmemberships",
                "normalizedname": "apihelp-query+users-paramvalue-prop-groupmemberships",
                "*": "Lists groups that each user has been explicitly assigned to, including the expiry date of each group membership."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-groups",
                "normalizedname": "apihelp-query+users-paramvalue-prop-groups",
                "*": "Lists all the groups each user belongs to."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-implicitgroups",
                "normalizedname": "apihelp-query+users-paramvalue-prop-implicitgroups",
                "*": "Lists all the groups a user is automatically a member of."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-registration",
                "normalizedname": "apihelp-query+users-paramvalue-prop-registration",
                "*": "Adds the user's registration timestamp."
            },
            {
                "name": "apihelp-query+users-paramvalue-prop-rights",
                "normalizedname": "apihelp-query+users-paramvalue-prop-rights",
                "*": "Lists all the rights each user has."
            },
            {
                "name": "apihelp-query+users-summary",
                "normalizedname": "apihelp-query+users-summary",
                "*": "Get information about a list of users."
            },
            {
                "name": "apihelp-query+watchlist-example-allrev",
                "normalizedname": "apihelp-query+watchlist-example-allrev",
                "*": "Fetch information about all recent changes to pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-example-generator",
                "normalizedname": "apihelp-query+watchlist-example-generator",
                "*": "Fetch page info for recently changed pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-example-generator-rev",
                "normalizedname": "apihelp-query+watchlist-example-generator-rev",
                "*": "Fetch revision info for recent changes to pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-example-props",
                "normalizedname": "apihelp-query+watchlist-example-props",
                "*": "Fetch additional information about the top revision for recently changed pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-example-simple",
                "normalizedname": "apihelp-query+watchlist-example-simple",
                "*": "List the top revision for recently changed pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-example-wlowner",
                "normalizedname": "apihelp-query+watchlist-example-wlowner",
                "*": "List the top revision for recently changed pages on the watchlist of user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-query+watchlist-param-allrev",
                "normalizedname": "apihelp-query+watchlist-param-allrev",
                "*": "Include multiple revisions of the same page within given timeframe."
            },
            {
                "name": "apihelp-query+watchlist-param-end",
                "normalizedname": "apihelp-query+watchlist-param-end",
                "*": "The timestamp to end enumerating."
            },
            {
                "name": "apihelp-query+watchlist-param-excludeuser",
                "normalizedname": "apihelp-query+watchlist-param-excludeuser",
                "*": "Don't list changes by this user."
            },
            {
                "name": "apihelp-query+watchlist-param-limit",
                "normalizedname": "apihelp-query+watchlist-param-limit",
                "*": "How many total results to return per request."
            },
            {
                "name": "apihelp-query+watchlist-param-namespace",
                "normalizedname": "apihelp-query+watchlist-param-namespace",
                "*": "Filter changes to only the given namespaces."
            },
            {
                "name": "apihelp-query+watchlist-param-owner",
                "normalizedname": "apihelp-query+watchlist-param-owner",
                "*": "Used along with $1token to access a different user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-param-prop",
                "normalizedname": "apihelp-query+watchlist-param-prop",
                "*": "Which additional properties to get:"
            },
            {
                "name": "apihelp-query+watchlist-param-show",
                "normalizedname": "apihelp-query+watchlist-param-show",
                "*": "Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set $1show=minor|!anon."
            },
            {
                "name": "apihelp-query+watchlist-param-start",
                "normalizedname": "apihelp-query+watchlist-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+watchlist-param-token",
                "normalizedname": "apihelp-query+watchlist-param-token",
                "*": "A security token (available in the user's [[Special:Preferences#mw-prefsection-watchlist|preferences]]) to allow access to another user's watchlist."
            },
            {
                "name": "apihelp-query+watchlist-param-type",
                "normalizedname": "apihelp-query+watchlist-param-type",
                "*": "Which types of changes to show:"
            },
            {
                "name": "apihelp-query+watchlist-param-user",
                "normalizedname": "apihelp-query+watchlist-param-user",
                "*": "Only list changes by this user."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-autopatrol",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-autopatrol",
                "*": "Tags edits that are autopatrolled."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-comment",
                "*": "Adds comment of the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-flags",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-flags",
                "*": "Adds flags for the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-ids",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-ids",
                "*": "Adds revision IDs and page IDs."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-loginfo",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-loginfo",
                "*": "Adds log information where appropriate."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-notificationtimestamp",
                "*": "Adds timestamp of when the user was last notified about the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-parsedcomment",
                "*": "Adds parsed comment of the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-patrol",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-patrol",
                "*": "Tags edits that are patrolled."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-sizes",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-sizes",
                "*": "Adds the old and new lengths of the page."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-tags",
                "*": "Lists tags for the entry."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-timestamp",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-timestamp",
                "*": "Adds timestamp of the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-title",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-title",
                "*": "Adds title of the page."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-user",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-user",
                "*": "Adds the user who made the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-userid",
                "*": "Adds user ID of whoever made the edit."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-type-categorize",
                "normalizedname": "apihelp-query+watchlist-paramvalue-type-categorize",
                "*": "Category membership changes."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-type-edit",
                "normalizedname": "apihelp-query+watchlist-paramvalue-type-edit",
                "*": "Regular page edits."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-type-external",
                "normalizedname": "apihelp-query+watchlist-paramvalue-type-external",
                "*": "External changes."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-type-log",
                "normalizedname": "apihelp-query+watchlist-paramvalue-type-log",
                "*": "Log entries."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-type-new",
                "normalizedname": "apihelp-query+watchlist-paramvalue-type-new",
                "*": "Page creations."
            },
            {
                "name": "apihelp-query+watchlist-summary",
                "normalizedname": "apihelp-query+watchlist-summary",
                "*": "Get recent changes to pages in the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlistraw-example-generator",
                "normalizedname": "apihelp-query+watchlistraw-example-generator",
                "*": "Fetch page info for pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlistraw-example-simple",
                "normalizedname": "apihelp-query+watchlistraw-example-simple",
                "*": "List pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query+watchlistraw-param-dir",
                "normalizedname": "apihelp-query+watchlistraw-param-dir",
                "*": "The direction in which to list."
            },
            {
                "name": "apihelp-query+watchlistraw-param-fromtitle",
                "normalizedname": "apihelp-query+watchlistraw-param-fromtitle",
                "*": "Title (with namespace prefix) to begin enumerating from."
            },
            {
                "name": "apihelp-query+watchlistraw-param-limit",
                "normalizedname": "apihelp-query+watchlistraw-param-limit",
                "*": "How many total results to return per request."
            },
            {
                "name": "apihelp-query+watchlistraw-param-namespace",
                "normalizedname": "apihelp-query+watchlistraw-param-namespace",
                "*": "Only list pages in the given namespaces."
            },
            {
                "name": "apihelp-query+watchlistraw-param-owner",
                "normalizedname": "apihelp-query+watchlistraw-param-owner",
                "*": "Used along with $1token to access a different user's watchlist."
            },
            {
                "name": "apihelp-query+watchlistraw-param-prop",
                "normalizedname": "apihelp-query+watchlistraw-param-prop",
                "*": "Which additional properties to get:"
            },
            {
                "name": "apihelp-query+watchlistraw-param-show",
                "normalizedname": "apihelp-query+watchlistraw-param-show",
                "*": "Only list items that meet these criteria."
            },
            {
                "name": "apihelp-query+watchlistraw-param-token",
                "normalizedname": "apihelp-query+watchlistraw-param-token",
                "*": "A security token (available in the user's [[Special:Preferences#mw-prefsection-watchlist|preferences]]) to allow access to another user's watchlist."
            },
            {
                "name": "apihelp-query+watchlistraw-param-totitle",
                "normalizedname": "apihelp-query+watchlistraw-param-totitle",
                "*": "Title (with namespace prefix) to stop enumerating at."
            },
            {
                "name": "apihelp-query+watchlistraw-paramvalue-prop-changed",
                "normalizedname": "apihelp-query+watchlistraw-paramvalue-prop-changed",
                "*": "Adds timestamp of when the user was last notified about the edit."
            },
            {
                "name": "apihelp-query+watchlistraw-summary",
                "normalizedname": "apihelp-query+watchlistraw-summary",
                "*": "Get all pages on the current user's watchlist."
            },
            {
                "name": "apihelp-query-example-allpages",
                "normalizedname": "apihelp-query-example-allpages",
                "*": "Fetch revisions of pages beginning with <kbd>API/</kbd>."
            },
            {
                "name": "apihelp-query-example-revisions",
                "normalizedname": "apihelp-query-example-revisions",
                "*": "Fetch [[Special:ApiHelp/query+siteinfo|site info]] and [[Special:ApiHelp/query+revisions|revisions]] of <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-query-extended-description",
                "normalizedname": "apihelp-query-extended-description",
                "*": "All data modifications will first have to use query to acquire a token to prevent abuse from malicious sites."
            },
            {
                "name": "apihelp-query-param-export",
                "normalizedname": "apihelp-query-param-export",
                "*": "Export the current revisions of all given or generated pages."
            },
            {
                "name": "apihelp-query-param-exportnowrap",
                "normalizedname": "apihelp-query-param-exportnowrap",
                "*": "Return the export XML without wrapping it in an XML result (same format as [[Special:Export]]). Can only be used with $1export."
            },
            {
                "name": "apihelp-query-param-indexpageids",
                "normalizedname": "apihelp-query-param-indexpageids",
                "*": "Include an additional pageids section listing all returned page IDs."
            },
            {
                "name": "apihelp-query-param-iwurl",
                "normalizedname": "apihelp-query-param-iwurl",
                "*": "Whether to get the full URL if the title is an interwiki link."
            },
            {
                "name": "apihelp-query-param-list",
                "normalizedname": "apihelp-query-param-list",
                "*": "Which lists to get."
            },
            {
                "name": "apihelp-query-param-meta",
                "normalizedname": "apihelp-query-param-meta",
                "*": "Which metadata to get."
            },
            {
                "name": "apihelp-query-param-prop",
                "normalizedname": "apihelp-query-param-prop",
                "*": "Which properties to get for the queried pages."
            },
            {
                "name": "apihelp-query-param-rawcontinue",
                "normalizedname": "apihelp-query-param-rawcontinue",
                "*": "Return raw <samp>query-continue</samp> data for continuation."
            },
            {
                "name": "apihelp-query-summary",
                "normalizedname": "apihelp-query-summary",
                "*": "Fetch data from and about MediaWiki."
            },
            {
                "name": "apihelp-rawfm-summary",
                "normalizedname": "apihelp-rawfm-summary",
                "*": "Output data, including debugging elements, in JSON format (pretty-print in HTML)."
            },
            {
                "name": "apihelp-removeauthenticationdata-example-simple",
                "normalizedname": "apihelp-removeauthenticationdata-example-simple",
                "*": "Attempt to remove the current user's data for <kbd>FooAuthenticationRequest</kbd>."
            },
            {
                "name": "apihelp-removeauthenticationdata-summary",
                "normalizedname": "apihelp-removeauthenticationdata-summary",
                "*": "Remove authentication data for the current user."
            },
            {
                "name": "apihelp-resetpassword-example-email",
                "normalizedname": "apihelp-resetpassword-example-email",
                "*": "Send a password reset email for all users with email address <kbd>user@example.com</kbd>."
            },
            {
                "name": "apihelp-resetpassword-example-user",
                "normalizedname": "apihelp-resetpassword-example-user",
                "*": "Send a password reset email to user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-resetpassword-extended-description-noroutes",
                "normalizedname": "apihelp-resetpassword-extended-description-noroutes",
                "*": "No password reset routes are available.\n\nEnable routes in <var>[[mw:Special:MyLanguage/Manual:$wgPasswordResetRoutes|$wgPasswordResetRoutes]]</var> to use this module."
            },
            {
                "name": "apihelp-resetpassword-param-email",
                "normalizedname": "apihelp-resetpassword-param-email",
                "*": "Email address of the user being reset."
            },
            {
                "name": "apihelp-resetpassword-param-user",
                "normalizedname": "apihelp-resetpassword-param-user",
                "*": "User being reset."
            },
            {
                "name": "apihelp-resetpassword-summary",
                "normalizedname": "apihelp-resetpassword-summary",
                "*": "Send a password reset email to a user."
            },
            {
                "name": "apihelp-revisiondelete-example-log",
                "normalizedname": "apihelp-revisiondelete-example-log",
                "*": "Hide all data on log entry <kbd>67890</kbd> with the reason <kbd>BLP violation</kbd>."
            },
            {
                "name": "apihelp-revisiondelete-example-revision",
                "normalizedname": "apihelp-revisiondelete-example-revision",
                "*": "Hide content for revision <kbd>12345</kbd> on the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-revisiondelete-param-hide",
                "normalizedname": "apihelp-revisiondelete-param-hide",
                "*": "What to hide for each revision."
            },
            {
                "name": "apihelp-revisiondelete-param-ids",
                "normalizedname": "apihelp-revisiondelete-param-ids",
                "*": "Identifiers for the revisions to be deleted."
            },
            {
                "name": "apihelp-revisiondelete-param-reason",
                "normalizedname": "apihelp-revisiondelete-param-reason",
                "*": "Reason for the deletion or undeletion."
            },
            {
                "name": "apihelp-revisiondelete-param-show",
                "normalizedname": "apihelp-revisiondelete-param-show",
                "*": "What to unhide for each revision."
            },
            {
                "name": "apihelp-revisiondelete-param-suppress",
                "normalizedname": "apihelp-revisiondelete-param-suppress",
                "*": "Whether to suppress data from administrators as well as others."
            },
            {
                "name": "apihelp-revisiondelete-param-tags",
                "normalizedname": "apihelp-revisiondelete-param-tags",
                "*": "Tags to apply to the entry in the deletion log."
            },
            {
                "name": "apihelp-revisiondelete-param-target",
                "normalizedname": "apihelp-revisiondelete-param-target",
                "*": "Page title for the revision deletion, if required for the type."
            },
            {
                "name": "apihelp-revisiondelete-param-type",
                "normalizedname": "apihelp-revisiondelete-param-type",
                "*": "Type of revision deletion being performed."
            },
            {
                "name": "apihelp-revisiondelete-summary",
                "normalizedname": "apihelp-revisiondelete-summary",
                "*": "Delete and undelete revisions."
            },
            {
                "name": "apihelp-rollback-example-simple",
                "normalizedname": "apihelp-rollback-example-simple",
                "*": "Roll back the last edits to page <kbd>Main Page</kbd> by user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-rollback-example-summary",
                "normalizedname": "apihelp-rollback-example-summary",
                "*": "Roll back the last edits to page <kbd>Main Page</kbd> by IP user <kbd>192.0.2.5</kbd> with summary <kbd>Reverting vandalism</kbd>, and mark those edits and the revert as bot edits."
            },
            {
                "name": "apihelp-rollback-extended-description",
                "normalizedname": "apihelp-rollback-extended-description",
                "*": "If the last user who edited the page made multiple edits in a row, they will all be rolled back."
            },
            {
                "name": "apihelp-rollback-param-markbot",
                "normalizedname": "apihelp-rollback-param-markbot",
                "*": "Mark the reverted edits and the revert as bot edits."
            },
            {
                "name": "apihelp-rollback-param-pageid",
                "normalizedname": "apihelp-rollback-param-pageid",
                "*": "Page ID of the page to roll back. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-rollback-param-summary",
                "normalizedname": "apihelp-rollback-param-summary",
                "*": "Custom edit summary. If empty, default summary will be used."
            },
            {
                "name": "apihelp-rollback-param-tags",
                "normalizedname": "apihelp-rollback-param-tags",
                "*": "Tags to apply to the rollback."
            },
            {
                "name": "apihelp-rollback-param-title",
                "normalizedname": "apihelp-rollback-param-title",
                "*": "Title of the page to roll back. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-rollback-param-user",
                "normalizedname": "apihelp-rollback-param-user",
                "*": "Name of the user whose edits are to be rolled back."
            },
            {
                "name": "apihelp-rollback-param-watchlist",
                "normalizedname": "apihelp-rollback-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-rollback-summary",
                "normalizedname": "apihelp-rollback-summary",
                "*": "Undo the last edit to the page."
            },
            {
                "name": "apihelp-rsd-example-simple",
                "normalizedname": "apihelp-rsd-example-simple",
                "*": "Export the RSD schema."
            },
            {
                "name": "apihelp-rsd-summary",
                "normalizedname": "apihelp-rsd-summary",
                "*": "Export an RSD (Really Simple Discovery) schema."
            },
            {
                "name": "apihelp-setnotificationtimestamp-example-all",
                "normalizedname": "apihelp-setnotificationtimestamp-example-all",
                "*": "Reset the notification status for the entire watchlist."
            },
            {
                "name": "apihelp-setnotificationtimestamp-example-allpages",
                "normalizedname": "apihelp-setnotificationtimestamp-example-allpages",
                "*": "Reset the notification status for pages in the <kbd>{{ns:user}}</kbd> namespace."
            },
            {
                "name": "apihelp-setnotificationtimestamp-example-page",
                "normalizedname": "apihelp-setnotificationtimestamp-example-page",
                "*": "Reset the notification status for <kbd>Main page</kbd>."
            },
            {
                "name": "apihelp-setnotificationtimestamp-example-pagetimestamp",
                "normalizedname": "apihelp-setnotificationtimestamp-example-pagetimestamp",
                "*": "Set the notification timestamp for <kbd>Main page</kbd> so all edits since 1 January 2012 are unviewed."
            },
            {
                "name": "apihelp-setnotificationtimestamp-extended-description",
                "normalizedname": "apihelp-setnotificationtimestamp-extended-description",
                "*": "This affects the highlighting of changed pages in the watchlist and history, and the sending of email when the \"{{int:tog-enotifwatchlistpages}}\" preference is enabled."
            },
            {
                "name": "apihelp-setnotificationtimestamp-param-entirewatchlist",
                "normalizedname": "apihelp-setnotificationtimestamp-param-entirewatchlist",
                "*": "Work on all watched pages."
            },
            {
                "name": "apihelp-setnotificationtimestamp-param-newerthanrevid",
                "normalizedname": "apihelp-setnotificationtimestamp-param-newerthanrevid",
                "*": "Revision to set the notification timestamp newer than (one page only)."
            },
            {
                "name": "apihelp-setnotificationtimestamp-param-timestamp",
                "normalizedname": "apihelp-setnotificationtimestamp-param-timestamp",
                "*": "Timestamp to which to set the notification timestamp."
            },
            {
                "name": "apihelp-setnotificationtimestamp-param-torevid",
                "normalizedname": "apihelp-setnotificationtimestamp-param-torevid",
                "*": "Revision to set the notification timestamp to (one page only)."
            },
            {
                "name": "apihelp-setnotificationtimestamp-summary",
                "normalizedname": "apihelp-setnotificationtimestamp-summary",
                "*": "Update the notification timestamp for watched pages."
            },
            {
                "name": "apihelp-setpagelanguage-example-default",
                "normalizedname": "apihelp-setpagelanguage-example-default",
                "*": "Change the language of the page with ID 123 to the wiki's default content language."
            },
            {
                "name": "apihelp-setpagelanguage-example-language",
                "normalizedname": "apihelp-setpagelanguage-example-language",
                "*": "Change the language of <kbd>Main Page</kbd> to Basque."
            },
            {
                "name": "apihelp-setpagelanguage-extended-description-disabled",
                "normalizedname": "apihelp-setpagelanguage-extended-description-disabled",
                "*": "Changing the language of a page is not allowed on this wiki.\n\nEnable <var>[[mw:Special:MyLanguage/Manual:$wgPageLanguageUseDB|$wgPageLanguageUseDB]]</var> to use this action."
            },
            {
                "name": "apihelp-setpagelanguage-param-lang",
                "normalizedname": "apihelp-setpagelanguage-param-lang",
                "*": "Language code of the language to change the page to. Use <kbd>default</kbd> to reset the page to the wiki's default content language."
            },
            {
                "name": "apihelp-setpagelanguage-param-pageid",
                "normalizedname": "apihelp-setpagelanguage-param-pageid",
                "*": "Page ID of the page whose language you wish to change. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-setpagelanguage-param-reason",
                "normalizedname": "apihelp-setpagelanguage-param-reason",
                "*": "Reason for the change."
            },
            {
                "name": "apihelp-setpagelanguage-param-tags",
                "normalizedname": "apihelp-setpagelanguage-param-tags",
                "*": "Change tags to apply to the log entry resulting from this action."
            },
            {
                "name": "apihelp-setpagelanguage-param-title",
                "normalizedname": "apihelp-setpagelanguage-param-title",
                "*": "Title of the page whose language you wish to change. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-setpagelanguage-summary",
                "normalizedname": "apihelp-setpagelanguage-summary",
                "*": "Change the language of a page."
            },
            {
                "name": "apihelp-stashedit-extended-description",
                "normalizedname": "apihelp-stashedit-extended-description",
                "*": "This is intended to be used via AJAX from the edit form to improve the performance of the page save."
            },
            {
                "name": "apihelp-stashedit-param-baserevid",
                "normalizedname": "apihelp-stashedit-param-baserevid",
                "*": "Revision ID of the base revision."
            },
            {
                "name": "apihelp-stashedit-param-contentformat",
                "normalizedname": "apihelp-stashedit-param-contentformat",
                "*": "Content serialization format used for the input text."
            },
            {
                "name": "apihelp-stashedit-param-contentmodel",
                "normalizedname": "apihelp-stashedit-param-contentmodel",
                "*": "Content model of the new content."
            },
            {
                "name": "apihelp-stashedit-param-section",
                "normalizedname": "apihelp-stashedit-param-section",
                "*": "Section number. <kbd>0</kbd> for the top section, <kbd>new</kbd> for a new section."
            },
            {
                "name": "apihelp-stashedit-param-sectiontitle",
                "normalizedname": "apihelp-stashedit-param-sectiontitle",
                "*": "The title for a new section."
            },
            {
                "name": "apihelp-stashedit-param-stashedtexthash",
                "normalizedname": "apihelp-stashedit-param-stashedtexthash",
                "*": "Page content hash from a prior stash to use instead."
            },
            {
                "name": "apihelp-stashedit-param-summary",
                "normalizedname": "apihelp-stashedit-param-summary",
                "*": "Change summary."
            },
            {
                "name": "apihelp-stashedit-param-text",
                "normalizedname": "apihelp-stashedit-param-text",
                "*": "Page content."
            },
            {
                "name": "apihelp-stashedit-param-title",
                "normalizedname": "apihelp-stashedit-param-title",
                "*": "Title of the page being edited."
            },
            {
                "name": "apihelp-stashedit-summary",
                "normalizedname": "apihelp-stashedit-summary",
                "*": "Prepare an edit in shared cache."
            },
            {
                "name": "apihelp-summary",
                "normalizedname": "apihelp-summary",
                "*": ""
            },
            {
                "name": "apihelp-tag-example-log",
                "normalizedname": "apihelp-tag-example-log",
                "*": "Remove the <kbd>spam</kbd> tag from log entry ID 123 with the reason <kbd>Wrongly applied</kbd>"
            },
            {
                "name": "apihelp-tag-example-rev",
                "normalizedname": "apihelp-tag-example-rev",
                "*": "Add the <kbd>vandalism</kbd> tag to revision ID 123 without specifying a reason"
            },
            {
                "name": "apihelp-tag-param-add",
                "normalizedname": "apihelp-tag-param-add",
                "*": "Tags to add. Only manually defined tags can be added."
            },
            {
                "name": "apihelp-tag-param-logid",
                "normalizedname": "apihelp-tag-param-logid",
                "*": "One or more log entry IDs from which to add or remove the tag."
            },
            {
                "name": "apihelp-tag-param-rcid",
                "normalizedname": "apihelp-tag-param-rcid",
                "*": "One or more recent changes IDs from which to add or remove the tag."
            },
            {
                "name": "apihelp-tag-param-reason",
                "normalizedname": "apihelp-tag-param-reason",
                "*": "Reason for the change."
            },
            {
                "name": "apihelp-tag-param-remove",
                "normalizedname": "apihelp-tag-param-remove",
                "*": "Tags to remove. Only tags that are either manually defined or completely undefined can be removed."
            },
            {
                "name": "apihelp-tag-param-revid",
                "normalizedname": "apihelp-tag-param-revid",
                "*": "One or more revision IDs from which to add or remove the tag."
            },
            {
                "name": "apihelp-tag-param-tags",
                "normalizedname": "apihelp-tag-param-tags",
                "*": "Tags to apply to the log entry that will be created as a result of this action."
            },
            {
                "name": "apihelp-tag-summary",
                "normalizedname": "apihelp-tag-summary",
                "*": "Add or remove change tags from individual revisions or log entries."
            },
            {
                "name": "apihelp-tokens-example-edit",
                "normalizedname": "apihelp-tokens-example-edit",
                "*": "Retrieve an edit token (the default)."
            },
            {
                "name": "apihelp-tokens-example-emailmove",
                "normalizedname": "apihelp-tokens-example-emailmove",
                "*": "Retrieve an email token and a move token."
            },
            {
                "name": "apihelp-tokens-extended-description",
                "normalizedname": "apihelp-tokens-extended-description",
                "*": "This module is deprecated in favor of [[Special:ApiHelp/query+tokens|action=query&meta=tokens]]."
            },
            {
                "name": "apihelp-tokens-param-type",
                "normalizedname": "apihelp-tokens-param-type",
                "*": "Types of token to request."
            },
            {
                "name": "apihelp-tokens-summary",
                "normalizedname": "apihelp-tokens-summary",
                "*": "Get tokens for data-modifying actions."
            },
            {
                "name": "apihelp-unblock-example-id",
                "normalizedname": "apihelp-unblock-example-id",
                "*": "Unblock block ID #<kbd>105</kbd>."
            },
            {
                "name": "apihelp-unblock-example-user",
                "normalizedname": "apihelp-unblock-example-user",
                "*": "Unblock user <kbd>Bob</kbd> with reason <kbd>Sorry Bob</kbd>."
            },
            {
                "name": "apihelp-unblock-param-id",
                "normalizedname": "apihelp-unblock-param-id",
                "*": "ID of the block to unblock (obtained through <kbd>list=blocks</kbd>). Cannot be used together with <var>$1user</var> or <var>$1userid</var>."
            },
            {
                "name": "apihelp-unblock-param-reason",
                "normalizedname": "apihelp-unblock-param-reason",
                "*": "Reason for unblock."
            },
            {
                "name": "apihelp-unblock-param-tags",
                "normalizedname": "apihelp-unblock-param-tags",
                "*": "Change tags to apply to the entry in the block log."
            },
            {
                "name": "apihelp-unblock-param-user",
                "normalizedname": "apihelp-unblock-param-user",
                "*": "Username, IP address or IP address range to unblock. Cannot be used together with <var>$1id</var> or <var>$1userid</var>."
            },
            {
                "name": "apihelp-unblock-param-userid",
                "normalizedname": "apihelp-unblock-param-userid",
                "*": "User ID to unblock. Cannot be used together with <var>$1id</var> or <var>$1user</var>."
            },
            {
                "name": "apihelp-unblock-summary",
                "normalizedname": "apihelp-unblock-summary",
                "*": "Unblock a user."
            },
            {
                "name": "apihelp-undelete-example-page",
                "normalizedname": "apihelp-undelete-example-page",
                "*": "Undelete page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-undelete-example-revisions",
                "normalizedname": "apihelp-undelete-example-revisions",
                "*": "Undelete two revisions of page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-undelete-extended-description",
                "normalizedname": "apihelp-undelete-extended-description",
                "*": "A list of deleted revisions (including timestamps) can be retrieved through [[Special:ApiHelp/query+deletedrevisions|prop=deletedrevisions]], and a list of deleted file IDs can be retrieved through [[Special:ApiHelp/query+filearchive|list=filearchive]]."
            },
            {
                "name": "apihelp-undelete-param-fileids",
                "normalizedname": "apihelp-undelete-param-fileids",
                "*": "IDs of the file revisions to restore. If both <var>$1timestamps</var> and <var>$1fileids</var> are empty, all will be restored."
            },
            {
                "name": "apihelp-undelete-param-reason",
                "normalizedname": "apihelp-undelete-param-reason",
                "*": "Reason for restoring."
            },
            {
                "name": "apihelp-undelete-param-tags",
                "normalizedname": "apihelp-undelete-param-tags",
                "*": "Change tags to apply to the entry in the deletion log."
            },
            {
                "name": "apihelp-undelete-param-timestamps",
                "normalizedname": "apihelp-undelete-param-timestamps",
                "*": "Timestamps of the revisions to restore. If both <var>$1timestamps</var> and <var>$1fileids</var> are empty, all will be restored."
            },
            {
                "name": "apihelp-undelete-param-title",
                "normalizedname": "apihelp-undelete-param-title",
                "*": "Title of the page to restore."
            },
            {
                "name": "apihelp-undelete-param-watchlist",
                "normalizedname": "apihelp-undelete-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-undelete-summary",
                "normalizedname": "apihelp-undelete-summary",
                "*": "Restore revisions of a deleted page."
            },
            {
                "name": "apihelp-unlinkaccount-example-simple",
                "normalizedname": "apihelp-unlinkaccount-example-simple",
                "*": "Attempt to remove the current user's link for the provider associated with <kbd>FooAuthenticationRequest</kbd>."
            },
            {
                "name": "apihelp-unlinkaccount-summary",
                "normalizedname": "apihelp-unlinkaccount-summary",
                "*": "Remove a linked third-party account from the current user."
            },
            {
                "name": "apihelp-upload-example-filekey",
                "normalizedname": "apihelp-upload-example-filekey",
                "*": "Complete an upload that failed due to warnings."
            },
            {
                "name": "apihelp-upload-example-url",
                "normalizedname": "apihelp-upload-example-url",
                "*": "Upload from a URL."
            },
            {
                "name": "apihelp-upload-extended-description",
                "normalizedname": "apihelp-upload-extended-description",
                "*": "Several methods are available:\n* Upload file contents directly, using the <var>$1file</var> parameter.\n* Upload the file in pieces, using the <var>$1filesize</var>, <var>$1chunk</var>, and <var>$1offset</var> parameters.\n* Have the MediaWiki server fetch a file from a URL, using the <var>$1url</var> parameter.\n* Complete an earlier upload that failed due to warnings, using the <var>$1filekey</var> parameter.\nNote that the HTTP POST must be done as a file upload (i.e. using <code>multipart/form-data</code>) when sending the <var>$1file</var>."
            },
            {
                "name": "apihelp-upload-param-async",
                "normalizedname": "apihelp-upload-param-async",
                "*": "Make potentially large file operations asynchronous when possible."
            },
            {
                "name": "apihelp-upload-param-checkstatus",
                "normalizedname": "apihelp-upload-param-checkstatus",
                "*": "Only fetch the upload status for the given file key."
            },
            {
                "name": "apihelp-upload-param-chunk",
                "normalizedname": "apihelp-upload-param-chunk",
                "*": "Chunk contents."
            },
            {
                "name": "apihelp-upload-param-comment",
                "normalizedname": "apihelp-upload-param-comment",
                "*": "Upload comment. Also used as the initial page text for new files if <var>$1text</var> is not specified."
            },
            {
                "name": "apihelp-upload-param-file",
                "normalizedname": "apihelp-upload-param-file",
                "*": "File contents."
            },
            {
                "name": "apihelp-upload-param-filekey",
                "normalizedname": "apihelp-upload-param-filekey",
                "*": "Key that identifies a previous upload that was stashed temporarily."
            },
            {
                "name": "apihelp-upload-param-filename",
                "normalizedname": "apihelp-upload-param-filename",
                "*": "Target filename."
            },
            {
                "name": "apihelp-upload-param-filesize",
                "normalizedname": "apihelp-upload-param-filesize",
                "*": "Filesize of entire upload."
            },
            {
                "name": "apihelp-upload-param-ignorewarnings",
                "normalizedname": "apihelp-upload-param-ignorewarnings",
                "*": "Ignore any warnings."
            },
            {
                "name": "apihelp-upload-param-offset",
                "normalizedname": "apihelp-upload-param-offset",
                "*": "Offset of chunk in bytes."
            },
            {
                "name": "apihelp-upload-param-sessionkey",
                "normalizedname": "apihelp-upload-param-sessionkey",
                "*": "Same as $1filekey, maintained for backward compatibility."
            },
            {
                "name": "apihelp-upload-param-stash",
                "normalizedname": "apihelp-upload-param-stash",
                "*": "If set, the server will stash the file temporarily instead of adding it to the repository."
            },
            {
                "name": "apihelp-upload-param-tags",
                "normalizedname": "apihelp-upload-param-tags",
                "*": "Change tags to apply to the upload log entry and file page revision."
            },
            {
                "name": "apihelp-upload-param-text",
                "normalizedname": "apihelp-upload-param-text",
                "*": "Initial page text for new files."
            },
            {
                "name": "apihelp-upload-param-url",
                "normalizedname": "apihelp-upload-param-url",
                "*": "URL to fetch the file from."
            },
            {
                "name": "apihelp-upload-param-watch",
                "normalizedname": "apihelp-upload-param-watch",
                "*": "Watch the page."
            },
            {
                "name": "apihelp-upload-param-watchlist",
                "normalizedname": "apihelp-upload-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch."
            },
            {
                "name": "apihelp-upload-summary",
                "normalizedname": "apihelp-upload-summary",
                "*": "Upload a file, or get the status of pending uploads."
            },
            {
                "name": "apihelp-userrights-example-expiry",
                "normalizedname": "apihelp-userrights-example-expiry",
                "*": "Add user <kbd>SometimeSysop</kbd> to group <kbd>sysop</kbd> for 1 month."
            },
            {
                "name": "apihelp-userrights-example-user",
                "normalizedname": "apihelp-userrights-example-user",
                "*": "Add user <kbd>FooBot</kbd> to group <kbd>bot</kbd>, and remove from groups <kbd>sysop</kbd> and <kbd>bureaucrat</kbd>."
            },
            {
                "name": "apihelp-userrights-example-userid",
                "normalizedname": "apihelp-userrights-example-userid",
                "*": "Add the user with ID <kbd>123</kbd> to group <kbd>bot</kbd>, and remove from groups <kbd>sysop</kbd> and <kbd>bureaucrat</kbd>."
            },
            {
                "name": "apihelp-userrights-param-add",
                "normalizedname": "apihelp-userrights-param-add",
                "*": "Add the user to these groups, or if they are already a member, update the expiry of their membership in that group."
            },
            {
                "name": "apihelp-userrights-param-expiry",
                "normalizedname": "apihelp-userrights-param-expiry",
                "*": "Expiry timestamps. May be relative (e.g. <kbd>5 months</kbd> or <kbd>2 weeks</kbd>) or absolute (e.g. <kbd>2014-09-18T12:34:56Z</kbd>). If only one timestamp is set, it will be used for all groups passed to the <var>$1add</var> parameter. Use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd>, or <kbd>never</kbd> for a never-expiring user group."
            },
            {
                "name": "apihelp-userrights-param-reason",
                "normalizedname": "apihelp-userrights-param-reason",
                "*": "Reason for the change."
            },
            {
                "name": "apihelp-userrights-param-remove",
                "normalizedname": "apihelp-userrights-param-remove",
                "*": "Remove the user from these groups."
            },
            {
                "name": "apihelp-userrights-param-tags",
                "normalizedname": "apihelp-userrights-param-tags",
                "*": "Change tags to apply to the entry in the user rights log."
            },
            {
                "name": "apihelp-userrights-param-user",
                "normalizedname": "apihelp-userrights-param-user",
                "*": "User name."
            },
            {
                "name": "apihelp-userrights-param-userid",
                "normalizedname": "apihelp-userrights-param-userid",
                "*": "User ID."
            },
            {
                "name": "apihelp-userrights-summary",
                "normalizedname": "apihelp-userrights-summary",
                "*": "Change a user's group membership."
            },
            {
                "name": "apihelp-validatepassword-example-1",
                "normalizedname": "apihelp-validatepassword-example-1",
                "*": "Validate the password <kbd>foobar</kbd> for the current user."
            },
            {
                "name": "apihelp-validatepassword-example-2",
                "normalizedname": "apihelp-validatepassword-example-2",
                "*": "Validate the password <kbd>qwerty</kbd> for creating user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-validatepassword-extended-description",
                "normalizedname": "apihelp-validatepassword-extended-description",
                "*": "Validity is reported as <samp>Good</samp> if the password is acceptable, <samp>Change</samp> if the password may be used for login but must be changed, or <samp>Invalid</samp> if the password is not usable."
            },
            {
                "name": "apihelp-validatepassword-param-email",
                "normalizedname": "apihelp-validatepassword-param-email",
                "*": "Email address, for use when testing account creation."
            },
            {
                "name": "apihelp-validatepassword-param-password",
                "normalizedname": "apihelp-validatepassword-param-password",
                "*": "Password to validate."
            },
            {
                "name": "apihelp-validatepassword-param-realname",
                "normalizedname": "apihelp-validatepassword-param-realname",
                "*": "Real name, for use when testing account creation."
            },
            {
                "name": "apihelp-validatepassword-param-user",
                "normalizedname": "apihelp-validatepassword-param-user",
                "*": "User name, for use when testing account creation. The named user must not exist."
            },
            {
                "name": "apihelp-validatepassword-summary",
                "normalizedname": "apihelp-validatepassword-summary",
                "*": "Validate a password against the wiki's password policies."
            },
            {
                "name": "apihelp-watch-example-generator",
                "normalizedname": "apihelp-watch-example-generator",
                "*": "Watch the first few pages in the main namespace."
            },
            {
                "name": "apihelp-watch-example-unwatch",
                "normalizedname": "apihelp-watch-example-unwatch",
                "*": "Unwatch the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-watch-example-watch",
                "normalizedname": "apihelp-watch-example-watch",
                "*": "Watch the page <kbd>Main Page</kbd>."
            },
            {
                "name": "apihelp-watch-param-title",
                "normalizedname": "apihelp-watch-param-title",
                "*": "The page to (un)watch. Use <var>$1titles</var> instead."
            },
            {
                "name": "apihelp-watch-param-unwatch",
                "normalizedname": "apihelp-watch-param-unwatch",
                "*": "If set the page will be unwatched rather than watched."
            },
            {
                "name": "apihelp-watch-summary",
                "normalizedname": "apihelp-watch-summary",
                "*": "Add or remove pages from the current user's watchlist."
            },
            {
                "name": "apihelp-xml-param-includexmlnamespace",
                "normalizedname": "apihelp-xml-param-includexmlnamespace",
                "*": "If specified, adds an XML namespace."
            },
            {
                "name": "apihelp-xml-param-xslt",
                "normalizedname": "apihelp-xml-param-xslt",
                "*": "If specified, adds the named page as an XSL stylesheet. The value must be a title in the {{ns:MediaWiki}} namespace ending in <code>.xsl</code>."
            },
            {
                "name": "apihelp-xml-summary",
                "normalizedname": "apihelp-xml-summary",
                "*": "Output data in XML format."
            },
            {
                "name": "apihelp-xmlfm-summary",
                "normalizedname": "apihelp-xmlfm-summary",
                "*": "Output data in XML format (pretty-print in HTML)."
            },
            {
                "name": "apisandbox",
                "normalizedname": "apisandbox",
                "*": "API sandbox"
            },
            {
                "name": "apisandbox-add-multi",
                "normalizedname": "apisandbox-add-multi",
                "*": "Add"
            },
            {
                "name": "apisandbox-alert-field",
                "normalizedname": "apisandbox-alert-field",
                "*": "The value of this field is not valid."
            },
            {
                "name": "apisandbox-alert-page",
                "normalizedname": "apisandbox-alert-page",
                "*": "Fields on this page are not valid."
            },
            {
                "name": "apisandbox-api-disabled",
                "normalizedname": "apisandbox-api-disabled",
                "*": "The API is disabled on this site."
            },
            {
                "name": "apisandbox-continue",
                "normalizedname": "apisandbox-continue",
                "*": "Continue"
            },
            {
                "name": "apisandbox-continue-clear",
                "normalizedname": "apisandbox-continue-clear",
                "*": "Clear"
            },
            {
                "name": "apisandbox-continue-help",
                "normalizedname": "apisandbox-continue-help",
                "*": "{{int:apisandbox-continue}} will [https://www.mediawiki.org/wiki/API:Query#Continuing_queries continue] the last request; {{int:apisandbox-continue-clear}} will clear continuation-related parameters."
            },
            {
                "name": "apisandbox-deprecated-parameters",
                "normalizedname": "apisandbox-deprecated-parameters",
                "*": "Deprecated parameters"
            },
            {
                "name": "apisandbox-dynamic-error-exists",
                "normalizedname": "apisandbox-dynamic-error-exists",
                "*": "A parameter named \"$1\" already exists."
            },
            {
                "name": "apisandbox-dynamic-parameters",
                "normalizedname": "apisandbox-dynamic-parameters",
                "*": "Additional parameters"
            },
            {
                "name": "apisandbox-dynamic-parameters-add-label",
                "normalizedname": "apisandbox-dynamic-parameters-add-label",
                "*": "Add parameter:"
            },
            {
                "name": "apisandbox-dynamic-parameters-add-placeholder",
                "normalizedname": "apisandbox-dynamic-parameters-add-placeholder",
                "*": "Parameter name"
            },
            {
                "name": "apisandbox-examples",
                "normalizedname": "apisandbox-examples",
                "*": "Examples"
            },
            {
                "name": "apisandbox-fetch-token",
                "normalizedname": "apisandbox-fetch-token",
                "*": "Auto-fill the token"
            },
            {
                "name": "apisandbox-fullscreen",
                "normalizedname": "apisandbox-fullscreen",
                "*": "Expand panel"
            },
            {
                "name": "apisandbox-fullscreen-tooltip",
                "normalizedname": "apisandbox-fullscreen-tooltip",
                "*": "Expand the sandbox panel to fill the browser window."
            },
            {
                "name": "apisandbox-helpurls",
                "normalizedname": "apisandbox-helpurls",
                "*": "Help links"
            },
            {
                "name": "apisandbox-intro",
                "normalizedname": "apisandbox-intro",
                "*": "Use this page to experiment with the <strong>MediaWiki web service API</strong>.\nRefer to [[mw:API:Main page|the API documentation]] for further details of API usage. Example: [https://www.mediawiki.org/wiki/API#A_simple_example get the content of a Main Page]. Select an action to see more examples.\n\nNote that, although this is a sandbox, actions you carry out on this page may modify the wiki."
            },
            {
                "name": "apisandbox-jsonly",
                "normalizedname": "apisandbox-jsonly",
                "*": "JavaScript is required to use the API sandbox."
            },
            {
                "name": "apisandbox-load-error",
                "normalizedname": "apisandbox-load-error",
                "*": "An error occurred while loading information for API module \"$1\": $2"
            },
            {
                "name": "apisandbox-loading",
                "normalizedname": "apisandbox-loading",
                "*": "Loading information for API module \"$1\"..."
            },
            {
                "name": "apisandbox-loading-results",
                "normalizedname": "apisandbox-loading-results",
                "*": "Receiving API results..."
            },
            {
                "name": "apisandbox-multivalue-all-namespaces",
                "normalizedname": "apisandbox-multivalue-all-namespaces",
                "*": "$1 (All namespaces)"
            },
            {
                "name": "apisandbox-multivalue-all-values",
                "normalizedname": "apisandbox-multivalue-all-values",
                "*": "$1 (All values)"
            },
            {
                "name": "apisandbox-no-parameters",
                "normalizedname": "apisandbox-no-parameters",
                "*": "This API module has no parameters."
            },
            {
                "name": "apisandbox-param-limit",
                "normalizedname": "apisandbox-param-limit",
                "*": "Enter <kbd>max</kbd> to use the maximum limit."
            },
            {
                "name": "apisandbox-request-format-json-label",
                "normalizedname": "apisandbox-request-format-json-label",
                "*": "JSON"
            },
            {
                "name": "apisandbox-request-format-url-label",
                "normalizedname": "apisandbox-request-format-url-label",
                "*": "URL query string"
            },
            {
                "name": "apisandbox-request-json-label",
                "normalizedname": "apisandbox-request-json-label",
                "*": "Request JSON:"
            },
            {
                "name": "apisandbox-request-selectformat-label",
                "normalizedname": "apisandbox-request-selectformat-label",
                "*": "Show request data as:"
            },
            {
                "name": "apisandbox-request-time",
                "normalizedname": "apisandbox-request-time",
                "*": "Request time: {{PLURAL:$1|$1 ms}}"
            },
            {
                "name": "apisandbox-request-url-label",
                "normalizedname": "apisandbox-request-url-label",
                "*": "Request URL:"
            },
            {
                "name": "apisandbox-reset",
                "normalizedname": "apisandbox-reset",
                "*": "Clear"
            },
            {
                "name": "apisandbox-results",
                "normalizedname": "apisandbox-results",
                "*": "Results"
            },
            {
                "name": "apisandbox-results-error",
                "normalizedname": "apisandbox-results-error",
                "*": "An error occurred while loading the API query response: $1."
            },
            {
                "name": "apisandbox-results-fixtoken",
                "normalizedname": "apisandbox-results-fixtoken",
                "*": "Correct token and resubmit"
            },
            {
                "name": "apisandbox-results-fixtoken-fail",
                "normalizedname": "apisandbox-results-fixtoken-fail",
                "*": "Failed to fetch \"$1\" token."
            },
            {
                "name": "apisandbox-results-login-suppressed",
                "normalizedname": "apisandbox-results-login-suppressed",
                "*": "This request has been processed as a logged-out user as it could be used to bypass browser Same-Origin security. Note that the API sandbox's automatic token handling does not work properly with such requests, please fill them in manually."
            },
            {
                "name": "apisandbox-retry",
                "normalizedname": "apisandbox-retry",
                "*": "Retry"
            },
            {
                "name": "apisandbox-sending-request",
                "normalizedname": "apisandbox-sending-request",
                "*": "Sending API request..."
            },
            {
                "name": "apisandbox-submit",
                "normalizedname": "apisandbox-submit",
                "*": "Make request"
            },
            {
                "name": "apisandbox-submit-invalid-fields-message",
                "normalizedname": "apisandbox-submit-invalid-fields-message",
                "*": "Please correct the marked fields and try again."
            },
            {
                "name": "apisandbox-submit-invalid-fields-title",
                "normalizedname": "apisandbox-submit-invalid-fields-title",
                "*": "Some fields are invalid"
            },
            {
                "name": "apisandbox-summary",
                "normalizedname": "apisandbox-summary",
                "*": ""
            },
            {
                "name": "apisandbox-unfullscreen",
                "normalizedname": "apisandbox-unfullscreen",
                "*": "Show page"
            },
            {
                "name": "apisandbox-unfullscreen-tooltip",
                "normalizedname": "apisandbox-unfullscreen-tooltip",
                "*": "Reduce the sandbox panel, so MediaWiki navigation links are available."
            },
            {
                "name": "apiwarn-alldeletedrevisions-performance",
                "normalizedname": "apiwarn-alldeletedrevisions-performance",
                "*": "For better performance when generating titles, set <kbd>$1dir=newer</kbd>."
            },
            {
                "name": "apiwarn-badurlparam",
                "normalizedname": "apiwarn-badurlparam",
                "*": "Could not parse <var>$1urlparam</var> for $2. Using only width and height."
            },
            {
                "name": "apiwarn-badutf8",
                "normalizedname": "apiwarn-badutf8",
                "*": "The value passed for <var>$1</var> contains invalid or non-normalized data. Textual data should be valid, NFC-normalized Unicode without C0 control characters other than HT (\\t), LF (\\n), and CR (\\r)."
            },
            {
                "name": "apiwarn-checktoken-percentencoding",
                "normalizedname": "apiwarn-checktoken-percentencoding",
                "*": "Check that symbols such as \"+\" in the token are properly percent-encoded in the URL."
            },
            {
                "name": "apiwarn-compare-nocontentmodel",
                "normalizedname": "apiwarn-compare-nocontentmodel",
                "*": "No content model could be determined, assuming $1."
            },
            {
                "name": "apiwarn-deprecation-deletedrevs",
                "normalizedname": "apiwarn-deprecation-deletedrevs",
                "*": "<kbd>list=deletedrevs</kbd> has been deprecated. Please use <kbd>prop=deletedrevisions</kbd> or <kbd>list=alldeletedrevisions</kbd> instead."
            },
            {
                "name": "apiwarn-deprecation-expandtemplates-prop",
                "normalizedname": "apiwarn-deprecation-expandtemplates-prop",
                "*": "Because no values have been specified for the <var>prop</var> parameter, a legacy format has been used for the output. This format is deprecated, and in the future, a default value will be set for the <var>prop</var> parameter, causing the new format to always be used."
            },
            {
                "name": "apiwarn-deprecation-httpsexpected",
                "normalizedname": "apiwarn-deprecation-httpsexpected",
                "*": "HTTP used when HTTPS was expected."
            },
            {
                "name": "apiwarn-deprecation-login-botpw",
                "normalizedname": "apiwarn-deprecation-login-botpw",
                "*": "Main-account login via <kbd>action=login</kbd> is deprecated and may stop working without warning. To continue login with <kbd>action=login</kbd>, see [[Special:BotPasswords]]. To safely continue using main-account login, see <kbd>action=clientlogin</kbd>."
            },
            {
                "name": "apiwarn-deprecation-login-nobotpw",
                "normalizedname": "apiwarn-deprecation-login-nobotpw",
                "*": "Main-account login via <kbd>action=login</kbd> is deprecated and may stop working without warning. To safely log in, see <kbd>action=clientlogin</kbd>."
            },
            {
                "name": "apiwarn-deprecation-login-token",
                "normalizedname": "apiwarn-deprecation-login-token",
                "*": "Fetching a token via <kbd>action=login</kbd> is deprecated. Use <kbd>action=query&meta=tokens&type=login</kbd> instead."
            },
            {
                "name": "apiwarn-deprecation-parameter",
                "normalizedname": "apiwarn-deprecation-parameter",
                "*": "The parameter <var>$1</var> has been deprecated."
            },
            {
                "name": "apiwarn-deprecation-parse-headitems",
                "normalizedname": "apiwarn-deprecation-parse-headitems",
                "*": "<kbd>prop=headitems</kbd> is deprecated since MediaWiki 1.28. Use <kbd>prop=headhtml</kbd> when creating new HTML documents, or <kbd>prop=modules|jsconfigvars</kbd> when updating a document client-side."
            },
            {
                "name": "apiwarn-deprecation-purge-get",
                "normalizedname": "apiwarn-deprecation-purge-get",
                "*": "Use of <kbd>action=purge</kbd> via GET is deprecated. Use POST instead."
            },
            {
                "name": "apiwarn-deprecation-withreplacement",
                "normalizedname": "apiwarn-deprecation-withreplacement",
                "*": "<kbd>$1</kbd> has been deprecated. Please use <kbd>$2</kbd> instead."
            },
            {
                "name": "apiwarn-difftohidden",
                "normalizedname": "apiwarn-difftohidden",
                "*": "Couldn't diff to r$1: content is hidden."
            },
            {
                "name": "apiwarn-errorprinterfailed",
                "normalizedname": "apiwarn-errorprinterfailed",
                "*": "Error printer failed. Will retry without params."
            },
            {
                "name": "apiwarn-errorprinterfailed-ex",
                "normalizedname": "apiwarn-errorprinterfailed-ex",
                "*": "Error printer failed (will retry without params): $1"
            },
            {
                "name": "apiwarn-invalidcategory",
                "normalizedname": "apiwarn-invalidcategory",
                "*": "\"$1\" is not a category."
            },
            {
                "name": "apiwarn-invalidtitle",
                "normalizedname": "apiwarn-invalidtitle",
                "*": "\"$1\" is not a valid title."
            },
            {
                "name": "apiwarn-invalidxmlstylesheet",
                "normalizedname": "apiwarn-invalidxmlstylesheet",
                "*": "Invalid or non-existent stylesheet specified."
            },
            {
                "name": "apiwarn-invalidxmlstylesheetext",
                "normalizedname": "apiwarn-invalidxmlstylesheetext",
                "*": "Stylesheet should have <code>.xsl</code> extension."
            },
            {
                "name": "apiwarn-invalidxmlstylesheetns",
                "normalizedname": "apiwarn-invalidxmlstylesheetns",
                "*": "Stylesheet should be in the {{ns:MediaWiki}} namespace."
            },
            {
                "name": "apiwarn-moduleswithoutvars",
                "normalizedname": "apiwarn-moduleswithoutvars",
                "*": "Property <kbd>modules</kbd> was set but not <kbd>jsconfigvars</kbd> or <kbd>encodedjsconfigvars</kbd>. Configuration variables are necessary for proper module usage."
            },
            {
                "name": "apiwarn-notfile",
                "normalizedname": "apiwarn-notfile",
                "*": "\"$1\" is not a file."
            },
            {
                "name": "apiwarn-nothumb-noimagehandler",
                "normalizedname": "apiwarn-nothumb-noimagehandler",
                "*": "Could not create thumbnail because $1 does not have an associated image handler."
            },
            {
                "name": "apiwarn-parse-nocontentmodel",
                "normalizedname": "apiwarn-parse-nocontentmodel",
                "*": "No <var>title</var> or <var>contentmodel</var> was given, assuming $1."
            },
            {
                "name": "apiwarn-parse-revidwithouttext",
                "normalizedname": "apiwarn-parse-revidwithouttext",
                "*": "<var>revid</var> used without <var>text</var>, and parsed page properties were requested. Did you mean to use <var>oldid</var> instead of <var>revid</var>?"
            },
            {
                "name": "apiwarn-parse-titlewithouttext",
                "normalizedname": "apiwarn-parse-titlewithouttext",
                "*": "<var>title</var> used without <var>text</var>, and parsed page properties were requested. Did you mean to use <var>page</var> instead of <var>title</var>?"
            },
            {
                "name": "apiwarn-redirectsandrevids",
                "normalizedname": "apiwarn-redirectsandrevids",
                "*": "Redirect resolution cannot be used together with the <var>revids</var> parameter. Any redirects the <var>revids</var> point to have not been resolved."
            },
            {
                "name": "apiwarn-tokennotallowed",
                "normalizedname": "apiwarn-tokennotallowed",
                "*": "Action \"$1\" is not allowed for the current user."
            },
            {
                "name": "apiwarn-tokens-origin",
                "normalizedname": "apiwarn-tokens-origin",
                "*": "Tokens may not be obtained when the same-origin policy is not applied."
            },
            {
                "name": "apiwarn-toomanyvalues",
                "normalizedname": "apiwarn-toomanyvalues",
                "*": "Too many values supplied for parameter <var>$1</var>. The limit is $2."
            },
            {
                "name": "apiwarn-truncatedresult",
                "normalizedname": "apiwarn-truncatedresult",
                "*": "This result was truncated because it would otherwise be larger than the limit of $1 bytes."
            },
            {
                "name": "apiwarn-unclearnowtimestamp",
                "normalizedname": "apiwarn-unclearnowtimestamp",
                "*": "Passing \"$2\" for timestamp parameter <var>$1</var> has been deprecated. If for some reason you need to explicitly specify the current time without calculating it client-side, use <kbd>now</kbd>."
            },
            {
                "name": "apiwarn-unrecognizedvalues",
                "normalizedname": "apiwarn-unrecognizedvalues",
                "*": "Unrecognized {{PLURAL:$3|value|values}} for parameter <var>$1</var>: $2."
            },
            {
                "name": "apiwarn-unsupportedarray",
                "normalizedname": "apiwarn-unsupportedarray",
                "*": "Parameter <var>$1</var> uses unsupported PHP array syntax."
            },
            {
                "name": "apiwarn-urlparamwidth",
                "normalizedname": "apiwarn-urlparamwidth",
                "*": "Ignoring width value set in <var>$1urlparam</var> ($2) in favor of width value derived from <var>$1urlwidth</var>/<var>$1urlheight</var> ($3)."
            },
            {
                "name": "apiwarn-validationfailed",
                "normalizedname": "apiwarn-validationfailed",
                "*": "Validation error for <kbd>$1</kbd>: $2"
            },
            {
                "name": "apiwarn-validationfailed-badchars",
                "normalizedname": "apiwarn-validationfailed-badchars",
                "*": "invalid characters in key (only <code>a-z</code>, <code>A-Z</code>, <code>0-9</code>, <code>_</code>, and <code>-</code> are allowed)."
            },
            {
                "name": "apiwarn-validationfailed-badpref",
                "normalizedname": "apiwarn-validationfailed-badpref",
                "*": "not a valid preference."
            },
            {
                "name": "apiwarn-validationfailed-cannotset",
                "normalizedname": "apiwarn-validationfailed-cannotset",
                "*": "cannot be set by this module."
            },
            {
                "name": "apiwarn-validationfailed-keytoolong",
                "normalizedname": "apiwarn-validationfailed-keytoolong",
                "*": "key too long (no more than $1 bytes allowed)."
            },
            {
                "name": "apiwarn-wgDebugAPI",
                "normalizedname": "apiwarn-wgDebugAPI",
                "*": "<strong>Security Warning</strong>: <var>$wgDebugAPI</var> is enabled."
            },
            {
                "name": "apr",
                "normalizedname": "apr",
                "*": "Apr"
            },
            {
                "name": "april",
                "normalizedname": "april",
                "*": "April"
            },
            {
                "name": "april-date",
                "normalizedname": "april-date",
                "*": "April $1"
            },
            {
                "name": "april-gen",
                "normalizedname": "april-gen",
                "*": "April"
            },
            {
                "name": "article",
                "normalizedname": "article",
                "*": "Content page"
            },
            {
                "name": "articleexists",
                "normalizedname": "articleexists",
                "*": "A page of that name already exists, or the name you have chosen is not valid.\nPlease choose another name."
            },
            {
                "name": "ascending_abbrev",
                "normalizedname": "ascending_abbrev",
                "*": "asc"
            },
            {
                "name": "aug",
                "normalizedname": "aug",
                "*": "Aug"
            },
            {
                "name": "august",
                "normalizedname": "august",
                "*": "August"
            },
            {
                "name": "august-date",
                "normalizedname": "august-date",
                "*": "August $1"
            },
            {
                "name": "august-gen",
                "normalizedname": "august-gen",
                "*": "August"
            },
            {
                "name": "authenticationdatachange-ignored",
                "normalizedname": "authenticationdatachange-ignored",
                "*": "The authentication data change was not handled. Maybe no provider was configured?"
            },
            {
                "name": "authform-newtoken",
                "normalizedname": "authform-newtoken",
                "*": "Missing token. $1"
            },
            {
                "name": "authform-nosession-login",
                "normalizedname": "authform-nosession-login",
                "*": "The authentication was successful, but your browser cannot \"remember\" being logged in.\n\n$1"
            },
            {
                "name": "authform-nosession-signup",
                "normalizedname": "authform-nosession-signup",
                "*": "The account was created, but your browser cannot \"remember\" being logged in.\n\n$1"
            },
            {
                "name": "authform-notoken",
                "normalizedname": "authform-notoken",
                "*": "Missing token"
            },
            {
                "name": "authform-wrongtoken",
                "normalizedname": "authform-wrongtoken",
                "*": "Wrong token"
            },
            {
                "name": "authmanager-account-password-domain",
                "normalizedname": "authmanager-account-password-domain",
                "*": "$1@$2"
            },
            {
                "name": "authmanager-authn-autocreate-failed",
                "normalizedname": "authmanager-authn-autocreate-failed",
                "*": "Auto-creation of a local account failed: $1"
            },
            {
                "name": "authmanager-authn-no-local-user",
                "normalizedname": "authmanager-authn-no-local-user",
                "*": "The supplied credentials are not associated with any user on this wiki."
            },
            {
                "name": "authmanager-authn-no-local-user-link",
                "normalizedname": "authmanager-authn-no-local-user-link",
                "*": "The supplied credentials are valid but are not associated with any user on this wiki. Login in a different way, or create a new user, and you will have an option to link your previous credentials to that account."
            },
            {
                "name": "authmanager-authn-no-primary",
                "normalizedname": "authmanager-authn-no-primary",
                "*": "The supplied credentials could not be authenticated."
            },
            {
                "name": "authmanager-authn-not-in-progress",
                "normalizedname": "authmanager-authn-not-in-progress",
                "*": "Authentication is not in progress or session data has been lost. Please start again from the beginning."
            },
            {
                "name": "authmanager-authplugin-create-fail",
                "normalizedname": "authmanager-authplugin-create-fail",
                "*": "The authentication plugin denied the account creation."
            },
            {
                "name": "authmanager-authplugin-setpass-bad-domain",
                "normalizedname": "authmanager-authplugin-setpass-bad-domain",
                "*": "Invalid domain."
            },
            {
                "name": "authmanager-authplugin-setpass-denied",
                "normalizedname": "authmanager-authplugin-setpass-denied",
                "*": "The authentication plugin does not allow changing passwords."
            },
            {
                "name": "authmanager-authplugin-setpass-failed-message",
                "normalizedname": "authmanager-authplugin-setpass-failed-message",
                "*": "The authentication plugin denied the password change."
            },
            {
                "name": "authmanager-authplugin-setpass-failed-title",
                "normalizedname": "authmanager-authplugin-setpass-failed-title",
                "*": "Password change failed"
            },
            {
                "name": "authmanager-autocreate-exception",
                "normalizedname": "authmanager-autocreate-exception",
                "*": "Automatic account creation temporarily disabled due to prior errors."
            },
            {
                "name": "authmanager-autocreate-noperm",
                "normalizedname": "authmanager-autocreate-noperm",
                "*": "Automatic account creation is not allowed."
            },
            {
                "name": "authmanager-change-not-supported",
                "normalizedname": "authmanager-change-not-supported",
                "*": "The supplied credentials cannot be changed, as nothing would use them."
            },
            {
                "name": "authmanager-create-disabled",
                "normalizedname": "authmanager-create-disabled",
                "*": "Account creation is disabled."
            },
            {
                "name": "authmanager-create-from-login",
                "normalizedname": "authmanager-create-from-login",
                "*": "To create your account, please fill in the fields."
            },
            {
                "name": "authmanager-create-no-primary",
                "normalizedname": "authmanager-create-no-primary",
                "*": "The supplied credentials could not be used for account creation."
            },
            {
                "name": "authmanager-create-not-in-progress",
                "normalizedname": "authmanager-create-not-in-progress",
                "*": "Account creation is not in progress or session data has been lost. Please start again from the beginning."
            },
            {
                "name": "authmanager-domain-help",
                "normalizedname": "authmanager-domain-help",
                "*": "Domain for external authentication."
            },
            {
                "name": "authmanager-email-help",
                "normalizedname": "authmanager-email-help",
                "*": "Email address"
            },
            {
                "name": "authmanager-email-label",
                "normalizedname": "authmanager-email-label",
                "*": "Email"
            },
            {
                "name": "authmanager-link-no-primary",
                "normalizedname": "authmanager-link-no-primary",
                "*": "The supplied credentials could not be used for account linking."
            },
            {
                "name": "authmanager-link-not-in-progress",
                "normalizedname": "authmanager-link-not-in-progress",
                "*": "Account linking is not in progress or session data has been lost. Please start again from the beginning."
            },
            {
                "name": "authmanager-password-help",
                "normalizedname": "authmanager-password-help",
                "*": "Password for authentication."
            },
            {
                "name": "authmanager-provider-password",
                "normalizedname": "authmanager-provider-password",
                "*": "Password-based authentication"
            },
            {
                "name": "authmanager-provider-password-domain",
                "normalizedname": "authmanager-provider-password-domain",
                "*": "Password- and domain-based authentication"
            },
            {
                "name": "authmanager-provider-temporarypassword",
                "normalizedname": "authmanager-provider-temporarypassword",
                "*": "Temporary password"
            },
            {
                "name": "authmanager-realname-help",
                "normalizedname": "authmanager-realname-help",
                "*": "Real name of the user"
            },
            {
                "name": "authmanager-realname-label",
                "normalizedname": "authmanager-realname-label",
                "*": "Real name"
            },
            {
                "name": "authmanager-retype-help",
                "normalizedname": "authmanager-retype-help",
                "*": "Password again to confirm."
            },
            {
                "name": "authmanager-userdoesnotexist",
                "normalizedname": "authmanager-userdoesnotexist",
                "*": "User account \"$1\" is not registered."
            },
            {
                "name": "authmanager-userlogin-remembermypassword-help",
                "normalizedname": "authmanager-userlogin-remembermypassword-help",
                "*": "Whether the password should be remembered for longer than the length of the session."
            },
            {
                "name": "authmanager-username-help",
                "normalizedname": "authmanager-username-help",
                "*": "Username for authentication."
            },
            {
                "name": "authpage-cannot-create",
                "normalizedname": "authpage-cannot-create",
                "*": "Unable to start account creation."
            },
            {
                "name": "authpage-cannot-create-continue",
                "normalizedname": "authpage-cannot-create-continue",
                "*": "Unable to continue account creation. Your session most likely timed out."
            },
            {
                "name": "authpage-cannot-link",
                "normalizedname": "authpage-cannot-link",
                "*": "Unable to start account linking."
            },
            {
                "name": "authpage-cannot-link-continue",
                "normalizedname": "authpage-cannot-link-continue",
                "*": "Unable to continue account linking. Your session most likely timed out."
            },
            {
                "name": "authpage-cannot-login",
                "normalizedname": "authpage-cannot-login",
                "*": "Unable to start login."
            },
            {
                "name": "authpage-cannot-login-continue",
                "normalizedname": "authpage-cannot-login-continue",
                "*": "Unable to continue login. Your session most likely timed out."
            },
            {
                "name": "authprovider-confirmlink-failed",
                "normalizedname": "authprovider-confirmlink-failed",
                "*": "Account linking did not fully succeed: $1"
            },
            {
                "name": "authprovider-confirmlink-failed-line",
                "normalizedname": "authprovider-confirmlink-failed-line",
                "*": "$1: $2"
            },
            {
                "name": "authprovider-confirmlink-message",
                "normalizedname": "authprovider-confirmlink-message",
                "*": "Based on your recent login attempts, the following accounts can be linked to your wiki account. Linking them enables logging in via those accounts. Please select which ones should be linked."
            },
            {
                "name": "authprovider-confirmlink-ok-help",
                "normalizedname": "authprovider-confirmlink-ok-help",
                "*": "Continue after displaying linking failure messages."
            },
            {
                "name": "authprovider-confirmlink-option",
                "normalizedname": "authprovider-confirmlink-option",
                "*": "$1 ($2)"
            },
            {
                "name": "authprovider-confirmlink-request-help",
                "normalizedname": "authprovider-confirmlink-request-help",
                "*": ""
            },
            {
                "name": "authprovider-confirmlink-request-label",
                "normalizedname": "authprovider-confirmlink-request-label",
                "*": "Accounts which should be linked"
            },
            {
                "name": "authprovider-confirmlink-success-line",
                "normalizedname": "authprovider-confirmlink-success-line",
                "*": "$1: Linked successfully."
            },
            {
                "name": "authprovider-resetpass-skip-help",
                "normalizedname": "authprovider-resetpass-skip-help",
                "*": "Skip resetting the password."
            },
            {
                "name": "authprovider-resetpass-skip-label",
                "normalizedname": "authprovider-resetpass-skip-label",
                "*": "Skip"
            },
            {
                "name": "autoblock_whitelist",
                "normalizedname": "autoblock_whitelist",
                "*": ""
            },
            {
                "name": "autoblockedtext",
                "normalizedname": "autoblockedtext",
                "*": "Your IP address has been automatically blocked because it was used by another user, who was blocked by $1.\nThe reason given is:\n\n:<em>$2</em>\n\n* Start of block: $8\n* Expiration of block: $6\n* Intended blockee: $7\n\nYou may contact $1 or one of the other [[{{MediaWiki:Grouppage-sysop}}|administrators]] to discuss the block.\n\nNote that you may not use the \"email this user\" feature unless you have a valid email address registered in your [[Special:Preferences|user preferences]] and you have not been blocked from using it.\n\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make."
            },
            {
                "name": "autoblocker",
                "normalizedname": "autoblocker",
                "*": "Autoblocked because your IP address has been recently used by \"[[User:$1|$1]]\".\nThe reason given for $1's block is \"$2\""
            },
            {
                "name": "autoblockid",
                "normalizedname": "autoblockid",
                "*": "Autoblock #$1"
            },
            {
                "name": "autoblocklist",
                "normalizedname": "autoblocklist",
                "*": "Autoblocks"
            },
            {
                "name": "autoblocklist-empty",
                "normalizedname": "autoblocklist-empty",
                "*": "The autoblock list is empty."
            },
            {
                "name": "autoblocklist-legend",
                "normalizedname": "autoblocklist-legend",
                "*": "List autoblocks"
            },
            {
                "name": "autoblocklist-localblocks",
                "normalizedname": "autoblocklist-localblocks",
                "*": "Local {{PLURAL:$1|autoblock|autoblocks}}"
            },
            {
                "name": "autoblocklist-otherblocks",
                "normalizedname": "autoblocklist-otherblocks",
                "*": "Other {{PLURAL:$1|autoblock|autoblocks}}"
            },
            {
                "name": "autoblocklist-submit",
                "normalizedname": "autoblocklist-submit",
                "*": "Search"
            },
            {
                "name": "autoblocklist-total-autoblocks",
                "normalizedname": "autoblocklist-total-autoblocks",
                "*": "Total number of autoblocks: $1"
            },
            {
                "name": "autochange-username",
                "normalizedname": "autochange-username",
                "*": "MediaWiki automatic change"
            },
            {
                "name": "autocomment-prefix",
                "normalizedname": "autocomment-prefix",
                "*": ""
            },
            {
                "name": "autoredircomment",
                "normalizedname": "autoredircomment",
                "*": "Redirected page to [[$1]]"
            },
            {
                "name": "autosumm-blank",
                "normalizedname": "autosumm-blank",
                "*": "Blanked the page"
            },
            {
                "name": "autosumm-changed-redirect-target",
                "normalizedname": "autosumm-changed-redirect-target",
                "*": "Changed redirect target from [[$1]] to [[$2]]"
            },
            {
                "name": "autosumm-new",
                "normalizedname": "autosumm-new",
                "*": "Created page with \"$1\""
            },
            {
                "name": "autosumm-newblank",
                "normalizedname": "autosumm-newblank",
                "*": "Created blank page"
            },
            {
                "name": "autosumm-removed-redirect",
                "normalizedname": "autosumm-removed-redirect",
                "*": "Removed redirect to [[$1]]"
            },
            {
                "name": "autosumm-replace",
                "normalizedname": "autosumm-replace",
                "*": "Replaced content with \"$1\""
            },
            {
                "name": "backend-fail-alreadyexists",
                "normalizedname": "backend-fail-alreadyexists",
                "*": "The file \"$1\" already exists."
            },
            {
                "name": "backend-fail-backup",
                "normalizedname": "backend-fail-backup",
                "*": "Could not backup file \"$1\"."
            },
            {
                "name": "backend-fail-batchsize",
                "normalizedname": "backend-fail-batchsize",
                "*": "The storage backend was given a batch of $1 file {{PLURAL:$1|operation|operations}}; the limit is $2 {{PLURAL:$2|operation|operations}}."
            },
            {
                "name": "backend-fail-closetemp",
                "normalizedname": "backend-fail-closetemp",
                "*": "Could not close temporary file."
            },
            {
                "name": "backend-fail-connect",
                "normalizedname": "backend-fail-connect",
                "*": "Could not connect to storage backend \"$1\"."
            },
            {
                "name": "backend-fail-contenttype",
                "normalizedname": "backend-fail-contenttype",
                "*": "Could not determine the content type of the file to store at \"$1\"."
            },
            {
                "name": "backend-fail-copy",
                "normalizedname": "backend-fail-copy",
                "*": "Could not copy file \"$1\" to \"$2\"."
            },
            {
                "name": "backend-fail-create",
                "normalizedname": "backend-fail-create",
                "*": "Could not write file \"$1\"."
            },
            {
                "name": "backend-fail-delete",
                "normalizedname": "backend-fail-delete",
                "*": "Could not delete file \"$1\"."
            },
            {
                "name": "backend-fail-describe",
                "normalizedname": "backend-fail-describe",
                "*": "Could not change metadata for file \"$1\"."
            },
            {
                "name": "backend-fail-hashes",
                "normalizedname": "backend-fail-hashes",
                "*": "Could not get file hashes for comparison."
            },
            {
                "name": "backend-fail-internal",
                "normalizedname": "backend-fail-internal",
                "*": "An unknown error occurred in storage backend \"$1\"."
            },
            {
                "name": "backend-fail-invalidpath",
                "normalizedname": "backend-fail-invalidpath",
                "*": "\"$1\" is not a valid storage path."
            },
            {
                "name": "backend-fail-maxsize",
                "normalizedname": "backend-fail-maxsize",
                "*": "Could not write file \"$1\" because it is larger than {{PLURAL:$2|one byte|$2 bytes}}."
            },
            {
                "name": "backend-fail-move",
                "normalizedname": "backend-fail-move",
                "*": "Could not move file \"$1\" to \"$2\"."
            },
            {
                "name": "backend-fail-notexists",
                "normalizedname": "backend-fail-notexists",
                "*": "The file $1 does not exist."
            },
            {
                "name": "backend-fail-notsame",
                "normalizedname": "backend-fail-notsame",
                "*": "A non-identical file already exists at \"$1\"."
            },
            {
                "name": "backend-fail-opentemp",
                "normalizedname": "backend-fail-opentemp",
                "*": "Could not open temporary file."
            },
            {
                "name": "backend-fail-read",
                "normalizedname": "backend-fail-read",
                "*": "Could not read file \"$1\"."
            },
            {
                "name": "backend-fail-readonly",
                "normalizedname": "backend-fail-readonly",
                "*": "The storage backend \"$1\" is currently read-only. The reason given is: <em>$2</em>"
            },
            {
                "name": "backend-fail-store",
                "normalizedname": "backend-fail-store",
                "*": "Could not store file \"$1\" at \"$2\"."
            },
            {
                "name": "backend-fail-stream",
                "normalizedname": "backend-fail-stream",
                "*": "Could not stream file \"$1\"."
            },
            {
                "name": "backend-fail-synced",
                "normalizedname": "backend-fail-synced",
                "*": "The file \"$1\" is in an inconsistent state within the internal storage backends"
            },
            {
                "name": "backend-fail-usable",
                "normalizedname": "backend-fail-usable",
                "*": "Could not read or write file \"$1\" due to insufficient permissions or missing directories/containers."
            },
            {
                "name": "backend-fail-writetemp",
                "normalizedname": "backend-fail-writetemp",
                "*": "Could not write to temporary file."
            },
            {
                "name": "backlinksubtitle",
                "normalizedname": "backlinksubtitle",
                "*": "\u2190 $1"
            },
            {
                "name": "bad-target-model",
                "normalizedname": "bad-target-model",
                "*": "The desired destination uses a different content model. Cannot convert from $1 to $2."
            },
            {
                "name": "bad_image_list",
                "normalizedname": "bad_image_list",
                "*": "The format is as follows:\n\nOnly list items (lines starting with *) are considered.\nThe first link on a line must be a link to a bad file.\nAny subsequent links on the same line are considered to be exceptions, i.e. pages where the file may occur inline."
            },
            {
                "name": "badaccess",
                "normalizedname": "badaccess",
                "*": "Permission error"
            },
            {
                "name": "badaccess-group0",
                "normalizedname": "badaccess-group0",
                "*": "You are not allowed to execute the action you have requested."
            },
            {
                "name": "badaccess-groups",
                "normalizedname": "badaccess-groups",
                "*": "The action you have requested is limited to users in {{PLURAL:$2|the group|one of the groups}}: $1."
            },
            {
                "name": "badarticleerror",
                "normalizedname": "badarticleerror",
                "*": "This action cannot be performed on this page."
            },
            {
                "name": "badfilename",
                "normalizedname": "badfilename",
                "*": "Filename has been changed to \"$1\"."
            },
            {
                "name": "badipaddress",
                "normalizedname": "badipaddress",
                "*": "Invalid IP address"
            },
            {
                "name": "badretype",
                "normalizedname": "badretype",
                "*": "The passwords you entered do not match."
            },
            {
                "name": "badsig",
                "normalizedname": "badsig",
                "*": "Invalid raw signature.\nCheck HTML tags."
            },
            {
                "name": "badsiglength",
                "normalizedname": "badsiglength",
                "*": "Your signature is too long.\nIt must not be more than $1 {{PLURAL:$1|character|characters}} long."
            },
            {
                "name": "badtitle",
                "normalizedname": "badtitle",
                "*": "Bad title"
            },
            {
                "name": "badtitletext",
                "normalizedname": "badtitletext",
                "*": "The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.\nIt may contain one or more characters that cannot be used in titles."
            },
            {
                "name": "bitrate-bits",
                "normalizedname": "bitrate-bits",
                "*": "$1 bps"
            },
            {
                "name": "bitrate-exabits",
                "normalizedname": "bitrate-exabits",
                "*": "$1 Ebps"
            },
            {
                "name": "bitrate-gigabits",
                "normalizedname": "bitrate-gigabits",
                "*": "$1 Gbps"
            },
            {
                "name": "bitrate-kilobits",
                "normalizedname": "bitrate-kilobits",
                "*": "$1 kbps"
            },
            {
                "name": "bitrate-megabits",
                "normalizedname": "bitrate-megabits",
                "*": "$1 Mbps"
            },
            {
                "name": "bitrate-petabits",
                "normalizedname": "bitrate-petabits",
                "*": "$1 Pbps"
            },
            {
                "name": "bitrate-terabits",
                "normalizedname": "bitrate-terabits",
                "*": "$1 Tbps"
            },
            {
                "name": "bitrate-yottabits",
                "normalizedname": "bitrate-yottabits",
                "*": "$1 Ybps"
            },
            {
                "name": "bitrate-zetabits",
                "normalizedname": "bitrate-zetabits",
                "*": "$1 Zbps"
            },
            {
                "name": "blankarticle",
                "normalizedname": "blankarticle",
                "*": "<strong>Warning:</strong> The page you are creating is blank.\nIf you click \"$1\" again, the page will be created without any content."
            },
            {
                "name": "blanknamespace",
                "normalizedname": "blanknamespace",
                "*": "(Main)"
            },
            {
                "name": "blankpage",
                "normalizedname": "blankpage",
                "*": "Blank page"
            },
            {
                "name": "block",
                "normalizedname": "block",
                "*": "Block user"
            },
            {
                "name": "block-log-flags-angry-autoblock",
                "normalizedname": "block-log-flags-angry-autoblock",
                "*": "enhanced autoblock enabled"
            },
            {
                "name": "block-log-flags-anononly",
                "normalizedname": "block-log-flags-anononly",
                "*": "anonymous users only"
            },
            {
                "name": "block-log-flags-hiddenname",
                "normalizedname": "block-log-flags-hiddenname",
                "*": "username hidden"
            },
            {
                "name": "block-log-flags-noautoblock",
                "normalizedname": "block-log-flags-noautoblock",
                "*": "autoblock disabled"
            },
            {
                "name": "block-log-flags-nocreate",
                "normalizedname": "block-log-flags-nocreate",
                "*": "account creation disabled"
            },
            {
                "name": "block-log-flags-noemail",
                "normalizedname": "block-log-flags-noemail",
                "*": "email disabled"
            },
            {
                "name": "block-log-flags-nousertalk",
                "normalizedname": "block-log-flags-nousertalk",
                "*": "cannot edit own talk page"
            },
            {
                "name": "blocked-mailpassword",
                "normalizedname": "blocked-mailpassword",
                "*": "Your IP address is blocked from editing. To prevent abuse, it is not allowed to use password recovery from this IP address."
            },
            {
                "name": "blocked-notice-logextract",
                "normalizedname": "blocked-notice-logextract",
                "*": "This user is currently blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "blockednoreason",
                "normalizedname": "blockednoreason",
                "*": "no reason given"
            },
            {
                "name": "blockedtext",
                "normalizedname": "blockedtext",
                "*": "<strong>Your username or IP address has been blocked.</strong>\n\nThe block was made by $1.\nThe reason given is <em>$2</em>.\n\n* Start of block: $8\n* Expiration of block: $6\n* Intended blockee: $7\n\nYou can contact $1 or another [[{{MediaWiki:Grouppage-sysop}}|administrator]] to discuss the block.\nYou cannot use the \"email this user\" feature unless a valid email address is specified in your [[Special:Preferences|account preferences]] and you have not been blocked from using it.\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make."
            },
            {
                "name": "blockedtitle",
                "normalizedname": "blockedtitle",
                "*": "User is blocked"
            },
            {
                "name": "blockip",
                "normalizedname": "blockip",
                "*": "Block {{GENDER:$1|user}}"
            },
            {
                "name": "blockipsuccesssub",
                "normalizedname": "blockipsuccesssub",
                "*": "Block succeeded"
            },
            {
                "name": "blockipsuccesstext",
                "normalizedname": "blockipsuccesstext",
                "*": "[[Special:Contributions/$1|$1]] has been blocked.<br />\nSee the [[Special:BlockList|block list]] to review blocks."
            },
            {
                "name": "blockiptext",
                "normalizedname": "blockiptext",
                "*": "Use the form below to block write access from a specific IP address or username.\nThis should be done only to prevent vandalism, and in accordance with [[{{MediaWiki:Policy-url}}|policy]].\nFill in a specific reason below (for example, citing particular pages that were vandalized).\nYou can block IP address ranges using the [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] syntax; the largest allowed range is /$1 for IPv4 and /$2 for IPv6."
            },
            {
                "name": "blocklink",
                "normalizedname": "blocklink",
                "*": "block"
            },
            {
                "name": "blocklist",
                "normalizedname": "blocklist",
                "*": "Blocked users"
            },
            {
                "name": "blocklist-addressblocks",
                "normalizedname": "blocklist-addressblocks",
                "*": "Hide single IP blocks"
            },
            {
                "name": "blocklist-by",
                "normalizedname": "blocklist-by",
                "*": "Blocking admin"
            },
            {
                "name": "blocklist-expiry",
                "normalizedname": "blocklist-expiry",
                "*": "Expires"
            },
            {
                "name": "blocklist-nousertalk",
                "normalizedname": "blocklist-nousertalk",
                "*": "cannot edit own talk page"
            },
            {
                "name": "blocklist-params",
                "normalizedname": "blocklist-params",
                "*": "Block parameters"
            },
            {
                "name": "blocklist-rangeblocks",
                "normalizedname": "blocklist-rangeblocks",
                "*": "Hide range blocks"
            },
            {
                "name": "blocklist-reason",
                "normalizedname": "blocklist-reason",
                "*": "Reason"
            },
            {
                "name": "blocklist-summary",
                "normalizedname": "blocklist-summary",
                "*": ""
            },
            {
                "name": "blocklist-target",
                "normalizedname": "blocklist-target",
                "*": "Target"
            },
            {
                "name": "blocklist-tempblocks",
                "normalizedname": "blocklist-tempblocks",
                "*": "Hide temporary blocks"
            },
            {
                "name": "blocklist-timestamp",
                "normalizedname": "blocklist-timestamp",
                "*": "Timestamp"
            },
            {
                "name": "blocklist-userblocks",
                "normalizedname": "blocklist-userblocks",
                "*": "Hide account blocks"
            },
            {
                "name": "blocklog-showlog",
                "normalizedname": "blocklog-showlog",
                "*": "This user has been blocked previously.\nThe block log is provided below for reference:"
            },
            {
                "name": "blocklog-showsuppresslog",
                "normalizedname": "blocklog-showsuppresslog",
                "*": "This user has been blocked and hidden previously.\nThe suppress log is provided below for reference:"
            },
            {
                "name": "blocklogentry",
                "normalizedname": "blocklogentry",
                "*": "blocked [[$1]] with an expiration time of $2 $3"
            },
            {
                "name": "blocklogpage",
                "normalizedname": "blocklogpage",
                "*": "Block log"
            },
            {
                "name": "blocklogtext",
                "normalizedname": "blocklogtext",
                "*": "This is a log of user blocking and unblocking actions.\nAutomatically blocked IP addresses are not listed.\nSee the [[Special:BlockList|block list]] for the list of currently operational bans and blocks."
            },
            {
                "name": "bold_sample",
                "normalizedname": "bold_sample",
                "*": "Bold text"
            },
            {
                "name": "bold_tip",
                "normalizedname": "bold_tip",
                "*": "Bold text"
            },
            {
                "name": "booksources",
                "normalizedname": "booksources",
                "*": "Book sources"
            },
            {
                "name": "booksources-invalid-isbn",
                "normalizedname": "booksources-invalid-isbn",
                "*": "The given ISBN does not appear to be valid; check for errors copying from the original source."
            },
            {
                "name": "booksources-isbn",
                "normalizedname": "booksources-isbn",
                "*": "ISBN:"
            },
            {
                "name": "booksources-search",
                "normalizedname": "booksources-search",
                "*": "Search"
            },
            {
                "name": "booksources-search-legend",
                "normalizedname": "booksources-search-legend",
                "*": "Search for book sources"
            },
            {
                "name": "booksources-summary",
                "normalizedname": "booksources-summary",
                "*": ""
            },
            {
                "name": "booksources-text",
                "normalizedname": "booksources-text",
                "*": "Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for:"
            },
            {
                "name": "boteditletter",
                "normalizedname": "boteditletter",
                "*": "b"
            },
            {
                "name": "botpasswords",
                "normalizedname": "botpasswords",
                "*": "Bot passwords"
            },
            {
                "name": "botpasswords-bad-appid",
                "normalizedname": "botpasswords-bad-appid",
                "*": "The bot name \"$1\" is not valid."
            },
            {
                "name": "botpasswords-created-body",
                "normalizedname": "botpasswords-created-body",
                "*": "The bot password for bot name \"$1\" of {{GENDER:$2|user}} \"$2\" was created."
            },
            {
                "name": "botpasswords-created-title",
                "normalizedname": "botpasswords-created-title",
                "*": "Bot password created"
            },
            {
                "name": "botpasswords-createnew",
                "normalizedname": "botpasswords-createnew",
                "*": "Create a new bot password"
            },
            {
                "name": "botpasswords-deleted-body",
                "normalizedname": "botpasswords-deleted-body",
                "*": "The bot password for bot name \"$1\" of {{GENDER:$2|user}} \"$2\" was deleted."
            },
            {
                "name": "botpasswords-deleted-title",
                "normalizedname": "botpasswords-deleted-title",
                "*": "Bot password deleted"
            },
            {
                "name": "botpasswords-disabled",
                "normalizedname": "botpasswords-disabled",
                "*": "Bot passwords are disabled."
            },
            {
                "name": "botpasswords-editexisting",
                "normalizedname": "botpasswords-editexisting",
                "*": "Edit an existing bot password"
            },
            {
                "name": "botpasswords-existing",
                "normalizedname": "botpasswords-existing",
                "*": "Existing bot passwords"
            },
            {
                "name": "botpasswords-help-grants",
                "normalizedname": "botpasswords-help-grants",
                "*": "Grants allow access to rights already held by your user account. Enabling a grant here does not provide access to any rights that your user account would not otherwise have. See the [[Special:ListGrants|table of grants]] for more information."
            },
            {
                "name": "botpasswords-insert-failed",
                "normalizedname": "botpasswords-insert-failed",
                "*": "Failed to add bot name \"$1\". Was it already added?"
            },
            {
                "name": "botpasswords-invalid-name",
                "normalizedname": "botpasswords-invalid-name",
                "*": "The username specified does not contain the bot password separator (\"$1\")."
            },
            {
                "name": "botpasswords-label-appid",
                "normalizedname": "botpasswords-label-appid",
                "*": "Bot name:"
            },
            {
                "name": "botpasswords-label-cancel",
                "normalizedname": "botpasswords-label-cancel",
                "*": "Cancel"
            },
            {
                "name": "botpasswords-label-create",
                "normalizedname": "botpasswords-label-create",
                "*": "Create"
            },
            {
                "name": "botpasswords-label-delete",
                "normalizedname": "botpasswords-label-delete",
                "*": "Delete"
            },
            {
                "name": "botpasswords-label-grants",
                "normalizedname": "botpasswords-label-grants",
                "*": "Applicable grants:"
            },
            {
                "name": "botpasswords-label-grants-column",
                "normalizedname": "botpasswords-label-grants-column",
                "*": "Granted"
            },
            {
                "name": "botpasswords-label-resetpassword",
                "normalizedname": "botpasswords-label-resetpassword",
                "*": "Reset the password"
            },
            {
                "name": "botpasswords-label-update",
                "normalizedname": "botpasswords-label-update",
                "*": "Update"
            },
            {
                "name": "botpasswords-newpassword",
                "normalizedname": "botpasswords-newpassword",
                "*": "The new password to log in with <strong>$1</strong> is <strong>$2</strong>. <em>Please record this for future reference.</em> <br> (For old bots which require the login name to be the same as the eventual username, you can also use <strong>$3</strong> as username and <strong>$4</strong> as password.)"
            },
            {
                "name": "botpasswords-no-central-id",
                "normalizedname": "botpasswords-no-central-id",
                "*": "To use bot passwords, you must be logged in to a centralized account."
            },
            {
                "name": "botpasswords-no-provider",
                "normalizedname": "botpasswords-no-provider",
                "*": "BotPasswordsSessionProvider is not available."
            },
            {
                "name": "botpasswords-not-exist",
                "normalizedname": "botpasswords-not-exist",
                "*": "User \"$1\" does not have a bot password named \"$2\"."
            },
            {
                "name": "botpasswords-restriction-failed",
                "normalizedname": "botpasswords-restriction-failed",
                "*": "Bot password restrictions prevent this login."
            },
            {
                "name": "botpasswords-summary",
                "normalizedname": "botpasswords-summary",
                "*": "<em>Bot passwords</em> allow access to a user account via the API without using the account's main login credentials. The user rights available when logged in with a bot password may be restricted.\n\nIf you don't know why you might want to do this, you should probably not do it. No one should ever ask you to generate one of these and give it to them."
            },
            {
                "name": "botpasswords-update-failed",
                "normalizedname": "botpasswords-update-failed",
                "*": "Failed to update bot name \"$1\". Was it deleted?"
            },
            {
                "name": "botpasswords-updated-body",
                "normalizedname": "botpasswords-updated-body",
                "*": "The bot password for bot name \"$1\" of {{GENDER:$2|user}} \"$2\" was updated."
            },
            {
                "name": "botpasswords-updated-title",
                "normalizedname": "botpasswords-updated-title",
                "*": "Bot password updated"
            },
            {
                "name": "brackets",
                "normalizedname": "brackets",
                "*": "[$1]"
            },
            {
                "name": "broken-file-category",
                "normalizedname": "broken-file-category",
                "*": "Pages with broken file links"
            },
            {
                "name": "broken-file-category-desc",
                "normalizedname": "broken-file-category-desc",
                "*": "The page contains a broken file link (a link to embed a file when the file does not exist)."
            },
            {
                "name": "brokenredirects",
                "normalizedname": "brokenredirects",
                "*": "Broken redirects"
            },
            {
                "name": "brokenredirects-delete",
                "normalizedname": "brokenredirects-delete",
                "*": "delete"
            },
            {
                "name": "brokenredirects-edit",
                "normalizedname": "brokenredirects-edit",
                "*": "edit"
            },
            {
                "name": "brokenredirects-summary",
                "normalizedname": "brokenredirects-summary",
                "*": ""
            },
            {
                "name": "brokenredirectstext",
                "normalizedname": "brokenredirectstext",
                "*": "The following redirects link to non-existent pages:"
            },
            {
                "name": "bydate",
                "normalizedname": "bydate",
                "*": "by date"
            },
            {
                "name": "cachedspecial-refresh-now",
                "normalizedname": "cachedspecial-refresh-now",
                "*": "View latest."
            },
            {
                "name": "cachedspecial-viewing-cached-ts",
                "normalizedname": "cachedspecial-viewing-cached-ts",
                "*": "You are viewing a cached version of this page, which might not be completely actual."
            },
            {
                "name": "cachedspecial-viewing-cached-ttl",
                "normalizedname": "cachedspecial-viewing-cached-ttl",
                "*": "You are viewing a cached version of this page, which can be up to $1 old."
            },
            {
                "name": "cancel",
                "normalizedname": "cancel",
                "*": "Cancel"
            },
            {
                "name": "cannotauth-not-allowed",
                "normalizedname": "cannotauth-not-allowed",
                "*": "You are not allowed to use this page"
            },
            {
                "name": "cannotauth-not-allowed-title",
                "normalizedname": "cannotauth-not-allowed-title",
                "*": "Permission denied"
            },
            {
                "name": "cannotchangeemail",
                "normalizedname": "cannotchangeemail",
                "*": "Account email addresses cannot be changed on this wiki."
            },
            {
                "name": "cannotcreateaccount-text",
                "normalizedname": "cannotcreateaccount-text",
                "*": "Direct account creation is not enabled on this wiki."
            },
            {
                "name": "cannotcreateaccount-title",
                "normalizedname": "cannotcreateaccount-title",
                "*": "Cannot create accounts"
            },
            {
                "name": "cannotdelete",
                "normalizedname": "cannotdelete",
                "*": "The page or file \"$1\" could not be deleted.\nIt may have already been deleted by someone else."
            },
            {
                "name": "cannotdelete-title",
                "normalizedname": "cannotdelete-title",
                "*": "Cannot delete page \"$1\""
            },
            {
                "name": "cannotlink-no-provider",
                "normalizedname": "cannotlink-no-provider",
                "*": "There are no linkable accounts."
            },
            {
                "name": "cannotlink-no-provider-title",
                "normalizedname": "cannotlink-no-provider-title",
                "*": "There are no linkable accounts"
            },
            {
                "name": "cannotlogin-text",
                "normalizedname": "cannotlogin-text",
                "*": "Logging in is not possible."
            },
            {
                "name": "cannotlogin-title",
                "normalizedname": "cannotlogin-title",
                "*": "Cannot log in"
            },
            {
                "name": "cannotloginnow-text",
                "normalizedname": "cannotloginnow-text",
                "*": "Logging in is not possible when using $1."
            },
            {
                "name": "cannotloginnow-title",
                "normalizedname": "cannotloginnow-title",
                "*": "Cannot log in now"
            },
            {
                "name": "cannotlogoutnow-text",
                "normalizedname": "cannotlogoutnow-text",
                "*": "Logging out is not possible when using $1."
            },
            {
                "name": "cannotlogoutnow-title",
                "normalizedname": "cannotlogoutnow-title",
                "*": "Cannot log out now"
            },
            {
                "name": "cannotundelete",
                "normalizedname": "cannotundelete",
                "*": "Some or all of the undeletion failed:\n$1"
            },
            {
                "name": "cant-move-category-page",
                "normalizedname": "cant-move-category-page",
                "*": "You do not have permission to move category pages."
            },
            {
                "name": "cant-move-subpages",
                "normalizedname": "cant-move-subpages",
                "*": "You do not have permission to move subpages."
            },
            {
                "name": "cant-move-to-category-page",
                "normalizedname": "cant-move-to-category-page",
                "*": "You do not have permission to move a page to a category page."
            },
            {
                "name": "cant-move-to-user-page",
                "normalizedname": "cant-move-to-user-page",
                "*": "You do not have permission to move a page to a user page (except to a user subpage)."
            },
            {
                "name": "cant-move-user-page",
                "normalizedname": "cant-move-user-page",
                "*": "You do not have permission to move user pages (apart from subpages)."
            },
            {
                "name": "cant-see-hidden-user",
                "normalizedname": "cant-see-hidden-user",
                "*": "The user you are trying to block has already been blocked and hidden.\nSince you do not have the hideuser right, you cannot see or edit the user's block."
            },
            {
                "name": "cantcreateaccount-range-text",
                "normalizedname": "cantcreateaccount-range-text",
                "*": "Account creation from IP addresses in the range <strong>$1</strong>, which includes your IP address (<strong>$4</strong>), has been blocked by [[User:$3|$3]].\n\nThe reason given by $3 is <em>$2</em>"
            },
            {
                "name": "cantcreateaccount-text",
                "normalizedname": "cantcreateaccount-text",
                "*": "Account creation from this IP address (<strong>$1</strong>) has been blocked by [[User:$3|$3]].\n\nThe reason given by $3 is <em>$2</em>"
            },
            {
                "name": "cantmove-titleprotected",
                "normalizedname": "cantmove-titleprotected",
                "*": "You cannot move a page to this location because the new title has been protected from creation."
            },
            {
                "name": "cantrollback",
                "normalizedname": "cantrollback",
                "*": "Cannot revert edit;\nlast contributor is only author of this page."
            },
            {
                "name": "captcha-addurl",
                "normalizedname": "captcha-addurl",
                "*": "Your edit includes new external links.\nTo protect the wiki against automated spam, we kindly ask you to solve the following task below and enter the answer in the box in order to save your edit ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-addurl-whitelist",
                "normalizedname": "captcha-addurl-whitelist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a regex fragment which will only match hosts inside URLs\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "name": "captcha-apihelp-param-captchaid",
                "normalizedname": "captcha-apihelp-param-captchaid",
                "*": "CAPTCHA ID from previous request"
            },
            {
                "name": "captcha-apihelp-param-captchaword",
                "normalizedname": "captcha-apihelp-param-captchaword",
                "*": "Answer to the CAPTCHA"
            },
            {
                "name": "captcha-badlogin",
                "normalizedname": "captcha-badlogin",
                "*": "To protect the wiki against automated password cracking, we kindly ask you to solve the following task below and enter the answer in the box ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-create",
                "normalizedname": "captcha-create",
                "*": "To create the page, please solve the following task below and enter the answer in the box ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-createaccount",
                "normalizedname": "captcha-createaccount",
                "*": "To protect the wiki against automated account creation, we kindly ask you to solve the following task below and enter the answer in the box ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-createaccount-fail",
                "normalizedname": "captcha-createaccount-fail",
                "*": "Incorrect or missing CAPTCHA."
            },
            {
                "name": "captcha-desc",
                "normalizedname": "captcha-desc",
                "*": "Provides CAPTCHA techniques to protect against spam and password-guessing"
            },
            {
                "name": "captcha-disabledinapi",
                "normalizedname": "captcha-disabledinapi",
                "*": "This action requires a CAPTCHA, so it cannot be performed through the API."
            },
            {
                "name": "captcha-edit",
                "normalizedname": "captcha-edit",
                "*": "To edit this page, please solve the following task below and enter the answer in the box ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-edit-fail",
                "normalizedname": "captcha-edit-fail",
                "*": "Incorrect or missing CAPTCHA."
            },
            {
                "name": "captcha-error",
                "normalizedname": "captcha-error",
                "*": "CAPTCHA verification failed due to internal error: $1"
            },
            {
                "name": "captcha-help",
                "normalizedname": "captcha-help",
                "*": "Solution of the CAPTCHA."
            },
            {
                "name": "captcha-id-help",
                "normalizedname": "captcha-id-help",
                "*": "This value should be sent back unchanged."
            },
            {
                "name": "captcha-id-label",
                "normalizedname": "captcha-id-label",
                "*": "CAPTCHA ID"
            },
            {
                "name": "captcha-info-help",
                "normalizedname": "captcha-info-help",
                "*": "Description of the CAPTCHA."
            },
            {
                "name": "captcha-ip-whitelist",
                "normalizedname": "captcha-ip-whitelist",
                "*": "-"
            },
            {
                "name": "captcha-label",
                "normalizedname": "captcha-label",
                "*": "CAPTCHA"
            },
            {
                "name": "captcha-sendemail",
                "normalizedname": "captcha-sendemail",
                "*": "To protect the wiki against automated spamming, we kindly ask you to solve the following task below and enter the answer in the box ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "captcha-sendemail-fail",
                "normalizedname": "captcha-sendemail-fail",
                "*": "Incorrect or missing CAPTCHA."
            },
            {
                "name": "captchahelp-cookies-needed",
                "normalizedname": "captchahelp-cookies-needed",
                "*": "You will need to have cookies enabled in your browser for this to work."
            },
            {
                "name": "captchahelp-text",
                "normalizedname": "captchahelp-text",
                "*": "Web sites that accept postings from the public, like this wiki, are often abused by spammers who use automated tools to post their links to many sites.\nWhile these spam links can be removed, they are a significant nuisance.\n\nSometimes, especially when adding new web links to a page, the wiki may show you an image of colored or distorted text and ask you to type the words shown.\nSince this is a task that's hard to automate, it will allow most real humans to make their posts while stopping most spammers and other robotic attackers.\n\nUnfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers.\nAt the moment we do not have an audio alternative available.\nPlease contact the [[Special:ListAdmins|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate actions.\n\nHit the \"back\" button in your browser to return to the page editor."
            },
            {
                "name": "captchahelp-title",
                "normalizedname": "captchahelp-title",
                "*": "CAPTCHA help"
            },
            {
                "name": "cascadeprotected",
                "normalizedname": "cascadeprotected",
                "*": "This page has been protected from editing because it is transcluded in the following {{PLURAL:$1|page, which is|pages, which are}} protected with the \"cascading\" option turned on:\n$2"
            },
            {
                "name": "cascadeprotectedwarning",
                "normalizedname": "cascadeprotectedwarning",
                "*": "<strong>Warning:</strong> This page has been protected so that only users with [[Special:ListGroupRights|specific rights]] can edit it because it is transcluded in the following cascade-protected {{PLURAL:$1|page|pages}}:"
            },
            {
                "name": "categories",
                "normalizedname": "categories",
                "*": "Categories"
            },
            {
                "name": "categories-submit",
                "normalizedname": "categories-submit",
                "*": "Show"
            },
            {
                "name": "categories-summary",
                "normalizedname": "categories-summary",
                "*": ""
            },
            {
                "name": "categoriesfrom",
                "normalizedname": "categoriesfrom",
                "*": "Display categories starting at:"
            },
            {
                "name": "categoriespagetext",
                "normalizedname": "categoriespagetext",
                "*": "The following {{PLURAL:$1|category contains|categories contain}} pages or media.\n[[Special:UnusedCategories|Unused categories]] are not shown here.\nAlso see [[Special:WantedCategories|wanted categories]]."
            },
            {
                "name": "category-article-count",
                "normalizedname": "category-article-count",
                "*": "{{PLURAL:$2|This category contains only the following page.|The following {{PLURAL:$1|page is|$1 pages are}} in this category, out of $2 total.}}"
            },
            {
                "name": "category-article-count-limited",
                "normalizedname": "category-article-count-limited",
                "*": "The following {{PLURAL:$1|page is|$1 pages are}} in the current category."
            },
            {
                "name": "category-empty",
                "normalizedname": "category-empty",
                "*": "<em>This category currently contains no pages or media.</em>"
            },
            {
                "name": "category-file-count",
                "normalizedname": "category-file-count",
                "*": "{{PLURAL:$2|This category contains only the following file.|The following {{PLURAL:$1|file is|$1 files are}} in this category, out of $2 total.}}"
            },
            {
                "name": "category-file-count-limited",
                "normalizedname": "category-file-count-limited",
                "*": "The following {{PLURAL:$1|file is|$1 files are}} in the current category."
            },
            {
                "name": "category-header-numerals",
                "normalizedname": "category-header-numerals",
                "*": "$1\u2013$2"
            },
            {
                "name": "category-media-header",
                "normalizedname": "category-media-header",
                "*": "Media in category \"$1\""
            },
            {
                "name": "category-move-redirect-override",
                "normalizedname": "category-move-redirect-override",
                "*": "-"
            },
            {
                "name": "category-subcat-count",
                "normalizedname": "category-subcat-count",
                "*": "{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}"
            },
            {
                "name": "category-subcat-count-limited",
                "normalizedname": "category-subcat-count-limited",
                "*": "This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}."
            },
            {
                "name": "category_header",
                "normalizedname": "category_header",
                "*": "Pages in category \"$1\""
            },
            {
                "name": "categorypage",
                "normalizedname": "categorypage",
                "*": "View category page"
            },
            {
                "name": "categoryviewer-pagedlinks",
                "normalizedname": "categoryviewer-pagedlinks",
                "*": "($1) ($2)"
            },
            {
                "name": "change-blocklink",
                "normalizedname": "change-blocklink",
                "*": "change block"
            },
            {
                "name": "changecontentmodel",
                "normalizedname": "changecontentmodel",
                "*": "Change content model of a page"
            },
            {
                "name": "changecontentmodel-cannot-convert",
                "normalizedname": "changecontentmodel-cannot-convert",
                "*": "The content on [[:$1]] cannot be converted to a type of $2."
            },
            {
                "name": "changecontentmodel-emptymodels-text",
                "normalizedname": "changecontentmodel-emptymodels-text",
                "*": "The content on [[:$1]] cannot be converted to any type."
            },
            {
                "name": "changecontentmodel-emptymodels-title",
                "normalizedname": "changecontentmodel-emptymodels-title",
                "*": "No content models available"
            },
            {
                "name": "changecontentmodel-legend",
                "normalizedname": "changecontentmodel-legend",
                "*": "Change content model"
            },
            {
                "name": "changecontentmodel-model-label",
                "normalizedname": "changecontentmodel-model-label",
                "*": "New content model"
            },
            {
                "name": "changecontentmodel-nodirectediting",
                "normalizedname": "changecontentmodel-nodirectediting",
                "*": "The $1 content model does not support direct editing"
            },
            {
                "name": "changecontentmodel-reason-label",
                "normalizedname": "changecontentmodel-reason-label",
                "*": "Reason:"
            },
            {
                "name": "changecontentmodel-submit",
                "normalizedname": "changecontentmodel-submit",
                "*": "Change"
            },
            {
                "name": "changecontentmodel-success-text",
                "normalizedname": "changecontentmodel-success-text",
                "*": "The content type of [[:$1]] has been changed."
            },
            {
                "name": "changecontentmodel-success-title",
                "normalizedname": "changecontentmodel-success-title",
                "*": "The content model was changed"
            },
            {
                "name": "changecontentmodel-title-label",
                "normalizedname": "changecontentmodel-title-label",
                "*": "Page title"
            },
            {
                "name": "changecredentials",
                "normalizedname": "changecredentials",
                "*": "Change credentials"
            },
            {
                "name": "changecredentials-invalidsubpage",
                "normalizedname": "changecredentials-invalidsubpage",
                "*": "$1 is not a valid credential type."
            },
            {
                "name": "changecredentials-submit",
                "normalizedname": "changecredentials-submit",
                "*": "Change credentials"
            },
            {
                "name": "changecredentials-success",
                "normalizedname": "changecredentials-success",
                "*": "Your credentials have been changed."
            },
            {
                "name": "changed",
                "normalizedname": "changed",
                "*": "changed"
            },
            {
                "name": "changeemail",
                "normalizedname": "changeemail",
                "*": "Change or remove email address"
            },
            {
                "name": "changeemail-header",
                "normalizedname": "changeemail-header",
                "*": "Complete this form to change your email address. If you would like to remove the association of any email address from your account, leave the new email address blank when submitting the form."
            },
            {
                "name": "changeemail-newemail",
                "normalizedname": "changeemail-newemail",
                "*": "New email address:"
            },
            {
                "name": "changeemail-newemail-help",
                "normalizedname": "changeemail-newemail-help",
                "*": "This field should be left blank if you want to remove your email address. You will not be able to reset a forgotten password and will not receive emails from this wiki if the email address is removed."
            },
            {
                "name": "changeemail-no-info",
                "normalizedname": "changeemail-no-info",
                "*": "You must be logged in to access this page directly."
            },
            {
                "name": "changeemail-nochange",
                "normalizedname": "changeemail-nochange",
                "*": "Please enter a different new email address."
            },
            {
                "name": "changeemail-none",
                "normalizedname": "changeemail-none",
                "*": "(none)"
            },
            {
                "name": "changeemail-oldemail",
                "normalizedname": "changeemail-oldemail",
                "*": "Current email address:"
            },
            {
                "name": "changeemail-password",
                "normalizedname": "changeemail-password",
                "*": "Your {{SITENAME}} password:"
            },
            {
                "name": "changeemail-submit",
                "normalizedname": "changeemail-submit",
                "*": "Change email"
            },
            {
                "name": "changeemail-summary",
                "normalizedname": "changeemail-summary",
                "*": ""
            },
            {
                "name": "changeemail-throttled",
                "normalizedname": "changeemail-throttled",
                "*": "You have made too many login attempts.\nPlease wait $1 before trying again."
            },
            {
                "name": "changepassword",
                "normalizedname": "changepassword",
                "*": "Change password"
            },
            {
                "name": "changepassword-success",
                "normalizedname": "changepassword-success",
                "*": "Your password has been changed!"
            },
            {
                "name": "changepassword-summary",
                "normalizedname": "changepassword-summary",
                "*": ""
            },
            {
                "name": "changepassword-throttled",
                "normalizedname": "changepassword-throttled",
                "*": "You have made too many recent login attempts.\nPlease wait $1 before trying again."
            },
            {
                "name": "checkbox-all",
                "normalizedname": "checkbox-all",
                "*": "All"
            },
            {
                "name": "checkbox-invert",
                "normalizedname": "checkbox-invert",
                "*": "Invert"
            },
            {
                "name": "checkbox-none",
                "normalizedname": "checkbox-none",
                "*": "None"
            },
            {
                "name": "checkbox-select",
                "normalizedname": "checkbox-select",
                "*": "Select: $1"
            },
            {
                "name": "clearyourcache",
                "normalizedname": "clearyourcache",
                "*": "<strong>Note:</strong> After saving, you may have to bypass your browser's cache to see the changes.\n* <strong>Firefox / Safari:</strong> Hold <em>Shift</em> while clicking <em>Reload</em>, or press either <em>Ctrl-F5</em> or <em>Ctrl-R</em> (<em>\u2318-R</em> on a Mac)\n* <strong>Google Chrome:</strong> Press <em>Ctrl-Shift-R</em> (<em>\u2318-Shift-R</em> on a Mac)\n* <strong>Internet Explorer:</strong> Hold <em>Ctrl</em> while clicking <em>Refresh</em>, or press <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Go to <em>Menu \u2192 Settings</em> (<em>Opera \u2192 Preferences</em> on a Mac) and then to <em>Privacy & security \u2192 Clear browsing data \u2192 Cached images and files</em>."
            },
            {
                "name": "collapsible-collapse",
                "normalizedname": "collapsible-collapse",
                "*": "Collapse"
            },
            {
                "name": "collapsible-expand",
                "normalizedname": "collapsible-expand",
                "*": "Expand"
            },
            {
                "name": "colon-separator",
                "normalizedname": "colon-separator",
                "*": ": "
            },
            {
                "name": "comma-separator",
                "normalizedname": "comma-separator",
                "*": ", "
            },
            {
                "name": "common.css",
                "normalizedname": "common.css",
                "*": "/* CSS placed here will be applied to all skins */"
            },
            {
                "name": "common.js",
                "normalizedname": "common.js",
                "*": "/* Any JavaScript here will be loaded for all users on every page load. */"
            },
            {
                "name": "common.json",
                "normalizedname": "common.json",
                "*": "/* Any JSON here will be loaded for all users on every page load. */"
            },
            {
                "name": "compare-invalid-title",
                "normalizedname": "compare-invalid-title",
                "*": "The title you specified is invalid."
            },
            {
                "name": "compare-page1",
                "normalizedname": "compare-page1",
                "*": "Page 1"
            },
            {
                "name": "compare-page2",
                "normalizedname": "compare-page2",
                "*": "Page 2"
            },
            {
                "name": "compare-rev1",
                "normalizedname": "compare-rev1",
                "*": "Revision 1"
            },
            {
                "name": "compare-rev2",
                "normalizedname": "compare-rev2",
                "*": "Revision 2"
            },
            {
                "name": "compare-revision-not-exists",
                "normalizedname": "compare-revision-not-exists",
                "*": "The revision you specified does not exist."
            },
            {
                "name": "compare-submit",
                "normalizedname": "compare-submit",
                "*": "Compare"
            },
            {
                "name": "compare-title-not-exists",
                "normalizedname": "compare-title-not-exists",
                "*": "The title you specified does not exist."
            },
            {
                "name": "comparepages",
                "normalizedname": "comparepages",
                "*": "Compare pages"
            },
            {
                "name": "comparepages-summary",
                "normalizedname": "comparepages-summary",
                "*": ""
            },
            {
                "name": "compareselectedversions",
                "normalizedname": "compareselectedversions",
                "*": "Compare selected revisions"
            },
            {
                "name": "confirm",
                "normalizedname": "confirm",
                "*": "Confirm"
            },
            {
                "name": "confirm-markpatrolled-button",
                "normalizedname": "confirm-markpatrolled-button",
                "*": "OK"
            },
            {
                "name": "confirm-markpatrolled-top",
                "normalizedname": "confirm-markpatrolled-top",
                "*": "Mark revision $3 of $2 as patrolled?"
            },
            {
                "name": "confirm-purge-bottom",
                "normalizedname": "confirm-purge-bottom",
                "*": "Purging a page clears the cache and forces the most current revision to appear."
            },
            {
                "name": "confirm-purge-title",
                "normalizedname": "confirm-purge-title",
                "*": "Purge this page"
            },
            {
                "name": "confirm-purge-top",
                "normalizedname": "confirm-purge-top",
                "*": "Clear the cache of this page?"
            },
            {
                "name": "confirm-rollback-button",
                "normalizedname": "confirm-rollback-button",
                "*": "OK"
            },
            {
                "name": "confirm-rollback-top",
                "normalizedname": "confirm-rollback-top",
                "*": "Revert edits to this page?"
            },
            {
                "name": "confirm-unwatch-button",
                "normalizedname": "confirm-unwatch-button",
                "*": "OK"
            },
            {
                "name": "confirm-unwatch-top",
                "normalizedname": "confirm-unwatch-top",
                "*": "Remove this page from your watchlist?"
            },
            {
                "name": "confirm-watch-button",
                "normalizedname": "confirm-watch-button",
                "*": "OK"
            },
            {
                "name": "confirm-watch-top",
                "normalizedname": "confirm-watch-top",
                "*": "Add this page to your watchlist?"
            },
            {
                "name": "confirm_purge_button",
                "normalizedname": "confirm_purge_button",
                "*": "OK"
            },
            {
                "name": "confirmable-confirm",
                "normalizedname": "confirmable-confirm",
                "*": "Are {{GENDER:$1|you}} sure?"
            },
            {
                "name": "confirmable-no",
                "normalizedname": "confirmable-no",
                "*": "No"
            },
            {
                "name": "confirmable-yes",
                "normalizedname": "confirmable-yes",
                "*": "Yes"
            },
            {
                "name": "confirmdeletetext",
                "normalizedname": "confirmdeletetext",
                "*": "You are about to delete a page along with all of its history.\nPlease confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]]."
            },
            {
                "name": "confirmedit-preview-content",
                "normalizedname": "confirmedit-preview-content",
                "*": "Content"
            },
            {
                "name": "confirmedit-preview-description",
                "normalizedname": "confirmedit-preview-description",
                "*": "The following table shows the list of lines on this page and whether it's a valid IP address or IP address range. If the line is a valid IP address or IP address range, it will be whitelisted from CAPTCHA but invalid lines will be ignored. An example of a valid IP address range would be: 69.208.0.0/16 which goes from 69.208.0.0 to 69.208.255.255. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Range_blocks#Calculating_the_CIDR_suffix More information] about calculating an IP address range."
            },
            {
                "name": "confirmedit-preview-invalid",
                "normalizedname": "confirmedit-preview-invalid",
                "*": "invalid"
            },
            {
                "name": "confirmedit-preview-line",
                "normalizedname": "confirmedit-preview-line",
                "*": "Line number"
            },
            {
                "name": "confirmedit-preview-valid",
                "normalizedname": "confirmedit-preview-valid",
                "*": "valid"
            },
            {
                "name": "confirmedit-preview-validity",
                "normalizedname": "confirmedit-preview-validity",
                "*": "Validity"
            },
            {
                "name": "confirmedittext",
                "normalizedname": "confirmedittext",
                "*": "You must confirm your email address before editing pages.\nPlease set and validate your email address through your [[Special:Preferences|user preferences]]."
            },
            {
                "name": "confirmemail",
                "normalizedname": "confirmemail",
                "*": "Confirm email address"
            },
            {
                "name": "confirmemail_body",
                "normalizedname": "confirmemail_body",
                "*": "Someone, probably you, from IP address $1,\nhas registered an account \"$2\" with this email address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and activate\nemail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf you did *not* register the account, follow this link\nto cancel the email address confirmation:\n\n$5\n\nThis confirmation code will expire at $4."
            },
            {
                "name": "confirmemail_body_changed",
                "normalizedname": "confirmemail_body_changed",
                "*": "Someone, probably you, from IP address $1,\nhas changed the email address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\nemail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the email address confirmation:\n\n$5\n\nThis confirmation code will expire at $4."
            },
            {
                "name": "confirmemail_body_set",
                "normalizedname": "confirmemail_body_set",
                "*": "Someone, probably you, from IP address $1,\nhas set the email address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and activate\nemail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the email address confirmation:\n\n$5\n\nThis confirmation code will expire at $4."
            },
            {
                "name": "confirmemail_invalid",
                "normalizedname": "confirmemail_invalid",
                "*": "Invalid confirmation code.\nThe code may have expired."
            },
            {
                "name": "confirmemail_invalidated",
                "normalizedname": "confirmemail_invalidated",
                "*": "Email address confirmation canceled"
            },
            {
                "name": "confirmemail_loggedin",
                "normalizedname": "confirmemail_loggedin",
                "*": "Your email address has now been confirmed."
            },
            {
                "name": "confirmemail_needlogin",
                "normalizedname": "confirmemail_needlogin",
                "*": "Please $1 to confirm your email address."
            },
            {
                "name": "confirmemail_noemail",
                "normalizedname": "confirmemail_noemail",
                "*": "You do not have a valid email address set in your [[Special:Preferences|user preferences]]."
            },
            {
                "name": "confirmemail_oncreate",
                "normalizedname": "confirmemail_oncreate",
                "*": "A confirmation code was sent to your email address.\nThis code is not required to log in, but you will need to provide it before enabling any email-based features in the wiki."
            },
            {
                "name": "confirmemail_pending",
                "normalizedname": "confirmemail_pending",
                "*": "A confirmation code has already been emailed to you;\nif you recently created your account, you may wish to wait a few minutes for it to arrive before trying to request a new code."
            },
            {
                "name": "confirmemail_send",
                "normalizedname": "confirmemail_send",
                "*": "Mail a confirmation code"
            },
            {
                "name": "confirmemail_sendfailed",
                "normalizedname": "confirmemail_sendfailed",
                "*": "{{SITENAME}} could not send your confirmation mail.\nPlease check your email address for invalid characters.\n\nMailer returned: $1"
            },
            {
                "name": "confirmemail_sent",
                "normalizedname": "confirmemail_sent",
                "*": "Confirmation email sent."
            },
            {
                "name": "confirmemail_subject",
                "normalizedname": "confirmemail_subject",
                "*": "{{SITENAME}} email address confirmation"
            },
            {
                "name": "confirmemail_success",
                "normalizedname": "confirmemail_success",
                "*": "Your email address has been confirmed.\nYou may now [[Special:UserLogin|log in]] and enjoy the wiki."
            },
            {
                "name": "confirmemail_text",
                "normalizedname": "confirmemail_text",
                "*": "{{SITENAME}} requires that you validate your email address before using email features.\nActivate the button below to send a confirmation mail to your address.\nThe mail will include a link containing a code;\nload the link in your browser to confirm that your email address is valid."
            },
            {
                "name": "confirmrecreate",
                "normalizedname": "confirmrecreate",
                "*": "User [[User:$1|$1]] ([[User talk:$1|talk]]) {{GENDER:$1|deleted}} this page after you started editing with reason:\n: <em>$2</em>\nPlease confirm that you really want to recreate this page."
            },
            {
                "name": "confirmrecreate-noreason",
                "normalizedname": "confirmrecreate-noreason",
                "*": "User [[User:$1|$1]] ([[User talk:$1|talk]]) {{GENDER:$1|deleted}} this page after you started editing. Please confirm that you really want to recreate this page."
            },
            {
                "name": "content-failed-to-parse",
                "normalizedname": "content-failed-to-parse",
                "*": "Failed to parse $2 content for $1 model: $3"
            },
            {
                "name": "content-json-empty-array",
                "normalizedname": "content-json-empty-array",
                "*": "Empty array"
            },
            {
                "name": "content-json-empty-object",
                "normalizedname": "content-json-empty-object",
                "*": "Empty object"
            },
            {
                "name": "content-model-css",
                "normalizedname": "content-model-css",
                "*": "CSS"
            },
            {
                "name": "content-model-javascript",
                "normalizedname": "content-model-javascript",
                "*": "JavaScript"
            },
            {
                "name": "content-model-json",
                "normalizedname": "content-model-json",
                "*": "JSON"
            },
            {
                "name": "content-model-text",
                "normalizedname": "content-model-text",
                "*": "plain text"
            },
            {
                "name": "content-model-wikitext",
                "normalizedname": "content-model-wikitext",
                "*": "wikitext"
            },
            {
                "name": "content-not-allowed-here",
                "normalizedname": "content-not-allowed-here",
                "*": "\"$1\" content is not allowed on page [[$2]]"
            },
            {
                "name": "contentmodelediterror",
                "normalizedname": "contentmodelediterror",
                "*": "You cannot edit this revision because its content model is <code>$1</code>, which differs from the current content model of the page <code>$2</code>."
            },
            {
                "name": "continue-editing",
                "normalizedname": "continue-editing",
                "*": "Go to editing area"
            },
            {
                "name": "contribslink",
                "normalizedname": "contribslink",
                "*": "contribs"
            },
            {
                "name": "contribsub2",
                "normalizedname": "contribsub2",
                "*": "For {{GENDER:$3|$1}} ($2)"
            },
            {
                "name": "contributions",
                "normalizedname": "contributions",
                "*": "{{GENDER:$1|User}} contributions"
            },
            {
                "name": "contributions-summary",
                "normalizedname": "contributions-summary",
                "*": ""
            },
            {
                "name": "contributions-title",
                "normalizedname": "contributions-title",
                "*": "User contributions for $1"
            },
            {
                "name": "contributions-userdoesnotexist",
                "normalizedname": "contributions-userdoesnotexist",
                "*": "User account \"$1\" is not registered."
            },
            {
                "name": "converter-manual-rule-error",
                "normalizedname": "converter-manual-rule-error",
                "*": "Error detected in manual language conversion rule"
            },
            {
                "name": "copyright",
                "normalizedname": "copyright",
                "*": "Content is available under $1 unless otherwise noted."
            },
            {
                "name": "copyrightpage",
                "normalizedname": "copyrightpage",
                "*": "{{ns:project}}:Copyrights"
            },
            {
                "name": "copyrightwarning",
                "normalizedname": "copyrightwarning",
                "*": "Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details).\nIf you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.\n<strong>Do not submit copyrighted work without permission!</strong>"
            },
            {
                "name": "copyrightwarning2",
                "normalizedname": "copyrightwarning2",
                "*": "Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors.\nIf you do not want your writing to be edited mercilessly, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see $1 for details).\n<strong>Do not submit copyrighted work without permission!</strong>"
            },
            {
                "name": "copyuploaddisabled",
                "normalizedname": "copyuploaddisabled",
                "*": "Upload by URL disabled."
            },
            {
                "name": "create",
                "normalizedname": "create",
                "*": "Create"
            },
            {
                "name": "create-local",
                "normalizedname": "create-local",
                "*": "Add local description"
            },
            {
                "name": "createaccount",
                "normalizedname": "createaccount",
                "*": "Create account"
            },
            {
                "name": "createaccount-hook-aborted",
                "normalizedname": "createaccount-hook-aborted",
                "*": "$1"
            },
            {
                "name": "createaccount-text",
                "normalizedname": "createaccount-text",
                "*": "Someone created an account for your email address on {{SITENAME}} ($4) named \"$2\", with password \"$3\".\nYou should log in and change your password now.\n\nYou may ignore this message, if this account was created in error."
            },
            {
                "name": "createaccount-title",
                "normalizedname": "createaccount-title",
                "*": "Account creation for {{SITENAME}}"
            },
            {
                "name": "createaccountblock",
                "normalizedname": "createaccountblock",
                "*": "account creation disabled"
            },
            {
                "name": "createaccounterror",
                "normalizedname": "createaccounterror",
                "*": "Could not create account: $1"
            },
            {
                "name": "createaccountmail",
                "normalizedname": "createaccountmail",
                "*": "Use a temporary random password and send it to the specified email address"
            },
            {
                "name": "createaccountmail-help",
                "normalizedname": "createaccountmail-help",
                "*": "Can be used to create account for another person without learning the password."
            },
            {
                "name": "createacct-another-continue-submit",
                "normalizedname": "createacct-another-continue-submit",
                "*": "Continue account creation"
            },
            {
                "name": "createacct-another-email-ph",
                "normalizedname": "createacct-another-email-ph",
                "*": "Enter email address"
            },
            {
                "name": "createacct-another-realname-tip",
                "normalizedname": "createacct-another-realname-tip",
                "*": "Real name is optional.\nIf you choose to provide it, this will be used for giving the user attribution for their work."
            },
            {
                "name": "createacct-another-submit",
                "normalizedname": "createacct-another-submit",
                "*": "Create account"
            },
            {
                "name": "createacct-another-username-ph",
                "normalizedname": "createacct-another-username-ph",
                "*": "Enter the username"
            },
            {
                "name": "createacct-benefit-body1",
                "normalizedname": "createacct-benefit-body1",
                "*": "{{PLURAL:$1|edit|edits}}"
            },
            {
                "name": "createacct-benefit-body2",
                "normalizedname": "createacct-benefit-body2",
                "*": "{{PLURAL:$1|page|pages}}"
            },
            {
                "name": "createacct-benefit-body3",
                "normalizedname": "createacct-benefit-body3",
                "*": "recent {{PLURAL:$1|contributor|contributors}}"
            },
            {
                "name": "createacct-benefit-head1",
                "normalizedname": "createacct-benefit-head1",
                "*": "{{NUMBEROFEDITS}}"
            },
            {
                "name": "createacct-benefit-head2",
                "normalizedname": "createacct-benefit-head2",
                "*": "{{NUMBEROFARTICLES}}"
            },
            {
                "name": "createacct-benefit-head3",
                "normalizedname": "createacct-benefit-head3",
                "*": "{{NUMBEROFACTIVEUSERS}}"
            },
            {
                "name": "createacct-benefit-heading",
                "normalizedname": "createacct-benefit-heading",
                "*": "{{SITENAME}} is made by people like you."
            },
            {
                "name": "createacct-benefit-icon1",
                "normalizedname": "createacct-benefit-icon1",
                "*": "icon-edits"
            },
            {
                "name": "createacct-benefit-icon2",
                "normalizedname": "createacct-benefit-icon2",
                "*": "icon-pages"
            },
            {
                "name": "createacct-benefit-icon3",
                "normalizedname": "createacct-benefit-icon3",
                "*": "icon-contributors"
            },
            {
                "name": "createacct-continue-submit",
                "normalizedname": "createacct-continue-submit",
                "*": "Continue account creation"
            },
            {
                "name": "createacct-email-ph",
                "normalizedname": "createacct-email-ph",
                "*": "Enter your email address"
            },
            {
                "name": "createacct-emailoptional",
                "normalizedname": "createacct-emailoptional",
                "*": "Email address (optional)"
            },
            {
                "name": "createacct-emailrequired",
                "normalizedname": "createacct-emailrequired",
                "*": "Email address"
            },
            {
                "name": "createacct-error",
                "normalizedname": "createacct-error",
                "*": "Account creation error"
            },
            {
                "name": "createacct-helpusername",
                "normalizedname": "createacct-helpusername",
                "*": ""
            },
            {
                "name": "createacct-imgcaptcha-help",
                "normalizedname": "createacct-imgcaptcha-help",
                "*": ""
            },
            {
                "name": "createacct-loginerror",
                "normalizedname": "createacct-loginerror",
                "*": "The account was successfully created but you could not be logged in automatically. Please proceed to [[Special:UserLogin|manual login]]."
            },
            {
                "name": "createacct-realname",
                "normalizedname": "createacct-realname",
                "*": "Real name (optional)"
            },
            {
                "name": "createacct-reason",
                "normalizedname": "createacct-reason",
                "*": "Reason"
            },
            {
                "name": "createacct-reason-help",
                "normalizedname": "createacct-reason-help",
                "*": "Message shown in the account creation log"
            },
            {
                "name": "createacct-reason-ph",
                "normalizedname": "createacct-reason-ph",
                "*": "Why you are creating another account"
            },
            {
                "name": "createacct-submit",
                "normalizedname": "createacct-submit",
                "*": "Create your account"
            },
            {
                "name": "createacct-yourpassword-ph",
                "normalizedname": "createacct-yourpassword-ph",
                "*": "Enter a password"
            },
            {
                "name": "createacct-yourpasswordagain",
                "normalizedname": "createacct-yourpasswordagain",
                "*": "Confirm password"
            },
            {
                "name": "createacct-yourpasswordagain-ph",
                "normalizedname": "createacct-yourpasswordagain-ph",
                "*": "Enter password again"
            },
            {
                "name": "created",
                "normalizedname": "created",
                "*": "created"
            },
            {
                "name": "creating",
                "normalizedname": "creating",
                "*": "Creating $1"
            },
            {
                "name": "credentialsform-account",
                "normalizedname": "credentialsform-account",
                "*": "Account name:"
            },
            {
                "name": "credentialsform-provider",
                "normalizedname": "credentialsform-provider",
                "*": "Credentials type:"
            },
            {
                "name": "creditspage",
                "normalizedname": "creditspage",
                "*": "Page credits"
            },
            {
                "name": "cur",
                "normalizedname": "cur",
                "*": "cur"
            },
            {
                "name": "currentevents",
                "normalizedname": "currentevents",
                "*": "Current events"
            },
            {
                "name": "currentevents-url",
                "normalizedname": "currentevents-url",
                "*": "Project:Current events"
            },
            {
                "name": "currentrev",
                "normalizedname": "currentrev",
                "*": "Latest revision"
            },
            {
                "name": "currentrev-asof",
                "normalizedname": "currentrev-asof",
                "*": "Latest revision as of $1"
            },
            {
                "name": "currentrevisionlink",
                "normalizedname": "currentrevisionlink",
                "*": "Latest revision"
            },
            {
                "name": "customcssprotected",
                "normalizedname": "customcssprotected",
                "*": "You do not have permission to edit this CSS page because it contains another user's personal settings."
            },
            {
                "name": "customjsonprotected",
                "normalizedname": "customjsonprotected",
                "*": "You do not have permission to edit this JSON page because it contains another user's personal settings."
            },
            {
                "name": "customjsprotected",
                "normalizedname": "customjsprotected",
                "*": "You do not have permission to edit this JavaScript page because it contains another user's personal settings."
            },
            {
                "name": "databaseerror",
                "normalizedname": "databaseerror",
                "*": "Database error"
            },
            {
                "name": "databaseerror-error",
                "normalizedname": "databaseerror-error",
                "*": "Error: $1"
            },
            {
                "name": "databaseerror-function",
                "normalizedname": "databaseerror-function",
                "*": "Function: $1"
            },
            {
                "name": "databaseerror-query",
                "normalizedname": "databaseerror-query",
                "*": "Query: $1"
            },
            {
                "name": "databaseerror-text",
                "normalizedname": "databaseerror-text",
                "*": "A database query error has occurred.\nThis may indicate a bug in the software."
            },
            {
                "name": "databaseerror-textcl",
                "normalizedname": "databaseerror-textcl",
                "*": "A database query error has occurred."
            },
            {
                "name": "databaselocked",
                "normalizedname": "databaselocked",
                "*": "The database is already locked."
            },
            {
                "name": "databasenotlocked",
                "normalizedname": "databasenotlocked",
                "*": "The database is not locked."
            },
            {
                "name": "date-range-from",
                "normalizedname": "date-range-from",
                "*": "From date:"
            },
            {
                "name": "date-range-to",
                "normalizedname": "date-range-to",
                "*": "To date:"
            },
            {
                "name": "datedefault",
                "normalizedname": "datedefault",
                "*": "No preference"
            },
            {
                "name": "days",
                "normalizedname": "days",
                "*": "{{PLURAL:$1|$1 day|$1 days}}"
            },
            {
                "name": "days-abbrev",
                "normalizedname": "days-abbrev",
                "*": "$1 d"
            },
            {
                "name": "dberr-again",
                "normalizedname": "dberr-again",
                "*": "Try waiting a few minutes and reloading."
            },
            {
                "name": "dberr-cachederror",
                "normalizedname": "dberr-cachederror",
                "*": "This is a cached copy of the requested page, and may not be up to date."
            },
            {
                "name": "dberr-info",
                "normalizedname": "dberr-info",
                "*": "(Cannot access the database: $1)"
            },
            {
                "name": "dberr-info-hidden",
                "normalizedname": "dberr-info-hidden",
                "*": "(Cannot access the database)"
            },
            {
                "name": "dberr-outofdate",
                "normalizedname": "dberr-outofdate",
                "*": "Note that their indexes of our content may be out of date."
            },
            {
                "name": "dberr-problems",
                "normalizedname": "dberr-problems",
                "*": "Sorry! This site is experiencing technical difficulties."
            },
            {
                "name": "dberr-usegoogle",
                "normalizedname": "dberr-usegoogle",
                "*": "You can try searching via Google in the meantime."
            },
            {
                "name": "deadendpages",
                "normalizedname": "deadendpages",
                "*": "Dead-end pages"
            },
            {
                "name": "deadendpages-summary",
                "normalizedname": "deadendpages-summary",
                "*": ""
            },
            {
                "name": "deadendpagestext",
                "normalizedname": "deadendpagestext",
                "*": "The following pages do not link to other pages in {{SITENAME}}."
            },
            {
                "name": "dec",
                "normalizedname": "dec",
                "*": "Dec"
            },
            {
                "name": "december",
                "normalizedname": "december",
                "*": "December"
            },
            {
                "name": "december-date",
                "normalizedname": "december-date",
                "*": "December $1"
            },
            {
                "name": "december-gen",
                "normalizedname": "december-gen",
                "*": "December"
            },
            {
                "name": "default",
                "normalizedname": "default",
                "*": "default"
            },
            {
                "name": "default-skin-not-found",
                "normalizedname": "default-skin-not-found",
                "*": "Whoops! The default skin for your wiki, defined in <code dir=\"ltr\">$wgDefaultSkin</code> as <code>$1</code>, is not available.\n\nYour installation seems to include the following {{PLURAL:$4|skin|skins}}. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable {{PLURAL:$4|it|them and choose the default}}.\n\n$2\n\n; If you have just installed MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected. Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n:* Downloading individual skin tarballs from [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Using Git to download skins].\n: Doing this should not interfere with your git repository if you're a MediaWiki developer.\n\n; If you have just upgraded MediaWiki:\n: MediaWiki 1.24 and newer no longer automatically enables installed skins (see [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). You can paste the following {{PLURAL:$5|line|lines}} into <code>LocalSettings.php</code> to enable {{PLURAL:$5|the|all}} installed {{PLURAL:$5|skin|skins}}:\n\n<pre dir=\"ltr\">$3</pre>\n\n; If you have just modified <code>LocalSettings.php</code>:\n: Double-check the skin names for typos."
            },
            {
                "name": "default-skin-not-found-no-skins",
                "normalizedname": "default-skin-not-found-no-skins",
                "*": "Whoops! The default skin for your wiki, defined in <code>$wgDefaultSkin</code> as <code>$1</code>, is not available.\n\nYou have no installed skins.\n\n; If you have just installed or upgraded MediaWiki:\n: You probably installed from git, or directly from the source code using some other method. This is expected. MediaWiki 1.24 and newer doesn't include any skins in the main repository. Try installing some skins from [https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Download tarball installer], which comes with several skins and extensions. You can copy and paste the <code>skins/</code> directory from it.\n:* Downloading individual skin tarballs from [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins Using Git to download skins].\n: Doing this should not interfere with your git repository if you're a MediaWiki developer. See [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] for information how to enable skins and choose the default."
            },
            {
                "name": "default-skin-not-found-row-disabled",
                "normalizedname": "default-skin-not-found-row-disabled",
                "*": "* <code>$1</code> / $2 (<strong>disabled</strong>)"
            },
            {
                "name": "default-skin-not-found-row-enabled",
                "normalizedname": "default-skin-not-found-row-enabled",
                "*": "* <code>$1</code> / $2 (enabled)"
            },
            {
                "name": "defaultmessagetext",
                "normalizedname": "defaultmessagetext",
                "*": "Default message text"
            },
            {
                "name": "defemailsubject",
                "normalizedname": "defemailsubject",
                "*": "{{SITENAME}} email from user \"$1\""
            },
            {
                "name": "delete",
                "normalizedname": "delete",
                "*": "Delete"
            },
            {
                "name": "delete-confirm",
                "normalizedname": "delete-confirm",
                "*": "Delete \"$1\""
            },
            {
                "name": "delete-edit-reasonlist",
                "normalizedname": "delete-edit-reasonlist",
                "*": "Edit deletion reasons"
            },
            {
                "name": "delete-hook-aborted",
                "normalizedname": "delete-hook-aborted",
                "*": "Deletion aborted by hook.\nIt gave no explanation."
            },
            {
                "name": "delete-legend",
                "normalizedname": "delete-legend",
                "*": "Delete"
            },
            {
                "name": "delete-toobig",
                "normalizedname": "delete-toobig",
                "*": "This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeletion of such pages has been restricted to prevent accidental disruption of {{SITENAME}}."
            },
            {
                "name": "delete-warning-toobig",
                "normalizedname": "delete-warning-toobig",
                "*": "This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeleting it may disrupt database operations of {{SITENAME}};\nproceed with caution."
            },
            {
                "name": "delete_and_move_confirm",
                "normalizedname": "delete_and_move_confirm",
                "*": "Yes, delete the page"
            },
            {
                "name": "delete_and_move_reason",
                "normalizedname": "delete_and_move_reason",
                "*": "Deleted to make way for move from \"[[$1]]\""
            },
            {
                "name": "delete_and_move_text",
                "normalizedname": "delete_and_move_text",
                "*": "The destination page \"[[:$1]]\" already exists.\nDo you want to delete it to make way for the move?"
            },
            {
                "name": "deletecomment",
                "normalizedname": "deletecomment",
                "*": "Reason:"
            },
            {
                "name": "deletedarticle",
                "normalizedname": "deletedarticle",
                "*": "deleted \"[[$1]]\""
            },
            {
                "name": "deletedcontributions",
                "normalizedname": "deletedcontributions",
                "*": "Deleted user contributions"
            },
            {
                "name": "deletedcontributions-summary",
                "normalizedname": "deletedcontributions-summary",
                "*": ""
            },
            {
                "name": "deletedcontributions-title",
                "normalizedname": "deletedcontributions-title",
                "*": "Deleted user contributions"
            },
            {
                "name": "deletedhist",
                "normalizedname": "deletedhist",
                "*": "Deleted history"
            },
            {
                "name": "deletedrevision",
                "normalizedname": "deletedrevision",
                "*": "Deleted old revision $1"
            },
            {
                "name": "deletedtext",
                "normalizedname": "deletedtext",
                "*": "\"$1\" has been deleted.\nSee $2 for a record of recent deletions."
            },
            {
                "name": "deletedwhileediting",
                "normalizedname": "deletedwhileediting",
                "*": "<strong>Warning:</strong> This page was deleted after you started editing!"
            },
            {
                "name": "deleteotherreason",
                "normalizedname": "deleteotherreason",
                "*": "Other/additional reason:"
            },
            {
                "name": "deletepage",
                "normalizedname": "deletepage",
                "*": "Delete page"
            },
            {
                "name": "deleteprotected",
                "normalizedname": "deleteprotected",
                "*": "You cannot delete this page because it has been protected."
            },
            {
                "name": "deletereason-dropdown",
                "normalizedname": "deletereason-dropdown",
                "*": "* Common delete reasons\n** Spam\n** Vandalism\n** Copyright violation\n** Author request\n** Broken redirect"
            },
            {
                "name": "deletereasonotherlist",
                "normalizedname": "deletereasonotherlist",
                "*": "Other reason"
            },
            {
                "name": "deleting-backlinks-warning",
                "normalizedname": "deleting-backlinks-warning",
                "*": "<strong>Warning:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|Other pages]] link to or transclude the page you are about to delete."
            },
            {
                "name": "deleting-subpages-warning",
                "normalizedname": "deleting-subpages-warning",
                "*": "<strong>Warning:</strong> The page you are about to delete has [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|a subpage|$1 subpages|51=over 50 subpages}}]]."
            },
            {
                "name": "deletionlog",
                "normalizedname": "deletionlog",
                "*": "deletion log"
            },
            {
                "name": "dellogpage",
                "normalizedname": "dellogpage",
                "*": "Deletion log"
            },
            {
                "name": "dellogpagetext",
                "normalizedname": "dellogpagetext",
                "*": "Below is a list of the most recent deletions."
            },
            {
                "name": "deprecated-self-close-category",
                "normalizedname": "deprecated-self-close-category",
                "*": "Pages using invalid self-closed HTML tags"
            },
            {
                "name": "deprecated-self-close-category-desc",
                "normalizedname": "deprecated-self-close-category-desc",
                "*": "The page contains invalid self-closed HTML tags, such as <code>&lt;b/></code> or <code>&lt;span/></code>.  The behavior of these will change soon to be consistent with the HTML5 specification, so their use in wikitext is deprecated."
            },
            {
                "name": "descending_abbrev",
                "normalizedname": "descending_abbrev",
                "*": "desc"
            },
            {
                "name": "destfilename",
                "normalizedname": "destfilename",
                "*": "Destination filename:"
            },
            {
                "name": "diff",
                "normalizedname": "diff",
                "*": "diff"
            },
            {
                "name": "diff-empty",
                "normalizedname": "diff-empty",
                "*": "(No difference)"
            },
            {
                "name": "diff-form",
                "normalizedname": "diff-form",
                "*": "Differences"
            },
            {
                "name": "diff-form-oldid",
                "normalizedname": "diff-form-oldid",
                "*": "Old revision ID (optional)"
            },
            {
                "name": "diff-form-revid",
                "normalizedname": "diff-form-revid",
                "*": "Revision ID of difference"
            },
            {
                "name": "diff-form-submit",
                "normalizedname": "diff-form-submit",
                "*": "Show differences"
            },
            {
                "name": "diff-form-summary",
                "normalizedname": "diff-form-summary",
                "*": ""
            },
            {
                "name": "diff-multi-manyusers",
                "normalizedname": "diff-multi-manyusers",
                "*": "({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by more than $2 {{PLURAL:$2|user|users}} not shown)"
            },
            {
                "name": "diff-multi-otherusers",
                "normalizedname": "diff-multi-otherusers",
                "*": "({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by {{PLURAL:$2|one other user|$2 users}} not shown)"
            },
            {
                "name": "diff-multi-sameuser",
                "normalizedname": "diff-multi-sameuser",
                "*": "({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by the same user not shown)"
            },
            {
                "name": "diff-paragraph-moved-tonew",
                "normalizedname": "diff-paragraph-moved-tonew",
                "*": "Paragraph was moved. Click to jump to new location."
            },
            {
                "name": "diff-paragraph-moved-toold",
                "normalizedname": "diff-paragraph-moved-toold",
                "*": "Paragraph was moved. Click to jump to old location."
            },
            {
                "name": "difference-missing-revision",
                "normalizedname": "difference-missing-revision",
                "*": "{{PLURAL:$2|One revision|$2 revisions}} of this difference ($1) {{PLURAL:$2|was|were}} not found.\n\nThis is usually caused by following an outdated diff link to a page that has been deleted.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "difference-multipage",
                "normalizedname": "difference-multipage",
                "*": "(Difference between pages)"
            },
            {
                "name": "difference-title",
                "normalizedname": "difference-title",
                "*": "Difference between revisions of \"$1\""
            },
            {
                "name": "difference-title-multipage",
                "normalizedname": "difference-title-multipage",
                "*": "Difference between pages \"$1\" and \"$2\""
            },
            {
                "name": "directorycreateerror",
                "normalizedname": "directorycreateerror",
                "*": "Could not create directory \"$1\"."
            },
            {
                "name": "directorynotreadableerror",
                "normalizedname": "directorynotreadableerror",
                "*": "Directory \"$1\" is not readable."
            },
            {
                "name": "directoryreadonlyerror",
                "normalizedname": "directoryreadonlyerror",
                "*": "Directory \"$1\" is read-only."
            },
            {
                "name": "disclaimerpage",
                "normalizedname": "disclaimerpage",
                "*": "Project:General disclaimer"
            },
            {
                "name": "disclaimers",
                "normalizedname": "disclaimers",
                "*": "Disclaimers"
            },
            {
                "name": "djvu_no_xml",
                "normalizedname": "djvu_no_xml",
                "*": "Unable to fetch XML for DjVu file"
            },
            {
                "name": "djvu_page_error",
                "normalizedname": "djvu_page_error",
                "*": "DjVu page out of range"
            },
            {
                "name": "double-redirect-fixed-maintenance",
                "normalizedname": "double-redirect-fixed-maintenance",
                "*": "Automatically fixing double redirect from [[$1]] to [[$2]] in a maintenance job"
            },
            {
                "name": "double-redirect-fixed-move",
                "normalizedname": "double-redirect-fixed-move",
                "*": "[[$1]] has been moved.\nIt was automatically updated and now it redirects to [[$2]]."
            },
            {
                "name": "double-redirect-fixer",
                "normalizedname": "double-redirect-fixer",
                "*": "Redirect fixer"
            },
            {
                "name": "doubleredirects",
                "normalizedname": "doubleredirects",
                "*": "Double redirects"
            },
            {
                "name": "doubleredirects-summary",
                "normalizedname": "doubleredirects-summary",
                "*": ""
            },
            {
                "name": "doubleredirectstext",
                "normalizedname": "doubleredirectstext",
                "*": "This page lists pages that redirect to other redirect pages.\nEach row contains links to the first and second redirect, as well as the target of the second redirect, which is usually the \"real\" target page to which the first redirect should point.\n<del>Crossed out</del> entries have been solved."
            },
            {
                "name": "download",
                "normalizedname": "download",
                "*": "download"
            },
            {
                "name": "duplicate-args-category",
                "normalizedname": "duplicate-args-category",
                "*": "Pages using duplicate arguments in template calls"
            },
            {
                "name": "duplicate-args-category-desc",
                "normalizedname": "duplicate-args-category-desc",
                "*": "The page contains template calls that use duplicates of arguments, such as <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> or <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>."
            },
            {
                "name": "duplicate-args-warning",
                "normalizedname": "duplicate-args-warning",
                "*": "<strong>Warning:</strong> [[:$1]] is calling [[:$2]] with more than one value for the \"$3\" parameter. Only the last value provided will be used."
            },
            {
                "name": "duplicate-defaultsort",
                "normalizedname": "duplicate-defaultsort",
                "*": "<strong>Warning:</strong> Default sort key \"$2\" overrides earlier default sort key \"$1\"."
            },
            {
                "name": "duplicate-displaytitle",
                "normalizedname": "duplicate-displaytitle",
                "*": "<strong>Warning:</strong> Display title \"$2\" overrides earlier display title \"$1\"."
            },
            {
                "name": "duplicatesoffile",
                "normalizedname": "duplicatesoffile",
                "*": "The following {{PLURAL:$1|file is a duplicate|$1 files are duplicates}} of this file ([[Special:FileDuplicateSearch/$2|more details]]):"
            },
            {
                "name": "duration-centuries",
                "normalizedname": "duration-centuries",
                "*": "$1 {{PLURAL:$1|century|centuries}}"
            },
            {
                "name": "duration-days",
                "normalizedname": "duration-days",
                "*": "$1 {{PLURAL:$1|day|days}}"
            },
            {
                "name": "duration-decades",
                "normalizedname": "duration-decades",
                "*": "$1 {{PLURAL:$1|decade|decades}}"
            },
            {
                "name": "duration-hours",
                "normalizedname": "duration-hours",
                "*": "$1 {{PLURAL:$1|hour|hours}}"
            },
            {
                "name": "duration-millennia",
                "normalizedname": "duration-millennia",
                "*": "$1 {{PLURAL:$1|millennium|millennia}}"
            },
            {
                "name": "duration-minutes",
                "normalizedname": "duration-minutes",
                "*": "$1 {{PLURAL:$1|minute|minutes}}"
            },
            {
                "name": "duration-seconds",
                "normalizedname": "duration-seconds",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "duration-weeks",
                "normalizedname": "duration-weeks",
                "*": "$1 {{PLURAL:$1|week|weeks}}"
            },
            {
                "name": "duration-years",
                "normalizedname": "duration-years",
                "*": "$1 {{PLURAL:$1|year|years}}"
            },
            {
                "name": "eauthentsent",
                "normalizedname": "eauthentsent",
                "*": "A confirmation email has been sent to the specified email address.\nBefore any other email is sent to the account, you will have to follow the instructions in the email, to confirm that the account is actually yours."
            },
            {
                "name": "edit",
                "normalizedname": "edit",
                "*": "Edit"
            },
            {
                "name": "edit-already-exists",
                "normalizedname": "edit-already-exists",
                "*": "Could not create a new page.\nIt already exists."
            },
            {
                "name": "edit-conflict",
                "normalizedname": "edit-conflict",
                "*": "Edit conflict."
            },
            {
                "name": "edit-error-long",
                "normalizedname": "edit-error-long",
                "*": "Errors:\n\n$1"
            },
            {
                "name": "edit-error-short",
                "normalizedname": "edit-error-short",
                "*": "Error: $1"
            },
            {
                "name": "edit-gone-missing",
                "normalizedname": "edit-gone-missing",
                "*": "Could not update the page.\nIt appears to have been deleted."
            },
            {
                "name": "edit-hook-aborted",
                "normalizedname": "edit-hook-aborted",
                "*": "Edit aborted by hook.\nIt gave no explanation."
            },
            {
                "name": "edit-local",
                "normalizedname": "edit-local",
                "*": "Edit local description"
            },
            {
                "name": "edit-no-change",
                "normalizedname": "edit-no-change",
                "*": "Your edit was ignored because no change was made to the text."
            },
            {
                "name": "edit_form_incomplete",
                "normalizedname": "edit_form_incomplete",
                "*": "<strong>Some parts of the edit form did not reach the server; double-check that your edits are intact and try again.</strong>"
            },
            {
                "name": "editcomment",
                "normalizedname": "editcomment",
                "*": "The edit summary was: <em>$1</em>."
            },
            {
                "name": "editconflict",
                "normalizedname": "editconflict",
                "*": "Edit conflict: $1"
            },
            {
                "name": "editfont-monospace",
                "normalizedname": "editfont-monospace",
                "*": "Monospaced font"
            },
            {
                "name": "editfont-sansserif",
                "normalizedname": "editfont-sansserif",
                "*": "Sans-serif font"
            },
            {
                "name": "editfont-serif",
                "normalizedname": "editfont-serif",
                "*": "Serif font"
            },
            {
                "name": "editfont-style",
                "normalizedname": "editfont-style",
                "*": "Edit area font style:"
            },
            {
                "name": "edithelp",
                "normalizedname": "edithelp",
                "*": "Editing help"
            },
            {
                "name": "edithelppage",
                "normalizedname": "edithelppage",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Editing_pages"
            },
            {
                "name": "editing",
                "normalizedname": "editing",
                "*": "Editing $1"
            },
            {
                "name": "editingcomment",
                "normalizedname": "editingcomment",
                "*": "Editing $1 (new section)"
            },
            {
                "name": "editinginterface",
                "normalizedname": "editinginterface",
                "*": "<strong>Warning:</strong> You are editing a page that is used to provide interface text for the software.\nChanges to this page will affect the appearance of the user interface for other users on this wiki."
            },
            {
                "name": "editingold",
                "normalizedname": "editingold",
                "*": "<strong>Warning: You are editing an out-of-date revision of this page.</strong>\nIf you save it, any changes made since this revision will be lost."
            },
            {
                "name": "editingsection",
                "normalizedname": "editingsection",
                "*": "Editing $1 (section)"
            },
            {
                "name": "editinguser",
                "normalizedname": "editinguser",
                "*": "Changing user rights of {{GENDER:$1|user}} <strong>[[User:$1|$1]]</strong> $2"
            },
            {
                "name": "editlink",
                "normalizedname": "editlink",
                "*": "edit"
            },
            {
                "name": "editnotice-notext",
                "normalizedname": "editnotice-notext",
                "*": "-"
            },
            {
                "name": "editold",
                "normalizedname": "editold",
                "*": "edit"
            },
            {
                "name": "editpage-cannot-use-custom-model",
                "normalizedname": "editpage-cannot-use-custom-model",
                "*": "The content model of this page cannot be changed."
            },
            {
                "name": "editpage-head-copy-warn",
                "normalizedname": "editpage-head-copy-warn",
                "*": "-"
            },
            {
                "name": "editpage-invalidcontentmodel-text",
                "normalizedname": "editpage-invalidcontentmodel-text",
                "*": "The content model \"$1\" is not supported."
            },
            {
                "name": "editpage-invalidcontentmodel-title",
                "normalizedname": "editpage-invalidcontentmodel-title",
                "*": "Content model not supported"
            },
            {
                "name": "editpage-notsupportedcontentformat-text",
                "normalizedname": "editpage-notsupportedcontentformat-text",
                "*": "The content format $1 is not supported by the content model $2."
            },
            {
                "name": "editpage-notsupportedcontentformat-title",
                "normalizedname": "editpage-notsupportedcontentformat-title",
                "*": "Content format not supported"
            },
            {
                "name": "editpage-tos-summary",
                "normalizedname": "editpage-tos-summary",
                "*": "-"
            },
            {
                "name": "editsection",
                "normalizedname": "editsection",
                "*": "edit"
            },
            {
                "name": "editsectionhint",
                "normalizedname": "editsectionhint",
                "*": "Edit section: $1"
            },
            {
                "name": "edittools",
                "normalizedname": "edittools",
                "*": "<!-- Text here will be shown below edit and upload forms. -->"
            },
            {
                "name": "edittools-upload",
                "normalizedname": "edittools-upload",
                "*": "-"
            },
            {
                "name": "editundo",
                "normalizedname": "editundo",
                "*": "undo"
            },
            {
                "name": "editusergroup",
                "normalizedname": "editusergroup",
                "*": "Load user groups"
            },
            {
                "name": "editwarning-warning",
                "normalizedname": "editwarning-warning",
                "*": "Leaving this page may cause you to lose any changes you have made.\nIf you are logged in, you can disable this warning in the \"{{int:prefs-editing}}\" section of your preferences."
            },
            {
                "name": "editwatchlist-summary",
                "normalizedname": "editwatchlist-summary",
                "*": ""
            },
            {
                "name": "ellipsis",
                "normalizedname": "ellipsis",
                "*": "..."
            },
            {
                "name": "email",
                "normalizedname": "email",
                "*": "Email"
            },
            {
                "name": "email-allow-new-users-label",
                "normalizedname": "email-allow-new-users-label",
                "*": "Allow emails from brand-new users"
            },
            {
                "name": "email-blacklist-label",
                "normalizedname": "email-blacklist-label",
                "*": "Prohibit these users from emailing me:"
            },
            {
                "name": "email-legend",
                "normalizedname": "email-legend",
                "*": "Send an email to another {{SITENAME}} user"
            },
            {
                "name": "emailauthenticated",
                "normalizedname": "emailauthenticated",
                "*": "Your email address was confirmed on $2 at $3."
            },
            {
                "name": "emailblock",
                "normalizedname": "emailblock",
                "*": "email disabled"
            },
            {
                "name": "emailccme",
                "normalizedname": "emailccme",
                "*": "Email me a copy of my message."
            },
            {
                "name": "emailccsubject",
                "normalizedname": "emailccsubject",
                "*": "Copy of your message to $1: $2"
            },
            {
                "name": "emailconfirmlink",
                "normalizedname": "emailconfirmlink",
                "*": "Confirm your email address"
            },
            {
                "name": "emaildisabled",
                "normalizedname": "emaildisabled",
                "*": "This site cannot send emails."
            },
            {
                "name": "emailfrom",
                "normalizedname": "emailfrom",
                "*": "From:"
            },
            {
                "name": "emaillink",
                "normalizedname": "emaillink",
                "*": "send email"
            },
            {
                "name": "emailmessage",
                "normalizedname": "emailmessage",
                "*": "Message:"
            },
            {
                "name": "emailnotarget",
                "normalizedname": "emailnotarget",
                "*": "Non-existent or invalid username for recipient."
            },
            {
                "name": "emailnotauthenticated",
                "normalizedname": "emailnotauthenticated",
                "*": "Your email address is not yet confirmed.\nNo email will be sent for any of the following features."
            },
            {
                "name": "emailpagetext",
                "normalizedname": "emailpagetext",
                "*": "You can use the form below to send an email message to this {{GENDER:$1|user}}.\nThe email address you entered in [[Special:Preferences|your user preferences]] will appear as the \"From\" address of the email, so the recipient will be able to reply directly to you."
            },
            {
                "name": "emailsend",
                "normalizedname": "emailsend",
                "*": "Send"
            },
            {
                "name": "emailsender",
                "normalizedname": "emailsender",
                "*": "{{SITENAME}}"
            },
            {
                "name": "emailsent",
                "normalizedname": "emailsent",
                "*": "Email sent"
            },
            {
                "name": "emailsenttext",
                "normalizedname": "emailsenttext",
                "*": "Your email message has been sent."
            },
            {
                "name": "emailsubject",
                "normalizedname": "emailsubject",
                "*": "Subject:"
            },
            {
                "name": "emailtarget",
                "normalizedname": "emailtarget",
                "*": "Enter username of recipient"
            },
            {
                "name": "emailto",
                "normalizedname": "emailto",
                "*": "To:"
            },
            {
                "name": "emailuser",
                "normalizedname": "emailuser",
                "*": "Email this user"
            },
            {
                "name": "emailuser-summary",
                "normalizedname": "emailuser-summary",
                "*": ""
            },
            {
                "name": "emailuser-title-notarget",
                "normalizedname": "emailuser-title-notarget",
                "*": "Email user"
            },
            {
                "name": "emailuser-title-target",
                "normalizedname": "emailuser-title-target",
                "*": "Email this {{GENDER:$1|user}}"
            },
            {
                "name": "emailuserfooter",
                "normalizedname": "emailuserfooter",
                "*": "This email was {{GENDER:$1|sent}} by $1 to {{GENDER:$2|$2}} by the \"{{int:emailuser}}\" function at {{SITENAME}}. If {{GENDER:$2|you}} reply to this email, {{GENDER:$2|your}} email will be sent directly to the {{GENDER:$1|original sender}}, revealing {{GENDER:$2|your}} email address to {{GENDER:$1|them}}."
            },
            {
                "name": "emailusername",
                "normalizedname": "emailusername",
                "*": "Username:"
            },
            {
                "name": "emailusernamesubmit",
                "normalizedname": "emailusernamesubmit",
                "*": "Submit"
            },
            {
                "name": "empty-file",
                "normalizedname": "empty-file",
                "*": "The file you submitted was empty."
            },
            {
                "name": "emptyfile",
                "normalizedname": "emptyfile",
                "*": "The file you uploaded seems to be empty.\nThis might be due to a typo in the filename.\nPlease check whether you really want to upload this file."
            },
            {
                "name": "enhancedrc-history",
                "normalizedname": "enhancedrc-history",
                "*": "history"
            },
            {
                "name": "enhancedrc-since-last-visit",
                "normalizedname": "enhancedrc-since-last-visit",
                "*": "$1 {{PLURAL:$1|since last visit}}"
            },
            {
                "name": "enotif_anon_editor",
                "normalizedname": "enotif_anon_editor",
                "*": "anonymous user $1"
            },
            {
                "name": "enotif_body",
                "normalizedname": "enotif_body",
                "*": "Dear $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nEditor's summary: $PAGESUMMARY $PAGEMINOREDIT\n\nContact the editor:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nThere will be no other notifications in case of further activity unless you visit this page while logged in. You could also reset the notification flags for all your watched pages on your watchlist.\n\nYour friendly {{SITENAME}} notification system\n\n--\nTo change your email notification settings, visit\n{{canonicalurl:{{#special:Preferences}}}}\n\nTo change your watchlist settings, visit\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nTo delete the page from your watchlist, visit\n$UNWATCHURL\n\nFeedback and further assistance:\n$HELPPAGE"
            },
            {
                "name": "enotif_body_intro_changed",
                "normalizedname": "enotif_body_intro_changed",
                "*": "The {{SITENAME}} page $1 has been {{GENDER:$2|changed}} on $PAGEEDITDATE by $2, see $3 for the current revision."
            },
            {
                "name": "enotif_body_intro_created",
                "normalizedname": "enotif_body_intro_created",
                "*": "The {{SITENAME}} page $1 has been {{GENDER:$2|created}} on $PAGEEDITDATE by $2, see $3 for the current revision."
            },
            {
                "name": "enotif_body_intro_deleted",
                "normalizedname": "enotif_body_intro_deleted",
                "*": "The {{SITENAME}} page $1 has been {{GENDER:$2|deleted}} on $PAGEEDITDATE by $2, see $3."
            },
            {
                "name": "enotif_body_intro_moved",
                "normalizedname": "enotif_body_intro_moved",
                "*": "The {{SITENAME}} page $1 has been {{GENDER:$2|moved}} on $PAGEEDITDATE by $2, see $3 for the current revision."
            },
            {
                "name": "enotif_body_intro_restored",
                "normalizedname": "enotif_body_intro_restored",
                "*": "The {{SITENAME}} page $1 has been {{GENDER:$2|restored}} on $PAGEEDITDATE by $2, see $3 for the current revision."
            },
            {
                "name": "enotif_impersonal_salutation",
                "normalizedname": "enotif_impersonal_salutation",
                "*": "{{SITENAME}} user"
            },
            {
                "name": "enotif_lastdiff",
                "normalizedname": "enotif_lastdiff",
                "*": "To view this change, see $1"
            },
            {
                "name": "enotif_lastvisited",
                "normalizedname": "enotif_lastvisited",
                "*": "For all changes since your last visit, see $1"
            },
            {
                "name": "enotif_minoredit",
                "normalizedname": "enotif_minoredit",
                "*": "This is a minor edit"
            },
            {
                "name": "enotif_reset",
                "normalizedname": "enotif_reset",
                "*": "Mark all pages visited"
            },
            {
                "name": "enotif_subject_changed",
                "normalizedname": "enotif_subject_changed",
                "*": "{{SITENAME}} page $1 has been {{GENDER:$2|changed}} by $2"
            },
            {
                "name": "enotif_subject_created",
                "normalizedname": "enotif_subject_created",
                "*": "{{SITENAME}} page $1 has been {{GENDER:$2|created}} by $2"
            },
            {
                "name": "enotif_subject_deleted",
                "normalizedname": "enotif_subject_deleted",
                "*": "{{SITENAME}} page $1 has been {{GENDER:$2|deleted}} by $2"
            },
            {
                "name": "enotif_subject_moved",
                "normalizedname": "enotif_subject_moved",
                "*": "{{SITENAME}} page $1 has been {{GENDER:$2|moved}} by $2"
            },
            {
                "name": "enotif_subject_restored",
                "normalizedname": "enotif_subject_restored",
                "*": "{{SITENAME}} page $1 has been {{GENDER:$2|restored}} by $2"
            },
            {
                "name": "enterlockreason",
                "normalizedname": "enterlockreason",
                "*": "Enter a reason for the lock, including an estimate of when the lock will be released"
            },
            {
                "name": "error",
                "normalizedname": "error",
                "*": "Error"
            },
            {
                "name": "errorpagetitle",
                "normalizedname": "errorpagetitle",
                "*": "Error"
            },
            {
                "name": "exbeforeblank",
                "normalizedname": "exbeforeblank",
                "*": "content before blanking was: \"$1\""
            },
            {
                "name": "exception-nologin",
                "normalizedname": "exception-nologin",
                "*": "Not logged in"
            },
            {
                "name": "exception-nologin-text",
                "normalizedname": "exception-nologin-text",
                "*": "Please log in to be able to access this page or action."
            },
            {
                "name": "exception-nologin-text-manual",
                "normalizedname": "exception-nologin-text-manual",
                "*": "Please $1 to be able to access this page or action."
            },
            {
                "name": "excontent",
                "normalizedname": "excontent",
                "*": "content was: \"$1\""
            },
            {
                "name": "excontentauthor",
                "normalizedname": "excontentauthor",
                "*": "content was: \"$1\", and the only contributor was \"[[Special:Contributions/$2|$2]]\" ([[User talk:$2|talk]])"
            },
            {
                "name": "exif-aperturevalue",
                "normalizedname": "exif-aperturevalue",
                "*": "APEX aperture"
            },
            {
                "name": "exif-artist",
                "normalizedname": "exif-artist",
                "*": "Author"
            },
            {
                "name": "exif-attributionurl",
                "normalizedname": "exif-attributionurl",
                "*": "When re-using this work, please link to"
            },
            {
                "name": "exif-bitspersample",
                "normalizedname": "exif-bitspersample",
                "*": "Bits per component"
            },
            {
                "name": "exif-brightnessvalue",
                "normalizedname": "exif-brightnessvalue",
                "*": "APEX brightness"
            },
            {
                "name": "exif-cameraownername",
                "normalizedname": "exif-cameraownername",
                "*": "Owner of camera"
            },
            {
                "name": "exif-citycreated",
                "normalizedname": "exif-citycreated",
                "*": "City that the picture was taken in"
            },
            {
                "name": "exif-citydest",
                "normalizedname": "exif-citydest",
                "*": "City shown"
            },
            {
                "name": "exif-colorspace",
                "normalizedname": "exif-colorspace",
                "*": "Color space"
            },
            {
                "name": "exif-colorspace-1",
                "normalizedname": "exif-colorspace-1",
                "*": "sRGB"
            },
            {
                "name": "exif-colorspace-65535",
                "normalizedname": "exif-colorspace-65535",
                "*": "Uncalibrated"
            },
            {
                "name": "exif-componentsconfiguration",
                "normalizedname": "exif-componentsconfiguration",
                "*": "Meaning of each component"
            },
            {
                "name": "exif-componentsconfiguration-0",
                "normalizedname": "exif-componentsconfiguration-0",
                "*": "does not exist"
            },
            {
                "name": "exif-componentsconfiguration-1",
                "normalizedname": "exif-componentsconfiguration-1",
                "*": "Y"
            },
            {
                "name": "exif-componentsconfiguration-2",
                "normalizedname": "exif-componentsconfiguration-2",
                "*": "Cb"
            },
            {
                "name": "exif-componentsconfiguration-3",
                "normalizedname": "exif-componentsconfiguration-3",
                "*": "Cr"
            },
            {
                "name": "exif-componentsconfiguration-4",
                "normalizedname": "exif-componentsconfiguration-4",
                "*": "R"
            },
            {
                "name": "exif-componentsconfiguration-5",
                "normalizedname": "exif-componentsconfiguration-5",
                "*": "G"
            },
            {
                "name": "exif-componentsconfiguration-6",
                "normalizedname": "exif-componentsconfiguration-6",
                "*": "B"
            },
            {
                "name": "exif-compressedbitsperpixel",
                "normalizedname": "exif-compressedbitsperpixel",
                "*": "Image compression mode"
            },
            {
                "name": "exif-compression",
                "normalizedname": "exif-compression",
                "*": "Compression scheme"
            },
            {
                "name": "exif-compression-1",
                "normalizedname": "exif-compression-1",
                "*": "Uncompressed"
            },
            {
                "name": "exif-compression-2",
                "normalizedname": "exif-compression-2",
                "*": "CCITT Group 3 1-Dimensional Modified Huffman run length encoding"
            },
            {
                "name": "exif-compression-3",
                "normalizedname": "exif-compression-3",
                "*": "CCITT Group 3 fax encoding"
            },
            {
                "name": "exif-compression-32773",
                "normalizedname": "exif-compression-32773",
                "*": "PackBits (Macintosh RLE)"
            },
            {
                "name": "exif-compression-32946",
                "normalizedname": "exif-compression-32946",
                "*": "Deflate (PKZIP)"
            },
            {
                "name": "exif-compression-34712",
                "normalizedname": "exif-compression-34712",
                "*": "JPEG2000"
            },
            {
                "name": "exif-compression-4",
                "normalizedname": "exif-compression-4",
                "*": "CCITT Group 4 fax encoding"
            },
            {
                "name": "exif-compression-5",
                "normalizedname": "exif-compression-5",
                "*": "LZW"
            },
            {
                "name": "exif-compression-6",
                "normalizedname": "exif-compression-6",
                "*": "JPEG (old)"
            },
            {
                "name": "exif-compression-7",
                "normalizedname": "exif-compression-7",
                "*": "JPEG"
            },
            {
                "name": "exif-compression-8",
                "normalizedname": "exif-compression-8",
                "*": "Deflate (Adobe)"
            },
            {
                "name": "exif-contact",
                "normalizedname": "exif-contact",
                "*": "Contact information"
            },
            {
                "name": "exif-contact-value",
                "normalizedname": "exif-contact-value",
                "*": "$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8"
            },
            {
                "name": "exif-contentwarning",
                "normalizedname": "exif-contentwarning",
                "*": "Content warning"
            },
            {
                "name": "exif-contrast",
                "normalizedname": "exif-contrast",
                "*": "Contrast"
            },
            {
                "name": "exif-contrast-0",
                "normalizedname": "exif-contrast-0",
                "*": "Normal"
            },
            {
                "name": "exif-contrast-1",
                "normalizedname": "exif-contrast-1",
                "*": "Soft"
            },
            {
                "name": "exif-contrast-2",
                "normalizedname": "exif-contrast-2",
                "*": "Hard"
            },
            {
                "name": "exif-coordinate-format",
                "normalizedname": "exif-coordinate-format",
                "*": "$1\u00b0 $2\u2032 $3\u2033 $4"
            },
            {
                "name": "exif-copyright",
                "normalizedname": "exif-copyright",
                "*": "Copyright holder"
            },
            {
                "name": "exif-copyrighted",
                "normalizedname": "exif-copyrighted",
                "*": "Copyright status"
            },
            {
                "name": "exif-copyrighted-false",
                "normalizedname": "exif-copyrighted-false",
                "*": "Copyright status not set"
            },
            {
                "name": "exif-copyrighted-true",
                "normalizedname": "exif-copyrighted-true",
                "*": "Copyrighted"
            },
            {
                "name": "exif-copyrightowner",
                "normalizedname": "exif-copyrightowner",
                "*": "Copyright owner"
            },
            {
                "name": "exif-countrycodecreated",
                "normalizedname": "exif-countrycodecreated",
                "*": "Code for the country that the picture was taken in"
            },
            {
                "name": "exif-countrycodedest",
                "normalizedname": "exif-countrycodedest",
                "*": "Code for country shown"
            },
            {
                "name": "exif-countrycreated",
                "normalizedname": "exif-countrycreated",
                "*": "Country that the picture was taken in"
            },
            {
                "name": "exif-countrydest",
                "normalizedname": "exif-countrydest",
                "*": "Country shown"
            },
            {
                "name": "exif-credit",
                "normalizedname": "exif-credit",
                "*": "Credit/Provider"
            },
            {
                "name": "exif-customrendered",
                "normalizedname": "exif-customrendered",
                "*": "Custom image processing"
            },
            {
                "name": "exif-customrendered-0",
                "normalizedname": "exif-customrendered-0",
                "*": "Normal process"
            },
            {
                "name": "exif-customrendered-1",
                "normalizedname": "exif-customrendered-1",
                "*": "Custom process"
            },
            {
                "name": "exif-datetime",
                "normalizedname": "exif-datetime",
                "*": "File change date and time"
            },
            {
                "name": "exif-datetimedigitized",
                "normalizedname": "exif-datetimedigitized",
                "*": "Date and time of digitizing"
            },
            {
                "name": "exif-datetimeexpires",
                "normalizedname": "exif-datetimeexpires",
                "*": "Do not use after"
            },
            {
                "name": "exif-datetimemetadata",
                "normalizedname": "exif-datetimemetadata",
                "*": "Date metadata was last modified"
            },
            {
                "name": "exif-datetimeoriginal",
                "normalizedname": "exif-datetimeoriginal",
                "*": "Date and time of data generation"
            },
            {
                "name": "exif-datetimereleased",
                "normalizedname": "exif-datetimereleased",
                "*": "Released on"
            },
            {
                "name": "exif-dc-contributor",
                "normalizedname": "exif-dc-contributor",
                "*": "Contributors"
            },
            {
                "name": "exif-dc-coverage",
                "normalizedname": "exif-dc-coverage",
                "*": "Spatial or temporal scope of media"
            },
            {
                "name": "exif-dc-date",
                "normalizedname": "exif-dc-date",
                "*": "Date(s)"
            },
            {
                "name": "exif-dc-publisher",
                "normalizedname": "exif-dc-publisher",
                "*": "Publisher"
            },
            {
                "name": "exif-dc-relation",
                "normalizedname": "exif-dc-relation",
                "*": "Related media"
            },
            {
                "name": "exif-dc-rights",
                "normalizedname": "exif-dc-rights",
                "*": "Rights"
            },
            {
                "name": "exif-dc-source",
                "normalizedname": "exif-dc-source",
                "*": "Source media"
            },
            {
                "name": "exif-dc-type",
                "normalizedname": "exif-dc-type",
                "*": "Type of media"
            },
            {
                "name": "exif-devicesettingdescription",
                "normalizedname": "exif-devicesettingdescription",
                "*": "Device settings description"
            },
            {
                "name": "exif-digitalzoomratio",
                "normalizedname": "exif-digitalzoomratio",
                "*": "Digital zoom ratio"
            },
            {
                "name": "exif-disclaimer",
                "normalizedname": "exif-disclaimer",
                "*": "Disclaimer"
            },
            {
                "name": "exif-editstatus",
                "normalizedname": "exif-editstatus",
                "*": "Editorial status of image"
            },
            {
                "name": "exif-event",
                "normalizedname": "exif-event",
                "*": "Event depicted"
            },
            {
                "name": "exif-exifversion",
                "normalizedname": "exif-exifversion",
                "*": "Exif version"
            },
            {
                "name": "exif-exposurebiasvalue",
                "normalizedname": "exif-exposurebiasvalue",
                "*": "APEX exposure bias"
            },
            {
                "name": "exif-exposureindex",
                "normalizedname": "exif-exposureindex",
                "*": "Exposure index"
            },
            {
                "name": "exif-exposuremode",
                "normalizedname": "exif-exposuremode",
                "*": "Exposure mode"
            },
            {
                "name": "exif-exposuremode-0",
                "normalizedname": "exif-exposuremode-0",
                "*": "Auto exposure"
            },
            {
                "name": "exif-exposuremode-1",
                "normalizedname": "exif-exposuremode-1",
                "*": "Manual exposure"
            },
            {
                "name": "exif-exposuremode-2",
                "normalizedname": "exif-exposuremode-2",
                "*": "Auto bracket"
            },
            {
                "name": "exif-exposureprogram",
                "normalizedname": "exif-exposureprogram",
                "*": "Exposure Program"
            },
            {
                "name": "exif-exposureprogram-0",
                "normalizedname": "exif-exposureprogram-0",
                "*": "Not defined"
            },
            {
                "name": "exif-exposureprogram-1",
                "normalizedname": "exif-exposureprogram-1",
                "*": "Manual"
            },
            {
                "name": "exif-exposureprogram-2",
                "normalizedname": "exif-exposureprogram-2",
                "*": "Normal program"
            },
            {
                "name": "exif-exposureprogram-3",
                "normalizedname": "exif-exposureprogram-3",
                "*": "Aperture priority"
            },
            {
                "name": "exif-exposureprogram-4",
                "normalizedname": "exif-exposureprogram-4",
                "*": "Shutter priority"
            },
            {
                "name": "exif-exposureprogram-5",
                "normalizedname": "exif-exposureprogram-5",
                "*": "Creative program (biased toward depth of field)"
            },
            {
                "name": "exif-exposureprogram-6",
                "normalizedname": "exif-exposureprogram-6",
                "*": "Action program (biased toward fast shutter speed)"
            },
            {
                "name": "exif-exposureprogram-7",
                "normalizedname": "exif-exposureprogram-7",
                "*": "Portrait mode (for closeup photos with the background out of focus)"
            },
            {
                "name": "exif-exposureprogram-8",
                "normalizedname": "exif-exposureprogram-8",
                "*": "Landscape mode (for landscape photos with the background in focus)"
            },
            {
                "name": "exif-exposuretime",
                "normalizedname": "exif-exposuretime",
                "*": "Exposure time"
            },
            {
                "name": "exif-exposuretime-format",
                "normalizedname": "exif-exposuretime-format",
                "*": "$1 sec ($2)"
            },
            {
                "name": "exif-filesource",
                "normalizedname": "exif-filesource",
                "*": "File source"
            },
            {
                "name": "exif-filesource-3",
                "normalizedname": "exif-filesource-3",
                "*": "Digital still camera"
            },
            {
                "name": "exif-fixtureidentifier",
                "normalizedname": "exif-fixtureidentifier",
                "*": "Fixture name"
            },
            {
                "name": "exif-flash",
                "normalizedname": "exif-flash",
                "*": "Flash"
            },
            {
                "name": "exif-flash-fired-0",
                "normalizedname": "exif-flash-fired-0",
                "*": "Flash did not fire"
            },
            {
                "name": "exif-flash-fired-1",
                "normalizedname": "exif-flash-fired-1",
                "*": "Flash fired"
            },
            {
                "name": "exif-flash-function-1",
                "normalizedname": "exif-flash-function-1",
                "*": "No flash function"
            },
            {
                "name": "exif-flash-mode-1",
                "normalizedname": "exif-flash-mode-1",
                "*": "compulsory flash firing"
            },
            {
                "name": "exif-flash-mode-2",
                "normalizedname": "exif-flash-mode-2",
                "*": "compulsory flash suppression"
            },
            {
                "name": "exif-flash-mode-3",
                "normalizedname": "exif-flash-mode-3",
                "*": "auto mode"
            },
            {
                "name": "exif-flash-redeye-1",
                "normalizedname": "exif-flash-redeye-1",
                "*": "red-eye reduction mode"
            },
            {
                "name": "exif-flash-return-0",
                "normalizedname": "exif-flash-return-0",
                "*": "no strobe return detection function"
            },
            {
                "name": "exif-flash-return-2",
                "normalizedname": "exif-flash-return-2",
                "*": "strobe return light not detected"
            },
            {
                "name": "exif-flash-return-3",
                "normalizedname": "exif-flash-return-3",
                "*": "strobe return light detected"
            },
            {
                "name": "exif-flashenergy",
                "normalizedname": "exif-flashenergy",
                "*": "Flash energy"
            },
            {
                "name": "exif-flashpixversion",
                "normalizedname": "exif-flashpixversion",
                "*": "Supported Flashpix version"
            },
            {
                "name": "exif-fnumber",
                "normalizedname": "exif-fnumber",
                "*": "F Number"
            },
            {
                "name": "exif-fnumber-format",
                "normalizedname": "exif-fnumber-format",
                "*": "f/$1"
            },
            {
                "name": "exif-focallength",
                "normalizedname": "exif-focallength",
                "*": "Lens focal length"
            },
            {
                "name": "exif-focallength-format",
                "normalizedname": "exif-focallength-format",
                "*": "$1 mm"
            },
            {
                "name": "exif-focallengthin35mmfilm",
                "normalizedname": "exif-focallengthin35mmfilm",
                "*": "Focal length in 35 mm film"
            },
            {
                "name": "exif-focalplaneresolutionunit",
                "normalizedname": "exif-focalplaneresolutionunit",
                "*": "Focal plane resolution unit"
            },
            {
                "name": "exif-focalplaneresolutionunit-2",
                "normalizedname": "exif-focalplaneresolutionunit-2",
                "*": "inches"
            },
            {
                "name": "exif-focalplanexresolution",
                "normalizedname": "exif-focalplanexresolution",
                "*": "Focal plane X resolution"
            },
            {
                "name": "exif-focalplaneyresolution",
                "normalizedname": "exif-focalplaneyresolution",
                "*": "Focal plane Y resolution"
            },
            {
                "name": "exif-gaincontrol",
                "normalizedname": "exif-gaincontrol",
                "*": "Scene control"
            },
            {
                "name": "exif-gaincontrol-0",
                "normalizedname": "exif-gaincontrol-0",
                "*": "None"
            },
            {
                "name": "exif-gaincontrol-1",
                "normalizedname": "exif-gaincontrol-1",
                "*": "Low gain up"
            },
            {
                "name": "exif-gaincontrol-2",
                "normalizedname": "exif-gaincontrol-2",
                "*": "High gain up"
            },
            {
                "name": "exif-gaincontrol-3",
                "normalizedname": "exif-gaincontrol-3",
                "*": "Low gain down"
            },
            {
                "name": "exif-gaincontrol-4",
                "normalizedname": "exif-gaincontrol-4",
                "*": "High gain down"
            },
            {
                "name": "exif-giffilecomment",
                "normalizedname": "exif-giffilecomment",
                "*": "GIF file comment"
            },
            {
                "name": "exif-gpsaltitude",
                "normalizedname": "exif-gpsaltitude",
                "*": "Altitude"
            },
            {
                "name": "exif-gpsaltitude-above-sealevel",
                "normalizedname": "exif-gpsaltitude-above-sealevel",
                "*": "$1 {{PLURAL:$1|meter|meters}} above sea level"
            },
            {
                "name": "exif-gpsaltitude-below-sealevel",
                "normalizedname": "exif-gpsaltitude-below-sealevel",
                "*": "$1 {{PLURAL:$1|meter|meters}} below sea level"
            },
            {
                "name": "exif-gpsaltituderef",
                "normalizedname": "exif-gpsaltituderef",
                "*": "Altitude reference"
            },
            {
                "name": "exif-gpsareainformation",
                "normalizedname": "exif-gpsareainformation",
                "*": "Name of GPS area"
            },
            {
                "name": "exif-gpsdatestamp",
                "normalizedname": "exif-gpsdatestamp",
                "*": "GPS date"
            },
            {
                "name": "exif-gpsdestbearing",
                "normalizedname": "exif-gpsdestbearing",
                "*": "Bearing of destination"
            },
            {
                "name": "exif-gpsdestbearingref",
                "normalizedname": "exif-gpsdestbearingref",
                "*": "Reference for bearing of destination"
            },
            {
                "name": "exif-gpsdestdistance",
                "normalizedname": "exif-gpsdestdistance",
                "*": "Distance to destination"
            },
            {
                "name": "exif-gpsdestdistance-k",
                "normalizedname": "exif-gpsdestdistance-k",
                "*": "Kilometers"
            },
            {
                "name": "exif-gpsdestdistance-m",
                "normalizedname": "exif-gpsdestdistance-m",
                "*": "Miles"
            },
            {
                "name": "exif-gpsdestdistance-n",
                "normalizedname": "exif-gpsdestdistance-n",
                "*": "Nautical miles"
            },
            {
                "name": "exif-gpsdestdistanceref",
                "normalizedname": "exif-gpsdestdistanceref",
                "*": "Reference for distance to destination"
            },
            {
                "name": "exif-gpsdestlatitude",
                "normalizedname": "exif-gpsdestlatitude",
                "*": "Latitude destination"
            },
            {
                "name": "exif-gpsdestlatituderef",
                "normalizedname": "exif-gpsdestlatituderef",
                "*": "Reference for latitude of destination"
            },
            {
                "name": "exif-gpsdestlongitude",
                "normalizedname": "exif-gpsdestlongitude",
                "*": "Longitude of destination"
            },
            {
                "name": "exif-gpsdestlongituderef",
                "normalizedname": "exif-gpsdestlongituderef",
                "*": "Reference for longitude of destination"
            },
            {
                "name": "exif-gpsdifferential",
                "normalizedname": "exif-gpsdifferential",
                "*": "GPS differential correction"
            },
            {
                "name": "exif-gpsdirection-m",
                "normalizedname": "exif-gpsdirection-m",
                "*": "Magnetic direction"
            },
            {
                "name": "exif-gpsdirection-t",
                "normalizedname": "exif-gpsdirection-t",
                "*": "True direction"
            },
            {
                "name": "exif-gpsdop",
                "normalizedname": "exif-gpsdop",
                "*": "Measurement precision"
            },
            {
                "name": "exif-gpsdop-excellent",
                "normalizedname": "exif-gpsdop-excellent",
                "*": "Excellent ($1)"
            },
            {
                "name": "exif-gpsdop-fair",
                "normalizedname": "exif-gpsdop-fair",
                "*": "Fair ($1)"
            },
            {
                "name": "exif-gpsdop-good",
                "normalizedname": "exif-gpsdop-good",
                "*": "Good ($1)"
            },
            {
                "name": "exif-gpsdop-moderate",
                "normalizedname": "exif-gpsdop-moderate",
                "*": "Moderate ($1)"
            },
            {
                "name": "exif-gpsdop-poor",
                "normalizedname": "exif-gpsdop-poor",
                "*": "Poor ($1)"
            },
            {
                "name": "exif-gpsimgdirection",
                "normalizedname": "exif-gpsimgdirection",
                "*": "Direction of image"
            },
            {
                "name": "exif-gpsimgdirectionref",
                "normalizedname": "exif-gpsimgdirectionref",
                "*": "Reference for direction of image"
            },
            {
                "name": "exif-gpslatitude",
                "normalizedname": "exif-gpslatitude",
                "*": "Latitude"
            },
            {
                "name": "exif-gpslatitude-n",
                "normalizedname": "exif-gpslatitude-n",
                "*": "North latitude"
            },
            {
                "name": "exif-gpslatitude-s",
                "normalizedname": "exif-gpslatitude-s",
                "*": "South latitude"
            },
            {
                "name": "exif-gpslatituderef",
                "normalizedname": "exif-gpslatituderef",
                "*": "North or south latitude"
            },
            {
                "name": "exif-gpslongitude",
                "normalizedname": "exif-gpslongitude",
                "*": "Longitude"
            },
            {
                "name": "exif-gpslongitude-e",
                "normalizedname": "exif-gpslongitude-e",
                "*": "East longitude"
            },
            {
                "name": "exif-gpslongitude-w",
                "normalizedname": "exif-gpslongitude-w",
                "*": "West longitude"
            },
            {
                "name": "exif-gpslongituderef",
                "normalizedname": "exif-gpslongituderef",
                "*": "East or west longitude"
            },
            {
                "name": "exif-gpsmapdatum",
                "normalizedname": "exif-gpsmapdatum",
                "*": "Geodetic survey data used"
            },
            {
                "name": "exif-gpsmeasuremode",
                "normalizedname": "exif-gpsmeasuremode",
                "*": "Measurement mode"
            },
            {
                "name": "exif-gpsmeasuremode-2",
                "normalizedname": "exif-gpsmeasuremode-2",
                "*": "2-dimensional measurement"
            },
            {
                "name": "exif-gpsmeasuremode-3",
                "normalizedname": "exif-gpsmeasuremode-3",
                "*": "3-dimensional measurement"
            },
            {
                "name": "exif-gpsprocessingmethod",
                "normalizedname": "exif-gpsprocessingmethod",
                "*": "Name of GPS processing method"
            },
            {
                "name": "exif-gpssatellites",
                "normalizedname": "exif-gpssatellites",
                "*": "Satellites used for measurement"
            },
            {
                "name": "exif-gpsspeed",
                "normalizedname": "exif-gpsspeed",
                "*": "Speed of GPS receiver"
            },
            {
                "name": "exif-gpsspeed-k",
                "normalizedname": "exif-gpsspeed-k",
                "*": "Kilometers per hour"
            },
            {
                "name": "exif-gpsspeed-m",
                "normalizedname": "exif-gpsspeed-m",
                "*": "Miles per hour"
            },
            {
                "name": "exif-gpsspeed-n",
                "normalizedname": "exif-gpsspeed-n",
                "*": "Knots"
            },
            {
                "name": "exif-gpsspeedref",
                "normalizedname": "exif-gpsspeedref",
                "*": "Speed unit"
            },
            {
                "name": "exif-gpsstatus",
                "normalizedname": "exif-gpsstatus",
                "*": "Receiver status"
            },
            {
                "name": "exif-gpsstatus-a",
                "normalizedname": "exif-gpsstatus-a",
                "*": "Measurement in progress"
            },
            {
                "name": "exif-gpsstatus-v",
                "normalizedname": "exif-gpsstatus-v",
                "*": "Measurement interoperability"
            },
            {
                "name": "exif-gpstimestamp",
                "normalizedname": "exif-gpstimestamp",
                "*": "GPS time (atomic clock)"
            },
            {
                "name": "exif-gpstrack",
                "normalizedname": "exif-gpstrack",
                "*": "Direction of movement"
            },
            {
                "name": "exif-gpstrackref",
                "normalizedname": "exif-gpstrackref",
                "*": "Reference for direction of movement"
            },
            {
                "name": "exif-gpsversionid",
                "normalizedname": "exif-gpsversionid",
                "*": "GPS tag version"
            },
            {
                "name": "exif-headline",
                "normalizedname": "exif-headline",
                "*": "Headline"
            },
            {
                "name": "exif-identifier",
                "normalizedname": "exif-identifier",
                "*": "Identifier"
            },
            {
                "name": "exif-iimcategory",
                "normalizedname": "exif-iimcategory",
                "*": "Category"
            },
            {
                "name": "exif-iimcategory-ace",
                "normalizedname": "exif-iimcategory-ace",
                "*": "Arts, culture and entertainment"
            },
            {
                "name": "exif-iimcategory-clj",
                "normalizedname": "exif-iimcategory-clj",
                "*": "Crime and law"
            },
            {
                "name": "exif-iimcategory-dis",
                "normalizedname": "exif-iimcategory-dis",
                "*": "Disasters and accidents"
            },
            {
                "name": "exif-iimcategory-edu",
                "normalizedname": "exif-iimcategory-edu",
                "*": "Education"
            },
            {
                "name": "exif-iimcategory-evn",
                "normalizedname": "exif-iimcategory-evn",
                "*": "Environment"
            },
            {
                "name": "exif-iimcategory-fin",
                "normalizedname": "exif-iimcategory-fin",
                "*": "Economy and business"
            },
            {
                "name": "exif-iimcategory-hth",
                "normalizedname": "exif-iimcategory-hth",
                "*": "Health"
            },
            {
                "name": "exif-iimcategory-hum",
                "normalizedname": "exif-iimcategory-hum",
                "*": "Human interest"
            },
            {
                "name": "exif-iimcategory-lab",
                "normalizedname": "exif-iimcategory-lab",
                "*": "Labor"
            },
            {
                "name": "exif-iimcategory-lif",
                "normalizedname": "exif-iimcategory-lif",
                "*": "Lifestyle and leisure"
            },
            {
                "name": "exif-iimcategory-pol",
                "normalizedname": "exif-iimcategory-pol",
                "*": "Politics"
            },
            {
                "name": "exif-iimcategory-rel",
                "normalizedname": "exif-iimcategory-rel",
                "*": "Religion and belief"
            },
            {
                "name": "exif-iimcategory-sci",
                "normalizedname": "exif-iimcategory-sci",
                "*": "Science and technology"
            },
            {
                "name": "exif-iimcategory-soi",
                "normalizedname": "exif-iimcategory-soi",
                "*": "Social issues"
            },
            {
                "name": "exif-iimcategory-spo",
                "normalizedname": "exif-iimcategory-spo",
                "*": "Sports"
            },
            {
                "name": "exif-iimcategory-war",
                "normalizedname": "exif-iimcategory-war",
                "*": "War, conflict and unrest"
            },
            {
                "name": "exif-iimcategory-wea",
                "normalizedname": "exif-iimcategory-wea",
                "*": "Weather"
            },
            {
                "name": "exif-iimsupplementalcategory",
                "normalizedname": "exif-iimsupplementalcategory",
                "*": "Supplemental categories"
            },
            {
                "name": "exif-iimversion",
                "normalizedname": "exif-iimversion",
                "*": "IIM version"
            },
            {
                "name": "exif-imagedescription",
                "normalizedname": "exif-imagedescription",
                "*": "Image title"
            },
            {
                "name": "exif-imagelength",
                "normalizedname": "exif-imagelength",
                "*": "Height"
            },
            {
                "name": "exif-imageuniqueid",
                "normalizedname": "exif-imageuniqueid",
                "*": "Unique image ID"
            },
            {
                "name": "exif-imagewidth",
                "normalizedname": "exif-imagewidth",
                "*": "Width"
            },
            {
                "name": "exif-intellectualgenre",
                "normalizedname": "exif-intellectualgenre",
                "*": "Type of item"
            },
            {
                "name": "exif-isospeedratings",
                "normalizedname": "exif-isospeedratings",
                "*": "ISO speed rating"
            },
            {
                "name": "exif-isospeedratings-overflow",
                "normalizedname": "exif-isospeedratings-overflow",
                "*": "Greater than 65535"
            },
            {
                "name": "exif-jpegfilecomment",
                "normalizedname": "exif-jpegfilecomment",
                "*": "JPEG file comment"
            },
            {
                "name": "exif-jpeginterchangeformat",
                "normalizedname": "exif-jpeginterchangeformat",
                "*": "Offset to JPEG SOI"
            },
            {
                "name": "exif-jpeginterchangeformatlength",
                "normalizedname": "exif-jpeginterchangeformatlength",
                "*": "Bytes of JPEG data"
            },
            {
                "name": "exif-keywords",
                "normalizedname": "exif-keywords",
                "*": "Keywords"
            },
            {
                "name": "exif-label",
                "normalizedname": "exif-label",
                "*": "Label"
            },
            {
                "name": "exif-languagecode",
                "normalizedname": "exif-languagecode",
                "*": "Language"
            },
            {
                "name": "exif-lens",
                "normalizedname": "exif-lens",
                "*": "Lens used"
            },
            {
                "name": "exif-licenseurl",
                "normalizedname": "exif-licenseurl",
                "*": "URL for copyright license"
            },
            {
                "name": "exif-lightsource",
                "normalizedname": "exif-lightsource",
                "*": "Light source"
            },
            {
                "name": "exif-lightsource-0",
                "normalizedname": "exif-lightsource-0",
                "*": "Unknown"
            },
            {
                "name": "exif-lightsource-1",
                "normalizedname": "exif-lightsource-1",
                "*": "Daylight"
            },
            {
                "name": "exif-lightsource-10",
                "normalizedname": "exif-lightsource-10",
                "*": "Cloudy weather"
            },
            {
                "name": "exif-lightsource-11",
                "normalizedname": "exif-lightsource-11",
                "*": "Shade"
            },
            {
                "name": "exif-lightsource-12",
                "normalizedname": "exif-lightsource-12",
                "*": "Daylight fluorescent (D 5700 \u2013 7100K)"
            },
            {
                "name": "exif-lightsource-13",
                "normalizedname": "exif-lightsource-13",
                "*": "Day white fluorescent (N 4600 \u2013 5400K)"
            },
            {
                "name": "exif-lightsource-14",
                "normalizedname": "exif-lightsource-14",
                "*": "Cool white fluorescent (W 3900 \u2013 4500K)"
            },
            {
                "name": "exif-lightsource-15",
                "normalizedname": "exif-lightsource-15",
                "*": "White fluorescent (WW 3200 \u2013 3700K)"
            },
            {
                "name": "exif-lightsource-17",
                "normalizedname": "exif-lightsource-17",
                "*": "Standard light A"
            },
            {
                "name": "exif-lightsource-18",
                "normalizedname": "exif-lightsource-18",
                "*": "Standard light B"
            },
            {
                "name": "exif-lightsource-19",
                "normalizedname": "exif-lightsource-19",
                "*": "Standard light C"
            },
            {
                "name": "exif-lightsource-2",
                "normalizedname": "exif-lightsource-2",
                "*": "Fluorescent"
            },
            {
                "name": "exif-lightsource-20",
                "normalizedname": "exif-lightsource-20",
                "*": "D55"
            },
            {
                "name": "exif-lightsource-21",
                "normalizedname": "exif-lightsource-21",
                "*": "D65"
            },
            {
                "name": "exif-lightsource-22",
                "normalizedname": "exif-lightsource-22",
                "*": "D75"
            },
            {
                "name": "exif-lightsource-23",
                "normalizedname": "exif-lightsource-23",
                "*": "D50"
            },
            {
                "name": "exif-lightsource-24",
                "normalizedname": "exif-lightsource-24",
                "*": "ISO studio tungsten"
            },
            {
                "name": "exif-lightsource-255",
                "normalizedname": "exif-lightsource-255",
                "*": "Other light source"
            },
            {
                "name": "exif-lightsource-3",
                "normalizedname": "exif-lightsource-3",
                "*": "Tungsten (incandescent light)"
            },
            {
                "name": "exif-lightsource-4",
                "normalizedname": "exif-lightsource-4",
                "*": "Flash"
            },
            {
                "name": "exif-lightsource-9",
                "normalizedname": "exif-lightsource-9",
                "*": "Fine weather"
            },
            {
                "name": "exif-locationdest",
                "normalizedname": "exif-locationdest",
                "*": "Location depicted"
            },
            {
                "name": "exif-locationdestcode",
                "normalizedname": "exif-locationdestcode",
                "*": "Code of location depicted"
            },
            {
                "name": "exif-make",
                "normalizedname": "exif-make",
                "*": "Camera manufacturer"
            },
            {
                "name": "exif-make-value",
                "normalizedname": "exif-make-value",
                "*": "$1"
            },
            {
                "name": "exif-maxaperturevalue",
                "normalizedname": "exif-maxaperturevalue",
                "*": "Maximum land aperture"
            },
            {
                "name": "exif-maxaperturevalue-value",
                "normalizedname": "exif-maxaperturevalue-value",
                "*": "$1 APEX (f/$2)"
            },
            {
                "name": "exif-meteringmode",
                "normalizedname": "exif-meteringmode",
                "*": "Metering mode"
            },
            {
                "name": "exif-meteringmode-0",
                "normalizedname": "exif-meteringmode-0",
                "*": "Unknown"
            },
            {
                "name": "exif-meteringmode-1",
                "normalizedname": "exif-meteringmode-1",
                "*": "Average"
            },
            {
                "name": "exif-meteringmode-2",
                "normalizedname": "exif-meteringmode-2",
                "*": "Center weighted average"
            },
            {
                "name": "exif-meteringmode-255",
                "normalizedname": "exif-meteringmode-255",
                "*": "Other"
            },
            {
                "name": "exif-meteringmode-3",
                "normalizedname": "exif-meteringmode-3",
                "*": "Spot"
            },
            {
                "name": "exif-meteringmode-4",
                "normalizedname": "exif-meteringmode-4",
                "*": "Multi-Spot"
            },
            {
                "name": "exif-meteringmode-5",
                "normalizedname": "exif-meteringmode-5",
                "*": "Pattern"
            },
            {
                "name": "exif-meteringmode-6",
                "normalizedname": "exif-meteringmode-6",
                "*": "Partial"
            },
            {
                "name": "exif-model",
                "normalizedname": "exif-model",
                "*": "Camera model"
            },
            {
                "name": "exif-model-value",
                "normalizedname": "exif-model-value",
                "*": "$1"
            },
            {
                "name": "exif-morepermissionsurl",
                "normalizedname": "exif-morepermissionsurl",
                "*": "Alternative licensing information"
            },
            {
                "name": "exif-nickname",
                "normalizedname": "exif-nickname",
                "*": "Informal name of image"
            },
            {
                "name": "exif-objectcycle",
                "normalizedname": "exif-objectcycle",
                "*": "Time of day that media is intended for"
            },
            {
                "name": "exif-objectcycle-a",
                "normalizedname": "exif-objectcycle-a",
                "*": "Morning only"
            },
            {
                "name": "exif-objectcycle-b",
                "normalizedname": "exif-objectcycle-b",
                "*": "Both morning and evening"
            },
            {
                "name": "exif-objectcycle-p",
                "normalizedname": "exif-objectcycle-p",
                "*": "Evening only"
            },
            {
                "name": "exif-objectname",
                "normalizedname": "exif-objectname",
                "*": "Short title"
            },
            {
                "name": "exif-organisationinimage",
                "normalizedname": "exif-organisationinimage",
                "*": "Organization depicted"
            },
            {
                "name": "exif-orientation",
                "normalizedname": "exif-orientation",
                "*": "Orientation"
            },
            {
                "name": "exif-orientation-1",
                "normalizedname": "exif-orientation-1",
                "*": "Normal"
            },
            {
                "name": "exif-orientation-2",
                "normalizedname": "exif-orientation-2",
                "*": "Flipped horizontally"
            },
            {
                "name": "exif-orientation-3",
                "normalizedname": "exif-orientation-3",
                "*": "Rotated 180\u00b0"
            },
            {
                "name": "exif-orientation-4",
                "normalizedname": "exif-orientation-4",
                "*": "Flipped vertically"
            },
            {
                "name": "exif-orientation-5",
                "normalizedname": "exif-orientation-5",
                "*": "Rotated 90\u00b0 CCW and flipped vertically"
            },
            {
                "name": "exif-orientation-6",
                "normalizedname": "exif-orientation-6",
                "*": "Rotated 90\u00b0 CCW"
            },
            {
                "name": "exif-orientation-7",
                "normalizedname": "exif-orientation-7",
                "*": "Rotated 90\u00b0 CW and flipped vertically"
            },
            {
                "name": "exif-orientation-8",
                "normalizedname": "exif-orientation-8",
                "*": "Rotated 90\u00b0 CW"
            },
            {
                "name": "exif-originaldocumentid",
                "normalizedname": "exif-originaldocumentid",
                "*": "Unique ID of original document"
            },
            {
                "name": "exif-originalimageheight",
                "normalizedname": "exif-originalimageheight",
                "*": "Height of image before it was cropped"
            },
            {
                "name": "exif-originalimagewidth",
                "normalizedname": "exif-originalimagewidth",
                "*": "Width of image before it was cropped"
            },
            {
                "name": "exif-originaltransmissionref",
                "normalizedname": "exif-originaltransmissionref",
                "*": "Original transmission location code"
            },
            {
                "name": "exif-personinimage",
                "normalizedname": "exif-personinimage",
                "*": "Person depicted"
            },
            {
                "name": "exif-photometricinterpretation",
                "normalizedname": "exif-photometricinterpretation",
                "*": "Pixel composition"
            },
            {
                "name": "exif-photometricinterpretation-0",
                "normalizedname": "exif-photometricinterpretation-0",
                "*": "Black and white (White is 0)"
            },
            {
                "name": "exif-photometricinterpretation-1",
                "normalizedname": "exif-photometricinterpretation-1",
                "*": "Black and white (Black is 0)"
            },
            {
                "name": "exif-photometricinterpretation-10",
                "normalizedname": "exif-photometricinterpretation-10",
                "*": "CIE L*a*b* (ITU encoding)"
            },
            {
                "name": "exif-photometricinterpretation-2",
                "normalizedname": "exif-photometricinterpretation-2",
                "*": "RGB"
            },
            {
                "name": "exif-photometricinterpretation-3",
                "normalizedname": "exif-photometricinterpretation-3",
                "*": "Palette"
            },
            {
                "name": "exif-photometricinterpretation-32803",
                "normalizedname": "exif-photometricinterpretation-32803",
                "*": "Color Filter Array"
            },
            {
                "name": "exif-photometricinterpretation-34892",
                "normalizedname": "exif-photometricinterpretation-34892",
                "*": "Linear raw"
            },
            {
                "name": "exif-photometricinterpretation-4",
                "normalizedname": "exif-photometricinterpretation-4",
                "*": "Transparency mask"
            },
            {
                "name": "exif-photometricinterpretation-5",
                "normalizedname": "exif-photometricinterpretation-5",
                "*": "Separated (Probably CMYK)"
            },
            {
                "name": "exif-photometricinterpretation-6",
                "normalizedname": "exif-photometricinterpretation-6",
                "*": "YCbCr"
            },
            {
                "name": "exif-photometricinterpretation-8",
                "normalizedname": "exif-photometricinterpretation-8",
                "*": "CIE L*a*b*"
            },
            {
                "name": "exif-photometricinterpretation-9",
                "normalizedname": "exif-photometricinterpretation-9",
                "*": "CIE L*a*b* (ICC encoding)"
            },
            {
                "name": "exif-pixelxdimension",
                "normalizedname": "exif-pixelxdimension",
                "*": "Image width"
            },
            {
                "name": "exif-pixelydimension",
                "normalizedname": "exif-pixelydimension",
                "*": "Image height"
            },
            {
                "name": "exif-planarconfiguration",
                "normalizedname": "exif-planarconfiguration",
                "*": "Data arrangement"
            },
            {
                "name": "exif-planarconfiguration-1",
                "normalizedname": "exif-planarconfiguration-1",
                "*": "chunky format"
            },
            {
                "name": "exif-planarconfiguration-2",
                "normalizedname": "exif-planarconfiguration-2",
                "*": "planar format"
            },
            {
                "name": "exif-pngfilecomment",
                "normalizedname": "exif-pngfilecomment",
                "*": "PNG file comment"
            },
            {
                "name": "exif-preferredattributionname",
                "normalizedname": "exif-preferredattributionname",
                "*": "When re-using this work, please credit"
            },
            {
                "name": "exif-primarychromaticities",
                "normalizedname": "exif-primarychromaticities",
                "*": "Chromaticities of primarities"
            },
            {
                "name": "exif-provinceorstatecreated",
                "normalizedname": "exif-provinceorstatecreated",
                "*": "Province or state that the picture was taken in"
            },
            {
                "name": "exif-provinceorstatedest",
                "normalizedname": "exif-provinceorstatedest",
                "*": "Province or state shown"
            },
            {
                "name": "exif-rating",
                "normalizedname": "exif-rating",
                "*": "Rating (out of 5)"
            },
            {
                "name": "exif-rating-rejected",
                "normalizedname": "exif-rating-rejected",
                "*": "Rejected"
            },
            {
                "name": "exif-referenceblackwhite",
                "normalizedname": "exif-referenceblackwhite",
                "*": "Pair of black and white reference values"
            },
            {
                "name": "exif-relatedsoundfile",
                "normalizedname": "exif-relatedsoundfile",
                "*": "Related audio file"
            },
            {
                "name": "exif-rightscertificate",
                "normalizedname": "exif-rightscertificate",
                "*": "Rights management certificate"
            },
            {
                "name": "exif-rowsperstrip",
                "normalizedname": "exif-rowsperstrip",
                "*": "Number of rows per strip"
            },
            {
                "name": "exif-samplesperpixel",
                "normalizedname": "exif-samplesperpixel",
                "*": "Number of components"
            },
            {
                "name": "exif-saturation",
                "normalizedname": "exif-saturation",
                "*": "Saturation"
            },
            {
                "name": "exif-saturation-0",
                "normalizedname": "exif-saturation-0",
                "*": "Normal"
            },
            {
                "name": "exif-saturation-1",
                "normalizedname": "exif-saturation-1",
                "*": "Low saturation"
            },
            {
                "name": "exif-saturation-2",
                "normalizedname": "exif-saturation-2",
                "*": "High saturation"
            },
            {
                "name": "exif-scenecapturetype",
                "normalizedname": "exif-scenecapturetype",
                "*": "Scene capture type"
            },
            {
                "name": "exif-scenecapturetype-0",
                "normalizedname": "exif-scenecapturetype-0",
                "*": "Standard"
            },
            {
                "name": "exif-scenecapturetype-1",
                "normalizedname": "exif-scenecapturetype-1",
                "*": "Landscape"
            },
            {
                "name": "exif-scenecapturetype-2",
                "normalizedname": "exif-scenecapturetype-2",
                "*": "Portrait"
            },
            {
                "name": "exif-scenecapturetype-3",
                "normalizedname": "exif-scenecapturetype-3",
                "*": "Night scene"
            },
            {
                "name": "exif-scenecode",
                "normalizedname": "exif-scenecode",
                "*": "IPTC scene code"
            },
            {
                "name": "exif-scenetype",
                "normalizedname": "exif-scenetype",
                "*": "Scene type"
            },
            {
                "name": "exif-scenetype-1",
                "normalizedname": "exif-scenetype-1",
                "*": "A directly photographed image"
            },
            {
                "name": "exif-sensingmethod",
                "normalizedname": "exif-sensingmethod",
                "*": "Sensing method"
            },
            {
                "name": "exif-sensingmethod-1",
                "normalizedname": "exif-sensingmethod-1",
                "*": "Undefined"
            },
            {
                "name": "exif-sensingmethod-2",
                "normalizedname": "exif-sensingmethod-2",
                "*": "One-chip color area sensor"
            },
            {
                "name": "exif-sensingmethod-3",
                "normalizedname": "exif-sensingmethod-3",
                "*": "Two-chip color area sensor"
            },
            {
                "name": "exif-sensingmethod-4",
                "normalizedname": "exif-sensingmethod-4",
                "*": "Three-chip color area sensor"
            },
            {
                "name": "exif-sensingmethod-5",
                "normalizedname": "exif-sensingmethod-5",
                "*": "Color sequential area sensor"
            },
            {
                "name": "exif-sensingmethod-7",
                "normalizedname": "exif-sensingmethod-7",
                "*": "Trilinear sensor"
            },
            {
                "name": "exif-sensingmethod-8",
                "normalizedname": "exif-sensingmethod-8",
                "*": "Color sequential linear sensor"
            },
            {
                "name": "exif-serialnumber",
                "normalizedname": "exif-serialnumber",
                "*": "Serial number of camera"
            },
            {
                "name": "exif-sharpness",
                "normalizedname": "exif-sharpness",
                "*": "Sharpness"
            },
            {
                "name": "exif-sharpness-0",
                "normalizedname": "exif-sharpness-0",
                "*": "Normal"
            },
            {
                "name": "exif-sharpness-1",
                "normalizedname": "exif-sharpness-1",
                "*": "Soft"
            },
            {
                "name": "exif-sharpness-2",
                "normalizedname": "exif-sharpness-2",
                "*": "Hard"
            },
            {
                "name": "exif-shutterspeedvalue",
                "normalizedname": "exif-shutterspeedvalue",
                "*": "APEX shutter speed"
            },
            {
                "name": "exif-software",
                "normalizedname": "exif-software",
                "*": "Software used"
            },
            {
                "name": "exif-software-value",
                "normalizedname": "exif-software-value",
                "*": "$1"
            },
            {
                "name": "exif-software-version-value",
                "normalizedname": "exif-software-version-value",
                "*": "$1 (Version $2)"
            },
            {
                "name": "exif-source",
                "normalizedname": "exif-source",
                "*": "Source"
            },
            {
                "name": "exif-specialinstructions",
                "normalizedname": "exif-specialinstructions",
                "*": "Special instructions"
            },
            {
                "name": "exif-spectralsensitivity",
                "normalizedname": "exif-spectralsensitivity",
                "*": "Spectral sensitivity"
            },
            {
                "name": "exif-stripbytecounts",
                "normalizedname": "exif-stripbytecounts",
                "*": "Bytes per compressed strip"
            },
            {
                "name": "exif-stripoffsets",
                "normalizedname": "exif-stripoffsets",
                "*": "Image data location"
            },
            {
                "name": "exif-subjectarea",
                "normalizedname": "exif-subjectarea",
                "*": "Subject area"
            },
            {
                "name": "exif-subjectdistance",
                "normalizedname": "exif-subjectdistance",
                "*": "Subject distance"
            },
            {
                "name": "exif-subjectdistance-value",
                "normalizedname": "exif-subjectdistance-value",
                "*": "$1 meters"
            },
            {
                "name": "exif-subjectdistancerange",
                "normalizedname": "exif-subjectdistancerange",
                "*": "Subject distance range"
            },
            {
                "name": "exif-subjectdistancerange-0",
                "normalizedname": "exif-subjectdistancerange-0",
                "*": "Unknown"
            },
            {
                "name": "exif-subjectdistancerange-1",
                "normalizedname": "exif-subjectdistancerange-1",
                "*": "Macro"
            },
            {
                "name": "exif-subjectdistancerange-2",
                "normalizedname": "exif-subjectdistancerange-2",
                "*": "Close view"
            },
            {
                "name": "exif-subjectdistancerange-3",
                "normalizedname": "exif-subjectdistancerange-3",
                "*": "Distant view"
            },
            {
                "name": "exif-subjectlocation",
                "normalizedname": "exif-subjectlocation",
                "*": "Subject location"
            },
            {
                "name": "exif-subjectnewscode",
                "normalizedname": "exif-subjectnewscode",
                "*": "Subject code"
            },
            {
                "name": "exif-subjectnewscode-value",
                "normalizedname": "exif-subjectnewscode-value",
                "*": "$2 ($1)"
            },
            {
                "name": "exif-sublocationcreated",
                "normalizedname": "exif-sublocationcreated",
                "*": "Sublocation of the city that the picture was taken in"
            },
            {
                "name": "exif-sublocationdest",
                "normalizedname": "exif-sublocationdest",
                "*": "Sublocation of city shown"
            },
            {
                "name": "exif-subsectime",
                "normalizedname": "exif-subsectime",
                "*": "DateTime subseconds"
            },
            {
                "name": "exif-subsectimedigitized",
                "normalizedname": "exif-subsectimedigitized",
                "*": "DateTimeDigitized subseconds"
            },
            {
                "name": "exif-subsectimeoriginal",
                "normalizedname": "exif-subsectimeoriginal",
                "*": "DateTimeOriginal subseconds"
            },
            {
                "name": "exif-unknowndate",
                "normalizedname": "exif-unknowndate",
                "*": "Unknown date"
            },
            {
                "name": "exif-urgency",
                "normalizedname": "exif-urgency",
                "*": "Urgency"
            },
            {
                "name": "exif-urgency-high",
                "normalizedname": "exif-urgency-high",
                "*": "High ($1)"
            },
            {
                "name": "exif-urgency-low",
                "normalizedname": "exif-urgency-low",
                "*": "Low ($1)"
            },
            {
                "name": "exif-urgency-normal",
                "normalizedname": "exif-urgency-normal",
                "*": "Normal ($1)"
            },
            {
                "name": "exif-urgency-other",
                "normalizedname": "exif-urgency-other",
                "*": "User-defined priority ($1)"
            },
            {
                "name": "exif-usageterms",
                "normalizedname": "exif-usageterms",
                "*": "Usage terms"
            },
            {
                "name": "exif-usercomment",
                "normalizedname": "exif-usercomment",
                "*": "User comments"
            },
            {
                "name": "exif-webstatement",
                "normalizedname": "exif-webstatement",
                "*": "Online copyright statement"
            },
            {
                "name": "exif-whitebalance",
                "normalizedname": "exif-whitebalance",
                "*": "White balance"
            },
            {
                "name": "exif-whitebalance-0",
                "normalizedname": "exif-whitebalance-0",
                "*": "Auto white balance"
            },
            {
                "name": "exif-whitebalance-1",
                "normalizedname": "exif-whitebalance-1",
                "*": "Manual white balance"
            },
            {
                "name": "exif-whitepoint",
                "normalizedname": "exif-whitepoint",
                "*": "White point chromaticity"
            },
            {
                "name": "exif-worldregioncreated",
                "normalizedname": "exif-worldregioncreated",
                "*": "World region that the picture was taken in"
            },
            {
                "name": "exif-worldregiondest",
                "normalizedname": "exif-worldregiondest",
                "*": "World region shown"
            },
            {
                "name": "exif-writer",
                "normalizedname": "exif-writer",
                "*": "Writer"
            },
            {
                "name": "exif-xresolution",
                "normalizedname": "exif-xresolution",
                "*": "Horizontal resolution"
            },
            {
                "name": "exif-xyresolution-c",
                "normalizedname": "exif-xyresolution-c",
                "*": "$1 dpc"
            },
            {
                "name": "exif-xyresolution-i",
                "normalizedname": "exif-xyresolution-i",
                "*": "$1 dpi"
            },
            {
                "name": "exif-ycbcrcoefficients",
                "normalizedname": "exif-ycbcrcoefficients",
                "*": "Color space transformation matrix coefficients"
            },
            {
                "name": "exif-ycbcrpositioning",
                "normalizedname": "exif-ycbcrpositioning",
                "*": "Y and C positioning"
            },
            {
                "name": "exif-ycbcrpositioning-1",
                "normalizedname": "exif-ycbcrpositioning-1",
                "*": "Centered"
            },
            {
                "name": "exif-ycbcrpositioning-2",
                "normalizedname": "exif-ycbcrpositioning-2",
                "*": "Co-sited"
            },
            {
                "name": "exif-ycbcrsubsampling",
                "normalizedname": "exif-ycbcrsubsampling",
                "*": "Subsampling ratio of Y to C"
            },
            {
                "name": "exif-yresolution",
                "normalizedname": "exif-yresolution",
                "*": "Vertical resolution"
            },
            {
                "name": "expand_templates_generate_rawhtml",
                "normalizedname": "expand_templates_generate_rawhtml",
                "*": "Show raw HTML"
            },
            {
                "name": "expand_templates_generate_xml",
                "normalizedname": "expand_templates_generate_xml",
                "*": "Show XML parse tree"
            },
            {
                "name": "expand_templates_html_output",
                "normalizedname": "expand_templates_html_output",
                "*": "Raw HTML output"
            },
            {
                "name": "expand_templates_input",
                "normalizedname": "expand_templates_input",
                "*": "Input wikitext:"
            },
            {
                "name": "expand_templates_input_missing",
                "normalizedname": "expand_templates_input_missing",
                "*": "You need to provide at least some input wikitext."
            },
            {
                "name": "expand_templates_intro",
                "normalizedname": "expand_templates_intro",
                "*": "This special page takes wikitext and expands all templates in it recursively.\nIt also expands supported parser functions like\n<code><nowiki>{{</nowiki>#language:\u2026}}</code> and variables like\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>.\nIn fact, it expands pretty much everything in double-braces."
            },
            {
                "name": "expand_templates_ok",
                "normalizedname": "expand_templates_ok",
                "*": "OK"
            },
            {
                "name": "expand_templates_output",
                "normalizedname": "expand_templates_output",
                "*": "Result"
            },
            {
                "name": "expand_templates_preview",
                "normalizedname": "expand_templates_preview",
                "*": "Preview"
            },
            {
                "name": "expand_templates_preview_fail_html",
                "normalizedname": "expand_templates_preview_fail_html",
                "*": "<em>Because {{SITENAME}} has raw HTML enabled and there was a loss of session data, the preview is hidden as a precaution against JavaScript attacks.</em>\n\n<strong>If this is a legitimate preview attempt, please try again.</strong>\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site."
            },
            {
                "name": "expand_templates_preview_fail_html_anon",
                "normalizedname": "expand_templates_preview_fail_html_anon",
                "*": "<em>Because {{SITENAME}} has raw HTML enabled and you are not logged in, the preview is hidden as a precaution against JavaScript attacks.</em>\n\n<strong>If this is a legitimate preview attempt, please [[Special:UserLogin|log in]] and try again.</strong>"
            },
            {
                "name": "expand_templates_remove_comments",
                "normalizedname": "expand_templates_remove_comments",
                "*": "Remove comments"
            },
            {
                "name": "expand_templates_remove_nowiki",
                "normalizedname": "expand_templates_remove_nowiki",
                "*": "Suppress <nowiki> tags in result"
            },
            {
                "name": "expand_templates_title",
                "normalizedname": "expand_templates_title",
                "*": "Context title, for {{FULLPAGENAME}}, etc.:"
            },
            {
                "name": "expand_templates_xml_output",
                "normalizedname": "expand_templates_xml_output",
                "*": "XML output"
            },
            {
                "name": "expandtemplates",
                "normalizedname": "expandtemplates",
                "*": "Expand templates"
            },
            {
                "name": "expansion-depth-exceeded-category",
                "normalizedname": "expansion-depth-exceeded-category",
                "*": "Pages where expansion depth is exceeded"
            },
            {
                "name": "expansion-depth-exceeded-category-desc",
                "normalizedname": "expansion-depth-exceeded-category-desc",
                "*": "The page exceeds the maximum expansion depth."
            },
            {
                "name": "expansion-depth-exceeded-warning",
                "normalizedname": "expansion-depth-exceeded-warning",
                "*": "Page exceeded the expansion depth"
            },
            {
                "name": "expensive-parserfunction-category",
                "normalizedname": "expensive-parserfunction-category",
                "*": "Pages with too many expensive parser function calls"
            },
            {
                "name": "expensive-parserfunction-category-desc",
                "normalizedname": "expensive-parserfunction-category-desc",
                "*": "The page uses too many expensive parser functions (like <code>#ifexist</code>). See [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit]."
            },
            {
                "name": "expensive-parserfunction-warning",
                "normalizedname": "expensive-parserfunction-warning",
                "*": "<strong>Warning:</strong> This page contains too many expensive parser function calls.\n\nIt should have less than $2 {{PLURAL:$2|call|calls}}, there {{PLURAL:$1|is now $1 call|are now $1 calls}}."
            },
            {
                "name": "expiringblock",
                "normalizedname": "expiringblock",
                "*": "expires on $1 at $2"
            },
            {
                "name": "explainconflict",
                "normalizedname": "explainconflict",
                "*": "Someone else has changed this page since you started editing it.\nThe upper text area contains the page text as it currently exists.\nYour changes are shown in the lower text area.\nYou will have to merge your changes into the existing text.\n<strong>Only</strong> the text in the upper text area will be saved when you press \"$1\"."
            },
            {
                "name": "export",
                "normalizedname": "export",
                "*": "Export pages"
            },
            {
                "name": "export-addcat",
                "normalizedname": "export-addcat",
                "*": "Add"
            },
            {
                "name": "export-addcattext",
                "normalizedname": "export-addcattext",
                "*": "Add pages from category:"
            },
            {
                "name": "export-addns",
                "normalizedname": "export-addns",
                "*": "Add"
            },
            {
                "name": "export-addnstext",
                "normalizedname": "export-addnstext",
                "*": "Add pages from namespace:"
            },
            {
                "name": "export-download",
                "normalizedname": "export-download",
                "*": "Save as file"
            },
            {
                "name": "export-manual",
                "normalizedname": "export-manual",
                "*": "Add pages manually:"
            },
            {
                "name": "export-pagelinks",
                "normalizedname": "export-pagelinks",
                "*": "Include linked pages to a depth of:"
            },
            {
                "name": "export-submit",
                "normalizedname": "export-submit",
                "*": "Export"
            },
            {
                "name": "export-summary",
                "normalizedname": "export-summary",
                "*": ""
            },
            {
                "name": "export-templates",
                "normalizedname": "export-templates",
                "*": "Include templates"
            },
            {
                "name": "exportall",
                "normalizedname": "exportall",
                "*": "Export all pages"
            },
            {
                "name": "exportcuronly",
                "normalizedname": "exportcuronly",
                "*": "Include only the current revision, not the full history"
            },
            {
                "name": "exportlistauthors",
                "normalizedname": "exportlistauthors",
                "*": "Include a full list of contributors for each page"
            },
            {
                "name": "exportnohistory",
                "normalizedname": "exportnohistory",
                "*": "----\n<strong>Note:</strong> Exporting the full history of pages through this form has been disabled due to performance reasons."
            },
            {
                "name": "exporttext",
                "normalizedname": "exporttext",
                "*": "You can export the text and editing history of a particular page or set of pages wrapped in some XML.\nThis can be imported into another wiki using MediaWiki via the [[Special:Import|import page]].\n\nTo export pages, enter the titles in the text box below, one title per line, and select whether you want the current revision as well as all old revisions, with the page history lines, or the current revision with the info about the last edit.\n\nIn the latter case you can also use a link, for example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] for the page \"[[{{MediaWiki:Mainpage}}]]\"."
            },
            {
                "name": "external_image_whitelist",
                "normalizedname": "external_image_whitelist",
                "*": " #Leave this line exactly as it is<pre>\n#Put regular expression fragments (just the part that goes between the //) below\n#These will be matched with the URLs of external (hotlinked) images\n#Those that match will be displayed as images, otherwise only a link to the image will be shown\n#Lines beginning with # are treated as comments\n#This is case-insensitive\n\n#Put all regex fragments above this line. Leave this line exactly as it is</pre>"
            },
            {
                "name": "externaldberror",
                "normalizedname": "externaldberror",
                "*": "There was either an authentication database error or you are not allowed to update your external account."
            },
            {
                "name": "extlink_sample",
                "normalizedname": "extlink_sample",
                "*": "http://www.example.com link title"
            },
            {
                "name": "extlink_tip",
                "normalizedname": "extlink_tip",
                "*": "External link (remember http:// prefix)"
            },
            {
                "name": "faq",
                "normalizedname": "faq",
                "*": "FAQ"
            },
            {
                "name": "feb",
                "normalizedname": "feb",
                "*": "Feb"
            },
            {
                "name": "february",
                "normalizedname": "february",
                "*": "February"
            },
            {
                "name": "february-date",
                "normalizedname": "february-date",
                "*": "February $1"
            },
            {
                "name": "february-gen",
                "normalizedname": "february-gen",
                "*": "February"
            },
            {
                "name": "feed-atom",
                "normalizedname": "feed-atom",
                "*": "Atom"
            },
            {
                "name": "feed-invalid",
                "normalizedname": "feed-invalid",
                "*": "Invalid subscription feed type."
            },
            {
                "name": "feed-rss",
                "normalizedname": "feed-rss",
                "*": "RSS"
            },
            {
                "name": "feed-unavailable",
                "normalizedname": "feed-unavailable",
                "*": "Syndication feeds are not available"
            },
            {
                "name": "feedback-adding",
                "normalizedname": "feedback-adding",
                "*": "Adding feedback to page..."
            },
            {
                "name": "feedback-back",
                "normalizedname": "feedback-back",
                "*": "Back"
            },
            {
                "name": "feedback-bugcheck",
                "normalizedname": "feedback-bugcheck",
                "*": "Great! Just check that it is not already one of the [$1 known bugs]."
            },
            {
                "name": "feedback-bugnew",
                "normalizedname": "feedback-bugnew",
                "*": "I checked. Report a new bug"
            },
            {
                "name": "feedback-bugornote",
                "normalizedname": "feedback-bugornote",
                "*": "If you are ready to describe a technical problem in detail please [$1 report a bug].\nOtherwise, you can use the easy form below. Your comment will be added to the page \"[$3 $2]\", along with your username."
            },
            {
                "name": "feedback-cancel",
                "normalizedname": "feedback-cancel",
                "*": "Cancel"
            },
            {
                "name": "feedback-close",
                "normalizedname": "feedback-close",
                "*": "Done"
            },
            {
                "name": "feedback-dialog-intro",
                "normalizedname": "feedback-dialog-intro",
                "*": "You can use the easy form below to submit your feedback. Your comment will be added to the page \"$1\", along with your username."
            },
            {
                "name": "feedback-dialog-title",
                "normalizedname": "feedback-dialog-title",
                "*": "Submit feedback"
            },
            {
                "name": "feedback-error1",
                "normalizedname": "feedback-error1",
                "*": "Error: Unrecognized result from API"
            },
            {
                "name": "feedback-error2",
                "normalizedname": "feedback-error2",
                "*": "Error: Edit failed"
            },
            {
                "name": "feedback-error3",
                "normalizedname": "feedback-error3",
                "*": "Error: No response from API"
            },
            {
                "name": "feedback-error4",
                "normalizedname": "feedback-error4",
                "*": "Error: Unable to post to given feedback title"
            },
            {
                "name": "feedback-external-bug-report-button",
                "normalizedname": "feedback-external-bug-report-button",
                "*": "File a technical task"
            },
            {
                "name": "feedback-message",
                "normalizedname": "feedback-message",
                "*": "Message:"
            },
            {
                "name": "feedback-subject",
                "normalizedname": "feedback-subject",
                "*": "Subject:"
            },
            {
                "name": "feedback-submit",
                "normalizedname": "feedback-submit",
                "*": "Submit"
            },
            {
                "name": "feedback-terms",
                "normalizedname": "feedback-terms",
                "*": "I understand that my user agent information includes information about my exact browser and operating system version and will be shared publicly alongside my feedback."
            },
            {
                "name": "feedback-termsofuse",
                "normalizedname": "feedback-termsofuse",
                "*": "I agree to provide feedback in accordance with the Terms of Use."
            },
            {
                "name": "feedback-thanks",
                "normalizedname": "feedback-thanks",
                "*": "Thanks! Your feedback has been posted to the page \"[$2 $1]\"."
            },
            {
                "name": "feedback-thanks-title",
                "normalizedname": "feedback-thanks-title",
                "*": "Thank you!"
            },
            {
                "name": "feedback-useragent",
                "normalizedname": "feedback-useragent",
                "*": "User agent:"
            },
            {
                "name": "feedlinks",
                "normalizedname": "feedlinks",
                "*": "Feed:"
            },
            {
                "name": "fewestrevisions",
                "normalizedname": "fewestrevisions",
                "*": "Pages with the fewest revisions"
            },
            {
                "name": "fewestrevisions-summary",
                "normalizedname": "fewestrevisions-summary",
                "*": ""
            },
            {
                "name": "file-anchor-link",
                "normalizedname": "file-anchor-link",
                "*": "File"
            },
            {
                "name": "file-deleted-duplicate",
                "normalizedname": "file-deleted-duplicate",
                "*": "A file identical to this file ([[:$1]]) has previously been deleted.\nYou should check that file's deletion history before proceeding to re-upload it."
            },
            {
                "name": "file-deleted-duplicate-notitle",
                "normalizedname": "file-deleted-duplicate-notitle",
                "*": "A file identical to this file has previously been deleted, and the title has been suppressed.\nYou should ask someone with the ability to view suppressed file data to review the situation before proceeding to re-upload it."
            },
            {
                "name": "file-exists-duplicate",
                "normalizedname": "file-exists-duplicate",
                "*": "This file is a duplicate of the following {{PLURAL:$1|file|files}}:"
            },
            {
                "name": "file-exists-sharedrepo",
                "normalizedname": "file-exists-sharedrepo",
                "*": "The filename chosen is already in use on a shared repository.\nPlease choose another name."
            },
            {
                "name": "file-info",
                "normalizedname": "file-info",
                "*": "file size: $1, MIME type: $2"
            },
            {
                "name": "file-info-gif-frames",
                "normalizedname": "file-info-gif-frames",
                "*": "$1 {{PLURAL:$1|frame|frames}}"
            },
            {
                "name": "file-info-gif-looped",
                "normalizedname": "file-info-gif-looped",
                "*": "looped"
            },
            {
                "name": "file-info-png-frames",
                "normalizedname": "file-info-png-frames",
                "*": "$1 {{PLURAL:$1|frame|frames}}"
            },
            {
                "name": "file-info-png-looped",
                "normalizedname": "file-info-png-looped",
                "*": "looped"
            },
            {
                "name": "file-info-png-repeat",
                "normalizedname": "file-info-png-repeat",
                "*": "played $1 {{PLURAL:$1|time|times}}"
            },
            {
                "name": "file-info-size",
                "normalizedname": "file-info-size",
                "*": "$1 \u00d7 $2 pixels, file size: $3, MIME type: $4"
            },
            {
                "name": "file-info-size-pages",
                "normalizedname": "file-info-size-pages",
                "*": "$1 \u00d7 $2 pixels, file size: $3, MIME type: $4, $5 {{PLURAL:$5|page|pages}}"
            },
            {
                "name": "file-no-thumb-animation",
                "normalizedname": "file-no-thumb-animation",
                "*": "<strong>Note: Due to technical limitations, thumbnails of this file will not be animated.</strong>"
            },
            {
                "name": "file-no-thumb-animation-gif",
                "normalizedname": "file-no-thumb-animation-gif",
                "*": "<strong>Note: Due to technical limitations, thumbnails of high resolution GIF images such as this one will not be animated.</strong>"
            },
            {
                "name": "file-nohires",
                "normalizedname": "file-nohires",
                "*": "No higher resolution available."
            },
            {
                "name": "file-thumbnail-no",
                "normalizedname": "file-thumbnail-no",
                "*": "The filename begins with <strong>$1</strong>.\nIt seems to be an image of reduced size <em>(thumbnail)</em>.\nIf you have this image in full resolution upload this one, otherwise change the filename please."
            },
            {
                "name": "file-too-large",
                "normalizedname": "file-too-large",
                "*": "The file you submitted was too large."
            },
            {
                "name": "filecopyerror",
                "normalizedname": "filecopyerror",
                "*": "Could not copy file \"$1\" to \"$2\"."
            },
            {
                "name": "filedelete",
                "normalizedname": "filedelete",
                "*": "Delete $1"
            },
            {
                "name": "filedelete-archive-read-only",
                "normalizedname": "filedelete-archive-read-only",
                "*": "The archive directory \"$1\" is not writable by the webserver."
            },
            {
                "name": "filedelete-comment",
                "normalizedname": "filedelete-comment",
                "*": "Reason:"
            },
            {
                "name": "filedelete-current-unregistered",
                "normalizedname": "filedelete-current-unregistered",
                "*": "The specified file \"$1\" is not in the database."
            },
            {
                "name": "filedelete-edit-reasonlist",
                "normalizedname": "filedelete-edit-reasonlist",
                "*": "Edit delete reasons"
            },
            {
                "name": "filedelete-intro",
                "normalizedname": "filedelete-intro",
                "*": "You are about to delete the file <strong>[[Media:$1|$1]]</strong> along with all of its history."
            },
            {
                "name": "filedelete-intro-old",
                "normalizedname": "filedelete-intro-old",
                "*": "You are deleting the version of <strong>[[Media:$1|$1]]</strong> as of [$4 $3, $2]."
            },
            {
                "name": "filedelete-legend",
                "normalizedname": "filedelete-legend",
                "*": "Delete file"
            },
            {
                "name": "filedelete-maintenance",
                "normalizedname": "filedelete-maintenance",
                "*": "Deletion and restoration of files temporarily disabled during maintenance."
            },
            {
                "name": "filedelete-maintenance-title",
                "normalizedname": "filedelete-maintenance-title",
                "*": "Cannot delete file"
            },
            {
                "name": "filedelete-missing",
                "normalizedname": "filedelete-missing",
                "*": "The file \"$1\" cannot be deleted because it does not exist."
            },
            {
                "name": "filedelete-nofile",
                "normalizedname": "filedelete-nofile",
                "*": "<strong>$1</strong> does not exist."
            },
            {
                "name": "filedelete-nofile-old",
                "normalizedname": "filedelete-nofile-old",
                "*": "There is no archived version of <strong>$1</strong> with the specified attributes."
            },
            {
                "name": "filedelete-old-unregistered",
                "normalizedname": "filedelete-old-unregistered",
                "*": "The specified file revision \"$1\" is not in the database."
            },
            {
                "name": "filedelete-otherreason",
                "normalizedname": "filedelete-otherreason",
                "*": "Other/additional reason:"
            },
            {
                "name": "filedelete-reason-dropdown",
                "normalizedname": "filedelete-reason-dropdown",
                "*": "*Common delete reasons\n** Copyright violation\n** Duplicated file"
            },
            {
                "name": "filedelete-reason-otherlist",
                "normalizedname": "filedelete-reason-otherlist",
                "*": "Other reason"
            },
            {
                "name": "filedelete-submit",
                "normalizedname": "filedelete-submit",
                "*": "Delete"
            },
            {
                "name": "filedelete-success",
                "normalizedname": "filedelete-success",
                "*": "<strong>$1</strong> has been deleted."
            },
            {
                "name": "filedelete-success-old",
                "normalizedname": "filedelete-success-old",
                "*": "The version of <strong>[[Media:$1|$1]]</strong> as of $3, $2 has been deleted."
            },
            {
                "name": "filedeleteerror",
                "normalizedname": "filedeleteerror",
                "*": "Could not delete file \"$1\"."
            },
            {
                "name": "filedeleteerror-long",
                "normalizedname": "filedeleteerror-long",
                "*": "Errors were encountered while deleting the file:\n\n$1"
            },
            {
                "name": "filedeleteerror-short",
                "normalizedname": "filedeleteerror-short",
                "*": "Error deleting file: $1"
            },
            {
                "name": "filedesc",
                "normalizedname": "filedesc",
                "*": "Summary"
            },
            {
                "name": "fileduplicatesearch",
                "normalizedname": "fileduplicatesearch",
                "*": "Search for duplicate files"
            },
            {
                "name": "fileduplicatesearch-filename",
                "normalizedname": "fileduplicatesearch-filename",
                "*": "Filename:"
            },
            {
                "name": "fileduplicatesearch-info",
                "normalizedname": "fileduplicatesearch-info",
                "*": "$1 \u00d7 $2 pixel<br />File size: $3<br />MIME type: $4"
            },
            {
                "name": "fileduplicatesearch-noresults",
                "normalizedname": "fileduplicatesearch-noresults",
                "*": "No file named \"$1\" found."
            },
            {
                "name": "fileduplicatesearch-result-1",
                "normalizedname": "fileduplicatesearch-result-1",
                "*": "The file \"$1\" has no identical duplication."
            },
            {
                "name": "fileduplicatesearch-result-n",
                "normalizedname": "fileduplicatesearch-result-n",
                "*": "The file \"$1\" has {{PLURAL:$2|1 identical duplication|$2 identical duplications}}."
            },
            {
                "name": "fileduplicatesearch-submit",
                "normalizedname": "fileduplicatesearch-submit",
                "*": "Search"
            },
            {
                "name": "fileduplicatesearch-summary",
                "normalizedname": "fileduplicatesearch-summary",
                "*": "Search for duplicate files based on hash values."
            },
            {
                "name": "fileexists",
                "normalizedname": "fileexists",
                "*": "A file with this name exists already, please check <strong>[[:$1]]</strong> if {{GENDER:|you}} are not sure if you want to change it.\n[[$1|thumb]]"
            },
            {
                "name": "fileexists-duplicate-version",
                "normalizedname": "fileexists-duplicate-version",
                "*": "The upload is an exact duplicate of {{PLURAL:$2|an older version|older versions}} of <strong>[[:$1]]</strong>."
            },
            {
                "name": "fileexists-extension",
                "normalizedname": "fileexists-extension",
                "*": "A file with a similar name exists: [[$2|thumb]]\n* Name of the uploading file: <strong>[[:$1]]</strong>\n* Name of the existing file: <strong>[[:$2]]</strong>\nDo you perhaps want to use a more distinctive name?"
            },
            {
                "name": "fileexists-forbidden",
                "normalizedname": "fileexists-forbidden",
                "*": "A file with this name already exists, and cannot be overwritten.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]"
            },
            {
                "name": "fileexists-no-change",
                "normalizedname": "fileexists-no-change",
                "*": "The upload is an exact duplicate of the current version of <strong>[[:$1]]</strong>."
            },
            {
                "name": "fileexists-shared-forbidden",
                "normalizedname": "fileexists-shared-forbidden",
                "*": "A file with this name exists already in the shared file repository.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]"
            },
            {
                "name": "fileexists-thumbnail-yes",
                "normalizedname": "fileexists-thumbnail-yes",
                "*": "The file seems to be an image of reduced size <em>(thumbnail)</em>.\n[[$1|thumb]]\nPlease check the file <strong>[[:$1]]</strong>.\nIf the checked file is the same image of original size it is not necessary to upload an extra thumbnail."
            },
            {
                "name": "filehist",
                "normalizedname": "filehist",
                "*": "File history"
            },
            {
                "name": "filehist-comment",
                "normalizedname": "filehist-comment",
                "*": "Comment"
            },
            {
                "name": "filehist-current",
                "normalizedname": "filehist-current",
                "*": "current"
            },
            {
                "name": "filehist-datetime",
                "normalizedname": "filehist-datetime",
                "*": "Date/Time"
            },
            {
                "name": "filehist-deleteall",
                "normalizedname": "filehist-deleteall",
                "*": "delete all"
            },
            {
                "name": "filehist-deleteone",
                "normalizedname": "filehist-deleteone",
                "*": "delete"
            },
            {
                "name": "filehist-dimensions",
                "normalizedname": "filehist-dimensions",
                "*": "Dimensions"
            },
            {
                "name": "filehist-filesize",
                "normalizedname": "filehist-filesize",
                "*": "File size"
            },
            {
                "name": "filehist-help",
                "normalizedname": "filehist-help",
                "*": "Click on a date/time to view the file as it appeared at that time."
            },
            {
                "name": "filehist-nothumb",
                "normalizedname": "filehist-nothumb",
                "*": "No thumbnail"
            },
            {
                "name": "filehist-revert",
                "normalizedname": "filehist-revert",
                "*": "revert"
            },
            {
                "name": "filehist-thumb",
                "normalizedname": "filehist-thumb",
                "*": "Thumbnail"
            },
            {
                "name": "filehist-thumbtext",
                "normalizedname": "filehist-thumbtext",
                "*": "Thumbnail for version as of $1"
            },
            {
                "name": "filehist-user",
                "normalizedname": "filehist-user",
                "*": "User"
            },
            {
                "name": "filejournal-fail-dbconnect",
                "normalizedname": "filejournal-fail-dbconnect",
                "*": "Could not connect to the journal database for storage backend \"$1\"."
            },
            {
                "name": "filejournal-fail-dbquery",
                "normalizedname": "filejournal-fail-dbquery",
                "*": "Could not update the journal database for storage backend \"$1\"."
            },
            {
                "name": "filemissing",
                "normalizedname": "filemissing",
                "*": "File missing"
            },
            {
                "name": "filename",
                "normalizedname": "filename",
                "*": "Filename"
            },
            {
                "name": "filename-bad-prefix",
                "normalizedname": "filename-bad-prefix",
                "*": "The name of the file you are uploading begins with <strong>\"$1\"</strong>, which is a non-descriptive name typically assigned automatically by digital cameras.\nPlease choose a more descriptive name for your file."
            },
            {
                "name": "filename-prefix-blacklist",
                "normalizedname": "filename-prefix-blacklist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical filenames assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "name": "filename-thumb-name",
                "normalizedname": "filename-thumb-name",
                "*": "This looks like a thumbnail title. Please do not upload thumbnails back to the same wiki. Otherwise, please fix the filename so it is more meaningful, and does not have the thumbnail prefix."
            },
            {
                "name": "filename-toolong",
                "normalizedname": "filename-toolong",
                "*": "Filenames may not be longer than 240 bytes."
            },
            {
                "name": "filename-tooshort",
                "normalizedname": "filename-tooshort",
                "*": "The filename is too short."
            },
            {
                "name": "filenotfound",
                "normalizedname": "filenotfound",
                "*": "Could not find file \"$1\"."
            },
            {
                "name": "filepage-nofile",
                "normalizedname": "filepage-nofile",
                "*": "No file by this name exists."
            },
            {
                "name": "filepage-nofile-link",
                "normalizedname": "filepage-nofile-link",
                "*": "No file by this name exists, but you can [$1 upload it]."
            },
            {
                "name": "filepage.css",
                "normalizedname": "filepage.css",
                "*": "/* CSS placed here is included on the file description page, also included on foreign client wikis */"
            },
            {
                "name": "filepageexists",
                "normalizedname": "filepageexists",
                "*": "The description page for this file has already been created at <strong>[[:$1]]</strong>, but no file with this name currently exists.\nThe summary you enter will not appear on the description page.\nTo make your summary appear there, you will need to manually edit it.\n[[$1|thumb]]"
            },
            {
                "name": "filereadonlyerror",
                "normalizedname": "filereadonlyerror",
                "*": "Unable to modify the file \"$1\" because the file repository \"$2\" is in read-only mode.\n\nThe system administrator who locked it offered this explanation: \"$3\"."
            },
            {
                "name": "filerenameerror",
                "normalizedname": "filerenameerror",
                "*": "Could not rename file \"$1\" to \"$2\"."
            },
            {
                "name": "filereuploadsummary",
                "normalizedname": "filereuploadsummary",
                "*": "File changes:"
            },
            {
                "name": "filerevert",
                "normalizedname": "filerevert",
                "*": "Revert $1"
            },
            {
                "name": "filerevert-badversion",
                "normalizedname": "filerevert-badversion",
                "*": "There is no previous local version of this file with the provided timestamp."
            },
            {
                "name": "filerevert-comment",
                "normalizedname": "filerevert-comment",
                "*": "Reason:"
            },
            {
                "name": "filerevert-defaultcomment",
                "normalizedname": "filerevert-defaultcomment",
                "*": "Reverted to version as of $2, $1 ($3)"
            },
            {
                "name": "filerevert-identical",
                "normalizedname": "filerevert-identical",
                "*": "The current version of the file is already identical to the selected one."
            },
            {
                "name": "filerevert-intro",
                "normalizedname": "filerevert-intro",
                "*": "You are about to revert the file <strong>[[Media:$1|$1]]</strong> to the [$4 version as of $3, $2]."
            },
            {
                "name": "filerevert-legend",
                "normalizedname": "filerevert-legend",
                "*": "Revert file"
            },
            {
                "name": "filerevert-submit",
                "normalizedname": "filerevert-submit",
                "*": "Revert"
            },
            {
                "name": "filerevert-success",
                "normalizedname": "filerevert-success",
                "*": "<strong>[[Media:$1|$1]]</strong> has been reverted to the [$4 version as of $3, $2]."
            },
            {
                "name": "filesource",
                "normalizedname": "filesource",
                "*": "Source:"
            },
            {
                "name": "filestatus",
                "normalizedname": "filestatus",
                "*": "Copyright status:"
            },
            {
                "name": "filetype-bad-ie-mime",
                "normalizedname": "filetype-bad-ie-mime",
                "*": "Cannot upload this file because Internet Explorer would detect it as \"$1\", which is a disallowed and potentially dangerous file type."
            },
            {
                "name": "filetype-badmime",
                "normalizedname": "filetype-badmime",
                "*": "Files of the MIME type \"$1\" are not allowed to be uploaded."
            },
            {
                "name": "filetype-banned",
                "normalizedname": "filetype-banned",
                "*": "This type of file is banned."
            },
            {
                "name": "filetype-banned-type",
                "normalizedname": "filetype-banned-type",
                "*": "<strong>\".$1\"</strong> {{PLURAL:$4|is not a permitted file type|are not permitted file types}}.\nPermitted {{PLURAL:$3|file type is|file types are}} $2."
            },
            {
                "name": "filetype-mime-mismatch",
                "normalizedname": "filetype-mime-mismatch",
                "*": "File extension \".$1\" does not match the detected MIME type of the file ($2)."
            },
            {
                "name": "filetype-missing",
                "normalizedname": "filetype-missing",
                "*": "The file has no extension (like \".jpg\")."
            },
            {
                "name": "filetype-unwanted-type",
                "normalizedname": "filetype-unwanted-type",
                "*": "<strong>\".$1\"</strong> is an unwanted file type.\nPreferred {{PLURAL:$3|file type is|file types are}} $2."
            },
            {
                "name": "fileuploadsummary",
                "normalizedname": "fileuploadsummary",
                "*": "Summary:"
            },
            {
                "name": "filewasdeleted",
                "normalizedname": "filewasdeleted",
                "*": "A file of this name has been previously uploaded and subsequently deleted.\nYou should check the $1 before proceeding to upload it again."
            },
            {
                "name": "fix-double-redirects",
                "normalizedname": "fix-double-redirects",
                "*": "Update any redirects that point to the original title"
            },
            {
                "name": "formerror",
                "normalizedname": "formerror",
                "*": "Error: Could not submit form."
            },
            {
                "name": "fri",
                "normalizedname": "fri",
                "*": "Fri"
            },
            {
                "name": "friday",
                "normalizedname": "friday",
                "*": "Friday"
            },
            {
                "name": "friday-at",
                "normalizedname": "friday-at",
                "*": "Friday at $1"
            },
            {
                "name": "gallery-slideshow-toggle",
                "normalizedname": "gallery-slideshow-toggle",
                "*": "Toggle thumbnails"
            },
            {
                "name": "gender-female",
                "normalizedname": "gender-female",
                "*": "She edits wiki pages"
            },
            {
                "name": "gender-male",
                "normalizedname": "gender-male",
                "*": "He edits wiki pages"
            },
            {
                "name": "gender-unknown",
                "normalizedname": "gender-unknown",
                "*": "When mentioning you, the software will use gender neutral words whenever possible"
            },
            {
                "name": "generic-pool-error",
                "normalizedname": "generic-pool-error",
                "*": "Sorry, the servers are overloaded at the moment.\nToo many users are trying to view this resource.\nPlease wait a while before you try to access this resource again."
            },
            {
                "name": "go",
                "normalizedname": "go",
                "*": "Go"
            },
            {
                "name": "googlesearch",
                "normalizedname": "googlesearch",
                "*": "<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n\t<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n\t<input type=\"hidden\" name=\"num\" value=\"50\" />\n\t<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n\t<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n\t<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n\t<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n\t<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>"
            },
            {
                "name": "gotointerwiki",
                "normalizedname": "gotointerwiki",
                "*": "Leaving {{SITENAME}}"
            },
            {
                "name": "gotointerwiki-external",
                "normalizedname": "gotointerwiki-external",
                "*": "You are about to leave {{SITENAME}} to visit [[$2]], which is a separate website.\n\n'''[$1 Continue to $1]'''"
            },
            {
                "name": "gotointerwiki-invalid",
                "normalizedname": "gotointerwiki-invalid",
                "*": "The specified title is invalid."
            },
            {
                "name": "grant-basic",
                "normalizedname": "grant-basic",
                "*": "Basic rights"
            },
            {
                "name": "grant-blockusers",
                "normalizedname": "grant-blockusers",
                "*": "Block and unblock users"
            },
            {
                "name": "grant-createaccount",
                "normalizedname": "grant-createaccount",
                "*": "Create accounts"
            },
            {
                "name": "grant-createeditmovepage",
                "normalizedname": "grant-createeditmovepage",
                "*": "Create, edit, and move pages"
            },
            {
                "name": "grant-delete",
                "normalizedname": "grant-delete",
                "*": "Delete pages, revisions, and log entries"
            },
            {
                "name": "grant-editinterface",
                "normalizedname": "grant-editinterface",
                "*": "Edit the MediaWiki namespace and user CSS/JSON/JavaScript"
            },
            {
                "name": "grant-editmycssjs",
                "normalizedname": "grant-editmycssjs",
                "*": "Edit your user CSS/JSON/JavaScript"
            },
            {
                "name": "grant-editmyoptions",
                "normalizedname": "grant-editmyoptions",
                "*": "Edit your user preferences"
            },
            {
                "name": "grant-editmywatchlist",
                "normalizedname": "grant-editmywatchlist",
                "*": "Edit your watchlist"
            },
            {
                "name": "grant-editpage",
                "normalizedname": "grant-editpage",
                "*": "Edit existing pages"
            },
            {
                "name": "grant-editprotected",
                "normalizedname": "grant-editprotected",
                "*": "Edit protected pages"
            },
            {
                "name": "grant-generic",
                "normalizedname": "grant-generic",
                "*": "\"$1\" rights bundle"
            },
            {
                "name": "grant-group-administration",
                "normalizedname": "grant-group-administration",
                "*": "Perform administrative actions"
            },
            {
                "name": "grant-group-customization",
                "normalizedname": "grant-group-customization",
                "*": "Customization and preferences"
            },
            {
                "name": "grant-group-email",
                "normalizedname": "grant-group-email",
                "*": "Send email"
            },
            {
                "name": "grant-group-file-interaction",
                "normalizedname": "grant-group-file-interaction",
                "*": "Interact with media"
            },
            {
                "name": "grant-group-high-volume",
                "normalizedname": "grant-group-high-volume",
                "*": "Perform high volume activity"
            },
            {
                "name": "grant-group-other",
                "normalizedname": "grant-group-other",
                "*": "Miscellaneous activity"
            },
            {
                "name": "grant-group-page-interaction",
                "normalizedname": "grant-group-page-interaction",
                "*": "Interact with pages"
            },
            {
                "name": "grant-group-private-information",
                "normalizedname": "grant-group-private-information",
                "*": "Access private data about you"
            },
            {
                "name": "grant-group-watchlist-interaction",
                "normalizedname": "grant-group-watchlist-interaction",
                "*": "Interact with your watchlist"
            },
            {
                "name": "grant-highvolume",
                "normalizedname": "grant-highvolume",
                "*": "High-volume editing"
            },
            {
                "name": "grant-oversight",
                "normalizedname": "grant-oversight",
                "*": "Hide users and suppress revisions"
            },
            {
                "name": "grant-patrol",
                "normalizedname": "grant-patrol",
                "*": "Patrol changes to pages"
            },
            {
                "name": "grant-privateinfo",
                "normalizedname": "grant-privateinfo",
                "*": "Access private information"
            },
            {
                "name": "grant-protect",
                "normalizedname": "grant-protect",
                "*": "Protect and unprotect pages"
            },
            {
                "name": "grant-rollback",
                "normalizedname": "grant-rollback",
                "*": "Rollback changes to pages"
            },
            {
                "name": "grant-sendemail",
                "normalizedname": "grant-sendemail",
                "*": "Send email to other users"
            },
            {
                "name": "grant-uploadeditmovefile",
                "normalizedname": "grant-uploadeditmovefile",
                "*": "Upload, replace, and move files"
            },
            {
                "name": "grant-uploadfile",
                "normalizedname": "grant-uploadfile",
                "*": "Upload new files"
            },
            {
                "name": "grant-viewdeleted",
                "normalizedname": "grant-viewdeleted",
                "*": "View deleted files and pages"
            },
            {
                "name": "grant-viewmywatchlist",
                "normalizedname": "grant-viewmywatchlist",
                "*": "View your watchlist"
            },
            {
                "name": "grant-viewrestrictedlogs",
                "normalizedname": "grant-viewrestrictedlogs",
                "*": "View restricted log entries"
            },
            {
                "name": "group",
                "normalizedname": "group",
                "*": "Group:"
            },
            {
                "name": "group-all",
                "normalizedname": "group-all",
                "*": "(all)"
            },
            {
                "name": "group-autoconfirmed",
                "normalizedname": "group-autoconfirmed",
                "*": "Autoconfirmed users"
            },
            {
                "name": "group-autoconfirmed-member",
                "normalizedname": "group-autoconfirmed-member",
                "*": "{{GENDER:$1|autoconfirmed user}}"
            },
            {
                "name": "group-autoconfirmed.css",
                "normalizedname": "group-autoconfirmed.css",
                "*": "/* CSS placed here will affect autoconfirmed users only */"
            },
            {
                "name": "group-autoconfirmed.js",
                "normalizedname": "group-autoconfirmed.js",
                "*": "/* Any JavaScript here will be loaded for autoconfirmed users only */"
            },
            {
                "name": "group-bot",
                "normalizedname": "group-bot",
                "*": "Bots"
            },
            {
                "name": "group-bot-member",
                "normalizedname": "group-bot-member",
                "*": "{{GENDER:$1|bot}}"
            },
            {
                "name": "group-bot.css",
                "normalizedname": "group-bot.css",
                "*": "/* CSS placed here will affect bots only */"
            },
            {
                "name": "group-bot.js",
                "normalizedname": "group-bot.js",
                "*": "/* Any JavaScript here will be loaded for bots only */"
            },
            {
                "name": "group-bureaucrat",
                "normalizedname": "group-bureaucrat",
                "*": "Bureaucrats"
            },
            {
                "name": "group-bureaucrat-member",
                "normalizedname": "group-bureaucrat-member",
                "*": "{{GENDER:$1|bureaucrat}}"
            },
            {
                "name": "group-bureaucrat.css",
                "normalizedname": "group-bureaucrat.css",
                "*": "/* CSS placed here will affect bureaucrats only */"
            },
            {
                "name": "group-bureaucrat.js",
                "normalizedname": "group-bureaucrat.js",
                "*": "/* Any JavaScript here will be loaded for bureaucrats only */"
            },
            {
                "name": "group-membership-link-with-expiry",
                "normalizedname": "group-membership-link-with-expiry",
                "*": "$1 (until $2)"
            },
            {
                "name": "group-suppress",
                "normalizedname": "group-suppress",
                "*": "Suppressors"
            },
            {
                "name": "group-suppress-member",
                "normalizedname": "group-suppress-member",
                "*": "{{GENDER:$1|suppressor}}"
            },
            {
                "name": "group-sysop",
                "normalizedname": "group-sysop",
                "*": "Administrators"
            },
            {
                "name": "group-sysop-member",
                "normalizedname": "group-sysop-member",
                "*": "{{GENDER:$1|administrator}}"
            },
            {
                "name": "group-sysop.css",
                "normalizedname": "group-sysop.css",
                "*": "/* CSS placed here will affect sysops only */"
            },
            {
                "name": "group-sysop.js",
                "normalizedname": "group-sysop.js",
                "*": "/* Any JavaScript here will be loaded for sysops only */"
            },
            {
                "name": "group-user",
                "normalizedname": "group-user",
                "*": "Users"
            },
            {
                "name": "group-user-member",
                "normalizedname": "group-user-member",
                "*": "{{GENDER:$1|user}}"
            },
            {
                "name": "group-user.css",
                "normalizedname": "group-user.css",
                "*": "/* CSS placed here will affect registered users only */"
            },
            {
                "name": "group-user.js",
                "normalizedname": "group-user.js",
                "*": "/* Any JavaScript here will be loaded for registered users only */"
            },
            {
                "name": "grouppage-autoconfirmed",
                "normalizedname": "grouppage-autoconfirmed",
                "*": "{{ns:project}}:Autoconfirmed users"
            },
            {
                "name": "grouppage-bot",
                "normalizedname": "grouppage-bot",
                "*": "{{ns:project}}:Bots"
            },
            {
                "name": "grouppage-bureaucrat",
                "normalizedname": "grouppage-bureaucrat",
                "*": "{{ns:project}}:Bureaucrats"
            },
            {
                "name": "grouppage-suppress",
                "normalizedname": "grouppage-suppress",
                "*": "{{ns:project}}:Suppress"
            },
            {
                "name": "grouppage-sysop",
                "normalizedname": "grouppage-sysop",
                "*": "{{ns:project}}:Administrators"
            },
            {
                "name": "grouppage-user",
                "normalizedname": "grouppage-user",
                "*": "{{ns:project}}:Users"
            },
            {
                "name": "guesstimezone",
                "normalizedname": "guesstimezone",
                "*": "Fill in from browser"
            },
            {
                "name": "headline-anchor-title",
                "normalizedname": "headline-anchor-title",
                "*": "Link to this section"
            },
            {
                "name": "headline_sample",
                "normalizedname": "headline_sample",
                "*": "Headline text"
            },
            {
                "name": "headline_tip",
                "normalizedname": "headline_tip",
                "*": "Level 2 headline"
            },
            {
                "name": "hebrew-calendar-m1",
                "normalizedname": "hebrew-calendar-m1",
                "*": "Tishrei"
            },
            {
                "name": "hebrew-calendar-m1-gen",
                "normalizedname": "hebrew-calendar-m1-gen",
                "*": "Tishrei"
            },
            {
                "name": "hebrew-calendar-m10",
                "normalizedname": "hebrew-calendar-m10",
                "*": "Tamuz"
            },
            {
                "name": "hebrew-calendar-m10-gen",
                "normalizedname": "hebrew-calendar-m10-gen",
                "*": "Tamuz"
            },
            {
                "name": "hebrew-calendar-m11",
                "normalizedname": "hebrew-calendar-m11",
                "*": "Av"
            },
            {
                "name": "hebrew-calendar-m11-gen",
                "normalizedname": "hebrew-calendar-m11-gen",
                "*": "Av"
            },
            {
                "name": "hebrew-calendar-m12",
                "normalizedname": "hebrew-calendar-m12",
                "*": "Elul"
            },
            {
                "name": "hebrew-calendar-m12-gen",
                "normalizedname": "hebrew-calendar-m12-gen",
                "*": "Elul"
            },
            {
                "name": "hebrew-calendar-m2",
                "normalizedname": "hebrew-calendar-m2",
                "*": "Cheshvan"
            },
            {
                "name": "hebrew-calendar-m2-gen",
                "normalizedname": "hebrew-calendar-m2-gen",
                "*": "Cheshvan"
            },
            {
                "name": "hebrew-calendar-m3",
                "normalizedname": "hebrew-calendar-m3",
                "*": "Kislev"
            },
            {
                "name": "hebrew-calendar-m3-gen",
                "normalizedname": "hebrew-calendar-m3-gen",
                "*": "Kislev"
            },
            {
                "name": "hebrew-calendar-m4",
                "normalizedname": "hebrew-calendar-m4",
                "*": "Tevet"
            },
            {
                "name": "hebrew-calendar-m4-gen",
                "normalizedname": "hebrew-calendar-m4-gen",
                "*": "Tevet"
            },
            {
                "name": "hebrew-calendar-m5",
                "normalizedname": "hebrew-calendar-m5",
                "*": "Shevat"
            },
            {
                "name": "hebrew-calendar-m5-gen",
                "normalizedname": "hebrew-calendar-m5-gen",
                "*": "Shevat"
            },
            {
                "name": "hebrew-calendar-m6",
                "normalizedname": "hebrew-calendar-m6",
                "*": "Adar"
            },
            {
                "name": "hebrew-calendar-m6-gen",
                "normalizedname": "hebrew-calendar-m6-gen",
                "*": "Adar"
            },
            {
                "name": "hebrew-calendar-m6a",
                "normalizedname": "hebrew-calendar-m6a",
                "*": "Adar I"
            },
            {
                "name": "hebrew-calendar-m6a-gen",
                "normalizedname": "hebrew-calendar-m6a-gen",
                "*": "Adar I"
            },
            {
                "name": "hebrew-calendar-m6b",
                "normalizedname": "hebrew-calendar-m6b",
                "*": "Adar II"
            },
            {
                "name": "hebrew-calendar-m6b-gen",
                "normalizedname": "hebrew-calendar-m6b-gen",
                "*": "Adar II"
            },
            {
                "name": "hebrew-calendar-m7",
                "normalizedname": "hebrew-calendar-m7",
                "*": "Nisan"
            },
            {
                "name": "hebrew-calendar-m7-gen",
                "normalizedname": "hebrew-calendar-m7-gen",
                "*": "Nisan"
            },
            {
                "name": "hebrew-calendar-m8",
                "normalizedname": "hebrew-calendar-m8",
                "*": "Iyar"
            },
            {
                "name": "hebrew-calendar-m8-gen",
                "normalizedname": "hebrew-calendar-m8-gen",
                "*": "Iyar"
            },
            {
                "name": "hebrew-calendar-m9",
                "normalizedname": "hebrew-calendar-m9",
                "*": "Sivan"
            },
            {
                "name": "hebrew-calendar-m9-gen",
                "normalizedname": "hebrew-calendar-m9-gen",
                "*": "Sivan"
            },
            {
                "name": "help",
                "normalizedname": "help",
                "*": "Help"
            },
            {
                "name": "helplogin-url",
                "normalizedname": "helplogin-url",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Logging_in"
            },
            {
                "name": "helppage",
                "normalizedname": "helppage",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents"
            },
            {
                "name": "helppage-top-gethelp",
                "normalizedname": "helppage-top-gethelp",
                "*": "Help"
            },
            {
                "name": "hidden-categories",
                "normalizedname": "hidden-categories",
                "*": "{{PLURAL:$1|Hidden category|Hidden categories}}"
            },
            {
                "name": "hidden-category-category",
                "normalizedname": "hidden-category-category",
                "*": "Hidden categories"
            },
            {
                "name": "hidden-category-category-desc",
                "normalizedname": "hidden-category-category-desc",
                "*": "The category contains <code><nowiki>__HIDDENCAT__</nowiki></code> in its page content, which prevents it from showing up in the category links box on pages by default."
            },
            {
                "name": "hiddencategories",
                "normalizedname": "hiddencategories",
                "*": "This page is a member of {{PLURAL:$1|1 hidden category|$1 hidden categories}}:"
            },
            {
                "name": "hide",
                "normalizedname": "hide",
                "*": "Hide"
            },
            {
                "name": "hidetoc",
                "normalizedname": "hidetoc",
                "*": "hide"
            },
            {
                "name": "hijri-calendar-m1",
                "normalizedname": "hijri-calendar-m1",
                "*": "Muharram"
            },
            {
                "name": "hijri-calendar-m10",
                "normalizedname": "hijri-calendar-m10",
                "*": "Shawwal"
            },
            {
                "name": "hijri-calendar-m11",
                "normalizedname": "hijri-calendar-m11",
                "*": "Dhu al-Qi'dah"
            },
            {
                "name": "hijri-calendar-m12",
                "normalizedname": "hijri-calendar-m12",
                "*": "Dhu al-Hijjah"
            },
            {
                "name": "hijri-calendar-m2",
                "normalizedname": "hijri-calendar-m2",
                "*": "Safar"
            },
            {
                "name": "hijri-calendar-m3",
                "normalizedname": "hijri-calendar-m3",
                "*": "Rabi' al-awwal"
            },
            {
                "name": "hijri-calendar-m4",
                "normalizedname": "hijri-calendar-m4",
                "*": "Rabi' al-thani"
            },
            {
                "name": "hijri-calendar-m5",
                "normalizedname": "hijri-calendar-m5",
                "*": "Jumada al-awwal"
            },
            {
                "name": "hijri-calendar-m6",
                "normalizedname": "hijri-calendar-m6",
                "*": "Jumada al-thani"
            },
            {
                "name": "hijri-calendar-m7",
                "normalizedname": "hijri-calendar-m7",
                "*": "Rajab"
            },
            {
                "name": "hijri-calendar-m8",
                "normalizedname": "hijri-calendar-m8",
                "*": "Sha'aban"
            },
            {
                "name": "hijri-calendar-m9",
                "normalizedname": "hijri-calendar-m9",
                "*": "Ramadan"
            },
            {
                "name": "hist",
                "normalizedname": "hist",
                "*": "hist"
            },
            {
                "name": "histfirst",
                "normalizedname": "histfirst",
                "*": "oldest"
            },
            {
                "name": "histlast",
                "normalizedname": "histlast",
                "*": "newest"
            },
            {
                "name": "histlegend",
                "normalizedname": "histlegend",
                "*": "Diff selection: Mark the radio boxes of the revisions to compare and hit enter or the button at the bottom.<br />\nLegend: <strong>({{int:cur}})</strong> = difference with latest revision, <strong>({{int:last}})</strong> = difference with preceding revision, <strong>{{int:minoreditletter}}</strong> = minor edit."
            },
            {
                "name": "history",
                "normalizedname": "history",
                "*": "Page history"
            },
            {
                "name": "history-edit-tags",
                "normalizedname": "history-edit-tags",
                "*": "Edit tags of selected revisions"
            },
            {
                "name": "history-feed-description",
                "normalizedname": "history-feed-description",
                "*": "Revision history for this page on the wiki"
            },
            {
                "name": "history-feed-empty",
                "normalizedname": "history-feed-empty",
                "*": "The requested page does not exist.\nIt may have been deleted from the wiki, or renamed.\nTry [[Special:Search|searching on the wiki]] for relevant new pages."
            },
            {
                "name": "history-feed-item-nocomment",
                "normalizedname": "history-feed-item-nocomment",
                "*": "$1 at $2"
            },
            {
                "name": "history-feed-title",
                "normalizedname": "history-feed-title",
                "*": "Revision history"
            },
            {
                "name": "history-fieldset-title",
                "normalizedname": "history-fieldset-title",
                "*": "Search for revisions"
            },
            {
                "name": "history-show-deleted",
                "normalizedname": "history-show-deleted",
                "*": "Revision deleted only"
            },
            {
                "name": "history-title",
                "normalizedname": "history-title",
                "*": "Revision history of \"$1\""
            },
            {
                "name": "history_copyright",
                "normalizedname": "history_copyright",
                "*": "-"
            },
            {
                "name": "history_short",
                "normalizedname": "history_short",
                "*": "History"
            },
            {
                "name": "history_small",
                "normalizedname": "history_small",
                "*": "history"
            },
            {
                "name": "historyaction-submit",
                "normalizedname": "historyaction-submit",
                "*": "Show"
            },
            {
                "name": "historyempty",
                "normalizedname": "historyempty",
                "*": "(empty)"
            },
            {
                "name": "historysize",
                "normalizedname": "historysize",
                "*": "({{PLURAL:$1|1 byte|$1 bytes}})"
            },
            {
                "name": "historywarning",
                "normalizedname": "historywarning",
                "*": "<strong>Warning:</strong> The page you are about to delete has a history with $1 {{PLURAL:$1|revision|revisions}}:"
            },
            {
                "name": "hookaborted",
                "normalizedname": "hookaborted",
                "*": "The modification you tried to make was aborted by an extension."
            },
            {
                "name": "hours",
                "normalizedname": "hours",
                "*": "{{PLURAL:$1|$1 hour|$1 hours}}"
            },
            {
                "name": "hours-abbrev",
                "normalizedname": "hours-abbrev",
                "*": "$1 h"
            },
            {
                "name": "hours-ago",
                "normalizedname": "hours-ago",
                "*": "$1 {{PLURAL:$1|hour|hours}} ago"
            },
            {
                "name": "hr_tip",
                "normalizedname": "hr_tip",
                "*": "Horizontal line (use sparingly)"
            },
            {
                "name": "htmlform-chosen-placeholder",
                "normalizedname": "htmlform-chosen-placeholder",
                "*": "Select an option"
            },
            {
                "name": "htmlform-cloner-create",
                "normalizedname": "htmlform-cloner-create",
                "*": "Add more"
            },
            {
                "name": "htmlform-cloner-delete",
                "normalizedname": "htmlform-cloner-delete",
                "*": "Remove"
            },
            {
                "name": "htmlform-cloner-required",
                "normalizedname": "htmlform-cloner-required",
                "*": "At least one value is required."
            },
            {
                "name": "htmlform-date-invalid",
                "normalizedname": "htmlform-date-invalid",
                "*": "The value you specified is not a recognized date. Try using YYYY-MM-DD format."
            },
            {
                "name": "htmlform-date-placeholder",
                "normalizedname": "htmlform-date-placeholder",
                "*": "YYYY-MM-DD"
            },
            {
                "name": "htmlform-date-toohigh",
                "normalizedname": "htmlform-date-toohigh",
                "*": "The value you specified is after the latest allowed date of $1."
            },
            {
                "name": "htmlform-date-toolow",
                "normalizedname": "htmlform-date-toolow",
                "*": "The value you specified is before the earliest allowed date of $1."
            },
            {
                "name": "htmlform-datetime-invalid",
                "normalizedname": "htmlform-datetime-invalid",
                "*": "The value you specified is not a recognized date and time. Try using YYYY-MM-DD HH:MM:SS format."
            },
            {
                "name": "htmlform-datetime-placeholder",
                "normalizedname": "htmlform-datetime-placeholder",
                "*": "YYYY-MM-DD HH:MM:SS"
            },
            {
                "name": "htmlform-datetime-toohigh",
                "normalizedname": "htmlform-datetime-toohigh",
                "*": "The value you specified is after the latest allowed date and time of $1."
            },
            {
                "name": "htmlform-datetime-toolow",
                "normalizedname": "htmlform-datetime-toolow",
                "*": "The value you specified is before the earliest allowed date and time of $1."
            },
            {
                "name": "htmlform-float-invalid",
                "normalizedname": "htmlform-float-invalid",
                "*": "The value you specified is not a number."
            },
            {
                "name": "htmlform-int-invalid",
                "normalizedname": "htmlform-int-invalid",
                "*": "The value you specified is not an integer."
            },
            {
                "name": "htmlform-int-toohigh",
                "normalizedname": "htmlform-int-toohigh",
                "*": "The value you specified is above the maximum of $1."
            },
            {
                "name": "htmlform-int-toolow",
                "normalizedname": "htmlform-int-toolow",
                "*": "The value you specified is below the minimum of $1."
            },
            {
                "name": "htmlform-invalid-input",
                "normalizedname": "htmlform-invalid-input",
                "*": "There are problems with some of your input."
            },
            {
                "name": "htmlform-no",
                "normalizedname": "htmlform-no",
                "*": "No"
            },
            {
                "name": "htmlform-required",
                "normalizedname": "htmlform-required",
                "*": "This value is required."
            },
            {
                "name": "htmlform-reset",
                "normalizedname": "htmlform-reset",
                "*": "Undo changes"
            },
            {
                "name": "htmlform-select-badoption",
                "normalizedname": "htmlform-select-badoption",
                "*": "The value you specified is not a valid option."
            },
            {
                "name": "htmlform-selectorother-other",
                "normalizedname": "htmlform-selectorother-other",
                "*": "Other"
            },
            {
                "name": "htmlform-submit",
                "normalizedname": "htmlform-submit",
                "*": "Submit"
            },
            {
                "name": "htmlform-time-invalid",
                "normalizedname": "htmlform-time-invalid",
                "*": "The value you specified is not a recognized time. Try using HH:MM:SS format."
            },
            {
                "name": "htmlform-time-placeholder",
                "normalizedname": "htmlform-time-placeholder",
                "*": "HH:MM:SS"
            },
            {
                "name": "htmlform-time-toohigh",
                "normalizedname": "htmlform-time-toohigh",
                "*": "The value you specified is after the latest allowed time of $1."
            },
            {
                "name": "htmlform-time-toolow",
                "normalizedname": "htmlform-time-toolow",
                "*": "The value you specified is before the earliest allowed time of $1."
            },
            {
                "name": "htmlform-title-badnamespace",
                "normalizedname": "htmlform-title-badnamespace",
                "*": "[[:$1]] is not in the \"{{ns:$2}}\" namespace."
            },
            {
                "name": "htmlform-title-not-creatable",
                "normalizedname": "htmlform-title-not-creatable",
                "*": "\"$1\" is not a creatable page title"
            },
            {
                "name": "htmlform-title-not-exists",
                "normalizedname": "htmlform-title-not-exists",
                "*": "$1 does not exist."
            },
            {
                "name": "htmlform-user-not-exists",
                "normalizedname": "htmlform-user-not-exists",
                "*": "<strong>$1</strong> does not exist."
            },
            {
                "name": "htmlform-user-not-valid",
                "normalizedname": "htmlform-user-not-valid",
                "*": "<strong>$1</strong> isn't a valid username."
            },
            {
                "name": "htmlform-yes",
                "normalizedname": "htmlform-yes",
                "*": "Yes"
            },
            {
                "name": "http-bad-status",
                "normalizedname": "http-bad-status",
                "*": "There was a problem during the HTTP request: $1 $2"
            },
            {
                "name": "http-curl-error",
                "normalizedname": "http-curl-error",
                "*": "Error fetching URL: $1"
            },
            {
                "name": "http-invalid-scheme",
                "normalizedname": "http-invalid-scheme",
                "*": "URLs with the \"$1\" scheme are not supported."
            },
            {
                "name": "http-invalid-url",
                "normalizedname": "http-invalid-url",
                "*": "Invalid URL: $1"
            },
            {
                "name": "http-read-error",
                "normalizedname": "http-read-error",
                "*": "HTTP read error."
            },
            {
                "name": "http-request-error",
                "normalizedname": "http-request-error",
                "*": "HTTP request failed due to unknown error."
            },
            {
                "name": "http-timed-out",
                "normalizedname": "http-timed-out",
                "*": "HTTP request timed out."
            },
            {
                "name": "ignorewarning",
                "normalizedname": "ignorewarning",
                "*": "Ignore warning and save file anyway"
            },
            {
                "name": "ignorewarnings",
                "normalizedname": "ignorewarnings",
                "*": "Ignore any warnings"
            },
            {
                "name": "illegal-filename",
                "normalizedname": "illegal-filename",
                "*": "The filename is not allowed."
            },
            {
                "name": "illegalfilename",
                "normalizedname": "illegalfilename",
                "*": "The filename \"$1\" contains characters that are not allowed in page titles.\nPlease rename the file and try uploading it again."
            },
            {
                "name": "ilsubmit",
                "normalizedname": "ilsubmit",
                "*": "Search"
            },
            {
                "name": "image_sample",
                "normalizedname": "image_sample",
                "*": "Example.jpg"
            },
            {
                "name": "image_tip",
                "normalizedname": "image_tip",
                "*": "Embedded file"
            },
            {
                "name": "imageinvalidfilename",
                "normalizedname": "imageinvalidfilename",
                "*": "The target filename is invalid."
            },
            {
                "name": "imagelinks",
                "normalizedname": "imagelinks",
                "*": "File usage"
            },
            {
                "name": "imagelisttext",
                "normalizedname": "imagelisttext",
                "*": "Below is a list of <strong>$1</strong> {{PLURAL:$1|file|files}} sorted $2."
            },
            {
                "name": "imagemaxsize",
                "normalizedname": "imagemaxsize",
                "*": "Image size limit:<br /><em>(for file description pages)</em>"
            },
            {
                "name": "imagenocrossnamespace",
                "normalizedname": "imagenocrossnamespace",
                "*": "Cannot move file to non-file namespace."
            },
            {
                "name": "imagepage",
                "normalizedname": "imagepage",
                "*": "View file page"
            },
            {
                "name": "imagetypemismatch",
                "normalizedname": "imagetypemismatch",
                "*": "The new file extension does not match its type."
            },
            {
                "name": "img-auth-accessdenied",
                "normalizedname": "img-auth-accessdenied",
                "*": "Access denied"
            },
            {
                "name": "img-auth-badtitle",
                "normalizedname": "img-auth-badtitle",
                "*": "Unable to construct a valid title from \"$1\"."
            },
            {
                "name": "img-auth-isdir",
                "normalizedname": "img-auth-isdir",
                "*": "You are trying to access a directory \"$1\".\nOnly file access is allowed."
            },
            {
                "name": "img-auth-nofile",
                "normalizedname": "img-auth-nofile",
                "*": "File \"$1\" does not exist."
            },
            {
                "name": "img-auth-nologinnWL",
                "normalizedname": "img-auth-nologinnWL",
                "*": "You are not logged in and \"$1\" is not in the whitelist."
            },
            {
                "name": "img-auth-nopathinfo",
                "normalizedname": "img-auth-nopathinfo",
                "*": "Missing PATH_INFO.\nYour server is not set up to pass this information.\nIt may be CGI-based and cannot support img_auth.\nSee https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization."
            },
            {
                "name": "img-auth-noread",
                "normalizedname": "img-auth-noread",
                "*": "User does not have access to read \"$1\"."
            },
            {
                "name": "img-auth-notindir",
                "normalizedname": "img-auth-notindir",
                "*": "Requested path is not in the configured upload directory."
            },
            {
                "name": "img-auth-public",
                "normalizedname": "img-auth-public",
                "*": "The function of img_auth.php is to output files from a private wiki.\nThis wiki is configured as a public wiki.\nFor optimal security, img_auth.php is disabled."
            },
            {
                "name": "img-auth-streaming",
                "normalizedname": "img-auth-streaming",
                "*": "Streaming \"$1\"."
            },
            {
                "name": "img-lang-default",
                "normalizedname": "img-lang-default",
                "*": "(default language)"
            },
            {
                "name": "img-lang-go",
                "normalizedname": "img-lang-go",
                "*": "Go"
            },
            {
                "name": "img-lang-info",
                "normalizedname": "img-lang-info",
                "*": "Render this image in $1. $2"
            },
            {
                "name": "img-lang-opt",
                "normalizedname": "img-lang-opt",
                "*": "$2 ($1)"
            },
            {
                "name": "imgfile",
                "normalizedname": "imgfile",
                "*": "file"
            },
            {
                "name": "imgmultigo",
                "normalizedname": "imgmultigo",
                "*": "Go!"
            },
            {
                "name": "imgmultigoto",
                "normalizedname": "imgmultigoto",
                "*": "Go to page $1"
            },
            {
                "name": "imgmultipagenext",
                "normalizedname": "imgmultipagenext",
                "*": "next page \u2192"
            },
            {
                "name": "imgmultipageprev",
                "normalizedname": "imgmultipageprev",
                "*": "\u2190 previous page"
            },
            {
                "name": "immobile-source-namespace",
                "normalizedname": "immobile-source-namespace",
                "*": "Cannot move pages in namespace \"$1\"."
            },
            {
                "name": "immobile-source-page",
                "normalizedname": "immobile-source-page",
                "*": "This page is not movable."
            },
            {
                "name": "immobile-target-namespace",
                "normalizedname": "immobile-target-namespace",
                "*": "Cannot move pages into namespace \"$1\"."
            },
            {
                "name": "immobile-target-namespace-iw",
                "normalizedname": "immobile-target-namespace-iw",
                "*": "Interwiki link is not a valid target for page move."
            },
            {
                "name": "immobile-target-page",
                "normalizedname": "immobile-target-page",
                "*": "Cannot move to that destination title."
            },
            {
                "name": "import",
                "normalizedname": "import",
                "*": "Import pages"
            },
            {
                "name": "import-assign-known-users",
                "normalizedname": "import-assign-known-users",
                "*": "Assign edits to local users where the named user exists locally"
            },
            {
                "name": "import-comment",
                "normalizedname": "import-comment",
                "*": "Comment:"
            },
            {
                "name": "import-error-bad-location",
                "normalizedname": "import-error-bad-location",
                "*": "Revision $2 using content model $3 cannot be stored on \"$1\" on this wiki, since that model is not supported on that page."
            },
            {
                "name": "import-error-create",
                "normalizedname": "import-error-create",
                "*": "Page \"$1\" was not imported because you are not allowed to create it."
            },
            {
                "name": "import-error-edit",
                "normalizedname": "import-error-edit",
                "*": "Page \"$1\" was not imported because you are not allowed to edit it."
            },
            {
                "name": "import-error-interwiki",
                "normalizedname": "import-error-interwiki",
                "*": "Page \"$1\" was not imported because its name is reserved for external linking (interwiki)."
            },
            {
                "name": "import-error-invalid",
                "normalizedname": "import-error-invalid",
                "*": "Page \"$1\" was not imported because the name to which it would be imported is invalid on this wiki."
            },
            {
                "name": "import-error-special",
                "normalizedname": "import-error-special",
                "*": "Page \"$1\" was not imported because it belongs to a special namespace that does not allow pages."
            },
            {
                "name": "import-error-unserialize",
                "normalizedname": "import-error-unserialize",
                "*": "Revision $2 of page \"$1\" could not be unserialized. The revision was reported to use content model $3 serialized as $4."
            },
            {
                "name": "import-interwiki-history",
                "normalizedname": "import-interwiki-history",
                "*": "Copy all history revisions for this page"
            },
            {
                "name": "import-interwiki-sourcepage",
                "normalizedname": "import-interwiki-sourcepage",
                "*": "Source page:"
            },
            {
                "name": "import-interwiki-sourcewiki",
                "normalizedname": "import-interwiki-sourcewiki",
                "*": "Source wiki:"
            },
            {
                "name": "import-interwiki-submit",
                "normalizedname": "import-interwiki-submit",
                "*": "Import"
            },
            {
                "name": "import-interwiki-templates",
                "normalizedname": "import-interwiki-templates",
                "*": "Include all templates"
            },
            {
                "name": "import-interwiki-text",
                "normalizedname": "import-interwiki-text",
                "*": "Select a wiki and page title to import.\nRevision dates and editors' names will be preserved.\nAll imports from other wikis are logged at the [[Special:Log/import|import log]]."
            },
            {
                "name": "import-invalid-interwiki",
                "normalizedname": "import-invalid-interwiki",
                "*": "Cannot import from the specified wiki."
            },
            {
                "name": "import-logentry-interwiki",
                "normalizedname": "import-logentry-interwiki",
                "*": "transwikied $1"
            },
            {
                "name": "import-logentry-interwiki-detail",
                "normalizedname": "import-logentry-interwiki-detail",
                "*": "$1 {{PLURAL:$1|revision|revisions}} imported from $2"
            },
            {
                "name": "import-logentry-upload",
                "normalizedname": "import-logentry-upload",
                "*": "imported [[$1]] by file upload"
            },
            {
                "name": "import-logentry-upload-detail",
                "normalizedname": "import-logentry-upload-detail",
                "*": "$1 {{PLURAL:$1|revision|revisions}} imported"
            },
            {
                "name": "import-mapping-default",
                "normalizedname": "import-mapping-default",
                "*": "Import to default locations"
            },
            {
                "name": "import-mapping-namespace",
                "normalizedname": "import-mapping-namespace",
                "*": "Import to a namespace:"
            },
            {
                "name": "import-mapping-subpage",
                "normalizedname": "import-mapping-subpage",
                "*": "Import as subpages of the following page:"
            },
            {
                "name": "import-noarticle",
                "normalizedname": "import-noarticle",
                "*": "No page to import!"
            },
            {
                "name": "import-nonewrevisions",
                "normalizedname": "import-nonewrevisions",
                "*": "No revisions imported (all were either already present, or skipped due to errors)."
            },
            {
                "name": "import-options-wrong",
                "normalizedname": "import-options-wrong",
                "*": "Wrong {{PLURAL:$2|option|options}}: <nowiki>$1</nowiki>"
            },
            {
                "name": "import-parse-failure",
                "normalizedname": "import-parse-failure",
                "*": "XML import parse failure"
            },
            {
                "name": "import-revision-count",
                "normalizedname": "import-revision-count",
                "*": "$1 {{PLURAL:$1|revision|revisions}}"
            },
            {
                "name": "import-rootpage-invalid",
                "normalizedname": "import-rootpage-invalid",
                "*": "Given root page is an invalid title."
            },
            {
                "name": "import-rootpage-nosubpage",
                "normalizedname": "import-rootpage-nosubpage",
                "*": "Namespace \"$1\" of the root page does not allow subpages."
            },
            {
                "name": "import-summary",
                "normalizedname": "import-summary",
                "*": ""
            },
            {
                "name": "import-token-mismatch",
                "normalizedname": "import-token-mismatch",
                "*": "Loss of session data.\n\nYou might have been logged out. '''Please verify that you're still logged in and try again'''.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site."
            },
            {
                "name": "import-upload",
                "normalizedname": "import-upload",
                "*": "Upload XML data"
            },
            {
                "name": "import-upload-filename",
                "normalizedname": "import-upload-filename",
                "*": "Filename:"
            },
            {
                "name": "import-upload-username-prefix",
                "normalizedname": "import-upload-username-prefix",
                "*": "Interwiki prefix:"
            },
            {
                "name": "importbadinterwiki",
                "normalizedname": "importbadinterwiki",
                "*": "Bad interwiki link"
            },
            {
                "name": "importcantopen",
                "normalizedname": "importcantopen",
                "*": "Could not open import file"
            },
            {
                "name": "imported-log-entries",
                "normalizedname": "imported-log-entries",
                "*": "Imported $1 {{PLURAL:$1|log entry|log entries}}."
            },
            {
                "name": "importfailed",
                "normalizedname": "importfailed",
                "*": "Import failed: <nowiki>$1</nowiki>"
            },
            {
                "name": "importinterwiki",
                "normalizedname": "importinterwiki",
                "*": "Import from another wiki"
            },
            {
                "name": "importlogpage",
                "normalizedname": "importlogpage",
                "*": "Import log"
            },
            {
                "name": "importlogpagetext",
                "normalizedname": "importlogpagetext",
                "*": "Administrative imports of pages with edit history from other wikis."
            },
            {
                "name": "importnofile",
                "normalizedname": "importnofile",
                "*": "No import file was uploaded."
            },
            {
                "name": "importnopages",
                "normalizedname": "importnopages",
                "*": "No pages to import."
            },
            {
                "name": "importnoprefix",
                "normalizedname": "importnoprefix",
                "*": "No interwiki prefix was supplied"
            },
            {
                "name": "importnosources",
                "normalizedname": "importnosources",
                "*": "No wikis from which to import have been defined and direct history uploads are disabled."
            },
            {
                "name": "importstart",
                "normalizedname": "importstart",
                "*": "Importing pages..."
            },
            {
                "name": "importsuccess",
                "normalizedname": "importsuccess",
                "*": "Import finished!"
            },
            {
                "name": "importtext",
                "normalizedname": "importtext",
                "*": "Please export the file from the source wiki using the [[Special:Export|export utility]].\nSave it to your computer and upload it here."
            },
            {
                "name": "importunknownsource",
                "normalizedname": "importunknownsource",
                "*": "Unknown import source type"
            },
            {
                "name": "importuploaderrorpartial",
                "normalizedname": "importuploaderrorpartial",
                "*": "Upload of import file failed.\nThe file was only partially uploaded."
            },
            {
                "name": "importuploaderrorsize",
                "normalizedname": "importuploaderrorsize",
                "*": "Upload of import file failed.\nThe file is bigger than the allowed upload size."
            },
            {
                "name": "importuploaderrortemp",
                "normalizedname": "importuploaderrortemp",
                "*": "Upload of import file failed.\nA temporary folder is missing."
            },
            {
                "name": "index-category",
                "normalizedname": "index-category",
                "*": "Indexed pages"
            },
            {
                "name": "index-category-desc",
                "normalizedname": "index-category-desc",
                "*": "The page has a <code><nowiki>__INDEX__</nowiki></code> on it (and is in a namespace where that flag is allowed), and hence is indexed by robots where it normally wouldn't be."
            },
            {
                "name": "infiniteblock",
                "normalizedname": "infiniteblock",
                "*": "infinite"
            },
            {
                "name": "intentionallyblankpage",
                "normalizedname": "intentionallyblankpage",
                "*": "This page is intentionally left blank."
            },
            {
                "name": "interlanguage-link-title",
                "normalizedname": "interlanguage-link-title",
                "*": "$1 \u2013 $2"
            },
            {
                "name": "interlanguage-link-title-langonly",
                "normalizedname": "interlanguage-link-title-langonly",
                "*": "$1"
            },
            {
                "name": "interlanguage-link-title-nonlang",
                "normalizedname": "interlanguage-link-title-nonlang",
                "*": "$1 \u2013 $2"
            },
            {
                "name": "interlanguage-link-title-nonlangonly",
                "normalizedname": "interlanguage-link-title-nonlangonly",
                "*": "$1"
            },
            {
                "name": "internalerror",
                "normalizedname": "internalerror",
                "*": "Internal error"
            },
            {
                "name": "internalerror-fatal-exception",
                "normalizedname": "internalerror-fatal-exception",
                "*": "Fatal exception of type \"$1\""
            },
            {
                "name": "internalerror_info",
                "normalizedname": "internalerror_info",
                "*": "Internal error: $1"
            },
            {
                "name": "invalid-chunk-offset",
                "normalizedname": "invalid-chunk-offset",
                "*": "Invalid chunk offset"
            },
            {
                "name": "invalid-content-data",
                "normalizedname": "invalid-content-data",
                "*": "Invalid content data"
            },
            {
                "name": "invalid-indicator-name",
                "normalizedname": "invalid-indicator-name",
                "*": "<strong>Error:</strong> Page status indicators' <code>name</code> attribute must not be empty."
            },
            {
                "name": "invalidateemail",
                "normalizedname": "invalidateemail",
                "*": "Cancel email confirmation"
            },
            {
                "name": "invalidemailaddress",
                "normalizedname": "invalidemailaddress",
                "*": "The email address cannot be accepted as it appears to have an invalid format.\nPlease enter a well-formatted address or empty that field."
            },
            {
                "name": "invalidtitle-knownnamespace",
                "normalizedname": "invalidtitle-knownnamespace",
                "*": "Invalid title with namespace \"$2\" and text \"$3\""
            },
            {
                "name": "invalidtitle-unknownnamespace",
                "normalizedname": "invalidtitle-unknownnamespace",
                "*": "Invalid title with unknown namespace number $1 and text \"$2\""
            },
            {
                "name": "invert",
                "normalizedname": "invert",
                "*": "Invert selection"
            },
            {
                "name": "ip_range_exceeded",
                "normalizedname": "ip_range_exceeded",
                "*": "The IP range exceeds its maximum range. Allowed range: /$1."
            },
            {
                "name": "ip_range_invalid",
                "normalizedname": "ip_range_invalid",
                "*": "Invalid IP address range."
            },
            {
                "name": "ip_range_toolarge",
                "normalizedname": "ip_range_toolarge",
                "*": "Range blocks larger than /$1 are not allowed."
            },
            {
                "name": "ip_range_toolow",
                "normalizedname": "ip_range_toolow",
                "*": "IP ranges are effectively not allowed."
            },
            {
                "name": "ipaddressorusername",
                "normalizedname": "ipaddressorusername",
                "*": "IP address or username:"
            },
            {
                "name": "ipb-blockingself",
                "normalizedname": "ipb-blockingself",
                "*": "You are about to block yourself! Are you sure you want to do that?"
            },
            {
                "name": "ipb-blocklist",
                "normalizedname": "ipb-blocklist",
                "*": "View existing blocks"
            },
            {
                "name": "ipb-blocklist-contribs",
                "normalizedname": "ipb-blocklist-contribs",
                "*": "Contributions for {{GENDER:$1|$1}}"
            },
            {
                "name": "ipb-blocklist-duration-left",
                "normalizedname": "ipb-blocklist-duration-left",
                "*": "$1 left"
            },
            {
                "name": "ipb-change-block",
                "normalizedname": "ipb-change-block",
                "*": "Re-block the user with these settings"
            },
            {
                "name": "ipb-confirm",
                "normalizedname": "ipb-confirm",
                "*": "Confirm block"
            },
            {
                "name": "ipb-confirmaction",
                "normalizedname": "ipb-confirmaction",
                "*": "If you are sure you really want to do it, please check the \"{{int:ipb-confirm}}\" field at the bottom."
            },
            {
                "name": "ipb-confirmhideuser",
                "normalizedname": "ipb-confirmhideuser",
                "*": "You are about to block a user with \"hide user\" enabled. This will suppress the user's name in all lists and log entries. Are you sure you want to do that?"
            },
            {
                "name": "ipb-default-expiry",
                "normalizedname": "ipb-default-expiry",
                "*": ""
            },
            {
                "name": "ipb-disableusertalk",
                "normalizedname": "ipb-disableusertalk",
                "*": "Prevent this user from editing their own talk page while blocked"
            },
            {
                "name": "ipb-edit-dropdown",
                "normalizedname": "ipb-edit-dropdown",
                "*": "Edit block reasons"
            },
            {
                "name": "ipb-hardblock",
                "normalizedname": "ipb-hardblock",
                "*": "Prevent logged-in users from editing from this IP address"
            },
            {
                "name": "ipb-needreblock",
                "normalizedname": "ipb-needreblock",
                "*": "$1 is already blocked. Do you want to change the settings?"
            },
            {
                "name": "ipb-otherblocks-header",
                "normalizedname": "ipb-otherblocks-header",
                "*": "Other {{PLURAL:$1|block|blocks}}"
            },
            {
                "name": "ipb-unblock",
                "normalizedname": "ipb-unblock",
                "*": "Unblock a username or IP address"
            },
            {
                "name": "ipb-unblock-addr",
                "normalizedname": "ipb-unblock-addr",
                "*": "Unblock $1"
            },
            {
                "name": "ipb_already_blocked",
                "normalizedname": "ipb_already_blocked",
                "*": "\"$1\" is already blocked."
            },
            {
                "name": "ipb_blocked_as_range",
                "normalizedname": "ipb_blocked_as_range",
                "*": "Error: The IP address $1 is not blocked directly and cannot be unblocked.\nIt is, however, blocked as part of the range $2, which can be unblocked."
            },
            {
                "name": "ipb_cant_unblock",
                "normalizedname": "ipb_cant_unblock",
                "*": "Error: Block ID $1 not found. It may have been unblocked already."
            },
            {
                "name": "ipb_expiry_invalid",
                "normalizedname": "ipb_expiry_invalid",
                "*": "Expiry time invalid."
            },
            {
                "name": "ipb_expiry_old",
                "normalizedname": "ipb_expiry_old",
                "*": "Expiry time is in the past."
            },
            {
                "name": "ipb_expiry_temp",
                "normalizedname": "ipb_expiry_temp",
                "*": "Hidden username blocks must be permanent."
            },
            {
                "name": "ipb_hide_invalid",
                "normalizedname": "ipb_hide_invalid",
                "*": "Unable to suppress this account; it has more than {{PLURAL:$1|one edit|$1 edits}}."
            },
            {
                "name": "ipbblocked",
                "normalizedname": "ipbblocked",
                "*": "You cannot block or unblock other users because you are yourself blocked."
            },
            {
                "name": "ipbcreateaccount",
                "normalizedname": "ipbcreateaccount",
                "*": "Prevent account creation"
            },
            {
                "name": "ipbemailban",
                "normalizedname": "ipbemailban",
                "*": "Prevent user from sending email"
            },
            {
                "name": "ipbenableautoblock",
                "normalizedname": "ipbenableautoblock",
                "*": "Automatically block the last IP address used by this user, and any subsequent IP addresses they try to edit from"
            },
            {
                "name": "ipbexpiry",
                "normalizedname": "ipbexpiry",
                "*": "Expiration:"
            },
            {
                "name": "ipbhidename",
                "normalizedname": "ipbhidename",
                "*": "Hide username from edits and lists"
            },
            {
                "name": "ipblocklist",
                "normalizedname": "ipblocklist",
                "*": "Blocked users"
            },
            {
                "name": "ipblocklist-empty",
                "normalizedname": "ipblocklist-empty",
                "*": "The block list is empty."
            },
            {
                "name": "ipblocklist-legend",
                "normalizedname": "ipblocklist-legend",
                "*": "Find a blocked user"
            },
            {
                "name": "ipblocklist-localblock",
                "normalizedname": "ipblocklist-localblock",
                "*": "Local block"
            },
            {
                "name": "ipblocklist-no-results",
                "normalizedname": "ipblocklist-no-results",
                "*": "The requested IP address or username is not blocked."
            },
            {
                "name": "ipblocklist-otherblocks",
                "normalizedname": "ipblocklist-otherblocks",
                "*": "Other {{PLURAL:$1|block|blocks}}"
            },
            {
                "name": "ipblocklist-submit",
                "normalizedname": "ipblocklist-submit",
                "*": "Search"
            },
            {
                "name": "ipbnounblockself",
                "normalizedname": "ipbnounblockself",
                "*": "You are not allowed to unblock yourself."
            },
            {
                "name": "ipboptions",
                "normalizedname": "ipboptions",
                "*": "2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,indefinite:infinite"
            },
            {
                "name": "ipbother",
                "normalizedname": "ipbother",
                "*": "Other time:"
            },
            {
                "name": "ipbreason",
                "normalizedname": "ipbreason",
                "*": "Reason:"
            },
            {
                "name": "ipbreason-dropdown",
                "normalizedname": "ipbreason-dropdown",
                "*": "*Common block reasons\n** Inserting false information\n** Removing content from pages\n** Spamming links to external sites\n** Inserting nonsense/gibberish into pages\n** Intimidating behavior/harassment\n** Abusing multiple accounts\n** Unacceptable username"
            },
            {
                "name": "ipbsubmit",
                "normalizedname": "ipbsubmit",
                "*": "Block this user"
            },
            {
                "name": "ipbwatchuser",
                "normalizedname": "ipbwatchuser",
                "*": "Watch this user's user and talk pages"
            },
            {
                "name": "ipusubmit",
                "normalizedname": "ipusubmit",
                "*": "Remove this block"
            },
            {
                "name": "iranian-calendar-m1",
                "normalizedname": "iranian-calendar-m1",
                "*": "Farvardin"
            },
            {
                "name": "iranian-calendar-m10",
                "normalizedname": "iranian-calendar-m10",
                "*": "Dey"
            },
            {
                "name": "iranian-calendar-m11",
                "normalizedname": "iranian-calendar-m11",
                "*": "Bahman"
            },
            {
                "name": "iranian-calendar-m12",
                "normalizedname": "iranian-calendar-m12",
                "*": "Esfand"
            },
            {
                "name": "iranian-calendar-m2",
                "normalizedname": "iranian-calendar-m2",
                "*": "Ordibehesht"
            },
            {
                "name": "iranian-calendar-m3",
                "normalizedname": "iranian-calendar-m3",
                "*": "Khordad"
            },
            {
                "name": "iranian-calendar-m4",
                "normalizedname": "iranian-calendar-m4",
                "*": "Tir"
            },
            {
                "name": "iranian-calendar-m5",
                "normalizedname": "iranian-calendar-m5",
                "*": "Mordad"
            },
            {
                "name": "iranian-calendar-m6",
                "normalizedname": "iranian-calendar-m6",
                "*": "Shahrivar"
            },
            {
                "name": "iranian-calendar-m7",
                "normalizedname": "iranian-calendar-m7",
                "*": "Mehr"
            },
            {
                "name": "iranian-calendar-m8",
                "normalizedname": "iranian-calendar-m8",
                "*": "Aban"
            },
            {
                "name": "iranian-calendar-m9",
                "normalizedname": "iranian-calendar-m9",
                "*": "Azar"
            },
            {
                "name": "isimage",
                "normalizedname": "isimage",
                "*": "file link"
            },
            {
                "name": "isredirect",
                "normalizedname": "isredirect",
                "*": "redirect page"
            },
            {
                "name": "istemplate",
                "normalizedname": "istemplate",
                "*": "transclusion"
            },
            {
                "name": "italic_sample",
                "normalizedname": "italic_sample",
                "*": "Italic text"
            },
            {
                "name": "italic_tip",
                "normalizedname": "italic_tip",
                "*": "Italic text"
            },
            {
                "name": "jan",
                "normalizedname": "jan",
                "*": "Jan"
            },
            {
                "name": "january",
                "normalizedname": "january",
                "*": "January"
            },
            {
                "name": "january-date",
                "normalizedname": "january-date",
                "*": "January $1"
            },
            {
                "name": "january-gen",
                "normalizedname": "january-gen",
                "*": "January"
            },
            {
                "name": "javascripttest",
                "normalizedname": "javascripttest",
                "*": "JavaScript testing"
            },
            {
                "name": "javascripttest-pagetext-unknownaction",
                "normalizedname": "javascripttest-pagetext-unknownaction",
                "*": "Unknown action \"$1\"."
            },
            {
                "name": "javascripttest-qunit-intro",
                "normalizedname": "javascripttest-qunit-intro",
                "*": "See [$1 testing documentation] on mediawiki.org."
            },
            {
                "name": "json-error-ctrl-char",
                "normalizedname": "json-error-ctrl-char",
                "*": "Control character error, possibly incorrectly encoded"
            },
            {
                "name": "json-error-depth",
                "normalizedname": "json-error-depth",
                "*": "The maximum stack depth has been exceeded"
            },
            {
                "name": "json-error-inf-or-nan",
                "normalizedname": "json-error-inf-or-nan",
                "*": "One or more NAN or INF values in the value to be encoded"
            },
            {
                "name": "json-error-recursion",
                "normalizedname": "json-error-recursion",
                "*": "One or more recursive references in the value to be encoded"
            },
            {
                "name": "json-error-state-mismatch",
                "normalizedname": "json-error-state-mismatch",
                "*": "Invalid or malformed JSON"
            },
            {
                "name": "json-error-syntax",
                "normalizedname": "json-error-syntax",
                "*": "Syntax error"
            },
            {
                "name": "json-error-unknown",
                "normalizedname": "json-error-unknown",
                "*": "There was a problem with the JSON. Error: $1"
            },
            {
                "name": "json-error-unsupported-type",
                "normalizedname": "json-error-unsupported-type",
                "*": "A value of a type that cannot be encoded was given"
            },
            {
                "name": "json-error-utf8",
                "normalizedname": "json-error-utf8",
                "*": "Malformed UTF-8 characters, possibly incorrectly encoded"
            },
            {
                "name": "json-warn-trailing-comma",
                "normalizedname": "json-warn-trailing-comma",
                "*": "$1 trailing {{PLURAL:$1|comma was|commas were}} removed from JSON"
            },
            {
                "name": "jul",
                "normalizedname": "jul",
                "*": "Jul"
            },
            {
                "name": "july",
                "normalizedname": "july",
                "*": "July"
            },
            {
                "name": "july-date",
                "normalizedname": "july-date",
                "*": "July $1"
            },
            {
                "name": "july-gen",
                "normalizedname": "july-gen",
                "*": "July"
            },
            {
                "name": "jumpto",
                "normalizedname": "jumpto",
                "*": "Jump to:"
            },
            {
                "name": "jumptonavigation",
                "normalizedname": "jumptonavigation",
                "*": "navigation"
            },
            {
                "name": "jumptosearch",
                "normalizedname": "jumptosearch",
                "*": "search"
            },
            {
                "name": "jun",
                "normalizedname": "jun",
                "*": "Jun"
            },
            {
                "name": "june",
                "normalizedname": "june",
                "*": "June"
            },
            {
                "name": "june-date",
                "normalizedname": "june-date",
                "*": "June $1"
            },
            {
                "name": "june-gen",
                "normalizedname": "june-gen",
                "*": "June"
            },
            {
                "name": "just-now",
                "normalizedname": "just-now",
                "*": "just now"
            },
            {
                "name": "lag-warn-high",
                "normalizedname": "lag-warn-high",
                "*": "Due to high database server lag, changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list."
            },
            {
                "name": "lag-warn-normal",
                "normalizedname": "lag-warn-normal",
                "*": "Changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list."
            },
            {
                "name": "laggedslavemode",
                "normalizedname": "laggedslavemode",
                "*": "<strong>Warning:</strong> Page may not contain recent updates."
            },
            {
                "name": "language-converter-depth-warning",
                "normalizedname": "language-converter-depth-warning",
                "*": "Language converter depth limit exceeded ($1)"
            },
            {
                "name": "large-file",
                "normalizedname": "large-file",
                "*": "It is recommended that files are no larger than $1;\nthis file is $2."
            },
            {
                "name": "largefileserver",
                "normalizedname": "largefileserver",
                "*": "This file is bigger than the server is configured to allow."
            },
            {
                "name": "last",
                "normalizedname": "last",
                "*": "prev"
            },
            {
                "name": "lastmodifiedat",
                "normalizedname": "lastmodifiedat",
                "*": "This page was last edited on $1, at $2."
            },
            {
                "name": "lastmodifiedatby",
                "normalizedname": "lastmodifiedatby",
                "*": "This page was last edited $2, $1 by $3."
            },
            {
                "name": "license",
                "normalizedname": "license",
                "*": "Licensing:"
            },
            {
                "name": "license-header",
                "normalizedname": "license-header",
                "*": "Licensing"
            },
            {
                "name": "license-nopreview",
                "normalizedname": "license-nopreview",
                "*": "(Preview not available)"
            },
            {
                "name": "licenses",
                "normalizedname": "licenses",
                "*": "-"
            },
            {
                "name": "licenses-edit",
                "normalizedname": "licenses-edit",
                "*": "Edit license options"
            },
            {
                "name": "limitreport-cputime",
                "normalizedname": "limitreport-cputime",
                "*": "CPU time usage"
            },
            {
                "name": "limitreport-cputime-value",
                "normalizedname": "limitreport-cputime-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "limitreport-expansiondepth",
                "normalizedname": "limitreport-expansiondepth",
                "*": "Highest expansion depth"
            },
            {
                "name": "limitreport-expansiondepth-value",
                "normalizedname": "limitreport-expansiondepth-value",
                "*": "$1/$2"
            },
            {
                "name": "limitreport-expensivefunctioncount",
                "normalizedname": "limitreport-expensivefunctioncount",
                "*": "Expensive parser function count"
            },
            {
                "name": "limitreport-expensivefunctioncount-value",
                "normalizedname": "limitreport-expensivefunctioncount-value",
                "*": "$1/$2"
            },
            {
                "name": "limitreport-postexpandincludesize",
                "normalizedname": "limitreport-postexpandincludesize",
                "*": "Post-expand include size"
            },
            {
                "name": "limitreport-postexpandincludesize-value",
                "normalizedname": "limitreport-postexpandincludesize-value",
                "*": "$1/$2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "limitreport-ppgeneratednodes",
                "normalizedname": "limitreport-ppgeneratednodes",
                "*": "Preprocessor generated node count"
            },
            {
                "name": "limitreport-ppgeneratednodes-value",
                "normalizedname": "limitreport-ppgeneratednodes-value",
                "*": "$1/$2"
            },
            {
                "name": "limitreport-ppvisitednodes",
                "normalizedname": "limitreport-ppvisitednodes",
                "*": "Preprocessor visited node count"
            },
            {
                "name": "limitreport-ppvisitednodes-value",
                "normalizedname": "limitreport-ppvisitednodes-value",
                "*": "$1/$2"
            },
            {
                "name": "limitreport-templateargumentsize",
                "normalizedname": "limitreport-templateargumentsize",
                "*": "Template argument size"
            },
            {
                "name": "limitreport-templateargumentsize-value",
                "normalizedname": "limitreport-templateargumentsize-value",
                "*": "$1/$2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "limitreport-title",
                "normalizedname": "limitreport-title",
                "*": "Parser profiling data:"
            },
            {
                "name": "limitreport-unstrip-depth",
                "normalizedname": "limitreport-unstrip-depth",
                "*": "Unstrip recursion depth"
            },
            {
                "name": "limitreport-unstrip-depth-value",
                "normalizedname": "limitreport-unstrip-depth-value",
                "*": "$1/$2"
            },
            {
                "name": "limitreport-unstrip-size",
                "normalizedname": "limitreport-unstrip-size",
                "*": "Unstrip post-expand size"
            },
            {
                "name": "limitreport-unstrip-size-value",
                "normalizedname": "limitreport-unstrip-size-value",
                "*": "$1/$2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "limitreport-walltime",
                "normalizedname": "limitreport-walltime",
                "*": "Real time usage"
            },
            {
                "name": "limitreport-walltime-value",
                "normalizedname": "limitreport-walltime-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "lineno",
                "normalizedname": "lineno",
                "*": "Line $1:"
            },
            {
                "name": "link_sample",
                "normalizedname": "link_sample",
                "*": "Link title"
            },
            {
                "name": "link_tip",
                "normalizedname": "link_tip",
                "*": "Internal link"
            },
            {
                "name": "linkaccounts",
                "normalizedname": "linkaccounts",
                "*": "Link accounts"
            },
            {
                "name": "linkaccounts-submit",
                "normalizedname": "linkaccounts-submit",
                "*": "Link accounts"
            },
            {
                "name": "linkaccounts-success-text",
                "normalizedname": "linkaccounts-success-text",
                "*": "The account was linked."
            },
            {
                "name": "linksearch",
                "normalizedname": "linksearch",
                "*": "External links search"
            },
            {
                "name": "linksearch-error",
                "normalizedname": "linksearch-error",
                "*": "Wildcards may appear only at the start of the hostname."
            },
            {
                "name": "linksearch-line",
                "normalizedname": "linksearch-line",
                "*": "$1 is linked from $2"
            },
            {
                "name": "linksearch-ns",
                "normalizedname": "linksearch-ns",
                "*": "Namespace:"
            },
            {
                "name": "linksearch-ok",
                "normalizedname": "linksearch-ok",
                "*": "Search"
            },
            {
                "name": "linksearch-pat",
                "normalizedname": "linksearch-pat",
                "*": "Search pattern:"
            },
            {
                "name": "linksearch-summary",
                "normalizedname": "linksearch-summary",
                "*": ""
            },
            {
                "name": "linksearch-text",
                "normalizedname": "linksearch-text",
                "*": "Wildcards such as \"*.wikipedia.org\" may be used.\nNeeds at least a top-level domain, for example \"*.org\".<br />\nSupported {{PLURAL:$2|protocol|protocols}}: $1 (defaults to http:// if no protocol is specified)."
            },
            {
                "name": "linkshere",
                "normalizedname": "linkshere",
                "*": "The following pages link to <strong>[[:$1]]</strong>:"
            },
            {
                "name": "linkstoimage",
                "normalizedname": "linkstoimage",
                "*": "The following {{PLURAL:$1|page links|$1 pages link}} to this file:"
            },
            {
                "name": "linkstoimage-more",
                "normalizedname": "linkstoimage-more",
                "*": "More than $1 {{PLURAL:$1|page links|pages link}} to this file.\nThe following list shows the {{PLURAL:$1|first page link|first $1 page links}} to this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available."
            },
            {
                "name": "linkstoimage-redirect",
                "normalizedname": "linkstoimage-redirect",
                "*": "$1 (file redirect) $2"
            },
            {
                "name": "listduplicatedfiles",
                "normalizedname": "listduplicatedfiles",
                "*": "List of files with duplicates"
            },
            {
                "name": "listduplicatedfiles-entry",
                "normalizedname": "listduplicatedfiles-entry",
                "*": "[[:File:$1|$1]] has [[$3|{{PLURAL:$2|a duplicate|$2 duplicates}}]]."
            },
            {
                "name": "listduplicatedfiles-summary",
                "normalizedname": "listduplicatedfiles-summary",
                "*": "This is a list of files where the most recent version of the file is a duplicate of the most recent version of some other file. Only local files are considered."
            },
            {
                "name": "listfiles",
                "normalizedname": "listfiles",
                "*": "File list"
            },
            {
                "name": "listfiles-delete",
                "normalizedname": "listfiles-delete",
                "*": "delete"
            },
            {
                "name": "listfiles-latestversion",
                "normalizedname": "listfiles-latestversion",
                "*": "Current version"
            },
            {
                "name": "listfiles-latestversion-no",
                "normalizedname": "listfiles-latestversion-no",
                "*": "No"
            },
            {
                "name": "listfiles-latestversion-yes",
                "normalizedname": "listfiles-latestversion-yes",
                "*": "Yes"
            },
            {
                "name": "listfiles-show-all",
                "normalizedname": "listfiles-show-all",
                "*": "Include old versions of files"
            },
            {
                "name": "listfiles-summary",
                "normalizedname": "listfiles-summary",
                "*": "This special page shows all uploaded files."
            },
            {
                "name": "listfiles-userdoesnotexist",
                "normalizedname": "listfiles-userdoesnotexist",
                "*": "User account \"$1\" is not registered."
            },
            {
                "name": "listfiles_count",
                "normalizedname": "listfiles_count",
                "*": "Versions"
            },
            {
                "name": "listfiles_date",
                "normalizedname": "listfiles_date",
                "*": "Date"
            },
            {
                "name": "listfiles_description",
                "normalizedname": "listfiles_description",
                "*": "Description"
            },
            {
                "name": "listfiles_name",
                "normalizedname": "listfiles_name",
                "*": "Name"
            },
            {
                "name": "listfiles_search_for",
                "normalizedname": "listfiles_search_for",
                "*": "Search for media name:"
            },
            {
                "name": "listfiles_size",
                "normalizedname": "listfiles_size",
                "*": "Size"
            },
            {
                "name": "listfiles_thumb",
                "normalizedname": "listfiles_thumb",
                "*": "Thumbnail"
            },
            {
                "name": "listfiles_user",
                "normalizedname": "listfiles_user",
                "*": "User"
            },
            {
                "name": "listgrants",
                "normalizedname": "listgrants",
                "*": "Grants"
            },
            {
                "name": "listgrants-grant",
                "normalizedname": "listgrants-grant",
                "*": "Grant"
            },
            {
                "name": "listgrants-grant-display",
                "normalizedname": "listgrants-grant-display",
                "*": "$1 <code>($2)</code>"
            },
            {
                "name": "listgrants-rights",
                "normalizedname": "listgrants-rights",
                "*": "Rights"
            },
            {
                "name": "listgrants-summary",
                "normalizedname": "listgrants-summary",
                "*": "The following is a list of grants with their associated access to user rights. Users can authorize applications to use their account, but with limited permissions based on the grants the user gave to the application. An application acting on behalf of a user cannot actually use rights that the user does not have however.\nThere may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] about individual rights."
            },
            {
                "name": "listgrouprights",
                "normalizedname": "listgrouprights",
                "*": "User group rights"
            },
            {
                "name": "listgrouprights-addgroup",
                "normalizedname": "listgrouprights-addgroup",
                "*": "Add {{PLURAL:$2|group|groups}}: $1"
            },
            {
                "name": "listgrouprights-addgroup-all",
                "normalizedname": "listgrouprights-addgroup-all",
                "*": "Add all groups"
            },
            {
                "name": "listgrouprights-addgroup-self",
                "normalizedname": "listgrouprights-addgroup-self",
                "*": "Add {{PLURAL:$2|group|groups}} to own account: $1"
            },
            {
                "name": "listgrouprights-addgroup-self-all",
                "normalizedname": "listgrouprights-addgroup-self-all",
                "*": "Add all groups to own account"
            },
            {
                "name": "listgrouprights-group",
                "normalizedname": "listgrouprights-group",
                "*": "Group"
            },
            {
                "name": "listgrouprights-helppage",
                "normalizedname": "listgrouprights-helppage",
                "*": "Help:Group rights"
            },
            {
                "name": "listgrouprights-key",
                "normalizedname": "listgrouprights-key",
                "*": "Legend:\n* <span class=\"listgrouprights-granted\">Granted right</span>\n* <span class=\"listgrouprights-revoked\">Revoked right</span>"
            },
            {
                "name": "listgrouprights-members",
                "normalizedname": "listgrouprights-members",
                "*": "(list of members)"
            },
            {
                "name": "listgrouprights-namespaceprotection-header",
                "normalizedname": "listgrouprights-namespaceprotection-header",
                "*": "Namespace restrictions"
            },
            {
                "name": "listgrouprights-namespaceprotection-namespace",
                "normalizedname": "listgrouprights-namespaceprotection-namespace",
                "*": "Namespace"
            },
            {
                "name": "listgrouprights-namespaceprotection-restrictedto",
                "normalizedname": "listgrouprights-namespaceprotection-restrictedto",
                "*": "Right(s) allowing user to edit"
            },
            {
                "name": "listgrouprights-removegroup",
                "normalizedname": "listgrouprights-removegroup",
                "*": "Remove {{PLURAL:$2|group|groups}}: $1"
            },
            {
                "name": "listgrouprights-removegroup-all",
                "normalizedname": "listgrouprights-removegroup-all",
                "*": "Remove all groups"
            },
            {
                "name": "listgrouprights-removegroup-self",
                "normalizedname": "listgrouprights-removegroup-self",
                "*": "Remove {{PLURAL:$2|group|groups}} from own account: $1"
            },
            {
                "name": "listgrouprights-removegroup-self-all",
                "normalizedname": "listgrouprights-removegroup-self-all",
                "*": "Remove all groups from own account"
            },
            {
                "name": "listgrouprights-right-display",
                "normalizedname": "listgrouprights-right-display",
                "*": "<span class=\"listgrouprights-granted\">$1 <code>($2)</code></span>"
            },
            {
                "name": "listgrouprights-right-revoked",
                "normalizedname": "listgrouprights-right-revoked",
                "*": "<span class=\"listgrouprights-revoked\">$1 <code>($2)</code></span>"
            },
            {
                "name": "listgrouprights-rights",
                "normalizedname": "listgrouprights-rights",
                "*": "Rights"
            },
            {
                "name": "listgrouprights-summary",
                "normalizedname": "listgrouprights-summary",
                "*": "The following is a list of user groups defined on this wiki, with their associated access rights.\nThere may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] about individual rights."
            },
            {
                "name": "listingcontinuesabbrev",
                "normalizedname": "listingcontinuesabbrev",
                "*": "cont."
            },
            {
                "name": "listredirects",
                "normalizedname": "listredirects",
                "*": "List of redirects"
            },
            {
                "name": "listredirects-summary",
                "normalizedname": "listredirects-summary",
                "*": ""
            },
            {
                "name": "listusers",
                "normalizedname": "listusers",
                "*": "User list"
            },
            {
                "name": "listusers-blocked",
                "normalizedname": "listusers-blocked",
                "*": "(blocked)"
            },
            {
                "name": "listusers-creationsort",
                "normalizedname": "listusers-creationsort",
                "*": "Sort by creation date"
            },
            {
                "name": "listusers-desc",
                "normalizedname": "listusers-desc",
                "*": "Sort in descending order"
            },
            {
                "name": "listusers-editsonly",
                "normalizedname": "listusers-editsonly",
                "*": "Show only users with edits"
            },
            {
                "name": "listusers-noresult",
                "normalizedname": "listusers-noresult",
                "*": "No user found."
            },
            {
                "name": "listusers-submit",
                "normalizedname": "listusers-submit",
                "*": "Show"
            },
            {
                "name": "listusers-summary",
                "normalizedname": "listusers-summary",
                "*": ""
            },
            {
                "name": "listusersfrom",
                "normalizedname": "listusersfrom",
                "*": "Display users starting at:"
            },
            {
                "name": "localtime",
                "normalizedname": "localtime",
                "*": "Local time:"
            },
            {
                "name": "lockbtn",
                "normalizedname": "lockbtn",
                "*": "Lock database"
            },
            {
                "name": "lockconfirm",
                "normalizedname": "lockconfirm",
                "*": "Yes, I really want to lock the database."
            },
            {
                "name": "lockdb",
                "normalizedname": "lockdb",
                "*": "Lock database"
            },
            {
                "name": "lockdbsuccesssub",
                "normalizedname": "lockdbsuccesssub",
                "*": "Database lock succeeded"
            },
            {
                "name": "lockdbsuccesstext",
                "normalizedname": "lockdbsuccesstext",
                "*": "The database has been locked.<br />\nRemember to [[Special:UnlockDB|remove the lock]] after your maintenance is complete."
            },
            {
                "name": "lockdbtext",
                "normalizedname": "lockdbtext",
                "*": "Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done."
            },
            {
                "name": "lockedbyandtime",
                "normalizedname": "lockedbyandtime",
                "*": "(by {{GENDER:$1|$1}} on $2 at $3)"
            },
            {
                "name": "lockfilenotwritable",
                "normalizedname": "lockfilenotwritable",
                "*": "The database lock file is not writable.\nTo lock or unlock the database, this needs to be writable by the web server."
            },
            {
                "name": "lockmanager-fail-acquirelock",
                "normalizedname": "lockmanager-fail-acquirelock",
                "*": "Could not acquire lock for \"$1\"."
            },
            {
                "name": "lockmanager-fail-closelock",
                "normalizedname": "lockmanager-fail-closelock",
                "*": "Could not close lock file for \"$1\"."
            },
            {
                "name": "lockmanager-fail-db-bucket",
                "normalizedname": "lockmanager-fail-db-bucket",
                "*": "Could not contact enough lock databases in bucket $1."
            },
            {
                "name": "lockmanager-fail-db-release",
                "normalizedname": "lockmanager-fail-db-release",
                "*": "Could not release locks on database $1."
            },
            {
                "name": "lockmanager-fail-deletelock",
                "normalizedname": "lockmanager-fail-deletelock",
                "*": "Could not delete lock file for \"$1\"."
            },
            {
                "name": "lockmanager-fail-openlock",
                "normalizedname": "lockmanager-fail-openlock",
                "*": "Could not open lock file for \"$1\". Make sure your upload directory is configured correctly and your web server has permission to write to that directory. See https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory for more information."
            },
            {
                "name": "lockmanager-fail-releaselock",
                "normalizedname": "lockmanager-fail-releaselock",
                "*": "Could not release lock for \"$1\"."
            },
            {
                "name": "lockmanager-fail-svr-acquire",
                "normalizedname": "lockmanager-fail-svr-acquire",
                "*": "Could not acquire locks on server $1."
            },
            {
                "name": "lockmanager-fail-svr-release",
                "normalizedname": "lockmanager-fail-svr-release",
                "*": "Could not release locks on server $1."
            },
            {
                "name": "lockmanager-notlocked",
                "normalizedname": "lockmanager-notlocked",
                "*": "Could not unlock \"$1\"; it is not locked."
            },
            {
                "name": "locknoconfirm",
                "normalizedname": "locknoconfirm",
                "*": "You did not check the confirmation box."
            },
            {
                "name": "log",
                "normalizedname": "log",
                "*": "Logs"
            },
            {
                "name": "log-action-filter-all",
                "normalizedname": "log-action-filter-all",
                "*": "All"
            },
            {
                "name": "log-action-filter-block",
                "normalizedname": "log-action-filter-block",
                "*": "Type of block:"
            },
            {
                "name": "log-action-filter-block-block",
                "normalizedname": "log-action-filter-block-block",
                "*": "Block"
            },
            {
                "name": "log-action-filter-block-reblock",
                "normalizedname": "log-action-filter-block-reblock",
                "*": "Block modification"
            },
            {
                "name": "log-action-filter-block-unblock",
                "normalizedname": "log-action-filter-block-unblock",
                "*": "Unblock"
            },
            {
                "name": "log-action-filter-contentmodel",
                "normalizedname": "log-action-filter-contentmodel",
                "*": "Type of content model change:"
            },
            {
                "name": "log-action-filter-contentmodel-change",
                "normalizedname": "log-action-filter-contentmodel-change",
                "*": "Change of content model"
            },
            {
                "name": "log-action-filter-contentmodel-new",
                "normalizedname": "log-action-filter-contentmodel-new",
                "*": "Creation of page with non-default content model"
            },
            {
                "name": "log-action-filter-delete",
                "normalizedname": "log-action-filter-delete",
                "*": "Type of deletion:"
            },
            {
                "name": "log-action-filter-delete-delete",
                "normalizedname": "log-action-filter-delete-delete",
                "*": "Page deletion"
            },
            {
                "name": "log-action-filter-delete-delete_redir",
                "normalizedname": "log-action-filter-delete-delete_redir",
                "*": "Redirect overwrite"
            },
            {
                "name": "log-action-filter-delete-event",
                "normalizedname": "log-action-filter-delete-event",
                "*": "Log deletion"
            },
            {
                "name": "log-action-filter-delete-restore",
                "normalizedname": "log-action-filter-delete-restore",
                "*": "Page undeletion"
            },
            {
                "name": "log-action-filter-delete-revision",
                "normalizedname": "log-action-filter-delete-revision",
                "*": "Revision deletion"
            },
            {
                "name": "log-action-filter-import",
                "normalizedname": "log-action-filter-import",
                "*": "Type of import:"
            },
            {
                "name": "log-action-filter-import-interwiki",
                "normalizedname": "log-action-filter-import-interwiki",
                "*": "Transwiki import"
            },
            {
                "name": "log-action-filter-import-upload",
                "normalizedname": "log-action-filter-import-upload",
                "*": "Import by XML upload"
            },
            {
                "name": "log-action-filter-managetags",
                "normalizedname": "log-action-filter-managetags",
                "*": "Type of tag management action:"
            },
            {
                "name": "log-action-filter-managetags-activate",
                "normalizedname": "log-action-filter-managetags-activate",
                "*": "Tag activation"
            },
            {
                "name": "log-action-filter-managetags-create",
                "normalizedname": "log-action-filter-managetags-create",
                "*": "Tag creation"
            },
            {
                "name": "log-action-filter-managetags-deactivate",
                "normalizedname": "log-action-filter-managetags-deactivate",
                "*": "Tag deactivation"
            },
            {
                "name": "log-action-filter-managetags-delete",
                "normalizedname": "log-action-filter-managetags-delete",
                "*": "Tag deletion"
            },
            {
                "name": "log-action-filter-move",
                "normalizedname": "log-action-filter-move",
                "*": "Type of move:"
            },
            {
                "name": "log-action-filter-move-move",
                "normalizedname": "log-action-filter-move-move",
                "*": "Move without overwriting of redirects"
            },
            {
                "name": "log-action-filter-move-move_redir",
                "normalizedname": "log-action-filter-move-move_redir",
                "*": "Move with overwriting of redirects"
            },
            {
                "name": "log-action-filter-newusers",
                "normalizedname": "log-action-filter-newusers",
                "*": "Type of account creation:"
            },
            {
                "name": "log-action-filter-newusers-autocreate",
                "normalizedname": "log-action-filter-newusers-autocreate",
                "*": "Automatic creation"
            },
            {
                "name": "log-action-filter-newusers-byemail",
                "normalizedname": "log-action-filter-newusers-byemail",
                "*": "Creation with password sent by e-mail"
            },
            {
                "name": "log-action-filter-newusers-create",
                "normalizedname": "log-action-filter-newusers-create",
                "*": "Creation by anonymous user"
            },
            {
                "name": "log-action-filter-newusers-create2",
                "normalizedname": "log-action-filter-newusers-create2",
                "*": "Creation by registered user"
            },
            {
                "name": "log-action-filter-patrol",
                "normalizedname": "log-action-filter-patrol",
                "*": "Type of patrol:"
            },
            {
                "name": "log-action-filter-patrol-autopatrol",
                "normalizedname": "log-action-filter-patrol-autopatrol",
                "*": "Automatic patrol"
            },
            {
                "name": "log-action-filter-patrol-patrol",
                "normalizedname": "log-action-filter-patrol-patrol",
                "*": "Manual patrol"
            },
            {
                "name": "log-action-filter-protect",
                "normalizedname": "log-action-filter-protect",
                "*": "Type of protection:"
            },
            {
                "name": "log-action-filter-protect-modify",
                "normalizedname": "log-action-filter-protect-modify",
                "*": "Protection modification"
            },
            {
                "name": "log-action-filter-protect-move_prot",
                "normalizedname": "log-action-filter-protect-move_prot",
                "*": "Moved protection"
            },
            {
                "name": "log-action-filter-protect-protect",
                "normalizedname": "log-action-filter-protect-protect",
                "*": "Protection"
            },
            {
                "name": "log-action-filter-protect-unprotect",
                "normalizedname": "log-action-filter-protect-unprotect",
                "*": "Unprotection"
            },
            {
                "name": "log-action-filter-rights",
                "normalizedname": "log-action-filter-rights",
                "*": "Type of right change:"
            },
            {
                "name": "log-action-filter-rights-autopromote",
                "normalizedname": "log-action-filter-rights-autopromote",
                "*": "Automatic change"
            },
            {
                "name": "log-action-filter-rights-rights",
                "normalizedname": "log-action-filter-rights-rights",
                "*": "Manual change"
            },
            {
                "name": "log-action-filter-suppress",
                "normalizedname": "log-action-filter-suppress",
                "*": "Type of suppression:"
            },
            {
                "name": "log-action-filter-suppress-block",
                "normalizedname": "log-action-filter-suppress-block",
                "*": "User suppression by block"
            },
            {
                "name": "log-action-filter-suppress-delete",
                "normalizedname": "log-action-filter-suppress-delete",
                "*": "Page suppression"
            },
            {
                "name": "log-action-filter-suppress-event",
                "normalizedname": "log-action-filter-suppress-event",
                "*": "Log suppression"
            },
            {
                "name": "log-action-filter-suppress-reblock",
                "normalizedname": "log-action-filter-suppress-reblock",
                "*": "User suppression by reblock"
            },
            {
                "name": "log-action-filter-suppress-revision",
                "normalizedname": "log-action-filter-suppress-revision",
                "*": "Revision suppression"
            },
            {
                "name": "log-action-filter-upload",
                "normalizedname": "log-action-filter-upload",
                "*": "Type of upload:"
            },
            {
                "name": "log-action-filter-upload-overwrite",
                "normalizedname": "log-action-filter-upload-overwrite",
                "*": "Reupload"
            },
            {
                "name": "log-action-filter-upload-upload",
                "normalizedname": "log-action-filter-upload-upload",
                "*": "New upload"
            },
            {
                "name": "log-description-contentmodel",
                "normalizedname": "log-description-contentmodel",
                "*": "This page lists changes to the content model of pages, and pages that were created with a content model other than the default."
            },
            {
                "name": "log-description-managetags",
                "normalizedname": "log-description-managetags",
                "*": "This page lists management tasks related to [[Special:Tags|tags]]. The log contains only actions carried out manually by an administrator; tags may be created or deleted by the wiki software without an entry being recorded in this log."
            },
            {
                "name": "log-description-pagelang",
                "normalizedname": "log-description-pagelang",
                "*": "This is a log of changes in page languages."
            },
            {
                "name": "log-description-tag",
                "normalizedname": "log-description-tag",
                "*": "This page shows when users have added or removed [[Special:Tags|tags]] from individual revisions or log entries. The log does not list tagging actions when they occur as part of an edit, deletion, or similar action."
            },
            {
                "name": "log-edit-tags",
                "normalizedname": "log-edit-tags",
                "*": "Edit tags of selected log entries"
            },
            {
                "name": "log-fulllog",
                "normalizedname": "log-fulllog",
                "*": "View full log"
            },
            {
                "name": "log-name-contentmodel",
                "normalizedname": "log-name-contentmodel",
                "*": "Content model change log"
            },
            {
                "name": "log-name-managetags",
                "normalizedname": "log-name-managetags",
                "*": "Tag management log"
            },
            {
                "name": "log-name-pagelang",
                "normalizedname": "log-name-pagelang",
                "*": "Language change log"
            },
            {
                "name": "log-name-tag",
                "normalizedname": "log-name-tag",
                "*": "Tag log"
            },
            {
                "name": "log-show-hide-patrol",
                "normalizedname": "log-show-hide-patrol",
                "*": "$1 patrol log"
            },
            {
                "name": "log-show-hide-tag",
                "normalizedname": "log-show-hide-tag",
                "*": "$1 tag log"
            },
            {
                "name": "log-title-wildcard",
                "normalizedname": "log-title-wildcard",
                "*": "Search titles starting with this text"
            },
            {
                "name": "logdelete-failure",
                "normalizedname": "logdelete-failure",
                "*": "Log visibility could not be set:\n$1"
            },
            {
                "name": "logdelete-selected",
                "normalizedname": "logdelete-selected",
                "*": "{{PLURAL:$1|Selected log event|Selected log events}}:"
            },
            {
                "name": "logdelete-success",
                "normalizedname": "logdelete-success",
                "*": "Log visibility set."
            },
            {
                "name": "logdelete-text",
                "normalizedname": "logdelete-text",
                "*": "Deleted log events will still appear in the logs, but parts of their content will be inaccessible to the public."
            },
            {
                "name": "logempty",
                "normalizedname": "logempty",
                "*": "No matching items in log."
            },
            {
                "name": "logentry-block-block",
                "normalizedname": "logentry-block-block",
                "*": "$1 {{GENDER:$2|blocked}} {{GENDER:$4|$3}} with an expiration time of $5 $6"
            },
            {
                "name": "logentry-block-reblock",
                "normalizedname": "logentry-block-reblock",
                "*": "$1 {{GENDER:$2|changed}} block settings for {{GENDER:$4|$3}} with an expiration time of $5 $6"
            },
            {
                "name": "logentry-block-unblock",
                "normalizedname": "logentry-block-unblock",
                "*": "$1 {{GENDER:$2|unblocked}} {{GENDER:$4|$3}}"
            },
            {
                "name": "logentry-contentmodel-change",
                "normalizedname": "logentry-contentmodel-change",
                "*": "$1 {{GENDER:$2|changed}} the content model of the page $3 from \"$4\" to \"$5\""
            },
            {
                "name": "logentry-contentmodel-change-revert",
                "normalizedname": "logentry-contentmodel-change-revert",
                "*": "revert"
            },
            {
                "name": "logentry-contentmodel-change-revertlink",
                "normalizedname": "logentry-contentmodel-change-revertlink",
                "*": "revert"
            },
            {
                "name": "logentry-contentmodel-new",
                "normalizedname": "logentry-contentmodel-new",
                "*": "$1 {{GENDER:$2|created}} the page $3 using a non-default content model \"$5\""
            },
            {
                "name": "logentry-delete-delete",
                "normalizedname": "logentry-delete-delete",
                "*": "$1 {{GENDER:$2|deleted}} page $3"
            },
            {
                "name": "logentry-delete-delete_redir",
                "normalizedname": "logentry-delete-delete_redir",
                "*": "$1 {{GENDER:$2|deleted}} redirect $3 by overwriting"
            },
            {
                "name": "logentry-delete-event",
                "normalizedname": "logentry-delete-event",
                "*": "$1 {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a log event|$5 log events}} on $3: $4"
            },
            {
                "name": "logentry-delete-event-legacy",
                "normalizedname": "logentry-delete-event-legacy",
                "*": "$1 {{GENDER:$2|changed}} visibility of log events on $3"
            },
            {
                "name": "logentry-delete-restore",
                "normalizedname": "logentry-delete-restore",
                "*": "$1 {{GENDER:$2|restored}} page $3 ($4)"
            },
            {
                "name": "logentry-delete-restore-nocount",
                "normalizedname": "logentry-delete-restore-nocount",
                "*": "$1 {{GENDER:$2|restored}} page $3"
            },
            {
                "name": "logentry-delete-revision",
                "normalizedname": "logentry-delete-revision",
                "*": "$1 {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a revision|$5 revisions}} on page $3: $4"
            },
            {
                "name": "logentry-delete-revision-legacy",
                "normalizedname": "logentry-delete-revision-legacy",
                "*": "$1 {{GENDER:$2|changed}} visibility of revisions on page $3"
            },
            {
                "name": "logentry-import-interwiki",
                "normalizedname": "logentry-import-interwiki",
                "*": "$1 {{GENDER:$2|imported}} $3 from another wiki"
            },
            {
                "name": "logentry-import-interwiki-details",
                "normalizedname": "logentry-import-interwiki-details",
                "*": "$1 {{GENDER:$2|imported}} $3 from $5 ($4 {{PLURAL:$4|revision|revisions}})"
            },
            {
                "name": "logentry-import-upload",
                "normalizedname": "logentry-import-upload",
                "*": "$1 {{GENDER:$2|imported}} $3 by file upload"
            },
            {
                "name": "logentry-import-upload-details",
                "normalizedname": "logentry-import-upload-details",
                "*": "$1 {{GENDER:$2|imported}} $3 by file upload ($4 {{PLURAL:$4|revision|revisions}})"
            },
            {
                "name": "logentry-managetags-activate",
                "normalizedname": "logentry-managetags-activate",
                "*": "$1 {{GENDER:$2|activated}} the tag \"$4\" for use by users and bots"
            },
            {
                "name": "logentry-managetags-create",
                "normalizedname": "logentry-managetags-create",
                "*": "$1 {{GENDER:$2|created}} the tag \"$4\""
            },
            {
                "name": "logentry-managetags-deactivate",
                "normalizedname": "logentry-managetags-deactivate",
                "*": "$1 {{GENDER:$2|deactivated}} the tag \"$4\" for use by users and bots"
            },
            {
                "name": "logentry-managetags-delete",
                "normalizedname": "logentry-managetags-delete",
                "*": "$1 {{GENDER:$2|deleted}} the tag \"$4\" (removed from $5 {{PLURAL:$5|revision or log entry|revisions and/or log entries}})"
            },
            {
                "name": "logentry-merge-merge",
                "normalizedname": "logentry-merge-merge",
                "*": "$1 {{GENDER:$2|merged}} $3 into $4 (revisions up to $5)"
            },
            {
                "name": "logentry-move-move",
                "normalizedname": "logentry-move-move",
                "*": "$1 {{GENDER:$2|moved}} page $3 to $4"
            },
            {
                "name": "logentry-move-move-noredirect",
                "normalizedname": "logentry-move-move-noredirect",
                "*": "$1 {{GENDER:$2|moved}} page $3 to $4 without leaving a redirect"
            },
            {
                "name": "logentry-move-move_redir",
                "normalizedname": "logentry-move-move_redir",
                "*": "$1 {{GENDER:$2|moved}} page $3 to $4 over redirect"
            },
            {
                "name": "logentry-move-move_redir-noredirect",
                "normalizedname": "logentry-move-move_redir-noredirect",
                "*": "$1 {{GENDER:$2|moved}} page $3 to $4 over a redirect without leaving a redirect"
            },
            {
                "name": "logentry-newusers-autocreate",
                "normalizedname": "logentry-newusers-autocreate",
                "*": "User account $1 was {{GENDER:$2|created}} automatically"
            },
            {
                "name": "logentry-newusers-byemail",
                "normalizedname": "logentry-newusers-byemail",
                "*": "User account $3 was {{GENDER:$2|created}} by $1 and password was sent by email"
            },
            {
                "name": "logentry-newusers-create",
                "normalizedname": "logentry-newusers-create",
                "*": "User account $1 was {{GENDER:$2|created}}"
            },
            {
                "name": "logentry-newusers-create2",
                "normalizedname": "logentry-newusers-create2",
                "*": "User account $3 was {{GENDER:$2|created}} by $1"
            },
            {
                "name": "logentry-newusers-newusers",
                "normalizedname": "logentry-newusers-newusers",
                "*": "User account $1 was {{GENDER:$2|created}}"
            },
            {
                "name": "logentry-pagelang-pagelang",
                "normalizedname": "logentry-pagelang-pagelang",
                "*": "$1 {{GENDER:$2|changed}} the language of $3 from $4 to $5"
            },
            {
                "name": "logentry-patrol-patrol",
                "normalizedname": "logentry-patrol-patrol",
                "*": "$1 {{GENDER:$2|marked}} revision $4 of page $3 patrolled"
            },
            {
                "name": "logentry-patrol-patrol-auto",
                "normalizedname": "logentry-patrol-patrol-auto",
                "*": "$1 automatically {{GENDER:$2|marked}} revision $4 of page $3 patrolled"
            },
            {
                "name": "logentry-protect-modify",
                "normalizedname": "logentry-protect-modify",
                "*": "$1 {{GENDER:$2|changed}} protection level for $3 $4"
            },
            {
                "name": "logentry-protect-modify-cascade",
                "normalizedname": "logentry-protect-modify-cascade",
                "*": "$1 {{GENDER:$2|changed}} protection level for $3 $4 [cascading]"
            },
            {
                "name": "logentry-protect-move_prot",
                "normalizedname": "logentry-protect-move_prot",
                "*": "$1 {{GENDER:$2|moved}} protection settings from $4 to $3"
            },
            {
                "name": "logentry-protect-protect",
                "normalizedname": "logentry-protect-protect",
                "*": "$1 {{GENDER:$2|protected}} $3 $4"
            },
            {
                "name": "logentry-protect-protect-cascade",
                "normalizedname": "logentry-protect-protect-cascade",
                "*": "$1 {{GENDER:$2|protected}} $3 $4 [cascading]"
            },
            {
                "name": "logentry-protect-unprotect",
                "normalizedname": "logentry-protect-unprotect",
                "*": "$1 {{GENDER:$2|removed}} protection from $3"
            },
            {
                "name": "logentry-rights-autopromote",
                "normalizedname": "logentry-rights-autopromote",
                "*": "$1 was automatically {{GENDER:$2|promoted}} from $4 to $5"
            },
            {
                "name": "logentry-rights-rights",
                "normalizedname": "logentry-rights-rights",
                "*": "$1 {{GENDER:$2|changed}} group membership for {{GENDER:$6|$3}} from $4 to $5"
            },
            {
                "name": "logentry-rights-rights-legacy",
                "normalizedname": "logentry-rights-rights-legacy",
                "*": "$1 {{GENDER:$2|changed}} group membership for $3"
            },
            {
                "name": "logentry-suppress-block",
                "normalizedname": "logentry-suppress-block",
                "*": "$1 {{GENDER:$2|blocked}} {{GENDER:$4|$3}} with an expiration time of $5 $6"
            },
            {
                "name": "logentry-suppress-delete",
                "normalizedname": "logentry-suppress-delete",
                "*": "$1 {{GENDER:$2|suppressed}} page $3"
            },
            {
                "name": "logentry-suppress-event",
                "normalizedname": "logentry-suppress-event",
                "*": "$1 secretly {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a log event|$5 log events}} on $3: $4"
            },
            {
                "name": "logentry-suppress-event-legacy",
                "normalizedname": "logentry-suppress-event-legacy",
                "*": "$1 secretly {{GENDER:$2|changed}} visibility of log events on $3"
            },
            {
                "name": "logentry-suppress-reblock",
                "normalizedname": "logentry-suppress-reblock",
                "*": "$1 {{GENDER:$2|changed}} block settings for {{GENDER:$4|$3}} with an expiration time of $5 $6"
            },
            {
                "name": "logentry-suppress-revision",
                "normalizedname": "logentry-suppress-revision",
                "*": "$1 secretly {{GENDER:$2|changed}} visibility of {{PLURAL:$5|a revision|$5 revisions}} on page $3: $4"
            },
            {
                "name": "logentry-suppress-revision-legacy",
                "normalizedname": "logentry-suppress-revision-legacy",
                "*": "$1 secretly {{GENDER:$2|changed}} visibility of revisions on page $3"
            },
            {
                "name": "logentry-tag-update-add-logentry",
                "normalizedname": "logentry-tag-update-add-logentry",
                "*": "$1 {{GENDER:$2|added}} the {{PLURAL:$7|tag|tags}} $6 to log entry $5 of page $3"
            },
            {
                "name": "logentry-tag-update-add-revision",
                "normalizedname": "logentry-tag-update-add-revision",
                "*": "$1 {{GENDER:$2|added}} the {{PLURAL:$7|tag|tags}} $6 to revision $4 of page $3"
            },
            {
                "name": "logentry-tag-update-logentry",
                "normalizedname": "logentry-tag-update-logentry",
                "*": "$1 {{GENDER:$2|updated}} tags on log entry $5 of page $3 ({{PLURAL:$7|added}} $6; {{PLURAL:$9|removed}} $8)"
            },
            {
                "name": "logentry-tag-update-remove-logentry",
                "normalizedname": "logentry-tag-update-remove-logentry",
                "*": "$1 {{GENDER:$2|removed}} the {{PLURAL:$9|tag|tags}} $8 from log entry $5 of page $3"
            },
            {
                "name": "logentry-tag-update-remove-revision",
                "normalizedname": "logentry-tag-update-remove-revision",
                "*": "$1 {{GENDER:$2|removed}} the {{PLURAL:$9|tag|tags}} $8 from revision $4 of page $3"
            },
            {
                "name": "logentry-tag-update-revision",
                "normalizedname": "logentry-tag-update-revision",
                "*": "$1 {{GENDER:$2|updated}} tags on revision $4 of page $3 ({{PLURAL:$7|added}} $6; {{PLURAL:$9|removed}} $8)"
            },
            {
                "name": "logentry-upload-overwrite",
                "normalizedname": "logentry-upload-overwrite",
                "*": "$1 {{GENDER:$2|uploaded}} a new version of $3"
            },
            {
                "name": "logentry-upload-revert",
                "normalizedname": "logentry-upload-revert",
                "*": "$1 {{GENDER:$2|uploaded}} $3"
            },
            {
                "name": "logentry-upload-upload",
                "normalizedname": "logentry-upload-upload",
                "*": "$1 {{GENDER:$2|uploaded}} $3"
            },
            {
                "name": "logeventslist-submit",
                "normalizedname": "logeventslist-submit",
                "*": "Show"
            },
            {
                "name": "login",
                "normalizedname": "login",
                "*": "Log in"
            },
            {
                "name": "login-abort-generic",
                "normalizedname": "login-abort-generic",
                "*": "Your login failed - Aborted"
            },
            {
                "name": "login-migrated-generic",
                "normalizedname": "login-migrated-generic",
                "*": "Your account has been migrated, and your username no longer exist on this wiki."
            },
            {
                "name": "login-security",
                "normalizedname": "login-security",
                "*": "Verify your identity"
            },
            {
                "name": "login-throttled",
                "normalizedname": "login-throttled",
                "*": "You have made too many recent login attempts.\nPlease wait $1 before trying again."
            },
            {
                "name": "login-userblocked",
                "normalizedname": "login-userblocked",
                "*": "This user is blocked. Login not allowed."
            },
            {
                "name": "loginerror",
                "normalizedname": "loginerror",
                "*": "Login error"
            },
            {
                "name": "loginlanguagelabel",
                "normalizedname": "loginlanguagelabel",
                "*": "Language: $1"
            },
            {
                "name": "loginlanguagelinks",
                "normalizedname": "loginlanguagelinks",
                "*": "* {{#language:de}}|de\n* {{#language:en}}|en\n* {{#language:eo}}|eo\n* {{#language:fr}}|fr\n* {{#language:es}}|es\n* {{#language:it}}|it\n* {{#language:nl}}|nl"
            },
            {
                "name": "loginprompt",
                "normalizedname": "loginprompt",
                "*": ""
            },
            {
                "name": "loginreqlink",
                "normalizedname": "loginreqlink",
                "*": "log in"
            },
            {
                "name": "loginreqpagetext",
                "normalizedname": "loginreqpagetext",
                "*": "Please $1 to view other pages."
            },
            {
                "name": "loginreqtitle",
                "normalizedname": "loginreqtitle",
                "*": "Login required"
            },
            {
                "name": "loginsuccess",
                "normalizedname": "loginsuccess",
                "*": "<strong>You are now logged in to {{SITENAME}} as \"$1\".</strong>"
            },
            {
                "name": "loginsuccesstitle",
                "normalizedname": "loginsuccesstitle",
                "*": "Logged in"
            },
            {
                "name": "logout",
                "normalizedname": "logout",
                "*": "Log out"
            },
            {
                "name": "logouttext",
                "normalizedname": "logouttext",
                "*": "<strong>You are now logged out.</strong>\n\nNote that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache."
            },
            {
                "name": "lonelypages",
                "normalizedname": "lonelypages",
                "*": "Orphaned pages"
            },
            {
                "name": "lonelypages-summary",
                "normalizedname": "lonelypages-summary",
                "*": ""
            },
            {
                "name": "lonelypagestext",
                "normalizedname": "lonelypagestext",
                "*": "The following pages are not linked from or transcluded into other pages in {{SITENAME}}."
            },
            {
                "name": "longpage-hint",
                "normalizedname": "longpage-hint",
                "*": "-"
            },
            {
                "name": "longpageerror",
                "normalizedname": "longpageerror",
                "*": "<strong>Error: The text you have submitted is {{PLURAL:$1|one kilobyte|$1 kilobytes}} long, which is longer than the maximum of {{PLURAL:$2|one kilobyte|$2 kilobytes}}.</strong>\nIt cannot be saved."
            },
            {
                "name": "longpages",
                "normalizedname": "longpages",
                "*": "Long pages"
            },
            {
                "name": "longpages-summary",
                "normalizedname": "longpages-summary",
                "*": ""
            },
            {
                "name": "magiclink-tracking-isbn",
                "normalizedname": "magiclink-tracking-isbn",
                "*": "Pages using ISBN magic links"
            },
            {
                "name": "magiclink-tracking-isbn-desc",
                "normalizedname": "magiclink-tracking-isbn-desc",
                "*": "This page uses ISBN magic links. See [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] on how to migrate."
            },
            {
                "name": "magiclink-tracking-pmid",
                "normalizedname": "magiclink-tracking-pmid",
                "*": "Pages using PMID magic links"
            },
            {
                "name": "magiclink-tracking-pmid-desc",
                "normalizedname": "magiclink-tracking-pmid-desc",
                "*": "This page uses PMID magic links. See [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] on how to migrate."
            },
            {
                "name": "magiclink-tracking-rfc",
                "normalizedname": "magiclink-tracking-rfc",
                "*": "Pages using RFC magic links"
            },
            {
                "name": "magiclink-tracking-rfc-desc",
                "normalizedname": "magiclink-tracking-rfc-desc",
                "*": "This page uses RFC magic links. See [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] on how to migrate."
            },
            {
                "name": "mailerror",
                "normalizedname": "mailerror",
                "*": "Error sending mail: $1"
            },
            {
                "name": "mailmypassword",
                "normalizedname": "mailmypassword",
                "*": "Reset password"
            },
            {
                "name": "mailnologin",
                "normalizedname": "mailnologin",
                "*": "No send address"
            },
            {
                "name": "mailnologintext",
                "normalizedname": "mailnologintext",
                "*": "You must be [[Special:UserLogin|logged in]] and have a valid email address in your [[Special:Preferences|preferences]] to send email to other users."
            },
            {
                "name": "mainpage",
                "normalizedname": "mainpage",
                "*": "Main Page"
            },
            {
                "name": "mainpage-description",
                "normalizedname": "mainpage-description",
                "*": "Main page"
            },
            {
                "name": "mainpage-nstab",
                "normalizedname": "mainpage-nstab",
                "*": "Main page"
            },
            {
                "name": "mar",
                "normalizedname": "mar",
                "*": "Mar"
            },
            {
                "name": "march",
                "normalizedname": "march",
                "*": "March"
            },
            {
                "name": "march-date",
                "normalizedname": "march-date",
                "*": "March $1"
            },
            {
                "name": "march-gen",
                "normalizedname": "march-gen",
                "*": "March"
            },
            {
                "name": "markaspatrolleddiff",
                "normalizedname": "markaspatrolleddiff",
                "*": "Mark as patrolled"
            },
            {
                "name": "markaspatrolledlink",
                "normalizedname": "markaspatrolledlink",
                "*": "[$1]"
            },
            {
                "name": "markaspatrolledtext",
                "normalizedname": "markaspatrolledtext",
                "*": "Mark this page as patrolled"
            },
            {
                "name": "markaspatrolledtext-file",
                "normalizedname": "markaspatrolledtext-file",
                "*": "Mark this file version as patrolled"
            },
            {
                "name": "markedaspatrolled",
                "normalizedname": "markedaspatrolled",
                "*": "Marked as patrolled"
            },
            {
                "name": "markedaspatrollederror",
                "normalizedname": "markedaspatrollederror",
                "*": "Cannot mark as patrolled"
            },
            {
                "name": "markedaspatrollederror-noautopatrol",
                "normalizedname": "markedaspatrollederror-noautopatrol",
                "*": "You are not allowed to mark your own changes as patrolled."
            },
            {
                "name": "markedaspatrollederrornotify",
                "normalizedname": "markedaspatrollederrornotify",
                "*": "Marking as patrolled failed."
            },
            {
                "name": "markedaspatrollederrortext",
                "normalizedname": "markedaspatrollederrortext",
                "*": "You need to specify a revision to mark as patrolled."
            },
            {
                "name": "markedaspatrollednotify",
                "normalizedname": "markedaspatrollednotify",
                "*": "This change to $1 has been marked as patrolled."
            },
            {
                "name": "markedaspatrolledtext",
                "normalizedname": "markedaspatrolledtext",
                "*": "The selected revision of [[:$1]] has been marked as patrolled."
            },
            {
                "name": "maximum-size",
                "normalizedname": "maximum-size",
                "*": "Max size:"
            },
            {
                "name": "may",
                "normalizedname": "may",
                "*": "May"
            },
            {
                "name": "may-date",
                "normalizedname": "may-date",
                "*": "May $1"
            },
            {
                "name": "may-gen",
                "normalizedname": "may-gen",
                "*": "May"
            },
            {
                "name": "may_long",
                "normalizedname": "may_long",
                "*": "May"
            },
            {
                "name": "media_sample",
                "normalizedname": "media_sample",
                "*": "Example.ogg"
            },
            {
                "name": "media_tip",
                "normalizedname": "media_tip",
                "*": "File link"
            },
            {
                "name": "mediastatistics",
                "normalizedname": "mediastatistics",
                "*": "Media statistics"
            },
            {
                "name": "mediastatistics-allbytes",
                "normalizedname": "mediastatistics-allbytes",
                "*": "Total file size for all files: {{PLURAL:$1|$1 byte|$1 bytes}} ($2)."
            },
            {
                "name": "mediastatistics-bytespertype",
                "normalizedname": "mediastatistics-bytespertype",
                "*": "Total file size for this section: {{PLURAL:$1|$1 byte|$1 bytes}} ($2; $3%)."
            },
            {
                "name": "mediastatistics-header-3d",
                "normalizedname": "mediastatistics-header-3d",
                "*": "3D"
            },
            {
                "name": "mediastatistics-header-archive",
                "normalizedname": "mediastatistics-header-archive",
                "*": "Compressed formats"
            },
            {
                "name": "mediastatistics-header-audio",
                "normalizedname": "mediastatistics-header-audio",
                "*": "Audio"
            },
            {
                "name": "mediastatistics-header-bitmap",
                "normalizedname": "mediastatistics-header-bitmap",
                "*": "Bitmap images"
            },
            {
                "name": "mediastatistics-header-drawing",
                "normalizedname": "mediastatistics-header-drawing",
                "*": "Drawings (vector images)"
            },
            {
                "name": "mediastatistics-header-executable",
                "normalizedname": "mediastatistics-header-executable",
                "*": "Executables"
            },
            {
                "name": "mediastatistics-header-multimedia",
                "normalizedname": "mediastatistics-header-multimedia",
                "*": "Rich media"
            },
            {
                "name": "mediastatistics-header-office",
                "normalizedname": "mediastatistics-header-office",
                "*": "Office"
            },
            {
                "name": "mediastatistics-header-text",
                "normalizedname": "mediastatistics-header-text",
                "*": "Textual"
            },
            {
                "name": "mediastatistics-header-total",
                "normalizedname": "mediastatistics-header-total",
                "*": "All files"
            },
            {
                "name": "mediastatistics-header-unknown",
                "normalizedname": "mediastatistics-header-unknown",
                "*": "Unknown"
            },
            {
                "name": "mediastatistics-header-video",
                "normalizedname": "mediastatistics-header-video",
                "*": "Videos"
            },
            {
                "name": "mediastatistics-nbytes",
                "normalizedname": "mediastatistics-nbytes",
                "*": "{{PLURAL:$1|$1 byte|$1 bytes}} ($2; $3%)"
            },
            {
                "name": "mediastatistics-nfiles",
                "normalizedname": "mediastatistics-nfiles",
                "*": "$1 ($2%)"
            },
            {
                "name": "mediastatistics-summary",
                "normalizedname": "mediastatistics-summary",
                "*": "Statistics about uploaded file types. This only includes the most recent version of a file. Old or deleted versions of files are excluded."
            },
            {
                "name": "mediastatistics-table-count",
                "normalizedname": "mediastatistics-table-count",
                "*": "Number of files"
            },
            {
                "name": "mediastatistics-table-extensions",
                "normalizedname": "mediastatistics-table-extensions",
                "*": "Possible extensions"
            },
            {
                "name": "mediastatistics-table-mimetype",
                "normalizedname": "mediastatistics-table-mimetype",
                "*": "MIME type"
            },
            {
                "name": "mediastatistics-table-totalbytes",
                "normalizedname": "mediastatistics-table-totalbytes",
                "*": "Combined size"
            },
            {
                "name": "mediawarning",
                "normalizedname": "mediawarning",
                "*": "<strong>Warning:</strong> This file type may contain malicious code.\nBy executing it, your system may be compromised."
            },
            {
                "name": "mediawikipage",
                "normalizedname": "mediawikipage",
                "*": "View message page"
            },
            {
                "name": "mergehistory",
                "normalizedname": "mergehistory",
                "*": "Merge page histories"
            },
            {
                "name": "mergehistory-autocomment",
                "normalizedname": "mergehistory-autocomment",
                "*": "Merged [[:$1]] into [[:$2]]"
            },
            {
                "name": "mergehistory-box",
                "normalizedname": "mergehistory-box",
                "*": "Merge revisions of two pages:"
            },
            {
                "name": "mergehistory-comment",
                "normalizedname": "mergehistory-comment",
                "*": "Merged [[:$1]] into [[:$2]]: $3"
            },
            {
                "name": "mergehistory-done",
                "normalizedname": "mergehistory-done",
                "*": "$3 {{PLURAL:$3|revision|revisions}} of $1 {{PLURAL:$3|was|were}} merged into [[:$2]]."
            },
            {
                "name": "mergehistory-empty",
                "normalizedname": "mergehistory-empty",
                "*": "No revisions can be merged."
            },
            {
                "name": "mergehistory-fail",
                "normalizedname": "mergehistory-fail",
                "*": "Unable to perform history merge, please recheck the page and time parameters."
            },
            {
                "name": "mergehistory-fail-bad-timestamp",
                "normalizedname": "mergehistory-fail-bad-timestamp",
                "*": "Timestamp is invalid."
            },
            {
                "name": "mergehistory-fail-invalid-dest",
                "normalizedname": "mergehistory-fail-invalid-dest",
                "*": "Destination page is invalid."
            },
            {
                "name": "mergehistory-fail-invalid-source",
                "normalizedname": "mergehistory-fail-invalid-source",
                "*": "Source page is invalid."
            },
            {
                "name": "mergehistory-fail-no-change",
                "normalizedname": "mergehistory-fail-no-change",
                "*": "History merge did not merge any revisions. Please recheck the page and time parameters."
            },
            {
                "name": "mergehistory-fail-permission",
                "normalizedname": "mergehistory-fail-permission",
                "*": "Insufficient permissions to merge history."
            },
            {
                "name": "mergehistory-fail-self-merge",
                "normalizedname": "mergehistory-fail-self-merge",
                "*": "Source and destination pages are the same."
            },
            {
                "name": "mergehistory-fail-timestamps-overlap",
                "normalizedname": "mergehistory-fail-timestamps-overlap",
                "*": "Source revisions overlap or come after destination revisions."
            },
            {
                "name": "mergehistory-fail-toobig",
                "normalizedname": "mergehistory-fail-toobig",
                "*": "Unable to perform history merge as more than the limit of $1 {{PLURAL:$1|revision|revisions}} would be moved."
            },
            {
                "name": "mergehistory-from",
                "normalizedname": "mergehistory-from",
                "*": "Source page:"
            },
            {
                "name": "mergehistory-go",
                "normalizedname": "mergehistory-go",
                "*": "Show mergeable edits"
            },
            {
                "name": "mergehistory-header",
                "normalizedname": "mergehistory-header",
                "*": "This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity."
            },
            {
                "name": "mergehistory-into",
                "normalizedname": "mergehistory-into",
                "*": "Destination page:"
            },
            {
                "name": "mergehistory-invalid-destination",
                "normalizedname": "mergehistory-invalid-destination",
                "*": "Destination page must be a valid title."
            },
            {
                "name": "mergehistory-invalid-source",
                "normalizedname": "mergehistory-invalid-source",
                "*": "Source page must be a valid title."
            },
            {
                "name": "mergehistory-list",
                "normalizedname": "mergehistory-list",
                "*": "Mergeable edit history"
            },
            {
                "name": "mergehistory-merge",
                "normalizedname": "mergehistory-merge",
                "*": "The following revisions of [[:$1]] can be merged into [[:$2]].\nUse the radio button column to merge in only the revisions created at and before the specified time.\nNote that using the navigation links will reset this column."
            },
            {
                "name": "mergehistory-no-destination",
                "normalizedname": "mergehistory-no-destination",
                "*": "Destination page $1 does not exist."
            },
            {
                "name": "mergehistory-no-source",
                "normalizedname": "mergehistory-no-source",
                "*": "Source page $1 does not exist."
            },
            {
                "name": "mergehistory-reason",
                "normalizedname": "mergehistory-reason",
                "*": "Reason:"
            },
            {
                "name": "mergehistory-redirect-text",
                "normalizedname": "mergehistory-redirect-text",
                "*": ""
            },
            {
                "name": "mergehistory-revisionrow",
                "normalizedname": "mergehistory-revisionrow",
                "*": "$1 ($2) $3 . . $4 $5 $6"
            },
            {
                "name": "mergehistory-same-destination",
                "normalizedname": "mergehistory-same-destination",
                "*": "Source and destination pages cannot be the same"
            },
            {
                "name": "mergehistory-submit",
                "normalizedname": "mergehistory-submit",
                "*": "Merge revisions"
            },
            {
                "name": "mergehistory-warning-redirect-not-created",
                "normalizedname": "mergehistory-warning-redirect-not-created",
                "*": ""
            },
            {
                "name": "mergelog",
                "normalizedname": "mergelog",
                "*": "Merge log"
            },
            {
                "name": "mergelogpagetext",
                "normalizedname": "mergelogpagetext",
                "*": "Below is a list of the most recent merges of one page history into another."
            },
            {
                "name": "metadata",
                "normalizedname": "metadata",
                "*": "Metadata"
            },
            {
                "name": "metadata-collapse",
                "normalizedname": "metadata-collapse",
                "*": "Hide extended details"
            },
            {
                "name": "metadata-expand",
                "normalizedname": "metadata-expand",
                "*": "Show extended details"
            },
            {
                "name": "metadata-fields",
                "normalizedname": "metadata-fields",
                "*": "Image metadata fields listed in this message will be included on image page display when the metadata table is collapsed.\nOthers will be hidden by default.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude"
            },
            {
                "name": "metadata-help",
                "normalizedname": "metadata-help",
                "*": "This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.\nIf the file has been modified from its original state, some details may not fully reflect the modified file."
            },
            {
                "name": "metadata-langitem",
                "normalizedname": "metadata-langitem",
                "*": "<strong>$2:</strong> $1"
            },
            {
                "name": "metadata-langitem-default",
                "normalizedname": "metadata-langitem-default",
                "*": "$1"
            },
            {
                "name": "mimesearch",
                "normalizedname": "mimesearch",
                "*": "MIME search"
            },
            {
                "name": "mimesearch-summary",
                "normalizedname": "mimesearch-summary",
                "*": "This page enables the filtering of files for their MIME type.\nInput: contenttype/subtype or contenttype/*, e.g. <code>image/jpeg</code>."
            },
            {
                "name": "mimetype",
                "normalizedname": "mimetype",
                "*": "MIME type:"
            },
            {
                "name": "minimum-size",
                "normalizedname": "minimum-size",
                "*": "Min size"
            },
            {
                "name": "minlength1",
                "normalizedname": "minlength1",
                "*": "Filenames must be at least one letter."
            },
            {
                "name": "minoredit",
                "normalizedname": "minoredit",
                "*": "This is a minor edit"
            },
            {
                "name": "minoreditletter",
                "normalizedname": "minoreditletter",
                "*": "m"
            },
            {
                "name": "minutes",
                "normalizedname": "minutes",
                "*": "{{PLURAL:$1|$1 minute|$1 minutes}}"
            },
            {
                "name": "minutes-abbrev",
                "normalizedname": "minutes-abbrev",
                "*": "$1 min"
            },
            {
                "name": "minutes-ago",
                "normalizedname": "minutes-ago",
                "*": "$1 {{PLURAL:$1|minute|minutes}} ago"
            },
            {
                "name": "missing-article",
                "normalizedname": "missing-article",
                "*": "The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL."
            },
            {
                "name": "missing-revision",
                "normalizedname": "missing-revision",
                "*": "The revision #$1 of the page named \"{{FULLPAGENAME}}\" does not exist.\n\nThis is usually caused by following an outdated history link to a page that has been deleted.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "missingarticle-diff",
                "normalizedname": "missingarticle-diff",
                "*": "(Diff: $1, $2)"
            },
            {
                "name": "missingarticle-rev",
                "normalizedname": "missingarticle-rev",
                "*": "(revision#: $1)"
            },
            {
                "name": "missingcommentheader",
                "normalizedname": "missingcommentheader",
                "*": "<strong>Reminder:</strong> You have not provided a subject for this comment.\nIf you click \"$1\" again, your edit will be saved without one."
            },
            {
                "name": "missingcommenttext",
                "normalizedname": "missingcommenttext",
                "*": "Please enter a comment."
            },
            {
                "name": "missingsummary",
                "normalizedname": "missingsummary",
                "*": "<strong>Reminder:</strong> You have not provided an edit summary.\nIf you click \"$1\" again, your edit will be saved without one."
            },
            {
                "name": "modifiedarticleprotection",
                "normalizedname": "modifiedarticleprotection",
                "*": "changed protection level for \"[[$1]]\""
            },
            {
                "name": "modifiedarticleprotection-comment",
                "normalizedname": "modifiedarticleprotection-comment",
                "*": "{{GENDER:$2|Changed protection level}} for \"[[$1]]\""
            },
            {
                "name": "mon",
                "normalizedname": "mon",
                "*": "Mon"
            },
            {
                "name": "monday",
                "normalizedname": "monday",
                "*": "Monday"
            },
            {
                "name": "monday-at",
                "normalizedname": "monday-at",
                "*": "Monday at $1"
            },
            {
                "name": "monobook-desc",
                "normalizedname": "monobook-desc",
                "*": "The classic MediaWiki skin since 2004, named after the black-and-white photo of a book in the page background"
            },
            {
                "name": "monobook.css",
                "normalizedname": "monobook.css",
                "*": "/* CSS placed here will affect users of the MonoBook skin */"
            },
            {
                "name": "monobook.js",
                "normalizedname": "monobook.js",
                "*": "/* Any JavaScript here will be loaded for users using the MonoBook skin */"
            },
            {
                "name": "month",
                "normalizedname": "month",
                "*": "From month (and earlier):"
            },
            {
                "name": "months",
                "normalizedname": "months",
                "*": "{{PLURAL:$1|$1 month|$1 months}}"
            },
            {
                "name": "monthsall",
                "normalizedname": "monthsall",
                "*": "all"
            },
            {
                "name": "moredotdotdot",
                "normalizedname": "moredotdotdot",
                "*": "More..."
            },
            {
                "name": "morelinkstoimage",
                "normalizedname": "morelinkstoimage",
                "*": "View [[Special:WhatLinksHere/$1|more links]] to this file."
            },
            {
                "name": "morenotlisted",
                "normalizedname": "morenotlisted",
                "*": "This list may be incomplete."
            },
            {
                "name": "mostcategories",
                "normalizedname": "mostcategories",
                "*": "Pages with the most categories"
            },
            {
                "name": "mostcategories-summary",
                "normalizedname": "mostcategories-summary",
                "*": ""
            },
            {
                "name": "mostimages",
                "normalizedname": "mostimages",
                "*": "Most linked-to files"
            },
            {
                "name": "mostimages-summary",
                "normalizedname": "mostimages-summary",
                "*": ""
            },
            {
                "name": "mostinterwikis",
                "normalizedname": "mostinterwikis",
                "*": "Pages with the most interwikis"
            },
            {
                "name": "mostinterwikis-summary",
                "normalizedname": "mostinterwikis-summary",
                "*": ""
            },
            {
                "name": "mostlinked",
                "normalizedname": "mostlinked",
                "*": "Most linked-to pages"
            },
            {
                "name": "mostlinked-summary",
                "normalizedname": "mostlinked-summary",
                "*": ""
            },
            {
                "name": "mostlinkedcategories",
                "normalizedname": "mostlinkedcategories",
                "*": "Most linked-to categories"
            },
            {
                "name": "mostlinkedcategories-summary",
                "normalizedname": "mostlinkedcategories-summary",
                "*": ""
            },
            {
                "name": "mostlinkedtemplates",
                "normalizedname": "mostlinkedtemplates",
                "*": "Most transcluded pages"
            },
            {
                "name": "mostlinkedtemplates-summary",
                "normalizedname": "mostlinkedtemplates-summary",
                "*": ""
            },
            {
                "name": "mostrevisions",
                "normalizedname": "mostrevisions",
                "*": "Pages with the most revisions"
            },
            {
                "name": "mostrevisions-summary",
                "normalizedname": "mostrevisions-summary",
                "*": ""
            },
            {
                "name": "move",
                "normalizedname": "move",
                "*": "Move"
            },
            {
                "name": "move-leave-redirect",
                "normalizedname": "move-leave-redirect",
                "*": "Leave a redirect behind"
            },
            {
                "name": "move-over-sharedrepo",
                "normalizedname": "move-over-sharedrepo",
                "*": "[[:$1]] exists on a shared repository. Moving a file to this title will override the shared file."
            },
            {
                "name": "move-page",
                "normalizedname": "move-page",
                "*": "Move $1"
            },
            {
                "name": "move-page-legend",
                "normalizedname": "move-page-legend",
                "*": "Move page"
            },
            {
                "name": "move-redirect-suppressed",
                "normalizedname": "move-redirect-suppressed",
                "*": "redirect suppressed"
            },
            {
                "name": "move-redirect-text",
                "normalizedname": "move-redirect-text",
                "*": ""
            },
            {
                "name": "move-subpages",
                "normalizedname": "move-subpages",
                "*": "Move subpages (up to $1)"
            },
            {
                "name": "move-talk-subpages",
                "normalizedname": "move-talk-subpages",
                "*": "Move subpages of talk page (up to $1)"
            },
            {
                "name": "move-watch",
                "normalizedname": "move-watch",
                "*": "Watch source page and target page"
            },
            {
                "name": "movecategorypage-warning",
                "normalizedname": "movecategorypage-warning",
                "*": "<strong>Warning:</strong> You are about to move a category page. Please note that only the page will be moved and any pages in the old category will <em>not</em> be recategorized into the new one."
            },
            {
                "name": "movedarticleprotection",
                "normalizedname": "movedarticleprotection",
                "*": "moved protection settings from \"[[$2]]\" to \"[[$1]]\""
            },
            {
                "name": "moveddeleted-notice",
                "normalizedname": "moveddeleted-notice",
                "*": "This page has been deleted.\nThe deletion, protection, and move log for the page are provided below for reference."
            },
            {
                "name": "moveddeleted-notice-recent",
                "normalizedname": "moveddeleted-notice-recent",
                "*": "Sorry, this page was recently deleted (within the last 24 hours).\nThe deletion, protection, and move log for the page are provided below for reference."
            },
            {
                "name": "movelogpage",
                "normalizedname": "movelogpage",
                "*": "Move log"
            },
            {
                "name": "movelogpagetext",
                "normalizedname": "movelogpagetext",
                "*": "Below is a list of all page moves."
            },
            {
                "name": "movenologintext",
                "normalizedname": "movenologintext",
                "*": "You must be a registered user and [[Special:UserLogin|logged in]] to move a page."
            },
            {
                "name": "movenosubpage",
                "normalizedname": "movenosubpage",
                "*": "This page has no subpages."
            },
            {
                "name": "movenotallowed",
                "normalizedname": "movenotallowed",
                "*": "You do not have permission to move pages."
            },
            {
                "name": "movenotallowedfile",
                "normalizedname": "movenotallowedfile",
                "*": "You do not have permission to move files."
            },
            {
                "name": "movepage-max-pages",
                "normalizedname": "movepage-max-pages",
                "*": "The maximum of $1 {{PLURAL:$1|page|pages}} has been moved and no more will be moved automatically."
            },
            {
                "name": "movepage-moved",
                "normalizedname": "movepage-moved",
                "*": "<strong>\"$1\" has been moved to \"$2\"</strong>"
            },
            {
                "name": "movepage-moved-noredirect",
                "normalizedname": "movepage-moved-noredirect",
                "*": "The creation of a redirect has been suppressed."
            },
            {
                "name": "movepage-moved-redirect",
                "normalizedname": "movepage-moved-redirect",
                "*": "A redirect has been created."
            },
            {
                "name": "movepage-page-exists",
                "normalizedname": "movepage-page-exists",
                "*": "The page $1 already exists and cannot be automatically overwritten."
            },
            {
                "name": "movepage-page-moved",
                "normalizedname": "movepage-page-moved",
                "*": "The page $1 has been moved to $2."
            },
            {
                "name": "movepage-page-unmoved",
                "normalizedname": "movepage-page-unmoved",
                "*": "The page $1 could not be moved to $2."
            },
            {
                "name": "movepage-summary",
                "normalizedname": "movepage-summary",
                "*": ""
            },
            {
                "name": "movepagebtn",
                "normalizedname": "movepagebtn",
                "*": "Move page"
            },
            {
                "name": "movepagetalktext",
                "normalizedname": "movepagetalktext",
                "*": "If you check this box, the associated talk page will be automatically moved to new title, unless a non-empty talk page already exists there.\n\nIn this case, you will have to move or merge the page manually if desired."
            },
            {
                "name": "movepagetext",
                "normalizedname": "movepagetext",
                "*": "Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nYou can update redirects that point to the original title automatically.\nIf you choose not to, be sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will <strong>not</strong> be moved if there is already a page at the new title, unless the latter is a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n<strong>Note:</strong>\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding."
            },
            {
                "name": "movepagetext-noredirectfixer",
                "normalizedname": "movepagetext-noredirectfixer",
                "*": "Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nBe sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will <strong>not</strong> be moved if there is already a page at the new title, unless it is a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n<strong>Note:</strong>\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding."
            },
            {
                "name": "movereason",
                "normalizedname": "movereason",
                "*": "Reason:"
            },
            {
                "name": "movesubpage",
                "normalizedname": "movesubpage",
                "*": "{{PLURAL:$1|Subpage|Subpages}}"
            },
            {
                "name": "movesubpagetalktext",
                "normalizedname": "movesubpagetalktext",
                "*": "The corresponding talk page has $1 {{PLURAL:$1|subpage|subpages}} shown below."
            },
            {
                "name": "movesubpagetext",
                "normalizedname": "movesubpagetext",
                "*": "This page has $1 {{PLURAL:$1|subpage|subpages}} shown below."
            },
            {
                "name": "movetalk",
                "normalizedname": "movetalk",
                "*": "Move associated talk page"
            },
            {
                "name": "movethispage",
                "normalizedname": "movethispage",
                "*": "Move this page"
            },
            {
                "name": "moveuserpage-warning",
                "normalizedname": "moveuserpage-warning",
                "*": "<strong>Warning:</strong> You are about to move a user page. Please note that only the page will be moved and the user will <em>not</em> be renamed."
            },
            {
                "name": "mw-widgets-categoryselector-add-category-placeholder",
                "normalizedname": "mw-widgets-categoryselector-add-category-placeholder",
                "*": "Add a category..."
            },
            {
                "name": "mw-widgets-dateinput-no-date",
                "normalizedname": "mw-widgets-dateinput-no-date",
                "*": "No date selected"
            },
            {
                "name": "mw-widgets-dateinput-placeholder-day",
                "normalizedname": "mw-widgets-dateinput-placeholder-day",
                "*": "YYYY-MM-DD"
            },
            {
                "name": "mw-widgets-dateinput-placeholder-month",
                "normalizedname": "mw-widgets-dateinput-placeholder-month",
                "*": "YYYY-MM"
            },
            {
                "name": "mw-widgets-mediasearch-input-placeholder",
                "normalizedname": "mw-widgets-mediasearch-input-placeholder",
                "*": "Search for media"
            },
            {
                "name": "mw-widgets-mediasearch-noresults",
                "normalizedname": "mw-widgets-mediasearch-noresults",
                "*": "No results found."
            },
            {
                "name": "mw-widgets-titleinput-description-new-page",
                "normalizedname": "mw-widgets-titleinput-description-new-page",
                "*": "page does not exist yet"
            },
            {
                "name": "mw-widgets-titleinput-description-redirect",
                "normalizedname": "mw-widgets-titleinput-description-redirect",
                "*": "redirect to $1"
            },
            {
                "name": "mw-widgets-usersmultiselect-placeholder",
                "normalizedname": "mw-widgets-usersmultiselect-placeholder",
                "*": "Add more..."
            },
            {
                "name": "mycontris",
                "normalizedname": "mycontris",
                "*": "Contributions"
            },
            {
                "name": "mycustomcssprotected",
                "normalizedname": "mycustomcssprotected",
                "*": "You do not have permission to edit this CSS page."
            },
            {
                "name": "mycustomjsonprotected",
                "normalizedname": "mycustomjsonprotected",
                "*": "You do not have permission to edit this JSON page."
            },
            {
                "name": "mycustomjsprotected",
                "normalizedname": "mycustomjsprotected",
                "*": "You do not have permission to edit this JavaScript page."
            },
            {
                "name": "mypage",
                "normalizedname": "mypage",
                "*": "Page"
            },
            {
                "name": "mypreferences",
                "normalizedname": "mypreferences",
                "*": "Preferences"
            },
            {
                "name": "mypreferencesprotected",
                "normalizedname": "mypreferencesprotected",
                "*": "You do not have permission to edit your preferences."
            },
            {
                "name": "myprivateinfoprotected",
                "normalizedname": "myprivateinfoprotected",
                "*": "You do not have permission to edit your private information."
            },
            {
                "name": "mytalk",
                "normalizedname": "mytalk",
                "*": "Talk"
            },
            {
                "name": "mywatchlist",
                "normalizedname": "mywatchlist",
                "*": "Watchlist"
            },
            {
                "name": "namespace",
                "normalizedname": "namespace",
                "*": "Namespace:"
            },
            {
                "name": "namespace-nosubpages",
                "normalizedname": "namespace-nosubpages",
                "*": "Namespace \"$1\" does not allow subpages."
            },
            {
                "name": "namespace_association",
                "normalizedname": "namespace_association",
                "*": "Associated namespace"
            },
            {
                "name": "namespaceprotected",
                "normalizedname": "namespaceprotected",
                "*": "You do not have permission to edit pages in the <strong>$1</strong> namespace."
            },
            {
                "name": "namespaces",
                "normalizedname": "namespaces",
                "*": "Namespaces"
            },
            {
                "name": "namespacesall",
                "normalizedname": "namespacesall",
                "*": "all"
            },
            {
                "name": "nav-login-createaccount",
                "normalizedname": "nav-login-createaccount",
                "*": "Log in / create account"
            },
            {
                "name": "navigation",
                "normalizedname": "navigation",
                "*": "Navigation"
            },
            {
                "name": "navigation-heading",
                "normalizedname": "navigation-heading",
                "*": "Navigation menu"
            },
            {
                "name": "nbytes",
                "normalizedname": "nbytes",
                "*": "$1 {{PLURAL:$1|byte|bytes}}"
            },
            {
                "name": "ncategories",
                "normalizedname": "ncategories",
                "*": "$1 {{PLURAL:$1|category|categories}}"
            },
            {
                "name": "nchanges",
                "normalizedname": "nchanges",
                "*": "$1 {{PLURAL:$1|change|changes}}"
            },
            {
                "name": "newarticle",
                "normalizedname": "newarticle",
                "*": "(New)"
            },
            {
                "name": "newarticletext",
                "normalizedname": "newarticletext",
                "*": "You have followed a link to a page that does not exist yet.\nTo create the page, start typing in the box below (see the [$1 help page] for more info).\nIf you are here by mistake, click your browser's <strong>back</strong> button."
            },
            {
                "name": "newarticletextanon",
                "normalizedname": "newarticletextanon",
                "*": "{{int:newarticletext|$1}}"
            },
            {
                "name": "newimages",
                "normalizedname": "newimages",
                "*": "Gallery of new files"
            },
            {
                "name": "newimages-hidepatrolled",
                "normalizedname": "newimages-hidepatrolled",
                "*": "Hide patrolled uploads"
            },
            {
                "name": "newimages-label",
                "normalizedname": "newimages-label",
                "*": "Filename (or a part of it):"
            },
            {
                "name": "newimages-legend",
                "normalizedname": "newimages-legend",
                "*": "Filter"
            },
            {
                "name": "newimages-mediatype",
                "normalizedname": "newimages-mediatype",
                "*": "Media type:"
            },
            {
                "name": "newimages-newbies",
                "normalizedname": "newimages-newbies",
                "*": "Show contributions of new accounts only"
            },
            {
                "name": "newimages-showbots",
                "normalizedname": "newimages-showbots",
                "*": "Show uploads by bots"
            },
            {
                "name": "newimages-summary",
                "normalizedname": "newimages-summary",
                "*": "This special page shows the last uploaded files."
            },
            {
                "name": "newimages-user",
                "normalizedname": "newimages-user",
                "*": "IP address or username"
            },
            {
                "name": "newimagestext",
                "normalizedname": "newimagestext",
                "*": "-"
            },
            {
                "name": "newmessagesdifflinkplural",
                "normalizedname": "newmessagesdifflinkplural",
                "*": "last {{PLURAL:$1|change|999=changes}}"
            },
            {
                "name": "newmessageslinkplural",
                "normalizedname": "newmessageslinkplural",
                "*": "{{PLURAL:$1|a new message|999=new messages}}"
            },
            {
                "name": "newpage",
                "normalizedname": "newpage",
                "*": "New page"
            },
            {
                "name": "newpageletter",
                "normalizedname": "newpageletter",
                "*": "N"
            },
            {
                "name": "newpages",
                "normalizedname": "newpages",
                "*": "New pages"
            },
            {
                "name": "newpages-submit",
                "normalizedname": "newpages-submit",
                "*": "Show"
            },
            {
                "name": "newpages-summary",
                "normalizedname": "newpages-summary",
                "*": ""
            },
            {
                "name": "newpages-username",
                "normalizedname": "newpages-username",
                "*": "Username:"
            },
            {
                "name": "newpassword",
                "normalizedname": "newpassword",
                "*": "New password:"
            },
            {
                "name": "newsectionheaderdefaultlevel",
                "normalizedname": "newsectionheaderdefaultlevel",
                "*": "== $1 =="
            },
            {
                "name": "newsectionsummary",
                "normalizedname": "newsectionsummary",
                "*": "/* $1 */ new section"
            },
            {
                "name": "newtalkseparator",
                "normalizedname": "newtalkseparator",
                "*": ", "
            },
            {
                "name": "newtitle",
                "normalizedname": "newtitle",
                "*": "New title:"
            },
            {
                "name": "newuserlog-autocreate-entry",
                "normalizedname": "newuserlog-autocreate-entry",
                "*": "Account created automatically"
            },
            {
                "name": "newuserlog-create-entry",
                "normalizedname": "newuserlog-create-entry",
                "*": "New user account"
            },
            {
                "name": "newuserlog-create2-entry",
                "normalizedname": "newuserlog-create2-entry",
                "*": "created new account $1"
            },
            {
                "name": "newuserlogpage",
                "normalizedname": "newuserlogpage",
                "*": "User creation log"
            },
            {
                "name": "newuserlogpagetext",
                "normalizedname": "newuserlogpagetext",
                "*": "This is a log of user creations."
            },
            {
                "name": "newwindow",
                "normalizedname": "newwindow",
                "*": "(opens in new window)"
            },
            {
                "name": "next",
                "normalizedname": "next",
                "*": "next"
            },
            {
                "name": "next-page",
                "normalizedname": "next-page",
                "*": "next page"
            },
            {
                "name": "nextdiff",
                "normalizedname": "nextdiff",
                "*": "Newer edit \u2192"
            },
            {
                "name": "nextn",
                "normalizedname": "nextn",
                "*": "next {{PLURAL:$1|$1}}"
            },
            {
                "name": "nextn-title",
                "normalizedname": "nextn-title",
                "*": "Next $1 {{PLURAL:$1|result|results}}"
            },
            {
                "name": "nextpage",
                "normalizedname": "nextpage",
                "*": "Next page ($1)"
            },
            {
                "name": "nextrevision",
                "normalizedname": "nextrevision",
                "*": "Newer revision \u2192"
            },
            {
                "name": "nimagelinks",
                "normalizedname": "nimagelinks",
                "*": "Used on $1 {{PLURAL:$1|page|pages}}"
            },
            {
                "name": "ninterwikis",
                "normalizedname": "ninterwikis",
                "*": "$1 {{PLURAL:$1|interwiki|interwikis}}"
            },
            {
                "name": "nlinks",
                "normalizedname": "nlinks",
                "*": "$1 {{PLURAL:$1|link|links}}"
            },
            {
                "name": "nmembers",
                "normalizedname": "nmembers",
                "*": "$1 {{PLURAL:$1|member|members}}"
            },
            {
                "name": "nmemberschanged",
                "normalizedname": "nmemberschanged",
                "*": "$1 \u2192 $2 {{PLURAL:$2|member|members}}"
            },
            {
                "name": "no-null-revision",
                "normalizedname": "no-null-revision",
                "*": "Could not create new null revision for page \"$1\""
            },
            {
                "name": "noarticletext",
                "normalizedname": "noarticletext",
                "*": "There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} create this page]</span>."
            },
            {
                "name": "noarticletext-nopermission",
                "normalizedname": "noarticletext-nopermission",
                "*": "There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages, or <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, but you do not have permission to create this page."
            },
            {
                "name": "noarticletextanon",
                "normalizedname": "noarticletextanon",
                "*": "{{int:noarticletext}}"
            },
            {
                "name": "noautoblockblock",
                "normalizedname": "noautoblockblock",
                "*": "autoblock disabled"
            },
            {
                "name": "nocontribs",
                "normalizedname": "nocontribs",
                "*": "No changes were found matching these criteria."
            },
            {
                "name": "nocookiesforlogin",
                "normalizedname": "nocookiesforlogin",
                "*": "{{int:nocookieslogin}}"
            },
            {
                "name": "nocookiesfornew",
                "normalizedname": "nocookiesfornew",
                "*": "The user account was not created, as we could not confirm its source.\nEnsure you have cookies enabled, reload this page and try again."
            },
            {
                "name": "nocookieslogin",
                "normalizedname": "nocookieslogin",
                "*": "{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them and try again."
            },
            {
                "name": "nocookiesnew",
                "normalizedname": "nocookiesnew",
                "*": "The user account was created, but you are not logged in.\n{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them, then log in with your new username and password."
            },
            {
                "name": "nocreate-loggedin",
                "normalizedname": "nocreate-loggedin",
                "*": "You do not have permission to create new pages."
            },
            {
                "name": "nocreatetext",
                "normalizedname": "nocreatetext",
                "*": "{{SITENAME}} has restricted the ability to create new pages.\nYou can go back and edit an existing page, or [[Special:UserLogin|log in or create an account]]."
            },
            {
                "name": "nocredits",
                "normalizedname": "nocredits",
                "*": "There is no credits info available for this page."
            },
            {
                "name": "node-count-exceeded-category",
                "normalizedname": "node-count-exceeded-category",
                "*": "Pages where node count is exceeded"
            },
            {
                "name": "node-count-exceeded-category-desc",
                "normalizedname": "node-count-exceeded-category-desc",
                "*": "The page exceeds the maximum node count."
            },
            {
                "name": "node-count-exceeded-warning",
                "normalizedname": "node-count-exceeded-warning",
                "*": "Page exceeded the node count"
            },
            {
                "name": "noemail",
                "normalizedname": "noemail",
                "*": "There is no email address recorded for user \"$1\"."
            },
            {
                "name": "noemailcreate",
                "normalizedname": "noemailcreate",
                "*": "You need to provide a valid email address."
            },
            {
                "name": "noemailprefs",
                "normalizedname": "noemailprefs",
                "*": "Specify an email address in your preferences for these features to work."
            },
            {
                "name": "noemailtext",
                "normalizedname": "noemailtext",
                "*": "This user has not specified a valid email address."
            },
            {
                "name": "noemailtitle",
                "normalizedname": "noemailtitle",
                "*": "No email address"
            },
            {
                "name": "nohistory",
                "normalizedname": "nohistory",
                "*": "There is no edit history for this page."
            },
            {
                "name": "noimages",
                "normalizedname": "noimages",
                "*": "Nothing to see."
            },
            {
                "name": "noindex-category",
                "normalizedname": "noindex-category",
                "*": "Noindexed pages"
            },
            {
                "name": "noindex-category-desc",
                "normalizedname": "noindex-category-desc",
                "*": "The page is not indexed by robots because it has the magic word <code><nowiki>__NOINDEX__</nowiki></code> on it and is in a namespace where that flag is allowed."
            },
            {
                "name": "nolicense",
                "normalizedname": "nolicense",
                "*": "None selected"
            },
            {
                "name": "nolinkshere",
                "normalizedname": "nolinkshere",
                "*": "No pages link to <strong>[[:$1]]</strong>."
            },
            {
                "name": "nolinkshere-ns",
                "normalizedname": "nolinkshere-ns",
                "*": "No pages link to <strong>[[:$1]]</strong> in the chosen namespace."
            },
            {
                "name": "nolinkstoimage",
                "normalizedname": "nolinkstoimage",
                "*": "There are no pages that link to this file."
            },
            {
                "name": "noname",
                "normalizedname": "noname",
                "*": "You have not specified a valid username."
            },
            {
                "name": "nonfile-cannot-move-to-file",
                "normalizedname": "nonfile-cannot-move-to-file",
                "*": "Cannot move non-file to file namespace."
            },
            {
                "name": "nonwrite-api-promise-error",
                "normalizedname": "nonwrite-api-promise-error",
                "*": "The 'Promise-Non-Write-API-Action' HTTP header was sent but the request was to an API write module."
            },
            {
                "name": "nopagetext",
                "normalizedname": "nopagetext",
                "*": "The target page you have specified does not exist."
            },
            {
                "name": "nopagetitle",
                "normalizedname": "nopagetitle",
                "*": "No such target page"
            },
            {
                "name": "noscript.css",
                "normalizedname": "noscript.css",
                "*": "/* CSS placed here will affect users with JavaScript disabled */"
            },
            {
                "name": "nospecialpagetext",
                "normalizedname": "nospecialpagetext",
                "*": "<strong>You have requested an invalid special page.</strong>\n\nA list of valid special pages can be found at [[Special:SpecialPages|{{int:specialpages}}]]."
            },
            {
                "name": "nosuchaction",
                "normalizedname": "nosuchaction",
                "*": "No such action"
            },
            {
                "name": "nosuchactiontext",
                "normalizedname": "nosuchactiontext",
                "*": "The action specified by the URL is invalid.\nYou might have mistyped the URL, or followed an incorrect link.\nThis might also indicate a bug in the software used by {{SITENAME}}."
            },
            {
                "name": "nosuchsectiontext",
                "normalizedname": "nosuchsectiontext",
                "*": "You tried to edit a section that does not exist.\nIt may have been moved or deleted while you were viewing the page."
            },
            {
                "name": "nosuchsectiontitle",
                "normalizedname": "nosuchsectiontitle",
                "*": "Cannot find section"
            },
            {
                "name": "nosuchspecialpage",
                "normalizedname": "nosuchspecialpage",
                "*": "No such special page"
            },
            {
                "name": "nosuchuser",
                "normalizedname": "nosuchuser",
                "*": "There is no user by the name \"$1\".\nUsernames are case sensitive.\nCheck your spelling, or [[Special:CreateAccount|create a new account]]."
            },
            {
                "name": "nosuchusershort",
                "normalizedname": "nosuchusershort",
                "*": "There is no user by the name \"$1\".\nCheck your spelling."
            },
            {
                "name": "notanarticle",
                "normalizedname": "notanarticle",
                "*": "Not a content page"
            },
            {
                "name": "notargettext",
                "normalizedname": "notargettext",
                "*": "You have not specified a target page or user to perform this function on."
            },
            {
                "name": "notargettitle",
                "normalizedname": "notargettitle",
                "*": "No target"
            },
            {
                "name": "note",
                "normalizedname": "note",
                "*": "<strong>Note:</strong>"
            },
            {
                "name": "notextmatches",
                "normalizedname": "notextmatches",
                "*": "No page text matches"
            },
            {
                "name": "notificationemail_body_changed",
                "normalizedname": "notificationemail_body_changed",
                "*": "Someone, probably you, from IP address $1,\nhas changed the email address of the account \"$2\" to \"$3\" on {{SITENAME}}.\n\nIf this was not you, contact a site administrator immediately."
            },
            {
                "name": "notificationemail_body_removed",
                "normalizedname": "notificationemail_body_removed",
                "*": "Someone, probably you, from IP address $1,\nhas removed the email address of the account \"$2\" on {{SITENAME}}.\n\nIf this was not you, contact a site administrator immediately."
            },
            {
                "name": "notificationemail_subject_changed",
                "normalizedname": "notificationemail_subject_changed",
                "*": "{{SITENAME}} registered email address has been changed"
            },
            {
                "name": "notificationemail_subject_removed",
                "normalizedname": "notificationemail_subject_removed",
                "*": "{{SITENAME}} registered email address has been removed"
            },
            {
                "name": "notloggedin",
                "normalizedname": "notloggedin",
                "*": "Not logged in"
            },
            {
                "name": "notvisiblerev",
                "normalizedname": "notvisiblerev",
                "*": "The last revision by a different user has been deleted"
            },
            {
                "name": "nouserspecified",
                "normalizedname": "nouserspecified",
                "*": "You have to specify a username."
            },
            {
                "name": "nov",
                "normalizedname": "nov",
                "*": "Nov"
            },
            {
                "name": "november",
                "normalizedname": "november",
                "*": "November"
            },
            {
                "name": "november-date",
                "normalizedname": "november-date",
                "*": "November $1"
            },
            {
                "name": "november-gen",
                "normalizedname": "november-gen",
                "*": "November"
            },
            {
                "name": "nowatchlist",
                "normalizedname": "nowatchlist",
                "*": "You have no items on your watchlist."
            },
            {
                "name": "nowiki_sample",
                "normalizedname": "nowiki_sample",
                "*": "Insert non-formatted text here"
            },
            {
                "name": "nowiki_tip",
                "normalizedname": "nowiki_tip",
                "*": "Ignore wiki formatting"
            },
            {
                "name": "nowikiemailtext",
                "normalizedname": "nowikiemailtext",
                "*": "This user has chosen not to receive email from other users."
            },
            {
                "name": "nrevisions",
                "normalizedname": "nrevisions",
                "*": "$1 {{PLURAL:$1|revision|revisions}}"
            },
            {
                "name": "ns-specialprotected",
                "normalizedname": "ns-specialprotected",
                "*": "Special pages cannot be edited."
            },
            {
                "name": "nstab-category",
                "normalizedname": "nstab-category",
                "*": "Category"
            },
            {
                "name": "nstab-help",
                "normalizedname": "nstab-help",
                "*": "Help page"
            },
            {
                "name": "nstab-image",
                "normalizedname": "nstab-image",
                "*": "File"
            },
            {
                "name": "nstab-main",
                "normalizedname": "nstab-main",
                "*": "Page"
            },
            {
                "name": "nstab-media",
                "normalizedname": "nstab-media",
                "*": "Media page"
            },
            {
                "name": "nstab-mediawiki",
                "normalizedname": "nstab-mediawiki",
                "*": "Message"
            },
            {
                "name": "nstab-project",
                "normalizedname": "nstab-project",
                "*": "Project page"
            },
            {
                "name": "nstab-special",
                "normalizedname": "nstab-special",
                "*": "Special page"
            },
            {
                "name": "nstab-template",
                "normalizedname": "nstab-template",
                "*": "Template"
            },
            {
                "name": "nstab-user",
                "normalizedname": "nstab-user",
                "*": "User page"
            },
            {
                "name": "ntimes",
                "normalizedname": "ntimes",
                "*": "$1\u00d7"
            },
            {
                "name": "ntransclusions",
                "normalizedname": "ntransclusions",
                "*": "used on $1 {{PLURAL:$1|page|pages}}"
            },
            {
                "name": "number_of_watching_users_RCview",
                "normalizedname": "number_of_watching_users_RCview",
                "*": "[$1]"
            },
            {
                "name": "number_of_watching_users_pageview",
                "normalizedname": "number_of_watching_users_pageview",
                "*": "[$1 watching {{PLURAL:$1|user|users}}]"
            },
            {
                "name": "oct",
                "normalizedname": "oct",
                "*": "Oct"
            },
            {
                "name": "october",
                "normalizedname": "october",
                "*": "October"
            },
            {
                "name": "october-date",
                "normalizedname": "october-date",
                "*": "October $1"
            },
            {
                "name": "october-gen",
                "normalizedname": "october-gen",
                "*": "October"
            },
            {
                "name": "ok",
                "normalizedname": "ok",
                "*": "OK"
            },
            {
                "name": "oldpassword",
                "normalizedname": "oldpassword",
                "*": "Old password:"
            },
            {
                "name": "ooui-dialog-message-accept",
                "normalizedname": "ooui-dialog-message-accept",
                "*": "OK"
            },
            {
                "name": "ooui-dialog-message-reject",
                "normalizedname": "ooui-dialog-message-reject",
                "*": "Cancel"
            },
            {
                "name": "ooui-dialog-process-continue",
                "normalizedname": "ooui-dialog-process-continue",
                "*": "Continue"
            },
            {
                "name": "ooui-dialog-process-dismiss",
                "normalizedname": "ooui-dialog-process-dismiss",
                "*": "Dismiss"
            },
            {
                "name": "ooui-dialog-process-error",
                "normalizedname": "ooui-dialog-process-error",
                "*": "Something went wrong"
            },
            {
                "name": "ooui-dialog-process-retry",
                "normalizedname": "ooui-dialog-process-retry",
                "*": "Try again"
            },
            {
                "name": "ooui-item-remove",
                "normalizedname": "ooui-item-remove",
                "*": "Remove"
            },
            {
                "name": "ooui-outline-control-move-down",
                "normalizedname": "ooui-outline-control-move-down",
                "*": "Move item down"
            },
            {
                "name": "ooui-outline-control-move-up",
                "normalizedname": "ooui-outline-control-move-up",
                "*": "Move item up"
            },
            {
                "name": "ooui-outline-control-remove",
                "normalizedname": "ooui-outline-control-remove",
                "*": "Remove item"
            },
            {
                "name": "ooui-selectfile-button-select",
                "normalizedname": "ooui-selectfile-button-select",
                "*": "Select a file"
            },
            {
                "name": "ooui-selectfile-dragdrop-placeholder",
                "normalizedname": "ooui-selectfile-dragdrop-placeholder",
                "*": "Drop file here"
            },
            {
                "name": "ooui-selectfile-not-supported",
                "normalizedname": "ooui-selectfile-not-supported",
                "*": "File selection is not supported"
            },
            {
                "name": "ooui-selectfile-placeholder",
                "normalizedname": "ooui-selectfile-placeholder",
                "*": "No file is selected"
            },
            {
                "name": "ooui-toolbar-more",
                "normalizedname": "ooui-toolbar-more",
                "*": "More"
            },
            {
                "name": "ooui-toolgroup-collapse",
                "normalizedname": "ooui-toolgroup-collapse",
                "*": "Fewer"
            },
            {
                "name": "ooui-toolgroup-expand",
                "normalizedname": "ooui-toolgroup-expand",
                "*": "More"
            },
            {
                "name": "opensearch-desc",
                "normalizedname": "opensearch-desc",
                "*": "{{SITENAME}} ({{CONTENTLANGUAGE}})"
            },
            {
                "name": "othercontribs",
                "normalizedname": "othercontribs",
                "*": "Based on work by $1."
            },
            {
                "name": "otherlanguages",
                "normalizedname": "otherlanguages",
                "*": "In other languages"
            },
            {
                "name": "others",
                "normalizedname": "others",
                "*": "others"
            },
            {
                "name": "overwrite",
                "normalizedname": "overwrite",
                "*": "Overwriting an existing file is not allowed."
            },
            {
                "name": "overwroteimage",
                "normalizedname": "overwroteimage",
                "*": "uploaded a new version of \"[[$1]]\""
            },
            {
                "name": "page-atom-feed",
                "normalizedname": "page-atom-feed",
                "*": "\"$1\" Atom feed"
            },
            {
                "name": "page-rss-feed",
                "normalizedname": "page-rss-feed",
                "*": "\"$1\" RSS feed"
            },
            {
                "name": "page_first",
                "normalizedname": "page_first",
                "*": "first"
            },
            {
                "name": "page_last",
                "normalizedname": "page_last",
                "*": "last"
            },
            {
                "name": "pagecategories",
                "normalizedname": "pagecategories",
                "*": "{{PLURAL:$1|Category|Categories}}"
            },
            {
                "name": "pagecategorieslink",
                "normalizedname": "pagecategorieslink",
                "*": "Special:Categories"
            },
            {
                "name": "pagedata-bad-title",
                "normalizedname": "pagedata-bad-title",
                "*": "Invalid title: $1."
            },
            {
                "name": "pagedata-not-acceptable",
                "normalizedname": "pagedata-not-acceptable",
                "*": "No matching format found. Supported MIME types: $1"
            },
            {
                "name": "pagedata-text",
                "normalizedname": "pagedata-text",
                "*": "This page provides a data interface to pages. Please provide the page title in the URL, using subpage syntax.\n* Content negotiation applies based on your client's Accept header. This means that the page data will be provided in the format preferred by your client."
            },
            {
                "name": "pagedata-title",
                "normalizedname": "pagedata-title",
                "*": "Page data"
            },
            {
                "name": "pagehist",
                "normalizedname": "pagehist",
                "*": "Page history"
            },
            {
                "name": "pageid",
                "normalizedname": "pageid",
                "*": "page ID $1"
            },
            {
                "name": "pageinfo-article-id",
                "normalizedname": "pageinfo-article-id",
                "*": "Page ID"
            },
            {
                "name": "pageinfo-authors",
                "normalizedname": "pageinfo-authors",
                "*": "Total number of distinct authors"
            },
            {
                "name": "pageinfo-category-files",
                "normalizedname": "pageinfo-category-files",
                "*": "Number of files"
            },
            {
                "name": "pageinfo-category-info",
                "normalizedname": "pageinfo-category-info",
                "*": "Category information"
            },
            {
                "name": "pageinfo-category-pages",
                "normalizedname": "pageinfo-category-pages",
                "*": "Number of pages"
            },
            {
                "name": "pageinfo-category-subcats",
                "normalizedname": "pageinfo-category-subcats",
                "*": "Number of subcategories"
            },
            {
                "name": "pageinfo-category-total",
                "normalizedname": "pageinfo-category-total",
                "*": "Total number of members"
            },
            {
                "name": "pageinfo-content-model",
                "normalizedname": "pageinfo-content-model",
                "*": "Page content model"
            },
            {
                "name": "pageinfo-content-model-change",
                "normalizedname": "pageinfo-content-model-change",
                "*": "change"
            },
            {
                "name": "pageinfo-contentpage",
                "normalizedname": "pageinfo-contentpage",
                "*": "Counted as a content page"
            },
            {
                "name": "pageinfo-contentpage-yes",
                "normalizedname": "pageinfo-contentpage-yes",
                "*": "Yes"
            },
            {
                "name": "pageinfo-default-sort",
                "normalizedname": "pageinfo-default-sort",
                "*": "Default sort key"
            },
            {
                "name": "pageinfo-display-title",
                "normalizedname": "pageinfo-display-title",
                "*": "Display title"
            },
            {
                "name": "pageinfo-edits",
                "normalizedname": "pageinfo-edits",
                "*": "Total number of edits"
            },
            {
                "name": "pageinfo-few-visiting-watchers",
                "normalizedname": "pageinfo-few-visiting-watchers",
                "*": "There may or may not be a watching user visiting recent edits"
            },
            {
                "name": "pageinfo-few-watchers",
                "normalizedname": "pageinfo-few-watchers",
                "*": "Fewer than $1 {{PLURAL:$1|watcher|watchers}}"
            },
            {
                "name": "pageinfo-file-hash",
                "normalizedname": "pageinfo-file-hash",
                "*": "Hash value"
            },
            {
                "name": "pageinfo-firsttime",
                "normalizedname": "pageinfo-firsttime",
                "*": "Date of page creation"
            },
            {
                "name": "pageinfo-firstuser",
                "normalizedname": "pageinfo-firstuser",
                "*": "Page creator"
            },
            {
                "name": "pageinfo-footer",
                "normalizedname": "pageinfo-footer",
                "*": "-"
            },
            {
                "name": "pageinfo-header",
                "normalizedname": "pageinfo-header",
                "*": "-"
            },
            {
                "name": "pageinfo-header-basic",
                "normalizedname": "pageinfo-header-basic",
                "*": "Basic information"
            },
            {
                "name": "pageinfo-header-edits",
                "normalizedname": "pageinfo-header-edits",
                "*": "Edit history"
            },
            {
                "name": "pageinfo-header-properties",
                "normalizedname": "pageinfo-header-properties",
                "*": "Page properties"
            },
            {
                "name": "pageinfo-header-restrictions",
                "normalizedname": "pageinfo-header-restrictions",
                "*": "Page protection"
            },
            {
                "name": "pageinfo-hidden-categories",
                "normalizedname": "pageinfo-hidden-categories",
                "*": "Hidden {{PLURAL:$1|category|categories}} ($1)"
            },
            {
                "name": "pageinfo-language",
                "normalizedname": "pageinfo-language",
                "*": "Page content language"
            },
            {
                "name": "pageinfo-language-change",
                "normalizedname": "pageinfo-language-change",
                "*": "change"
            },
            {
                "name": "pageinfo-lasttime",
                "normalizedname": "pageinfo-lasttime",
                "*": "Date of latest edit"
            },
            {
                "name": "pageinfo-lastuser",
                "normalizedname": "pageinfo-lastuser",
                "*": "Latest editor"
            },
            {
                "name": "pageinfo-length",
                "normalizedname": "pageinfo-length",
                "*": "Page length (in bytes)"
            },
            {
                "name": "pageinfo-magic-words",
                "normalizedname": "pageinfo-magic-words",
                "*": "Magic {{PLURAL:$1|word|words}} ($1)"
            },
            {
                "name": "pageinfo-not-current",
                "normalizedname": "pageinfo-not-current",
                "*": "Sorry, it's impossible to provide this information for old revisions."
            },
            {
                "name": "pageinfo-protect-cascading",
                "normalizedname": "pageinfo-protect-cascading",
                "*": "Protections are cascading from here"
            },
            {
                "name": "pageinfo-protect-cascading-from",
                "normalizedname": "pageinfo-protect-cascading-from",
                "*": "Protections are cascading from"
            },
            {
                "name": "pageinfo-protect-cascading-yes",
                "normalizedname": "pageinfo-protect-cascading-yes",
                "*": "Yes"
            },
            {
                "name": "pageinfo-recent-authors",
                "normalizedname": "pageinfo-recent-authors",
                "*": "Recent number of distinct authors"
            },
            {
                "name": "pageinfo-recent-edits",
                "normalizedname": "pageinfo-recent-edits",
                "*": "Recent number of edits (within past $1)"
            },
            {
                "name": "pageinfo-redirects-name",
                "normalizedname": "pageinfo-redirects-name",
                "*": "Number of redirects to this page"
            },
            {
                "name": "pageinfo-redirects-value",
                "normalizedname": "pageinfo-redirects-value",
                "*": "$1"
            },
            {
                "name": "pageinfo-redirectsto",
                "normalizedname": "pageinfo-redirectsto",
                "*": "Redirects to"
            },
            {
                "name": "pageinfo-redirectsto-info",
                "normalizedname": "pageinfo-redirectsto-info",
                "*": "info"
            },
            {
                "name": "pageinfo-robot-index",
                "normalizedname": "pageinfo-robot-index",
                "*": "Allowed"
            },
            {
                "name": "pageinfo-robot-noindex",
                "normalizedname": "pageinfo-robot-noindex",
                "*": "Disallowed"
            },
            {
                "name": "pageinfo-robot-policy",
                "normalizedname": "pageinfo-robot-policy",
                "*": "Indexing by robots"
            },
            {
                "name": "pageinfo-subpages-name",
                "normalizedname": "pageinfo-subpages-name",
                "*": "Number of subpages of this page"
            },
            {
                "name": "pageinfo-subpages-value",
                "normalizedname": "pageinfo-subpages-value",
                "*": "$1 ($2 {{PLURAL:$2|redirect|redirects}}; $3 {{PLURAL:$3|non-redirect|non-redirects}})"
            },
            {
                "name": "pageinfo-templates",
                "normalizedname": "pageinfo-templates",
                "*": "Transcluded {{PLURAL:$1|template|templates}} ($1)"
            },
            {
                "name": "pageinfo-title",
                "normalizedname": "pageinfo-title",
                "*": "Information for \"$1\""
            },
            {
                "name": "pageinfo-toolboxlink",
                "normalizedname": "pageinfo-toolboxlink",
                "*": "Page information"
            },
            {
                "name": "pageinfo-transclusions",
                "normalizedname": "pageinfo-transclusions",
                "*": "{{PLURAL:$1|Page|Pages}} transcluded on ($1)"
            },
            {
                "name": "pageinfo-user-id",
                "normalizedname": "pageinfo-user-id",
                "*": "User ID"
            },
            {
                "name": "pageinfo-visiting-watchers",
                "normalizedname": "pageinfo-visiting-watchers",
                "*": "Number of page watchers who visited recent edits"
            },
            {
                "name": "pageinfo-watchers",
                "normalizedname": "pageinfo-watchers",
                "*": "Number of page watchers"
            },
            {
                "name": "pagelang-db-failed",
                "normalizedname": "pagelang-db-failed",
                "*": "The database failed to change the page language."
            },
            {
                "name": "pagelang-language",
                "normalizedname": "pagelang-language",
                "*": "Language"
            },
            {
                "name": "pagelang-name",
                "normalizedname": "pagelang-name",
                "*": "Page"
            },
            {
                "name": "pagelang-nonexistent-page",
                "normalizedname": "pagelang-nonexistent-page",
                "*": "The page $1 does not exist."
            },
            {
                "name": "pagelang-reason",
                "normalizedname": "pagelang-reason",
                "*": "Reason"
            },
            {
                "name": "pagelang-select-lang",
                "normalizedname": "pagelang-select-lang",
                "*": "Select language"
            },
            {
                "name": "pagelang-submit",
                "normalizedname": "pagelang-submit",
                "*": "Submit"
            },
            {
                "name": "pagelang-unchanged-language",
                "normalizedname": "pagelang-unchanged-language",
                "*": "The page $1 is already set to language $2."
            },
            {
                "name": "pagelang-unchanged-language-default",
                "normalizedname": "pagelang-unchanged-language-default",
                "*": "The page $1 is already set to the wiki's default content language."
            },
            {
                "name": "pagelang-use-default",
                "normalizedname": "pagelang-use-default",
                "*": "Use default language"
            },
            {
                "name": "pagelanguage",
                "normalizedname": "pagelanguage",
                "*": "Change page language"
            },
            {
                "name": "pagemerge-logentry",
                "normalizedname": "pagemerge-logentry",
                "*": "merged [[$1]] into [[$2]] (revisions up to $3)"
            },
            {
                "name": "pagemovedsub",
                "normalizedname": "pagemovedsub",
                "*": "Move succeeded"
            },
            {
                "name": "pager-newer-n",
                "normalizedname": "pager-newer-n",
                "*": "{{PLURAL:$1|newer 1|newer $1}}"
            },
            {
                "name": "pager-older-n",
                "normalizedname": "pager-older-n",
                "*": "{{PLURAL:$1|older 1|older $1}}"
            },
            {
                "name": "pagesize",
                "normalizedname": "pagesize",
                "*": "(bytes)"
            },
            {
                "name": "pageswithprop",
                "normalizedname": "pageswithprop",
                "*": "Pages with a page property"
            },
            {
                "name": "pageswithprop-legend",
                "normalizedname": "pageswithprop-legend",
                "*": "Pages with a page property"
            },
            {
                "name": "pageswithprop-prop",
                "normalizedname": "pageswithprop-prop",
                "*": "Property name:"
            },
            {
                "name": "pageswithprop-prophidden-binary",
                "normalizedname": "pageswithprop-prophidden-binary",
                "*": "binary property value hidden ($1)"
            },
            {
                "name": "pageswithprop-prophidden-long",
                "normalizedname": "pageswithprop-prophidden-long",
                "*": "long text property value hidden ($1)"
            },
            {
                "name": "pageswithprop-reverse",
                "normalizedname": "pageswithprop-reverse",
                "*": "Sort in reverse order"
            },
            {
                "name": "pageswithprop-sortbyvalue",
                "normalizedname": "pageswithprop-sortbyvalue",
                "*": "Sort by property value"
            },
            {
                "name": "pageswithprop-submit",
                "normalizedname": "pageswithprop-submit",
                "*": "Go"
            },
            {
                "name": "pageswithprop-summary",
                "normalizedname": "pageswithprop-summary",
                "*": ""
            },
            {
                "name": "pageswithprop-text",
                "normalizedname": "pageswithprop-text",
                "*": "This page lists pages that use a particular page property."
            },
            {
                "name": "pagetitle",
                "normalizedname": "pagetitle",
                "*": "$1 - {{SITENAME}}"
            },
            {
                "name": "pagetitle-view-mainpage",
                "normalizedname": "pagetitle-view-mainpage",
                "*": "{{SITENAME}}"
            },
            {
                "name": "parentheses",
                "normalizedname": "parentheses",
                "*": "($1)"
            },
            {
                "name": "parser-template-loop-warning",
                "normalizedname": "parser-template-loop-warning",
                "*": "Template loop detected: [[$1]]"
            },
            {
                "name": "parser-template-recursion-depth-warning",
                "normalizedname": "parser-template-recursion-depth-warning",
                "*": "Template recursion depth limit exceeded ($1)"
            },
            {
                "name": "parser-unstrip-loop-warning",
                "normalizedname": "parser-unstrip-loop-warning",
                "*": "Unstrip loop detected"
            },
            {
                "name": "password-change-forbidden",
                "normalizedname": "password-change-forbidden",
                "*": "You cannot change passwords on this wiki."
            },
            {
                "name": "password-login-forbidden",
                "normalizedname": "password-login-forbidden",
                "*": "The use of this username and password has been forbidden."
            },
            {
                "name": "password-name-match",
                "normalizedname": "password-name-match",
                "*": "Your password must be different from your username."
            },
            {
                "name": "passwordremindertext",
                "normalizedname": "passwordremindertext",
                "*": "Someone (from IP address $1) requested a new\npassword for {{SITENAME}} ($4). A temporary password for user\n\"$2\" has been created and was set to \"$3\". If this was your\nintent, you will need to log in and choose a new password now.\nYour temporary password will expire in {{PLURAL:$5|one day|$5 days}}.\n\nIf someone else made this request, or if you have remembered your password,\nand you no longer wish to change it, you may ignore this message and\ncontinue using your old password."
            },
            {
                "name": "passwordremindertitle",
                "normalizedname": "passwordremindertitle",
                "*": "New temporary password for {{SITENAME}}"
            },
            {
                "name": "passwordreset",
                "normalizedname": "passwordreset",
                "*": "Reset password"
            },
            {
                "name": "passwordreset-disabled",
                "normalizedname": "passwordreset-disabled",
                "*": "Password resets have been disabled on this wiki."
            },
            {
                "name": "passwordreset-domain",
                "normalizedname": "passwordreset-domain",
                "*": "Domain:"
            },
            {
                "name": "passwordreset-email",
                "normalizedname": "passwordreset-email",
                "*": "Email address:"
            },
            {
                "name": "passwordreset-emaildisabled",
                "normalizedname": "passwordreset-emaildisabled",
                "*": "Email features have been disabled on this wiki."
            },
            {
                "name": "passwordreset-emailelement",
                "normalizedname": "passwordreset-emailelement",
                "*": "Username:\n$1\n\nTemporary password:\n$2"
            },
            {
                "name": "passwordreset-emailsentemail",
                "normalizedname": "passwordreset-emailsentemail",
                "*": "If this email address is associated with your account, then a password reset email will be sent."
            },
            {
                "name": "passwordreset-emailsentusername",
                "normalizedname": "passwordreset-emailsentusername",
                "*": "If there is an email address associated with this username, then a password reset email will be sent."
            },
            {
                "name": "passwordreset-emailtext-ip",
                "normalizedname": "passwordreset-emailtext-ip",
                "*": "Someone (probably you, from IP address $1) requested a reset of your\npassword for {{SITENAME}} ($4). The following user {{PLURAL:$3|account is|accounts are}}\nassociated with this email address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword."
            },
            {
                "name": "passwordreset-emailtext-user",
                "normalizedname": "passwordreset-emailtext-user",
                "*": "User $1 on {{SITENAME}} requested a reset of your password for {{SITENAME}}\n($4). The following user {{PLURAL:$3|account is|accounts are}} associated with this email address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword."
            },
            {
                "name": "passwordreset-emailtitle",
                "normalizedname": "passwordreset-emailtitle",
                "*": "Account details on {{SITENAME}}"
            },
            {
                "name": "passwordreset-ignored",
                "normalizedname": "passwordreset-ignored",
                "*": "The password reset was not handled. Maybe no provider was configured?"
            },
            {
                "name": "passwordreset-invalidemail",
                "normalizedname": "passwordreset-invalidemail",
                "*": "Invalid email address"
            },
            {
                "name": "passwordreset-nocaller",
                "normalizedname": "passwordreset-nocaller",
                "*": "A caller must be provided"
            },
            {
                "name": "passwordreset-nodata",
                "normalizedname": "passwordreset-nodata",
                "*": "Neither a username nor an email address was supplied"
            },
            {
                "name": "passwordreset-nosuchcaller",
                "normalizedname": "passwordreset-nosuchcaller",
                "*": "Caller does not exist: $1"
            },
            {
                "name": "passwordreset-text-many",
                "normalizedname": "passwordreset-text-many",
                "*": "{{PLURAL:$1|Fill in one of the fields to receive a temporary password via email.}}"
            },
            {
                "name": "passwordreset-text-one",
                "normalizedname": "passwordreset-text-one",
                "*": "Complete this form to receive a temporary password via email."
            },
            {
                "name": "passwordreset-username",
                "normalizedname": "passwordreset-username",
                "*": "Username:"
            },
            {
                "name": "passwordsent",
                "normalizedname": "passwordsent",
                "*": "A new password has been sent to the email address registered for \"$1\".\nPlease log in again after you receive it."
            },
            {
                "name": "passwordtoolong",
                "normalizedname": "passwordtoolong",
                "*": "Passwords cannot be longer than {{PLURAL:$1|1 character|$1 characters}}."
            },
            {
                "name": "passwordtoopopular",
                "normalizedname": "passwordtoopopular",
                "*": "Commonly chosen passwords cannot be used. Please choose a password that is more difficult to guess."
            },
            {
                "name": "passwordtooshort",
                "normalizedname": "passwordtooshort",
                "*": "Passwords must be at least {{PLURAL:$1|1 character|$1 characters}}."
            },
            {
                "name": "patrol-log-auto",
                "normalizedname": "patrol-log-auto",
                "*": "(automatic)"
            },
            {
                "name": "patrol-log-diff",
                "normalizedname": "patrol-log-diff",
                "*": "revision $1"
            },
            {
                "name": "patrol-log-header",
                "normalizedname": "patrol-log-header",
                "*": "This is a log of patrolled revisions."
            },
            {
                "name": "patrol-log-line",
                "normalizedname": "patrol-log-line",
                "*": "marked $1 of $2 patrolled $3"
            },
            {
                "name": "patrol-log-page",
                "normalizedname": "patrol-log-page",
                "*": "Patrol log"
            },
            {
                "name": "pear-mail-error",
                "normalizedname": "pear-mail-error",
                "*": "$1"
            },
            {
                "name": "percent",
                "normalizedname": "percent",
                "*": "$1%"
            },
            {
                "name": "perfcached",
                "normalizedname": "perfcached",
                "*": "The following data is cached and may not be up to date. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache."
            },
            {
                "name": "perfcachedts",
                "normalizedname": "perfcachedts",
                "*": "The following data is cached, and was last updated $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache."
            },
            {
                "name": "period-am",
                "normalizedname": "period-am",
                "*": "AM"
            },
            {
                "name": "period-pm",
                "normalizedname": "period-pm",
                "*": "PM"
            },
            {
                "name": "permalink",
                "normalizedname": "permalink",
                "*": "Permanent link"
            },
            {
                "name": "permanentlink",
                "normalizedname": "permanentlink",
                "*": "Permanent link"
            },
            {
                "name": "permanentlink-revid",
                "normalizedname": "permanentlink-revid",
                "*": "Revision ID"
            },
            {
                "name": "permanentlink-submit",
                "normalizedname": "permanentlink-submit",
                "*": "Go to revision"
            },
            {
                "name": "permanentlink-summary",
                "normalizedname": "permanentlink-summary",
                "*": ""
            },
            {
                "name": "permissionserrors",
                "normalizedname": "permissionserrors",
                "*": "Permission error"
            },
            {
                "name": "permissionserrorstext",
                "normalizedname": "permissionserrorstext",
                "*": "You do not have permission to do that, for the following {{PLURAL:$1|reason|reasons}}:"
            },
            {
                "name": "permissionserrorstext-withaction",
                "normalizedname": "permissionserrorstext-withaction",
                "*": "You do not have permission to $2, for the following {{PLURAL:$1|reason|reasons}}:"
            },
            {
                "name": "personaltools",
                "normalizedname": "personaltools",
                "*": "Personal tools"
            },
            {
                "name": "php-mail-error",
                "normalizedname": "php-mail-error",
                "*": "$1"
            },
            {
                "name": "php-mail-error-unknown",
                "normalizedname": "php-mail-error-unknown",
                "*": "Unknown error in PHP's mail() function."
            },
            {
                "name": "php-uploaddisabledtext",
                "normalizedname": "php-uploaddisabledtext",
                "*": "File uploads are disabled in PHP.\nPlease check the file_uploads setting."
            },
            {
                "name": "pipe-separator",
                "normalizedname": "pipe-separator",
                "*": " | "
            },
            {
                "name": "policy-url",
                "normalizedname": "policy-url",
                "*": "Project:Policy"
            },
            {
                "name": "pool-errorunknown",
                "normalizedname": "pool-errorunknown",
                "*": "Unknown error"
            },
            {
                "name": "pool-queuefull",
                "normalizedname": "pool-queuefull",
                "*": "Pool queue is full"
            },
            {
                "name": "pool-servererror",
                "normalizedname": "pool-servererror",
                "*": "The pool counter service is not available ($1)."
            },
            {
                "name": "pool-timeout",
                "normalizedname": "pool-timeout",
                "*": "Timeout waiting for the lock"
            },
            {
                "name": "poolcounter-usage-error",
                "normalizedname": "poolcounter-usage-error",
                "*": "Usage error: $1"
            },
            {
                "name": "portal",
                "normalizedname": "portal",
                "*": "Community portal"
            },
            {
                "name": "portal-url",
                "normalizedname": "portal-url",
                "*": "Project:Community portal"
            },
            {
                "name": "post-expand-template-argument-category",
                "normalizedname": "post-expand-template-argument-category",
                "*": "Pages containing omitted template arguments"
            },
            {
                "name": "post-expand-template-argument-category-desc",
                "normalizedname": "post-expand-template-argument-category-desc",
                "*": "The page is bigger than <code>$wgMaxArticleSize</code> after expanding a template argument (something in triple braces, like <code>{{{Foo}}}</code>)."
            },
            {
                "name": "post-expand-template-argument-warning",
                "normalizedname": "post-expand-template-argument-warning",
                "*": "<strong>Warning:</strong> This page contains at least one template argument that has a too large expansion size.\nThese arguments have been omitted."
            },
            {
                "name": "post-expand-template-inclusion-category",
                "normalizedname": "post-expand-template-inclusion-category",
                "*": "Pages where template include size is exceeded"
            },
            {
                "name": "post-expand-template-inclusion-category-desc",
                "normalizedname": "post-expand-template-inclusion-category-desc",
                "*": "The page size is bigger than <code>$wgMaxArticleSize</code> after expanding all the templates, so some templates were not expanded."
            },
            {
                "name": "post-expand-template-inclusion-warning",
                "normalizedname": "post-expand-template-inclusion-warning",
                "*": "<strong>Warning:</strong> Template include size is too large.\nSome templates will not be included."
            },
            {
                "name": "postedit-confirmation-created",
                "normalizedname": "postedit-confirmation-created",
                "*": "The page has been created."
            },
            {
                "name": "postedit-confirmation-published",
                "normalizedname": "postedit-confirmation-published",
                "*": "Your edit was published."
            },
            {
                "name": "postedit-confirmation-restored",
                "normalizedname": "postedit-confirmation-restored",
                "*": "The page has been restored."
            },
            {
                "name": "postedit-confirmation-saved",
                "normalizedname": "postedit-confirmation-saved",
                "*": "Your edit was saved."
            },
            {
                "name": "powersearch-legend",
                "normalizedname": "powersearch-legend",
                "*": "Advanced search"
            },
            {
                "name": "powersearch-ns",
                "normalizedname": "powersearch-ns",
                "*": "Search in namespaces:"
            },
            {
                "name": "powersearch-remember",
                "normalizedname": "powersearch-remember",
                "*": "Remember selection for future searches"
            },
            {
                "name": "powersearch-toggleall",
                "normalizedname": "powersearch-toggleall",
                "*": "All"
            },
            {
                "name": "powersearch-togglelabel",
                "normalizedname": "powersearch-togglelabel",
                "*": "Check:"
            },
            {
                "name": "powersearch-togglenone",
                "normalizedname": "powersearch-togglenone",
                "*": "None"
            },
            {
                "name": "preferences",
                "normalizedname": "preferences",
                "*": "Preferences"
            },
            {
                "name": "preferences-summary",
                "normalizedname": "preferences-summary",
                "*": ""
            },
            {
                "name": "prefixindex",
                "normalizedname": "prefixindex",
                "*": "All pages with prefix"
            },
            {
                "name": "prefixindex-namespace",
                "normalizedname": "prefixindex-namespace",
                "*": "All pages with prefix ($1 namespace)"
            },
            {
                "name": "prefixindex-strip",
                "normalizedname": "prefixindex-strip",
                "*": "Strip prefix in list"
            },
            {
                "name": "prefixindex-submit",
                "normalizedname": "prefixindex-submit",
                "*": "Show"
            },
            {
                "name": "prefixindex-summary",
                "normalizedname": "prefixindex-summary",
                "*": ""
            },
            {
                "name": "prefs-advancedediting",
                "normalizedname": "prefs-advancedediting",
                "*": "General options"
            },
            {
                "name": "prefs-advancedrc",
                "normalizedname": "prefs-advancedrc",
                "*": "Advanced options"
            },
            {
                "name": "prefs-advancedrendering",
                "normalizedname": "prefs-advancedrendering",
                "*": "Advanced options"
            },
            {
                "name": "prefs-advancedsearchoptions",
                "normalizedname": "prefs-advancedsearchoptions",
                "*": "Advanced options"
            },
            {
                "name": "prefs-advancedwatchlist",
                "normalizedname": "prefs-advancedwatchlist",
                "*": "Advanced options"
            },
            {
                "name": "prefs-changeemail",
                "normalizedname": "prefs-changeemail",
                "*": "Change or remove email address"
            },
            {
                "name": "prefs-common-config",
                "normalizedname": "prefs-common-config",
                "*": "Shared CSS/JSON/JavaScript for all skins:"
            },
            {
                "name": "prefs-custom-css",
                "normalizedname": "prefs-custom-css",
                "*": "Custom CSS"
            },
            {
                "name": "prefs-custom-js",
                "normalizedname": "prefs-custom-js",
                "*": "Custom JavaScript"
            },
            {
                "name": "prefs-custom-json",
                "normalizedname": "prefs-custom-json",
                "*": "Custom JSON"
            },
            {
                "name": "prefs-dateformat",
                "normalizedname": "prefs-dateformat",
                "*": "Date format"
            },
            {
                "name": "prefs-diffs",
                "normalizedname": "prefs-diffs",
                "*": "Diffs"
            },
            {
                "name": "prefs-displayrc",
                "normalizedname": "prefs-displayrc",
                "*": "Display options"
            },
            {
                "name": "prefs-displaywatchlist",
                "normalizedname": "prefs-displaywatchlist",
                "*": "Display options"
            },
            {
                "name": "prefs-editing",
                "normalizedname": "prefs-editing",
                "*": "Editing"
            },
            {
                "name": "prefs-editor",
                "normalizedname": "prefs-editor",
                "*": "Editor"
            },
            {
                "name": "prefs-edits",
                "normalizedname": "prefs-edits",
                "*": "Number of edits:"
            },
            {
                "name": "prefs-editwatchlist",
                "normalizedname": "prefs-editwatchlist",
                "*": "Edit watchlist"
            },
            {
                "name": "prefs-editwatchlist-clear",
                "normalizedname": "prefs-editwatchlist-clear",
                "*": "Clear your watchlist"
            },
            {
                "name": "prefs-editwatchlist-edit",
                "normalizedname": "prefs-editwatchlist-edit",
                "*": "View and remove titles on your watchlist"
            },
            {
                "name": "prefs-editwatchlist-label",
                "normalizedname": "prefs-editwatchlist-label",
                "*": "Edit entries on your watchlist:"
            },
            {
                "name": "prefs-editwatchlist-raw",
                "normalizedname": "prefs-editwatchlist-raw",
                "*": "Edit raw watchlist"
            },
            {
                "name": "prefs-email",
                "normalizedname": "prefs-email",
                "*": "Email options"
            },
            {
                "name": "prefs-emailconfirm-label",
                "normalizedname": "prefs-emailconfirm-label",
                "*": "Email confirmation:"
            },
            {
                "name": "prefs-files",
                "normalizedname": "prefs-files",
                "*": "Files"
            },
            {
                "name": "prefs-help-email",
                "normalizedname": "prefs-help-email",
                "*": "Email address is optional, but is needed for password resets, should you forget your password."
            },
            {
                "name": "prefs-help-email-others",
                "normalizedname": "prefs-help-email-others",
                "*": "You can also choose to let others contact you by email through a link on your user or talk page.\nYour email address is not revealed when other users contact you."
            },
            {
                "name": "prefs-help-email-required",
                "normalizedname": "prefs-help-email-required",
                "*": "Email address is required."
            },
            {
                "name": "prefs-help-gender",
                "normalizedname": "prefs-help-gender",
                "*": "Setting this preference is optional.\nThe software uses its value to address you and to mention you to others using the appropriate grammatical gender.\nThis information will be public."
            },
            {
                "name": "prefs-help-prefershttps",
                "normalizedname": "prefs-help-prefershttps",
                "*": "This preference will take effect on your next login."
            },
            {
                "name": "prefs-help-realname",
                "normalizedname": "prefs-help-realname",
                "*": "Real name is optional.\nIf provided, it may be used to give you attribution for your work."
            },
            {
                "name": "prefs-help-recentchangescount",
                "normalizedname": "prefs-help-recentchangescount",
                "*": "Maximum number: 1000"
            },
            {
                "name": "prefs-help-signature",
                "normalizedname": "prefs-help-signature",
                "*": "Comments on talk pages should be signed with \"<nowiki>~~~~</nowiki>\", which will be converted into your signature and a timestamp."
            },
            {
                "name": "prefs-help-variant",
                "normalizedname": "prefs-help-variant",
                "*": "Your preferred variant or orthography to display the content pages of this wiki in."
            },
            {
                "name": "prefs-help-watchlist-token2",
                "normalizedname": "prefs-help-watchlist-token2",
                "*": "This is the secret key to the web feed of your watchlist.\nAnyone who knows it will be able to read your watchlist, so do not share it.\nIf you need to, [[Special:ResetTokens|you can reset it]]."
            },
            {
                "name": "prefs-i18n",
                "normalizedname": "prefs-i18n",
                "*": "Internationalisation"
            },
            {
                "name": "prefs-info",
                "normalizedname": "prefs-info",
                "*": "Basic information"
            },
            {
                "name": "prefs-labs",
                "normalizedname": "prefs-labs",
                "*": "Labs features"
            },
            {
                "name": "prefs-memberingroups",
                "normalizedname": "prefs-memberingroups",
                "*": "{{GENDER:$2|Member}} of {{PLURAL:$1|group|groups}}:"
            },
            {
                "name": "prefs-memberingroups-type",
                "normalizedname": "prefs-memberingroups-type",
                "*": "$1"
            },
            {
                "name": "prefs-misc",
                "normalizedname": "prefs-misc",
                "*": "Misc"
            },
            {
                "name": "prefs-namespaces",
                "normalizedname": "prefs-namespaces",
                "*": "Namespaces"
            },
            {
                "name": "prefs-opt-out",
                "normalizedname": "prefs-opt-out",
                "*": "Opt out of improvements"
            },
            {
                "name": "prefs-personal",
                "normalizedname": "prefs-personal",
                "*": "User profile"
            },
            {
                "name": "prefs-preview",
                "normalizedname": "prefs-preview",
                "*": "Preview"
            },
            {
                "name": "prefs-rc",
                "normalizedname": "prefs-rc",
                "*": "Recent changes"
            },
            {
                "name": "prefs-registration",
                "normalizedname": "prefs-registration",
                "*": "Registration time:"
            },
            {
                "name": "prefs-registration-date-time",
                "normalizedname": "prefs-registration-date-time",
                "*": "$1"
            },
            {
                "name": "prefs-rendering",
                "normalizedname": "prefs-rendering",
                "*": "Appearance"
            },
            {
                "name": "prefs-reset-intro",
                "normalizedname": "prefs-reset-intro",
                "*": "You can use this page to reset your preferences to the site defaults.\nThis cannot be undone."
            },
            {
                "name": "prefs-resetpass",
                "normalizedname": "prefs-resetpass",
                "*": "Change password"
            },
            {
                "name": "prefs-searchoptions",
                "normalizedname": "prefs-searchoptions",
                "*": "Search"
            },
            {
                "name": "prefs-setemail",
                "normalizedname": "prefs-setemail",
                "*": "Set an email address"
            },
            {
                "name": "prefs-signature",
                "normalizedname": "prefs-signature",
                "*": "Signature"
            },
            {
                "name": "prefs-skin",
                "normalizedname": "prefs-skin",
                "*": "Skin"
            },
            {
                "name": "prefs-tabs-navigation-hint",
                "normalizedname": "prefs-tabs-navigation-hint",
                "*": "Tip: You can use the left and right arrow keys to navigate between the tabs in the tabs list."
            },
            {
                "name": "prefs-timeoffset",
                "normalizedname": "prefs-timeoffset",
                "*": "Time offset"
            },
            {
                "name": "prefs-tokenwatchlist",
                "normalizedname": "prefs-tokenwatchlist",
                "*": "Token"
            },
            {
                "name": "prefs-user-pages",
                "normalizedname": "prefs-user-pages",
                "*": "User pages"
            },
            {
                "name": "prefs-watchlist",
                "normalizedname": "prefs-watchlist",
                "*": "Watchlist"
            },
            {
                "name": "prefs-watchlist-days",
                "normalizedname": "prefs-watchlist-days",
                "*": "Days to show in watchlist:"
            },
            {
                "name": "prefs-watchlist-days-max",
                "normalizedname": "prefs-watchlist-days-max",
                "*": "Maximum $1 {{PLURAL:$1|day|days}}"
            },
            {
                "name": "prefs-watchlist-edits",
                "normalizedname": "prefs-watchlist-edits",
                "*": "Maximum number of changes to show in watchlist:"
            },
            {
                "name": "prefs-watchlist-edits-max",
                "normalizedname": "prefs-watchlist-edits-max",
                "*": "Maximum number: 1000"
            },
            {
                "name": "prefs-watchlist-token",
                "normalizedname": "prefs-watchlist-token",
                "*": "Watchlist token:"
            },
            {
                "name": "prefsnologintext2",
                "normalizedname": "prefsnologintext2",
                "*": "Please log in to change your preferences."
            },
            {
                "name": "prefswarning-warning",
                "normalizedname": "prefswarning-warning",
                "*": "You've made changes to your preferences that have not been saved yet.\nIf you leave this page without clicking \"$1\" your preferences will not be updated."
            },
            {
                "name": "prev-page",
                "normalizedname": "prev-page",
                "*": "previous page"
            },
            {
                "name": "preview",
                "normalizedname": "preview",
                "*": "Preview"
            },
            {
                "name": "previewconflict",
                "normalizedname": "previewconflict",
                "*": "This preview reflects the text in the upper text editing area as it will appear if you choose to save."
            },
            {
                "name": "previewerrortext",
                "normalizedname": "previewerrortext",
                "*": "An error occurred while attempting to preview your changes."
            },
            {
                "name": "previewnote",
                "normalizedname": "previewnote",
                "*": "<strong>Remember that this is only a preview.</strong>\nYour changes have not yet been saved!"
            },
            {
                "name": "previousdiff",
                "normalizedname": "previousdiff",
                "*": "\u2190 Older edit"
            },
            {
                "name": "previousrevision",
                "normalizedname": "previousrevision",
                "*": "\u2190 Older revision"
            },
            {
                "name": "prevn",
                "normalizedname": "prevn",
                "*": "previous {{PLURAL:$1|$1}}"
            },
            {
                "name": "prevn-title",
                "normalizedname": "prevn-title",
                "*": "Previous $1 {{PLURAL:$1|result|results}}"
            },
            {
                "name": "prevpage",
                "normalizedname": "prevpage",
                "*": "Previous page ($1)"
            },
            {
                "name": "print",
                "normalizedname": "print",
                "*": "Print"
            },
            {
                "name": "print.css",
                "normalizedname": "print.css",
                "*": "/* CSS placed here will affect the print output */"
            },
            {
                "name": "printableversion",
                "normalizedname": "printableversion",
                "*": "Printable version"
            },
            {
                "name": "privacy",
                "normalizedname": "privacy",
                "*": "Privacy policy"
            },
            {
                "name": "privacypage",
                "normalizedname": "privacypage",
                "*": "Project:Privacy policy"
            },
            {
                "name": "prot_1movedto2",
                "normalizedname": "prot_1movedto2",
                "*": "[[$1]] moved to [[$2]]"
            },
            {
                "name": "protect",
                "normalizedname": "protect",
                "*": "Protect"
            },
            {
                "name": "protect-badnamespace-text",
                "normalizedname": "protect-badnamespace-text",
                "*": "Pages in this namespace cannot be protected."
            },
            {
                "name": "protect-badnamespace-title",
                "normalizedname": "protect-badnamespace-title",
                "*": "Non-protectable namespace"
            },
            {
                "name": "protect-cantedit",
                "normalizedname": "protect-cantedit",
                "*": "You cannot change the protection levels of this page because you do not have permission to edit it."
            },
            {
                "name": "protect-cascade",
                "normalizedname": "protect-cascade",
                "*": "Protect pages included in this page (cascading protection)"
            },
            {
                "name": "protect-cascadeon",
                "normalizedname": "protect-cascadeon",
                "*": "This page is currently protected because it is transcluded in the following {{PLURAL:$1|page, which has|pages, which have}} cascading protection turned on.\nChanges to this page's protection level will not affect the cascading protection."
            },
            {
                "name": "protect-default",
                "normalizedname": "protect-default",
                "*": "Allow all users"
            },
            {
                "name": "protect-dropdown",
                "normalizedname": "protect-dropdown",
                "*": "*Common protection reasons\n** Excessive vandalism\n** Excessive spamming\n** Counter-productive edit warring\n** High traffic page"
            },
            {
                "name": "protect-edit-reasonlist",
                "normalizedname": "protect-edit-reasonlist",
                "*": "Edit protection reasons"
            },
            {
                "name": "protect-existing-expiry",
                "normalizedname": "protect-existing-expiry",
                "*": "Existing expiration time: $3, $2"
            },
            {
                "name": "protect-existing-expiry-infinity",
                "normalizedname": "protect-existing-expiry-infinity",
                "*": "Existing expiration time: infinite"
            },
            {
                "name": "protect-expiring",
                "normalizedname": "protect-expiring",
                "*": "expires $1 (UTC)"
            },
            {
                "name": "protect-expiring-local",
                "normalizedname": "protect-expiring-local",
                "*": "expires $1"
            },
            {
                "name": "protect-expiry-indefinite",
                "normalizedname": "protect-expiry-indefinite",
                "*": "indefinite"
            },
            {
                "name": "protect-expiry-options",
                "normalizedname": "protect-expiry-options",
                "*": "1 hour:1 hour,1 day:1 day,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite"
            },
            {
                "name": "protect-fallback",
                "normalizedname": "protect-fallback",
                "*": "Allow only users with \"$1\" permission"
            },
            {
                "name": "protect-legend",
                "normalizedname": "protect-legend",
                "*": "Confirm protection"
            },
            {
                "name": "protect-level-autoconfirmed",
                "normalizedname": "protect-level-autoconfirmed",
                "*": "Allow only autoconfirmed users"
            },
            {
                "name": "protect-level-sysop",
                "normalizedname": "protect-level-sysop",
                "*": "Allow only administrators"
            },
            {
                "name": "protect-locked-access",
                "normalizedname": "protect-locked-access",
                "*": "Your account does not have permission to change page protection levels.\nHere are the current settings for the page <strong>$1</strong>:"
            },
            {
                "name": "protect-locked-blocked",
                "normalizedname": "protect-locked-blocked",
                "*": "You cannot change protection levels while blocked.\nHere are the current settings for the page <strong>$1</strong>:"
            },
            {
                "name": "protect-locked-dblock",
                "normalizedname": "protect-locked-dblock",
                "*": "Protection levels cannot be changed due to an active database lock.\nHere are the current settings for the page <strong>$1</strong>:"
            },
            {
                "name": "protect-norestrictiontypes-text",
                "normalizedname": "protect-norestrictiontypes-text",
                "*": "This page cannot be protected as there are no restriction types available."
            },
            {
                "name": "protect-norestrictiontypes-title",
                "normalizedname": "protect-norestrictiontypes-title",
                "*": "Non-protectable page"
            },
            {
                "name": "protect-otherreason",
                "normalizedname": "protect-otherreason",
                "*": "Other/additional reason:"
            },
            {
                "name": "protect-otherreason-op",
                "normalizedname": "protect-otherreason-op",
                "*": "Other reason"
            },
            {
                "name": "protect-othertime",
                "normalizedname": "protect-othertime",
                "*": "Other time:"
            },
            {
                "name": "protect-othertime-op",
                "normalizedname": "protect-othertime-op",
                "*": "other time"
            },
            {
                "name": "protect-summary-cascade",
                "normalizedname": "protect-summary-cascade",
                "*": "cascading"
            },
            {
                "name": "protect-summary-desc",
                "normalizedname": "protect-summary-desc",
                "*": "[$1=$2] ($3)"
            },
            {
                "name": "protect-text",
                "normalizedname": "protect-text",
                "*": "Here you may view and change the protection level for the page <strong>$1</strong>."
            },
            {
                "name": "protect-title",
                "normalizedname": "protect-title",
                "*": "Change protection level for \"$1\""
            },
            {
                "name": "protect-title-notallowed",
                "normalizedname": "protect-title-notallowed",
                "*": "View protection level of \"$1\""
            },
            {
                "name": "protect-unchain-permissions",
                "normalizedname": "protect-unchain-permissions",
                "*": "Unlock further protect options"
            },
            {
                "name": "protect_change",
                "normalizedname": "protect_change",
                "*": "change"
            },
            {
                "name": "protect_expiry_invalid",
                "normalizedname": "protect_expiry_invalid",
                "*": "Expiration time is invalid."
            },
            {
                "name": "protect_expiry_old",
                "normalizedname": "protect_expiry_old",
                "*": "Expiration time is in the past."
            },
            {
                "name": "protectcomment",
                "normalizedname": "protectcomment",
                "*": "Reason:"
            },
            {
                "name": "protectedarticle",
                "normalizedname": "protectedarticle",
                "*": "protected \"[[$1]]\""
            },
            {
                "name": "protectedarticle-comment",
                "normalizedname": "protectedarticle-comment",
                "*": "{{GENDER:$2|Protected}} \"[[$1]]\""
            },
            {
                "name": "protectedinterface",
                "normalizedname": "protectedinterface",
                "*": "This page provides interface text for the software on this wiki, and is protected to prevent abuse.\nTo add or change translations for all wikis, please use [https://translatewiki.net/ translatewiki.net], the MediaWiki localisation project."
            },
            {
                "name": "protectedpage",
                "normalizedname": "protectedpage",
                "*": "Protected page"
            },
            {
                "name": "protectedpagemovewarning",
                "normalizedname": "protectedpagemovewarning",
                "*": "<strong>Warning:</strong> This page has been protected so that only users with administrator privileges can move it.\nThe latest log entry is provided below for reference:"
            },
            {
                "name": "protectedpages",
                "normalizedname": "protectedpages",
                "*": "Protected pages"
            },
            {
                "name": "protectedpages-cascade",
                "normalizedname": "protectedpages-cascade",
                "*": "Cascading protections only"
            },
            {
                "name": "protectedpages-expiry",
                "normalizedname": "protectedpages-expiry",
                "*": "Expires"
            },
            {
                "name": "protectedpages-indef",
                "normalizedname": "protectedpages-indef",
                "*": "Indefinite protections only"
            },
            {
                "name": "protectedpages-noredirect",
                "normalizedname": "protectedpages-noredirect",
                "*": "Hide redirects"
            },
            {
                "name": "protectedpages-page",
                "normalizedname": "protectedpages-page",
                "*": "Page"
            },
            {
                "name": "protectedpages-params",
                "normalizedname": "protectedpages-params",
                "*": "Protection parameters"
            },
            {
                "name": "protectedpages-performer",
                "normalizedname": "protectedpages-performer",
                "*": "Protecting user"
            },
            {
                "name": "protectedpages-reason",
                "normalizedname": "protectedpages-reason",
                "*": "Reason"
            },
            {
                "name": "protectedpages-submit",
                "normalizedname": "protectedpages-submit",
                "*": "Display pages"
            },
            {
                "name": "protectedpages-summary",
                "normalizedname": "protectedpages-summary",
                "*": "This page lists existing pages that are currently protected. For a list of titles that are protected from creation, see [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]]."
            },
            {
                "name": "protectedpages-timestamp",
                "normalizedname": "protectedpages-timestamp",
                "*": "Timestamp"
            },
            {
                "name": "protectedpages-unknown-performer",
                "normalizedname": "protectedpages-unknown-performer",
                "*": "Unknown user"
            },
            {
                "name": "protectedpages-unknown-reason",
                "normalizedname": "protectedpages-unknown-reason",
                "*": "\u2014"
            },
            {
                "name": "protectedpages-unknown-timestamp",
                "normalizedname": "protectedpages-unknown-timestamp",
                "*": "Unknown"
            },
            {
                "name": "protectedpagesempty",
                "normalizedname": "protectedpagesempty",
                "*": "No pages are currently protected with these parameters."
            },
            {
                "name": "protectedpagetext",
                "normalizedname": "protectedpagetext",
                "*": "This page has been protected to prevent editing or other actions."
            },
            {
                "name": "protectedpagewarning",
                "normalizedname": "protectedpagewarning",
                "*": "<strong>Warning: This page has been protected so that only users with administrator privileges can edit it.</strong>\nThe latest log entry is provided below for reference:"
            },
            {
                "name": "protectedtitles",
                "normalizedname": "protectedtitles",
                "*": "Protected titles"
            },
            {
                "name": "protectedtitles-submit",
                "normalizedname": "protectedtitles-submit",
                "*": "Display titles"
            },
            {
                "name": "protectedtitles-summary",
                "normalizedname": "protectedtitles-summary",
                "*": "This page lists titles that are currently protected from creation. For a list of existing pages that are protected, see [[{{#special:ProtectedPages}}|{{int:protectedpages}}]]."
            },
            {
                "name": "protectedtitlesempty",
                "normalizedname": "protectedtitlesempty",
                "*": "No titles are currently protected with these parameters."
            },
            {
                "name": "protectexpiry",
                "normalizedname": "protectexpiry",
                "*": "Expires:"
            },
            {
                "name": "protectlogpage",
                "normalizedname": "protectlogpage",
                "*": "Protection log"
            },
            {
                "name": "protectlogtext",
                "normalizedname": "protectlogtext",
                "*": "Below is a list of changes to page protections.\nSee the [[Special:ProtectedPages|protected pages list]] for the list of currently operational page protections."
            },
            {
                "name": "proxyblocker",
                "normalizedname": "proxyblocker",
                "*": "Proxy blocker"
            },
            {
                "name": "proxyblockreason",
                "normalizedname": "proxyblockreason",
                "*": "Your IP address has been blocked because it is an open proxy.\nPlease contact your Internet service provider or technical support of your organization and inform them of this serious security problem."
            },
            {
                "name": "pt-createaccount",
                "normalizedname": "pt-createaccount",
                "*": "Create account"
            },
            {
                "name": "pt-login",
                "normalizedname": "pt-login",
                "*": "Log in"
            },
            {
                "name": "pt-login-button",
                "normalizedname": "pt-login-button",
                "*": "Log in"
            },
            {
                "name": "pt-login-continue-button",
                "normalizedname": "pt-login-continue-button",
                "*": "Continue login"
            },
            {
                "name": "pt-userlogout",
                "normalizedname": "pt-userlogout",
                "*": "Log out"
            },
            {
                "name": "publishchanges",
                "normalizedname": "publishchanges",
                "*": "Publish changes"
            },
            {
                "name": "publishchanges-start",
                "normalizedname": "publishchanges-start",
                "*": "Publish changes\u2026"
            },
            {
                "name": "publishpage",
                "normalizedname": "publishpage",
                "*": "Publish page"
            },
            {
                "name": "publishpage-start",
                "normalizedname": "publishpage-start",
                "*": "Publish page\u2026"
            },
            {
                "name": "pubmedurl",
                "normalizedname": "pubmedurl",
                "*": "//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract"
            },
            {
                "name": "querypage-disabled",
                "normalizedname": "querypage-disabled",
                "*": "This special page is disabled for performance reasons."
            },
            {
                "name": "querypage-no-updates",
                "normalizedname": "querypage-no-updates",
                "*": "Updates for this page are currently disabled.\nData here will not presently be refreshed."
            },
            {
                "name": "questycaptcha-addurl",
                "normalizedname": "questycaptcha-addurl",
                "*": "Your edit includes new external links.\nTo protect the wiki against automated edit spam, we kindly ask you to answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptcha-badlogin",
                "normalizedname": "questycaptcha-badlogin",
                "*": "To protect the wiki against automated password cracking, we kindly ask you to answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptcha-create",
                "normalizedname": "questycaptcha-create",
                "*": "To create the page, please answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptcha-createaccount",
                "normalizedname": "questycaptcha-createaccount",
                "*": "To protect the wiki against automated account creation, we kindly ask you to answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptcha-desc",
                "normalizedname": "questycaptcha-desc",
                "*": "Questy CAPTCHA generator for Confirm Edit"
            },
            {
                "name": "questycaptcha-edit",
                "normalizedname": "questycaptcha-edit",
                "*": "To edit this page, please answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptcha-sendemail",
                "normalizedname": "questycaptcha-sendemail",
                "*": "To protect the wiki against automated spamming, we kindly ask you to answer the question that appears below ([[Special:Captcha/help|more info]]):"
            },
            {
                "name": "questycaptchahelp-text",
                "normalizedname": "questycaptchahelp-text",
                "*": "Web sites that accept contributions from the public, like this wiki, are often abused by spammers who use automated tools to add their links to many sites.\nWhile these spam links can be removed, they are a significant nuisance.\n\nSometimes, especially when adding new web links to a page, the wiki may ask you to answer a question.\nSince this is a task that is hard to automate, it will allow most real humans to make their contributions while stopping most spammers and other robotic attackers.\n\nPlease contact the [[Special:ListAdmins|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate contributions.\n\nClick the \"back\" button in your browser to return to the page editor."
            },
            {
                "name": "quotation-marks",
                "normalizedname": "quotation-marks",
                "*": "\"$1\""
            },
            {
                "name": "randomincategory",
                "normalizedname": "randomincategory",
                "*": "Random page in category"
            },
            {
                "name": "randomincategory-category",
                "normalizedname": "randomincategory-category",
                "*": "Category:"
            },
            {
                "name": "randomincategory-invalidcategory",
                "normalizedname": "randomincategory-invalidcategory",
                "*": "\"$1\" is not a valid category name."
            },
            {
                "name": "randomincategory-legend",
                "normalizedname": "randomincategory-legend",
                "*": "Random page in category"
            },
            {
                "name": "randomincategory-nopages",
                "normalizedname": "randomincategory-nopages",
                "*": "There are no pages in the [[:Category:$1|$1]] category."
            },
            {
                "name": "randomincategory-submit",
                "normalizedname": "randomincategory-submit",
                "*": "Go"
            },
            {
                "name": "randompage",
                "normalizedname": "randompage",
                "*": "Random page"
            },
            {
                "name": "randompage-nopages",
                "normalizedname": "randompage-nopages",
                "*": "There are no pages in the following {{PLURAL:$2|namespace|namespaces}}: $1."
            },
            {
                "name": "randompage-url",
                "normalizedname": "randompage-url",
                "*": "Special:Random"
            },
            {
                "name": "randomredirect",
                "normalizedname": "randomredirect",
                "*": "Random redirect"
            },
            {
                "name": "randomredirect-nopages",
                "normalizedname": "randomredirect-nopages",
                "*": "There are no redirects in the namespace \"$1\"."
            },
            {
                "name": "randomrootpage",
                "normalizedname": "randomrootpage",
                "*": "Random root page"
            },
            {
                "name": "range_block_disabled",
                "normalizedname": "range_block_disabled",
                "*": "The administrator ability to create range blocks is disabled."
            },
            {
                "name": "rawhtml-notallowed",
                "normalizedname": "rawhtml-notallowed",
                "*": "&lt;html&gt; tags cannot be used outside of normal pages."
            },
            {
                "name": "rawmessage",
                "normalizedname": "rawmessage",
                "*": "$1"
            },
            {
                "name": "rc-change-size",
                "normalizedname": "rc-change-size",
                "*": "$1"
            },
            {
                "name": "rc-change-size-new",
                "normalizedname": "rc-change-size-new",
                "*": "$1 {{PLURAL:$1|byte|bytes}} after change"
            },
            {
                "name": "rc-enhanced-expand",
                "normalizedname": "rc-enhanced-expand",
                "*": "Show details"
            },
            {
                "name": "rc-enhanced-hide",
                "normalizedname": "rc-enhanced-hide",
                "*": "Hide details"
            },
            {
                "name": "rc-old-title",
                "normalizedname": "rc-old-title",
                "*": "originally created as \"$1\""
            },
            {
                "name": "rcfilters-activefilters",
                "normalizedname": "rcfilters-activefilters",
                "*": "Active filters"
            },
            {
                "name": "rcfilters-advancedfilters",
                "normalizedname": "rcfilters-advancedfilters",
                "*": "Advanced filters"
            },
            {
                "name": "rcfilters-clear-all-filters",
                "normalizedname": "rcfilters-clear-all-filters",
                "*": "Clear all filters"
            },
            {
                "name": "rcfilters-date-popup-title",
                "normalizedname": "rcfilters-date-popup-title",
                "*": "Time period to search"
            },
            {
                "name": "rcfilters-days-show-days",
                "normalizedname": "rcfilters-days-show-days",
                "*": "$1 {{PLURAL:$1|day|days}}"
            },
            {
                "name": "rcfilters-days-show-hours",
                "normalizedname": "rcfilters-days-show-hours",
                "*": "$1 {{PLURAL:$1|hour|hours}}"
            },
            {
                "name": "rcfilters-days-title",
                "normalizedname": "rcfilters-days-title",
                "*": "Recent days"
            },
            {
                "name": "rcfilters-empty-filter",
                "normalizedname": "rcfilters-empty-filter",
                "*": "No active filters. All contributions are shown."
            },
            {
                "name": "rcfilters-exclude-button-off",
                "normalizedname": "rcfilters-exclude-button-off",
                "*": "Exclude selected"
            },
            {
                "name": "rcfilters-exclude-button-on",
                "normalizedname": "rcfilters-exclude-button-on",
                "*": "Excluding selected"
            },
            {
                "name": "rcfilters-filter-bots-description",
                "normalizedname": "rcfilters-filter-bots-description",
                "*": "Edits made by automated tools."
            },
            {
                "name": "rcfilters-filter-bots-label",
                "normalizedname": "rcfilters-filter-bots-label",
                "*": "Bot"
            },
            {
                "name": "rcfilters-filter-categorization-description",
                "normalizedname": "rcfilters-filter-categorization-description",
                "*": "Records of pages being added or removed from categories."
            },
            {
                "name": "rcfilters-filter-categorization-label",
                "normalizedname": "rcfilters-filter-categorization-label",
                "*": "Category changes"
            },
            {
                "name": "rcfilters-filter-editsbyother-description",
                "normalizedname": "rcfilters-filter-editsbyother-description",
                "*": "All changes except your own."
            },
            {
                "name": "rcfilters-filter-editsbyother-label",
                "normalizedname": "rcfilters-filter-editsbyother-label",
                "*": "Changes by others"
            },
            {
                "name": "rcfilters-filter-editsbyself-description",
                "normalizedname": "rcfilters-filter-editsbyself-description",
                "*": "Your own contributions."
            },
            {
                "name": "rcfilters-filter-editsbyself-label",
                "normalizedname": "rcfilters-filter-editsbyself-label",
                "*": "Changes by you"
            },
            {
                "name": "rcfilters-filter-excluded",
                "normalizedname": "rcfilters-filter-excluded",
                "*": "Excluded"
            },
            {
                "name": "rcfilters-filter-humans-description",
                "normalizedname": "rcfilters-filter-humans-description",
                "*": "Edits made by human editors."
            },
            {
                "name": "rcfilters-filter-humans-label",
                "normalizedname": "rcfilters-filter-humans-label",
                "*": "Human (not bot)"
            },
            {
                "name": "rcfilters-filter-lastrevision-description",
                "normalizedname": "rcfilters-filter-lastrevision-description",
                "*": "Only the most recent change to a page."
            },
            {
                "name": "rcfilters-filter-lastrevision-label",
                "normalizedname": "rcfilters-filter-lastrevision-label",
                "*": "Latest revision"
            },
            {
                "name": "rcfilters-filter-logactions-description",
                "normalizedname": "rcfilters-filter-logactions-description",
                "*": "Administrative actions, account creations, page deletions, uploads\u2026"
            },
            {
                "name": "rcfilters-filter-logactions-label",
                "normalizedname": "rcfilters-filter-logactions-label",
                "*": "Logged actions"
            },
            {
                "name": "rcfilters-filter-major-description",
                "normalizedname": "rcfilters-filter-major-description",
                "*": "Edits not labeled as minor."
            },
            {
                "name": "rcfilters-filter-major-label",
                "normalizedname": "rcfilters-filter-major-label",
                "*": "Non-minor edits"
            },
            {
                "name": "rcfilters-filter-minor-description",
                "normalizedname": "rcfilters-filter-minor-description",
                "*": "Edits the author labeled as minor."
            },
            {
                "name": "rcfilters-filter-minor-label",
                "normalizedname": "rcfilters-filter-minor-label",
                "*": "Minor edits"
            },
            {
                "name": "rcfilters-filter-newpages-description",
                "normalizedname": "rcfilters-filter-newpages-description",
                "*": "Edits that make new pages."
            },
            {
                "name": "rcfilters-filter-newpages-label",
                "normalizedname": "rcfilters-filter-newpages-label",
                "*": "Page creations"
            },
            {
                "name": "rcfilters-filter-pageedits-description",
                "normalizedname": "rcfilters-filter-pageedits-description",
                "*": "Edits to wiki content, discussions, category descriptions\u2026"
            },
            {
                "name": "rcfilters-filter-pageedits-label",
                "normalizedname": "rcfilters-filter-pageedits-label",
                "*": "Page edits"
            },
            {
                "name": "rcfilters-filter-previousrevision-description",
                "normalizedname": "rcfilters-filter-previousrevision-description",
                "*": "All changes that are not the \"latest revision\"."
            },
            {
                "name": "rcfilters-filter-previousrevision-label",
                "normalizedname": "rcfilters-filter-previousrevision-label",
                "*": "Not the latest revision"
            },
            {
                "name": "rcfilters-filter-reviewstatus-auto-description",
                "normalizedname": "rcfilters-filter-reviewstatus-auto-description",
                "*": "Edits by advanced users whose work is automatically marked as patrolled."
            },
            {
                "name": "rcfilters-filter-reviewstatus-auto-label",
                "normalizedname": "rcfilters-filter-reviewstatus-auto-label",
                "*": "Autopatrolled"
            },
            {
                "name": "rcfilters-filter-reviewstatus-manual-description",
                "normalizedname": "rcfilters-filter-reviewstatus-manual-description",
                "*": "Edits manually marked as patrolled."
            },
            {
                "name": "rcfilters-filter-reviewstatus-manual-label",
                "normalizedname": "rcfilters-filter-reviewstatus-manual-label",
                "*": "Manually patrolled"
            },
            {
                "name": "rcfilters-filter-reviewstatus-unpatrolled-description",
                "normalizedname": "rcfilters-filter-reviewstatus-unpatrolled-description",
                "*": "Edits not manually or automatically marked as patrolled."
            },
            {
                "name": "rcfilters-filter-reviewstatus-unpatrolled-label",
                "normalizedname": "rcfilters-filter-reviewstatus-unpatrolled-label",
                "*": "Unpatrolled"
            },
            {
                "name": "rcfilters-filter-showlinkedfrom-label",
                "normalizedname": "rcfilters-filter-showlinkedfrom-label",
                "*": "Show changes on pages linked from"
            },
            {
                "name": "rcfilters-filter-showlinkedfrom-option-label",
                "normalizedname": "rcfilters-filter-showlinkedfrom-option-label",
                "*": "<strong>Pages linked from</strong> the selected page"
            },
            {
                "name": "rcfilters-filter-showlinkedto-label",
                "normalizedname": "rcfilters-filter-showlinkedto-label",
                "*": "Show changes on pages linking to"
            },
            {
                "name": "rcfilters-filter-showlinkedto-option-label",
                "normalizedname": "rcfilters-filter-showlinkedto-option-label",
                "*": "<strong>Pages linking to</strong> the selected page"
            },
            {
                "name": "rcfilters-filter-user-experience-level-experienced-description",
                "normalizedname": "rcfilters-filter-user-experience-level-experienced-description",
                "*": "Registered editors with more than 500 edits and 30 days of activity."
            },
            {
                "name": "rcfilters-filter-user-experience-level-experienced-label",
                "normalizedname": "rcfilters-filter-user-experience-level-experienced-label",
                "*": "Experienced users"
            },
            {
                "name": "rcfilters-filter-user-experience-level-learner-description",
                "normalizedname": "rcfilters-filter-user-experience-level-learner-description",
                "*": "Registered editors whose experience falls between \"Newcomers\" and \"Experienced users.\""
            },
            {
                "name": "rcfilters-filter-user-experience-level-learner-label",
                "normalizedname": "rcfilters-filter-user-experience-level-learner-label",
                "*": "Learners"
            },
            {
                "name": "rcfilters-filter-user-experience-level-newcomer-description",
                "normalizedname": "rcfilters-filter-user-experience-level-newcomer-description",
                "*": "Registered editors who have fewer than 10 edits or 4 days of activity."
            },
            {
                "name": "rcfilters-filter-user-experience-level-newcomer-label",
                "normalizedname": "rcfilters-filter-user-experience-level-newcomer-label",
                "*": "Newcomers"
            },
            {
                "name": "rcfilters-filter-user-experience-level-registered-description",
                "normalizedname": "rcfilters-filter-user-experience-level-registered-description",
                "*": "Logged-in editors."
            },
            {
                "name": "rcfilters-filter-user-experience-level-registered-label",
                "normalizedname": "rcfilters-filter-user-experience-level-registered-label",
                "*": "Registered"
            },
            {
                "name": "rcfilters-filter-user-experience-level-unregistered-description",
                "normalizedname": "rcfilters-filter-user-experience-level-unregistered-description",
                "*": "Editors who aren't logged-in."
            },
            {
                "name": "rcfilters-filter-user-experience-level-unregistered-label",
                "normalizedname": "rcfilters-filter-user-experience-level-unregistered-label",
                "*": "Unregistered"
            },
            {
                "name": "rcfilters-filter-watchlist-notwatched-description",
                "normalizedname": "rcfilters-filter-watchlist-notwatched-description",
                "*": "Everything except changes to your Watchlisted pages."
            },
            {
                "name": "rcfilters-filter-watchlist-notwatched-label",
                "normalizedname": "rcfilters-filter-watchlist-notwatched-label",
                "*": "Not on Watchlist"
            },
            {
                "name": "rcfilters-filter-watchlist-watched-description",
                "normalizedname": "rcfilters-filter-watchlist-watched-description",
                "*": "Changes to pages on your Watchlist."
            },
            {
                "name": "rcfilters-filter-watchlist-watched-label",
                "normalizedname": "rcfilters-filter-watchlist-watched-label",
                "*": "On Watchlist"
            },
            {
                "name": "rcfilters-filter-watchlist-watchednew-description",
                "normalizedname": "rcfilters-filter-watchlist-watchednew-description",
                "*": "Changes to Watchlisted pages you haven't visited since the changes occurred."
            },
            {
                "name": "rcfilters-filter-watchlist-watchednew-label",
                "normalizedname": "rcfilters-filter-watchlist-watchednew-label",
                "*": "New Watchlist changes"
            },
            {
                "name": "rcfilters-filter-watchlistactivity-seen-description",
                "normalizedname": "rcfilters-filter-watchlistactivity-seen-description",
                "*": "Changes to pages you have visited since the changes occurred."
            },
            {
                "name": "rcfilters-filter-watchlistactivity-seen-label",
                "normalizedname": "rcfilters-filter-watchlistactivity-seen-label",
                "*": "Seen changes"
            },
            {
                "name": "rcfilters-filter-watchlistactivity-unseen-description",
                "normalizedname": "rcfilters-filter-watchlistactivity-unseen-description",
                "*": "Changes to pages you haven't visited since the changes occurred."
            },
            {
                "name": "rcfilters-filter-watchlistactivity-unseen-label",
                "normalizedname": "rcfilters-filter-watchlistactivity-unseen-label",
                "*": "Unseen changes"
            },
            {
                "name": "rcfilters-filtergroup-authorship",
                "normalizedname": "rcfilters-filtergroup-authorship",
                "*": "Contribution authorship"
            },
            {
                "name": "rcfilters-filtergroup-automated",
                "normalizedname": "rcfilters-filtergroup-automated",
                "*": "Automated contributions"
            },
            {
                "name": "rcfilters-filtergroup-changetype",
                "normalizedname": "rcfilters-filtergroup-changetype",
                "*": "Type of change"
            },
            {
                "name": "rcfilters-filtergroup-lastRevision",
                "normalizedname": "rcfilters-filtergroup-lastRevision",
                "*": "Latest revisions"
            },
            {
                "name": "rcfilters-filtergroup-reviewstatus",
                "normalizedname": "rcfilters-filtergroup-reviewstatus",
                "*": "Review status"
            },
            {
                "name": "rcfilters-filtergroup-significance",
                "normalizedname": "rcfilters-filtergroup-significance",
                "*": "Significance"
            },
            {
                "name": "rcfilters-filtergroup-userExpLevel",
                "normalizedname": "rcfilters-filtergroup-userExpLevel",
                "*": "User registration and experience"
            },
            {
                "name": "rcfilters-filtergroup-watchlist",
                "normalizedname": "rcfilters-filtergroup-watchlist",
                "*": "Watchlisted pages"
            },
            {
                "name": "rcfilters-filtergroup-watchlistactivity",
                "normalizedname": "rcfilters-filtergroup-watchlistactivity",
                "*": "Watchlist activity"
            },
            {
                "name": "rcfilters-filterlist-feedbacklink",
                "normalizedname": "rcfilters-filterlist-feedbacklink",
                "*": "Tell us what you think about these (new) filtering tools"
            },
            {
                "name": "rcfilters-filterlist-noresults",
                "normalizedname": "rcfilters-filterlist-noresults",
                "*": "No filters found"
            },
            {
                "name": "rcfilters-filterlist-title",
                "normalizedname": "rcfilters-filterlist-title",
                "*": "Filters"
            },
            {
                "name": "rcfilters-filterlist-whatsthis",
                "normalizedname": "rcfilters-filterlist-whatsthis",
                "*": "How do these work?"
            },
            {
                "name": "rcfilters-group-results-by-page",
                "normalizedname": "rcfilters-group-results-by-page",
                "*": "Group results by page"
            },
            {
                "name": "rcfilters-hideminor-conflicts-typeofchange",
                "normalizedname": "rcfilters-hideminor-conflicts-typeofchange",
                "*": "Certain types of change cannot be designated as \"minor\", so this filter conflicts with the following Type of Change filters: $1"
            },
            {
                "name": "rcfilters-hideminor-conflicts-typeofchange-global",
                "normalizedname": "rcfilters-hideminor-conflicts-typeofchange-global",
                "*": "The \"Minor edits\" filter conflicts with one or more Type of change filters, because certain types of change cannot be designated as \"minor\". The conflicting filters are marked in the Active filters area, above."
            },
            {
                "name": "rcfilters-highlightbutton-title",
                "normalizedname": "rcfilters-highlightbutton-title",
                "*": "Highlight results"
            },
            {
                "name": "rcfilters-highlighted-filters-list",
                "normalizedname": "rcfilters-highlighted-filters-list",
                "*": "Highlighted: $1"
            },
            {
                "name": "rcfilters-highlightmenu-help",
                "normalizedname": "rcfilters-highlightmenu-help",
                "*": "Select a color to highlight this property"
            },
            {
                "name": "rcfilters-highlightmenu-title",
                "normalizedname": "rcfilters-highlightmenu-title",
                "*": "Select a color"
            },
            {
                "name": "rcfilters-hours-title",
                "normalizedname": "rcfilters-hours-title",
                "*": "Recent hours"
            },
            {
                "name": "rcfilters-invalid-filter",
                "normalizedname": "rcfilters-invalid-filter",
                "*": "Invalid filter"
            },
            {
                "name": "rcfilters-legend-heading",
                "normalizedname": "rcfilters-legend-heading",
                "*": "<strong>List of abbreviations:</strong>"
            },
            {
                "name": "rcfilters-limit-and-date-label",
                "normalizedname": "rcfilters-limit-and-date-label",
                "*": "$1 {{PLURAL:$1|change|changes}}, $2"
            },
            {
                "name": "rcfilters-limit-title",
                "normalizedname": "rcfilters-limit-title",
                "*": "Results to show"
            },
            {
                "name": "rcfilters-liveupdates-button",
                "normalizedname": "rcfilters-liveupdates-button",
                "*": "Live updates"
            },
            {
                "name": "rcfilters-liveupdates-button-title-off",
                "normalizedname": "rcfilters-liveupdates-button-title-off",
                "*": "Display new changes as they happen"
            },
            {
                "name": "rcfilters-liveupdates-button-title-on",
                "normalizedname": "rcfilters-liveupdates-button-title-on",
                "*": "Turn off live updates"
            },
            {
                "name": "rcfilters-noresults-conflict",
                "normalizedname": "rcfilters-noresults-conflict",
                "*": "No results found because the search criteria are in conflict"
            },
            {
                "name": "rcfilters-other-review-tools",
                "normalizedname": "rcfilters-other-review-tools",
                "*": "Other review tools"
            },
            {
                "name": "rcfilters-preference-help",
                "normalizedname": "rcfilters-preference-help",
                "*": "Rolls back the 2017 interface redesign and all tools added then and since."
            },
            {
                "name": "rcfilters-preference-label",
                "normalizedname": "rcfilters-preference-label",
                "*": "Hide the improved version of Recent Changes"
            },
            {
                "name": "rcfilters-quickfilters",
                "normalizedname": "rcfilters-quickfilters",
                "*": "Saved filters"
            },
            {
                "name": "rcfilters-quickfilters-placeholder-description",
                "normalizedname": "rcfilters-quickfilters-placeholder-description",
                "*": "To save your filter settings and reuse them later, click the bookmark icon in the Active Filter area, below."
            },
            {
                "name": "rcfilters-quickfilters-placeholder-title",
                "normalizedname": "rcfilters-quickfilters-placeholder-title",
                "*": "No filters saved yet"
            },
            {
                "name": "rcfilters-restore-default-filters",
                "normalizedname": "rcfilters-restore-default-filters",
                "*": "Restore default filters"
            },
            {
                "name": "rcfilters-savedqueries-add-new-title",
                "normalizedname": "rcfilters-savedqueries-add-new-title",
                "*": "Save current filter settings"
            },
            {
                "name": "rcfilters-savedqueries-already-saved",
                "normalizedname": "rcfilters-savedqueries-already-saved",
                "*": "These filters are already saved. Change your settings to create a new Saved Filter."
            },
            {
                "name": "rcfilters-savedqueries-apply-and-setdefault-label",
                "normalizedname": "rcfilters-savedqueries-apply-and-setdefault-label",
                "*": "Create default filter"
            },
            {
                "name": "rcfilters-savedqueries-apply-label",
                "normalizedname": "rcfilters-savedqueries-apply-label",
                "*": "Create filter"
            },
            {
                "name": "rcfilters-savedqueries-cancel-label",
                "normalizedname": "rcfilters-savedqueries-cancel-label",
                "*": "Cancel"
            },
            {
                "name": "rcfilters-savedqueries-defaultlabel",
                "normalizedname": "rcfilters-savedqueries-defaultlabel",
                "*": "Saved filters"
            },
            {
                "name": "rcfilters-savedqueries-new-name-label",
                "normalizedname": "rcfilters-savedqueries-new-name-label",
                "*": "Name"
            },
            {
                "name": "rcfilters-savedqueries-new-name-placeholder",
                "normalizedname": "rcfilters-savedqueries-new-name-placeholder",
                "*": "Describe the purpose of the filter"
            },
            {
                "name": "rcfilters-savedqueries-remove",
                "normalizedname": "rcfilters-savedqueries-remove",
                "*": "Remove"
            },
            {
                "name": "rcfilters-savedqueries-rename",
                "normalizedname": "rcfilters-savedqueries-rename",
                "*": "Rename"
            },
            {
                "name": "rcfilters-savedqueries-setdefault",
                "normalizedname": "rcfilters-savedqueries-setdefault",
                "*": "Set as default"
            },
            {
                "name": "rcfilters-savedqueries-unsetdefault",
                "normalizedname": "rcfilters-savedqueries-unsetdefault",
                "*": "Remove as default"
            },
            {
                "name": "rcfilters-search-placeholder",
                "normalizedname": "rcfilters-search-placeholder",
                "*": "Filter changes (use menu or search for filter name)"
            },
            {
                "name": "rcfilters-show-new-changes",
                "normalizedname": "rcfilters-show-new-changes",
                "*": "View newest changes"
            },
            {
                "name": "rcfilters-state-message-fullcoverage",
                "normalizedname": "rcfilters-state-message-fullcoverage",
                "*": "Selecting all filters in this group is the same as selecting none, so this filter has no effect. Group includes: $1"
            },
            {
                "name": "rcfilters-state-message-subset",
                "normalizedname": "rcfilters-state-message-subset",
                "*": "This filter has no effect because its results are included with those of the following, broader {{PLURAL:$2|filter|filters}} (try highlighting to distinguish it): $1"
            },
            {
                "name": "rcfilters-tag-prefix-namespace",
                "normalizedname": "rcfilters-tag-prefix-namespace",
                "*": ":$1"
            },
            {
                "name": "rcfilters-tag-prefix-namespace-inverted",
                "normalizedname": "rcfilters-tag-prefix-namespace-inverted",
                "*": "<strong>:not</strong> $1"
            },
            {
                "name": "rcfilters-tag-prefix-tags",
                "normalizedname": "rcfilters-tag-prefix-tags",
                "*": "#$1"
            },
            {
                "name": "rcfilters-tag-remove",
                "normalizedname": "rcfilters-tag-remove",
                "*": "Remove '$1'"
            },
            {
                "name": "rcfilters-target-page-placeholder",
                "normalizedname": "rcfilters-target-page-placeholder",
                "*": "Enter a page name (or category)"
            },
            {
                "name": "rcfilters-typeofchange-conflicts-hideminor",
                "normalizedname": "rcfilters-typeofchange-conflicts-hideminor",
                "*": "This Type of change filter conflicts with the \"Minor edits\" filter. Certain types of change cannot be designated as \"minor\"."
            },
            {
                "name": "rcfilters-view-namespaces-tooltip",
                "normalizedname": "rcfilters-view-namespaces-tooltip",
                "*": "Filter results by namespace"
            },
            {
                "name": "rcfilters-view-return-to-default-tooltip",
                "normalizedname": "rcfilters-view-return-to-default-tooltip",
                "*": "Return to main filter menu"
            },
            {
                "name": "rcfilters-view-tags",
                "normalizedname": "rcfilters-view-tags",
                "*": "Tagged edits"
            },
            {
                "name": "rcfilters-view-tags-help-icon-tooltip",
                "normalizedname": "rcfilters-view-tags-help-icon-tooltip",
                "*": "Learn more about Tagged edits"
            },
            {
                "name": "rcfilters-view-tags-tooltip",
                "normalizedname": "rcfilters-view-tags-tooltip",
                "*": "Filter results using edit tags"
            },
            {
                "name": "rcfilters-watchlist-edit-watchlist-button",
                "normalizedname": "rcfilters-watchlist-edit-watchlist-button",
                "*": "Edit your list of watched pages"
            },
            {
                "name": "rcfilters-watchlist-markseen-button",
                "normalizedname": "rcfilters-watchlist-markseen-button",
                "*": "Mark all changes as seen"
            },
            {
                "name": "rcfilters-watchlist-showupdated",
                "normalizedname": "rcfilters-watchlist-showupdated",
                "*": "Changes to pages you haven't visited since the changes occurred are in <strong>bold</strong>, with solid markers."
            },
            {
                "name": "rclinks",
                "normalizedname": "rclinks",
                "*": "Show last $1 changes in last $2 days"
            },
            {
                "name": "rclistfrom",
                "normalizedname": "rclistfrom",
                "*": "Show new changes starting from $2, $3"
            },
            {
                "name": "rclistfromreset",
                "normalizedname": "rclistfromreset",
                "*": "Reset date selection"
            },
            {
                "name": "rcnotefrom",
                "normalizedname": "rcnotefrom",
                "*": "Below {{PLURAL:$5|is the change|are the changes}} since <strong>$3, $4</strong> (up to <strong>$1</strong> shown)."
            },
            {
                "name": "rcpatroldisabled",
                "normalizedname": "rcpatroldisabled",
                "*": "Recent changes patrol disabled"
            },
            {
                "name": "rcpatroldisabledtext",
                "normalizedname": "rcpatroldisabledtext",
                "*": "The recent changes patrol feature is currently disabled."
            },
            {
                "name": "rcshowhideanons",
                "normalizedname": "rcshowhideanons",
                "*": "$1 anonymous users"
            },
            {
                "name": "rcshowhideanons-hide",
                "normalizedname": "rcshowhideanons-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhideanons-show",
                "normalizedname": "rcshowhideanons-show",
                "*": "Show"
            },
            {
                "name": "rcshowhidebots",
                "normalizedname": "rcshowhidebots",
                "*": "$1 bots"
            },
            {
                "name": "rcshowhidebots-hide",
                "normalizedname": "rcshowhidebots-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhidebots-show",
                "normalizedname": "rcshowhidebots-show",
                "*": "Show"
            },
            {
                "name": "rcshowhidecategorization",
                "normalizedname": "rcshowhidecategorization",
                "*": "$1 page categorization"
            },
            {
                "name": "rcshowhidecategorization-hide",
                "normalizedname": "rcshowhidecategorization-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhidecategorization-show",
                "normalizedname": "rcshowhidecategorization-show",
                "*": "Show"
            },
            {
                "name": "rcshowhideliu",
                "normalizedname": "rcshowhideliu",
                "*": "$1 registered users"
            },
            {
                "name": "rcshowhideliu-hide",
                "normalizedname": "rcshowhideliu-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhideliu-show",
                "normalizedname": "rcshowhideliu-show",
                "*": "Show"
            },
            {
                "name": "rcshowhidemine",
                "normalizedname": "rcshowhidemine",
                "*": "$1 my edits"
            },
            {
                "name": "rcshowhidemine-hide",
                "normalizedname": "rcshowhidemine-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhidemine-show",
                "normalizedname": "rcshowhidemine-show",
                "*": "Show"
            },
            {
                "name": "rcshowhideminor",
                "normalizedname": "rcshowhideminor",
                "*": "$1 minor edits"
            },
            {
                "name": "rcshowhideminor-hide",
                "normalizedname": "rcshowhideminor-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhideminor-show",
                "normalizedname": "rcshowhideminor-show",
                "*": "Show"
            },
            {
                "name": "rcshowhidepatr",
                "normalizedname": "rcshowhidepatr",
                "*": "$1 patrolled edits"
            },
            {
                "name": "rcshowhidepatr-hide",
                "normalizedname": "rcshowhidepatr-hide",
                "*": "Hide"
            },
            {
                "name": "rcshowhidepatr-show",
                "normalizedname": "rcshowhidepatr-show",
                "*": "Show"
            },
            {
                "name": "readonly",
                "normalizedname": "readonly",
                "*": "Database locked"
            },
            {
                "name": "readonly_lag",
                "normalizedname": "readonly_lag",
                "*": "The database has been automatically locked while the slave database servers catch up to the master"
            },
            {
                "name": "readonlytext",
                "normalizedname": "readonlytext",
                "*": "The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe system administrator who locked it offered this explanation: $1"
            },
            {
                "name": "readonlywarning",
                "normalizedname": "readonlywarning",
                "*": "<strong>Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.</strong>\nYou may wish to copy and paste your text into a text file and save it for later.\n\nThe system administrator who locked it offered this explanation: $1"
            },
            {
                "name": "reblock-logentry",
                "normalizedname": "reblock-logentry",
                "*": "changed block settings for [[$1]] with an expiration time of $2 $3"
            },
            {
                "name": "recentchanges",
                "normalizedname": "recentchanges",
                "*": "Recent changes"
            },
            {
                "name": "recentchanges-feed-description",
                "normalizedname": "recentchanges-feed-description",
                "*": "Track the most recent changes to the wiki in this feed."
            },
            {
                "name": "recentchanges-label-bot",
                "normalizedname": "recentchanges-label-bot",
                "*": "This edit was performed by a bot"
            },
            {
                "name": "recentchanges-label-minor",
                "normalizedname": "recentchanges-label-minor",
                "*": "This is a minor edit"
            },
            {
                "name": "recentchanges-label-newpage",
                "normalizedname": "recentchanges-label-newpage",
                "*": "This edit created a new page"
            },
            {
                "name": "recentchanges-label-plusminus",
                "normalizedname": "recentchanges-label-plusminus",
                "*": "The page size changed by this number of bytes"
            },
            {
                "name": "recentchanges-label-unpatrolled",
                "normalizedname": "recentchanges-label-unpatrolled",
                "*": "This edit has not yet been patrolled"
            },
            {
                "name": "recentchanges-legend",
                "normalizedname": "recentchanges-legend",
                "*": "Recent changes options"
            },
            {
                "name": "recentchanges-legend-bot",
                "normalizedname": "recentchanges-legend-bot",
                "*": "{{int:recentchanges-label-bot}}"
            },
            {
                "name": "recentchanges-legend-heading",
                "normalizedname": "recentchanges-legend-heading",
                "*": "<strong>Legend:</strong>"
            },
            {
                "name": "recentchanges-legend-minor",
                "normalizedname": "recentchanges-legend-minor",
                "*": "{{int:recentchanges-label-minor}}"
            },
            {
                "name": "recentchanges-legend-newpage",
                "normalizedname": "recentchanges-legend-newpage",
                "*": "{{int:recentchanges-label-newpage}} (also see [[Special:NewPages|list of new pages]])"
            },
            {
                "name": "recentchanges-legend-plusminus",
                "normalizedname": "recentchanges-legend-plusminus",
                "*": "(<em>\u00b1123</em>)"
            },
            {
                "name": "recentchanges-legend-unpatrolled",
                "normalizedname": "recentchanges-legend-unpatrolled",
                "*": "{{int:recentchanges-label-unpatrolled}}"
            },
            {
                "name": "recentchanges-network",
                "normalizedname": "recentchanges-network",
                "*": "Due to a technical error, no results could be loaded. Please try refreshing the page."
            },
            {
                "name": "recentchanges-noresult",
                "normalizedname": "recentchanges-noresult",
                "*": "No changes during the given period match these criteria."
            },
            {
                "name": "recentchanges-notargetpage",
                "normalizedname": "recentchanges-notargetpage",
                "*": "Enter a page name above to see changes related to that page."
            },
            {
                "name": "recentchanges-page-added-to-category",
                "normalizedname": "recentchanges-page-added-to-category",
                "*": "[[:$1]] added to category"
            },
            {
                "name": "recentchanges-page-added-to-category-bundled",
                "normalizedname": "recentchanges-page-added-to-category-bundled",
                "*": "[[:$1]] added to category, [[Special:WhatLinksHere/$1|this page is included within other pages]]"
            },
            {
                "name": "recentchanges-page-removed-from-category",
                "normalizedname": "recentchanges-page-removed-from-category",
                "*": "[[:$1]] removed from category"
            },
            {
                "name": "recentchanges-page-removed-from-category-bundled",
                "normalizedname": "recentchanges-page-removed-from-category-bundled",
                "*": "[[:$1]] removed from category, [[Special:WhatLinksHere/$1|this page is included within other pages]]"
            },
            {
                "name": "recentchanges-submit",
                "normalizedname": "recentchanges-submit",
                "*": "Show"
            },
            {
                "name": "recentchanges-summary",
                "normalizedname": "recentchanges-summary",
                "*": "Track the most recent changes to the wiki on this page."
            },
            {
                "name": "recentchanges-timeout",
                "normalizedname": "recentchanges-timeout",
                "*": "This search has timed out. You may wish to try different search parameters."
            },
            {
                "name": "recentchanges-url",
                "normalizedname": "recentchanges-url",
                "*": "Special:RecentChanges"
            },
            {
                "name": "recentchangescount",
                "normalizedname": "recentchangescount",
                "*": "Number of edits to show in recent changes, page histories, and in logs, by default:"
            },
            {
                "name": "recentchangesdays",
                "normalizedname": "recentchangesdays",
                "*": "Days to show in recent changes:"
            },
            {
                "name": "recentchangesdays-max",
                "normalizedname": "recentchangesdays-max",
                "*": "Maximum $1 {{PLURAL:$1|day|days}}"
            },
            {
                "name": "recentchangeslinked",
                "normalizedname": "recentchangeslinked",
                "*": "Related changes"
            },
            {
                "name": "recentchangeslinked-feed",
                "normalizedname": "recentchangeslinked-feed",
                "*": "Related changes"
            },
            {
                "name": "recentchangeslinked-page",
                "normalizedname": "recentchangeslinked-page",
                "*": "Page name:"
            },
            {
                "name": "recentchangeslinked-summary",
                "normalizedname": "recentchangeslinked-summary",
                "*": "Enter a page name to see changes on pages linked to or from that page. (To see members of a category, enter Category:Name of category). Changes to pages on [[Special:Watchlist|your Watchlist]] are in <strong>bold</strong>."
            },
            {
                "name": "recentchangeslinked-title",
                "normalizedname": "recentchangeslinked-title",
                "*": "Changes related to \"$1\""
            },
            {
                "name": "recentchangeslinked-to",
                "normalizedname": "recentchangeslinked-to",
                "*": "Show changes to pages linked to the given page instead"
            },
            {
                "name": "recentchangeslinked-toolbox",
                "normalizedname": "recentchangeslinked-toolbox",
                "*": "Related changes"
            },
            {
                "name": "recentchangestext",
                "normalizedname": "recentchangestext",
                "*": "-"
            },
            {
                "name": "recreate",
                "normalizedname": "recreate",
                "*": "Recreate"
            },
            {
                "name": "recreate-moveddeleted-warn",
                "normalizedname": "recreate-moveddeleted-warn",
                "*": "<strong>Warning: You are recreating a page that was previously deleted.</strong>\n\nYou should consider whether it is appropriate to continue editing this page.\nThe deletion and move log for this page are provided here for convenience:"
            },
            {
                "name": "red-link-title",
                "normalizedname": "red-link-title",
                "*": "$1 (page does not exist)"
            },
            {
                "name": "redirect",
                "normalizedname": "redirect",
                "*": "Redirect by file, user, page, revision, or log ID"
            },
            {
                "name": "redirect-file",
                "normalizedname": "redirect-file",
                "*": "Filename"
            },
            {
                "name": "redirect-logid",
                "normalizedname": "redirect-logid",
                "*": "Log ID"
            },
            {
                "name": "redirect-lookup",
                "normalizedname": "redirect-lookup",
                "*": "Lookup:"
            },
            {
                "name": "redirect-not-exists",
                "normalizedname": "redirect-not-exists",
                "*": "Value not found"
            },
            {
                "name": "redirect-page",
                "normalizedname": "redirect-page",
                "*": "Page ID"
            },
            {
                "name": "redirect-revision",
                "normalizedname": "redirect-revision",
                "*": "Page revision"
            },
            {
                "name": "redirect-submit",
                "normalizedname": "redirect-submit",
                "*": "Go"
            },
            {
                "name": "redirect-summary",
                "normalizedname": "redirect-summary",
                "*": "This special page redirects to a file (given the filename), a page (given a revision ID or page ID), a user page (given a numeric user ID), or a log entry (given the log ID). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]]."
            },
            {
                "name": "redirect-text",
                "normalizedname": "redirect-text",
                "*": ""
            },
            {
                "name": "redirect-user",
                "normalizedname": "redirect-user",
                "*": "User ID"
            },
            {
                "name": "redirect-value",
                "normalizedname": "redirect-value",
                "*": "Value:"
            },
            {
                "name": "redirectedfrom",
                "normalizedname": "redirectedfrom",
                "*": "(Redirected from $1)"
            },
            {
                "name": "redirectpagesub",
                "normalizedname": "redirectpagesub",
                "*": "Redirect page"
            },
            {
                "name": "redirectto",
                "normalizedname": "redirectto",
                "*": "Redirect to:"
            },
            {
                "name": "removecredentials",
                "normalizedname": "removecredentials",
                "*": "Remove credentials"
            },
            {
                "name": "removecredentials-invalidsubpage",
                "normalizedname": "removecredentials-invalidsubpage",
                "*": "$1 is not a valid credential type."
            },
            {
                "name": "removecredentials-submit",
                "normalizedname": "removecredentials-submit",
                "*": "Remove credentials"
            },
            {
                "name": "removecredentials-success",
                "normalizedname": "removecredentials-success",
                "*": "Your credentials have been removed."
            },
            {
                "name": "removedwatchtext",
                "normalizedname": "removedwatchtext",
                "*": "\"[[:$1]]\" and its discussion page have been removed from your [[Special:Watchlist|watchlist]]."
            },
            {
                "name": "removedwatchtext-short",
                "normalizedname": "removedwatchtext-short",
                "*": "The page \"$1\" has been removed from your watchlist."
            },
            {
                "name": "removedwatchtext-talk",
                "normalizedname": "removedwatchtext-talk",
                "*": "\"[[:$1]]\" and its associated page have been removed from your [[Special:Watchlist|watchlist]]."
            },
            {
                "name": "removewatch",
                "normalizedname": "removewatch",
                "*": "Remove from watchlist"
            },
            {
                "name": "resetpass-abort-generic",
                "normalizedname": "resetpass-abort-generic",
                "*": "Password change has been aborted by an extension."
            },
            {
                "name": "resetpass-expired",
                "normalizedname": "resetpass-expired",
                "*": "Your password has expired. Please set a new password to log in."
            },
            {
                "name": "resetpass-expired-soft",
                "normalizedname": "resetpass-expired-soft",
                "*": "Your password has expired and needs to be reset. Please choose a new password now, or click \"{{int:authprovider-resetpass-skip-label}}\" to reset it later."
            },
            {
                "name": "resetpass-no-info",
                "normalizedname": "resetpass-no-info",
                "*": "You must be logged in to access this page directly."
            },
            {
                "name": "resetpass-recycled",
                "normalizedname": "resetpass-recycled",
                "*": "Please reset your password to something other than your current password."
            },
            {
                "name": "resetpass-submit-cancel",
                "normalizedname": "resetpass-submit-cancel",
                "*": "Cancel"
            },
            {
                "name": "resetpass-submit-loggedin",
                "normalizedname": "resetpass-submit-loggedin",
                "*": "Change password"
            },
            {
                "name": "resetpass-temp-emailed",
                "normalizedname": "resetpass-temp-emailed",
                "*": "You logged in with a temporary emailed code.\nTo finish logging in, you must set a new password here:"
            },
            {
                "name": "resetpass-temp-password",
                "normalizedname": "resetpass-temp-password",
                "*": "Temporary password:"
            },
            {
                "name": "resetpass-validity-soft",
                "normalizedname": "resetpass-validity-soft",
                "*": "Your password is not valid: $1\n\nPlease choose a new password now, or click \"{{int:authprovider-resetpass-skip-label}}\" to reset it later."
            },
            {
                "name": "resetpass-wrong-oldpass",
                "normalizedname": "resetpass-wrong-oldpass",
                "*": "Invalid temporary or current password.\nYou may have already changed your password or requested a new temporary password."
            },
            {
                "name": "resetpass_announce",
                "normalizedname": "resetpass_announce",
                "*": "To finish logging in, you must set a new password."
            },
            {
                "name": "resetpass_forbidden",
                "normalizedname": "resetpass_forbidden",
                "*": "Passwords cannot be changed"
            },
            {
                "name": "resetpass_forbidden-reason",
                "normalizedname": "resetpass_forbidden-reason",
                "*": "Passwords cannot be changed: $1"
            },
            {
                "name": "resetpass_header",
                "normalizedname": "resetpass_header",
                "*": "Change account password"
            },
            {
                "name": "resetpass_submit",
                "normalizedname": "resetpass_submit",
                "*": "Set password and log in"
            },
            {
                "name": "resetpass_text",
                "normalizedname": "resetpass_text",
                "*": "<!-- Add text here -->"
            },
            {
                "name": "resettokens",
                "normalizedname": "resettokens",
                "*": "Reset tokens"
            },
            {
                "name": "resettokens-done",
                "normalizedname": "resettokens-done",
                "*": "Tokens reset."
            },
            {
                "name": "resettokens-no-tokens",
                "normalizedname": "resettokens-no-tokens",
                "*": "There are no tokens to reset."
            },
            {
                "name": "resettokens-resetbutton",
                "normalizedname": "resettokens-resetbutton",
                "*": "Reset selected tokens"
            },
            {
                "name": "resettokens-summary",
                "normalizedname": "resettokens-summary",
                "*": ""
            },
            {
                "name": "resettokens-text",
                "normalizedname": "resettokens-text",
                "*": "You can reset tokens which allow access to certain private data associated with your account here.\n\nYou should do it if you accidentally shared them with someone or if your account has been compromised."
            },
            {
                "name": "resettokens-token-label",
                "normalizedname": "resettokens-token-label",
                "*": "$1 (current value: $2)"
            },
            {
                "name": "resettokens-tokens",
                "normalizedname": "resettokens-tokens",
                "*": "Tokens:"
            },
            {
                "name": "resettokens-watchlist-token",
                "normalizedname": "resettokens-watchlist-token",
                "*": "Token for the web feed (Atom/RSS) of [[Special:Watchlist|changes to pages on your watchlist]]"
            },
            {
                "name": "restore-count-files",
                "normalizedname": "restore-count-files",
                "*": "{{PLURAL:$1|1 file|$1 files}}"
            },
            {
                "name": "restore-count-revisions",
                "normalizedname": "restore-count-revisions",
                "*": "{{PLURAL:$1|1 revision|$1 revisions}}"
            },
            {
                "name": "restorelink",
                "normalizedname": "restorelink",
                "*": "{{PLURAL:$1|one deleted edit|$1 deleted edits}}"
            },
            {
                "name": "restoreprefs",
                "normalizedname": "restoreprefs",
                "*": "Restore all default settings (in all sections)"
            },
            {
                "name": "restricted-displaytitle",
                "normalizedname": "restricted-displaytitle",
                "*": "<strong>Warning:</strong> Display title \"$1\" was ignored since it is not equivalent to the page's actual title."
            },
            {
                "name": "restricted-displaytitle-ignored",
                "normalizedname": "restricted-displaytitle-ignored",
                "*": "Pages with ignored display titles"
            },
            {
                "name": "restricted-displaytitle-ignored-desc",
                "normalizedname": "restricted-displaytitle-ignored-desc",
                "*": "The page has an ignored <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> because it is not equivalent to the page's actual title."
            },
            {
                "name": "restriction-create",
                "normalizedname": "restriction-create",
                "*": "Create"
            },
            {
                "name": "restriction-edit",
                "normalizedname": "restriction-edit",
                "*": "Edit"
            },
            {
                "name": "restriction-level",
                "normalizedname": "restriction-level",
                "*": "Restriction level:"
            },
            {
                "name": "restriction-level-all",
                "normalizedname": "restriction-level-all",
                "*": "any level"
            },
            {
                "name": "restriction-level-autoconfirmed",
                "normalizedname": "restriction-level-autoconfirmed",
                "*": "semi protected"
            },
            {
                "name": "restriction-level-sysop",
                "normalizedname": "restriction-level-sysop",
                "*": "fully protected"
            },
            {
                "name": "restriction-move",
                "normalizedname": "restriction-move",
                "*": "Move"
            },
            {
                "name": "restriction-type",
                "normalizedname": "restriction-type",
                "*": "Permission:"
            },
            {
                "name": "restriction-upload",
                "normalizedname": "restriction-upload",
                "*": "Upload"
            },
            {
                "name": "restrictionsfield-badip",
                "normalizedname": "restrictionsfield-badip",
                "*": "Invalid IP address or range: $1"
            },
            {
                "name": "restrictionsfield-help",
                "normalizedname": "restrictionsfield-help",
                "*": "One IP address or CIDR range per line. To enable everything, use:<pre>0.0.0.0/0\n::/0</pre>"
            },
            {
                "name": "restrictionsfield-label",
                "normalizedname": "restrictionsfield-label",
                "*": "Allowed IP ranges:"
            },
            {
                "name": "retrievedfrom",
                "normalizedname": "retrievedfrom",
                "*": "Retrieved from \"$1\""
            },
            {
                "name": "returnto",
                "normalizedname": "returnto",
                "*": "Return to $1."
            },
            {
                "name": "retypenew",
                "normalizedname": "retypenew",
                "*": "Retype new password:"
            },
            {
                "name": "reuploaddesc",
                "normalizedname": "reuploaddesc",
                "*": "Cancel upload and return to the upload form"
            },
            {
                "name": "rev-deleted-comment",
                "normalizedname": "rev-deleted-comment",
                "*": "(edit summary removed)"
            },
            {
                "name": "rev-deleted-diff-view",
                "normalizedname": "rev-deleted-diff-view",
                "*": "One of the revisions of this diff has been <strong>deleted</strong>.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "rev-deleted-event",
                "normalizedname": "rev-deleted-event",
                "*": "(log details removed)"
            },
            {
                "name": "rev-deleted-no-diff",
                "normalizedname": "rev-deleted-no-diff",
                "*": "You cannot view this diff because one of the revisions has been <strong>deleted</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "rev-deleted-text-permission",
                "normalizedname": "rev-deleted-text-permission",
                "*": "This page revision has been <strong>deleted</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "rev-deleted-text-unhide",
                "normalizedname": "rev-deleted-text-unhide",
                "*": "This page revision has been <strong>deleted</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this revision] if you wish to proceed."
            },
            {
                "name": "rev-deleted-text-view",
                "normalizedname": "rev-deleted-text-view",
                "*": "This page revision has been <strong>deleted</strong>.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]."
            },
            {
                "name": "rev-deleted-unhide-diff",
                "normalizedname": "rev-deleted-unhide-diff",
                "*": "One of the revisions of this diff has been <strong>deleted</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this diff] if you wish to proceed."
            },
            {
                "name": "rev-deleted-user",
                "normalizedname": "rev-deleted-user",
                "*": "(username removed)"
            },
            {
                "name": "rev-deleted-user-contribs",
                "normalizedname": "rev-deleted-user-contribs",
                "*": "[username or IP address removed - edit hidden from contributions]"
            },
            {
                "name": "rev-delundel",
                "normalizedname": "rev-delundel",
                "*": "change visibility"
            },
            {
                "name": "rev-showdeleted",
                "normalizedname": "rev-showdeleted",
                "*": "show"
            },
            {
                "name": "rev-suppressed-diff-view",
                "normalizedname": "rev-suppressed-diff-view",
                "*": "One of the revisions of this diff has been <strong>suppressed</strong>.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log]."
            },
            {
                "name": "rev-suppressed-no-diff",
                "normalizedname": "rev-suppressed-no-diff",
                "*": "You cannot view this diff because one of the revisions has been <strong>deleted</strong>."
            },
            {
                "name": "rev-suppressed-text-permission",
                "normalizedname": "rev-suppressed-text-permission",
                "*": "This page revision has been <strong>suppressed</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log]."
            },
            {
                "name": "rev-suppressed-text-unhide",
                "normalizedname": "rev-suppressed-text-unhide",
                "*": "This page revision has been <strong>suppressed</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this revision] if you wish to proceed."
            },
            {
                "name": "rev-suppressed-text-view",
                "normalizedname": "rev-suppressed-text-view",
                "*": "This page revision has been <strong>suppressed</strong>.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log]."
            },
            {
                "name": "rev-suppressed-unhide-diff",
                "normalizedname": "rev-suppressed-unhide-diff",
                "*": "One of the revisions of this diff has been <strong>suppressed</strong>.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this diff] if you wish to proceed."
            },
            {
                "name": "revdel-restore",
                "normalizedname": "revdel-restore",
                "*": "change visibility"
            },
            {
                "name": "revdelete-concurrent-change",
                "normalizedname": "revdelete-concurrent-change",
                "*": "Error modifying the item dated $2, $1: Its status appears to have been changed by someone else while you attempted to modify it.\nPlease check the logs."
            },
            {
                "name": "revdelete-confirm",
                "normalizedname": "revdelete-confirm",
                "*": "Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]]."
            },
            {
                "name": "revdelete-content-hid",
                "normalizedname": "revdelete-content-hid",
                "*": "content hidden"
            },
            {
                "name": "revdelete-content-unhid",
                "normalizedname": "revdelete-content-unhid",
                "*": "content unhidden"
            },
            {
                "name": "revdelete-edit-reasonlist",
                "normalizedname": "revdelete-edit-reasonlist",
                "*": "Edit delete reasons"
            },
            {
                "name": "revdelete-failure",
                "normalizedname": "revdelete-failure",
                "*": "Revision visibility could not be updated:\n$1"
            },
            {
                "name": "revdelete-hide-comment",
                "normalizedname": "revdelete-hide-comment",
                "*": "Edit summary"
            },
            {
                "name": "revdelete-hide-current",
                "normalizedname": "revdelete-hide-current",
                "*": "Error hiding the item dated $2, $1: This is the current revision.\nIt cannot be hidden."
            },
            {
                "name": "revdelete-hide-image",
                "normalizedname": "revdelete-hide-image",
                "*": "Hide file content"
            },
            {
                "name": "revdelete-hide-name",
                "normalizedname": "revdelete-hide-name",
                "*": "Hide target and parameters"
            },
            {
                "name": "revdelete-hide-restricted",
                "normalizedname": "revdelete-hide-restricted",
                "*": "Suppress data from administrators as well as others"
            },
            {
                "name": "revdelete-hide-text",
                "normalizedname": "revdelete-hide-text",
                "*": "Revision text"
            },
            {
                "name": "revdelete-hide-user",
                "normalizedname": "revdelete-hide-user",
                "*": "Editor's username/IP address"
            },
            {
                "name": "revdelete-legend",
                "normalizedname": "revdelete-legend",
                "*": "Set visibility restrictions"
            },
            {
                "name": "revdelete-log",
                "normalizedname": "revdelete-log",
                "*": "Reason:"
            },
            {
                "name": "revdelete-modify-missing",
                "normalizedname": "revdelete-modify-missing",
                "*": "Error modifying item ID $1: It is missing from the database!"
            },
            {
                "name": "revdelete-modify-no-access",
                "normalizedname": "revdelete-modify-no-access",
                "*": "Error modifying the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it."
            },
            {
                "name": "revdelete-no-change",
                "normalizedname": "revdelete-no-change",
                "*": "<strong>Warning:</strong> The item dated $2, $1 already had the requested visibility settings."
            },
            {
                "name": "revdelete-no-file",
                "normalizedname": "revdelete-no-file",
                "*": "The file specified does not exist."
            },
            {
                "name": "revdelete-nooldid-text",
                "normalizedname": "revdelete-nooldid-text",
                "*": "You have either not specified any target revision on which to perform this function, or the specified revision does not exist, or you are attempting to hide the current revision."
            },
            {
                "name": "revdelete-nooldid-title",
                "normalizedname": "revdelete-nooldid-title",
                "*": "Invalid target revision"
            },
            {
                "name": "revdelete-offender",
                "normalizedname": "revdelete-offender",
                "*": "Revision author:"
            },
            {
                "name": "revdelete-only-restricted",
                "normalizedname": "revdelete-only-restricted",
                "*": "Error hiding the item dated $2, $1: You cannot suppress items from view by administrators without also selecting one of the other visibility options."
            },
            {
                "name": "revdelete-otherreason",
                "normalizedname": "revdelete-otherreason",
                "*": "Other/additional reason:"
            },
            {
                "name": "revdelete-radio-same",
                "normalizedname": "revdelete-radio-same",
                "*": "(do not change)"
            },
            {
                "name": "revdelete-radio-set",
                "normalizedname": "revdelete-radio-set",
                "*": "Hidden"
            },
            {
                "name": "revdelete-radio-unset",
                "normalizedname": "revdelete-radio-unset",
                "*": "Visible"
            },
            {
                "name": "revdelete-reason-dropdown",
                "normalizedname": "revdelete-reason-dropdown",
                "*": "*Common delete reasons\n** Copyright violation\n** Inappropriate comment or personal information\n** Inappropriate username\n** Potentially libelous information"
            },
            {
                "name": "revdelete-reasonotherlist",
                "normalizedname": "revdelete-reasonotherlist",
                "*": "Other reason"
            },
            {
                "name": "revdelete-restricted",
                "normalizedname": "revdelete-restricted",
                "*": "applied restrictions to administrators"
            },
            {
                "name": "revdelete-selected-file",
                "normalizedname": "revdelete-selected-file",
                "*": "{{PLURAL:$1|Selected file version|Selected file versions}} of [[:$2]]:"
            },
            {
                "name": "revdelete-selected-text",
                "normalizedname": "revdelete-selected-text",
                "*": "{{PLURAL:$1|Selected revision|Selected revisions}} of [[:$2]]:"
            },
            {
                "name": "revdelete-show-file-confirm",
                "normalizedname": "revdelete-show-file-confirm",
                "*": "Are you sure you want to view a deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?"
            },
            {
                "name": "revdelete-show-file-submit",
                "normalizedname": "revdelete-show-file-submit",
                "*": "Yes"
            },
            {
                "name": "revdelete-show-no-access",
                "normalizedname": "revdelete-show-no-access",
                "*": "Error showing the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it."
            },
            {
                "name": "revdelete-submit",
                "normalizedname": "revdelete-submit",
                "*": "Apply to selected {{PLURAL:$1|revision|revisions}}"
            },
            {
                "name": "revdelete-success",
                "normalizedname": "revdelete-success",
                "*": "Revision visibility updated."
            },
            {
                "name": "revdelete-summary-hid",
                "normalizedname": "revdelete-summary-hid",
                "*": "edit summary hidden"
            },
            {
                "name": "revdelete-summary-unhid",
                "normalizedname": "revdelete-summary-unhid",
                "*": "edit summary unhidden"
            },
            {
                "name": "revdelete-suppress",
                "normalizedname": "revdelete-suppress",
                "*": "Suppress data from administrators as well as others"
            },
            {
                "name": "revdelete-suppress-text",
                "normalizedname": "revdelete-suppress-text",
                "*": "Suppression should <strong>only</strong> be used for the following cases:\n* potentially libelous information\n* inappropriate personal information\n*: <em>home addresses and telephone numbers, national identification numbers, etc.</em>"
            },
            {
                "name": "revdelete-text-file",
                "normalizedname": "revdelete-text-file",
                "*": "Deleted file versions will still appear in the file history, but parts of their content will be inaccessible to the public."
            },
            {
                "name": "revdelete-text-others",
                "normalizedname": "revdelete-text-others",
                "*": "Other administrators will still be able to access the hidden content and to undelete it, unless additional restrictions are set."
            },
            {
                "name": "revdelete-text-text",
                "normalizedname": "revdelete-text-text",
                "*": "Deleted revisions will still appear in the page history, but parts of their content will be inaccessible to the public."
            },
            {
                "name": "revdelete-uname-hid",
                "normalizedname": "revdelete-uname-hid",
                "*": "username hidden"
            },
            {
                "name": "revdelete-uname-unhid",
                "normalizedname": "revdelete-uname-unhid",
                "*": "username unhidden"
            },
            {
                "name": "revdelete-unrestricted",
                "normalizedname": "revdelete-unrestricted",
                "*": "removed restrictions for administrators"
            },
            {
                "name": "revdelete-unsuppress",
                "normalizedname": "revdelete-unsuppress",
                "*": "Remove restrictions on restored revisions"
            },
            {
                "name": "reverted",
                "normalizedname": "reverted",
                "*": "Reverted to earlier revision"
            },
            {
                "name": "revertmerge",
                "normalizedname": "revertmerge",
                "*": "Unmerge"
            },
            {
                "name": "revertmove",
                "normalizedname": "revertmove",
                "*": "revert"
            },
            {
                "name": "revertpage",
                "normalizedname": "revertpage",
                "*": "Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last revision by [[User:$1|$1]]"
            },
            {
                "name": "revertpage-nouser",
                "normalizedname": "revertpage-nouser",
                "*": "Reverted edits by a hidden user to last revision by {{GENDER:$1|[[User:$1|$1]]}}"
            },
            {
                "name": "revid",
                "normalizedname": "revid",
                "*": "revision $1"
            },
            {
                "name": "revision-info",
                "normalizedname": "revision-info",
                "*": "Revision as of $1 by {{GENDER:$6|$2}}$7"
            },
            {
                "name": "revision-info-current",
                "normalizedname": "revision-info-current",
                "*": "-"
            },
            {
                "name": "revision-nav",
                "normalizedname": "revision-nav",
                "*": "($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)"
            },
            {
                "name": "revisionasof",
                "normalizedname": "revisionasof",
                "*": "Revision as of $1"
            },
            {
                "name": "revisiondelete",
                "normalizedname": "revisiondelete",
                "*": "Delete/undelete revisions"
            },
            {
                "name": "rfcurl",
                "normalizedname": "rfcurl",
                "*": "https://tools.ietf.org/html/rfc$1"
            },
            {
                "name": "right-apihighlimits",
                "normalizedname": "right-apihighlimits",
                "*": "Use higher limits in API queries"
            },
            {
                "name": "right-applychangetags",
                "normalizedname": "right-applychangetags",
                "*": "Apply [[Special:Tags|tags]] along with one's changes"
            },
            {
                "name": "right-autoconfirmed",
                "normalizedname": "right-autoconfirmed",
                "*": "Not be affected by IP-based rate limits"
            },
            {
                "name": "right-autocreateaccount",
                "normalizedname": "right-autocreateaccount",
                "*": "Automatically log in with an external user account"
            },
            {
                "name": "right-autopatrol",
                "normalizedname": "right-autopatrol",
                "*": "Have one's own edits automatically marked as patrolled"
            },
            {
                "name": "right-bigdelete",
                "normalizedname": "right-bigdelete",
                "*": "Delete pages with large histories"
            },
            {
                "name": "right-block",
                "normalizedname": "right-block",
                "*": "Block other users from editing"
            },
            {
                "name": "right-blockemail",
                "normalizedname": "right-blockemail",
                "*": "Block a user from sending email"
            },
            {
                "name": "right-bot",
                "normalizedname": "right-bot",
                "*": "Be treated as an automated process"
            },
            {
                "name": "right-browsearchive",
                "normalizedname": "right-browsearchive",
                "*": "Search deleted pages"
            },
            {
                "name": "right-changetags",
                "normalizedname": "right-changetags",
                "*": "Add and remove arbitrary [[Special:Tags|tags]] on individual revisions and log entries"
            },
            {
                "name": "right-createaccount",
                "normalizedname": "right-createaccount",
                "*": "Create new user accounts"
            },
            {
                "name": "right-createpage",
                "normalizedname": "right-createpage",
                "*": "Create pages (which are not discussion pages)"
            },
            {
                "name": "right-createtalk",
                "normalizedname": "right-createtalk",
                "*": "Create discussion pages"
            },
            {
                "name": "right-delete",
                "normalizedname": "right-delete",
                "*": "Delete pages"
            },
            {
                "name": "right-deletechangetags",
                "normalizedname": "right-deletechangetags",
                "*": "Delete [[Special:Tags|tags]] from the database"
            },
            {
                "name": "right-deletedhistory",
                "normalizedname": "right-deletedhistory",
                "*": "View deleted history entries, without their associated text"
            },
            {
                "name": "right-deletedtext",
                "normalizedname": "right-deletedtext",
                "*": "View deleted text and changes between deleted revisions"
            },
            {
                "name": "right-deletelogentry",
                "normalizedname": "right-deletelogentry",
                "*": "Delete and undelete specific log entries"
            },
            {
                "name": "right-deleterevision",
                "normalizedname": "right-deleterevision",
                "*": "Delete and undelete specific revisions of pages"
            },
            {
                "name": "right-edit",
                "normalizedname": "right-edit",
                "*": "Edit pages"
            },
            {
                "name": "right-editcontentmodel",
                "normalizedname": "right-editcontentmodel",
                "*": "Edit the content model of a page"
            },
            {
                "name": "right-editinterface",
                "normalizedname": "right-editinterface",
                "*": "Edit the user interface"
            },
            {
                "name": "right-editmyoptions",
                "normalizedname": "right-editmyoptions",
                "*": "Edit your own preferences"
            },
            {
                "name": "right-editmyprivateinfo",
                "normalizedname": "right-editmyprivateinfo",
                "*": "Edit your own private data (e.g. email address, real name)"
            },
            {
                "name": "right-editmyusercss",
                "normalizedname": "right-editmyusercss",
                "*": "Edit your own user CSS files"
            },
            {
                "name": "right-editmyuserjs",
                "normalizedname": "right-editmyuserjs",
                "*": "Edit your own user JavaScript files"
            },
            {
                "name": "right-editmyuserjson",
                "normalizedname": "right-editmyuserjson",
                "*": "Edit your own user JSON files"
            },
            {
                "name": "right-editmywatchlist",
                "normalizedname": "right-editmywatchlist",
                "*": "Edit your own watchlist. Note some actions will still add pages even without this right."
            },
            {
                "name": "right-editprotected",
                "normalizedname": "right-editprotected",
                "*": "Edit pages protected as \"{{int:protect-level-sysop}}\""
            },
            {
                "name": "right-editsemiprotected",
                "normalizedname": "right-editsemiprotected",
                "*": "Edit pages protected as \"{{int:protect-level-autoconfirmed}}\""
            },
            {
                "name": "right-editusercss",
                "normalizedname": "right-editusercss",
                "*": "Edit other users' CSS files"
            },
            {
                "name": "right-edituserjs",
                "normalizedname": "right-edituserjs",
                "*": "Edit other users' JavaScript files"
            },
            {
                "name": "right-edituserjson",
                "normalizedname": "right-edituserjson",
                "*": "Edit other users' JSON files"
            },
            {
                "name": "right-hideuser",
                "normalizedname": "right-hideuser",
                "*": "Block a username, hiding it from the public"
            },
            {
                "name": "right-import",
                "normalizedname": "right-import",
                "*": "Import pages from other wikis"
            },
            {
                "name": "right-importupload",
                "normalizedname": "right-importupload",
                "*": "Import pages from a file upload"
            },
            {
                "name": "right-ipblock-exempt",
                "normalizedname": "right-ipblock-exempt",
                "*": "Bypass IP blocks, auto-blocks and range blocks"
            },
            {
                "name": "right-managechangetags",
                "normalizedname": "right-managechangetags",
                "*": "Create and (de)activate [[Special:Tags|tags]]"
            },
            {
                "name": "right-markbotedits",
                "normalizedname": "right-markbotedits",
                "*": "Mark rolled-back edits as bot edits"
            },
            {
                "name": "right-mergehistory",
                "normalizedname": "right-mergehistory",
                "*": "Merge the history of pages"
            },
            {
                "name": "right-minoredit",
                "normalizedname": "right-minoredit",
                "*": "Mark edits as minor"
            },
            {
                "name": "right-move",
                "normalizedname": "right-move",
                "*": "Move pages"
            },
            {
                "name": "right-move-categorypages",
                "normalizedname": "right-move-categorypages",
                "*": "Move category pages"
            },
            {
                "name": "right-move-rootuserpages",
                "normalizedname": "right-move-rootuserpages",
                "*": "Move root user pages"
            },
            {
                "name": "right-move-subpages",
                "normalizedname": "right-move-subpages",
                "*": "Move pages with their subpages"
            },
            {
                "name": "right-movefile",
                "normalizedname": "right-movefile",
                "*": "Move files"
            },
            {
                "name": "right-nominornewtalk",
                "normalizedname": "right-nominornewtalk",
                "*": "Not have minor edits to discussion pages trigger the new messages prompt"
            },
            {
                "name": "right-noratelimit",
                "normalizedname": "right-noratelimit",
                "*": "Not be affected by rate limits"
            },
            {
                "name": "right-override-export-depth",
                "normalizedname": "right-override-export-depth",
                "*": "Export pages including linked pages up to a depth of 5"
            },
            {
                "name": "right-pagelang",
                "normalizedname": "right-pagelang",
                "*": "Change page language"
            },
            {
                "name": "right-patrol",
                "normalizedname": "right-patrol",
                "*": "Mark others' edits as patrolled"
            },
            {
                "name": "right-patrolmarks",
                "normalizedname": "right-patrolmarks",
                "*": "View recent changes patrol marks"
            },
            {
                "name": "right-protect",
                "normalizedname": "right-protect",
                "*": "Change protection levels and edit cascade-protected pages"
            },
            {
                "name": "right-purge",
                "normalizedname": "right-purge",
                "*": "Purge the site cache for a page without confirmation"
            },
            {
                "name": "right-read",
                "normalizedname": "right-read",
                "*": "Read pages"
            },
            {
                "name": "right-reupload",
                "normalizedname": "right-reupload",
                "*": "Overwrite existing files"
            },
            {
                "name": "right-reupload-own",
                "normalizedname": "right-reupload-own",
                "*": "Overwrite existing files uploaded by oneself"
            },
            {
                "name": "right-reupload-shared",
                "normalizedname": "right-reupload-shared",
                "*": "Override files on the shared media repository locally"
            },
            {
                "name": "right-rollback",
                "normalizedname": "right-rollback",
                "*": "Quickly rollback the edits of the last user who edited a particular page"
            },
            {
                "name": "right-sendemail",
                "normalizedname": "right-sendemail",
                "*": "Send email to other users"
            },
            {
                "name": "right-siteadmin",
                "normalizedname": "right-siteadmin",
                "*": "Lock and unlock the database"
            },
            {
                "name": "right-skipcaptcha",
                "normalizedname": "right-skipcaptcha",
                "*": "Perform CAPTCHA-triggering actions without having to go through the CAPTCHA"
            },
            {
                "name": "right-suppressionlog",
                "normalizedname": "right-suppressionlog",
                "*": "View private logs"
            },
            {
                "name": "right-suppressredirect",
                "normalizedname": "right-suppressredirect",
                "*": "Not create redirects from source pages when moving pages"
            },
            {
                "name": "right-suppressrevision",
                "normalizedname": "right-suppressrevision",
                "*": "View, hide and unhide specific revisions of pages from any user"
            },
            {
                "name": "right-unblockself",
                "normalizedname": "right-unblockself",
                "*": "Unblock oneself"
            },
            {
                "name": "right-undelete",
                "normalizedname": "right-undelete",
                "*": "Undelete a page"
            },
            {
                "name": "right-unwatchedpages",
                "normalizedname": "right-unwatchedpages",
                "*": "View a list of unwatched pages"
            },
            {
                "name": "right-upload",
                "normalizedname": "right-upload",
                "*": "Upload files"
            },
            {
                "name": "right-upload_by_url",
                "normalizedname": "right-upload_by_url",
                "*": "Upload files from a URL"
            },
            {
                "name": "right-userrights",
                "normalizedname": "right-userrights",
                "*": "Edit all user rights"
            },
            {
                "name": "right-userrights-interwiki",
                "normalizedname": "right-userrights-interwiki",
                "*": "Edit user rights of users on other wikis"
            },
            {
                "name": "right-viewmyprivateinfo",
                "normalizedname": "right-viewmyprivateinfo",
                "*": "View your own private data (e.g. email address, real name)"
            },
            {
                "name": "right-viewmywatchlist",
                "normalizedname": "right-viewmywatchlist",
                "*": "View your own watchlist"
            },
            {
                "name": "right-viewsuppressed",
                "normalizedname": "right-viewsuppressed",
                "*": "View revisions hidden from any user"
            },
            {
                "name": "right-writeapi",
                "normalizedname": "right-writeapi",
                "*": "Use of the write API"
            },
            {
                "name": "rightslog",
                "normalizedname": "rightslog",
                "*": "User rights log"
            },
            {
                "name": "rightslogentry",
                "normalizedname": "rightslogentry",
                "*": "changed group membership for $1 from $2 to $3"
            },
            {
                "name": "rightslogentry-autopromote",
                "normalizedname": "rightslogentry-autopromote",
                "*": "was automatically promoted from $2 to $3"
            },
            {
                "name": "rightslogentry-temporary-group",
                "normalizedname": "rightslogentry-temporary-group",
                "*": "$1 (temporary, until $2)"
            },
            {
                "name": "rightslogtext",
                "normalizedname": "rightslogtext",
                "*": "This is a log of changes to user rights."
            },
            {
                "name": "rightsnone",
                "normalizedname": "rightsnone",
                "*": "(none)"
            },
            {
                "name": "rollback",
                "normalizedname": "rollback",
                "*": "Roll back edits"
            },
            {
                "name": "rollback-missingparam",
                "normalizedname": "rollback-missingparam",
                "*": "Missing required parameters on request."
            },
            {
                "name": "rollback-missingrevision",
                "normalizedname": "rollback-missingrevision",
                "*": "Unable to load revision data."
            },
            {
                "name": "rollback-success",
                "normalizedname": "rollback-success",
                "*": "Reverted edits by {{GENDER:$3|$1}};\nchanged back to last revision by {{GENDER:$4|$2}}."
            },
            {
                "name": "rollback-success-notify",
                "normalizedname": "rollback-success-notify",
                "*": "Reverted edits by $1;\nchanged back to last revision by $2. [$3 Show changes]"
            },
            {
                "name": "rollbackfailed",
                "normalizedname": "rollbackfailed",
                "*": "Rollback failed"
            },
            {
                "name": "rollbacklink",
                "normalizedname": "rollbacklink",
                "*": "rollback"
            },
            {
                "name": "rollbacklinkcount",
                "normalizedname": "rollbacklinkcount",
                "*": "rollback $1 {{PLURAL:$1|edit|edits}}"
            },
            {
                "name": "rollbacklinkcount-morethan",
                "normalizedname": "rollbacklinkcount-morethan",
                "*": "rollback more than $1 {{PLURAL:$1|edit|edits}}"
            },
            {
                "name": "rotate-comment",
                "normalizedname": "rotate-comment",
                "*": "Image rotated by $1 {{PLURAL:$1|degree|degrees}} clockwise"
            },
            {
                "name": "sat",
                "normalizedname": "sat",
                "*": "Sat"
            },
            {
                "name": "saturday",
                "normalizedname": "saturday",
                "*": "Saturday"
            },
            {
                "name": "saturday-at",
                "normalizedname": "saturday-at",
                "*": "Saturday at $1"
            },
            {
                "name": "savearticle",
                "normalizedname": "savearticle",
                "*": "Save page"
            },
            {
                "name": "savearticle-start",
                "normalizedname": "savearticle-start",
                "*": "Save page\u2026"
            },
            {
                "name": "savechanges",
                "normalizedname": "savechanges",
                "*": "Save changes"
            },
            {
                "name": "savechanges-start",
                "normalizedname": "savechanges-start",
                "*": "Save changes\u2026"
            },
            {
                "name": "savedprefs",
                "normalizedname": "savedprefs",
                "*": "Your preferences have been saved."
            },
            {
                "name": "savedrights",
                "normalizedname": "savedrights",
                "*": "The user groups of {{GENDER:$1|$1}} have been saved."
            },
            {
                "name": "savefile",
                "normalizedname": "savefile",
                "*": "Save file"
            },
            {
                "name": "saveprefs",
                "normalizedname": "saveprefs",
                "*": "Save"
            },
            {
                "name": "saveusergroups",
                "normalizedname": "saveusergroups",
                "*": "Save {{GENDER:$1|user}} groups"
            },
            {
                "name": "scarytranscludedisabled",
                "normalizedname": "scarytranscludedisabled",
                "*": "[Interwiki transcluding is disabled]"
            },
            {
                "name": "scarytranscludefailed",
                "normalizedname": "scarytranscludefailed",
                "*": "[Template fetch failed for $1]"
            },
            {
                "name": "scarytranscludefailed-httpstatus",
                "normalizedname": "scarytranscludefailed-httpstatus",
                "*": "[Template fetch failed for $1: HTTP $2]"
            },
            {
                "name": "scarytranscludetoolong",
                "normalizedname": "scarytranscludetoolong",
                "*": "[URL is too long]"
            },
            {
                "name": "search",
                "normalizedname": "search",
                "*": "Search"
            },
            {
                "name": "search-category",
                "normalizedname": "search-category",
                "*": "(category $1)"
            },
            {
                "name": "search-error",
                "normalizedname": "search-error",
                "*": "An error has occurred while searching: $1"
            },
            {
                "name": "search-external",
                "normalizedname": "search-external",
                "*": "External search"
            },
            {
                "name": "search-file-match",
                "normalizedname": "search-file-match",
                "*": "(matches file content)"
            },
            {
                "name": "search-ignored-headings",
                "normalizedname": "search-ignored-headings",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# Headings that will be ignored by search.\n# Changes to this take effect as soon as the page with the heading is indexed.\n# You can force page reindexing by doing a null edit.\n# The syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment.\n#   * Every non-blank line is the exact title to ignore, case and everything.\nReferences\nExternal links\nSee also\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "name": "search-interwiki-caption",
                "normalizedname": "search-interwiki-caption",
                "*": "Results from sister projects"
            },
            {
                "name": "search-interwiki-custom",
                "normalizedname": "search-interwiki-custom",
                "*": ""
            },
            {
                "name": "search-interwiki-default",
                "normalizedname": "search-interwiki-default",
                "*": "Results from $1:"
            },
            {
                "name": "search-interwiki-more",
                "normalizedname": "search-interwiki-more",
                "*": "(more)"
            },
            {
                "name": "search-interwiki-more-results",
                "normalizedname": "search-interwiki-more-results",
                "*": "more results"
            },
            {
                "name": "search-nonefound",
                "normalizedname": "search-nonefound",
                "*": "There were no results matching the query."
            },
            {
                "name": "search-nonefound-thiswiki",
                "normalizedname": "search-nonefound-thiswiki",
                "*": "There were no results matching the query in this site."
            },
            {
                "name": "search-redirect",
                "normalizedname": "search-redirect",
                "*": "(redirect from $1)"
            },
            {
                "name": "search-relatedarticle",
                "normalizedname": "search-relatedarticle",
                "*": "Related"
            },
            {
                "name": "search-result-category-size",
                "normalizedname": "search-result-category-size",
                "*": "{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})"
            },
            {
                "name": "search-result-size",
                "normalizedname": "search-result-size",
                "*": "$1 ({{PLURAL:$2|1 word|$2 words}})"
            },
            {
                "name": "search-rewritten",
                "normalizedname": "search-rewritten",
                "*": "Showing results for $1. Search instead for $2."
            },
            {
                "name": "search-section",
                "normalizedname": "search-section",
                "*": "(section $1)"
            },
            {
                "name": "search-showingresults",
                "normalizedname": "search-showingresults",
                "*": "{{PLURAL:$4|Result <strong>$1</strong> of <strong>$3</strong>|Results <strong>$1 \u2013 $2</strong> of <strong>$3</strong>}}"
            },
            {
                "name": "search-suggest",
                "normalizedname": "search-suggest",
                "*": "Did you mean: $1"
            },
            {
                "name": "search-summary",
                "normalizedname": "search-summary",
                "*": ""
            },
            {
                "name": "search-warning",
                "normalizedname": "search-warning",
                "*": "A warning has occured while searching: $1"
            },
            {
                "name": "searchall",
                "normalizedname": "searchall",
                "*": "all"
            },
            {
                "name": "searcharticle",
                "normalizedname": "searcharticle",
                "*": "Go"
            },
            {
                "name": "searchbutton",
                "normalizedname": "searchbutton",
                "*": "Search"
            },
            {
                "name": "searchdisabled",
                "normalizedname": "searchdisabled",
                "*": "{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date."
            },
            {
                "name": "searchmenu-exists",
                "normalizedname": "searchmenu-exists",
                "*": "<strong>There is a page named \"[[:$1]]\" on this wiki.</strong> {{PLURAL:$2|0=|See also the other search results found.}}"
            },
            {
                "name": "searchmenu-new",
                "normalizedname": "searchmenu-new",
                "*": "<strong>Create the page \"[[:$1]]\" on this wiki!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}"
            },
            {
                "name": "searchmenu-new-nocreate",
                "normalizedname": "searchmenu-new-nocreate",
                "*": ""
            },
            {
                "name": "searchprofile-advanced",
                "normalizedname": "searchprofile-advanced",
                "*": "Advanced"
            },
            {
                "name": "searchprofile-advanced-tooltip",
                "normalizedname": "searchprofile-advanced-tooltip",
                "*": "Search in custom namespaces"
            },
            {
                "name": "searchprofile-articles",
                "normalizedname": "searchprofile-articles",
                "*": "Content pages"
            },
            {
                "name": "searchprofile-articles-tooltip",
                "normalizedname": "searchprofile-articles-tooltip",
                "*": "Search in $1"
            },
            {
                "name": "searchprofile-everything",
                "normalizedname": "searchprofile-everything",
                "*": "Everything"
            },
            {
                "name": "searchprofile-everything-tooltip",
                "normalizedname": "searchprofile-everything-tooltip",
                "*": "Search all of content (including talk pages)"
            },
            {
                "name": "searchprofile-images",
                "normalizedname": "searchprofile-images",
                "*": "Multimedia"
            },
            {
                "name": "searchprofile-images-tooltip",
                "normalizedname": "searchprofile-images-tooltip",
                "*": "Search for files"
            },
            {
                "name": "searchrelated",
                "normalizedname": "searchrelated",
                "*": "related"
            },
            {
                "name": "searchresults",
                "normalizedname": "searchresults",
                "*": "Search results"
            },
            {
                "name": "searchresults-title",
                "normalizedname": "searchresults-title",
                "*": "Search results for \"$1\""
            },
            {
                "name": "searchresultshead",
                "normalizedname": "searchresultshead",
                "*": "Search"
            },
            {
                "name": "searchsuggest-containing",
                "normalizedname": "searchsuggest-containing",
                "*": "containing..."
            },
            {
                "name": "searchsuggest-search",
                "normalizedname": "searchsuggest-search",
                "*": "Search {{SITENAME}}"
            },
            {
                "name": "seconds",
                "normalizedname": "seconds",
                "*": "{{PLURAL:$1|$1 second|$1 seconds}}"
            },
            {
                "name": "seconds-abbrev",
                "normalizedname": "seconds-abbrev",
                "*": "$1 s"
            },
            {
                "name": "seconds-ago",
                "normalizedname": "seconds-ago",
                "*": "$1 {{PLURAL:$1|second|seconds}} ago"
            },
            {
                "name": "sectioneditnotsupported-text",
                "normalizedname": "sectioneditnotsupported-text",
                "*": "Section editing is not supported in this page."
            },
            {
                "name": "sectioneditnotsupported-title",
                "normalizedname": "sectioneditnotsupported-title",
                "*": "Section editing not supported"
            },
            {
                "name": "selfmove",
                "normalizedname": "selfmove",
                "*": " The title is the same;\ncannot move a page over itself."
            },
            {
                "name": "selfredirect",
                "normalizedname": "selfredirect",
                "*": "<strong>Warning:</strong> You are redirecting this page to itself.\nYou may have specified the wrong target for the redirect, or you may be editing the wrong page.\nIf you click \"$1\" again, the redirect will be created anyway."
            },
            {
                "name": "semicolon-separator",
                "normalizedname": "semicolon-separator",
                "*": "; "
            },
            {
                "name": "semiprotectedpagemovewarning",
                "normalizedname": "semiprotectedpagemovewarning",
                "*": "<strong>Note:</strong> This page has been protected so that only autoconfirmed users can move it.\nThe latest log entry is provided below for reference:"
            },
            {
                "name": "semiprotectedpagewarning",
                "normalizedname": "semiprotectedpagewarning",
                "*": "<strong>Note:</strong> This page has been protected so that only autoconfirmed users can edit it.\nThe latest log entry is provided below for reference:"
            },
            {
                "name": "sep",
                "normalizedname": "sep",
                "*": "Sep"
            },
            {
                "name": "september",
                "normalizedname": "september",
                "*": "September"
            },
            {
                "name": "september-date",
                "normalizedname": "september-date",
                "*": "September $1"
            },
            {
                "name": "september-gen",
                "normalizedname": "september-gen",
                "*": "September"
            },
            {
                "name": "servertime",
                "normalizedname": "servertime",
                "*": "Server time:"
            },
            {
                "name": "session_fail_preview",
                "normalizedname": "session_fail_preview",
                "*": "Sorry! We could not process your edit due to a loss of session data.\n\nYou might have been logged out. <strong>Please verify that you're still logged in and try again</strong>.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site."
            },
            {
                "name": "session_fail_preview_html",
                "normalizedname": "session_fail_preview_html",
                "*": "Sorry! We could not process your edit due to a loss of session data.\n\n<em>Because {{SITENAME}} has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.</em>\n\n<strong>If this is a legitimate edit attempt, please try again.</strong>\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in, and check that your browser allows cookies from this site."
            },
            {
                "name": "sessionfailure",
                "normalizedname": "sessionfailure",
                "*": "There seems to be a problem with your login session;\nthis action has been canceled as a precaution against session hijacking.\nPlease resubmit the form."
            },
            {
                "name": "sessionfailure-title",
                "normalizedname": "sessionfailure-title",
                "*": "Session failure"
            },
            {
                "name": "sessionmanager-tie",
                "normalizedname": "sessionmanager-tie",
                "*": "Cannot combine multiple request authentication types: $1."
            },
            {
                "name": "sessionprovider-generic",
                "normalizedname": "sessionprovider-generic",
                "*": "$1 sessions"
            },
            {
                "name": "sessionprovider-mediawiki-session-cookiesessionprovider",
                "normalizedname": "sessionprovider-mediawiki-session-cookiesessionprovider",
                "*": "cookie-based sessions"
            },
            {
                "name": "sessionprovider-nocookies",
                "normalizedname": "sessionprovider-nocookies",
                "*": "Cookies may be disabled. Ensure you have cookies enabled and start again."
            },
            {
                "name": "shared-repo",
                "normalizedname": "shared-repo",
                "*": "a shared repository"
            },
            {
                "name": "shared-repo-from",
                "normalizedname": "shared-repo-from",
                "*": "from $1"
            },
            {
                "name": "shared-repo-name-wikimediacommons",
                "normalizedname": "shared-repo-name-wikimediacommons",
                "*": "Wikimedia Commons"
            },
            {
                "name": "shareddescriptionfollows",
                "normalizedname": "shareddescriptionfollows",
                "*": "-"
            },
            {
                "name": "sharedupload",
                "normalizedname": "sharedupload",
                "*": "This file is from $1 and may be used by other projects."
            },
            {
                "name": "sharedupload-desc-create",
                "normalizedname": "sharedupload-desc-create",
                "*": "This file is from $1 and may be used by other projects.\nMaybe you want to edit the description on its [$2 file description page] there."
            },
            {
                "name": "sharedupload-desc-edit",
                "normalizedname": "sharedupload-desc-edit",
                "*": "This file is from $1 and may be used by other projects.\nMaybe you want to edit the description on its [$2 file description page] there."
            },
            {
                "name": "sharedupload-desc-here",
                "normalizedname": "sharedupload-desc-here",
                "*": "This file is from $1 and may be used by other projects.\nThe description on its [$2 file description page] there is shown below."
            },
            {
                "name": "sharedupload-desc-there",
                "normalizedname": "sharedupload-desc-there",
                "*": "This file is from $1 and may be used by other projects.\nPlease see the [$2 file description page] for further information."
            },
            {
                "name": "shortpages",
                "normalizedname": "shortpages",
                "*": "Short pages"
            },
            {
                "name": "shortpages-summary",
                "normalizedname": "shortpages-summary",
                "*": ""
            },
            {
                "name": "show",
                "normalizedname": "show",
                "*": "Show"
            },
            {
                "name": "show-big-image",
                "normalizedname": "show-big-image",
                "*": "Original file"
            },
            {
                "name": "show-big-image-other",
                "normalizedname": "show-big-image-other",
                "*": "Other {{PLURAL:$2|resolution|resolutions}}: $1."
            },
            {
                "name": "show-big-image-preview",
                "normalizedname": "show-big-image-preview",
                "*": "Size of this preview: $1."
            },
            {
                "name": "show-big-image-preview-differ",
                "normalizedname": "show-big-image-preview-differ",
                "*": "Size of this $3 preview of this $2 file: $1."
            },
            {
                "name": "show-big-image-size",
                "normalizedname": "show-big-image-size",
                "*": "$1 \u00d7 $2 pixels"
            },
            {
                "name": "showdiff",
                "normalizedname": "showdiff",
                "*": "Show changes"
            },
            {
                "name": "showhideselectedlogentries",
                "normalizedname": "showhideselectedlogentries",
                "*": "Change visibility of selected log entries"
            },
            {
                "name": "showhideselectedversions",
                "normalizedname": "showhideselectedversions",
                "*": "Change visibility of selected revisions"
            },
            {
                "name": "showingresults",
                "normalizedname": "showingresults",
                "*": "Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} starting with #<strong>$2</strong>."
            },
            {
                "name": "showingresultsinrange",
                "normalizedname": "showingresultsinrange",
                "*": "Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} in range #<strong>$2</strong> to #<strong>$3</strong>."
            },
            {
                "name": "shown-title",
                "normalizedname": "shown-title",
                "*": "Show $1 {{PLURAL:$1|result|results}} per page"
            },
            {
                "name": "showpreview",
                "normalizedname": "showpreview",
                "*": "Show preview"
            },
            {
                "name": "showtoc",
                "normalizedname": "showtoc",
                "*": "show"
            },
            {
                "name": "sidebar",
                "normalizedname": "sidebar",
                "*": "\n* navigation\n** mainpage|mainpage-description\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES"
            },
            {
                "name": "sig-text",
                "normalizedname": "sig-text",
                "*": "--$1"
            },
            {
                "name": "sig_tip",
                "normalizedname": "sig_tip",
                "*": "Your signature with timestamp"
            },
            {
                "name": "signature",
                "normalizedname": "signature",
                "*": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])"
            },
            {
                "name": "signature-anon",
                "normalizedname": "signature-anon",
                "*": "[[{{#special:Contributions}}/$1|$2]]"
            },
            {
                "name": "signupend",
                "normalizedname": "signupend",
                "*": ""
            },
            {
                "name": "signupend-https",
                "normalizedname": "signupend-https",
                "*": ""
            },
            {
                "name": "signupstart",
                "normalizedname": "signupstart",
                "*": ""
            },
            {
                "name": "simpleantispam-label",
                "normalizedname": "simpleantispam-label",
                "*": "Anti-spam check.\nDo <strong>not</strong> fill this in!"
            },
            {
                "name": "site-atom-feed",
                "normalizedname": "site-atom-feed",
                "*": "$1 Atom feed"
            },
            {
                "name": "site-rss-feed",
                "normalizedname": "site-rss-feed",
                "*": "$1 RSS feed"
            },
            {
                "name": "sitecsspreview",
                "normalizedname": "sitecsspreview",
                "*": "<strong>Remember that you are only previewing this CSS.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "sitejsonpreview",
                "normalizedname": "sitejsonpreview",
                "*": "<strong>Remember that you are only previewing this JSON config.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "sitejspreview",
                "normalizedname": "sitejspreview",
                "*": "<strong>Remember that you are only previewing this JavaScript code.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "sitenotice",
                "normalizedname": "sitenotice",
                "*": "-"
            },
            {
                "name": "sitesubtitle",
                "normalizedname": "sitesubtitle",
                "*": ""
            },
            {
                "name": "sitetitle",
                "normalizedname": "sitetitle",
                "*": "{{SITENAME}}"
            },
            {
                "name": "siteuser",
                "normalizedname": "siteuser",
                "*": "{{SITENAME}} user $1"
            },
            {
                "name": "siteusers",
                "normalizedname": "siteusers",
                "*": "{{SITENAME}} {{PLURAL:$2|{{GENDER:$1|user}}|users}} $1"
            },
            {
                "name": "size-bytes",
                "normalizedname": "size-bytes",
                "*": "$1 {{PLURAL:$1|byte|bytes}}"
            },
            {
                "name": "size-exabytes",
                "normalizedname": "size-exabytes",
                "*": "$1 EB"
            },
            {
                "name": "size-exapixel",
                "normalizedname": "size-exapixel",
                "*": "$1 EP"
            },
            {
                "name": "size-gigabytes",
                "normalizedname": "size-gigabytes",
                "*": "$1 GB"
            },
            {
                "name": "size-gigapixel",
                "normalizedname": "size-gigapixel",
                "*": "$1 GP"
            },
            {
                "name": "size-kilobytes",
                "normalizedname": "size-kilobytes",
                "*": "$1 KB"
            },
            {
                "name": "size-kilopixel",
                "normalizedname": "size-kilopixel",
                "*": "$1 KP"
            },
            {
                "name": "size-megabytes",
                "normalizedname": "size-megabytes",
                "*": "$1 MB"
            },
            {
                "name": "size-megapixel",
                "normalizedname": "size-megapixel",
                "*": "$1 MP"
            },
            {
                "name": "size-petabytes",
                "normalizedname": "size-petabytes",
                "*": "$1 PB"
            },
            {
                "name": "size-petapixel",
                "normalizedname": "size-petapixel",
                "*": "$1 PP"
            },
            {
                "name": "size-pixel",
                "normalizedname": "size-pixel",
                "*": "$1 {{PLURAL:$1|pixel|pixels}}"
            },
            {
                "name": "size-terabytes",
                "normalizedname": "size-terabytes",
                "*": "$1 TB"
            },
            {
                "name": "size-terapixel",
                "normalizedname": "size-terapixel",
                "*": "$1 TP"
            },
            {
                "name": "size-yottabytes",
                "normalizedname": "size-yottabytes",
                "*": "$1 YB"
            },
            {
                "name": "size-yottapixel",
                "normalizedname": "size-yottapixel",
                "*": "$1 YP"
            },
            {
                "name": "size-zetabytes",
                "normalizedname": "size-zetabytes",
                "*": "$1 ZB"
            },
            {
                "name": "size-zetapixel",
                "normalizedname": "size-zetapixel",
                "*": "$1 ZP"
            },
            {
                "name": "skin-preview",
                "normalizedname": "skin-preview",
                "*": "Preview"
            },
            {
                "name": "skinname-monobook",
                "normalizedname": "skinname-monobook",
                "*": "MonoBook"
            },
            {
                "name": "skinname-timeless",
                "normalizedname": "skinname-timeless",
                "*": "Timeless"
            },
            {
                "name": "skinname-vector",
                "normalizedname": "skinname-vector",
                "*": "Vector"
            },
            {
                "name": "softblockrangesreason",
                "normalizedname": "softblockrangesreason",
                "*": "Anonymous contributions are not allowed from your IP address ($1). Please log in."
            },
            {
                "name": "sorbs",
                "normalizedname": "sorbs",
                "*": "DNSBL"
            },
            {
                "name": "sorbs_create_account_reason",
                "normalizedname": "sorbs_create_account_reason",
                "*": "Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\nYou cannot create an account."
            },
            {
                "name": "sorbsreason",
                "normalizedname": "sorbsreason",
                "*": "Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}."
            },
            {
                "name": "sort-ascending",
                "normalizedname": "sort-ascending",
                "*": "Sort ascending"
            },
            {
                "name": "sort-descending",
                "normalizedname": "sort-descending",
                "*": "Sort descending"
            },
            {
                "name": "sourcefilename",
                "normalizedname": "sourcefilename",
                "*": "Source filename:"
            },
            {
                "name": "sourceurl",
                "normalizedname": "sourceurl",
                "*": "Source URL:"
            },
            {
                "name": "sp-contributions-blocked-notice",
                "normalizedname": "sp-contributions-blocked-notice",
                "*": "This user is currently blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "sp-contributions-blocked-notice-anon",
                "normalizedname": "sp-contributions-blocked-notice-anon",
                "*": "This IP address is currently blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "sp-contributions-blocklog",
                "normalizedname": "sp-contributions-blocklog",
                "*": "block log"
            },
            {
                "name": "sp-contributions-deleted",
                "normalizedname": "sp-contributions-deleted",
                "*": "deleted {{GENDER:$1|user}} contributions"
            },
            {
                "name": "sp-contributions-explain",
                "normalizedname": "sp-contributions-explain",
                "*": ""
            },
            {
                "name": "sp-contributions-footer",
                "normalizedname": "sp-contributions-footer",
                "*": "-"
            },
            {
                "name": "sp-contributions-footer-anon",
                "normalizedname": "sp-contributions-footer-anon",
                "*": "-"
            },
            {
                "name": "sp-contributions-footer-anon-range",
                "normalizedname": "sp-contributions-footer-anon-range",
                "*": "-"
            },
            {
                "name": "sp-contributions-footer-newbies",
                "normalizedname": "sp-contributions-footer-newbies",
                "*": "-"
            },
            {
                "name": "sp-contributions-hideminor",
                "normalizedname": "sp-contributions-hideminor",
                "*": "Hide minor edits"
            },
            {
                "name": "sp-contributions-logs",
                "normalizedname": "sp-contributions-logs",
                "*": "logs"
            },
            {
                "name": "sp-contributions-newbies",
                "normalizedname": "sp-contributions-newbies",
                "*": "Show contributions of new accounts only"
            },
            {
                "name": "sp-contributions-newbies-sub",
                "normalizedname": "sp-contributions-newbies-sub",
                "*": "For new accounts"
            },
            {
                "name": "sp-contributions-newbies-title",
                "normalizedname": "sp-contributions-newbies-title",
                "*": "User contributions for new accounts"
            },
            {
                "name": "sp-contributions-newonly",
                "normalizedname": "sp-contributions-newonly",
                "*": "Only show edits that are page creations"
            },
            {
                "name": "sp-contributions-outofrange",
                "normalizedname": "sp-contributions-outofrange",
                "*": "Unable to show any results. The requested IP range is larger than the CIDR limit of /$1."
            },
            {
                "name": "sp-contributions-search",
                "normalizedname": "sp-contributions-search",
                "*": "Search for contributions"
            },
            {
                "name": "sp-contributions-submit",
                "normalizedname": "sp-contributions-submit",
                "*": "Search"
            },
            {
                "name": "sp-contributions-suppresslog",
                "normalizedname": "sp-contributions-suppresslog",
                "*": "suppressed {{GENDER:$1|user}} contributions"
            },
            {
                "name": "sp-contributions-talk",
                "normalizedname": "sp-contributions-talk",
                "*": "talk"
            },
            {
                "name": "sp-contributions-toponly",
                "normalizedname": "sp-contributions-toponly",
                "*": "Only show edits that are latest revisions"
            },
            {
                "name": "sp-contributions-uploads",
                "normalizedname": "sp-contributions-uploads",
                "*": "uploads"
            },
            {
                "name": "sp-contributions-username",
                "normalizedname": "sp-contributions-username",
                "*": "IP address or username:"
            },
            {
                "name": "sp-contributions-userrights",
                "normalizedname": "sp-contributions-userrights",
                "*": "{{GENDER:$1|user}} rights management"
            },
            {
                "name": "sp-deletedcontributions-contribs",
                "normalizedname": "sp-deletedcontributions-contribs",
                "*": "contributions"
            },
            {
                "name": "sp-newimages-showfrom",
                "normalizedname": "sp-newimages-showfrom",
                "*": "Show new files starting from $2, $1"
            },
            {
                "name": "spam_blanking",
                "normalizedname": "spam_blanking",
                "*": "All revisions contained links to $1, blanking"
            },
            {
                "name": "spam_deleting",
                "normalizedname": "spam_deleting",
                "*": "All revisions contained links to $1, deleting"
            },
            {
                "name": "spam_reverting",
                "normalizedname": "spam_reverting",
                "*": "Reverting to last revision not containing links to $1"
            },
            {
                "name": "spambot_username",
                "normalizedname": "spambot_username",
                "*": "MediaWiki spam cleanup"
            },
            {
                "name": "spamprotectionmatch",
                "normalizedname": "spamprotectionmatch",
                "*": "The following text is what triggered our spam filter: $1"
            },
            {
                "name": "spamprotectiontext",
                "normalizedname": "spamprotectiontext",
                "*": "The text you wanted to save was blocked by the spam filter.\nThis is probably caused by a link to a blacklisted external site."
            },
            {
                "name": "spamprotectiontitle",
                "normalizedname": "spamprotectiontitle",
                "*": "Spam protection filter"
            },
            {
                "name": "special-characters-group-arabic",
                "normalizedname": "special-characters-group-arabic",
                "*": "Arabic"
            },
            {
                "name": "special-characters-group-arabicextended",
                "normalizedname": "special-characters-group-arabicextended",
                "*": "Arabic extended"
            },
            {
                "name": "special-characters-group-bangla",
                "normalizedname": "special-characters-group-bangla",
                "*": "Bangla"
            },
            {
                "name": "special-characters-group-canadianaboriginal",
                "normalizedname": "special-characters-group-canadianaboriginal",
                "*": "Canadian Aboriginal"
            },
            {
                "name": "special-characters-group-cyrillic",
                "normalizedname": "special-characters-group-cyrillic",
                "*": "Cyrillic"
            },
            {
                "name": "special-characters-group-devanagari",
                "normalizedname": "special-characters-group-devanagari",
                "*": "Devanagari"
            },
            {
                "name": "special-characters-group-greek",
                "normalizedname": "special-characters-group-greek",
                "*": "Greek"
            },
            {
                "name": "special-characters-group-greekextended",
                "normalizedname": "special-characters-group-greekextended",
                "*": "Greek extended"
            },
            {
                "name": "special-characters-group-gujarati",
                "normalizedname": "special-characters-group-gujarati",
                "*": "Gujarati"
            },
            {
                "name": "special-characters-group-hebrew",
                "normalizedname": "special-characters-group-hebrew",
                "*": "Hebrew"
            },
            {
                "name": "special-characters-group-ipa",
                "normalizedname": "special-characters-group-ipa",
                "*": "IPA"
            },
            {
                "name": "special-characters-group-khmer",
                "normalizedname": "special-characters-group-khmer",
                "*": "Khmer"
            },
            {
                "name": "special-characters-group-lao",
                "normalizedname": "special-characters-group-lao",
                "*": "Lao"
            },
            {
                "name": "special-characters-group-latin",
                "normalizedname": "special-characters-group-latin",
                "*": "Latin"
            },
            {
                "name": "special-characters-group-latinextended",
                "normalizedname": "special-characters-group-latinextended",
                "*": "Latin extended"
            },
            {
                "name": "special-characters-group-persian",
                "normalizedname": "special-characters-group-persian",
                "*": "Persian"
            },
            {
                "name": "special-characters-group-sinhala",
                "normalizedname": "special-characters-group-sinhala",
                "*": "Sinhala"
            },
            {
                "name": "special-characters-group-symbols",
                "normalizedname": "special-characters-group-symbols",
                "*": "Symbols"
            },
            {
                "name": "special-characters-group-tamil",
                "normalizedname": "special-characters-group-tamil",
                "*": "Tamil"
            },
            {
                "name": "special-characters-group-telugu",
                "normalizedname": "special-characters-group-telugu",
                "*": "Telugu"
            },
            {
                "name": "special-characters-group-thai",
                "normalizedname": "special-characters-group-thai",
                "*": "Thai"
            },
            {
                "name": "special-characters-title-emdash",
                "normalizedname": "special-characters-title-emdash",
                "*": "em dash"
            },
            {
                "name": "special-characters-title-endash",
                "normalizedname": "special-characters-title-endash",
                "*": "en dash"
            },
            {
                "name": "special-characters-title-minus",
                "normalizedname": "special-characters-title-minus",
                "*": "minus sign"
            },
            {
                "name": "speciallogtitlelabel",
                "normalizedname": "speciallogtitlelabel",
                "*": "Target (title or {{ns:user}}:username for user):"
            },
            {
                "name": "specialloguserlabel",
                "normalizedname": "specialloguserlabel",
                "*": "Performer:"
            },
            {
                "name": "specialpage",
                "normalizedname": "specialpage",
                "*": "Special page"
            },
            {
                "name": "specialpage-empty",
                "normalizedname": "specialpage-empty",
                "*": "There are no results for this report."
            },
            {
                "name": "specialpage-securitylevel-not-allowed",
                "normalizedname": "specialpage-securitylevel-not-allowed",
                "*": "Sorry, you are not allowed to use this page because your identity could not be verified."
            },
            {
                "name": "specialpage-securitylevel-not-allowed-title",
                "normalizedname": "specialpage-securitylevel-not-allowed-title",
                "*": "Not allowed"
            },
            {
                "name": "specialpages",
                "normalizedname": "specialpages",
                "*": "Special pages"
            },
            {
                "name": "specialpages-group-changes",
                "normalizedname": "specialpages-group-changes",
                "*": "Recent changes and logs"
            },
            {
                "name": "specialpages-group-developer",
                "normalizedname": "specialpages-group-developer",
                "*": "Developer tools"
            },
            {
                "name": "specialpages-group-highuse",
                "normalizedname": "specialpages-group-highuse",
                "*": "High use pages"
            },
            {
                "name": "specialpages-group-login",
                "normalizedname": "specialpages-group-login",
                "*": "Login / create account"
            },
            {
                "name": "specialpages-group-maintenance",
                "normalizedname": "specialpages-group-maintenance",
                "*": "Maintenance reports"
            },
            {
                "name": "specialpages-group-media",
                "normalizedname": "specialpages-group-media",
                "*": "Media reports and uploads"
            },
            {
                "name": "specialpages-group-other",
                "normalizedname": "specialpages-group-other",
                "*": "Other special pages"
            },
            {
                "name": "specialpages-group-pages",
                "normalizedname": "specialpages-group-pages",
                "*": "Lists of pages"
            },
            {
                "name": "specialpages-group-pagetools",
                "normalizedname": "specialpages-group-pagetools",
                "*": "Page tools"
            },
            {
                "name": "specialpages-group-redirects",
                "normalizedname": "specialpages-group-redirects",
                "*": "Redirecting special pages"
            },
            {
                "name": "specialpages-group-spam",
                "normalizedname": "specialpages-group-spam",
                "*": "Spam tools"
            },
            {
                "name": "specialpages-group-users",
                "normalizedname": "specialpages-group-users",
                "*": "Users and rights"
            },
            {
                "name": "specialpages-group-wiki",
                "normalizedname": "specialpages-group-wiki",
                "*": "Data and tools"
            },
            {
                "name": "specialpages-note-cached",
                "normalizedname": "specialpages-note-cached",
                "*": "-"
            },
            {
                "name": "specialpages-note-restricted",
                "normalizedname": "specialpages-note-restricted",
                "*": "* Normal special pages.\n* <span class=\"mw-specialpagerestricted\">Restricted special pages.</span>"
            },
            {
                "name": "specialpages-note-top",
                "normalizedname": "specialpages-note-top",
                "*": "Legend"
            },
            {
                "name": "specialpages-summary",
                "normalizedname": "specialpages-summary",
                "*": ""
            },
            {
                "name": "statistics",
                "normalizedname": "statistics",
                "*": "Statistics"
            },
            {
                "name": "statistics-articles",
                "normalizedname": "statistics-articles",
                "*": "Content pages"
            },
            {
                "name": "statistics-articles-desc",
                "normalizedname": "statistics-articles-desc",
                "*": ""
            },
            {
                "name": "statistics-edits",
                "normalizedname": "statistics-edits",
                "*": "Page edits since {{SITENAME}} was set up"
            },
            {
                "name": "statistics-edits-average",
                "normalizedname": "statistics-edits-average",
                "*": "Average edits per page"
            },
            {
                "name": "statistics-files",
                "normalizedname": "statistics-files",
                "*": "Uploaded files"
            },
            {
                "name": "statistics-footer",
                "normalizedname": "statistics-footer",
                "*": ""
            },
            {
                "name": "statistics-header-edits",
                "normalizedname": "statistics-header-edits",
                "*": "Edit statistics"
            },
            {
                "name": "statistics-header-hooks",
                "normalizedname": "statistics-header-hooks",
                "*": "Other statistics"
            },
            {
                "name": "statistics-header-pages",
                "normalizedname": "statistics-header-pages",
                "*": "Page statistics"
            },
            {
                "name": "statistics-header-users",
                "normalizedname": "statistics-header-users",
                "*": "User statistics"
            },
            {
                "name": "statistics-pages",
                "normalizedname": "statistics-pages",
                "*": "Pages"
            },
            {
                "name": "statistics-pages-desc",
                "normalizedname": "statistics-pages-desc",
                "*": "All pages in the wiki, including talk pages, redirects, etc."
            },
            {
                "name": "statistics-summary",
                "normalizedname": "statistics-summary",
                "*": ""
            },
            {
                "name": "statistics-users",
                "normalizedname": "statistics-users",
                "*": "Registered [[Special:ListUsers|users]]"
            },
            {
                "name": "statistics-users-active",
                "normalizedname": "statistics-users-active",
                "*": "Active users"
            },
            {
                "name": "statistics-users-active-desc",
                "normalizedname": "statistics-users-active-desc",
                "*": "Users who have performed an action in the last {{PLURAL:$1|day|$1 days}}"
            },
            {
                "name": "storedversion",
                "normalizedname": "storedversion",
                "*": "Stored revision"
            },
            {
                "name": "stub-threshold",
                "normalizedname": "stub-threshold",
                "*": "Threshold for stub link formatting ($1):"
            },
            {
                "name": "stub-threshold-disabled",
                "normalizedname": "stub-threshold-disabled",
                "*": "Disabled"
            },
            {
                "name": "stub-threshold-sample-link",
                "normalizedname": "stub-threshold-sample-link",
                "*": "sample"
            },
            {
                "name": "subcategories",
                "normalizedname": "subcategories",
                "*": "Subcategories"
            },
            {
                "name": "subject",
                "normalizedname": "subject",
                "*": "Subject:"
            },
            {
                "name": "subject-preview",
                "normalizedname": "subject-preview",
                "*": "Preview of subject:"
            },
            {
                "name": "summary",
                "normalizedname": "summary",
                "*": "Summary:"
            },
            {
                "name": "summary-preview",
                "normalizedname": "summary-preview",
                "*": "Preview of edit summary:"
            },
            {
                "name": "sun",
                "normalizedname": "sun",
                "*": "Sun"
            },
            {
                "name": "sunday",
                "normalizedname": "sunday",
                "*": "Sunday"
            },
            {
                "name": "sunday-at",
                "normalizedname": "sunday-at",
                "*": "Sunday at $1"
            },
            {
                "name": "suppress",
                "normalizedname": "suppress",
                "*": "Suppress"
            },
            {
                "name": "suppressedarticle",
                "normalizedname": "suppressedarticle",
                "*": "suppressed \"[[$1]]\""
            },
            {
                "name": "suppressionlog",
                "normalizedname": "suppressionlog",
                "*": "Suppression log"
            },
            {
                "name": "suppressionlogtext",
                "normalizedname": "suppressionlogtext",
                "*": "Below is a list of deletions and blocks involving content hidden from administrators.\nSee the [[Special:BlockList|block list]] for the list of currently operational bans and blocks."
            },
            {
                "name": "suspicious-userlogout",
                "normalizedname": "suspicious-userlogout",
                "*": "Your request to log out was denied because it looks like it was sent by a broken browser or caching proxy."
            },
            {
                "name": "svg-long-desc",
                "normalizedname": "svg-long-desc",
                "*": "SVG file, nominally $1 \u00d7 $2 pixels, file size: $3"
            },
            {
                "name": "svg-long-desc-animated",
                "normalizedname": "svg-long-desc-animated",
                "*": "Animated SVG file, nominally $1 \u00d7 $2 pixels, file size: $3"
            },
            {
                "name": "svg-long-error",
                "normalizedname": "svg-long-error",
                "*": "Invalid SVG file: $1"
            },
            {
                "name": "systemblockedtext",
                "normalizedname": "systemblockedtext",
                "*": "Your username or IP address has been automatically blocked by MediaWiki.\nThe reason given is:\n\n:<em>$2</em>\n\n* Start of block: $8\n* Expiration of block: $6\n* Intended blockee: $7\n\nYour current IP address is $3.\nPlease include all above details in any queries you make."
            },
            {
                "name": "table_pager_empty",
                "normalizedname": "table_pager_empty",
                "*": "No results"
            },
            {
                "name": "table_pager_first",
                "normalizedname": "table_pager_first",
                "*": "First page"
            },
            {
                "name": "table_pager_last",
                "normalizedname": "table_pager_last",
                "*": "Last page"
            },
            {
                "name": "table_pager_limit",
                "normalizedname": "table_pager_limit",
                "*": "Show $1 items per page"
            },
            {
                "name": "table_pager_limit_label",
                "normalizedname": "table_pager_limit_label",
                "*": "Items per page:"
            },
            {
                "name": "table_pager_limit_submit",
                "normalizedname": "table_pager_limit_submit",
                "*": "Go"
            },
            {
                "name": "table_pager_next",
                "normalizedname": "table_pager_next",
                "*": "Next page"
            },
            {
                "name": "table_pager_prev",
                "normalizedname": "table_pager_prev",
                "*": "Previous page"
            },
            {
                "name": "tag-filter",
                "normalizedname": "tag-filter",
                "*": "[[Special:Tags|Tag]] filter:"
            },
            {
                "name": "tag-filter-submit",
                "normalizedname": "tag-filter-submit",
                "*": "Filter"
            },
            {
                "name": "tag-list-wrapper",
                "normalizedname": "tag-list-wrapper",
                "*": "([[Special:Tags|{{PLURAL:$1|Tag|Tags}}]]: $2)"
            },
            {
                "name": "tag-mw-blank",
                "normalizedname": "tag-mw-blank",
                "*": "Blanking"
            },
            {
                "name": "tag-mw-blank-description",
                "normalizedname": "tag-mw-blank-description",
                "*": "Edits that blank a page"
            },
            {
                "name": "tag-mw-changed-redirect-target",
                "normalizedname": "tag-mw-changed-redirect-target",
                "*": "Redirect target changed"
            },
            {
                "name": "tag-mw-changed-redirect-target-description",
                "normalizedname": "tag-mw-changed-redirect-target-description",
                "*": "Edits that change the target of a redirect"
            },
            {
                "name": "tag-mw-contentmodelchange",
                "normalizedname": "tag-mw-contentmodelchange",
                "*": "content model change"
            },
            {
                "name": "tag-mw-contentmodelchange-description",
                "normalizedname": "tag-mw-contentmodelchange-description",
                "*": "Edits that [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel change the content model] of a page"
            },
            {
                "name": "tag-mw-new-redirect",
                "normalizedname": "tag-mw-new-redirect",
                "*": "New redirect"
            },
            {
                "name": "tag-mw-new-redirect-description",
                "normalizedname": "tag-mw-new-redirect-description",
                "*": "Edits that create a new redirect or change a page to a redirect"
            },
            {
                "name": "tag-mw-removed-redirect",
                "normalizedname": "tag-mw-removed-redirect",
                "*": "Removed redirect"
            },
            {
                "name": "tag-mw-removed-redirect-description",
                "normalizedname": "tag-mw-removed-redirect-description",
                "*": "Edits that change an existing redirect to a non-redirect"
            },
            {
                "name": "tag-mw-replace",
                "normalizedname": "tag-mw-replace",
                "*": "Replaced"
            },
            {
                "name": "tag-mw-replace-description",
                "normalizedname": "tag-mw-replace-description",
                "*": "Edits that remove more than 90% of the content of a page"
            },
            {
                "name": "tag-mw-rollback",
                "normalizedname": "tag-mw-rollback",
                "*": "Rollback"
            },
            {
                "name": "tag-mw-rollback-description",
                "normalizedname": "tag-mw-rollback-description",
                "*": "Edits that roll back previous edits using the rollback link"
            },
            {
                "name": "tag-mw-undo",
                "normalizedname": "tag-mw-undo",
                "*": "Undo"
            },
            {
                "name": "tag-mw-undo-description",
                "normalizedname": "tag-mw-undo-description",
                "*": "Edits that undo previous edits using the undo link"
            },
            {
                "name": "tagline",
                "normalizedname": "tagline",
                "*": "From {{SITENAME}}"
            },
            {
                "name": "tags",
                "normalizedname": "tags",
                "*": "Valid change tags"
            },
            {
                "name": "tags-actions-header",
                "normalizedname": "tags-actions-header",
                "*": "Actions"
            },
            {
                "name": "tags-activate",
                "normalizedname": "tags-activate",
                "*": "activate"
            },
            {
                "name": "tags-activate-not-allowed",
                "normalizedname": "tags-activate-not-allowed",
                "*": "It is not possible to activate the tag \"$1\"."
            },
            {
                "name": "tags-activate-not-found",
                "normalizedname": "tags-activate-not-found",
                "*": "The tag \"$1\" does not exist."
            },
            {
                "name": "tags-activate-question",
                "normalizedname": "tags-activate-question",
                "*": "You are about to activate the tag \"$1\"."
            },
            {
                "name": "tags-activate-reason",
                "normalizedname": "tags-activate-reason",
                "*": "Reason:"
            },
            {
                "name": "tags-activate-submit",
                "normalizedname": "tags-activate-submit",
                "*": "Activate"
            },
            {
                "name": "tags-activate-title",
                "normalizedname": "tags-activate-title",
                "*": "Activate tag"
            },
            {
                "name": "tags-active-header",
                "normalizedname": "tags-active-header",
                "*": "Active?"
            },
            {
                "name": "tags-active-no",
                "normalizedname": "tags-active-no",
                "*": "No"
            },
            {
                "name": "tags-active-yes",
                "normalizedname": "tags-active-yes",
                "*": "Yes"
            },
            {
                "name": "tags-apply-blocked",
                "normalizedname": "tags-apply-blocked",
                "*": "You cannot apply change tags along with your changes while {{GENDER:$1|you}} are blocked."
            },
            {
                "name": "tags-apply-no-permission",
                "normalizedname": "tags-apply-no-permission",
                "*": "You do not have permission to apply change tags along with your changes."
            },
            {
                "name": "tags-apply-not-allowed-multi",
                "normalizedname": "tags-apply-not-allowed-multi",
                "*": "The following {{PLURAL:$2|tag is|tags are}} not allowed to be manually applied: $1"
            },
            {
                "name": "tags-apply-not-allowed-one",
                "normalizedname": "tags-apply-not-allowed-one",
                "*": "The tag \"$1\" is not allowed to be manually applied."
            },
            {
                "name": "tags-create-already-exists",
                "normalizedname": "tags-create-already-exists",
                "*": "The tag \"$1\" already exists."
            },
            {
                "name": "tags-create-explanation",
                "normalizedname": "tags-create-explanation",
                "*": "By default, newly created tags will be made available for use by users and bots."
            },
            {
                "name": "tags-create-heading",
                "normalizedname": "tags-create-heading",
                "*": "Create a new tag"
            },
            {
                "name": "tags-create-invalid-chars",
                "normalizedname": "tags-create-invalid-chars",
                "*": "Tag names must not contain commas (<code>,</code>), pipes (<code>|</code>), or forward slashes (<code>/</code>)."
            },
            {
                "name": "tags-create-invalid-title-chars",
                "normalizedname": "tags-create-invalid-title-chars",
                "*": "Tag names must not contain characters that cannot be used in page titles."
            },
            {
                "name": "tags-create-no-name",
                "normalizedname": "tags-create-no-name",
                "*": "You must specify a tag name."
            },
            {
                "name": "tags-create-reason",
                "normalizedname": "tags-create-reason",
                "*": "Reason:"
            },
            {
                "name": "tags-create-submit",
                "normalizedname": "tags-create-submit",
                "*": "Create"
            },
            {
                "name": "tags-create-tag-name",
                "normalizedname": "tags-create-tag-name",
                "*": "Tag name:"
            },
            {
                "name": "tags-create-warnings-above",
                "normalizedname": "tags-create-warnings-above",
                "*": "The following {{PLURAL:$2|warning was|warnings were}} encountered when attempting to create the tag \"$1\":"
            },
            {
                "name": "tags-create-warnings-below",
                "normalizedname": "tags-create-warnings-below",
                "*": "Do you wish to continue creating the tag?"
            },
            {
                "name": "tags-deactivate",
                "normalizedname": "tags-deactivate",
                "*": "deactivate"
            },
            {
                "name": "tags-deactivate-not-allowed",
                "normalizedname": "tags-deactivate-not-allowed",
                "*": "It is not possible to deactivate the tag \"$1\"."
            },
            {
                "name": "tags-deactivate-question",
                "normalizedname": "tags-deactivate-question",
                "*": "You are about to deactivate the tag \"$1\"."
            },
            {
                "name": "tags-deactivate-reason",
                "normalizedname": "tags-deactivate-reason",
                "*": "Reason:"
            },
            {
                "name": "tags-deactivate-submit",
                "normalizedname": "tags-deactivate-submit",
                "*": "Deactivate"
            },
            {
                "name": "tags-deactivate-title",
                "normalizedname": "tags-deactivate-title",
                "*": "Deactivate tag"
            },
            {
                "name": "tags-delete",
                "normalizedname": "tags-delete",
                "*": "delete"
            },
            {
                "name": "tags-delete-explanation-active",
                "normalizedname": "tags-delete-explanation-active",
                "*": "<strong>The tag \"$1\" is still active, and will continue to be applied in the future.</strong> To stop this from happening, go to the place(s) where the tag is set to be applied, and disable it there."
            },
            {
                "name": "tags-delete-explanation-in-use",
                "normalizedname": "tags-delete-explanation-in-use",
                "*": "It will be removed from {{PLURAL:$2|$2 revision or log entry|all $2 revisions and/or log entries}} to which it is currently applied."
            },
            {
                "name": "tags-delete-explanation-initial",
                "normalizedname": "tags-delete-explanation-initial",
                "*": "You are about to delete the tag \"$1\" from the database."
            },
            {
                "name": "tags-delete-explanation-warning",
                "normalizedname": "tags-delete-explanation-warning",
                "*": "This action is <strong>irreversible</strong> and <strong>cannot be undone</strong>, not even by database administrators. Be certain this is the tag you mean to delete."
            },
            {
                "name": "tags-delete-no-permission",
                "normalizedname": "tags-delete-no-permission",
                "*": "You do not have permission to delete change tags."
            },
            {
                "name": "tags-delete-not-allowed",
                "normalizedname": "tags-delete-not-allowed",
                "*": "Tags defined by an extension cannot be deleted unless the extension specifically allows it."
            },
            {
                "name": "tags-delete-not-found",
                "normalizedname": "tags-delete-not-found",
                "*": "The tag \"$1\" does not exist."
            },
            {
                "name": "tags-delete-reason",
                "normalizedname": "tags-delete-reason",
                "*": "Reason:"
            },
            {
                "name": "tags-delete-submit",
                "normalizedname": "tags-delete-submit",
                "*": "Irreversibly delete this tag"
            },
            {
                "name": "tags-delete-title",
                "normalizedname": "tags-delete-title",
                "*": "Delete tag"
            },
            {
                "name": "tags-delete-too-many-uses",
                "normalizedname": "tags-delete-too-many-uses",
                "*": "The tag \"$1\" is applied to more than $2 {{PLURAL:$2|revision|revisions}}, which means it cannot be deleted."
            },
            {
                "name": "tags-delete-warnings-after-delete",
                "normalizedname": "tags-delete-warnings-after-delete",
                "*": "The tag \"$1\" was deleted, but the following {{PLURAL:$2|warning was|warnings were}} encountered:"
            },
            {
                "name": "tags-description-header",
                "normalizedname": "tags-description-header",
                "*": "Full description of meaning"
            },
            {
                "name": "tags-display-header",
                "normalizedname": "tags-display-header",
                "*": "Appearance on change lists"
            },
            {
                "name": "tags-edit",
                "normalizedname": "tags-edit",
                "*": "edit"
            },
            {
                "name": "tags-edit-add",
                "normalizedname": "tags-edit-add",
                "*": "Add these tags:"
            },
            {
                "name": "tags-edit-chosen-no-results",
                "normalizedname": "tags-edit-chosen-no-results",
                "*": "No tags found that match"
            },
            {
                "name": "tags-edit-chosen-placeholder",
                "normalizedname": "tags-edit-chosen-placeholder",
                "*": "Select some tags"
            },
            {
                "name": "tags-edit-existing-tags",
                "normalizedname": "tags-edit-existing-tags",
                "*": "Existing tags:"
            },
            {
                "name": "tags-edit-existing-tags-none",
                "normalizedname": "tags-edit-existing-tags-none",
                "*": "<em>None</em>"
            },
            {
                "name": "tags-edit-failure",
                "normalizedname": "tags-edit-failure",
                "*": "The changes could not be applied:\n$1"
            },
            {
                "name": "tags-edit-logentry-explanation",
                "normalizedname": "tags-edit-logentry-explanation",
                "*": ""
            },
            {
                "name": "tags-edit-logentry-legend",
                "normalizedname": "tags-edit-logentry-legend",
                "*": "Add or remove tags from {{PLURAL:$1|this log entry|all $1 log entries}}"
            },
            {
                "name": "tags-edit-logentry-selected",
                "normalizedname": "tags-edit-logentry-selected",
                "*": "{{PLURAL:$1|Selected log event|Selected log events}}:"
            },
            {
                "name": "tags-edit-logentry-submit",
                "normalizedname": "tags-edit-logentry-submit",
                "*": "Apply changes to {{PLURAL:$1|this log entry|$1 log entries}}"
            },
            {
                "name": "tags-edit-manage-link",
                "normalizedname": "tags-edit-manage-link",
                "*": "Manage tags"
            },
            {
                "name": "tags-edit-new-tags",
                "normalizedname": "tags-edit-new-tags",
                "*": "New tags:"
            },
            {
                "name": "tags-edit-none-selected",
                "normalizedname": "tags-edit-none-selected",
                "*": "Please select at least one tag to add or remove."
            },
            {
                "name": "tags-edit-nooldid-text",
                "normalizedname": "tags-edit-nooldid-text",
                "*": "You have either not specified any target revision on which to perform this function, or the specified revision does not exist."
            },
            {
                "name": "tags-edit-nooldid-title",
                "normalizedname": "tags-edit-nooldid-title",
                "*": "Invalid target revision"
            },
            {
                "name": "tags-edit-reason",
                "normalizedname": "tags-edit-reason",
                "*": "Reason:"
            },
            {
                "name": "tags-edit-remove",
                "normalizedname": "tags-edit-remove",
                "*": "Remove these tags:"
            },
            {
                "name": "tags-edit-remove-all-tags",
                "normalizedname": "tags-edit-remove-all-tags",
                "*": "(remove all tags)"
            },
            {
                "name": "tags-edit-revision-explanation",
                "normalizedname": "tags-edit-revision-explanation",
                "*": ""
            },
            {
                "name": "tags-edit-revision-legend",
                "normalizedname": "tags-edit-revision-legend",
                "*": "Add or remove tags from {{PLURAL:$1|this revision|all $1 revisions}}"
            },
            {
                "name": "tags-edit-revision-selected",
                "normalizedname": "tags-edit-revision-selected",
                "*": "{{PLURAL:$1|Selected revision|Selected revisions}} of [[:$2]]:"
            },
            {
                "name": "tags-edit-revision-submit",
                "normalizedname": "tags-edit-revision-submit",
                "*": "Apply changes to {{PLURAL:$1|this revision|$1 revisions}}"
            },
            {
                "name": "tags-edit-success",
                "normalizedname": "tags-edit-success",
                "*": "The changes were applied."
            },
            {
                "name": "tags-edit-title",
                "normalizedname": "tags-edit-title",
                "*": "Edit tags"
            },
            {
                "name": "tags-hitcount",
                "normalizedname": "tags-hitcount",
                "*": "$1 {{PLURAL:$1|change|changes}}"
            },
            {
                "name": "tags-hitcount-header",
                "normalizedname": "tags-hitcount-header",
                "*": "Tagged changes"
            },
            {
                "name": "tags-intro",
                "normalizedname": "tags-intro",
                "*": "This page lists the tags that the software may mark an edit with, and their meaning."
            },
            {
                "name": "tags-manage-blocked",
                "normalizedname": "tags-manage-blocked",
                "*": "You cannot manage change tags while {{GENDER:$1|you}} are blocked."
            },
            {
                "name": "tags-manage-no-permission",
                "normalizedname": "tags-manage-no-permission",
                "*": "You do not have permission to manage change tags."
            },
            {
                "name": "tags-source-extension",
                "normalizedname": "tags-source-extension",
                "*": "Defined by the software"
            },
            {
                "name": "tags-source-header",
                "normalizedname": "tags-source-header",
                "*": "Source"
            },
            {
                "name": "tags-source-manual",
                "normalizedname": "tags-source-manual",
                "*": "Applied manually by users and bots"
            },
            {
                "name": "tags-source-none",
                "normalizedname": "tags-source-none",
                "*": "No longer in use"
            },
            {
                "name": "tags-summary",
                "normalizedname": "tags-summary",
                "*": ""
            },
            {
                "name": "tags-tag",
                "normalizedname": "tags-tag",
                "*": "Tag name"
            },
            {
                "name": "tags-title",
                "normalizedname": "tags-title",
                "*": "Tags"
            },
            {
                "name": "tags-update-add-not-allowed-multi",
                "normalizedname": "tags-update-add-not-allowed-multi",
                "*": "The following {{PLURAL:$2|tag is|tags are}} not allowed to be manually added: $1"
            },
            {
                "name": "tags-update-add-not-allowed-one",
                "normalizedname": "tags-update-add-not-allowed-one",
                "*": "The tag \"$1\" is not allowed to be manually added."
            },
            {
                "name": "tags-update-blocked",
                "normalizedname": "tags-update-blocked",
                "*": "You cannot add or remove change tags while {{GENDER:$1|you}} are blocked."
            },
            {
                "name": "tags-update-no-permission",
                "normalizedname": "tags-update-no-permission",
                "*": "You do not have permission to add or remove change tags from individual revisions or log entries."
            },
            {
                "name": "tags-update-remove-not-allowed-multi",
                "normalizedname": "tags-update-remove-not-allowed-multi",
                "*": "The following {{PLURAL:$2|tag is|tags are}} not allowed to be manually removed: $1"
            },
            {
                "name": "tags-update-remove-not-allowed-one",
                "normalizedname": "tags-update-remove-not-allowed-one",
                "*": "The tag \"$1\" is not allowed to be removed."
            },
            {
                "name": "talk",
                "normalizedname": "talk",
                "*": "Discussion"
            },
            {
                "name": "talkpageheader",
                "normalizedname": "talkpageheader",
                "*": "-"
            },
            {
                "name": "talkpagelinktext",
                "normalizedname": "talkpagelinktext",
                "*": "talk"
            },
            {
                "name": "talkpagetext",
                "normalizedname": "talkpagetext",
                "*": "<!-- MediaWiki:talkpagetext -->"
            },
            {
                "name": "template-loop-category",
                "normalizedname": "template-loop-category",
                "*": "Pages with template loops"
            },
            {
                "name": "template-loop-category-desc",
                "normalizedname": "template-loop-category-desc",
                "*": "The page contains a template loop, ie. a template which calls itself recursively."
            },
            {
                "name": "template-loop-warning",
                "normalizedname": "template-loop-warning",
                "*": "<strong>Warning:</strong> This page calls [[:$1]] which causes a template loop (an infinite recursive call)."
            },
            {
                "name": "template-protected",
                "normalizedname": "template-protected",
                "*": "(protected)"
            },
            {
                "name": "template-semiprotected",
                "normalizedname": "template-semiprotected",
                "*": "(semi-protected)"
            },
            {
                "name": "templatepage",
                "normalizedname": "templatepage",
                "*": "View template page"
            },
            {
                "name": "templatesused",
                "normalizedname": "templatesused",
                "*": "{{PLURAL:$1|Template|Templates}} used on this page:"
            },
            {
                "name": "templatesusedpreview",
                "normalizedname": "templatesusedpreview",
                "*": "{{PLURAL:$1|Template|Templates}} used in this preview:"
            },
            {
                "name": "templatesusedsection",
                "normalizedname": "templatesusedsection",
                "*": "{{PLURAL:$1|Template|Templates}} used in this section:"
            },
            {
                "name": "textmatches",
                "normalizedname": "textmatches",
                "*": "Page text matches"
            },
            {
                "name": "thisisdeleted",
                "normalizedname": "thisisdeleted",
                "*": "View or restore $1?"
            },
            {
                "name": "throttled-mailpassword",
                "normalizedname": "throttled-mailpassword",
                "*": "A password reset email has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.\nTo prevent abuse, only one password reset email will be sent per {{PLURAL:$1|hour|$1 hours}}."
            },
            {
                "name": "thu",
                "normalizedname": "thu",
                "*": "Thu"
            },
            {
                "name": "thumbnail-dest-create",
                "normalizedname": "thumbnail-dest-create",
                "*": "Unable to save thumbnail to destination"
            },
            {
                "name": "thumbnail-more",
                "normalizedname": "thumbnail-more",
                "*": "Enlarge"
            },
            {
                "name": "thumbnail-temp-create",
                "normalizedname": "thumbnail-temp-create",
                "*": "Unable to create temporary thumbnail file"
            },
            {
                "name": "thumbnail_dest_directory",
                "normalizedname": "thumbnail_dest_directory",
                "*": "Unable to create destination directory"
            },
            {
                "name": "thumbnail_error",
                "normalizedname": "thumbnail_error",
                "*": "Error creating thumbnail: $1"
            },
            {
                "name": "thumbnail_error_remote",
                "normalizedname": "thumbnail_error_remote",
                "*": "Error message from $1:\n$2"
            },
            {
                "name": "thumbnail_gd-library",
                "normalizedname": "thumbnail_gd-library",
                "*": "Incomplete GD library configuration: Missing function $1"
            },
            {
                "name": "thumbnail_image-failure-limit",
                "normalizedname": "thumbnail_image-failure-limit",
                "*": "There have been too many recent failed attempts ($1 or more) to render this thumbnail. Please try again later."
            },
            {
                "name": "thumbnail_image-missing",
                "normalizedname": "thumbnail_image-missing",
                "*": "File seems to be missing: $1"
            },
            {
                "name": "thumbnail_image-size-zero",
                "normalizedname": "thumbnail_image-size-zero",
                "*": "Image file size seems to be zero."
            },
            {
                "name": "thumbnail_image-type",
                "normalizedname": "thumbnail_image-type",
                "*": "Image type not supported"
            },
            {
                "name": "thumbnail_invalid_params",
                "normalizedname": "thumbnail_invalid_params",
                "*": "Invalid thumbnail parameters"
            },
            {
                "name": "thumbnail_toobigimagearea",
                "normalizedname": "thumbnail_toobigimagearea",
                "*": "File with dimensions greater than $1"
            },
            {
                "name": "thumbsize",
                "normalizedname": "thumbsize",
                "*": "Thumbnail size:"
            },
            {
                "name": "thursday",
                "normalizedname": "thursday",
                "*": "Thursday"
            },
            {
                "name": "thursday-at",
                "normalizedname": "thursday-at",
                "*": "Thursday at $1"
            },
            {
                "name": "timeless-anonymous",
                "normalizedname": "timeless-anonymous",
                "*": "Anonymous"
            },
            {
                "name": "timeless-desc",
                "normalizedname": "timeless-desc",
                "*": "A timeless skin designed after the Winter prototype by Brandon Harris, and various styles by the Wikimedia Foundation"
            },
            {
                "name": "timeless-languages",
                "normalizedname": "timeless-languages",
                "*": "Languages"
            },
            {
                "name": "timeless-loggedin",
                "normalizedname": "timeless-loggedin",
                "*": "Your account"
            },
            {
                "name": "timeless-loggedinas",
                "normalizedname": "timeless-loggedinas",
                "*": "Logged in as '''$1'''"
            },
            {
                "name": "timeless-more",
                "normalizedname": "timeless-more",
                "*": "More"
            },
            {
                "name": "timeless-namespaces",
                "normalizedname": "timeless-namespaces",
                "*": "Namespaces"
            },
            {
                "name": "timeless-notloggedin",
                "normalizedname": "timeless-notloggedin",
                "*": "Not logged in"
            },
            {
                "name": "timeless-pageactions",
                "normalizedname": "timeless-pageactions",
                "*": "Page tools"
            },
            {
                "name": "timeless-pagelog",
                "normalizedname": "timeless-pagelog",
                "*": "Page logs"
            },
            {
                "name": "timeless-pagemisc",
                "normalizedname": "timeless-pagemisc",
                "*": "More"
            },
            {
                "name": "timeless-pagetools",
                "normalizedname": "timeless-pagetools",
                "*": "Page actions"
            },
            {
                "name": "timeless-search-placeholder",
                "normalizedname": "timeless-search-placeholder",
                "*": "Search {{NUMBEROFARTICLES}} pages"
            },
            {
                "name": "timeless-sitetitle",
                "normalizedname": "timeless-sitetitle",
                "*": "{{MediaWiki:Sitetitle}}"
            },
            {
                "name": "timeless-sitetools",
                "normalizedname": "timeless-sitetools",
                "*": "Wiki tools"
            },
            {
                "name": "timeless-talkpage",
                "normalizedname": "timeless-talkpage",
                "*": "{{GENDER:$1|User}} talk"
            },
            {
                "name": "timeless-userpage",
                "normalizedname": "timeless-userpage",
                "*": "{{GENDER:$1|User}} page"
            },
            {
                "name": "timeless-userpagetools",
                "normalizedname": "timeless-userpagetools",
                "*": "Userpage tools"
            },
            {
                "name": "timeless.css",
                "normalizedname": "timeless.css",
                "*": "/* CSS placed here will affect users of the Timeless skin */"
            },
            {
                "name": "timeless.js",
                "normalizedname": "timeless.js",
                "*": "/* Any JavaScript here will be loaded for users using the Timeless skin */"
            },
            {
                "name": "timezone-local",
                "normalizedname": "timezone-local",
                "*": "Local"
            },
            {
                "name": "timezone-utc",
                "normalizedname": "timezone-utc",
                "*": "UTC"
            },
            {
                "name": "timezonelegend",
                "normalizedname": "timezonelegend",
                "*": "Time zone:"
            },
            {
                "name": "timezoneregion-africa",
                "normalizedname": "timezoneregion-africa",
                "*": "Africa"
            },
            {
                "name": "timezoneregion-america",
                "normalizedname": "timezoneregion-america",
                "*": "America"
            },
            {
                "name": "timezoneregion-antarctica",
                "normalizedname": "timezoneregion-antarctica",
                "*": "Antarctica"
            },
            {
                "name": "timezoneregion-arctic",
                "normalizedname": "timezoneregion-arctic",
                "*": "Arctic"
            },
            {
                "name": "timezoneregion-asia",
                "normalizedname": "timezoneregion-asia",
                "*": "Asia"
            },
            {
                "name": "timezoneregion-atlantic",
                "normalizedname": "timezoneregion-atlantic",
                "*": "Atlantic Ocean"
            },
            {
                "name": "timezoneregion-australia",
                "normalizedname": "timezoneregion-australia",
                "*": "Australia"
            },
            {
                "name": "timezoneregion-europe",
                "normalizedname": "timezoneregion-europe",
                "*": "Europe"
            },
            {
                "name": "timezoneregion-indian",
                "normalizedname": "timezoneregion-indian",
                "*": "Indian Ocean"
            },
            {
                "name": "timezoneregion-pacific",
                "normalizedname": "timezoneregion-pacific",
                "*": "Pacific Ocean"
            },
            {
                "name": "timezoneuseoffset",
                "normalizedname": "timezoneuseoffset",
                "*": "Other (specify offset)"
            },
            {
                "name": "timezoneuseserverdefault",
                "normalizedname": "timezoneuseserverdefault",
                "*": "Use wiki default ($1)"
            },
            {
                "name": "title-invalid-characters",
                "normalizedname": "title-invalid-characters",
                "*": "The requested page title contains invalid characters: \"$1\"."
            },
            {
                "name": "title-invalid-empty",
                "normalizedname": "title-invalid-empty",
                "*": "The requested page title is empty or contains only the name of a namespace."
            },
            {
                "name": "title-invalid-interwiki",
                "normalizedname": "title-invalid-interwiki",
                "*": "The requested page title contains an interwiki link which cannot be used in titles."
            },
            {
                "name": "title-invalid-leading-colon",
                "normalizedname": "title-invalid-leading-colon",
                "*": "The requested page title contains an invalid colon at the beginning."
            },
            {
                "name": "title-invalid-magic-tilde",
                "normalizedname": "title-invalid-magic-tilde",
                "*": "The requested page title contains invalid magic tilde sequence (<nowiki>~~~</nowiki>)."
            },
            {
                "name": "title-invalid-relative",
                "normalizedname": "title-invalid-relative",
                "*": "Title has relative path. Relative page titles (./, ../) are invalid, because they will often be unreachable when handled by user's browser."
            },
            {
                "name": "title-invalid-talk-namespace",
                "normalizedname": "title-invalid-talk-namespace",
                "*": "The requested page title refers to a talk page that can not exist."
            },
            {
                "name": "title-invalid-too-long",
                "normalizedname": "title-invalid-too-long",
                "*": "The requested page title is too long. It must be no longer than $1 {{PLURAL:$1|byte|bytes}} in UTF-8 encoding."
            },
            {
                "name": "title-invalid-utf8",
                "normalizedname": "title-invalid-utf8",
                "*": "The requested page title contains an invalid UTF-8 sequence."
            },
            {
                "name": "titlematches",
                "normalizedname": "titlematches",
                "*": "Page title matches"
            },
            {
                "name": "titleprotected",
                "normalizedname": "titleprotected",
                "*": "This title has been protected from creation by [[User:$1|$1]].\nThe reason given is <em>$2</em>."
            },
            {
                "name": "titleprotectedwarning",
                "normalizedname": "titleprotectedwarning",
                "*": "<strong>Warning: This page has been protected so that [[Special:ListGroupRights|specific rights]] are needed to create it.</strong>\nThe latest log entry is provided below for reference:"
            },
            {
                "name": "tmp-create-error",
                "normalizedname": "tmp-create-error",
                "*": "Could not create temporary file."
            },
            {
                "name": "tmp-write-error",
                "normalizedname": "tmp-write-error",
                "*": "Error writing temporary file."
            },
            {
                "name": "toc",
                "normalizedname": "toc",
                "*": "Contents"
            },
            {
                "name": "today-at",
                "normalizedname": "today-at",
                "*": "$1"
            },
            {
                "name": "tog-ccmeonemails",
                "normalizedname": "tog-ccmeonemails",
                "*": "Send me copies of emails I send to other users"
            },
            {
                "name": "tog-diffonly",
                "normalizedname": "tog-diffonly",
                "*": "Do not show page content below diffs"
            },
            {
                "name": "tog-editondblclick",
                "normalizedname": "tog-editondblclick",
                "*": "Edit pages on double click"
            },
            {
                "name": "tog-editsectiononrightclick",
                "normalizedname": "tog-editsectiononrightclick",
                "*": "Enable section editing by right clicking on section titles"
            },
            {
                "name": "tog-enotifminoredits",
                "normalizedname": "tog-enotifminoredits",
                "*": "Email me also for minor edits of pages and files"
            },
            {
                "name": "tog-enotifrevealaddr",
                "normalizedname": "tog-enotifrevealaddr",
                "*": "Reveal my email address in notification emails"
            },
            {
                "name": "tog-enotifusertalkpages",
                "normalizedname": "tog-enotifusertalkpages",
                "*": "Email me when my user talk page is changed"
            },
            {
                "name": "tog-enotifwatchlistpages",
                "normalizedname": "tog-enotifwatchlistpages",
                "*": "Email me when a page or a file on my watchlist is changed"
            },
            {
                "name": "tog-extendwatchlist",
                "normalizedname": "tog-extendwatchlist",
                "*": "Expand watchlist to show all changes, not just the most recent"
            },
            {
                "name": "tog-fancysig",
                "normalizedname": "tog-fancysig",
                "*": "Treat signature as wikitext (without an automatic link)"
            },
            {
                "name": "tog-forceeditsummary",
                "normalizedname": "tog-forceeditsummary",
                "*": "Prompt me when entering a blank edit summary"
            },
            {
                "name": "tog-hidecategorization",
                "normalizedname": "tog-hidecategorization",
                "*": "Hide categorization of pages"
            },
            {
                "name": "tog-hideminor",
                "normalizedname": "tog-hideminor",
                "*": "Hide minor edits from recent changes"
            },
            {
                "name": "tog-hidepatrolled",
                "normalizedname": "tog-hidepatrolled",
                "*": "Hide patrolled edits from recent changes"
            },
            {
                "name": "tog-minordefault",
                "normalizedname": "tog-minordefault",
                "*": "Mark all edits minor by default"
            },
            {
                "name": "tog-newpageshidepatrolled",
                "normalizedname": "tog-newpageshidepatrolled",
                "*": "Hide patrolled pages from new page list"
            },
            {
                "name": "tog-norollbackdiff",
                "normalizedname": "tog-norollbackdiff",
                "*": "Don't show diff after performing a rollback"
            },
            {
                "name": "tog-numberheadings",
                "normalizedname": "tog-numberheadings",
                "*": "Auto-number headings"
            },
            {
                "name": "tog-oldsig",
                "normalizedname": "tog-oldsig",
                "*": "Your existing signature:"
            },
            {
                "name": "tog-prefershttps",
                "normalizedname": "tog-prefershttps",
                "*": "Always use a secure connection while logged in"
            },
            {
                "name": "tog-previewonfirst",
                "normalizedname": "tog-previewonfirst",
                "*": "Show preview on first edit"
            },
            {
                "name": "tog-previewontop",
                "normalizedname": "tog-previewontop",
                "*": "Show preview before edit box"
            },
            {
                "name": "tog-showhiddencats",
                "normalizedname": "tog-showhiddencats",
                "*": "Show hidden categories"
            },
            {
                "name": "tog-shownumberswatching",
                "normalizedname": "tog-shownumberswatching",
                "*": "Show the number of watching users"
            },
            {
                "name": "tog-showtoolbar",
                "normalizedname": "tog-showtoolbar",
                "*": "Show edit toolbar"
            },
            {
                "name": "tog-underline",
                "normalizedname": "tog-underline",
                "*": "Link underlining:"
            },
            {
                "name": "tog-useeditwarning",
                "normalizedname": "tog-useeditwarning",
                "*": "Warn me when I leave an edit page with unsaved changes"
            },
            {
                "name": "tog-uselivepreview",
                "normalizedname": "tog-uselivepreview",
                "*": "Show previews without reloading the page"
            },
            {
                "name": "tog-usenewrc",
                "normalizedname": "tog-usenewrc",
                "*": "Group changes by page in recent changes and watchlist"
            },
            {
                "name": "tog-watchcreations",
                "normalizedname": "tog-watchcreations",
                "*": "Add pages I create and files I upload to my watchlist"
            },
            {
                "name": "tog-watchdefault",
                "normalizedname": "tog-watchdefault",
                "*": "Add pages and files I edit to my watchlist"
            },
            {
                "name": "tog-watchdeletion",
                "normalizedname": "tog-watchdeletion",
                "*": "Add pages and files I delete to my watchlist"
            },
            {
                "name": "tog-watchlisthideanons",
                "normalizedname": "tog-watchlisthideanons",
                "*": "Hide edits by anonymous users from the watchlist"
            },
            {
                "name": "tog-watchlisthidebots",
                "normalizedname": "tog-watchlisthidebots",
                "*": "Hide bot edits from the watchlist"
            },
            {
                "name": "tog-watchlisthidecategorization",
                "normalizedname": "tog-watchlisthidecategorization",
                "*": "Hide categorization of pages"
            },
            {
                "name": "tog-watchlisthideliu",
                "normalizedname": "tog-watchlisthideliu",
                "*": "Hide edits by logged in users from the watchlist"
            },
            {
                "name": "tog-watchlisthideminor",
                "normalizedname": "tog-watchlisthideminor",
                "*": "Hide minor edits from the watchlist"
            },
            {
                "name": "tog-watchlisthideown",
                "normalizedname": "tog-watchlisthideown",
                "*": "Hide my edits from the watchlist"
            },
            {
                "name": "tog-watchlisthidepatrolled",
                "normalizedname": "tog-watchlisthidepatrolled",
                "*": "Hide patrolled edits from the watchlist"
            },
            {
                "name": "tog-watchlistreloadautomatically",
                "normalizedname": "tog-watchlistreloadautomatically",
                "*": "Reload the watchlist automatically whenever a filter is changed (JavaScript required)"
            },
            {
                "name": "tog-watchlistunwatchlinks",
                "normalizedname": "tog-watchlistunwatchlinks",
                "*": "Add direct unwatch/watch markers ({{int:Watchlist-unwatch}}/{{int:Watchlist-unwatch-undo}}) to watched pages with changes (JavaScript required for toggle functionality)"
            },
            {
                "name": "tog-watchmoves",
                "normalizedname": "tog-watchmoves",
                "*": "Add pages and files I move to my watchlist"
            },
            {
                "name": "tog-watchrollback",
                "normalizedname": "tog-watchrollback",
                "*": "Add pages where I have performed a rollback to my watchlist"
            },
            {
                "name": "tog-watchuploads",
                "normalizedname": "tog-watchuploads",
                "*": "Add new files I upload to my watchlist"
            },
            {
                "name": "token_suffix_mismatch",
                "normalizedname": "token_suffix_mismatch",
                "*": "<strong>Your edit has been rejected because your client mangled the punctuation characters in the edit token.</strong>\nThe edit has been rejected to prevent corruption of the page text.\nThis sometimes happens when you are using a buggy web-based anonymous proxy service."
            },
            {
                "name": "tool-link-emailuser",
                "normalizedname": "tool-link-emailuser",
                "*": "Email this {{GENDER:$1|user}}"
            },
            {
                "name": "tool-link-userrights",
                "normalizedname": "tool-link-userrights",
                "*": "Change {{GENDER:$1|user}} groups"
            },
            {
                "name": "tool-link-userrights-readonly",
                "normalizedname": "tool-link-userrights-readonly",
                "*": "View {{GENDER:$1|user}} groups"
            },
            {
                "name": "toolbox",
                "normalizedname": "toolbox",
                "*": "Tools"
            },
            {
                "name": "tooltip-ca-addsection",
                "normalizedname": "tooltip-ca-addsection",
                "*": "Start a new section"
            },
            {
                "name": "tooltip-ca-delete",
                "normalizedname": "tooltip-ca-delete",
                "*": "Delete this page"
            },
            {
                "name": "tooltip-ca-edit",
                "normalizedname": "tooltip-ca-edit",
                "*": "Edit this page"
            },
            {
                "name": "tooltip-ca-history",
                "normalizedname": "tooltip-ca-history",
                "*": "Past revisions of this page"
            },
            {
                "name": "tooltip-ca-move",
                "normalizedname": "tooltip-ca-move",
                "*": "Move this page"
            },
            {
                "name": "tooltip-ca-nstab-category",
                "normalizedname": "tooltip-ca-nstab-category",
                "*": "View the category page"
            },
            {
                "name": "tooltip-ca-nstab-help",
                "normalizedname": "tooltip-ca-nstab-help",
                "*": "View the help page"
            },
            {
                "name": "tooltip-ca-nstab-image",
                "normalizedname": "tooltip-ca-nstab-image",
                "*": "View the file page"
            },
            {
                "name": "tooltip-ca-nstab-main",
                "normalizedname": "tooltip-ca-nstab-main",
                "*": "View the content page"
            },
            {
                "name": "tooltip-ca-nstab-media",
                "normalizedname": "tooltip-ca-nstab-media",
                "*": "View the media page"
            },
            {
                "name": "tooltip-ca-nstab-mediawiki",
                "normalizedname": "tooltip-ca-nstab-mediawiki",
                "*": "View the system message"
            },
            {
                "name": "tooltip-ca-nstab-project",
                "normalizedname": "tooltip-ca-nstab-project",
                "*": "View the project page"
            },
            {
                "name": "tooltip-ca-nstab-special",
                "normalizedname": "tooltip-ca-nstab-special",
                "*": "This is a special page, and it cannot be edited"
            },
            {
                "name": "tooltip-ca-nstab-template",
                "normalizedname": "tooltip-ca-nstab-template",
                "*": "View the template"
            },
            {
                "name": "tooltip-ca-nstab-user",
                "normalizedname": "tooltip-ca-nstab-user",
                "*": "View the user page"
            },
            {
                "name": "tooltip-ca-protect",
                "normalizedname": "tooltip-ca-protect",
                "*": "Protect this page"
            },
            {
                "name": "tooltip-ca-talk",
                "normalizedname": "tooltip-ca-talk",
                "*": "Discussion about the content page"
            },
            {
                "name": "tooltip-ca-undelete",
                "normalizedname": "tooltip-ca-undelete",
                "*": "Restore the edits done to this page before it was deleted"
            },
            {
                "name": "tooltip-ca-unprotect",
                "normalizedname": "tooltip-ca-unprotect",
                "*": "Change protection of this page"
            },
            {
                "name": "tooltip-ca-unwatch",
                "normalizedname": "tooltip-ca-unwatch",
                "*": "Remove this page from your watchlist"
            },
            {
                "name": "tooltip-ca-viewsource",
                "normalizedname": "tooltip-ca-viewsource",
                "*": "This page is protected.\nYou can view its source"
            },
            {
                "name": "tooltip-ca-watch",
                "normalizedname": "tooltip-ca-watch",
                "*": "Add this page to your watchlist"
            },
            {
                "name": "tooltip-compareselectedversions",
                "normalizedname": "tooltip-compareselectedversions",
                "*": "See the differences between the two selected revisions of this page"
            },
            {
                "name": "tooltip-diff",
                "normalizedname": "tooltip-diff",
                "*": "Show which changes you made to the text"
            },
            {
                "name": "tooltip-feed-atom",
                "normalizedname": "tooltip-feed-atom",
                "*": "Atom feed for this page"
            },
            {
                "name": "tooltip-feed-rss",
                "normalizedname": "tooltip-feed-rss",
                "*": "RSS feed for this page"
            },
            {
                "name": "tooltip-invert",
                "normalizedname": "tooltip-invert",
                "*": "Check this box to hide changes to pages within the selected namespace (and the associated namespace if checked)"
            },
            {
                "name": "tooltip-minoredit",
                "normalizedname": "tooltip-minoredit",
                "*": "Mark this as a minor edit"
            },
            {
                "name": "tooltip-n-currentevents",
                "normalizedname": "tooltip-n-currentevents",
                "*": "Find background information on current events"
            },
            {
                "name": "tooltip-n-help",
                "normalizedname": "tooltip-n-help",
                "*": "The place to find out"
            },
            {
                "name": "tooltip-n-mainpage",
                "normalizedname": "tooltip-n-mainpage",
                "*": "Visit the main page"
            },
            {
                "name": "tooltip-n-mainpage-description",
                "normalizedname": "tooltip-n-mainpage-description",
                "*": "Visit the main page"
            },
            {
                "name": "tooltip-n-portal",
                "normalizedname": "tooltip-n-portal",
                "*": "About the project, what you can do, where to find things"
            },
            {
                "name": "tooltip-n-randompage",
                "normalizedname": "tooltip-n-randompage",
                "*": "Load a random page"
            },
            {
                "name": "tooltip-n-recentchanges",
                "normalizedname": "tooltip-n-recentchanges",
                "*": "A list of recent changes in the wiki"
            },
            {
                "name": "tooltip-namespace_association",
                "normalizedname": "tooltip-namespace_association",
                "*": "Check this box to also include the talk or subject namespace associated with the selected namespace"
            },
            {
                "name": "tooltip-p-logo",
                "normalizedname": "tooltip-p-logo",
                "*": "Visit the main page"
            },
            {
                "name": "tooltip-preferences-save",
                "normalizedname": "tooltip-preferences-save",
                "*": "Save preferences"
            },
            {
                "name": "tooltip-preview",
                "normalizedname": "tooltip-preview",
                "*": "Preview your changes. Please use this before saving."
            },
            {
                "name": "tooltip-pt-anoncontribs",
                "normalizedname": "tooltip-pt-anoncontribs",
                "*": "A list of edits made from this IP address"
            },
            {
                "name": "tooltip-pt-anontalk",
                "normalizedname": "tooltip-pt-anontalk",
                "*": "Discussion about edits from this IP address"
            },
            {
                "name": "tooltip-pt-anonuserpage",
                "normalizedname": "tooltip-pt-anonuserpage",
                "*": "The user page for the IP address you are editing as"
            },
            {
                "name": "tooltip-pt-createaccount",
                "normalizedname": "tooltip-pt-createaccount",
                "*": "You are encouraged to create an account and log in; however, it is not mandatory"
            },
            {
                "name": "tooltip-pt-login",
                "normalizedname": "tooltip-pt-login",
                "*": "You are encouraged to log in; however, it is not mandatory"
            },
            {
                "name": "tooltip-pt-login-private",
                "normalizedname": "tooltip-pt-login-private",
                "*": "You need to log in to use this wiki"
            },
            {
                "name": "tooltip-pt-logout",
                "normalizedname": "tooltip-pt-logout",
                "*": "Log out"
            },
            {
                "name": "tooltip-pt-mycontris",
                "normalizedname": "tooltip-pt-mycontris",
                "*": "A list of {{GENDER:|your}} contributions"
            },
            {
                "name": "tooltip-pt-mytalk",
                "normalizedname": "tooltip-pt-mytalk",
                "*": "{{GENDER:|Your}} talk page"
            },
            {
                "name": "tooltip-pt-preferences",
                "normalizedname": "tooltip-pt-preferences",
                "*": "{{GENDER:|Your}} preferences"
            },
            {
                "name": "tooltip-pt-userpage",
                "normalizedname": "tooltip-pt-userpage",
                "*": "{{GENDER:|Your user}} page"
            },
            {
                "name": "tooltip-pt-watchlist",
                "normalizedname": "tooltip-pt-watchlist",
                "*": "A list of pages you are monitoring for changes"
            },
            {
                "name": "tooltip-publish",
                "normalizedname": "tooltip-publish",
                "*": "Publish your changes"
            },
            {
                "name": "tooltip-recreate",
                "normalizedname": "tooltip-recreate",
                "*": "Recreate the page even though it has been deleted"
            },
            {
                "name": "tooltip-rollback",
                "normalizedname": "tooltip-rollback",
                "*": "\"Rollback\" reverts the last contributor's edit(s) to this page in one click"
            },
            {
                "name": "tooltip-save",
                "normalizedname": "tooltip-save",
                "*": "Save your changes"
            },
            {
                "name": "tooltip-search",
                "normalizedname": "tooltip-search",
                "*": "Search {{SITENAME}}"
            },
            {
                "name": "tooltip-search-fulltext",
                "normalizedname": "tooltip-search-fulltext",
                "*": "Search the pages for this text"
            },
            {
                "name": "tooltip-search-go",
                "normalizedname": "tooltip-search-go",
                "*": "Go to a page with this exact name if it exists"
            },
            {
                "name": "tooltip-summary",
                "normalizedname": "tooltip-summary",
                "*": "Enter a short summary"
            },
            {
                "name": "tooltip-t-contributions",
                "normalizedname": "tooltip-t-contributions",
                "*": "A list of contributions by {{GENDER:$1|this user}}"
            },
            {
                "name": "tooltip-t-emailuser",
                "normalizedname": "tooltip-t-emailuser",
                "*": "Send an email to {{GENDER:$1|this user}}"
            },
            {
                "name": "tooltip-t-info",
                "normalizedname": "tooltip-t-info",
                "*": "More information about this page"
            },
            {
                "name": "tooltip-t-permalink",
                "normalizedname": "tooltip-t-permalink",
                "*": "Permanent link to this revision of the page"
            },
            {
                "name": "tooltip-t-print",
                "normalizedname": "tooltip-t-print",
                "*": "Printable version of this page"
            },
            {
                "name": "tooltip-t-recentchangeslinked",
                "normalizedname": "tooltip-t-recentchangeslinked",
                "*": "Recent changes in pages linked from this page"
            },
            {
                "name": "tooltip-t-specialpages",
                "normalizedname": "tooltip-t-specialpages",
                "*": "A list of all special pages"
            },
            {
                "name": "tooltip-t-upload",
                "normalizedname": "tooltip-t-upload",
                "*": "Upload files"
            },
            {
                "name": "tooltip-t-whatlinkshere",
                "normalizedname": "tooltip-t-whatlinkshere",
                "*": "A list of all wiki pages that link here"
            },
            {
                "name": "tooltip-undo",
                "normalizedname": "tooltip-undo",
                "*": "\"Undo\" reverts this edit and opens the edit form in preview mode. It allows adding a reason in the summary."
            },
            {
                "name": "tooltip-upload",
                "normalizedname": "tooltip-upload",
                "*": "Start upload"
            },
            {
                "name": "tooltip-watch",
                "normalizedname": "tooltip-watch",
                "*": "Add this page to your watchlist"
            },
            {
                "name": "tooltip-watchlistedit-normal-submit",
                "normalizedname": "tooltip-watchlistedit-normal-submit",
                "*": "Remove titles"
            },
            {
                "name": "tooltip-watchlistedit-raw-submit",
                "normalizedname": "tooltip-watchlistedit-raw-submit",
                "*": "Update watchlist"
            },
            {
                "name": "tooltip-whatlinkshere-invert",
                "normalizedname": "tooltip-whatlinkshere-invert",
                "*": "Check this box to hide links from pages within the selected namespace."
            },
            {
                "name": "trackingcategories",
                "normalizedname": "trackingcategories",
                "*": "Tracking categories"
            },
            {
                "name": "trackingcategories-desc",
                "normalizedname": "trackingcategories-desc",
                "*": "Category inclusion criteria"
            },
            {
                "name": "trackingcategories-disabled",
                "normalizedname": "trackingcategories-disabled",
                "*": "Category is disabled"
            },
            {
                "name": "trackingcategories-msg",
                "normalizedname": "trackingcategories-msg",
                "*": "Tracking category"
            },
            {
                "name": "trackingcategories-name",
                "normalizedname": "trackingcategories-name",
                "*": "Message name"
            },
            {
                "name": "trackingcategories-nodesc",
                "normalizedname": "trackingcategories-nodesc",
                "*": "No description available."
            },
            {
                "name": "trackingcategories-summary",
                "normalizedname": "trackingcategories-summary",
                "*": "This page lists tracking categories which are automatically populated by the MediaWiki software. Their names can be changed by altering the relevant system messages in the {{ns:8}} namespace."
            },
            {
                "name": "transaction-duration-limit-exceeded",
                "normalizedname": "transaction-duration-limit-exceeded",
                "*": "To avoid creating high replication lag, this transaction was aborted because the write duration ($1) exceeded the $2 second limit.\nIf you are changing many items at once, try doing multiple smaller operations instead."
            },
            {
                "name": "translateinterface",
                "normalizedname": "translateinterface",
                "*": "To add or change translations for all wikis, please use [https://translatewiki.net/ translatewiki.net], the MediaWiki localisation project."
            },
            {
                "name": "tue",
                "normalizedname": "tue",
                "*": "Tue"
            },
            {
                "name": "tuesday",
                "normalizedname": "tuesday",
                "*": "Tuesday"
            },
            {
                "name": "tuesday-at",
                "normalizedname": "tuesday-at",
                "*": "Tuesday at $1"
            },
            {
                "name": "uctop",
                "normalizedname": "uctop",
                "*": "(current)"
            },
            {
                "name": "unblock",
                "normalizedname": "unblock",
                "*": "Unblock user"
            },
            {
                "name": "unblock-hideuser",
                "normalizedname": "unblock-hideuser",
                "*": "You cannot unblock this user, as their username has been hidden."
            },
            {
                "name": "unblock-summary",
                "normalizedname": "unblock-summary",
                "*": ""
            },
            {
                "name": "unblocked",
                "normalizedname": "unblocked",
                "*": "[[User:$1|$1]] has been unblocked."
            },
            {
                "name": "unblocked-id",
                "normalizedname": "unblocked-id",
                "*": "Block $1 has been removed."
            },
            {
                "name": "unblocked-ip",
                "normalizedname": "unblocked-ip",
                "*": "[[Special:Contributions/$1|$1]] has been unblocked."
            },
            {
                "name": "unblocked-range",
                "normalizedname": "unblocked-range",
                "*": "$1 has been unblocked."
            },
            {
                "name": "unblockip",
                "normalizedname": "unblockip",
                "*": "Unblock user"
            },
            {
                "name": "unblockiptext",
                "normalizedname": "unblockiptext",
                "*": "Use the form below to restore write access to a previously blocked IP address or username."
            },
            {
                "name": "unblocklink",
                "normalizedname": "unblocklink",
                "*": "unblock"
            },
            {
                "name": "unblocklogentry",
                "normalizedname": "unblocklogentry",
                "*": "unblocked $1"
            },
            {
                "name": "uncategorized-categories-exceptionlist",
                "normalizedname": "uncategorized-categories-exceptionlist",
                "*": " # Contains a list of categories, which shouldn't be mentioned on Special:UncategorizedCategories. One per line, starting with \"*\". Lines starting with another character (including whitespaces) are ignored. Use \"#\" for comments."
            },
            {
                "name": "uncategorizedcategories",
                "normalizedname": "uncategorizedcategories",
                "*": "Uncategorized categories"
            },
            {
                "name": "uncategorizedcategories-summary",
                "normalizedname": "uncategorizedcategories-summary",
                "*": ""
            },
            {
                "name": "uncategorizedimages",
                "normalizedname": "uncategorizedimages",
                "*": "Uncategorized files"
            },
            {
                "name": "uncategorizedimages-summary",
                "normalizedname": "uncategorizedimages-summary",
                "*": ""
            },
            {
                "name": "uncategorizedpages",
                "normalizedname": "uncategorizedpages",
                "*": "Uncategorized pages"
            },
            {
                "name": "uncategorizedpages-summary",
                "normalizedname": "uncategorizedpages-summary",
                "*": ""
            },
            {
                "name": "uncategorizedtemplates",
                "normalizedname": "uncategorizedtemplates",
                "*": "Uncategorized templates"
            },
            {
                "name": "uncategorizedtemplates-summary",
                "normalizedname": "uncategorizedtemplates-summary",
                "*": ""
            },
            {
                "name": "undelete",
                "normalizedname": "undelete",
                "*": "View deleted pages"
            },
            {
                "name": "undelete-bad-store-key",
                "normalizedname": "undelete-bad-store-key",
                "*": "Cannot undelete file revision with timestamp $1: File was missing before deletion."
            },
            {
                "name": "undelete-cantcreate",
                "normalizedname": "undelete-cantcreate",
                "*": "You cannot undelete this page as there is no existing page with this name and you are not allowed to create this page."
            },
            {
                "name": "undelete-cantedit",
                "normalizedname": "undelete-cantedit",
                "*": "You cannot undelete this page as you are not allowed to edit this page."
            },
            {
                "name": "undelete-cleanup-error",
                "normalizedname": "undelete-cleanup-error",
                "*": "Error deleting unused archive file \"$1\"."
            },
            {
                "name": "undelete-error",
                "normalizedname": "undelete-error",
                "*": "Error undeleting page"
            },
            {
                "name": "undelete-error-long",
                "normalizedname": "undelete-error-long",
                "*": "Errors were encountered while undeleting the file:\n\n$1"
            },
            {
                "name": "undelete-error-short",
                "normalizedname": "undelete-error-short",
                "*": "Error undeleting file: $1"
            },
            {
                "name": "undelete-fieldset-title",
                "normalizedname": "undelete-fieldset-title",
                "*": "Restore revisions"
            },
            {
                "name": "undelete-filename-mismatch",
                "normalizedname": "undelete-filename-mismatch",
                "*": "Cannot undelete file revision with timestamp $1: Filename mismatch."
            },
            {
                "name": "undelete-header",
                "normalizedname": "undelete-header",
                "*": "See [[Special:Log/delete|the deletion log]] for recently deleted pages."
            },
            {
                "name": "undelete-missing-filearchive",
                "normalizedname": "undelete-missing-filearchive",
                "*": "Unable to restore file archive ID $1 because it is not in the database.\nIt may have already been undeleted."
            },
            {
                "name": "undelete-no-results",
                "normalizedname": "undelete-no-results",
                "*": "No matching pages found in the deletion archive."
            },
            {
                "name": "undelete-nodiff",
                "normalizedname": "undelete-nodiff",
                "*": "No previous revision found."
            },
            {
                "name": "undelete-revision",
                "normalizedname": "undelete-revision",
                "*": "Deleted revision of $1 (as of $4, at $5) by $3:"
            },
            {
                "name": "undelete-revision-row2",
                "normalizedname": "undelete-revision-row2",
                "*": "$1 ($2) $3 . . $4 $5 $6 $7 $8"
            },
            {
                "name": "undelete-search-box",
                "normalizedname": "undelete-search-box",
                "*": "Search deleted pages"
            },
            {
                "name": "undelete-search-full",
                "normalizedname": "undelete-search-full",
                "*": "Show page titles containing:"
            },
            {
                "name": "undelete-search-prefix",
                "normalizedname": "undelete-search-prefix",
                "*": "Show pages starting with:"
            },
            {
                "name": "undelete-search-submit",
                "normalizedname": "undelete-search-submit",
                "*": "Search"
            },
            {
                "name": "undelete-search-title",
                "normalizedname": "undelete-search-title",
                "*": "Search deleted pages"
            },
            {
                "name": "undelete-show-file-confirm",
                "normalizedname": "undelete-show-file-confirm",
                "*": "Are you sure you want to view the deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?"
            },
            {
                "name": "undelete-show-file-submit",
                "normalizedname": "undelete-show-file-submit",
                "*": "Yes"
            },
            {
                "name": "undelete-summary",
                "normalizedname": "undelete-summary",
                "*": ""
            },
            {
                "name": "undelete_short",
                "normalizedname": "undelete_short",
                "*": "Undelete {{PLURAL:$1|one edit|$1 edits}}"
            },
            {
                "name": "undeletebtn",
                "normalizedname": "undeletebtn",
                "*": "Restore"
            },
            {
                "name": "undeletecomment",
                "normalizedname": "undeletecomment",
                "*": "Reason:"
            },
            {
                "name": "undeletedarticle",
                "normalizedname": "undeletedarticle",
                "*": "restored \"[[$1]]\""
            },
            {
                "name": "undeletedpage",
                "normalizedname": "undeletedpage",
                "*": "<strong>$1 has been restored</strong>\n\nConsult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations."
            },
            {
                "name": "undeleteextrahelp",
                "normalizedname": "undeleteextrahelp",
                "*": "To restore the page's entire history, leave all checkboxes deselected and click <strong><em>{{int:undeletebtn}}</em></strong>.\nTo perform a selective restoration, check the boxes corresponding to the revisions to be restored, and click <strong><em>{{int:undeletebtn}}</em></strong>."
            },
            {
                "name": "undeletehistory",
                "normalizedname": "undeletehistory",
                "*": "If you restore the page, all revisions will be restored to the history.\nIf a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history."
            },
            {
                "name": "undeletehistorynoadmin",
                "normalizedname": "undeletehistorynoadmin",
                "*": "This page has been deleted.\nThe reason for deletion is shown in the summary below, along with details of the users who had edited this page before deletion.\nThe actual text of these deleted revisions is only available to administrators."
            },
            {
                "name": "undeleteinvert",
                "normalizedname": "undeleteinvert",
                "*": "Invert selection"
            },
            {
                "name": "undeletelink",
                "normalizedname": "undeletelink",
                "*": "view/restore"
            },
            {
                "name": "undeletepage",
                "normalizedname": "undeletepage",
                "*": "View and restore deleted pages"
            },
            {
                "name": "undeletepagetext",
                "normalizedname": "undeletepagetext",
                "*": "The following {{PLURAL:$1|page has been deleted but is|$1 pages have been deleted but are}} still in the archive and can be restored.\nThe archive may be periodically cleaned out."
            },
            {
                "name": "undeletepagetitle",
                "normalizedname": "undeletepagetitle",
                "*": "<strong>The following consists of deleted revisions of [[:$1|$1]]</strong>."
            },
            {
                "name": "undeleterevdel",
                "normalizedname": "undeleterevdel",
                "*": "Undeletion will not be performed if it will result in the top page or file revision being partially deleted.\nIn such cases, you must uncheck or unhide the newest deleted revision."
            },
            {
                "name": "undeleterevision-duplicate-revid",
                "normalizedname": "undeleterevision-duplicate-revid",
                "*": "{{PLURAL:$1|One revision|$1 revisions}} could not be restored, because {{PLURAL:$1|its|their}} <code>rev_id</code> was already in use."
            },
            {
                "name": "undeleterevision-missing",
                "normalizedname": "undeleterevision-missing",
                "*": "Invalid or missing revision.\nYou may have a bad link, or the revision may have been restored or removed from the archive."
            },
            {
                "name": "undeleterevisions",
                "normalizedname": "undeleterevisions",
                "*": "$1 {{PLURAL:$1|revision|revisions}} deleted"
            },
            {
                "name": "undeleteviewlink",
                "normalizedname": "undeleteviewlink",
                "*": "view"
            },
            {
                "name": "underline-always",
                "normalizedname": "underline-always",
                "*": "Always"
            },
            {
                "name": "underline-default",
                "normalizedname": "underline-default",
                "*": "Skin or browser default"
            },
            {
                "name": "underline-never",
                "normalizedname": "underline-never",
                "*": "Never"
            },
            {
                "name": "undo-failure",
                "normalizedname": "undo-failure",
                "*": "The edit could not be undone due to conflicting intermediate edits."
            },
            {
                "name": "undo-nochange",
                "normalizedname": "undo-nochange",
                "*": "The edit appears to have already been undone."
            },
            {
                "name": "undo-norev",
                "normalizedname": "undo-norev",
                "*": "The edit could not be undone because it does not exist or was deleted."
            },
            {
                "name": "undo-success",
                "normalizedname": "undo-success",
                "*": "The edit can be undone.\nPlease check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit."
            },
            {
                "name": "undo-summary",
                "normalizedname": "undo-summary",
                "*": "Undo revision $1 by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])"
            },
            {
                "name": "undo-summary-username-hidden",
                "normalizedname": "undo-summary-username-hidden",
                "*": "Undo revision $1 by a hidden user"
            },
            {
                "name": "unexpected",
                "normalizedname": "unexpected",
                "*": "Unexpected value: \"$1\"=\"$2\"."
            },
            {
                "name": "unicode-support-fail",
                "normalizedname": "unicode-support-fail",
                "*": "It appears that your browser does not support Unicode. It is required to edit pages, so your edit was not saved."
            },
            {
                "name": "unit-pixel",
                "normalizedname": "unit-pixel",
                "*": "px"
            },
            {
                "name": "unknown-error",
                "normalizedname": "unknown-error",
                "*": "An unknown error occurred."
            },
            {
                "name": "unlinkaccounts",
                "normalizedname": "unlinkaccounts",
                "*": "Unlink accounts"
            },
            {
                "name": "unlinkaccounts-success",
                "normalizedname": "unlinkaccounts-success",
                "*": "The account was unlinked."
            },
            {
                "name": "unlockbtn",
                "normalizedname": "unlockbtn",
                "*": "Unlock database"
            },
            {
                "name": "unlockconfirm",
                "normalizedname": "unlockconfirm",
                "*": "Yes, I really want to unlock the database."
            },
            {
                "name": "unlockdb",
                "normalizedname": "unlockdb",
                "*": "Unlock database"
            },
            {
                "name": "unlockdbsuccesssub",
                "normalizedname": "unlockdbsuccesssub",
                "*": "Database lock removed"
            },
            {
                "name": "unlockdbsuccesstext",
                "normalizedname": "unlockdbsuccesstext",
                "*": "The database has been unlocked."
            },
            {
                "name": "unlockdbtext",
                "normalizedname": "unlockdbtext",
                "*": "Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do."
            },
            {
                "name": "unpatrolledletter",
                "normalizedname": "unpatrolledletter",
                "*": "!"
            },
            {
                "name": "unprotect",
                "normalizedname": "unprotect",
                "*": "Change protection"
            },
            {
                "name": "unprotectedarticle",
                "normalizedname": "unprotectedarticle",
                "*": "removed protection from \"[[$1]]\""
            },
            {
                "name": "unprotectedarticle-comment",
                "normalizedname": "unprotectedarticle-comment",
                "*": "{{GENDER:$2|Removed protection}} from \"[[$1]]\""
            },
            {
                "name": "unstrip-depth-category",
                "normalizedname": "unstrip-depth-category",
                "*": "Pages where the unstrip depth limit is exceeded"
            },
            {
                "name": "unstrip-depth-warning",
                "normalizedname": "unstrip-depth-warning",
                "*": "Unstrip depth limit exceeded ($1)"
            },
            {
                "name": "unstrip-size-category",
                "normalizedname": "unstrip-size-category",
                "*": "Pages where the unstrip size limit is exceeded"
            },
            {
                "name": "unstrip-size-warning",
                "normalizedname": "unstrip-size-warning",
                "*": "Unstrip size limit exceeded ($1)"
            },
            {
                "name": "unusedcategories",
                "normalizedname": "unusedcategories",
                "*": "Unused categories"
            },
            {
                "name": "unusedcategories-summary",
                "normalizedname": "unusedcategories-summary",
                "*": ""
            },
            {
                "name": "unusedcategoriestext",
                "normalizedname": "unusedcategoriestext",
                "*": "The following category pages exist, although no other page or category makes use of them."
            },
            {
                "name": "unusedimages",
                "normalizedname": "unusedimages",
                "*": "Unused files"
            },
            {
                "name": "unusedimages-summary",
                "normalizedname": "unusedimages-summary",
                "*": ""
            },
            {
                "name": "unusedimagestext",
                "normalizedname": "unusedimagestext",
                "*": "The following files exist but are not embedded in any page.\nPlease note that other web sites may link to a file with a direct URL, and so may still be listed here despite being in active use."
            },
            {
                "name": "unusedtemplates",
                "normalizedname": "unusedtemplates",
                "*": "Unused templates"
            },
            {
                "name": "unusedtemplates-summary",
                "normalizedname": "unusedtemplates-summary",
                "*": ""
            },
            {
                "name": "unusedtemplatestext",
                "normalizedname": "unusedtemplatestext",
                "*": "This page lists all pages in the {{ns:template}} namespace that are not included in another page.\nRemember to check for other links to the templates before deleting them."
            },
            {
                "name": "unusedtemplateswlh",
                "normalizedname": "unusedtemplateswlh",
                "*": "other links"
            },
            {
                "name": "unwatch",
                "normalizedname": "unwatch",
                "*": "Unwatch"
            },
            {
                "name": "unwatchedpages",
                "normalizedname": "unwatchedpages",
                "*": "Unwatched pages"
            },
            {
                "name": "unwatchedpages-summary",
                "normalizedname": "unwatchedpages-summary",
                "*": ""
            },
            {
                "name": "unwatching",
                "normalizedname": "unwatching",
                "*": "Unwatching..."
            },
            {
                "name": "unwatchthispage",
                "normalizedname": "unwatchthispage",
                "*": "Stop watching"
            },
            {
                "name": "updated",
                "normalizedname": "updated",
                "*": "(Updated)"
            },
            {
                "name": "updatedmarker",
                "normalizedname": "updatedmarker",
                "*": "updated since my last visit"
            },
            {
                "name": "upload",
                "normalizedname": "upload",
                "*": "Upload file"
            },
            {
                "name": "upload-copy-upload-invalid-domain",
                "normalizedname": "upload-copy-upload-invalid-domain",
                "*": "Copy uploads are not available from this domain."
            },
            {
                "name": "upload-curl-error28",
                "normalizedname": "upload-curl-error28",
                "*": "Upload timeout"
            },
            {
                "name": "upload-curl-error28-text",
                "normalizedname": "upload-curl-error28-text",
                "*": "The site took too long to respond.\nPlease check the site is up, wait a short while and try again.\nYou may want to try at a less busy time."
            },
            {
                "name": "upload-curl-error6",
                "normalizedname": "upload-curl-error6",
                "*": "Could not reach URL"
            },
            {
                "name": "upload-curl-error6-text",
                "normalizedname": "upload-curl-error6-text",
                "*": "The URL provided could not be reached.\nPlease double-check that the URL is correct and the site is up."
            },
            {
                "name": "upload-default-description",
                "normalizedname": "upload-default-description",
                "*": "-"
            },
            {
                "name": "upload-description",
                "normalizedname": "upload-description",
                "*": "File description"
            },
            {
                "name": "upload-dialog-button-back",
                "normalizedname": "upload-dialog-button-back",
                "*": "Back"
            },
            {
                "name": "upload-dialog-button-cancel",
                "normalizedname": "upload-dialog-button-cancel",
                "*": "Cancel"
            },
            {
                "name": "upload-dialog-button-done",
                "normalizedname": "upload-dialog-button-done",
                "*": "Done"
            },
            {
                "name": "upload-dialog-button-save",
                "normalizedname": "upload-dialog-button-save",
                "*": "Save"
            },
            {
                "name": "upload-dialog-button-upload",
                "normalizedname": "upload-dialog-button-upload",
                "*": "Upload"
            },
            {
                "name": "upload-dialog-disabled",
                "normalizedname": "upload-dialog-disabled",
                "*": "File uploads using this dialog are disabled on this wiki."
            },
            {
                "name": "upload-dialog-title",
                "normalizedname": "upload-dialog-title",
                "*": "Upload file"
            },
            {
                "name": "upload-disallowed-here",
                "normalizedname": "upload-disallowed-here",
                "*": "You cannot overwrite this file."
            },
            {
                "name": "upload-file-error",
                "normalizedname": "upload-file-error",
                "*": "Internal error"
            },
            {
                "name": "upload-file-error-text",
                "normalizedname": "upload-file-error-text",
                "*": "An internal error occurred when attempting to create a temporary file on the server.\nPlease contact an [[Special:ListUsers/sysop|administrator]]."
            },
            {
                "name": "upload-foreign-cant-load-config",
                "normalizedname": "upload-foreign-cant-load-config",
                "*": "Failed to load the configuration for file uploads to the foreign file repository."
            },
            {
                "name": "upload-foreign-cant-upload",
                "normalizedname": "upload-foreign-cant-upload",
                "*": "This wiki is not configured to upload files to the requested foreign file repository."
            },
            {
                "name": "upload-form-label-infoform-categories",
                "normalizedname": "upload-form-label-infoform-categories",
                "*": "Categories"
            },
            {
                "name": "upload-form-label-infoform-date",
                "normalizedname": "upload-form-label-infoform-date",
                "*": "Date"
            },
            {
                "name": "upload-form-label-infoform-description",
                "normalizedname": "upload-form-label-infoform-description",
                "*": "Description"
            },
            {
                "name": "upload-form-label-infoform-description-tooltip",
                "normalizedname": "upload-form-label-infoform-description-tooltip",
                "*": "Briefly describe everything notable about the work.\nFor a photo, mention the main things that are depicted, the occasion, or the place."
            },
            {
                "name": "upload-form-label-infoform-name",
                "normalizedname": "upload-form-label-infoform-name",
                "*": "Name"
            },
            {
                "name": "upload-form-label-infoform-name-tooltip",
                "normalizedname": "upload-form-label-infoform-name-tooltip",
                "*": "A unique descriptive title for the file, which will serve as a filename. You may use plain language with spaces. Do not include the file extension."
            },
            {
                "name": "upload-form-label-infoform-title",
                "normalizedname": "upload-form-label-infoform-title",
                "*": "Details"
            },
            {
                "name": "upload-form-label-not-own-work-local-generic-foreign",
                "normalizedname": "upload-form-label-not-own-work-local-generic-foreign",
                "*": "You may also want to try using [[Special:Upload|the upload page on {{SITENAME}}]], if this file can be uploaded there under their policies."
            },
            {
                "name": "upload-form-label-not-own-work-local-generic-local",
                "normalizedname": "upload-form-label-not-own-work-local-generic-local",
                "*": "You may also want to try [[Special:Upload|the default upload page]]."
            },
            {
                "name": "upload-form-label-not-own-work-message-generic-foreign",
                "normalizedname": "upload-form-label-not-own-work-message-generic-foreign",
                "*": "If you are not able to upload this file under the policies of the shared repository, please close this dialog and try another method."
            },
            {
                "name": "upload-form-label-not-own-work-message-generic-local",
                "normalizedname": "upload-form-label-not-own-work-message-generic-local",
                "*": "If you are not able to upload this file under the policies of {{SITENAME}}, please close this dialog and try another method."
            },
            {
                "name": "upload-form-label-own-work",
                "normalizedname": "upload-form-label-own-work",
                "*": "This is my own work"
            },
            {
                "name": "upload-form-label-own-work-message-generic-foreign",
                "normalizedname": "upload-form-label-own-work-message-generic-foreign",
                "*": "I understand that I am uploading this file to a shared repository. I confirm that I am doing so following the terms of service and licensing policies there."
            },
            {
                "name": "upload-form-label-own-work-message-generic-local",
                "normalizedname": "upload-form-label-own-work-message-generic-local",
                "*": "I confirm that I am uploading this file following the terms of service and licensing policies on {{SITENAME}}."
            },
            {
                "name": "upload-form-label-usage-filename",
                "normalizedname": "upload-form-label-usage-filename",
                "*": "File name"
            },
            {
                "name": "upload-form-label-usage-title",
                "normalizedname": "upload-form-label-usage-title",
                "*": "Usage"
            },
            {
                "name": "upload-http-error",
                "normalizedname": "upload-http-error",
                "*": "An HTTP error occurred: $1"
            },
            {
                "name": "upload-maxfilesize",
                "normalizedname": "upload-maxfilesize",
                "*": "Maximum file size: $1"
            },
            {
                "name": "upload-misc-error",
                "normalizedname": "upload-misc-error",
                "*": "Unknown upload error"
            },
            {
                "name": "upload-misc-error-text",
                "normalizedname": "upload-misc-error-text",
                "*": "An unknown error occurred during the upload.\nPlease verify that the URL is valid and accessible and try again.\nIf the problem persists, contact an [[Special:ListUsers/sysop|administrator]]."
            },
            {
                "name": "upload-options",
                "normalizedname": "upload-options",
                "*": "Upload options"
            },
            {
                "name": "upload-permitted",
                "normalizedname": "upload-permitted",
                "*": "Permitted file {{PLURAL:$2|type|types}}: $1."
            },
            {
                "name": "upload-preferred",
                "normalizedname": "upload-preferred",
                "*": "Preferred file {{PLURAL:$2|type|types}}: $1."
            },
            {
                "name": "upload-prohibited",
                "normalizedname": "upload-prohibited",
                "*": "Prohibited file {{PLURAL:$2|type|types}}: $1."
            },
            {
                "name": "upload-proto-error",
                "normalizedname": "upload-proto-error",
                "*": "Incorrect protocol"
            },
            {
                "name": "upload-proto-error-text",
                "normalizedname": "upload-proto-error-text",
                "*": "Remote upload requires URLs beginning with <code>http://</code> or <code>ftp://</code>."
            },
            {
                "name": "upload-recreate-warning",
                "normalizedname": "upload-recreate-warning",
                "*": "<strong>Warning: A file by that name has been deleted or moved.</strong>\n\nThe deletion and move log for this page are provided here for convenience:"
            },
            {
                "name": "upload-scripted-dtd",
                "normalizedname": "upload-scripted-dtd",
                "*": "Cannot upload SVG files that contain a non-standard DTD declaration."
            },
            {
                "name": "upload-scripted-pi-callback",
                "normalizedname": "upload-scripted-pi-callback",
                "*": "Cannot upload a file that contains XML-stylesheet processing instruction."
            },
            {
                "name": "upload-source",
                "normalizedname": "upload-source",
                "*": "Source file"
            },
            {
                "name": "upload-summary",
                "normalizedname": "upload-summary",
                "*": ""
            },
            {
                "name": "upload-too-many-redirects",
                "normalizedname": "upload-too-many-redirects",
                "*": "The URL contained too many redirects"
            },
            {
                "name": "upload-tryagain",
                "normalizedname": "upload-tryagain",
                "*": "Submit modified file description"
            },
            {
                "name": "upload-tryagain-nostash",
                "normalizedname": "upload-tryagain-nostash",
                "*": "Submit re-uploaded file and modified description"
            },
            {
                "name": "upload_directory_missing",
                "normalizedname": "upload_directory_missing",
                "*": "The upload directory ($1) is missing and could not be created by the webserver."
            },
            {
                "name": "upload_directory_read_only",
                "normalizedname": "upload_directory_read_only",
                "*": "The upload directory ($1) is not writable by the webserver."
            },
            {
                "name": "upload_source_file",
                "normalizedname": "upload_source_file",
                "*": "(your chosen file from your computer)"
            },
            {
                "name": "upload_source_url",
                "normalizedname": "upload_source_url",
                "*": "(your chosen file from a valid, publicly accessible URL)"
            },
            {
                "name": "uploadbtn",
                "normalizedname": "uploadbtn",
                "*": "Upload file"
            },
            {
                "name": "uploaddisabled",
                "normalizedname": "uploaddisabled",
                "*": "Uploads disabled."
            },
            {
                "name": "uploaddisabledtext",
                "normalizedname": "uploaddisabledtext",
                "*": "File uploads are disabled."
            },
            {
                "name": "uploaded-animate-svg",
                "normalizedname": "uploaded-animate-svg",
                "*": "Found \"animate\" tag that might be changing href, using the \"from\" attribute <code>&lt;$1 $2=\"$3\"&gt;</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-event-handler-on-svg",
                "normalizedname": "uploaded-event-handler-on-svg",
                "*": "Setting event-handler attributes <code>$1=\"$2\"</code> is not allowed in SVG files."
            },
            {
                "name": "uploaded-hostile-svg",
                "normalizedname": "uploaded-hostile-svg",
                "*": "Found unsafe CSS in the style element of uploaded SVG file."
            },
            {
                "name": "uploaded-href-attribute-svg",
                "normalizedname": "uploaded-href-attribute-svg",
                "*": "<a> elements can only link (href) to data: (embedded file), http:// or https://, or fragment (#, same-document) targets.  For other elements, such as <image>, only data: and fragment are allowed.  Try embedding images when exporting your SVG.  Found <code>&lt;$1 $2=\"$3\"&gt;</code>."
            },
            {
                "name": "uploaded-href-unsafe-target-svg",
                "normalizedname": "uploaded-href-unsafe-target-svg",
                "*": "Found href to unsafe data: URI target <code>&lt;$1 $2=\"$3\"&gt;</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-image-filter-svg",
                "normalizedname": "uploaded-image-filter-svg",
                "*": "Found image filter with URL: <code>&lt;$1 $2=\"$3\"&gt;</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-remote-url-svg",
                "normalizedname": "uploaded-remote-url-svg",
                "*": "SVG that sets any style attribute with remote URL is blocked. Found <code>$1=\"$2\"</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-script-svg",
                "normalizedname": "uploaded-script-svg",
                "*": "Found scriptable element \"$1\" in the uploaded SVG file."
            },
            {
                "name": "uploaded-setting-event-handler-svg",
                "normalizedname": "uploaded-setting-event-handler-svg",
                "*": "Setting event-handler attributes is blocked, found <code>&lt;$1 $2=\"$3\"&gt;</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-setting-handler-svg",
                "normalizedname": "uploaded-setting-handler-svg",
                "*": "SVG that sets the \"handler\" attribute with remote/data/script is blocked. Found <code>$1=\"$2\"</code> in the uploaded SVG file."
            },
            {
                "name": "uploaded-setting-href-svg",
                "normalizedname": "uploaded-setting-href-svg",
                "*": "Using the \"set\" tag to add \"href\" attribute to parent element is blocked."
            },
            {
                "name": "uploaded-wrong-setting-svg",
                "normalizedname": "uploaded-wrong-setting-svg",
                "*": "Using the \"set\" tag to add a remote/data/script target to any attribute is blocked. Found <code>&lt;set to=\"$1\"&gt;</code> in the uploaded SVG file."
            },
            {
                "name": "uploadedimage",
                "normalizedname": "uploadedimage",
                "*": "uploaded \"[[$1]]\""
            },
            {
                "name": "uploaderror",
                "normalizedname": "uploaderror",
                "*": "Upload error"
            },
            {
                "name": "uploadfooter",
                "normalizedname": "uploadfooter",
                "*": "-"
            },
            {
                "name": "uploadinvalidxml",
                "normalizedname": "uploadinvalidxml",
                "*": "The XML in the uploaded file could not be parsed."
            },
            {
                "name": "uploadjava",
                "normalizedname": "uploadjava",
                "*": "The file is a ZIP file that contains a Java .class file.\nUploading Java files is not allowed because they can cause security restrictions to be bypassed."
            },
            {
                "name": "uploadlogpage",
                "normalizedname": "uploadlogpage",
                "*": "Upload log"
            },
            {
                "name": "uploadlogpagetext",
                "normalizedname": "uploadlogpagetext",
                "*": "Below is a list of the most recent file uploads.\nSee the [[Special:NewFiles|gallery of new files]] for a more visual overview."
            },
            {
                "name": "uploadnewversion-linktext",
                "normalizedname": "uploadnewversion-linktext",
                "*": "Upload a new version of this file"
            },
            {
                "name": "uploadnologin",
                "normalizedname": "uploadnologin",
                "*": "Not logged in"
            },
            {
                "name": "uploadnologintext",
                "normalizedname": "uploadnologintext",
                "*": "Please $1 to upload files."
            },
            {
                "name": "uploadscripted",
                "normalizedname": "uploadscripted",
                "*": "This file contains HTML or script code that may be erroneously interpreted by a web browser."
            },
            {
                "name": "uploadscriptednamespace",
                "normalizedname": "uploadscriptednamespace",
                "*": "This SVG file contains an illegal namespace \"<nowiki>$1</nowiki>\"."
            },
            {
                "name": "uploadstash",
                "normalizedname": "uploadstash",
                "*": "Upload stash"
            },
            {
                "name": "uploadstash-bad-path",
                "normalizedname": "uploadstash-bad-path",
                "*": "Path doesn't exist."
            },
            {
                "name": "uploadstash-bad-path-bad-format",
                "normalizedname": "uploadstash-bad-path-bad-format",
                "*": "Key \"$1\" is not in a proper format."
            },
            {
                "name": "uploadstash-bad-path-invalid",
                "normalizedname": "uploadstash-bad-path-invalid",
                "*": "Path is not valid."
            },
            {
                "name": "uploadstash-bad-path-no-handler",
                "normalizedname": "uploadstash-bad-path-no-handler",
                "*": "No handler found for mime $1 of file $2."
            },
            {
                "name": "uploadstash-bad-path-unknown-type",
                "normalizedname": "uploadstash-bad-path-unknown-type",
                "*": "Unknown type \"$1\"."
            },
            {
                "name": "uploadstash-bad-path-unrecognized-thumb-name",
                "normalizedname": "uploadstash-bad-path-unrecognized-thumb-name",
                "*": "Unrecognized thumb name."
            },
            {
                "name": "uploadstash-badtoken",
                "normalizedname": "uploadstash-badtoken",
                "*": "Performing that action failed, perhaps because your editing credentials expired. Please try again."
            },
            {
                "name": "uploadstash-clear",
                "normalizedname": "uploadstash-clear",
                "*": "Clear stashed files"
            },
            {
                "name": "uploadstash-errclear",
                "normalizedname": "uploadstash-errclear",
                "*": "Clearing the files failed."
            },
            {
                "name": "uploadstash-exception",
                "normalizedname": "uploadstash-exception",
                "*": "Could not store upload in the stash ($1): \"$2\"."
            },
            {
                "name": "uploadstash-file-not-found",
                "normalizedname": "uploadstash-file-not-found",
                "*": "Key \"$1\" not found in stash."
            },
            {
                "name": "uploadstash-file-not-found-missing-content-type",
                "normalizedname": "uploadstash-file-not-found-missing-content-type",
                "*": "Missing content-type header."
            },
            {
                "name": "uploadstash-file-not-found-no-local-path",
                "normalizedname": "uploadstash-file-not-found-no-local-path",
                "*": "No local path for scaled item."
            },
            {
                "name": "uploadstash-file-not-found-no-object",
                "normalizedname": "uploadstash-file-not-found-no-object",
                "*": "Couldn't create local file object for thumbnail."
            },
            {
                "name": "uploadstash-file-not-found-no-remote-thumb",
                "normalizedname": "uploadstash-file-not-found-no-remote-thumb",
                "*": "Fetching thumbnail failed: $1\nURL = $2"
            },
            {
                "name": "uploadstash-file-not-found-no-thumb",
                "normalizedname": "uploadstash-file-not-found-no-thumb",
                "*": "Could not obtain thumbnail."
            },
            {
                "name": "uploadstash-file-not-found-not-exists",
                "normalizedname": "uploadstash-file-not-found-not-exists",
                "*": "Cannot find path, or not a plain file."
            },
            {
                "name": "uploadstash-file-too-large",
                "normalizedname": "uploadstash-file-too-large",
                "*": "Cannot serve a file larger than $1 bytes."
            },
            {
                "name": "uploadstash-no-extension",
                "normalizedname": "uploadstash-no-extension",
                "*": "Extension is null."
            },
            {
                "name": "uploadstash-no-such-key",
                "normalizedname": "uploadstash-no-such-key",
                "*": "No such key ($1), cannot remove."
            },
            {
                "name": "uploadstash-nofiles",
                "normalizedname": "uploadstash-nofiles",
                "*": "You have no stashed files."
            },
            {
                "name": "uploadstash-not-logged-in",
                "normalizedname": "uploadstash-not-logged-in",
                "*": "No user is logged in, files must belong to users."
            },
            {
                "name": "uploadstash-refresh",
                "normalizedname": "uploadstash-refresh",
                "*": "Refresh the list of files"
            },
            {
                "name": "uploadstash-summary",
                "normalizedname": "uploadstash-summary",
                "*": "This page provides access to files that are uploaded or in the process of uploading, but are not yet published to the wiki. These files are not visible to anyone but the user who uploaded them."
            },
            {
                "name": "uploadstash-thumbnail",
                "normalizedname": "uploadstash-thumbnail",
                "*": "view thumbnail"
            },
            {
                "name": "uploadstash-wrong-owner",
                "normalizedname": "uploadstash-wrong-owner",
                "*": "This file ($1) doesn't belong to the current user."
            },
            {
                "name": "uploadstash-zero-length",
                "normalizedname": "uploadstash-zero-length",
                "*": "File is zero length."
            },
            {
                "name": "uploadtext",
                "normalizedname": "uploadtext",
                "*": "Use the form below to upload files.\nTo view or search previously uploaded files go to the [[Special:FileList|list of uploaded files]], (re)uploads are also logged in the [[Special:Log/upload|upload log]], deletions in the [[Special:Log/delete|deletion log]].\n\nTo include a file in a page, use a link in one of the following forms:\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> to use the full version of the file\n* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></code></strong> to use a 200 pixel wide rendition in a box in the left margin with \"alt text\" as description\n* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> for directly linking to the file without displaying the file"
            },
            {
                "name": "uploadvirus",
                "normalizedname": "uploadvirus",
                "*": "The file contains a virus!\nDetails: $1"
            },
            {
                "name": "uploadwarning",
                "normalizedname": "uploadwarning",
                "*": "Upload warning"
            },
            {
                "name": "uploadwarning-text",
                "normalizedname": "uploadwarning-text",
                "*": "Please modify the file description below and try again."
            },
            {
                "name": "uploadwarning-text-nostash",
                "normalizedname": "uploadwarning-text-nostash",
                "*": "Please re-upload the file, modify the description below and try again."
            },
            {
                "name": "user-mail-no-addy",
                "normalizedname": "user-mail-no-addy",
                "*": "Tried to send email without an email address."
            },
            {
                "name": "user-mail-no-body",
                "normalizedname": "user-mail-no-body",
                "*": "Tried to send email with an empty or unreasonably short body."
            },
            {
                "name": "usercreated",
                "normalizedname": "usercreated",
                "*": "{{GENDER:$3|Created}} on $1 at $2"
            },
            {
                "name": "usercssispublic",
                "normalizedname": "usercssispublic",
                "*": "Please note: CSS subpages should not contain confidential data as they are viewable by other users."
            },
            {
                "name": "usercsspreview",
                "normalizedname": "usercsspreview",
                "*": "<strong>Remember that you are only previewing your user CSS.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "usercssyoucanpreview",
                "normalizedname": "usercssyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new CSS before saving."
            },
            {
                "name": "usereditcount",
                "normalizedname": "usereditcount",
                "*": "$1 {{PLURAL:$1|edit|edits}}"
            },
            {
                "name": "userexists",
                "normalizedname": "userexists",
                "*": "Username entered already in use.\nPlease choose a different name."
            },
            {
                "name": "userinvalidconfigtitle",
                "normalizedname": "userinvalidconfigtitle",
                "*": "<strong>Warning:</strong> There is no skin \"$1\".\nCustom .css, .json, and .js pages use a lowercase title, e.g. {{ns:user}}:Foo/vector.css as opposed to {{ns:user}}:Foo/Vector.css."
            },
            {
                "name": "userjsispublic",
                "normalizedname": "userjsispublic",
                "*": "Please note: JavaScript subpages should not contain confidential data as they are viewable by other users."
            },
            {
                "name": "userjsonispublic",
                "normalizedname": "userjsonispublic",
                "*": "Please note: JSON subpages should not contain confidential data as they are viewable by other users."
            },
            {
                "name": "userjsonpreview",
                "normalizedname": "userjsonpreview",
                "*": "<strong>Remember that you are only testing/previewing your user JSON config.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "userjsonyoucanpreview",
                "normalizedname": "userjsonyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new JSON before saving."
            },
            {
                "name": "userjspreview",
                "normalizedname": "userjspreview",
                "*": "<strong>Remember that you are only testing/previewing your user JavaScript.\nIt has not yet been saved!</strong>"
            },
            {
                "name": "userjsyoucanpreview",
                "normalizedname": "userjsyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new JavaScript before saving."
            },
            {
                "name": "userlogin-createanother",
                "normalizedname": "userlogin-createanother",
                "*": "Create another account"
            },
            {
                "name": "userlogin-helplink2",
                "normalizedname": "userlogin-helplink2",
                "*": "Help with logging in"
            },
            {
                "name": "userlogin-joinproject",
                "normalizedname": "userlogin-joinproject",
                "*": "Join {{SITENAME}}"
            },
            {
                "name": "userlogin-loggedin",
                "normalizedname": "userlogin-loggedin",
                "*": "You are already logged in as {{GENDER:$1|$1}}.\nUse the form below to log in as another user."
            },
            {
                "name": "userlogin-noaccount",
                "normalizedname": "userlogin-noaccount",
                "*": "Don't have an account?"
            },
            {
                "name": "userlogin-reauth",
                "normalizedname": "userlogin-reauth",
                "*": "You must log in again to verify that you are {{GENDER:$1|$1}}."
            },
            {
                "name": "userlogin-remembermypassword",
                "normalizedname": "userlogin-remembermypassword",
                "*": "Keep me logged in"
            },
            {
                "name": "userlogin-resetpassword-link",
                "normalizedname": "userlogin-resetpassword-link",
                "*": "Forgot your password?"
            },
            {
                "name": "userlogin-signwithsecure",
                "normalizedname": "userlogin-signwithsecure",
                "*": "Use secure connection"
            },
            {
                "name": "userlogin-yourname",
                "normalizedname": "userlogin-yourname",
                "*": "Username"
            },
            {
                "name": "userlogin-yourname-ph",
                "normalizedname": "userlogin-yourname-ph",
                "*": "Enter your username"
            },
            {
                "name": "userlogin-yourpassword",
                "normalizedname": "userlogin-yourpassword",
                "*": "Password"
            },
            {
                "name": "userlogin-yourpassword-ph",
                "normalizedname": "userlogin-yourpassword-ph",
                "*": "Enter your password"
            },
            {
                "name": "userlogout",
                "normalizedname": "userlogout",
                "*": "Log out"
            },
            {
                "name": "userlogout-summary",
                "normalizedname": "userlogout-summary",
                "*": ""
            },
            {
                "name": "usermaildisabled",
                "normalizedname": "usermaildisabled",
                "*": "User email disabled"
            },
            {
                "name": "usermaildisabledtext",
                "normalizedname": "usermaildisabledtext",
                "*": "You cannot send email to other users on this wiki"
            },
            {
                "name": "usermessage-editor",
                "normalizedname": "usermessage-editor",
                "*": "System messenger"
            },
            {
                "name": "usermessage-summary",
                "normalizedname": "usermessage-summary",
                "*": "Leaving system message."
            },
            {
                "name": "usermessage-template",
                "normalizedname": "usermessage-template",
                "*": "MediaWiki:UserMessage"
            },
            {
                "name": "username",
                "normalizedname": "username",
                "*": "{{GENDER:$1|Username}}:"
            },
            {
                "name": "usernameinprogress",
                "normalizedname": "usernameinprogress",
                "*": "An account creation for this user name is already in progress.\nPlease wait."
            },
            {
                "name": "userpage-userdoesnotexist",
                "normalizedname": "userpage-userdoesnotexist",
                "*": "User account \"$1\" is not registered.\nPlease check if you want to create/edit this page."
            },
            {
                "name": "userpage-userdoesnotexist-view",
                "normalizedname": "userpage-userdoesnotexist-view",
                "*": "User account \"$1\" is not registered."
            },
            {
                "name": "userrights",
                "normalizedname": "userrights",
                "*": "User rights"
            },
            {
                "name": "userrights-cannot-shorten-expiry",
                "normalizedname": "userrights-cannot-shorten-expiry",
                "*": "You cannot bring forward the expiry of membership in group \"$1\". Only users with permission to add and remove this group can bring forward expiry times."
            },
            {
                "name": "userrights-changeable-col",
                "normalizedname": "userrights-changeable-col",
                "*": "Groups you can change"
            },
            {
                "name": "userrights-conflict",
                "normalizedname": "userrights-conflict",
                "*": "Conflict of user rights changes! Please review and confirm your changes."
            },
            {
                "name": "userrights-editusergroup",
                "normalizedname": "userrights-editusergroup",
                "*": "Edit {{GENDER:$1|user}} groups"
            },
            {
                "name": "userrights-expiry",
                "normalizedname": "userrights-expiry",
                "*": "Expires:"
            },
            {
                "name": "userrights-expiry-current",
                "normalizedname": "userrights-expiry-current",
                "*": "Expires $1"
            },
            {
                "name": "userrights-expiry-existing",
                "normalizedname": "userrights-expiry-existing",
                "*": "Existing expiration time: $3, $2"
            },
            {
                "name": "userrights-expiry-in-past",
                "normalizedname": "userrights-expiry-in-past",
                "*": "The expiry time for group \"$1\" is in the past."
            },
            {
                "name": "userrights-expiry-none",
                "normalizedname": "userrights-expiry-none",
                "*": "Does not expire"
            },
            {
                "name": "userrights-expiry-options",
                "normalizedname": "userrights-expiry-options",
                "*": "1 day:1 day,1 week:1 week,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year"
            },
            {
                "name": "userrights-expiry-othertime",
                "normalizedname": "userrights-expiry-othertime",
                "*": "Other time:"
            },
            {
                "name": "userrights-groups-help",
                "normalizedname": "userrights-groups-help",
                "*": "You may alter the groups this user is in:\n* A checked box means the user is in that group.\n* An unchecked box means the user is not in that group.\n* A * indicates that you cannot remove the group once you have added it, or vice versa.\n* A # indicates that you can only put back the expiration time of this group membership; you cannot bring it forward."
            },
            {
                "name": "userrights-groupsmember",
                "normalizedname": "userrights-groupsmember",
                "*": "Member of:"
            },
            {
                "name": "userrights-groupsmember-auto",
                "normalizedname": "userrights-groupsmember-auto",
                "*": "Implicit member of:"
            },
            {
                "name": "userrights-groupsmember-type",
                "normalizedname": "userrights-groupsmember-type",
                "*": "$1"
            },
            {
                "name": "userrights-invalid-expiry",
                "normalizedname": "userrights-invalid-expiry",
                "*": "The expiry time for group \"$1\" is invalid."
            },
            {
                "name": "userrights-irreversible-marker",
                "normalizedname": "userrights-irreversible-marker",
                "*": "$1*"
            },
            {
                "name": "userrights-lookup-user",
                "normalizedname": "userrights-lookup-user",
                "*": "Select a user"
            },
            {
                "name": "userrights-no-interwiki",
                "normalizedname": "userrights-no-interwiki",
                "*": "You do not have permission to edit user rights on other wikis."
            },
            {
                "name": "userrights-no-shorten-expiry-marker",
                "normalizedname": "userrights-no-shorten-expiry-marker",
                "*": "$1#"
            },
            {
                "name": "userrights-nodatabase",
                "normalizedname": "userrights-nodatabase",
                "*": "Database $1 does not exist or is not local."
            },
            {
                "name": "userrights-reason",
                "normalizedname": "userrights-reason",
                "*": "Reason:"
            },
            {
                "name": "userrights-summary",
                "normalizedname": "userrights-summary",
                "*": ""
            },
            {
                "name": "userrights-unchangeable-col",
                "normalizedname": "userrights-unchangeable-col",
                "*": "Groups you cannot change"
            },
            {
                "name": "userrights-user-editname",
                "normalizedname": "userrights-user-editname",
                "*": "Enter a username:"
            },
            {
                "name": "userrights-viewusergroup",
                "normalizedname": "userrights-viewusergroup",
                "*": "View {{GENDER:$1|user}} groups"
            },
            {
                "name": "variantname-crh",
                "normalizedname": "variantname-crh",
                "*": "crh"
            },
            {
                "name": "variantname-crh-cyrl",
                "normalizedname": "variantname-crh-cyrl",
                "*": "crh-Cyrl"
            },
            {
                "name": "variantname-crh-latn",
                "normalizedname": "variantname-crh-latn",
                "*": "crh-Latn"
            },
            {
                "name": "variantname-gan",
                "normalizedname": "variantname-gan",
                "*": "gan"
            },
            {
                "name": "variantname-gan-hans",
                "normalizedname": "variantname-gan-hans",
                "*": "hans"
            },
            {
                "name": "variantname-gan-hant",
                "normalizedname": "variantname-gan-hant",
                "*": "hant"
            },
            {
                "name": "variantname-ike-cans",
                "normalizedname": "variantname-ike-cans",
                "*": "ike-Cans"
            },
            {
                "name": "variantname-ike-latn",
                "normalizedname": "variantname-ike-latn",
                "*": "ike-Latn"
            },
            {
                "name": "variantname-iu",
                "normalizedname": "variantname-iu",
                "*": "iu"
            },
            {
                "name": "variantname-kk",
                "normalizedname": "variantname-kk",
                "*": "kk"
            },
            {
                "name": "variantname-kk-arab",
                "normalizedname": "variantname-kk-arab",
                "*": "kk-arab"
            },
            {
                "name": "variantname-kk-cn",
                "normalizedname": "variantname-kk-cn",
                "*": "kk-cn"
            },
            {
                "name": "variantname-kk-cyrl",
                "normalizedname": "variantname-kk-cyrl",
                "*": "kk-cyrl"
            },
            {
                "name": "variantname-kk-kz",
                "normalizedname": "variantname-kk-kz",
                "*": "kk-kz"
            },
            {
                "name": "variantname-kk-latn",
                "normalizedname": "variantname-kk-latn",
                "*": "kk-latn"
            },
            {
                "name": "variantname-kk-tr",
                "normalizedname": "variantname-kk-tr",
                "*": "kk-tr"
            },
            {
                "name": "variantname-ku",
                "normalizedname": "variantname-ku",
                "*": "ku"
            },
            {
                "name": "variantname-ku-arab",
                "normalizedname": "variantname-ku-arab",
                "*": "ku-Arab"
            },
            {
                "name": "variantname-ku-latn",
                "normalizedname": "variantname-ku-latn",
                "*": "ku-Latn"
            },
            {
                "name": "variantname-shi",
                "normalizedname": "variantname-shi",
                "*": "shi"
            },
            {
                "name": "variantname-shi-latn",
                "normalizedname": "variantname-shi-latn",
                "*": "shi-Latn"
            },
            {
                "name": "variantname-shi-tfng",
                "normalizedname": "variantname-shi-tfng",
                "*": "shi-Tfng"
            },
            {
                "name": "variantname-sr",
                "normalizedname": "variantname-sr",
                "*": "sr"
            },
            {
                "name": "variantname-sr-ec",
                "normalizedname": "variantname-sr-ec",
                "*": "sr-ec"
            },
            {
                "name": "variantname-sr-el",
                "normalizedname": "variantname-sr-el",
                "*": "sr-el"
            },
            {
                "name": "variantname-tg",
                "normalizedname": "variantname-tg",
                "*": "tg"
            },
            {
                "name": "variantname-tg-cyrl",
                "normalizedname": "variantname-tg-cyrl",
                "*": "tg-Cyrl"
            },
            {
                "name": "variantname-tg-latn",
                "normalizedname": "variantname-tg-latn",
                "*": "tg-Latn"
            },
            {
                "name": "variantname-uz",
                "normalizedname": "variantname-uz",
                "*": "uz"
            },
            {
                "name": "variantname-uz-cyrl",
                "normalizedname": "variantname-uz-cyrl",
                "*": "uz-Cyrl"
            },
            {
                "name": "variantname-uz-latn",
                "normalizedname": "variantname-uz-latn",
                "*": "uz-Latn"
            },
            {
                "name": "variantname-zh",
                "normalizedname": "variantname-zh",
                "*": "zh"
            },
            {
                "name": "variantname-zh-cn",
                "normalizedname": "variantname-zh-cn",
                "*": "cn"
            },
            {
                "name": "variantname-zh-hans",
                "normalizedname": "variantname-zh-hans",
                "*": "hans"
            },
            {
                "name": "variantname-zh-hant",
                "normalizedname": "variantname-zh-hant",
                "*": "hant"
            },
            {
                "name": "variantname-zh-hk",
                "normalizedname": "variantname-zh-hk",
                "*": "hk"
            },
            {
                "name": "variantname-zh-mo",
                "normalizedname": "variantname-zh-mo",
                "*": "mo"
            },
            {
                "name": "variantname-zh-my",
                "normalizedname": "variantname-zh-my",
                "*": "my"
            },
            {
                "name": "variantname-zh-sg",
                "normalizedname": "variantname-zh-sg",
                "*": "sg"
            },
            {
                "name": "variantname-zh-tw",
                "normalizedname": "variantname-zh-tw",
                "*": "tw"
            },
            {
                "name": "variants",
                "normalizedname": "variants",
                "*": "Variants"
            },
            {
                "name": "vector-action-addsection",
                "normalizedname": "vector-action-addsection",
                "*": "Add topic"
            },
            {
                "name": "vector-action-delete",
                "normalizedname": "vector-action-delete",
                "*": "Delete"
            },
            {
                "name": "vector-action-move",
                "normalizedname": "vector-action-move",
                "*": "Move"
            },
            {
                "name": "vector-action-protect",
                "normalizedname": "vector-action-protect",
                "*": "Protect"
            },
            {
                "name": "vector-action-undelete",
                "normalizedname": "vector-action-undelete",
                "*": "Undelete"
            },
            {
                "name": "vector-action-unprotect",
                "normalizedname": "vector-action-unprotect",
                "*": "Change protection"
            },
            {
                "name": "vector-more-actions",
                "normalizedname": "vector-more-actions",
                "*": "More"
            },
            {
                "name": "vector-skin-desc",
                "normalizedname": "vector-skin-desc",
                "*": "Modern version of MonoBook with fresh look and many usability improvements"
            },
            {
                "name": "vector-view-create",
                "normalizedname": "vector-view-create",
                "*": "Create"
            },
            {
                "name": "vector-view-edit",
                "normalizedname": "vector-view-edit",
                "*": "Edit"
            },
            {
                "name": "vector-view-history",
                "normalizedname": "vector-view-history",
                "*": "View history"
            },
            {
                "name": "vector-view-view",
                "normalizedname": "vector-view-view",
                "*": "Read"
            },
            {
                "name": "vector-view-viewsource",
                "normalizedname": "vector-view-viewsource",
                "*": "View source"
            },
            {
                "name": "vector.css",
                "normalizedname": "vector.css",
                "*": "/* CSS placed here will affect users of the Vector skin */"
            },
            {
                "name": "vector.js",
                "normalizedname": "vector.js",
                "*": "/* Any JavaScript here will be loaded for users using the Vector skin */"
            },
            {
                "name": "verification-error",
                "normalizedname": "verification-error",
                "*": "This file did not pass file verification."
            },
            {
                "name": "version",
                "normalizedname": "version",
                "*": "Version"
            },
            {
                "name": "version-antispam",
                "normalizedname": "version-antispam",
                "*": "Spam prevention"
            },
            {
                "name": "version-api",
                "normalizedname": "version-api",
                "*": "API"
            },
            {
                "name": "version-credits-not-found",
                "normalizedname": "version-credits-not-found",
                "*": "No detailed credits information was found for this extension."
            },
            {
                "name": "version-credits-summary",
                "normalizedname": "version-credits-summary",
                "*": "We would like to recognize the following persons for their contribution to [[Special:Version|MediaWiki]]."
            },
            {
                "name": "version-credits-title",
                "normalizedname": "version-credits-title",
                "*": "Credits for $1"
            },
            {
                "name": "version-db-mariadb-url",
                "normalizedname": "version-db-mariadb-url",
                "*": "https://mariadb.org/"
            },
            {
                "name": "version-db-mssql-url",
                "normalizedname": "version-db-mssql-url",
                "*": "https://www.microsoft.com/sql/"
            },
            {
                "name": "version-db-mysql-url",
                "normalizedname": "version-db-mysql-url",
                "*": "https://www.mysql.com/"
            },
            {
                "name": "version-db-oracle-url",
                "normalizedname": "version-db-oracle-url",
                "*": "http://www.oracle.com/database/"
            },
            {
                "name": "version-db-percona-url",
                "normalizedname": "version-db-percona-url",
                "*": "http://www.percona.com/software/percona-server"
            },
            {
                "name": "version-db-postgres-url",
                "normalizedname": "version-db-postgres-url",
                "*": "http://www.postgresql.org/"
            },
            {
                "name": "version-db-sqlite-url",
                "normalizedname": "version-db-sqlite-url",
                "*": "https://www.sqlite.org/"
            },
            {
                "name": "version-editors",
                "normalizedname": "version-editors",
                "*": "Editors"
            },
            {
                "name": "version-entrypoints",
                "normalizedname": "version-entrypoints",
                "*": "Entry point URLs"
            },
            {
                "name": "version-entrypoints-api-php",
                "normalizedname": "version-entrypoints-api-php",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:api.php api.php]"
            },
            {
                "name": "version-entrypoints-articlepath",
                "normalizedname": "version-entrypoints-articlepath",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgArticlePath Article path]"
            },
            {
                "name": "version-entrypoints-header-entrypoint",
                "normalizedname": "version-entrypoints-header-entrypoint",
                "*": "Entry point"
            },
            {
                "name": "version-entrypoints-header-url",
                "normalizedname": "version-entrypoints-header-url",
                "*": "URL"
            },
            {
                "name": "version-entrypoints-index-php",
                "normalizedname": "version-entrypoints-index-php",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:index.php index.php]"
            },
            {
                "name": "version-entrypoints-load-php",
                "normalizedname": "version-entrypoints-load-php",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:load.php load.php]"
            },
            {
                "name": "version-entrypoints-scriptpath",
                "normalizedname": "version-entrypoints-scriptpath",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgScriptPath Script path]"
            },
            {
                "name": "version-ext-colheader-credits",
                "normalizedname": "version-ext-colheader-credits",
                "*": "Authors"
            },
            {
                "name": "version-ext-colheader-description",
                "normalizedname": "version-ext-colheader-description",
                "*": "Description"
            },
            {
                "name": "version-ext-colheader-license",
                "normalizedname": "version-ext-colheader-license",
                "*": "License"
            },
            {
                "name": "version-ext-colheader-name",
                "normalizedname": "version-ext-colheader-name",
                "*": "Extension"
            },
            {
                "name": "version-ext-colheader-version",
                "normalizedname": "version-ext-colheader-version",
                "*": "Version"
            },
            {
                "name": "version-ext-license",
                "normalizedname": "version-ext-license",
                "*": "License"
            },
            {
                "name": "version-extensions",
                "normalizedname": "version-extensions",
                "*": "Installed extensions"
            },
            {
                "name": "version-hook-name",
                "normalizedname": "version-hook-name",
                "*": "Hook name"
            },
            {
                "name": "version-hook-subscribedby",
                "normalizedname": "version-hook-subscribedby",
                "*": "Subscribed by"
            },
            {
                "name": "version-hooks",
                "normalizedname": "version-hooks",
                "*": "Hooks"
            },
            {
                "name": "version-libraries",
                "normalizedname": "version-libraries",
                "*": "Installed libraries"
            },
            {
                "name": "version-libraries-authors",
                "normalizedname": "version-libraries-authors",
                "*": "Authors"
            },
            {
                "name": "version-libraries-description",
                "normalizedname": "version-libraries-description",
                "*": "Description"
            },
            {
                "name": "version-libraries-library",
                "normalizedname": "version-libraries-library",
                "*": "Library"
            },
            {
                "name": "version-libraries-license",
                "normalizedname": "version-libraries-license",
                "*": "License"
            },
            {
                "name": "version-libraries-version",
                "normalizedname": "version-libraries-version",
                "*": "Version"
            },
            {
                "name": "version-license",
                "normalizedname": "version-license",
                "*": "MediaWiki License"
            },
            {
                "name": "version-license-info",
                "normalizedname": "version-license-info",
                "*": "MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nMediaWiki is distributed in the hope that it will be useful, but <em>WITHOUT ANY WARRANTY</em>; without even the implied warranty of <strong>MERCHANTABILITY</strong> or <strong>FITNESS FOR A PARTICULAR PURPOSE</strong>. See the GNU General Public License for more details.\n\nYou should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU General Public License] along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA or [//www.gnu.org/licenses/old-licenses/gpl-2.0.html read it online]."
            },
            {
                "name": "version-license-not-found",
                "normalizedname": "version-license-not-found",
                "*": "No detailed license information was found for this extension."
            },
            {
                "name": "version-license-title",
                "normalizedname": "version-license-title",
                "*": "License for $1"
            },
            {
                "name": "version-mediahandlers",
                "normalizedname": "version-mediahandlers",
                "*": "Media handlers"
            },
            {
                "name": "version-no-ext-name",
                "normalizedname": "version-no-ext-name",
                "*": "[no name]"
            },
            {
                "name": "version-other",
                "normalizedname": "version-other",
                "*": "Other"
            },
            {
                "name": "version-parser-extensiontags",
                "normalizedname": "version-parser-extensiontags",
                "*": "Parser extension tags"
            },
            {
                "name": "version-parser-function-hooks",
                "normalizedname": "version-parser-function-hooks",
                "*": "Parser function hooks"
            },
            {
                "name": "version-parserhooks",
                "normalizedname": "version-parserhooks",
                "*": "Parser hooks"
            },
            {
                "name": "version-poweredby-credits",
                "normalizedname": "version-poweredby-credits",
                "*": "This wiki is powered by <strong>[https://www.mediawiki.org/ MediaWiki]</strong>, copyright \u00a9 2001-$1 $2."
            },
            {
                "name": "version-poweredby-others",
                "normalizedname": "version-poweredby-others",
                "*": "others"
            },
            {
                "name": "version-poweredby-translators",
                "normalizedname": "version-poweredby-translators",
                "*": "translatewiki.net translators"
            },
            {
                "name": "version-skin-colheader-name",
                "normalizedname": "version-skin-colheader-name",
                "*": "Skin"
            },
            {
                "name": "version-skins",
                "normalizedname": "version-skins",
                "*": "Installed skins"
            },
            {
                "name": "version-software",
                "normalizedname": "version-software",
                "*": "Installed software"
            },
            {
                "name": "version-software-product",
                "normalizedname": "version-software-product",
                "*": "Product"
            },
            {
                "name": "version-software-version",
                "normalizedname": "version-software-version",
                "*": "Version"
            },
            {
                "name": "version-specialpages",
                "normalizedname": "version-specialpages",
                "*": "Special pages"
            },
            {
                "name": "version-summary",
                "normalizedname": "version-summary",
                "*": ""
            },
            {
                "name": "version-variables",
                "normalizedname": "version-variables",
                "*": "Variables"
            },
            {
                "name": "version-version",
                "normalizedname": "version-version",
                "*": "($1)"
            },
            {
                "name": "versionrequired",
                "normalizedname": "versionrequired",
                "*": "Version $1 of MediaWiki required"
            },
            {
                "name": "versionrequiredtext",
                "normalizedname": "versionrequiredtext",
                "*": "Version $1 of MediaWiki is required to use this page.\nSee [[Special:Version|version page]]."
            },
            {
                "name": "video-dims",
                "normalizedname": "video-dims",
                "*": "$1, $2 \u00d7 $3"
            },
            {
                "name": "view",
                "normalizedname": "view",
                "*": "View"
            },
            {
                "name": "view-foreign",
                "normalizedname": "view-foreign",
                "*": "View on $1"
            },
            {
                "name": "view-pool-error",
                "normalizedname": "view-pool-error",
                "*": "Sorry, the servers are overloaded at the moment.\nToo many users are trying to view this page.\nPlease wait a while before you try to access this page again.\n\n$1"
            },
            {
                "name": "viewcount",
                "normalizedname": "viewcount",
                "*": "This page has been accessed {{PLURAL:$1|once|$1 times}}."
            },
            {
                "name": "viewdeleted",
                "normalizedname": "viewdeleted",
                "*": "View $1?"
            },
            {
                "name": "viewdeleted_short",
                "normalizedname": "viewdeleted_short",
                "*": "View {{PLURAL:$1|one deleted edit|$1 deleted edits}}"
            },
            {
                "name": "viewdeletedpage",
                "normalizedname": "viewdeletedpage",
                "*": "View deleted pages"
            },
            {
                "name": "viewhelppage",
                "normalizedname": "viewhelppage",
                "*": "View help page"
            },
            {
                "name": "viewinguserrights",
                "normalizedname": "viewinguserrights",
                "*": "Viewing user rights of {{GENDER:$1|user}} <strong>[[User:$1|$1]]</strong> $2"
            },
            {
                "name": "viewpagelogs",
                "normalizedname": "viewpagelogs",
                "*": "View logs for this page"
            },
            {
                "name": "viewprevnext",
                "normalizedname": "viewprevnext",
                "*": "View ($1 {{int:pipe-separator}} $2) ($3)"
            },
            {
                "name": "views",
                "normalizedname": "views",
                "*": "Views"
            },
            {
                "name": "viewsource",
                "normalizedname": "viewsource",
                "*": "View source"
            },
            {
                "name": "viewsource-title",
                "normalizedname": "viewsource-title",
                "*": "View source for $1"
            },
            {
                "name": "viewsourcelink",
                "normalizedname": "viewsourcelink",
                "*": "view source"
            },
            {
                "name": "viewsourceold",
                "normalizedname": "viewsourceold",
                "*": "view source"
            },
            {
                "name": "viewsourcetext",
                "normalizedname": "viewsourcetext",
                "*": "You can view and copy the source of this page."
            },
            {
                "name": "viewtalkpage",
                "normalizedname": "viewtalkpage",
                "*": "View discussion"
            },
            {
                "name": "viewyourtext",
                "normalizedname": "viewyourtext",
                "*": "You can view and copy the source of <strong>your edits</strong> to this page."
            },
            {
                "name": "virus-badscanner",
                "normalizedname": "virus-badscanner",
                "*": "Bad configuration: Unknown virus scanner: <em>$1</em>"
            },
            {
                "name": "virus-scanfailed",
                "normalizedname": "virus-scanfailed",
                "*": "scan failed (code $1)"
            },
            {
                "name": "virus-unknownscanner",
                "normalizedname": "virus-unknownscanner",
                "*": "unknown antivirus:"
            },
            {
                "name": "wantedcategories",
                "normalizedname": "wantedcategories",
                "*": "Wanted categories"
            },
            {
                "name": "wantedcategories-summary",
                "normalizedname": "wantedcategories-summary",
                "*": ""
            },
            {
                "name": "wantedfiles",
                "normalizedname": "wantedfiles",
                "*": "Wanted files"
            },
            {
                "name": "wantedfiles-summary",
                "normalizedname": "wantedfiles-summary",
                "*": ""
            },
            {
                "name": "wantedfiletext-cat",
                "normalizedname": "wantedfiletext-cat",
                "*": "The following files are used but do not exist. Files from foreign repositories may be listed despite existing. Any such false positives will be <del>struck out</del>. Additionally, pages that embed files that do not exist are listed in [[:$1]]."
            },
            {
                "name": "wantedfiletext-cat-noforeign",
                "normalizedname": "wantedfiletext-cat-noforeign",
                "*": "The following files are used but do not exist. Additionally, pages that embed files that do not exist are listed in [[:$1]]."
            },
            {
                "name": "wantedfiletext-nocat",
                "normalizedname": "wantedfiletext-nocat",
                "*": "The following files are used but do not exist. Files from foreign repositories may be listed despite existing. Any such false positives will be <del>struck out</del>."
            },
            {
                "name": "wantedfiletext-nocat-noforeign",
                "normalizedname": "wantedfiletext-nocat-noforeign",
                "*": "The following files are used but do not exist."
            },
            {
                "name": "wantedpages",
                "normalizedname": "wantedpages",
                "*": "Wanted pages"
            },
            {
                "name": "wantedpages-badtitle",
                "normalizedname": "wantedpages-badtitle",
                "*": "Invalid title in result set: $1"
            },
            {
                "name": "wantedpages-summary",
                "normalizedname": "wantedpages-summary",
                "*": "List of non-existing pages with the most links to them, excluding pages which only have redirects linking to them. For a list of non-existent pages that have redirects linking to them, see [[{{#special:BrokenRedirects}}|the list of broken redirects]]."
            },
            {
                "name": "wantedtemplates",
                "normalizedname": "wantedtemplates",
                "*": "Wanted templates"
            },
            {
                "name": "wantedtemplates-summary",
                "normalizedname": "wantedtemplates-summary",
                "*": ""
            },
            {
                "name": "watch",
                "normalizedname": "watch",
                "*": "Watch"
            },
            {
                "name": "watcherrortext",
                "normalizedname": "watcherrortext",
                "*": "An error occurred while changing your watchlist settings for \"$1\"."
            },
            {
                "name": "watching",
                "normalizedname": "watching",
                "*": "Watching..."
            },
            {
                "name": "watchlist",
                "normalizedname": "watchlist",
                "*": "Watchlist"
            },
            {
                "name": "watchlist-details",
                "normalizedname": "watchlist-details",
                "*": "{{PLURAL:$1|$1 page is|$1 pages are}} on your Watchlist (plus talk pages)."
            },
            {
                "name": "watchlist-hide",
                "normalizedname": "watchlist-hide",
                "*": "Hide"
            },
            {
                "name": "watchlist-options",
                "normalizedname": "watchlist-options",
                "*": "Watchlist options"
            },
            {
                "name": "watchlist-submit",
                "normalizedname": "watchlist-submit",
                "*": "Show"
            },
            {
                "name": "watchlist-summary",
                "normalizedname": "watchlist-summary",
                "*": ""
            },
            {
                "name": "watchlist-unwatch",
                "normalizedname": "watchlist-unwatch",
                "*": "\u00d7"
            },
            {
                "name": "watchlist-unwatch-undo",
                "normalizedname": "watchlist-unwatch-undo",
                "*": "+"
            },
            {
                "name": "watchlistanontext",
                "normalizedname": "watchlistanontext",
                "*": "Please log in to view or edit items on your watchlist."
            },
            {
                "name": "watchlistedit-clear-done",
                "normalizedname": "watchlistedit-clear-done",
                "*": "Your watchlist has been cleared."
            },
            {
                "name": "watchlistedit-clear-explain",
                "normalizedname": "watchlistedit-clear-explain",
                "*": "All of the titles will be removed from your watchlist"
            },
            {
                "name": "watchlistedit-clear-jobqueue",
                "normalizedname": "watchlistedit-clear-jobqueue",
                "*": "Your watchlist is being cleared. This may take some time!"
            },
            {
                "name": "watchlistedit-clear-legend",
                "normalizedname": "watchlistedit-clear-legend",
                "*": "Clear watchlist"
            },
            {
                "name": "watchlistedit-clear-removed",
                "normalizedname": "watchlistedit-clear-removed",
                "*": "{{PLURAL:$1|1 title was|$1 titles were}} removed:"
            },
            {
                "name": "watchlistedit-clear-submit",
                "normalizedname": "watchlistedit-clear-submit",
                "*": "Clear the watchlist (This is permanent!)"
            },
            {
                "name": "watchlistedit-clear-title",
                "normalizedname": "watchlistedit-clear-title",
                "*": "Clear watchlist"
            },
            {
                "name": "watchlistedit-clear-titles",
                "normalizedname": "watchlistedit-clear-titles",
                "*": "Titles:"
            },
            {
                "name": "watchlistedit-normal-done",
                "normalizedname": "watchlistedit-normal-done",
                "*": "{{PLURAL:$1|A single title was|$1 titles were}} removed from your watchlist:"
            },
            {
                "name": "watchlistedit-normal-explain",
                "normalizedname": "watchlistedit-normal-explain",
                "*": "Titles on your watchlist are shown below.\nTo remove a title, check the box next to it, and click \"{{int:Watchlistedit-normal-submit}}\".\nYou can also [[Special:EditWatchlist/raw|edit the raw list]]."
            },
            {
                "name": "watchlistedit-normal-legend",
                "normalizedname": "watchlistedit-normal-legend",
                "*": "Remove titles from watchlist"
            },
            {
                "name": "watchlistedit-normal-submit",
                "normalizedname": "watchlistedit-normal-submit",
                "*": "Remove titles"
            },
            {
                "name": "watchlistedit-normal-title",
                "normalizedname": "watchlistedit-normal-title",
                "*": "Edit watchlist"
            },
            {
                "name": "watchlistedit-raw-added",
                "normalizedname": "watchlistedit-raw-added",
                "*": "{{PLURAL:$1|1 title was|$1 titles were}} added:"
            },
            {
                "name": "watchlistedit-raw-done",
                "normalizedname": "watchlistedit-raw-done",
                "*": "Your watchlist has been updated."
            },
            {
                "name": "watchlistedit-raw-explain",
                "normalizedname": "watchlistedit-raw-explain",
                "*": "Titles on your watchlist are shown below, and can be edited by adding to and removing from the list;\none title per line.\nWhen finished, click \"{{int:Watchlistedit-raw-submit}}\".\nYou can also [[Special:EditWatchlist|use the standard editor]]."
            },
            {
                "name": "watchlistedit-raw-legend",
                "normalizedname": "watchlistedit-raw-legend",
                "*": "Edit raw watchlist"
            },
            {
                "name": "watchlistedit-raw-removed",
                "normalizedname": "watchlistedit-raw-removed",
                "*": "{{PLURAL:$1|1 title was|$1 titles were}} removed:"
            },
            {
                "name": "watchlistedit-raw-submit",
                "normalizedname": "watchlistedit-raw-submit",
                "*": "Update watchlist"
            },
            {
                "name": "watchlistedit-raw-title",
                "normalizedname": "watchlistedit-raw-title",
                "*": "Edit raw watchlist"
            },
            {
                "name": "watchlistedit-raw-titles",
                "normalizedname": "watchlistedit-raw-titles",
                "*": "Titles:"
            },
            {
                "name": "watchlistedit-too-many",
                "normalizedname": "watchlistedit-too-many",
                "*": "There are too many pages to display here."
            },
            {
                "name": "watchlistfor2",
                "normalizedname": "watchlistfor2",
                "*": "For $1 $2"
            },
            {
                "name": "watchlisttools-clear",
                "normalizedname": "watchlisttools-clear",
                "*": "Clear the watchlist"
            },
            {
                "name": "watchlisttools-edit",
                "normalizedname": "watchlisttools-edit",
                "*": "View and edit watchlist"
            },
            {
                "name": "watchlisttools-raw",
                "normalizedname": "watchlisttools-raw",
                "*": "Edit raw watchlist"
            },
            {
                "name": "watchlisttools-view",
                "normalizedname": "watchlisttools-view",
                "*": "View relevant changes"
            },
            {
                "name": "watchnologin",
                "normalizedname": "watchnologin",
                "*": "Not logged in"
            },
            {
                "name": "watchthis",
                "normalizedname": "watchthis",
                "*": "Watch this page"
            },
            {
                "name": "watchthispage",
                "normalizedname": "watchthispage",
                "*": "Watch this page"
            },
            {
                "name": "watchthisupload",
                "normalizedname": "watchthisupload",
                "*": "Watch this file"
            },
            {
                "name": "wed",
                "normalizedname": "wed",
                "*": "Wed"
            },
            {
                "name": "wednesday",
                "normalizedname": "wednesday",
                "*": "Wednesday"
            },
            {
                "name": "wednesday-at",
                "normalizedname": "wednesday-at",
                "*": "Wednesday at $1"
            },
            {
                "name": "weeks",
                "normalizedname": "weeks",
                "*": "{{PLURAL:$1|$1 week|$1 weeks}}"
            },
            {
                "name": "welcomecreation-msg",
                "normalizedname": "welcomecreation-msg",
                "*": "Your account has been created.\nYou can change your {{SITENAME}} [[Special:Preferences|preferences]] if you wish."
            },
            {
                "name": "welcomeuser",
                "normalizedname": "welcomeuser",
                "*": "Welcome, $1!"
            },
            {
                "name": "whatlinkshere",
                "normalizedname": "whatlinkshere",
                "*": "What links here"
            },
            {
                "name": "whatlinkshere-filters",
                "normalizedname": "whatlinkshere-filters",
                "*": "Filters"
            },
            {
                "name": "whatlinkshere-hideimages",
                "normalizedname": "whatlinkshere-hideimages",
                "*": "$1 file links"
            },
            {
                "name": "whatlinkshere-hidelinks",
                "normalizedname": "whatlinkshere-hidelinks",
                "*": "$1 links"
            },
            {
                "name": "whatlinkshere-hideredirs",
                "normalizedname": "whatlinkshere-hideredirs",
                "*": "$1 redirects"
            },
            {
                "name": "whatlinkshere-hidetrans",
                "normalizedname": "whatlinkshere-hidetrans",
                "*": "$1 transclusions"
            },
            {
                "name": "whatlinkshere-links",
                "normalizedname": "whatlinkshere-links",
                "*": "\u2190 links"
            },
            {
                "name": "whatlinkshere-next",
                "normalizedname": "whatlinkshere-next",
                "*": "{{PLURAL:$1|next|next $1}}"
            },
            {
                "name": "whatlinkshere-page",
                "normalizedname": "whatlinkshere-page",
                "*": "Page:"
            },
            {
                "name": "whatlinkshere-prev",
                "normalizedname": "whatlinkshere-prev",
                "*": "{{PLURAL:$1|previous|previous $1}}"
            },
            {
                "name": "whatlinkshere-submit",
                "normalizedname": "whatlinkshere-submit",
                "*": "Go"
            },
            {
                "name": "whatlinkshere-summary",
                "normalizedname": "whatlinkshere-summary",
                "*": ""
            },
            {
                "name": "whatlinkshere-title",
                "normalizedname": "whatlinkshere-title",
                "*": "Pages that link to \"$1\""
            },
            {
                "name": "whitelistedittext",
                "normalizedname": "whitelistedittext",
                "*": "Please $1 to edit pages."
            },
            {
                "name": "widthheight",
                "normalizedname": "widthheight",
                "*": "$1 \u00d7 $2"
            },
            {
                "name": "widthheightpage",
                "normalizedname": "widthheightpage",
                "*": "$1 \u00d7 $2, $3 {{PLURAL:$3|page|pages}}"
            },
            {
                "name": "windows-nonascii-filename",
                "normalizedname": "windows-nonascii-filename",
                "*": "This wiki does not support filenames with special characters."
            },
            {
                "name": "withoutinterwiki",
                "normalizedname": "withoutinterwiki",
                "*": "Pages without language links"
            },
            {
                "name": "withoutinterwiki-legend",
                "normalizedname": "withoutinterwiki-legend",
                "*": "Prefix"
            },
            {
                "name": "withoutinterwiki-submit",
                "normalizedname": "withoutinterwiki-submit",
                "*": "Show"
            },
            {
                "name": "withoutinterwiki-summary",
                "normalizedname": "withoutinterwiki-summary",
                "*": "The following pages do not link to other language versions."
            },
            {
                "name": "wlheader-enotif",
                "normalizedname": "wlheader-enotif",
                "*": "Email notification is enabled."
            },
            {
                "name": "wlheader-showupdated",
                "normalizedname": "wlheader-showupdated",
                "*": "Pages that have been changed since you last visited them are shown in <strong>bold</strong>."
            },
            {
                "name": "wlnote",
                "normalizedname": "wlnote",
                "*": "Below {{PLURAL:$1|is the last change|are the last <strong>$1</strong> changes}} in the last {{PLURAL:$2|hour|<strong>$2</strong> hours}}, as of $3, $4."
            },
            {
                "name": "wlshowhideanons",
                "normalizedname": "wlshowhideanons",
                "*": "anonymous users"
            },
            {
                "name": "wlshowhidebots",
                "normalizedname": "wlshowhidebots",
                "*": "bots"
            },
            {
                "name": "wlshowhidecategorization",
                "normalizedname": "wlshowhidecategorization",
                "*": "page categorization"
            },
            {
                "name": "wlshowhideliu",
                "normalizedname": "wlshowhideliu",
                "*": "registered users"
            },
            {
                "name": "wlshowhidemine",
                "normalizedname": "wlshowhidemine",
                "*": "my edits"
            },
            {
                "name": "wlshowhideminor",
                "normalizedname": "wlshowhideminor",
                "*": "minor edits"
            },
            {
                "name": "wlshowhidepatr",
                "normalizedname": "wlshowhidepatr",
                "*": "patrolled edits"
            },
            {
                "name": "wlshowlast",
                "normalizedname": "wlshowlast",
                "*": "Show last $1 hours $2 days"
            },
            {
                "name": "wlshowtime",
                "normalizedname": "wlshowtime",
                "*": "Period of time to display:"
            },
            {
                "name": "word-separator",
                "normalizedname": "word-separator",
                "*": " "
            },
            {
                "name": "wrongpassword",
                "normalizedname": "wrongpassword",
                "*": "Incorrect username or password entered.\nPlease try again."
            },
            {
                "name": "wrongpasswordempty",
                "normalizedname": "wrongpasswordempty",
                "*": "Password entered was blank.\nPlease try again."
            },
            {
                "name": "xffblockreason",
                "normalizedname": "xffblockreason",
                "*": "An IP address present in the X-Forwarded-For header, either yours or that of a proxy server you are using, has been blocked. The original block reason was: $1"
            },
            {
                "name": "xml-error-string",
                "normalizedname": "xml-error-string",
                "*": "$1 at line $2, col $3 (byte $4): $5"
            },
            {
                "name": "year",
                "normalizedname": "year",
                "*": "From year (and earlier):"
            },
            {
                "name": "years",
                "normalizedname": "years",
                "*": "{{PLURAL:$1|$1 year|$1 years}}"
            },
            {
                "name": "yesterday-at",
                "normalizedname": "yesterday-at",
                "*": "Yesterday at $1"
            },
            {
                "name": "youhavenewmessages",
                "normalizedname": "youhavenewmessages",
                "*": "{{PLURAL:$3|You have}} $1 ($2)."
            },
            {
                "name": "youhavenewmessagesfromusers",
                "normalizedname": "youhavenewmessagesfromusers",
                "*": "{{PLURAL:$4|You have}} $1 from {{PLURAL:$3|another user|$3 users}} ($2)."
            },
            {
                "name": "youhavenewmessagesmanyusers",
                "normalizedname": "youhavenewmessagesmanyusers",
                "*": "You have $1 from many users ($2)."
            },
            {
                "name": "youhavenewmessagesmulti",
                "normalizedname": "youhavenewmessagesmulti",
                "*": "You have new messages on $1"
            },
            {
                "name": "yourdiff",
                "normalizedname": "yourdiff",
                "*": "Differences"
            },
            {
                "name": "yourdomainname",
                "normalizedname": "yourdomainname",
                "*": "Your domain:"
            },
            {
                "name": "youremail",
                "normalizedname": "youremail",
                "*": "Email:"
            },
            {
                "name": "yourgender",
                "normalizedname": "yourgender",
                "*": "How do you prefer to be described?"
            },
            {
                "name": "yourlanguage",
                "normalizedname": "yourlanguage",
                "*": "Language:"
            },
            {
                "name": "yourname",
                "normalizedname": "yourname",
                "*": "Username:"
            },
            {
                "name": "yournick",
                "normalizedname": "yournick",
                "*": "New signature:"
            },
            {
                "name": "yourpassword",
                "normalizedname": "yourpassword",
                "*": "Password:"
            },
            {
                "name": "yourpasswordagain",
                "normalizedname": "yourpasswordagain",
                "*": "Retype password:"
            },
            {
                "name": "yourrealname",
                "normalizedname": "yourrealname",
                "*": "Real name:"
            },
            {
                "name": "yourtext",
                "normalizedname": "yourtext",
                "*": "Your text"
            },
            {
                "name": "yourvariant",
                "normalizedname": "yourvariant",
                "*": "Content language variant:"
            },
            {
                "name": "zip-bad",
                "normalizedname": "zip-bad",
                "*": "The file is a corrupt or otherwise unreadable ZIP file.\nIt cannot be properly checked for security."
            },
            {
                "name": "zip-file-open-error",
                "normalizedname": "zip-file-open-error",
                "*": "An error was encountered when opening the file for ZIP checks."
            },
            {
                "name": "zip-unsupported",
                "normalizedname": "zip-unsupported",
                "*": "The file is a ZIP file that uses ZIP features not supported by MediaWiki.\nIt cannot be properly checked for security."
            },
            {
                "name": "zip-wrong-format",
                "normalizedname": "zip-wrong-format",
                "*": "The specified file was not a ZIP file."
            }
        ]
    }
}