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.

{
    "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": "abusefilter",
                "normalizedname": "abusefilter",
                "*": "Abuse filter management"
            },
            {
                "name": "abusefilter-accountreserved",
                "normalizedname": "abusefilter-accountreserved",
                "*": "This account name is reserved for use by the abuse filter."
            },
            {
                "name": "abusefilter-action-block",
                "normalizedname": "abusefilter-action-block",
                "*": "Block"
            },
            {
                "name": "abusefilter-action-blockautopromote",
                "normalizedname": "abusefilter-action-blockautopromote",
                "*": "Block autopromote"
            },
            {
                "name": "abusefilter-action-degroup",
                "normalizedname": "abusefilter-action-degroup",
                "*": "Remove from groups"
            },
            {
                "name": "abusefilter-action-disallow",
                "normalizedname": "abusefilter-action-disallow",
                "*": "Disallow"
            },
            {
                "name": "abusefilter-action-rangeblock",
                "normalizedname": "abusefilter-action-rangeblock",
                "*": "Range-block"
            },
            {
                "name": "abusefilter-action-tag",
                "normalizedname": "abusefilter-action-tag",
                "*": "Tag"
            },
            {
                "name": "abusefilter-action-throttle",
                "normalizedname": "abusefilter-action-throttle",
                "*": "Throttle"
            },
            {
                "name": "abusefilter-action-warn",
                "normalizedname": "abusefilter-action-warn",
                "*": "Warn"
            },
            {
                "name": "abusefilter-autopromote-blocked",
                "normalizedname": "abusefilter-autopromote-blocked",
                "*": "This action has been automatically identified as harmful, and it has been disallowed.\nIn addition, as a security measure, some privileges routinely granted to established accounts have been temporarily revoked from your account.\nA brief description of the abuse rule which your action matched is: $1"
            },
            {
                "name": "abusefilter-block-anon",
                "normalizedname": "abusefilter-block-anon",
                "*": "Block anonymous users"
            },
            {
                "name": "abusefilter-block-talk",
                "normalizedname": "abusefilter-block-talk",
                "*": "talk page blocked"
            },
            {
                "name": "abusefilter-block-user",
                "normalizedname": "abusefilter-block-user",
                "*": "block registered users"
            },
            {
                "name": "abusefilter-blockautopromotereason",
                "normalizedname": "abusefilter-blockautopromotereason",
                "*": "Autopromotion automatically delayed by abuse filter.\nRule description: $1"
            },
            {
                "name": "abusefilter-blocked-display",
                "normalizedname": "abusefilter-blocked-display",
                "*": "This action has been automatically identified as harmful,\nand you have been prevented from executing it.\nIn addition, to protect {{SITENAME}}, your user account and all associated IP addresses have been blocked from editing.\nIf this has occurred in error, please contact an administrator.\nA brief description of the abuse rule which your action matched is: $1"
            },
            {
                "name": "abusefilter-blocked-domains-actions-header",
                "normalizedname": "abusefilter-blocked-domains-actions-header",
                "*": "Actions"
            },
            {
                "name": "abusefilter-blocked-domains-add-explanation",
                "normalizedname": "abusefilter-blocked-domains-add-explanation",
                "*": "Here you can add a domain to the list of blocked domains."
            },
            {
                "name": "abusefilter-blocked-domains-add-heading",
                "normalizedname": "abusefilter-blocked-domains-add-heading",
                "*": "Add a new blocked domain"
            },
            {
                "name": "abusefilter-blocked-domains-add-submit",
                "normalizedname": "abusefilter-blocked-domains-add-submit",
                "*": "Submit"
            },
            {
                "name": "abusefilter-blocked-domains-attempted",
                "normalizedname": "abusefilter-blocked-domains-attempted",
                "*": "The text you wanted to publish was blocked by our filter. The following domain is blocked from being added: $1"
            },
            {
                "name": "abusefilter-blocked-domains-cannot-edit-directly",
                "normalizedname": "abusefilter-blocked-domains-cannot-edit-directly",
                "*": "Create or modify what external domains are blocked from being linked must be done through [[Special:BlockedExternalDomains|the special page]]."
            },
            {
                "name": "abusefilter-blocked-domains-domain",
                "normalizedname": "abusefilter-blocked-domains-domain",
                "*": "Domain to block, such as wikipedia.org"
            },
            {
                "name": "abusefilter-blocked-domains-domain-added-comment",
                "normalizedname": "abusefilter-blocked-domains-domain-added-comment",
                "*": "Add blocked external domain $1 with notes: $2"
            },
            {
                "name": "abusefilter-blocked-domains-domain-header",
                "normalizedname": "abusefilter-blocked-domains-domain-header",
                "*": "Domain"
            },
            {
                "name": "abusefilter-blocked-domains-domain-removed-comment",
                "normalizedname": "abusefilter-blocked-domains-domain-removed-comment",
                "*": "Remove blocked external domain $1 with notes: $2"
            },
            {
                "name": "abusefilter-blocked-domains-intro",
                "normalizedname": "abusefilter-blocked-domains-intro",
                "*": "External links matching this list will be blocked when added to a page. These domains are stored in [[MediaWiki:BlockedExternalDomains.json]]."
            },
            {
                "name": "abusefilter-blocked-domains-invalid-entry",
                "normalizedname": "abusefilter-blocked-domains-invalid-entry",
                "*": "Entry $1 in JSON is invalid - it should be an object with 'domain' and 'notes' fields only, both being strings"
            },
            {
                "name": "abusefilter-blocked-domains-json-error",
                "normalizedname": "abusefilter-blocked-domains-json-error",
                "*": "JSON should be an array"
            },
            {
                "name": "abusefilter-blocked-domains-notes",
                "normalizedname": "abusefilter-blocked-domains-notes",
                "*": "Notes"
            },
            {
                "name": "abusefilter-blocked-domains-notes-header",
                "normalizedname": "abusefilter-blocked-domains-notes-header",
                "*": "Notes"
            },
            {
                "name": "abusefilter-blocked-domains-remove",
                "normalizedname": "abusefilter-blocked-domains-remove",
                "*": "remove"
            },
            {
                "name": "abusefilter-blocked-domains-remove-explanation-initial",
                "normalizedname": "abusefilter-blocked-domains-remove-explanation-initial",
                "*": "On this page you can remove a blocked domain"
            },
            {
                "name": "abusefilter-blocked-domains-remove-reason",
                "normalizedname": "abusefilter-blocked-domains-remove-reason",
                "*": "Reason"
            },
            {
                "name": "abusefilter-blocked-domains-remove-submit",
                "normalizedname": "abusefilter-blocked-domains-remove-submit",
                "*": "Remove"
            },
            {
                "name": "abusefilter-blocked-domains-remove-title",
                "normalizedname": "abusefilter-blocked-domains-remove-title",
                "*": "Remove a blocked domain"
            },
            {
                "name": "abusefilter-blocked-domains-title",
                "normalizedname": "abusefilter-blocked-domains-title",
                "*": "Blocked External Domains"
            },
            {
                "name": "abusefilter-blocker",
                "normalizedname": "abusefilter-blocker",
                "*": "Abuse filter"
            },
            {
                "name": "abusefilter-blockreason",
                "normalizedname": "abusefilter-blockreason",
                "*": "Automatically blocked by abuse filter.\nDescription of matched rule: $1"
            },
            {
                "name": "abusefilter-changeslist-examine",
                "normalizedname": "abusefilter-changeslist-examine",
                "*": "examine"
            },
            {
                "name": "abusefilter-degrouped",
                "normalizedname": "abusefilter-degrouped",
                "*": "This action has been automatically identified as harmful.\nConsequently, it has been disallowed, and, since your account is suspected of being compromised, all rights have been revoked.\nIf you believe this to have been in error, please contact a bureaucrat with an explanation of this action, and your rights may be restored.\nA brief description of the abuse rule which your action matched is: $1"
            },
            {
                "name": "abusefilter-degroupreason",
                "normalizedname": "abusefilter-degroupreason",
                "*": "Rights automatically stripped by abuse filter.\nRule description: $1"
            },
            {
                "name": "abusefilter-deleted",
                "normalizedname": "abusefilter-deleted",
                "*": "Deleted"
            },
            {
                "name": "abusefilter-desc",
                "normalizedname": "abusefilter-desc",
                "*": "Applies automatic heuristics to edits"
            },
            {
                "name": "abusefilter-diff-backhistory",
                "normalizedname": "abusefilter-diff-backhistory",
                "*": "Filter history"
            },
            {
                "name": "abusefilter-diff-info",
                "normalizedname": "abusefilter-diff-info",
                "*": "Basic information"
            },
            {
                "name": "abusefilter-diff-invalid",
                "normalizedname": "abusefilter-diff-invalid",
                "*": "Unable to fetch the requested versions"
            },
            {
                "name": "abusefilter-diff-item",
                "normalizedname": "abusefilter-diff-item",
                "*": "Item"
            },
            {
                "name": "abusefilter-diff-next",
                "normalizedname": "abusefilter-diff-next",
                "*": "Newer change"
            },
            {
                "name": "abusefilter-diff-pattern",
                "normalizedname": "abusefilter-diff-pattern",
                "*": "Filter conditions"
            },
            {
                "name": "abusefilter-diff-prev",
                "normalizedname": "abusefilter-diff-prev",
                "*": "Older change"
            },
            {
                "name": "abusefilter-diff-title",
                "normalizedname": "abusefilter-diff-title",
                "*": "Differences between versions"
            },
            {
                "name": "abusefilter-diff-version",
                "normalizedname": "abusefilter-diff-version",
                "*": "Version from $1 {{GENDER:$3|by}} $2"
            },
            {
                "name": "abusefilter-disabled",
                "normalizedname": "abusefilter-disabled",
                "*": "Disabled"
            },
            {
                "name": "abusefilter-disallowed",
                "normalizedname": "abusefilter-disallowed",
                "*": "This action has been automatically identified as harmful, and therefore disallowed.\nIf you believe your action was constructive, please inform an administrator of what you were trying to do.\nA brief description of the abuse rule which your action matched is: $1"
            },
            {
                "name": "abusefilter-edit",
                "normalizedname": "abusefilter-edit",
                "*": "Editing abuse filter"
            },
            {
                "name": "abusefilter-edit-action-block",
                "normalizedname": "abusefilter-edit-action-block",
                "*": "Block the user and/or IP address from editing"
            },
            {
                "name": "abusefilter-edit-action-blockautopromote",
                "normalizedname": "abusefilter-edit-action-blockautopromote",
                "*": "Revoke the user's autoconfirmed status"
            },
            {
                "name": "abusefilter-edit-action-blocktalk",
                "normalizedname": "abusefilter-edit-action-blocktalk",
                "*": "Block the user and/or IP address from editing their own talk page"
            },
            {
                "name": "abusefilter-edit-action-degroup",
                "normalizedname": "abusefilter-edit-action-degroup",
                "*": "Remove the user from all privileged groups"
            },
            {
                "name": "abusefilter-edit-action-disallow",
                "normalizedname": "abusefilter-edit-action-disallow",
                "*": "Prevent the user from performing the action in question"
            },
            {
                "name": "abusefilter-edit-action-rangeblock",
                "normalizedname": "abusefilter-edit-action-rangeblock",
                "*": "Block the respective IP range from which the user originates"
            },
            {
                "name": "abusefilter-edit-action-tag",
                "normalizedname": "abusefilter-edit-action-tag",
                "*": "Tag the edit for further review"
            },
            {
                "name": "abusefilter-edit-action-throttle",
                "normalizedname": "abusefilter-edit-action-throttle",
                "*": "Trigger actions only if the user trips a rate limit"
            },
            {
                "name": "abusefilter-edit-action-warn",
                "normalizedname": "abusefilter-edit-action-warn",
                "*": "Trigger these actions after giving the user a warning"
            },
            {
                "name": "abusefilter-edit-bad-tags",
                "normalizedname": "abusefilter-edit-bad-tags",
                "*": "One or more of the tags you specified is not valid.\nTags should be short, they must not contain special characters, and they must not be reserved by other software. Try choosing a new tag name."
            },
            {
                "name": "abusefilter-edit-badfilter",
                "normalizedname": "abusefilter-edit-badfilter",
                "*": "The filter you specified does not exist"
            },
            {
                "name": "abusefilter-edit-badsyntax",
                "normalizedname": "abusefilter-edit-badsyntax",
                "*": "There is a syntax error in the filter you specified.\nThe output from the parser was: <pre>$1</pre>"
            },
            {
                "name": "abusefilter-edit-block-anon-durations",
                "normalizedname": "abusefilter-edit-block-anon-durations",
                "*": "Block duration for non-registered users:"
            },
            {
                "name": "abusefilter-edit-block-user-durations",
                "normalizedname": "abusefilter-edit-block-user-durations",
                "*": "Block duration for registered users:"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ccnorm",
                "normalizedname": "abusefilter-edit-builder-funcs-ccnorm",
                "*": "Normalize confusable characters (ccnorm)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ccnorm-contains-all",
                "normalizedname": "abusefilter-edit-builder-funcs-ccnorm-contains-all",
                "*": "Normalize and search a string for multiple substrings in AND mode (ccnorm_contains_all)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ccnorm-contains-any",
                "normalizedname": "abusefilter-edit-builder-funcs-ccnorm-contains-any",
                "*": "Normalize and search a string for multiple substrings in OR mode (ccnorm_contains_any)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-contains-all",
                "normalizedname": "abusefilter-edit-builder-funcs-contains-all",
                "*": "Search string for multiple substrings in AND mode. (contains_all)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-contains-any",
                "normalizedname": "abusefilter-edit-builder-funcs-contains-any",
                "*": "Search string for multiple substrings in OR mode. (contains_any)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-count",
                "normalizedname": "abusefilter-edit-builder-funcs-count",
                "*": "Number of times string X appears in string Y (count)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-equals-to-any",
                "normalizedname": "abusefilter-edit-builder-funcs-equals-to-any",
                "*": "Check if a given argument is equal (===) to any of the following arguments (equals_to_any)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-get_matches",
                "normalizedname": "abusefilter-edit-builder-funcs-get_matches",
                "*": "Array of regex matches within a text for each capturing group (get_matches)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ip_in_range",
                "normalizedname": "abusefilter-edit-builder-funcs-ip_in_range",
                "*": "Is IP in range? (ip_in_range)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ip_in_ranges",
                "normalizedname": "abusefilter-edit-builder-funcs-ip_in_ranges",
                "*": "Is IP in any of the ranges? (ip_in_ranges)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-lcase",
                "normalizedname": "abusefilter-edit-builder-funcs-lcase",
                "*": "To lower case (lcase)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-length",
                "normalizedname": "abusefilter-edit-builder-funcs-length",
                "*": "String length (length)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-norm",
                "normalizedname": "abusefilter-edit-builder-funcs-norm",
                "*": "Normalize (norm)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-rcount",
                "normalizedname": "abusefilter-edit-builder-funcs-rcount",
                "*": "Number of times regex X appears in string Y (rcount)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-rescape",
                "normalizedname": "abusefilter-edit-builder-funcs-rescape",
                "*": "Escape string as literal in regex (rescape)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-rmdoubles",
                "normalizedname": "abusefilter-edit-builder-funcs-rmdoubles",
                "*": "Remove double-characters (rmdoubles)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-rmspecials",
                "normalizedname": "abusefilter-edit-builder-funcs-rmspecials",
                "*": "Remove special characters (rmspecials)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-rmwhitespace",
                "normalizedname": "abusefilter-edit-builder-funcs-rmwhitespace",
                "*": "Remove whitespace (rmwhitespace)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-sanitize",
                "normalizedname": "abusefilter-edit-builder-funcs-sanitize",
                "*": "Normalize HTML entities into unicode characters (sanitize)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-set_var",
                "normalizedname": "abusefilter-edit-builder-funcs-set_var",
                "*": "Set variable (set_var)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-specialratio",
                "normalizedname": "abusefilter-edit-builder-funcs-specialratio",
                "*": "Special characters / total characters (specialratio)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-str_replace",
                "normalizedname": "abusefilter-edit-builder-funcs-str_replace",
                "*": "Replace substring with string (str_replace)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-str_replace_regexp",
                "normalizedname": "abusefilter-edit-builder-funcs-str_replace_regexp",
                "*": "Regular expression search and replace (str_replace_regexp)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-strpos",
                "normalizedname": "abusefilter-edit-builder-funcs-strpos",
                "*": "Position of substring in string (strpos)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-substr",
                "normalizedname": "abusefilter-edit-builder-funcs-substr",
                "*": "Substring (substr)"
            },
            {
                "name": "abusefilter-edit-builder-funcs-ucase",
                "normalizedname": "abusefilter-edit-builder-funcs-ucase",
                "*": "To upper case (ucase)"
            },
            {
                "name": "abusefilter-edit-builder-group-funcs",
                "normalizedname": "abusefilter-edit-builder-group-funcs",
                "*": "Functions"
            },
            {
                "name": "abusefilter-edit-builder-group-misc",
                "normalizedname": "abusefilter-edit-builder-group-misc",
                "*": "Miscellaneous"
            },
            {
                "name": "abusefilter-edit-builder-group-op-arithmetic",
                "normalizedname": "abusefilter-edit-builder-group-op-arithmetic",
                "*": "Arithmetic operators"
            },
            {
                "name": "abusefilter-edit-builder-group-op-bool",
                "normalizedname": "abusefilter-edit-builder-group-op-bool",
                "*": "Boolean operators"
            },
            {
                "name": "abusefilter-edit-builder-group-op-comparison",
                "normalizedname": "abusefilter-edit-builder-group-op-comparison",
                "*": "Comparison operators"
            },
            {
                "name": "abusefilter-edit-builder-group-vars",
                "normalizedname": "abusefilter-edit-builder-group-vars",
                "*": "Variables"
            },
            {
                "name": "abusefilter-edit-builder-misc-cond",
                "normalizedname": "abusefilter-edit-builder-misc-cond",
                "*": "Conditional (if X then Y else Z end)"
            },
            {
                "name": "abusefilter-edit-builder-misc-cond-short",
                "normalizedname": "abusefilter-edit-builder-misc-cond-short",
                "*": "Short conditional (if X then Y end)"
            },
            {
                "name": "abusefilter-edit-builder-misc-contains",
                "normalizedname": "abusefilter-edit-builder-misc-contains",
                "*": "Left string contains right string (contains)"
            },
            {
                "name": "abusefilter-edit-builder-misc-in",
                "normalizedname": "abusefilter-edit-builder-misc-in",
                "*": "contained in string (in)"
            },
            {
                "name": "abusefilter-edit-builder-misc-irlike",
                "normalizedname": "abusefilter-edit-builder-misc-irlike",
                "*": "Matches regex, case-insensitive (irlike)"
            },
            {
                "name": "abusefilter-edit-builder-misc-like",
                "normalizedname": "abusefilter-edit-builder-misc-like",
                "*": "Matches pattern (like)"
            },
            {
                "name": "abusefilter-edit-builder-misc-rlike",
                "normalizedname": "abusefilter-edit-builder-misc-rlike",
                "*": "Matches regex (rlike)"
            },
            {
                "name": "abusefilter-edit-builder-misc-stringlit",
                "normalizedname": "abusefilter-edit-builder-misc-stringlit",
                "*": "String literal (\"\")"
            },
            {
                "name": "abusefilter-edit-builder-misc-tern",
                "normalizedname": "abusefilter-edit-builder-misc-tern",
                "*": "Ternary operator (X ? Y : Z)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-addition",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-addition",
                "*": "Addition (+)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-divide",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-divide",
                "*": "Division (/)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-modulo",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-modulo",
                "*": "Modulo (%)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-multiplication",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-multiplication",
                "*": "Multiplication (*)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-pow",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-pow",
                "*": "Power (**)"
            },
            {
                "name": "abusefilter-edit-builder-op-arithmetic-subtraction",
                "normalizedname": "abusefilter-edit-builder-op-arithmetic-subtraction",
                "*": "Subtraction (-)"
            },
            {
                "name": "abusefilter-edit-builder-op-bool-and",
                "normalizedname": "abusefilter-edit-builder-op-bool-and",
                "*": "And (&)"
            },
            {
                "name": "abusefilter-edit-builder-op-bool-not",
                "normalizedname": "abusefilter-edit-builder-op-bool-not",
                "*": "Not (!)"
            },
            {
                "name": "abusefilter-edit-builder-op-bool-or",
                "normalizedname": "abusefilter-edit-builder-op-bool-or",
                "*": "Or (|)"
            },
            {
                "name": "abusefilter-edit-builder-op-bool-xor",
                "normalizedname": "abusefilter-edit-builder-op-bool-xor",
                "*": "XOR (^)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-equal",
                "normalizedname": "abusefilter-edit-builder-op-comparison-equal",
                "*": "Value equal to (==)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-equal-strict",
                "normalizedname": "abusefilter-edit-builder-op-comparison-equal-strict",
                "*": "Value and type equal to (===)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-gt",
                "normalizedname": "abusefilter-edit-builder-op-comparison-gt",
                "*": "Greater than (>)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-gte",
                "normalizedname": "abusefilter-edit-builder-op-comparison-gte",
                "*": "Greater than or equal to (>=)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-lt",
                "normalizedname": "abusefilter-edit-builder-op-comparison-lt",
                "*": "Less than (<)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-lte",
                "normalizedname": "abusefilter-edit-builder-op-comparison-lte",
                "*": "Less than or equal to (<=)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-notequal",
                "normalizedname": "abusefilter-edit-builder-op-comparison-notequal",
                "*": "Value not equal to (!=)"
            },
            {
                "name": "abusefilter-edit-builder-op-comparison-notequal-strict",
                "normalizedname": "abusefilter-edit-builder-op-comparison-notequal-strict",
                "*": "Value and type not equal to (!==)"
            },
            {
                "name": "abusefilter-edit-builder-select",
                "normalizedname": "abusefilter-edit-builder-select",
                "*": "Select an option to add it at the cursor"
            },
            {
                "name": "abusefilter-edit-builder-vars-accountname",
                "normalizedname": "abusefilter-edit-builder-vars-accountname",
                "*": "Account name (on account creation)"
            },
            {
                "name": "abusefilter-edit-builder-vars-action",
                "normalizedname": "abusefilter-edit-builder-vars-action",
                "*": "Action"
            },
            {
                "name": "abusefilter-edit-builder-vars-added-links",
                "normalizedname": "abusefilter-edit-builder-vars-added-links",
                "*": "All external links added in the edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-addedlines",
                "normalizedname": "abusefilter-edit-builder-vars-addedlines",
                "*": "Lines added in edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-addedlines-pst",
                "normalizedname": "abusefilter-edit-builder-vars-addedlines-pst",
                "*": "Lines added in edit, pre-save transformed"
            },
            {
                "name": "abusefilter-edit-builder-vars-all-links",
                "normalizedname": "abusefilter-edit-builder-vars-all-links",
                "*": "All external links in the new text"
            },
            {
                "name": "abusefilter-edit-builder-vars-delta",
                "normalizedname": "abusefilter-edit-builder-vars-delta",
                "*": "Size change in edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-diff",
                "normalizedname": "abusefilter-edit-builder-vars-diff",
                "*": "Unified diff of changes made by edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-diff-pst",
                "normalizedname": "abusefilter-edit-builder-vars-diff-pst",
                "*": "Unified diff of changes made by edit, pre-save transformed"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-bits-per-channel",
                "normalizedname": "abusefilter-edit-builder-vars-file-bits-per-channel",
                "*": "Bits per color channel of the file"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-height",
                "normalizedname": "abusefilter-edit-builder-vars-file-height",
                "*": "Height of the file in pixels"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-mediatype",
                "normalizedname": "abusefilter-edit-builder-vars-file-mediatype",
                "*": "Media type of the file"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-mime",
                "normalizedname": "abusefilter-edit-builder-vars-file-mime",
                "*": "MIME type of the file"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-sha1",
                "normalizedname": "abusefilter-edit-builder-vars-file-sha1",
                "*": "SHA1 hash of file contents"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-size",
                "normalizedname": "abusefilter-edit-builder-vars-file-size",
                "*": "Size of the file in bytes"
            },
            {
                "name": "abusefilter-edit-builder-vars-file-width",
                "normalizedname": "abusefilter-edit-builder-vars-file-width",
                "*": "Width of the file in pixels"
            },
            {
                "name": "abusefilter-edit-builder-vars-first-contributor",
                "normalizedname": "abusefilter-edit-builder-vars-first-contributor",
                "*": "First user to contribute to the page"
            },
            {
                "name": "abusefilter-edit-builder-vars-minor-edit",
                "normalizedname": "abusefilter-edit-builder-vars-minor-edit",
                "*": "Whether or not the edit is marked as minor (no longer in use)"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-age",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-age",
                "*": "Move source page age (in seconds)"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-first-contributor",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-first-contributor",
                "*": "First user to contribute to move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-id",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-id",
                "*": "Page ID of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-ns",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-ns",
                "*": "Namespace of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-prefixedtitle",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-prefixedtitle",
                "*": "Full title of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-recent-contributors",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-recent-contributors",
                "*": "Last ten users to contribute to move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-restrictions-create",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-restrictions-create",
                "*": "Create protection of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-restrictions-edit",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-restrictions-edit",
                "*": "Edit protection level of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-restrictions-move",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-restrictions-move",
                "*": "Move protection level of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-restrictions-upload",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-restrictions-upload",
                "*": "Upload protection of move source file"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedfrom-title",
                "normalizedname": "abusefilter-edit-builder-vars-movedfrom-title",
                "*": "Title of move source page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-age",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-age",
                "*": "Move destination page age (in seconds)"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-first-contributor",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-first-contributor",
                "*": "First user to contribute to move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-id",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-id",
                "*": "Page ID of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-ns",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-ns",
                "*": "Namespace of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-prefixedtitle",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-prefixedtitle",
                "*": "Full title of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-recent-contributors",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-recent-contributors",
                "*": "Last ten users to contribute to move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-restrictions-create",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-restrictions-create",
                "*": "Create protection of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-restrictions-edit",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-restrictions-edit",
                "*": "Edit protection level of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-restrictions-move",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-restrictions-move",
                "*": "Move protection level of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-restrictions-upload",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-restrictions-upload",
                "*": "Upload protection of move destination file"
            },
            {
                "name": "abusefilter-edit-builder-vars-movedto-title",
                "normalizedname": "abusefilter-edit-builder-vars-movedto-title",
                "*": "Title of move destination page"
            },
            {
                "name": "abusefilter-edit-builder-vars-new-content-model",
                "normalizedname": "abusefilter-edit-builder-vars-new-content-model",
                "*": "New content model"
            },
            {
                "name": "abusefilter-edit-builder-vars-new-html",
                "normalizedname": "abusefilter-edit-builder-vars-new-html",
                "*": "Parsed HTML source of the new revision"
            },
            {
                "name": "abusefilter-edit-builder-vars-new-pst",
                "normalizedname": "abusefilter-edit-builder-vars-new-pst",
                "*": "New page wikitext, pre-save transformed"
            },
            {
                "name": "abusefilter-edit-builder-vars-new-text",
                "normalizedname": "abusefilter-edit-builder-vars-new-text",
                "*": "New page text, stripped of any markup"
            },
            {
                "name": "abusefilter-edit-builder-vars-new-wikitext",
                "normalizedname": "abusefilter-edit-builder-vars-new-wikitext",
                "*": "New page wikitext, after the edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-newsize",
                "normalizedname": "abusefilter-edit-builder-vars-newsize",
                "*": "New page size"
            },
            {
                "name": "abusefilter-edit-builder-vars-old-content-model",
                "normalizedname": "abusefilter-edit-builder-vars-old-content-model",
                "*": "Old content model"
            },
            {
                "name": "abusefilter-edit-builder-vars-old-html",
                "normalizedname": "abusefilter-edit-builder-vars-old-html",
                "*": "Old page wikitext, parsed into HTML (no longer in use)"
            },
            {
                "name": "abusefilter-edit-builder-vars-old-links",
                "normalizedname": "abusefilter-edit-builder-vars-old-links",
                "*": "Links in the page, before the edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-old-text",
                "normalizedname": "abusefilter-edit-builder-vars-old-text",
                "*": "Old page text, stripped of any markup (no longer in use)"
            },
            {
                "name": "abusefilter-edit-builder-vars-old-wikitext",
                "normalizedname": "abusefilter-edit-builder-vars-old-wikitext",
                "*": "Old page wikitext, before the edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-oldsize",
                "normalizedname": "abusefilter-edit-builder-vars-oldsize",
                "*": "Old page size"
            },
            {
                "name": "abusefilter-edit-builder-vars-page-age",
                "normalizedname": "abusefilter-edit-builder-vars-page-age",
                "*": "Page age (in seconds)"
            },
            {
                "name": "abusefilter-edit-builder-vars-page-id",
                "normalizedname": "abusefilter-edit-builder-vars-page-id",
                "*": "Page ID"
            },
            {
                "name": "abusefilter-edit-builder-vars-page-ns",
                "normalizedname": "abusefilter-edit-builder-vars-page-ns",
                "*": "Page namespace"
            },
            {
                "name": "abusefilter-edit-builder-vars-page-prefixedtitle",
                "normalizedname": "abusefilter-edit-builder-vars-page-prefixedtitle",
                "*": "Full page title"
            },
            {
                "name": "abusefilter-edit-builder-vars-page-title",
                "normalizedname": "abusefilter-edit-builder-vars-page-title",
                "*": "Page title (without namespace)"
            },
            {
                "name": "abusefilter-edit-builder-vars-recent-contributors",
                "normalizedname": "abusefilter-edit-builder-vars-recent-contributors",
                "*": "Last ten users to contribute to the page"
            },
            {
                "name": "abusefilter-edit-builder-vars-removed-links",
                "normalizedname": "abusefilter-edit-builder-vars-removed-links",
                "*": "All external links removed in the edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-removedlines",
                "normalizedname": "abusefilter-edit-builder-vars-removedlines",
                "*": "Lines removed in edit"
            },
            {
                "name": "abusefilter-edit-builder-vars-restrictions-create",
                "normalizedname": "abusefilter-edit-builder-vars-restrictions-create",
                "*": "Create protection of the page"
            },
            {
                "name": "abusefilter-edit-builder-vars-restrictions-edit",
                "normalizedname": "abusefilter-edit-builder-vars-restrictions-edit",
                "*": "Edit protection level of the page"
            },
            {
                "name": "abusefilter-edit-builder-vars-restrictions-move",
                "normalizedname": "abusefilter-edit-builder-vars-restrictions-move",
                "*": "Move protection level of the page"
            },
            {
                "name": "abusefilter-edit-builder-vars-restrictions-upload",
                "normalizedname": "abusefilter-edit-builder-vars-restrictions-upload",
                "*": "Upload protection of the file"
            },
            {
                "name": "abusefilter-edit-builder-vars-summary",
                "normalizedname": "abusefilter-edit-builder-vars-summary",
                "*": "Edit summary/reason"
            },
            {
                "name": "abusefilter-edit-builder-vars-timestamp",
                "normalizedname": "abusefilter-edit-builder-vars-timestamp",
                "*": "Unix timestamp of change"
            },
            {
                "name": "abusefilter-edit-builder-vars-timestamp-expanded",
                "normalizedname": "abusefilter-edit-builder-vars-timestamp-expanded",
                "*": "Timestamp of the log"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-age",
                "normalizedname": "abusefilter-edit-builder-vars-user-age",
                "*": "Age of the user account"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-blocked",
                "normalizedname": "abusefilter-edit-builder-vars-user-blocked",
                "*": "Whether the user is blocked"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-editcount",
                "normalizedname": "abusefilter-edit-builder-vars-user-editcount",
                "*": "Edit count of the user"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-emailconfirm",
                "normalizedname": "abusefilter-edit-builder-vars-user-emailconfirm",
                "*": "Time email address was confirmed"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-groups",
                "normalizedname": "abusefilter-edit-builder-vars-user-groups",
                "*": "Groups (including implicit) the user is in"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-name",
                "normalizedname": "abusefilter-edit-builder-vars-user-name",
                "*": "Name of the user account"
            },
            {
                "name": "abusefilter-edit-builder-vars-user-rights",
                "normalizedname": "abusefilter-edit-builder-vars-user-rights",
                "*": "Rights that the user has"
            },
            {
                "name": "abusefilter-edit-builder-vars-wiki-language",
                "normalizedname": "abusefilter-edit-builder-vars-wiki-language",
                "*": "Language code of the wiki"
            },
            {
                "name": "abusefilter-edit-builder-vars-wiki-name",
                "normalizedname": "abusefilter-edit-builder-vars-wiki-name",
                "*": "Database name of the wiki"
            },
            {
                "name": "abusefilter-edit-check",
                "normalizedname": "abusefilter-edit-check",
                "*": "Check syntax"
            },
            {
                "name": "abusefilter-edit-consequences",
                "normalizedname": "abusefilter-edit-consequences",
                "*": "Actions to take when matched"
            },
            {
                "name": "abusefilter-edit-deleted",
                "normalizedname": "abusefilter-edit-deleted",
                "*": "Mark as deleted"
            },
            {
                "name": "abusefilter-edit-deleting-enabled",
                "normalizedname": "abusefilter-edit-deleting-enabled",
                "*": "You cannot mark an active filter as deleted."
            },
            {
                "name": "abusefilter-edit-denied",
                "normalizedname": "abusefilter-edit-denied",
                "*": "You may not view details of this filter, because it is hidden from public view."
            },
            {
                "name": "abusefilter-edit-description",
                "normalizedname": "abusefilter-edit-description",
                "*": "Description:\n:''(publicly viewable)''"
            },
            {
                "name": "abusefilter-edit-disallow-actions",
                "normalizedname": "abusefilter-edit-disallow-actions",
                "*": "Actions:"
            },
            {
                "name": "abusefilter-edit-disallow-edit",
                "normalizedname": "abusefilter-edit-disallow-edit",
                "*": "Create/Edit selected message"
            },
            {
                "name": "abusefilter-edit-disallow-message",
                "normalizedname": "abusefilter-edit-disallow-message",
                "*": "System message to use for disallowing:"
            },
            {
                "name": "abusefilter-edit-disallow-other",
                "normalizedname": "abusefilter-edit-disallow-other",
                "*": "Other message"
            },
            {
                "name": "abusefilter-edit-disallow-other-label",
                "normalizedname": "abusefilter-edit-disallow-other-label",
                "*": "Page name of other message:\n:''(without \"MediaWiki:\" prefix)''"
            },
            {
                "name": "abusefilter-edit-disallow-preview",
                "normalizedname": "abusefilter-edit-disallow-preview",
                "*": "Show/Hide preview of selected message"
            },
            {
                "name": "abusefilter-edit-done",
                "normalizedname": "abusefilter-edit-done",
                "*": "[[Special:AbuseFilter/history/$1/diff/prev/$2|Your changes]] to [[Special:AbuseFilter/$1|filter $3]] have been saved."
            },
            {
                "name": "abusefilter-edit-done-subtitle",
                "normalizedname": "abusefilter-edit-done-subtitle",
                "*": "Filter edited"
            },
            {
                "name": "abusefilter-edit-duplicated-throttlegroups",
                "normalizedname": "abusefilter-edit-duplicated-throttlegroups",
                "*": "Throttle groups cannot have duplicates."
            },
            {
                "name": "abusefilter-edit-empty-throttlegroups",
                "normalizedname": "abusefilter-edit-empty-throttlegroups",
                "*": "At least one throttle group must be selected."
            },
            {
                "name": "abusefilter-edit-enabled",
                "normalizedname": "abusefilter-edit-enabled",
                "*": "Enable this filter"
            },
            {
                "name": "abusefilter-edit-export",
                "normalizedname": "abusefilter-edit-export",
                "*": "Export this filter to another wiki"
            },
            {
                "name": "abusefilter-edit-field-conditions",
                "normalizedname": "abusefilter-edit-field-conditions",
                "*": "conditions"
            },
            {
                "name": "abusefilter-edit-field-description",
                "normalizedname": "abusefilter-edit-field-description",
                "*": "description"
            },
            {
                "name": "abusefilter-edit-flags",
                "normalizedname": "abusefilter-edit-flags",
                "*": "Flags:"
            },
            {
                "name": "abusefilter-edit-global",
                "normalizedname": "abusefilter-edit-global",
                "*": "Global filter"
            },
            {
                "name": "abusefilter-edit-group",
                "normalizedname": "abusefilter-edit-group",
                "*": "Filter group:"
            },
            {
                "name": "abusefilter-edit-hidden",
                "normalizedname": "abusefilter-edit-hidden",
                "*": "Hide details of this filter from public view"
            },
            {
                "name": "abusefilter-edit-history",
                "normalizedname": "abusefilter-edit-history",
                "*": "History:"
            },
            {
                "name": "abusefilter-edit-hitcount",
                "normalizedname": "abusefilter-edit-hitcount",
                "*": "Filter hits:"
            },
            {
                "name": "abusefilter-edit-id",
                "normalizedname": "abusefilter-edit-id",
                "*": "Filter ID:"
            },
            {
                "name": "abusefilter-edit-invalid-disallow-message",
                "normalizedname": "abusefilter-edit-invalid-disallow-message",
                "*": "The disallow message cannot be left empty."
            },
            {
                "name": "abusefilter-edit-invalid-group",
                "normalizedname": "abusefilter-edit-invalid-group",
                "*": "The specified filter group ('$1') is not valid."
            },
            {
                "name": "abusefilter-edit-invalid-throttlecount",
                "normalizedname": "abusefilter-edit-invalid-throttlecount",
                "*": "The throttle action count must be a positive integer."
            },
            {
                "name": "abusefilter-edit-invalid-throttlegroups",
                "normalizedname": "abusefilter-edit-invalid-throttlegroups",
                "*": "The specified throttle groups are not valid."
            },
            {
                "name": "abusefilter-edit-invalid-throttleperiod",
                "normalizedname": "abusefilter-edit-invalid-throttleperiod",
                "*": "The throttle period must be a positive integer."
            },
            {
                "name": "abusefilter-edit-invalid-warn-message",
                "normalizedname": "abusefilter-edit-invalid-warn-message",
                "*": "The warning message cannot be left empty."
            },
            {
                "name": "abusefilter-edit-lastmod",
                "normalizedname": "abusefilter-edit-lastmod",
                "*": "Filter last modified:"
            },
            {
                "name": "abusefilter-edit-lastmod-text",
                "normalizedname": "abusefilter-edit-lastmod-text",
                "*": "$1 by $2"
            },
            {
                "name": "abusefilter-edit-main",
                "normalizedname": "abusefilter-edit-main",
                "*": "Filter parameters"
            },
            {
                "name": "abusefilter-edit-missingfields",
                "normalizedname": "abusefilter-edit-missingfields",
                "*": "The following fields are required and must be filled: $1"
            },
            {
                "name": "abusefilter-edit-new",
                "normalizedname": "abusefilter-edit-new",
                "*": "New filter"
            },
            {
                "name": "abusefilter-edit-notallowed",
                "normalizedname": "abusefilter-edit-notallowed",
                "*": "You are not permitted to create or edit abuse filters"
            },
            {
                "name": "abusefilter-edit-notallowed-global",
                "normalizedname": "abusefilter-edit-notallowed-global",
                "*": "You are not permitted to create or edit global abuse filters"
            },
            {
                "name": "abusefilter-edit-notallowed-global-custom-msg",
                "normalizedname": "abusefilter-edit-notallowed-global-custom-msg",
                "*": "Custom warning or disallow messages are not supported for global filters"
            },
            {
                "name": "abusefilter-edit-notes",
                "normalizedname": "abusefilter-edit-notes",
                "*": "Notes:"
            },
            {
                "name": "abusefilter-edit-oldwarning",
                "normalizedname": "abusefilter-edit-oldwarning",
                "*": "<strong>You are editing an old version of this filter.\nThe statistics quoted are for the most recent version of the filter.\nIf you save your changes, you will overwrite all changes since the revision you are editing.</strong> &bull;\n[[Special:AbuseFilter/history/$2|Return to this filter's history]]."
            },
            {
                "name": "abusefilter-edit-oldwarning-view",
                "normalizedname": "abusefilter-edit-oldwarning-view",
                "*": "<strong>You are viewing an old version of this filter.\nThe statistics quoted are for the most recent version of the filter.</strong> &bull;\n[[Special:AbuseFilter/history/$2|Return to this filter's history]]."
            },
            {
                "name": "abusefilter-edit-restricted",
                "normalizedname": "abusefilter-edit-restricted",
                "*": "You cannot edit this filter, because it contains one or more restricted actions.\nPlease ask a user with permission to add restricted actions to make the change for you."
            },
            {
                "name": "abusefilter-edit-revert",
                "normalizedname": "abusefilter-edit-revert",
                "*": "Revert actions taken by this filter"
            },
            {
                "name": "abusefilter-edit-rules",
                "normalizedname": "abusefilter-edit-rules",
                "*": "Conditions:"
            },
            {
                "name": "abusefilter-edit-save",
                "normalizedname": "abusefilter-edit-save",
                "*": "Save filter"
            },
            {
                "name": "abusefilter-edit-status",
                "normalizedname": "abusefilter-edit-status",
                "*": "Of the last $1 {{PLURAL:$1|action|actions}}, this filter has matched $2 ($3%).\nOn average, its run time is $4 ms, and it consumes $5 {{PLURAL:$5|condition|conditions}} of the condition limit."
            },
            {
                "name": "abusefilter-edit-status-label",
                "normalizedname": "abusefilter-edit-status-label",
                "*": "Statistics:"
            },
            {
                "name": "abusefilter-edit-subtitle",
                "normalizedname": "abusefilter-edit-subtitle",
                "*": "Editing filter $1"
            },
            {
                "name": "abusefilter-edit-subtitle-new",
                "normalizedname": "abusefilter-edit-subtitle-new",
                "*": "Creating filter"
            },
            {
                "name": "abusefilter-edit-switch-editor",
                "normalizedname": "abusefilter-edit-switch-editor",
                "*": "Switch editor"
            },
            {
                "name": "abusefilter-edit-syntaxerr",
                "normalizedname": "abusefilter-edit-syntaxerr",
                "*": "Syntax error detected: $1"
            },
            {
                "name": "abusefilter-edit-syntaxok",
                "normalizedname": "abusefilter-edit-syntaxok",
                "*": "No syntax errors detected."
            },
            {
                "name": "abusefilter-edit-tag-hidden-placeholder",
                "normalizedname": "abusefilter-edit-tag-hidden-placeholder",
                "*": "Add tags (comma separated)"
            },
            {
                "name": "abusefilter-edit-tag-placeholder",
                "normalizedname": "abusefilter-edit-tag-placeholder",
                "*": "Add tags (one by one or comma separated)"
            },
            {
                "name": "abusefilter-edit-tag-tag",
                "normalizedname": "abusefilter-edit-tag-tag",
                "*": "[[Special:Tags|Tags]] to apply:"
            },
            {
                "name": "abusefilter-edit-test-link",
                "normalizedname": "abusefilter-edit-test-link",
                "*": "Test this filter against recent edits"
            },
            {
                "name": "abusefilter-edit-throttle-count",
                "normalizedname": "abusefilter-edit-throttle-count",
                "*": "Number of actions to allow:"
            },
            {
                "name": "abusefilter-edit-throttle-groups",
                "normalizedname": "abusefilter-edit-throttle-groups",
                "*": "Group throttle by:"
            },
            {
                "name": "abusefilter-edit-throttle-groups-help",
                "normalizedname": "abusefilter-edit-throttle-groups-help",
                "*": "See $1."
            },
            {
                "name": "abusefilter-edit-throttle-groups-help-text",
                "normalizedname": "abusefilter-edit-throttle-groups-help-text",
                "*": "the documentation on mediawiki.org"
            },
            {
                "name": "abusefilter-edit-throttle-hidden-placeholder",
                "normalizedname": "abusefilter-edit-throttle-hidden-placeholder",
                "*": "Split with commas to join with AND, and with linebreaks to join with OR"
            },
            {
                "name": "abusefilter-edit-throttle-period",
                "normalizedname": "abusefilter-edit-throttle-period",
                "*": "Period of time (in seconds):"
            },
            {
                "name": "abusefilter-edit-throttle-placeholder",
                "normalizedname": "abusefilter-edit-throttle-placeholder",
                "*": "Split with commas to join with AND, and insert one by one to join with OR"
            },
            {
                "name": "abusefilter-edit-throttled-warning",
                "normalizedname": "abusefilter-edit-throttled-warning",
                "*": "'''Warning:''' This filter was automatically flagged as harmful. As a safety measure, the following {{PLURAL:$2|action|actions}} will not execute: $1. Please check whether the high rate of matches is expected. If so, you can save the filter again to remove this restriction."
            },
            {
                "name": "abusefilter-edit-throttled-warning-no-actions",
                "normalizedname": "abusefilter-edit-throttled-warning-no-actions",
                "*": "'''Warning:''' This filter was automatically flagged as harmful. No actions were automatically disabled, but please check whether the high rate of matches is expected. If so, you can ignore this warning."
            },
            {
                "name": "abusefilter-edit-token-not-match",
                "normalizedname": "abusefilter-edit-token-not-match",
                "*": "The edit wasn't saved! Please save again."
            },
            {
                "name": "abusefilter-edit-tools",
                "normalizedname": "abusefilter-edit-tools",
                "*": "Tools:"
            },
            {
                "name": "abusefilter-edit-viewhistory",
                "normalizedname": "abusefilter-edit-viewhistory",
                "*": "View this filter's history"
            },
            {
                "name": "abusefilter-edit-warn-actions",
                "normalizedname": "abusefilter-edit-warn-actions",
                "*": "Actions:"
            },
            {
                "name": "abusefilter-edit-warn-edit",
                "normalizedname": "abusefilter-edit-warn-edit",
                "*": "Create/Edit selected message"
            },
            {
                "name": "abusefilter-edit-warn-leave",
                "normalizedname": "abusefilter-edit-warn-leave",
                "*": "Leaving the page will cause you to lose any change made to this filter."
            },
            {
                "name": "abusefilter-edit-warn-message",
                "normalizedname": "abusefilter-edit-warn-message",
                "*": "System message to use for warning:"
            },
            {
                "name": "abusefilter-edit-warn-other",
                "normalizedname": "abusefilter-edit-warn-other",
                "*": "Other message"
            },
            {
                "name": "abusefilter-edit-warn-other-label",
                "normalizedname": "abusefilter-edit-warn-other-label",
                "*": "Page name of other message:\n:''(without \"MediaWiki:\" prefix)''"
            },
            {
                "name": "abusefilter-edit-warn-preview",
                "normalizedname": "abusefilter-edit-warn-preview",
                "*": "Show/Hide preview of selected message"
            },
            {
                "name": "abusefilter-enabled",
                "normalizedname": "abusefilter-enabled",
                "*": "Enabled"
            },
            {
                "name": "abusefilter-examine",
                "normalizedname": "abusefilter-examine",
                "*": "Examine individual changes"
            },
            {
                "name": "abusefilter-examine-incompatible",
                "normalizedname": "abusefilter-examine-incompatible",
                "*": "The change you requested is not supported by the Abuse Filter"
            },
            {
                "name": "abusefilter-examine-intro",
                "normalizedname": "abusefilter-examine-intro",
                "*": "This page allows you to examine the variables generated by the Abuse Filter for an individual change, and test it against filters."
            },
            {
                "name": "abusefilter-examine-intro-examine-only",
                "normalizedname": "abusefilter-examine-intro-examine-only",
                "*": "This page allows you to examine the variables generated by the Abuse Filter for an individual change."
            },
            {
                "name": "abusefilter-examine-legend",
                "normalizedname": "abusefilter-examine-legend",
                "*": "Select changes"
            },
            {
                "name": "abusefilter-examine-match",
                "normalizedname": "abusefilter-examine-match",
                "*": "The filter matched this change."
            },
            {
                "name": "abusefilter-examine-nomatch",
                "normalizedname": "abusefilter-examine-nomatch",
                "*": "The filter did not match this change."
            },
            {
                "name": "abusefilter-examine-noresults",
                "normalizedname": "abusefilter-examine-noresults",
                "*": "No results were found for the search parameters you provided."
            },
            {
                "name": "abusefilter-examine-notfound",
                "normalizedname": "abusefilter-examine-notfound",
                "*": "The change you requested could not be found."
            },
            {
                "name": "abusefilter-examine-submit",
                "normalizedname": "abusefilter-examine-submit",
                "*": "Search"
            },
            {
                "name": "abusefilter-examine-syntaxerror",
                "normalizedname": "abusefilter-examine-syntaxerror",
                "*": "The filter has invalid syntax"
            },
            {
                "name": "abusefilter-examine-test",
                "normalizedname": "abusefilter-examine-test",
                "*": "Test this change against a filter"
            },
            {
                "name": "abusefilter-examine-test-button",
                "normalizedname": "abusefilter-examine-test-button",
                "*": "Test filter"
            },
            {
                "name": "abusefilter-examine-vars",
                "normalizedname": "abusefilter-examine-vars",
                "*": "Variables generated for this change"
            },
            {
                "name": "abusefilter-exception-disabledvar",
                "normalizedname": "abusefilter-exception-disabledvar",
                "*": "Variable $2 at character $1 is no longer in use."
            },
            {
                "name": "abusefilter-exception-dividebyzero",
                "normalizedname": "abusefilter-exception-dividebyzero",
                "*": "Illegal attempt to divide $2 by zero at character $1."
            },
            {
                "name": "abusefilter-exception-expectednotfound",
                "normalizedname": "abusefilter-exception-expectednotfound",
                "*": "Expected a $2 at character $1, not found (found $3 $4 instead)."
            },
            {
                "name": "abusefilter-exception-invalidiprange",
                "normalizedname": "abusefilter-exception-invalidiprange",
                "*": "Invalid IP range \"$2\" provided at character $1."
            },
            {
                "name": "abusefilter-exception-invalidoperator",
                "normalizedname": "abusefilter-exception-invalidoperator",
                "*": "Invalid operator \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-negativeindex",
                "normalizedname": "abusefilter-exception-negativeindex",
                "*": "Negative indexes are not allowed in arrays. Got index \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-noparams",
                "normalizedname": "abusefilter-exception-noparams",
                "*": "No parameters given to function \"$2\" at character $1.\nExpected $3 {{PLURAL:$3|argument|arguments}}."
            },
            {
                "name": "abusefilter-exception-notarray",
                "normalizedname": "abusefilter-exception-notarray",
                "*": "Requesting array item of non-array at character $1."
            },
            {
                "name": "abusefilter-exception-notenoughargs",
                "normalizedname": "abusefilter-exception-notenoughargs",
                "*": "Not enough arguments to function $2 called at character $1.\nExpected $3 {{PLURAL:$3|argument|arguments}}, got $4"
            },
            {
                "name": "abusefilter-exception-outofbounds",
                "normalizedname": "abusefilter-exception-outofbounds",
                "*": "Requesting non-existent array item $2 (array size = $3) at character $1."
            },
            {
                "name": "abusefilter-exception-overridebuiltin",
                "normalizedname": "abusefilter-exception-overridebuiltin",
                "*": "Illegal overriding of built-in identifier \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-regexfailure",
                "normalizedname": "abusefilter-exception-regexfailure",
                "*": "Error in regular expression \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-toomanyargs",
                "normalizedname": "abusefilter-exception-toomanyargs",
                "*": "Too many arguments to function $2 called at character $1.\nExpected at most $3 {{PLURAL:$3|argument|arguments}}, got $4"
            },
            {
                "name": "abusefilter-exception-unclosedcomment",
                "normalizedname": "abusefilter-exception-unclosedcomment",
                "*": "Unclosed comment at character $1."
            },
            {
                "name": "abusefilter-exception-unclosedstring",
                "normalizedname": "abusefilter-exception-unclosedstring",
                "*": "Unclosed string starting at character $1."
            },
            {
                "name": "abusefilter-exception-unexpectedatend",
                "normalizedname": "abusefilter-exception-unexpectedatend",
                "*": "Unexpected \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-unexpectedtoken",
                "normalizedname": "abusefilter-exception-unexpectedtoken",
                "*": "Unexpected token \"$3\" (of type $2) at character $1."
            },
            {
                "name": "abusefilter-exception-unknownfunction",
                "normalizedname": "abusefilter-exception-unknownfunction",
                "*": "$2 is not a valid function at character $1."
            },
            {
                "name": "abusefilter-exception-unrecognisedkeyword",
                "normalizedname": "abusefilter-exception-unrecognisedkeyword",
                "*": "Unrecognized keyword $2 at character $1."
            },
            {
                "name": "abusefilter-exception-unrecognisedtoken",
                "normalizedname": "abusefilter-exception-unrecognisedtoken",
                "*": "Unrecognized token \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-unrecognisedvar",
                "normalizedname": "abusefilter-exception-unrecognisedvar",
                "*": "Unrecognized variable $2 at character $1."
            },
            {
                "name": "abusefilter-exception-unusedvars",
                "normalizedname": "abusefilter-exception-unusedvars",
                "*": "The following variables are unused: $2."
            },
            {
                "name": "abusefilter-exception-usebuiltin",
                "normalizedname": "abusefilter-exception-usebuiltin",
                "*": "Illegal use of built-in identifier \"$2\" at character $1."
            },
            {
                "name": "abusefilter-exception-variablevariable",
                "normalizedname": "abusefilter-exception-variablevariable",
                "*": "set and set_var expect the first argument to be a string literal, found at character $1."
            },
            {
                "name": "abusefilter-filter-log",
                "normalizedname": "abusefilter-filter-log",
                "*": "Recent filter changes"
            },
            {
                "name": "abusefilter-group-default",
                "normalizedname": "abusefilter-group-default",
                "*": "Default"
            },
            {
                "name": "abusefilter-hidden",
                "normalizedname": "abusefilter-hidden",
                "*": "Private"
            },
            {
                "name": "abusefilter-history",
                "normalizedname": "abusefilter-history",
                "*": "Change history for Abuse Filter #$1"
            },
            {
                "name": "abusefilter-history-actions",
                "normalizedname": "abusefilter-history-actions",
                "*": "Actions"
            },
            {
                "name": "abusefilter-history-backedit",
                "normalizedname": "abusefilter-history-backedit",
                "*": "Filter editor"
            },
            {
                "name": "abusefilter-history-comments",
                "normalizedname": "abusefilter-history-comments",
                "*": "Comments"
            },
            {
                "name": "abusefilter-history-deleted",
                "normalizedname": "abusefilter-history-deleted",
                "*": "Deleted"
            },
            {
                "name": "abusefilter-history-diff",
                "normalizedname": "abusefilter-history-diff",
                "*": "Changes"
            },
            {
                "name": "abusefilter-history-enabled",
                "normalizedname": "abusefilter-history-enabled",
                "*": "Enabled"
            },
            {
                "name": "abusefilter-history-error-hidden",
                "normalizedname": "abusefilter-history-error-hidden",
                "*": "The filter you requested is hidden, and you cannot view its history."
            },
            {
                "name": "abusefilter-history-filter",
                "normalizedname": "abusefilter-history-filter",
                "*": "Filter rule"
            },
            {
                "name": "abusefilter-history-filterid",
                "normalizedname": "abusefilter-history-filterid",
                "*": "Filter"
            },
            {
                "name": "abusefilter-history-flags",
                "normalizedname": "abusefilter-history-flags",
                "*": "Flags"
            },
            {
                "name": "abusefilter-history-foruser",
                "normalizedname": "abusefilter-history-foruser",
                "*": "Changes by $1"
            },
            {
                "name": "abusefilter-history-global",
                "normalizedname": "abusefilter-history-global",
                "*": "Global"
            },
            {
                "name": "abusefilter-history-hidden",
                "normalizedname": "abusefilter-history-hidden",
                "*": "Hidden"
            },
            {
                "name": "abusefilter-history-public",
                "normalizedname": "abusefilter-history-public",
                "*": "Public filter description"
            },
            {
                "name": "abusefilter-history-select-filter",
                "normalizedname": "abusefilter-history-select-filter",
                "*": "Filter ID:"
            },
            {
                "name": "abusefilter-history-select-legend",
                "normalizedname": "abusefilter-history-select-legend",
                "*": "Refine search"
            },
            {
                "name": "abusefilter-history-select-submit",
                "normalizedname": "abusefilter-history-select-submit",
                "*": "Refine"
            },
            {
                "name": "abusefilter-history-select-user",
                "normalizedname": "abusefilter-history-select-user",
                "*": "User:"
            },
            {
                "name": "abusefilter-history-timestamp",
                "normalizedname": "abusefilter-history-timestamp",
                "*": "Time"
            },
            {
                "name": "abusefilter-history-user",
                "normalizedname": "abusefilter-history-user",
                "*": "User"
            },
            {
                "name": "abusefilter-hitcount",
                "normalizedname": "abusefilter-hitcount",
                "*": "$1 {{PLURAL:$1|hit|hits}}"
            },
            {
                "name": "abusefilter-http-error",
                "normalizedname": "abusefilter-http-error",
                "*": "An HTTP error occurred: $1."
            },
            {
                "name": "abusefilter-import-button",
                "normalizedname": "abusefilter-import-button",
                "*": "Import filter"
            },
            {
                "name": "abusefilter-import-intro",
                "normalizedname": "abusefilter-import-intro",
                "*": "You can use this interface to import filters from other wikis.\nOn the source wiki, click \"{{int:abusefilter-edit-export}}\" under \"{{int:abusefilter-edit-tools}}\" on the editing interface.\nCopy from the textbox that appears, and paste it into this textbox, then click \"{{int:abusefilter-import-submit}}\"."
            },
            {
                "name": "abusefilter-import-invalid-data",
                "normalizedname": "abusefilter-import-invalid-data",
                "*": "The data you tried to import is not valid"
            },
            {
                "name": "abusefilter-import-submit",
                "normalizedname": "abusefilter-import-submit",
                "*": "Import data"
            },
            {
                "name": "abusefilter-intro",
                "normalizedname": "abusefilter-intro",
                "*": "Welcome to the Abuse Filter management interface.\nThe Abuse Filter is an automated software mechanism of applying automatic heuristics to all actions.\nThis interface shows a list of defined filters, and allows them to be modified."
            },
            {
                "name": "abusefilter-invalid-request",
                "normalizedname": "abusefilter-invalid-request",
                "*": "Invalid request! You must access private log details through the form on [[Special:AbuseLog/$1]] and provide a reason."
            },
            {
                "name": "abusefilter-invalid-request-noid",
                "normalizedname": "abusefilter-invalid-request-noid",
                "*": "Invalid request! You must access private log details through the form on the abuse log details page and provide a reason."
            },
            {
                "name": "abusefilter-list",
                "normalizedname": "abusefilter-list",
                "*": "All filters"
            },
            {
                "name": "abusefilter-list-consequences",
                "normalizedname": "abusefilter-list-consequences",
                "*": "Consequences"
            },
            {
                "name": "abusefilter-list-group",
                "normalizedname": "abusefilter-list-group",
                "*": "Filter group"
            },
            {
                "name": "abusefilter-list-hitcount",
                "normalizedname": "abusefilter-list-hitcount",
                "*": "Hit count"
            },
            {
                "name": "abusefilter-list-id",
                "normalizedname": "abusefilter-list-id",
                "*": "Filter ID"
            },
            {
                "name": "abusefilter-list-invalid-searchmode",
                "normalizedname": "abusefilter-list-invalid-searchmode",
                "*": "The specified search mode is not valid."
            },
            {
                "name": "abusefilter-list-lastmodified",
                "normalizedname": "abusefilter-list-lastmodified",
                "*": "Last modified"
            },
            {
                "name": "abusefilter-list-limit",
                "normalizedname": "abusefilter-list-limit",
                "*": "Number per page:"
            },
            {
                "name": "abusefilter-list-options",
                "normalizedname": "abusefilter-list-options",
                "*": "Search options"
            },
            {
                "name": "abusefilter-list-options-deleted",
                "normalizedname": "abusefilter-list-options-deleted",
                "*": "Deleted filters:"
            },
            {
                "name": "abusefilter-list-options-deleted-hide",
                "normalizedname": "abusefilter-list-options-deleted-hide",
                "*": "Hide deleted filters"
            },
            {
                "name": "abusefilter-list-options-deleted-only",
                "normalizedname": "abusefilter-list-options-deleted-only",
                "*": "Show only deleted filters"
            },
            {
                "name": "abusefilter-list-options-deleted-show",
                "normalizedname": "abusefilter-list-options-deleted-show",
                "*": "Include deleted filters"
            },
            {
                "name": "abusefilter-list-options-further-options",
                "normalizedname": "abusefilter-list-options-further-options",
                "*": "Further options:"
            },
            {
                "name": "abusefilter-list-options-hidedisabled",
                "normalizedname": "abusefilter-list-options-hidedisabled",
                "*": "Hide disabled filters"
            },
            {
                "name": "abusefilter-list-options-hideprivate",
                "normalizedname": "abusefilter-list-options-hideprivate",
                "*": "Hide private filters"
            },
            {
                "name": "abusefilter-list-options-scope",
                "normalizedname": "abusefilter-list-options-scope",
                "*": "Show filters:"
            },
            {
                "name": "abusefilter-list-options-scope-all",
                "normalizedname": "abusefilter-list-options-scope-all",
                "*": "Local and global rules"
            },
            {
                "name": "abusefilter-list-options-scope-global",
                "normalizedname": "abusefilter-list-options-scope-global",
                "*": "Global rules only"
            },
            {
                "name": "abusefilter-list-options-scope-local",
                "normalizedname": "abusefilter-list-options-scope-local",
                "*": "Local rules only"
            },
            {
                "name": "abusefilter-list-options-search-irlike",
                "normalizedname": "abusefilter-list-options-search-irlike",
                "*": "Case-insensitive regular expression"
            },
            {
                "name": "abusefilter-list-options-search-like",
                "normalizedname": "abusefilter-list-options-search-like",
                "*": "Plain query"
            },
            {
                "name": "abusefilter-list-options-search-rlike",
                "normalizedname": "abusefilter-list-options-search-rlike",
                "*": "Regular expression"
            },
            {
                "name": "abusefilter-list-options-searchfield",
                "normalizedname": "abusefilter-list-options-searchfield",
                "*": "Search within rules:"
            },
            {
                "name": "abusefilter-list-options-searchoptions",
                "normalizedname": "abusefilter-list-options-searchoptions",
                "*": "Search mode:"
            },
            {
                "name": "abusefilter-list-options-searchpattern",
                "normalizedname": "abusefilter-list-options-searchpattern",
                "*": "Insert a pattern"
            },
            {
                "name": "abusefilter-list-options-submit",
                "normalizedname": "abusefilter-list-options-submit",
                "*": "Update"
            },
            {
                "name": "abusefilter-list-pattern",
                "normalizedname": "abusefilter-list-pattern",
                "*": "Pattern"
            },
            {
                "name": "abusefilter-list-public",
                "normalizedname": "abusefilter-list-public",
                "*": "Public description"
            },
            {
                "name": "abusefilter-list-regexerror",
                "normalizedname": "abusefilter-list-regexerror",
                "*": "An error has occurred while searching: Regular expression syntax error."
            },
            {
                "name": "abusefilter-list-status",
                "normalizedname": "abusefilter-list-status",
                "*": "Status"
            },
            {
                "name": "abusefilter-list-visibility",
                "normalizedname": "abusefilter-list-visibility",
                "*": "Visibility"
            },
            {
                "name": "abusefilter-log-cannot-see-details",
                "normalizedname": "abusefilter-log-cannot-see-details",
                "*": "You do not have permission to see details of this entry."
            },
            {
                "name": "abusefilter-log-cannot-see-privatedetails",
                "normalizedname": "abusefilter-log-cannot-see-privatedetails",
                "*": "You do not have permission to see private details of this entry."
            },
            {
                "name": "abusefilter-log-description-not-available",
                "normalizedname": "abusefilter-log-description-not-available",
                "*": "not available"
            },
            {
                "name": "abusefilter-log-detailedentry-global",
                "normalizedname": "abusefilter-log-detailedentry-global",
                "*": "global filter $1"
            },
            {
                "name": "abusefilter-log-detailedentry-local",
                "normalizedname": "abusefilter-log-detailedentry-local",
                "*": "filter $1"
            },
            {
                "name": "abusefilter-log-detailedentry-meta",
                "normalizedname": "abusefilter-log-detailedentry-meta",
                "*": "$1: $2 {{GENDER:$9|triggered}} $3, {{GENDER:$9|performing}} the action \"$4\" on $5.\nActions taken: $6;\nFilter description: $7 ($8)"
            },
            {
                "name": "abusefilter-log-details-checkuser",
                "normalizedname": "abusefilter-log-details-checkuser",
                "*": "Check user"
            },
            {
                "name": "abusefilter-log-details-diff",
                "normalizedname": "abusefilter-log-details-diff",
                "*": "Changes made in edit"
            },
            {
                "name": "abusefilter-log-details-hidden",
                "normalizedname": "abusefilter-log-details-hidden",
                "*": "You cannot view the details for this entry because it is hidden from public view."
            },
            {
                "name": "abusefilter-log-details-hidden-implicit",
                "normalizedname": "abusefilter-log-details-hidden-implicit",
                "*": "You cannot view the details for this entry because its associated revision is hidden from public view."
            },
            {
                "name": "abusefilter-log-details-id",
                "normalizedname": "abusefilter-log-details-id",
                "*": "Log ID"
            },
            {
                "name": "abusefilter-log-details-ip",
                "normalizedname": "abusefilter-log-details-ip",
                "*": "Originating IP address"
            },
            {
                "name": "abusefilter-log-details-legend",
                "normalizedname": "abusefilter-log-details-legend",
                "*": "Details for log entry $1"
            },
            {
                "name": "abusefilter-log-details-privatedetails",
                "normalizedname": "abusefilter-log-details-privatedetails",
                "*": "Private log details"
            },
            {
                "name": "abusefilter-log-details-val",
                "normalizedname": "abusefilter-log-details-val",
                "*": "Value"
            },
            {
                "name": "abusefilter-log-details-var",
                "normalizedname": "abusefilter-log-details-var",
                "*": "Variable"
            },
            {
                "name": "abusefilter-log-details-vars",
                "normalizedname": "abusefilter-log-details-vars",
                "*": "Action parameters"
            },
            {
                "name": "abusefilter-log-detailslink",
                "normalizedname": "abusefilter-log-detailslink",
                "*": "details"
            },
            {
                "name": "abusefilter-log-diff",
                "normalizedname": "abusefilter-log-diff",
                "*": "diff"
            },
            {
                "name": "abusefilter-log-entry",
                "normalizedname": "abusefilter-log-entry",
                "*": "$1: $2 {{GENDER:$8|triggered}} an abuse filter, {{GENDER:$8|performing}} the action \"$3\" on $4.\nActions taken: $5;\nFilter description: $6"
            },
            {
                "name": "abusefilter-log-entry-suppress",
                "normalizedname": "abusefilter-log-entry-suppress",
                "*": "$1 {{GENDER:$2|hid}} $3"
            },
            {
                "name": "abusefilter-log-entry-unsuppress",
                "normalizedname": "abusefilter-log-entry-unsuppress",
                "*": "$1 {{GENDER:$2|unhid}} $3"
            },
            {
                "name": "abusefilter-log-entry-withdiff",
                "normalizedname": "abusefilter-log-entry-withdiff",
                "*": "$1: $2 {{GENDER:$8|triggered}} an abuse filter, {{GENDER:$8|performing}} the action \"$3\" on $4.\nActions taken: $5;\nFilter description: $6 ($7)"
            },
            {
                "name": "abusefilter-log-header",
                "normalizedname": "abusefilter-log-header",
                "*": "This log shows a summary of changes made to filters.\nFor full details, see [[Special:AbuseFilter/history|the list]] of recent filter changes."
            },
            {
                "name": "abusefilter-log-hidden-implicit",
                "normalizedname": "abusefilter-log-hidden-implicit",
                "*": "(hidden because revision has been deleted)"
            },
            {
                "name": "abusefilter-log-hide-done",
                "normalizedname": "abusefilter-log-hide-done",
                "*": "Visibility updated: $1 {{PLURAL:$1|entry|entries}} $2."
            },
            {
                "name": "abusefilter-log-hide-done-hide",
                "normalizedname": "abusefilter-log-hide-done-hide",
                "*": "{{PLURAL:$1|hidden}}"
            },
            {
                "name": "abusefilter-log-hide-done-show",
                "normalizedname": "abusefilter-log-hide-done-show",
                "*": "{{PLURAL:$1|unhidden}}"
            },
            {
                "name": "abusefilter-log-hide-entries",
                "normalizedname": "abusefilter-log-hide-entries",
                "*": "Change visibility of selected entries"
            },
            {
                "name": "abusefilter-log-hide-forbidden",
                "normalizedname": "abusefilter-log-hide-forbidden",
                "*": "You do not have permission to hide abuse log entries."
            },
            {
                "name": "abusefilter-log-hide-hide",
                "normalizedname": "abusefilter-log-hide-hide",
                "*": "Hide"
            },
            {
                "name": "abusefilter-log-hide-legend",
                "normalizedname": "abusefilter-log-hide-legend",
                "*": "Change visibility"
            },
            {
                "name": "abusefilter-log-hide-no-change",
                "normalizedname": "abusefilter-log-hide-no-change",
                "*": "All of the selected IDs already have the desired visibility."
            },
            {
                "name": "abusefilter-log-hide-no-selected",
                "normalizedname": "abusefilter-log-hide-no-selected",
                "*": "No entries selected"
            },
            {
                "name": "abusefilter-log-hide-reason",
                "normalizedname": "abusefilter-log-hide-reason",
                "*": "Reason:"
            },
            {
                "name": "abusefilter-log-hide-reason-other",
                "normalizedname": "abusefilter-log-hide-reason-other",
                "*": "Other/additional reason:"
            },
            {
                "name": "abusefilter-log-hide-selected",
                "normalizedname": "abusefilter-log-hide-selected",
                "*": "{{PLURAL:$1|Selected AbuseLog entry|Selected AbuseLog entries}}:"
            },
            {
                "name": "abusefilter-log-hide-set-visibility",
                "normalizedname": "abusefilter-log-hide-set-visibility",
                "*": "Set visibility for the selected entries:"
            },
            {
                "name": "abusefilter-log-hide-show",
                "normalizedname": "abusefilter-log-hide-show",
                "*": "Show"
            },
            {
                "name": "abusefilter-log-hidelink",
                "normalizedname": "abusefilter-log-hidelink",
                "*": "adjust visibility"
            },
            {
                "name": "abusefilter-log-invalid-filter",
                "normalizedname": "abusefilter-log-invalid-filter",
                "*": "Some of the specified filter IDs are invalid."
            },
            {
                "name": "abusefilter-log-ip-not-available",
                "normalizedname": "abusefilter-log-ip-not-available",
                "*": "Not Available"
            },
            {
                "name": "abusefilter-log-linkoncontribs",
                "normalizedname": "abusefilter-log-linkoncontribs",
                "*": "abuse log"
            },
            {
                "name": "abusefilter-log-linkoncontribs-text",
                "normalizedname": "abusefilter-log-linkoncontribs-text",
                "*": "Abuse log for {{GENDER:$1|this user}}"
            },
            {
                "name": "abusefilter-log-linkonhistory",
                "normalizedname": "abusefilter-log-linkonhistory",
                "*": "view abuse log"
            },
            {
                "name": "abusefilter-log-linkonhistory-text",
                "normalizedname": "abusefilter-log-linkonhistory-text",
                "*": "View abuse log for this page"
            },
            {
                "name": "abusefilter-log-linkonundelete",
                "normalizedname": "abusefilter-log-linkonundelete",
                "*": "view abuse log"
            },
            {
                "name": "abusefilter-log-linkonundelete-text",
                "normalizedname": "abusefilter-log-linkonundelete-text",
                "*": "View abuse log for this page"
            },
            {
                "name": "abusefilter-log-name",
                "normalizedname": "abusefilter-log-name",
                "*": "Abuse filter log"
            },
            {
                "name": "abusefilter-log-noactions",
                "normalizedname": "abusefilter-log-noactions",
                "*": "none"
            },
            {
                "name": "abusefilter-log-noactions-filter",
                "normalizedname": "abusefilter-log-noactions-filter",
                "*": "None"
            },
            {
                "name": "abusefilter-log-nonexistent",
                "normalizedname": "abusefilter-log-nonexistent",
                "*": "An entry with the provided ID does not exist."
            },
            {
                "name": "abusefilter-log-noresults",
                "normalizedname": "abusefilter-log-noresults",
                "*": "No results"
            },
            {
                "name": "abusefilter-log-private-not-included",
                "normalizedname": "abusefilter-log-private-not-included",
                "*": "One or more of the filter IDs you specified are private. Because you are not allowed to view details of private filters, these filters have not been searched for."
            },
            {
                "name": "abusefilter-log-search",
                "normalizedname": "abusefilter-log-search",
                "*": "Search the abuse log"
            },
            {
                "name": "abusefilter-log-search-action-any",
                "normalizedname": "abusefilter-log-search-action-any",
                "*": "Any"
            },
            {
                "name": "abusefilter-log-search-action-label",
                "normalizedname": "abusefilter-log-search-action-label",
                "*": "Triggering action:"
            },
            {
                "name": "abusefilter-log-search-action-other",
                "normalizedname": "abusefilter-log-search-action-other",
                "*": "Other"
            },
            {
                "name": "abusefilter-log-search-action-taken-any",
                "normalizedname": "abusefilter-log-search-action-taken-any",
                "*": "Any"
            },
            {
                "name": "abusefilter-log-search-action-taken-label",
                "normalizedname": "abusefilter-log-search-action-taken-label",
                "*": "Action taken:"
            },
            {
                "name": "abusefilter-log-search-entries-all",
                "normalizedname": "abusefilter-log-search-entries-all",
                "*": "All entries"
            },
            {
                "name": "abusefilter-log-search-entries-hidden",
                "normalizedname": "abusefilter-log-search-entries-hidden",
                "*": "Hidden entries only"
            },
            {
                "name": "abusefilter-log-search-entries-label",
                "normalizedname": "abusefilter-log-search-entries-label",
                "*": "Visibility:"
            },
            {
                "name": "abusefilter-log-search-entries-visible",
                "normalizedname": "abusefilter-log-search-entries-visible",
                "*": "Visible entries only"
            },
            {
                "name": "abusefilter-log-search-filter",
                "normalizedname": "abusefilter-log-search-filter",
                "*": "Filter IDs:"
            },
            {
                "name": "abusefilter-log-search-filter-help",
                "normalizedname": "abusefilter-log-search-filter-help",
                "*": "Separate with pipes, prefix with \"$1\" for global filters"
            },
            {
                "name": "abusefilter-log-search-filter-help-central",
                "normalizedname": "abusefilter-log-search-filter-help-central",
                "*": "Separate with pipes"
            },
            {
                "name": "abusefilter-log-search-group",
                "normalizedname": "abusefilter-log-search-group",
                "*": "Filter group:"
            },
            {
                "name": "abusefilter-log-search-group-any",
                "normalizedname": "abusefilter-log-search-group-any",
                "*": "Any"
            },
            {
                "name": "abusefilter-log-search-impact",
                "normalizedname": "abusefilter-log-search-impact",
                "*": "Impact:"
            },
            {
                "name": "abusefilter-log-search-impact-all",
                "normalizedname": "abusefilter-log-search-impact-all",
                "*": "All actions"
            },
            {
                "name": "abusefilter-log-search-impact-not-saved",
                "normalizedname": "abusefilter-log-search-impact-not-saved",
                "*": "Without saved changes"
            },
            {
                "name": "abusefilter-log-search-impact-saved",
                "normalizedname": "abusefilter-log-search-impact-saved",
                "*": "Saved changes only"
            },
            {
                "name": "abusefilter-log-search-submit",
                "normalizedname": "abusefilter-log-search-submit",
                "*": "Search"
            },
            {
                "name": "abusefilter-log-search-title",
                "normalizedname": "abusefilter-log-search-title",
                "*": "Title:"
            },
            {
                "name": "abusefilter-log-search-user",
                "normalizedname": "abusefilter-log-search-user",
                "*": "User:"
            },
            {
                "name": "abusefilter-log-search-wiki",
                "normalizedname": "abusefilter-log-search-wiki",
                "*": "Wiki:"
            },
            {
                "name": "abusefilter-log-summary",
                "normalizedname": "abusefilter-log-summary",
                "*": "This log shows a list of all actions caught by the filters."
            },
            {
                "name": "abusefilter-logentry-create",
                "normalizedname": "abusefilter-logentry-create",
                "*": "$1 {{GENDER:$2|created}} $4 ($5)"
            },
            {
                "name": "abusefilter-logentry-modify",
                "normalizedname": "abusefilter-logentry-modify",
                "*": "$1 {{GENDER:$2|modified}} $4 ($5)"
            },
            {
                "name": "abusefilter-mustviewprivateoredit",
                "normalizedname": "abusefilter-mustviewprivateoredit",
                "*": "For security reasons, only users with the right to view private abuse filters or modify filters may use this interface."
            },
            {
                "name": "abusefilter-new",
                "normalizedname": "abusefilter-new",
                "*": "Create a new filter"
            },
            {
                "name": "abusefilter-noreason",
                "normalizedname": "abusefilter-noreason",
                "*": "Warning: To see the private details of this log, you must provide a reason."
            },
            {
                "name": "abusefilter-parser-warning-match-empty-regex",
                "normalizedname": "abusefilter-parser-warning-match-empty-regex",
                "*": "This regular expression matches the empty string, at character $1"
            },
            {
                "name": "abusefilter-reautoconfirm-done",
                "normalizedname": "abusefilter-reautoconfirm-done",
                "*": "Account's autoconfirmed status has been restored"
            },
            {
                "name": "abusefilter-reautoconfirm-none",
                "normalizedname": "abusefilter-reautoconfirm-none",
                "*": "That user has not had {{GENDER:$1|his|her|their}} autoconfirmed status suspended."
            },
            {
                "name": "abusefilter-reautoconfirm-notallowed",
                "normalizedname": "abusefilter-reautoconfirm-notallowed",
                "*": "You are not allowed to restore autoconfirmed status."
            },
            {
                "name": "abusefilter-return",
                "normalizedname": "abusefilter-return",
                "*": "Return to filter management"
            },
            {
                "name": "abusefilter-revert-confirm",
                "normalizedname": "abusefilter-revert-confirm",
                "*": "Confirm"
            },
            {
                "name": "abusefilter-revert-confirm-legend",
                "normalizedname": "abusefilter-revert-confirm-legend",
                "*": "Confirm the revert"
            },
            {
                "name": "abusefilter-revert-filter",
                "normalizedname": "abusefilter-revert-filter",
                "*": "Filter ID:"
            },
            {
                "name": "abusefilter-revert-intro",
                "normalizedname": "abusefilter-revert-intro",
                "*": "This form allows you to revert all changes made by the abuse filter due to filter $1.\nPlease exercise care in using this tool."
            },
            {
                "name": "abusefilter-revert-periodend",
                "normalizedname": "abusefilter-revert-periodend",
                "*": "Period end:"
            },
            {
                "name": "abusefilter-revert-periodstart",
                "normalizedname": "abusefilter-revert-periodstart",
                "*": "Period start:"
            },
            {
                "name": "abusefilter-revert-preview-intro",
                "normalizedname": "abusefilter-revert-preview-intro",
                "*": "Below are the actions taken by the abuse filter that will be reverted by this action.\nPlease check them carefully, and click \"{{int:abusefilter-revert-confirm}}\" to confirm your selection."
            },
            {
                "name": "abusefilter-revert-preview-item",
                "normalizedname": "abusefilter-revert-preview-item",
                "*": "$1: $2 {{GENDER:$7|made}} a $3 on $4.\nActions to be reverted: $5 ($6)"
            },
            {
                "name": "abusefilter-revert-preview-no-results",
                "normalizedname": "abusefilter-revert-preview-no-results",
                "*": "The query did not find any actions that could be reverted."
            },
            {
                "name": "abusefilter-revert-reason",
                "normalizedname": "abusefilter-revert-reason",
                "*": "Automatic revert of all actions taken by the abuse filter due to filter $1.\nReason given: $2"
            },
            {
                "name": "abusefilter-revert-reasonfield",
                "normalizedname": "abusefilter-revert-reasonfield",
                "*": "Reason:"
            },
            {
                "name": "abusefilter-revert-search",
                "normalizedname": "abusefilter-revert-search",
                "*": "Select actions"
            },
            {
                "name": "abusefilter-revert-search-legend",
                "normalizedname": "abusefilter-revert-search-legend",
                "*": "Select abuse filter actions to be reverted"
            },
            {
                "name": "abusefilter-revert-success",
                "normalizedname": "abusefilter-revert-success",
                "*": "You have reverted all actions taken by the abuse filter due to [[Special:AbuseFilter/$1|filter $2]]."
            },
            {
                "name": "abusefilter-revert-title",
                "normalizedname": "abusefilter-revert-title",
                "*": "Revert all changes by filter $1"
            },
            {
                "name": "abusefilter-status",
                "normalizedname": "abusefilter-status",
                "*": "Of the last $1 {{PLURAL:$1|action|actions}}, $2 ($3%) {{PLURAL:$2|has|have}} reached the condition limit of $4, and $5 ($6%) {{PLURAL:$5|has|have}} matched at least one of the filters currently enabled."
            },
            {
                "name": "abusefilter-status-global",
                "normalizedname": "abusefilter-status-global",
                "*": "Global"
            },
            {
                "name": "abusefilter-tag-reserved",
                "normalizedname": "abusefilter-tag-reserved",
                "*": "The <code>abusefilter-condition-limit</code> tag is reserved for internal use by AbuseFilter."
            },
            {
                "name": "abusefilter-test",
                "normalizedname": "abusefilter-test",
                "*": "Test a filter against previous edits"
            },
            {
                "name": "abusefilter-test-action",
                "normalizedname": "abusefilter-test-action",
                "*": "Action type:"
            },
            {
                "name": "abusefilter-test-intro",
                "normalizedname": "abusefilter-test-intro",
                "*": "This page allows you to check a filter entered in the box below against the last $1 {{PLURAL:$1|change|changes}}.\nTo load an existing filter, type its filter ID into the box below the edit textbox, and click the \"{{int:abusefilter-test-load}}\" button."
            },
            {
                "name": "abusefilter-test-legend",
                "normalizedname": "abusefilter-test-legend",
                "*": "Filter testing"
            },
            {
                "name": "abusefilter-test-load",
                "normalizedname": "abusefilter-test-load",
                "*": "Load"
            },
            {
                "name": "abusefilter-test-load-filter",
                "normalizedname": "abusefilter-test-load-filter",
                "*": "Load filter ID:"
            },
            {
                "name": "abusefilter-test-nobots",
                "normalizedname": "abusefilter-test-nobots",
                "*": "Hide bot edits"
            },
            {
                "name": "abusefilter-test-options-section",
                "normalizedname": "abusefilter-test-options-section",
                "*": "Search options"
            },
            {
                "name": "abusefilter-test-page",
                "normalizedname": "abusefilter-test-page",
                "*": "Changes made to page:"
            },
            {
                "name": "abusefilter-test-period-end",
                "normalizedname": "abusefilter-test-period-end",
                "*": "Changes made before:"
            },
            {
                "name": "abusefilter-test-period-start",
                "normalizedname": "abusefilter-test-period-start",
                "*": "Changes made after:"
            },
            {
                "name": "abusefilter-test-rules-section",
                "normalizedname": "abusefilter-test-rules-section",
                "*": "Rules to test"
            },
            {
                "name": "abusefilter-test-search-type-all",
                "normalizedname": "abusefilter-test-search-type-all",
                "*": "All actions"
            },
            {
                "name": "abusefilter-test-search-type-createaccount",
                "normalizedname": "abusefilter-test-search-type-createaccount",
                "*": "Account creations"
            },
            {
                "name": "abusefilter-test-search-type-delete",
                "normalizedname": "abusefilter-test-search-type-delete",
                "*": "Deletions"
            },
            {
                "name": "abusefilter-test-search-type-edit",
                "normalizedname": "abusefilter-test-search-type-edit",
                "*": "Edits"
            },
            {
                "name": "abusefilter-test-search-type-move",
                "normalizedname": "abusefilter-test-search-type-move",
                "*": "Moves"
            },
            {
                "name": "abusefilter-test-search-type-upload",
                "normalizedname": "abusefilter-test-search-type-upload",
                "*": "Uploads"
            },
            {
                "name": "abusefilter-test-shownegative",
                "normalizedname": "abusefilter-test-shownegative",
                "*": "Show changes that do not match the filter"
            },
            {
                "name": "abusefilter-test-submit",
                "normalizedname": "abusefilter-test-submit",
                "*": "Test"
            },
            {
                "name": "abusefilter-test-syntaxerr",
                "normalizedname": "abusefilter-test-syntaxerr",
                "*": "The filter you entered contained a syntax error.\nYou can receive a full explanation by clicking the \"{{int:abusefilter-edit-check}}\" button."
            },
            {
                "name": "abusefilter-test-user",
                "normalizedname": "abusefilter-test-user",
                "*": "Changes by user:"
            },
            {
                "name": "abusefilter-throttle-creationdate",
                "normalizedname": "abusefilter-throttle-creationdate",
                "*": "account creation date"
            },
            {
                "name": "abusefilter-throttle-details",
                "normalizedname": "abusefilter-throttle-details",
                "*": "Allow $1 {{PLURAL:$1|action|actions}} every $2 {{PLURAL:$2|second|seconds}}, group throttle by: $3"
            },
            {
                "name": "abusefilter-throttle-editcount",
                "normalizedname": "abusefilter-throttle-editcount",
                "*": "edit count"
            },
            {
                "name": "abusefilter-throttle-ip",
                "normalizedname": "abusefilter-throttle-ip",
                "*": "IP address"
            },
            {
                "name": "abusefilter-throttle-none",
                "normalizedname": "abusefilter-throttle-none",
                "*": "(none)"
            },
            {
                "name": "abusefilter-throttle-page",
                "normalizedname": "abusefilter-throttle-page",
                "*": "page"
            },
            {
                "name": "abusefilter-throttle-range",
                "normalizedname": "abusefilter-throttle-range",
                "*": "IP range"
            },
            {
                "name": "abusefilter-throttle-site",
                "normalizedname": "abusefilter-throttle-site",
                "*": "whole site"
            },
            {
                "name": "abusefilter-throttle-user",
                "normalizedname": "abusefilter-throttle-user",
                "*": "user account"
            },
            {
                "name": "abusefilter-throttled",
                "normalizedname": "abusefilter-throttled",
                "*": "High rate of matches"
            },
            {
                "name": "abusefilter-tools-expr",
                "normalizedname": "abusefilter-tools-expr",
                "*": "Expression tester"
            },
            {
                "name": "abusefilter-tools-reautoconfirm",
                "normalizedname": "abusefilter-tools-reautoconfirm",
                "*": "Restore autoconfirmed status"
            },
            {
                "name": "abusefilter-tools-reautoconfirm-submit",
                "normalizedname": "abusefilter-tools-reautoconfirm-submit",
                "*": "Re-autoconfirm"
            },
            {
                "name": "abusefilter-tools-reautoconfirm-user",
                "normalizedname": "abusefilter-tools-reautoconfirm-user",
                "*": "User:"
            },
            {
                "name": "abusefilter-tools-restoreautopromote",
                "normalizedname": "abusefilter-tools-restoreautopromote",
                "*": "Autopromotion restored via AbuseFilter tools."
            },
            {
                "name": "abusefilter-tools-submitexpr",
                "normalizedname": "abusefilter-tools-submitexpr",
                "*": "Evaluate"
            },
            {
                "name": "abusefilter-tools-syntax-error",
                "normalizedname": "abusefilter-tools-syntax-error",
                "*": "The filter has invalid syntax."
            },
            {
                "name": "abusefilter-tools-text",
                "normalizedname": "abusefilter-tools-text",
                "*": "Here are some tools which may be useful in formulating and debugging abuse filters."
            },
            {
                "name": "abusefilter-topnav",
                "normalizedname": "abusefilter-topnav",
                "*": "'''Abuse Filter navigation'''"
            },
            {
                "name": "abusefilter-topnav-examine",
                "normalizedname": "abusefilter-topnav-examine",
                "*": "Examine past edits"
            },
            {
                "name": "abusefilter-topnav-home",
                "normalizedname": "abusefilter-topnav-home",
                "*": "Home"
            },
            {
                "name": "abusefilter-topnav-log",
                "normalizedname": "abusefilter-topnav-log",
                "*": "Abuse log"
            },
            {
                "name": "abusefilter-topnav-recentchanges",
                "normalizedname": "abusefilter-topnav-recentchanges",
                "*": "Recent filter changes"
            },
            {
                "name": "abusefilter-topnav-test",
                "normalizedname": "abusefilter-topnav-test",
                "*": "Batch testing"
            },
            {
                "name": "abusefilter-topnav-tools",
                "normalizedname": "abusefilter-topnav-tools",
                "*": "Debugging tools"
            },
            {
                "name": "abusefilter-unhidden",
                "normalizedname": "abusefilter-unhidden",
                "*": "Public"
            },
            {
                "name": "abusefilter-view-privatedetails-legend",
                "normalizedname": "abusefilter-view-privatedetails-legend",
                "*": "View private details"
            },
            {
                "name": "abusefilter-view-privatedetails-reason",
                "normalizedname": "abusefilter-view-privatedetails-reason",
                "*": "Reason for accessing private details:"
            },
            {
                "name": "abusefilter-view-privatedetails-submit",
                "normalizedname": "abusefilter-view-privatedetails-submit",
                "*": "View private details"
            },
            {
                "name": "abusefilter-warning",
                "normalizedname": "abusefilter-warning",
                "*": "'''Warning:''' This action has been automatically identified as harmful.\nUnconstructive actions will be quickly reverted,\nand egregious or repeated unconstructive editing will result in your account or IP address being blocked.\nIf you believe this action to be constructive, you may submit it again to confirm it.\nA brief description of the abuse rule which your action matched is: $1"
            },
            {
                "name": "abusefilterprivatedetails-log-name",
                "normalizedname": "abusefilterprivatedetails-log-name",
                "*": "AbuseFilter private details access log"
            },
            {
                "name": "abuselog",
                "normalizedname": "abuselog",
                "*": "Abuse filter log"
            },
            {
                "name": "accesskey-blockip-block",
                "normalizedname": "accesskey-blockip-block",
                "*": "s"
            },
            {
                "name": "accesskey-ca-addsection",
                "normalizedname": "accesskey-ca-addsection",
                "*": "+"
            },
            {
                "name": "accesskey-ca-create",
                "normalizedname": "accesskey-ca-create",
                "*": "e"
            },
            {
                "name": "accesskey-ca-create-local",
                "normalizedname": "accesskey-ca-create-local",
                "*": "e"
            },
            {
                "name": "accesskey-ca-createsource",
                "normalizedname": "accesskey-ca-createsource",
                "*": "e"
            },
            {
                "name": "accesskey-ca-createsource-local",
                "normalizedname": "accesskey-ca-createsource-local",
                "*": "e"
            },
            {
                "name": "accesskey-ca-delete",
                "normalizedname": "accesskey-ca-delete",
                "*": "d"
            },
            {
                "name": "accesskey-ca-edit",
                "normalizedname": "accesskey-ca-edit",
                "*": "e"
            },
            {
                "name": "accesskey-ca-edit-local",
                "normalizedname": "accesskey-ca-edit-local",
                "*": "e"
            },
            {
                "name": "accesskey-ca-editsource",
                "normalizedname": "accesskey-ca-editsource",
                "*": "e"
            },
            {
                "name": "accesskey-ca-editsource-local",
                "normalizedname": "accesskey-ca-editsource-local",
                "*": "e"
            },
            {
                "name": "accesskey-ca-history",
                "normalizedname": "accesskey-ca-history",
                "*": "h"
            },
            {
                "name": "accesskey-ca-move",
                "normalizedname": "accesskey-ca-move",
                "*": "m"
            },
            {
                "name": "accesskey-ca-nstab",
                "normalizedname": "accesskey-ca-nstab",
                "*": "c"
            },
            {
                "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",
                "*": "c"
            },
            {
                "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-unwatch-expiring",
                "normalizedname": "accesskey-ca-unwatch-expiring",
                "*": "w"
            },
            {
                "name": "accesskey-ca-unwatch-expiring-hours",
                "normalizedname": "accesskey-ca-unwatch-expiring-hours",
                "*": "w"
            },
            {
                "name": "accesskey-ca-ve-create",
                "normalizedname": "accesskey-ca-ve-create",
                "*": "v"
            },
            {
                "name": "accesskey-ca-ve-create-local",
                "normalizedname": "accesskey-ca-ve-create-local",
                "*": "v"
            },
            {
                "name": "accesskey-ca-ve-edit",
                "normalizedname": "accesskey-ca-ve-edit",
                "*": "v"
            },
            {
                "name": "accesskey-ca-ve-edit-local",
                "normalizedname": "accesskey-ca-ve-edit-local",
                "*": "v"
            },
            {
                "name": "accesskey-ca-view",
                "normalizedname": "accesskey-ca-view",
                "*": ""
            },
            {
                "name": "accesskey-ca-viewsource",
                "normalizedname": "accesskey-ca-viewsource",
                "*": "e"
            },
            {
                "name": "accesskey-ca-watch",
                "normalizedname": "accesskey-ca-watch",
                "*": "w"
            },
            {
                "name": "accesskey-cancel-upload-campaign",
                "normalizedname": "accesskey-cancel-upload-campaign",
                "*": "c"
            },
            {
                "name": "accesskey-citethispage",
                "normalizedname": "accesskey-citethispage",
                "*": ""
            },
            {
                "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-help-mediawiki",
                "normalizedname": "accesskey-n-help-mediawiki",
                "*": ""
            },
            {
                "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-save-upload-campaign",
                "normalizedname": "accesskey-save-upload-campaign",
                "*": "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-watchlist-expiry",
                "normalizedname": "accesskey-watchlist-expiry",
                "*": ""
            },
            {
                "name": "accesskey-watchlistedit-normal-submit",
                "normalizedname": "accesskey-watchlistedit-normal-submit",
                "*": "s"
            },
            {
                "name": "accesskey-watchlistedit-raw-submit",
                "normalizedname": "accesskey-watchlistedit-raw-submit",
                "*": "s"
            },
            {
                "name": "accesskey-wikieditor-realtimepreview",
                "normalizedname": "accesskey-wikieditor-realtimepreview",
                "*": ")"
            },
            {
                "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-abusefilter-bypass-blocked-external-domains",
                "normalizedname": "action-abusefilter-bypass-blocked-external-domains",
                "*": "bypass blocked external domain"
            },
            {
                "name": "action-abusefilter-hidden-log",
                "normalizedname": "action-abusefilter-hidden-log",
                "*": "view hidden abuse log entries"
            },
            {
                "name": "action-abusefilter-hide-log",
                "normalizedname": "action-abusefilter-hide-log",
                "*": "hide entries in the abuse log"
            },
            {
                "name": "action-abusefilter-log",
                "normalizedname": "action-abusefilter-log",
                "*": "view the abuse log"
            },
            {
                "name": "action-abusefilter-log-detail",
                "normalizedname": "action-abusefilter-log-detail",
                "*": "view detailed abuse log entries"
            },
            {
                "name": "action-abusefilter-log-private",
                "normalizedname": "action-abusefilter-log-private",
                "*": "view logs of abuse filters marked as private"
            },
            {
                "name": "action-abusefilter-modify",
                "normalizedname": "action-abusefilter-modify",
                "*": "modify abuse filters"
            },
            {
                "name": "action-abusefilter-modify-blocked-external-domains",
                "normalizedname": "action-abusefilter-modify-blocked-external-domains",
                "*": "create or modify what external domains are blocked from being linked"
            },
            {
                "name": "action-abusefilter-modify-global",
                "normalizedname": "action-abusefilter-modify-global",
                "*": "create or modify global abuse filters"
            },
            {
                "name": "action-abusefilter-modify-restricted",
                "normalizedname": "action-abusefilter-modify-restricted",
                "*": "modify abuse filters with restricted actions"
            },
            {
                "name": "action-abusefilter-privatedetails",
                "normalizedname": "action-abusefilter-privatedetails",
                "*": "view private data in the abuse log"
            },
            {
                "name": "action-abusefilter-privatedetails-log",
                "normalizedname": "action-abusefilter-privatedetails-log",
                "*": "view the AbuseFilter private details access log"
            },
            {
                "name": "action-abusefilter-revert",
                "normalizedname": "action-abusefilter-revert",
                "*": "revert all changes by a given abuse filter"
            },
            {
                "name": "action-abusefilter-view",
                "normalizedname": "action-abusefilter-view",
                "*": "view abuse filters"
            },
            {
                "name": "action-abusefilter-view-private",
                "normalizedname": "action-abusefilter-view-private",
                "*": "view abuse filters marked as private"
            },
            {
                "name": "action-apihighlimits",
                "normalizedname": "action-apihighlimits",
                "*": "use higher limits in API queries"
            },
            {
                "name": "action-applychangetags",
                "normalizedname": "action-applychangetags",
                "*": "apply tags along with your changes"
            },
            {
                "name": "action-autoconfirmed",
                "normalizedname": "action-autoconfirmed",
                "*": "not be affected by IP-based rate limits"
            },
            {
                "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-bigdelete",
                "normalizedname": "action-bigdelete",
                "*": "delete pages with large histories"
            },
            {
                "name": "action-block",
                "normalizedname": "action-block",
                "*": "block or unblock this user from editing"
            },
            {
                "name": "action-blockemail",
                "normalizedname": "action-blockemail",
                "*": "block or unblock a user from sending email"
            },
            {
                "name": "action-bot",
                "normalizedname": "action-bot",
                "*": "be treated as an automated process"
            },
            {
                "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-delete-redirect",
                "normalizedname": "action-delete-redirect",
                "*": "overwrite single revision redirects"
            },
            {
                "name": "action-deletechangetags",
                "normalizedname": "action-deletechangetags",
                "*": "delete tags from the database"
            },
            {
                "name": "action-deletedhistory",
                "normalizedname": "action-deletedhistory",
                "*": "view metadata of deleted history entries"
            },
            {
                "name": "action-deletedtext",
                "normalizedname": "action-deletedtext",
                "*": "view deleted text or changes between deleted revisions"
            },
            {
                "name": "action-deletelogentry",
                "normalizedname": "action-deletelogentry",
                "*": "delete or undelete specific log entries"
            },
            {
                "name": "action-deleterevision",
                "normalizedname": "action-deleterevision",
                "*": "delete or undelete specific revisions of pages"
            },
            {
                "name": "action-dpl_param_delete_rules",
                "normalizedname": "action-dpl_param_delete_rules",
                "*": "to use the parameter 'deleterules'"
            },
            {
                "name": "action-dpl_param_update_rules",
                "normalizedname": "action-dpl_param_update_rules",
                "*": "to use the parameter 'updaterules'"
            },
            {
                "name": "action-edit",
                "normalizedname": "action-edit",
                "*": "edit this page"
            },
            {
                "name": "action-editcontentmodel",
                "normalizedname": "action-editcontentmodel",
                "*": "edit the content model of a page"
            },
            {
                "name": "action-editinterface",
                "normalizedname": "action-editinterface",
                "*": "edit the user interface"
            },
            {
                "name": "action-editmyoptions",
                "normalizedname": "action-editmyoptions",
                "*": "edit your preferences"
            },
            {
                "name": "action-editmyprivateinfo",
                "normalizedname": "action-editmyprivateinfo",
                "*": "edit your private information"
            },
            {
                "name": "action-editmyusercss",
                "normalizedname": "action-editmyusercss",
                "*": "edit your own user CSS files"
            },
            {
                "name": "action-editmyuserjs",
                "normalizedname": "action-editmyuserjs",
                "*": "edit your own user JavaScript files"
            },
            {
                "name": "action-editmyuserjson",
                "normalizedname": "action-editmyuserjson",
                "*": "edit your own user JSON files"
            },
            {
                "name": "action-editmyuserjsredirect",
                "normalizedname": "action-editmyuserjsredirect",
                "*": "edit your own user JavaScript files that are redirects"
            },
            {
                "name": "action-editmywatchlist",
                "normalizedname": "action-editmywatchlist",
                "*": "edit your watchlist"
            },
            {
                "name": "action-editprotected",
                "normalizedname": "action-editprotected",
                "*": "edit pages protected as \"{{int:protect-level-sysop}}\""
            },
            {
                "name": "action-editsemiprotected",
                "normalizedname": "action-editsemiprotected",
                "*": "edit pages protected as \"{{int:protect-level-autoconfirmed}}\""
            },
            {
                "name": "action-editsitecss",
                "normalizedname": "action-editsitecss",
                "*": "edit sitewide CSS"
            },
            {
                "name": "action-editsitejs",
                "normalizedname": "action-editsitejs",
                "*": "edit sitewide JavaScript"
            },
            {
                "name": "action-editsitejson",
                "normalizedname": "action-editsitejson",
                "*": "edit sitewide JSON"
            },
            {
                "name": "action-editusercss",
                "normalizedname": "action-editusercss",
                "*": "edit other users' CSS files"
            },
            {
                "name": "action-edituserjs",
                "normalizedname": "action-edituserjs",
                "*": "edit other users' JavaScript files"
            },
            {
                "name": "action-edituserjson",
                "normalizedname": "action-edituserjson",
                "*": "edit other users' JSON files"
            },
            {
                "name": "action-gadgets-definition-edit",
                "normalizedname": "action-gadgets-definition-edit",
                "*": "edit this gadget definition"
            },
            {
                "name": "action-gadgets-edit",
                "normalizedname": "action-gadgets-edit",
                "*": "edit this gadget JavaScript or CSS page"
            },
            {
                "name": "action-hideuser",
                "normalizedname": "action-hideuser",
                "*": "block or unblock a username, hiding or unhiding it from the public"
            },
            {
                "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-interwiki",
                "normalizedname": "action-interwiki",
                "*": "change this interwiki entry"
            },
            {
                "name": "action-ipblock-exempt",
                "normalizedname": "action-ipblock-exempt",
                "*": "bypass IP blocks, auto-blocks and range blocks"
            },
            {
                "name": "action-jsonconfig-flush",
                "normalizedname": "action-jsonconfig-flush",
                "*": "manipulate JsonConfig via API"
            },
            {
                "name": "action-linktitles-batch",
                "normalizedname": "action-linktitles-batch",
                "*": "perform a LinkTitles batch operation"
            },
            {
                "name": "action-manage-all-push-subscriptions",
                "normalizedname": "action-manage-all-push-subscriptions",
                "*": "manage all push subscriptions"
            },
            {
                "name": "action-managechangetags",
                "normalizedname": "action-managechangetags",
                "*": "create and (de)activate tags"
            },
            {
                "name": "action-markbotedits",
                "normalizedname": "action-markbotedits",
                "*": "mark rolled-back edits as bot edits"
            },
            {
                "name": "action-mass-upload",
                "normalizedname": "action-mass-upload",
                "*": "batch-upload more files at once with Upload Wizard"
            },
            {
                "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-nominornewtalk",
                "normalizedname": "action-nominornewtalk",
                "*": "not have minor edits to discussion pages trigger the new messages prompt"
            },
            {
                "name": "action-noratelimit",
                "normalizedname": "action-noratelimit",
                "*": "not be affected by rate limits"
            },
            {
                "name": "action-nuke",
                "normalizedname": "action-nuke",
                "*": "nuke pages"
            },
            {
                "name": "action-oathauth-api-all",
                "normalizedname": "action-oathauth-api-all",
                "*": "check OATH status"
            },
            {
                "name": "action-oathauth-disable-for-user",
                "normalizedname": "action-oathauth-disable-for-user",
                "*": "disable two-factor authentication for a user"
            },
            {
                "name": "action-oathauth-enable",
                "normalizedname": "action-oathauth-enable",
                "*": "enable two-factor authentication"
            },
            {
                "name": "action-oathauth-verify-user",
                "normalizedname": "action-oathauth-verify-user",
                "*": "verify whether a user has two-factor authentication enabled"
            },
            {
                "name": "action-oathauth-view-log",
                "normalizedname": "action-oathauth-view-log",
                "*": "access the log of two-factor authentication changes"
            },
            {
                "name": "action-override-export-depth",
                "normalizedname": "action-override-export-depth",
                "*": "export pages including linked pages up to a depth of 5"
            },
            {
                "name": "action-pagelang",
                "normalizedname": "action-pagelang",
                "*": "change the page language"
            },
            {
                "name": "action-patrol",
                "normalizedname": "action-patrol",
                "*": "mark others' edits as patrolled"
            },
            {
                "name": "action-patrolmarks",
                "normalizedname": "action-patrolmarks",
                "*": "view recent changes patrol marks"
            },
            {
                "name": "action-protect",
                "normalizedname": "action-protect",
                "*": "change protection settings for this page"
            },
            {
                "name": "action-purge",
                "normalizedname": "action-purge",
                "*": "purge this page"
            },
            {
                "name": "action-read",
                "normalizedname": "action-read",
                "*": "read this page"
            },
            {
                "name": "action-renameuser",
                "normalizedname": "action-renameuser",
                "*": "rename users"
            },
            {
                "name": "action-replacetext",
                "normalizedname": "action-replacetext",
                "*": "make string replacements on the entire wiki"
            },
            {
                "name": "action-reupload",
                "normalizedname": "action-reupload",
                "*": "overwrite this existing file"
            },
            {
                "name": "action-reupload-own",
                "normalizedname": "action-reupload-own",
                "*": "overwrite existing files uploaded by oneself"
            },
            {
                "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-sboverride",
                "normalizedname": "action-sboverride",
                "*": "bypass the spam block list"
            },
            {
                "name": "action-sendemail",
                "normalizedname": "action-sendemail",
                "*": "send emails"
            },
            {
                "name": "action-siteadmin",
                "normalizedname": "action-siteadmin",
                "*": "lock or unlock the database"
            },
            {
                "name": "action-skipcaptcha",
                "normalizedname": "action-skipcaptcha",
                "*": "perform CAPTCHA-triggering actions without having to go through the CAPTCHA"
            },
            {
                "name": "action-smw-admin",
                "normalizedname": "action-smw-admin",
                "*": "access Semantic MediaWiki administration tasks"
            },
            {
                "name": "action-smw-pageedit",
                "normalizedname": "action-smw-pageedit",
                "*": "edit pages annotated with <code>Is edit protected</code> (Semantic MediaWiki)"
            },
            {
                "name": "action-smw-patternedit",
                "normalizedname": "action-smw-patternedit",
                "*": "edit regular expressions used by Semantic MediaWiki"
            },
            {
                "name": "action-smw-ruleedit",
                "normalizedname": "action-smw-ruleedit",
                "*": "edit rule pages (Semantic MediaWiki)"
            },
            {
                "name": "action-spamblacklistlog",
                "normalizedname": "action-spamblacklistlog",
                "*": "view the spam block list log"
            },
            {
                "name": "action-suppressionlog",
                "normalizedname": "action-suppressionlog",
                "*": "view this private log"
            },
            {
                "name": "action-suppressredirect",
                "normalizedname": "action-suppressredirect",
                "*": "not create redirects from source pages when moving pages"
            },
            {
                "name": "action-suppressrevision",
                "normalizedname": "action-suppressrevision",
                "*": "view, hide or unhide specific revisions of pages from any user"
            },
            {
                "name": "action-tboverride",
                "normalizedname": "action-tboverride",
                "*": "override the disallowed titles or usernames list"
            },
            {
                "name": "action-tboverride-account",
                "normalizedname": "action-tboverride-account",
                "*": "override the disallowed usernames list"
            },
            {
                "name": "action-titleblacklistlog",
                "normalizedname": "action-titleblacklistlog",
                "*": "view the disallowed titles list log"
            },
            {
                "name": "action-unblockself",
                "normalizedname": "action-unblockself",
                "*": "unblock oneself"
            },
            {
                "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-upwizcampaigns",
                "normalizedname": "action-upwizcampaigns",
                "*": "configure upload campaigns"
            },
            {
                "name": "action-usermerge",
                "normalizedname": "action-usermerge",
                "*": "merge users"
            },
            {
                "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-viewsuppressed",
                "normalizedname": "action-viewsuppressed",
                "*": "view revisions hidden from any user"
            },
            {
                "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": "addedwatchexpiry-options-label",
                "normalizedname": "addedwatchexpiry-options-label",
                "*": "Watchlist time period:"
            },
            {
                "name": "addedwatchexpiryhours",
                "normalizedname": "addedwatchexpiryhours",
                "*": "\"[[:$1]]\" and its discussion page have been added to your [[Special:Watchlist|watchlist]] for a few hours."
            },
            {
                "name": "addedwatchexpiryhours-talk",
                "normalizedname": "addedwatchexpiryhours-talk",
                "*": "\"[[:$1]]\" and its associated page have been added to your [[Special:Watchlist|watchlist]] for a few hours."
            },
            {
                "name": "addedwatchexpirytext",
                "normalizedname": "addedwatchexpirytext",
                "*": "\"[[:$1]]\" and its discussion page have been added to your [[Special:Watchlist|watchlist]] for $2."
            },
            {
                "name": "addedwatchexpirytext-talk",
                "normalizedname": "addedwatchexpirytext-talk",
                "*": "\"[[:$1]]\" and its associated page have been added to your [[Special:Watchlist|watchlist]] for $2."
            },
            {
                "name": "addedwatchindefinitelytext",
                "normalizedname": "addedwatchindefinitelytext",
                "*": "\"[[:$1]]\" and its discussion page have been added to your [[Special:Watchlist|watchlist]] permanently."
            },
            {
                "name": "addedwatchindefinitelytext-talk",
                "normalizedname": "addedwatchindefinitelytext-talk",
                "*": "\"[[:$1]]\" and its associated page have been added to your [[Special:Watchlist|watchlist]] permanently."
            },
            {
                "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": "allinfoboxes",
                "normalizedname": "allinfoboxes",
                "*": "All Infoboxes"
            },
            {
                "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",
                "*": "Filter"
            },
            {
                "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-not-supported-database",
                "normalizedname": "allmessages-not-supported-database",
                "*": "This page cannot be used because <strong>$wgUseDatabaseMessages</strong> has been disabled."
            },
            {
                "name": "allmessages-prefix",
                "normalizedname": "allmessages-prefix",
                "*": "Filter by prefix:"
            },
            {
                "name": "allmessages-unknown-language",
                "normalizedname": "allmessages-unknown-language",
                "*": "The language code <code>$1</code> is unknown."
            },
            {
                "name": "allmessagescurrent",
                "normalizedname": "allmessagescurrent",
                "*": "Current message text"
            },
            {
                "name": "allmessagesdefault",
                "normalizedname": "allmessagesdefault",
                "*": "Default message text"
            },
            {
                "name": "allmessagesname",
                "normalizedname": "allmessagesname",
                "*": "Name"
            },
            {
                "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 the 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. Publishing 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 them.\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-clientside-error-aborted",
                "normalizedname": "api-clientside-error-aborted",
                "*": "The request was aborted."
            },
            {
                "name": "api-clientside-error-http",
                "normalizedname": "api-clientside-error-http",
                "*": "Server returned error: HTTP $1."
            },
            {
                "name": "api-clientside-error-invalidresponse",
                "normalizedname": "api-clientside-error-invalidresponse",
                "*": "Invalid response from server."
            },
            {
                "name": "api-clientside-error-noconnect",
                "normalizedname": "api-clientside-error-noconnect",
                "*": "Could not connect to the server. Make sure you have a working internet connection and try again."
            },
            {
                "name": "api-clientside-error-timeout",
                "normalizedname": "api-clientside-error-timeout",
                "*": "The server did not respond within the expected time."
            },
            {
                "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\u20132020)\n\nPlease send your comments, suggestions and questions to [email protected]\nor file a bug report at https://phabricator.wikimedia.org/."
            },
            {
                "name": "api-credits-header",
                "normalizedname": "api-credits-header",
                "*": "Credits"
            },
            {
                "name": "api-error-aborted",
                "normalizedname": "api-error-aborted",
                "*": "Upload aborted."
            },
            {
                "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-noimageinfo",
                "normalizedname": "api-error-noimageinfo",
                "*": "The upload succeeded, but the server did not give us any information about the file."
            },
            {
                "name": "api-error-parsererror",
                "normalizedname": "api-error-parsererror",
                "*": "The server responded with an invalid JSON document. This could be a problem with the API, or you could be using a proxy server that prevents you from uploading files."
            },
            {
                "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-datatype-boolean",
                "normalizedname": "api-help-datatype-boolean",
                "*": "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."
            },
            {
                "name": "api-help-datatype-expiry",
                "normalizedname": "api-help-datatype-expiry",
                "*": "Expiry values 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>). For no expiry, use <kbd>infinite</kbd>, <kbd>indefinite</kbd>, <kbd>infinity</kbd> or <kbd>never</kbd>."
            },
            {
                "name": "api-help-datatype-timestamp",
                "normalizedname": "api-help-datatype-timestamp",
                "*": "Timestamps may be specified in several formats, see [[mw:Special:MyLanguage/Timestamp|the Timestamp library input formats documented on mediawiki.org]] for details. ISO 8601 date and time is recommended: <kbd><var>2001</var>-<var>01</var>-<var>15</var>T<var>14</var>:<var>56</var>:<var>00</var>Z</kbd>. Additionally, the string <kbd>now</kbd> may be used to specify the current timestamp."
            },
            {
                "name": "api-help-datatypes-header",
                "normalizedname": "api-help-datatypes-header",
                "*": "Data types"
            },
            {
                "name": "api-help-datatypes-top",
                "normalizedname": "api-help-datatypes-top",
                "*": "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\nParameters 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>.\n\nSome parameter types in API requests need further explanation:"
            },
            {
                "name": "api-help-examples",
                "normalizedname": "api-help-examples",
                "*": "{{PLURAL:$1|Example|Examples}}:"
            },
            {
                "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/Special:MyLanguage/API:Main_page"
            },
            {
                "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. More detailed information on how to continue queries [[mw:Special:MyLanguage/API:Continue|can be found on mediawiki.org]]."
            },
            {
                "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-deprecated-label",
                "normalizedname": "api-help-param-deprecated-label",
                "*": "deprecated"
            },
            {
                "name": "api-help-param-direction",
                "normalizedname": "api-help-param-direction",
                "*": "In which direction to enumerate:"
            },
            {
                "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-internal",
                "normalizedname": "api-help-param-internal",
                "*": "Internal."
            },
            {
                "name": "api-help-param-internal-label",
                "normalizedname": "api-help-param-internal-label",
                "*": "internal"
            },
            {
                "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-multi-all",
                "normalizedname": "api-help-param-multi-all",
                "*": "To specify all values, use <kbd>$1</kbd>."
            },
            {
                "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-templated",
                "normalizedname": "api-help-param-templated",
                "*": "This is a [[Special:ApiHelp/main#main/templatedparams|templated parameter]]. When making the request, $2."
            },
            {
                "name": "api-help-param-templated-var",
                "normalizedname": "api-help-param-templated-var",
                "*": "<var>&#x7B;$1&#x7D;</var> with values of <var>$2</var>"
            },
            {
                "name": "api-help-param-templated-var-first",
                "normalizedname": "api-help-param-templated-var-first",
                "*": "<var>&#x7B;$1&#x7D;</var> in the parameter's name should be replaced with values of <var>$2</var>"
            },
            {
                "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-enum",
                "normalizedname": "api-help-param-type-enum",
                "*": "{{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-type-expiry",
                "normalizedname": "api-help-param-type-expiry",
                "*": "Type: {{PLURAL:$1|1=expiry|2=list of expiries}} ([[Special:ApiHelp/main#main/datatype/expiry|details]])"
            },
            {
                "name": "api-help-param-type-limit",
                "normalizedname": "api-help-param-type-limit",
                "*": "Type: integer or <kbd>max</kbd>"
            },
            {
                "name": "api-help-param-type-presenceboolean",
                "normalizedname": "api-help-param-type-presenceboolean",
                "*": "Type: boolean ([[Special:ApiHelp/main#main/datatype/boolean|details]])"
            },
            {
                "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/datatype/timestamp|allowed formats]])"
            },
            {
                "name": "api-help-parameters",
                "normalizedname": "api-help-parameters",
                "*": "{{PLURAL:$1|Specific parameter|Specific parameters}}:"
            },
            {
                "name": "api-help-parameters-note",
                "normalizedname": "api-help-parameters-note",
                "*": "Other general parameters are available."
            },
            {
                "name": "api-help-paramvalue-direction-newer",
                "normalizedname": "api-help-paramvalue-direction-newer",
                "*": "List oldest first. Note: $1start has to be before $1end."
            },
            {
                "name": "api-help-paramvalue-direction-older",
                "normalizedname": "api-help-paramvalue-direction-older",
                "*": "List newest first (default). Note: $1start has to be later than $1end."
            },
            {
                "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-templatedparams",
                "normalizedname": "api-help-templatedparams",
                "*": "Templated parameters support cases where an API module needs a value for each value of some other parameter. For example, if there were an API module to request fruit, it might have a parameter <var>fruits</var> to specify which fruits are being requested and a templated parameter <var>{fruit}-quantity</var> to specify how many of each fruit to request. An API client that wants 1 apple, 5 bananas, and 20 strawberries could then make a request like <kbd>fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20</kbd>."
            },
            {
                "name": "api-help-templatedparams-header",
                "normalizedname": "api-help-templatedparams-header",
                "*": "Templated parameters"
            },
            {
                "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. Note that almost all query modules will convert revision IDs to the corresponding page ID and work on the latest revision instead. Only <kbd>prop=revisions</kbd> uses exact revisions for its response."
            },
            {
                "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/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/&gt; for notice of API deprecations and breaking changes."
            },
            {
                "name": "apierror-abusefilter-badsyntax",
                "normalizedname": "apierror-abusefilter-badsyntax",
                "*": "The filter has invalid syntax."
            },
            {
                "name": "apierror-abusefilter-cantcheck",
                "normalizedname": "apierror-abusefilter-cantcheck",
                "*": "You don't have permission to check syntax of abuse filters."
            },
            {
                "name": "apierror-abusefilter-canteval",
                "normalizedname": "apierror-abusefilter-canteval",
                "*": "You don't have permission to evaluate AbuseFilter expressions."
            },
            {
                "name": "apierror-abusefilter-canttest",
                "normalizedname": "apierror-abusefilter-canttest",
                "*": "You don't have permission to test abuse filters."
            },
            {
                "name": "apierror-abusefilter-nosuchlogid",
                "normalizedname": "apierror-abusefilter-nosuchlogid",
                "*": "There is no abuselog entry with the id $1."
            },
            {
                "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-alreadyregistered",
                "normalizedname": "apierror-alreadyregistered",
                "*": "You already have a user account."
            },
            {
                "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-assertanonfailed",
                "normalizedname": "apierror-assertanonfailed",
                "*": "You are no longer logged out, so the action could not be completed."
            },
            {
                "name": "apierror-assertbotfailed",
                "normalizedname": "apierror-assertbotfailed",
                "*": "You do not have the <code>bot</code> right, so the action could not be completed."
            },
            {
                "name": "apierror-assertnameduserfailed",
                "normalizedname": "apierror-assertnameduserfailed",
                "*": "You are no longer logged in as \"$1\", so the action could not be completed."
            },
            {
                "name": "apierror-assertuserfailed",
                "normalizedname": "apierror-assertuserfailed",
                "*": "You are no longer logged in, so the action could not be completed."
            },
            {
                "name": "apierror-autoblocked",
                "normalizedname": "apierror-autoblocked",
                "*": "Your IP address has been blocked automatically, because it was used by a blocked user."
            },
            {
                "name": "apierror-bad-badfilecontexttitle",
                "normalizedname": "apierror-bad-badfilecontexttitle",
                "*": "Invalid title in <var>$1badfilecontexttitle</var> parameter."
            },
            {
                "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-blocked-partial",
                "normalizedname": "apierror-blocked-partial",
                "*": "You have been blocked from editing this page."
            },
            {
                "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 usernames 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-cantview-deleted-comment",
                "normalizedname": "apierror-cantview-deleted-comment",
                "*": "You don't have permission to view deleted comments."
            },
            {
                "name": "apierror-cantview-deleted-description",
                "normalizedname": "apierror-cantview-deleted-description",
                "*": "You don't have permission to view descriptions of deleted files."
            },
            {
                "name": "apierror-cantview-deleted-metadata",
                "normalizedname": "apierror-cantview-deleted-metadata",
                "*": "You don't have permission to view metadata of deleted files."
            },
            {
                "name": "apierror-cantview-deleted-revision-content",
                "normalizedname": "apierror-cantview-deleted-revision-content",
                "*": "You don't have permission to view content of deleted revisions."
            },
            {
                "name": "apierror-categorytree-invalidjson",
                "normalizedname": "apierror-categorytree-invalidjson",
                "*": "Options must be a valid JSON object."
            },
            {
                "name": "apierror-categorytree-invalidjson-option",
                "normalizedname": "apierror-categorytree-invalidjson-option",
                "*": "Option \"$1\" contains invalid value."
            },
            {
                "name": "apierror-changeauth-norequest",
                "normalizedname": "apierror-changeauth-norequest",
                "*": "Failed to create change request."
            },
            {
                "name": "apierror-changecontentmodel-cannot-convert",
                "normalizedname": "apierror-changecontentmodel-cannot-convert",
                "*": "Could not convert $1 to content model <code>$2</code>"
            },
            {
                "name": "apierror-changecontentmodel-cannotbeused",
                "normalizedname": "apierror-changecontentmodel-cannotbeused",
                "*": "Content model <code>$1</code> cannot be used on $2"
            },
            {
                "name": "apierror-changecontentmodel-missingtitle",
                "normalizedname": "apierror-changecontentmodel-missingtitle",
                "*": "The page you specified doesn't exist. To create a new page with a custom content model, use the <kbd>action=edit</kbd> module."
            },
            {
                "name": "apierror-changecontentmodel-nodirectediting",
                "normalizedname": "apierror-changecontentmodel-nodirectediting",
                "*": "Content model <code>$1</code> does not support direct editing"
            },
            {
                "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-maintextrequired",
                "normalizedname": "apierror-compare-maintextrequired",
                "*": "Parameter <var>$1text-main</var> is required when <var>$1slots</var> contains <kbd>main</kbd> (cannot delete the main slot)."
            },
            {
                "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-nofromrevision",
                "normalizedname": "apierror-compare-nofromrevision",
                "*": "No 'from' revision. Specify <var>fromrev</var>, <var>fromtitle</var>, or <var>fromid</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-notext",
                "normalizedname": "apierror-compare-notext",
                "*": "Parameter <var>$1</var> cannot be used without <var>$2</var>."
            },
            {
                "name": "apierror-compare-notorevision",
                "normalizedname": "apierror-compare-notorevision",
                "*": "No 'to' revision. Specify <var>torev</var>, <var>totitle</var>, or <var>toid</var>."
            },
            {
                "name": "apierror-compare-relative-to-deleted",
                "normalizedname": "apierror-compare-relative-to-deleted",
                "*": "Cannot use <kbd>torelative=$1</kbd> relative to a deleted revision."
            },
            {
                "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-concurrency-limit",
                "normalizedname": "apierror-concurrency-limit",
                "*": "A concurrency limit has been exceeded. Please wait for each request to return before submitting the next."
            },
            {
                "name": "apierror-contentmodel-mismatch",
                "normalizedname": "apierror-contentmodel-mismatch",
                "*": "The content you supplied has <kbd>$1</kbd> content model, which differs from the current content model of the page <kbd>$2</kbd>."
            },
            {
                "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|kibibyte|kibibytes}}."
            },
            {
                "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-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-discussiontools-commentid-notfound",
                "normalizedname": "apierror-discussiontools-commentid-notfound",
                "*": "Comment with the ID '$1' not found."
            },
            {
                "name": "apierror-discussiontools-commentname-ambiguous",
                "normalizedname": "apierror-discussiontools-commentname-ambiguous",
                "*": "Multiple comments with the name '$1' found, <var>commentid</var> is required."
            },
            {
                "name": "apierror-discussiontools-commentname-notfound",
                "normalizedname": "apierror-discussiontools-commentname-notfound",
                "*": "Comment with the name '$1' not found."
            },
            {
                "name": "apierror-discussiontools-formtoken-used",
                "normalizedname": "apierror-discussiontools-formtoken-used",
                "*": "Comment already posted. Reload the page to see it."
            },
            {
                "name": "apierror-discussiontools-subscription-failed-add",
                "normalizedname": "apierror-discussiontools-subscription-failed-add",
                "*": "Could not subscribe to this topic."
            },
            {
                "name": "apierror-discussiontools-subscription-failed-remove",
                "normalizedname": "apierror-discussiontools-subscription-failed-remove",
                "*": "Could not unsubscribe from this topic."
            },
            {
                "name": "apierror-echo-event-creation-failed",
                "normalizedname": "apierror-echo-event-creation-failed",
                "*": "Could not create Echo event"
            },
            {
                "name": "apierror-echo-push-token-exists",
                "normalizedname": "apierror-echo-push-token-exists",
                "*": "The provided token already exists in the database."
            },
            {
                "name": "apierror-echo-push-token-not-found",
                "normalizedname": "apierror-echo-push-token-not-found",
                "*": "The provided token was not found in the database."
            },
            {
                "name": "apierror-echo-push-too-many-subscriptions",
                "normalizedname": "apierror-echo-push-too-many-subscriptions",
                "*": "The current user has already registered the maximum allowed number of push subscriptions ($1)."
            },
            {
                "name": "apierror-echo-push-topic-required",
                "normalizedname": "apierror-echo-push-topic-required",
                "*": "The topic field is required for this provider."
            },
            {
                "name": "apierror-edit-invalidredirect",
                "normalizedname": "apierror-edit-invalidredirect",
                "*": "Cannot edit <kbd>$1</kbd> while following redirects, as target <kbd>$2</kbd> is not valid."
            },
            {
                "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-exceptioncaughttype",
                "normalizedname": "apierror-exceptioncaughttype",
                "*": "[$1] Caught exception of type $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-info-singlepagerevision",
                "normalizedname": "apierror-info-singlepagerevision",
                "*": "Multiple pages or revisions were supplied, but <var>$1prop=preloadcontent</var> and <var>$1prop=editintro</var> may only be used with a single page and revision."
            },
            {
                "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-invalidiprange",
                "normalizedname": "apierror-invalidiprange",
                "*": "Invalid CIDR range \"$1\"."
            },
            {
                "name": "apierror-invalidlang",
                "normalizedname": "apierror-invalidlang",
                "*": "Invalid language code for parameter <var>$1</var>."
            },
            {
                "name": "apierror-invalidmethod",
                "normalizedname": "apierror-invalidmethod",
                "*": "Invalid HTTP method. Consider using GET or POST."
            },
            {
                "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-ipoutofrange",
                "normalizedname": "apierror-ipoutofrange",
                "*": "The requested CIDR range \"$1\" cannot be broader than the CIDR limit of /$2."
            },
            {
                "name": "apierror-jsonconfig-badtitle",
                "normalizedname": "apierror-jsonconfig-badtitle",
                "*": "The page specified by <var>namespace</var> and <var>title</var> parameters is either invalid or is not registered in JsonConfig configuration."
            },
            {
                "name": "apierror-jsonconfig-paramrequired",
                "normalizedname": "apierror-jsonconfig-paramrequired",
                "*": "Parameter <var>$1</var> is required for this command."
            },
            {
                "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-missingcontent-revid-role",
                "normalizedname": "apierror-missingcontent-revid-role",
                "*": "Missing content for revision ID $1 for role $2."
            },
            {
                "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."
            },
            {
                "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-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 conjunction 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-templatedata-corrupt",
                "normalizedname": "apierror-templatedata-corrupt",
                "*": "Page #$1 templatedata contains invalid data: $2"
            },
            {
                "name": "apierror-templateexpansion-notwikitext",
                "normalizedname": "apierror-templateexpansion-notwikitext",
                "*": "Template expansion is only supported for wikitext content. $1 uses content model $2."
            },
            {
                "name": "apierror-tempuserdisabled",
                "normalizedname": "apierror-tempuserdisabled",
                "*": "Temporary user account creation is disabled."
            },
            {
                "name": "apierror-toofewexpiries",
                "normalizedname": "apierror-toofewexpiries",
                "*": "$1 expiry {{PLURAL:$1|timestamp was|timestamps were}} provided where $2 {{PLURAL:$2|was|were}} needed."
            },
            {
                "name": "apierror-toomanyvalues",
                "normalizedname": "apierror-toomanyvalues",
                "*": "Too many values supplied for parameter <var>$1</var>. The limit is $2."
            },
            {
                "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-visualeditor-badcachekey",
                "normalizedname": "apierror-visualeditor-badcachekey",
                "*": "No cached serialization found with that key"
            },
            {
                "name": "apierror-visualeditor-difffailed",
                "normalizedname": "apierror-visualeditor-difffailed",
                "*": "Diff failed"
            },
            {
                "name": "apierror-visualeditor-docserver",
                "normalizedname": "apierror-visualeditor-docserver",
                "*": "Error contacting the Parsoid/RESTBase server (no response)"
            },
            {
                "name": "apierror-visualeditor-docserver-http",
                "normalizedname": "apierror-visualeditor-docserver-http",
                "*": "Error contacting the Parsoid/RESTBase server (HTTP $1): $2"
            },
            {
                "name": "apierror-visualeditor-docserver-http-error",
                "normalizedname": "apierror-visualeditor-docserver-http-error",
                "*": "Error contacting the Parsoid/RESTBase server: $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-abusefiltercheckmatch-example-1",
                "normalizedname": "apihelp-abusefiltercheckmatch-example-1",
                "*": "Test if recent change ID 15 matches a simple filter"
            },
            {
                "name": "apihelp-abusefiltercheckmatch-extended-description",
                "normalizedname": "apihelp-abusefiltercheckmatch-extended-description",
                "*": "vars, rcid or logid is required however only one may be used."
            },
            {
                "name": "apihelp-abusefiltercheckmatch-param-filter",
                "normalizedname": "apihelp-abusefiltercheckmatch-param-filter",
                "*": "The full filter text to check for a match."
            },
            {
                "name": "apihelp-abusefiltercheckmatch-param-logid",
                "normalizedname": "apihelp-abusefiltercheckmatch-param-logid",
                "*": "Abuse filter log ID to check against."
            },
            {
                "name": "apihelp-abusefiltercheckmatch-param-rcid",
                "normalizedname": "apihelp-abusefiltercheckmatch-param-rcid",
                "*": "Recent change ID to check against."
            },
            {
                "name": "apihelp-abusefiltercheckmatch-param-vars",
                "normalizedname": "apihelp-abusefiltercheckmatch-param-vars",
                "*": "JSON encoded array of variables to test against."
            },
            {
                "name": "apihelp-abusefiltercheckmatch-summary",
                "normalizedname": "apihelp-abusefiltercheckmatch-summary",
                "*": "Check to see if an AbuseFilter matches a set of variables, an edit, or a logged AbuseFilter event."
            },
            {
                "name": "apihelp-abusefilterchecksyntax-example-1",
                "normalizedname": "apihelp-abusefilterchecksyntax-example-1",
                "*": "Check syntax of a valid filter"
            },
            {
                "name": "apihelp-abusefilterchecksyntax-example-2",
                "normalizedname": "apihelp-abusefilterchecksyntax-example-2",
                "*": "Check syntax of an invalid filter"
            },
            {
                "name": "apihelp-abusefilterchecksyntax-param-filter",
                "normalizedname": "apihelp-abusefilterchecksyntax-param-filter",
                "*": "The full filter text to check syntax on."
            },
            {
                "name": "apihelp-abusefilterchecksyntax-summary",
                "normalizedname": "apihelp-abusefilterchecksyntax-summary",
                "*": "Check syntax of an AbuseFilter filter."
            },
            {
                "name": "apihelp-abusefilterevalexpression-example-1",
                "normalizedname": "apihelp-abusefilterevalexpression-example-1",
                "*": "Evaluate a simple expression"
            },
            {
                "name": "apihelp-abusefilterevalexpression-example-2",
                "normalizedname": "apihelp-abusefilterevalexpression-example-2",
                "*": "Evaluate a simple expression, formatting the result"
            },
            {
                "name": "apihelp-abusefilterevalexpression-param-expression",
                "normalizedname": "apihelp-abusefilterevalexpression-param-expression",
                "*": "The expression to evaluate."
            },
            {
                "name": "apihelp-abusefilterevalexpression-param-prettyprint",
                "normalizedname": "apihelp-abusefilterevalexpression-param-prettyprint",
                "*": "Whether the result should be pretty-printed."
            },
            {
                "name": "apihelp-abusefilterevalexpression-summary",
                "normalizedname": "apihelp-abusefilterevalexpression-summary",
                "*": "Evaluates an AbuseFilter expression."
            },
            {
                "name": "apihelp-abusefilterunblockautopromote-example-1",
                "normalizedname": "apihelp-abusefilterunblockautopromote-example-1",
                "*": "Remove the block on [[User:Example]]'s autopromotion"
            },
            {
                "name": "apihelp-abusefilterunblockautopromote-param-user",
                "normalizedname": "apihelp-abusefilterunblockautopromote-param-user",
                "*": "Username of the user you want to unblock."
            },
            {
                "name": "apihelp-abusefilterunblockautopromote-summary",
                "normalizedname": "apihelp-abusefilterunblockautopromote-summary",
                "*": "Unblocks a user from receiving autopromotions due to an abusefilter consequence."
            },
            {
                "name": "apihelp-abuselogprivatedetails-example-1",
                "normalizedname": "apihelp-abuselogprivatedetails-example-1",
                "*": "Get private details for the AbuseLog entry with ID 1, using the reason \"example\"."
            },
            {
                "name": "apihelp-abuselogprivatedetails-param-logid",
                "normalizedname": "apihelp-abuselogprivatedetails-param-logid",
                "*": "The ID of the AbuseLog entry to be checked."
            },
            {
                "name": "apihelp-abuselogprivatedetails-param-reason",
                "normalizedname": "apihelp-abuselogprivatedetails-param-reason",
                "*": "A valid reason for performing the check."
            },
            {
                "name": "apihelp-abuselogprivatedetails-summary",
                "normalizedname": "apihelp-abuselogprivatedetails-summary",
                "*": "View private details of an AbuseLog entry."
            },
            {
                "name": "apihelp-acquiretempusername-extended-description",
                "normalizedname": "apihelp-acquiretempusername-extended-description",
                "*": "If the user later performs an action that results in temp account creation, the stashed username will be used for their account. It may also be used in previews. However, the account is not created yet, and the name is not visible to other users."
            },
            {
                "name": "apihelp-acquiretempusername-summary",
                "normalizedname": "apihelp-acquiretempusername-summary",
                "*": "Acquire a temporary user username and stash it in the current session, if temp account creation is enabled and the current user is logged out. If a name has already been stashed, returns the same name."
            },
            {
                "name": "apihelp-ask-parameter-api-version",
                "normalizedname": "apihelp-ask-parameter-api-version",
                "*": "Output formatting:\n;2:Backwards-compatible format using {} for the result list.\n;3:Experimental format using [] as result list."
            },
            {
                "name": "apihelp-ask-summary",
                "normalizedname": "apihelp-ask-summary",
                "*": "API module to query Semantic MediaWiki using the ask language."
            },
            {
                "name": "apihelp-askargs-summary",
                "normalizedname": "apihelp-askargs-summary",
                "*": "API module to query Semantic MediaWiki using the ask language as list of conditions, printouts and parameters."
            },
            {
                "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 a reason."
            },
            {
                "name": "apihelp-block-example-user-complex",
                "normalizedname": "apihelp-block-example-user-complex",
                "*": "Block user <kbd>Vandal</kbd> indefinitely with a reason, and prevent new account creation and email sending."
            },
            {
                "name": "apihelp-block-param-actionrestrictions",
                "normalizedname": "apihelp-block-param-actionrestrictions",
                "*": "List of actions to block the user from performing. Only applies when <var>partial</var> is set to true."
            },
            {
                "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, including temporary account edits)."
            },
            {
                "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-namespacerestrictions",
                "normalizedname": "apihelp-block-param-namespacerestrictions",
                "*": "List of namespace IDs to block the user from editing. Only applies when <var>partial</var> is set to true."
            },
            {
                "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-pagerestrictions",
                "normalizedname": "apihelp-block-param-pagerestrictions",
                "*": "List of titles to block the user from editing. Only applies when <var>partial</var> is set to true."
            },
            {
                "name": "apihelp-block-param-partial",
                "normalizedname": "apihelp-block-param-partial",
                "*": "Block user from specific pages or namespaces rather than the entire site."
            },
            {
                "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",
                "*": "User to block."
            },
            {
                "name": "apihelp-block-param-userid",
                "normalizedname": "apihelp-block-param-userid",
                "*": "Specify <kbd>$1user=#<var>ID</var></kbd> instead."
            },
            {
                "name": "apihelp-block-param-watchlistexpiry",
                "normalizedname": "apihelp-block-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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-browsebyproperty-summary",
                "normalizedname": "apihelp-browsebyproperty-summary",
                "*": "API module to retrieve information about a property or list of properties."
            },
            {
                "name": "apihelp-browsebysubject-summary",
                "normalizedname": "apihelp-browsebysubject-summary",
                "*": "API module to retrieve information about a subject."
            },
            {
                "name": "apihelp-categorytree-param-category",
                "normalizedname": "apihelp-categorytree-param-category",
                "*": "Title in the category namespace, prefix will be ignored if given."
            },
            {
                "name": "apihelp-categorytree-param-options",
                "normalizedname": "apihelp-categorytree-param-options",
                "*": "Options for the CategoryTree constructor as a JSON object. The <var>depth</var> option defaults to <kbd>1</kbd>."
            },
            {
                "name": "apihelp-categorytree-summary",
                "normalizedname": "apihelp-categorytree-summary",
                "*": "Internal module for the CategoryTree extension."
            },
            {
                "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-changecontentmodel-example",
                "normalizedname": "apihelp-changecontentmodel-example",
                "*": "Change the main page to have the <code>text</code> content model"
            },
            {
                "name": "apihelp-changecontentmodel-param-bot",
                "normalizedname": "apihelp-changecontentmodel-param-bot",
                "*": "Mark the content model change with a bot flag."
            },
            {
                "name": "apihelp-changecontentmodel-param-model",
                "normalizedname": "apihelp-changecontentmodel-param-model",
                "*": "Content model of the new content."
            },
            {
                "name": "apihelp-changecontentmodel-param-pageid",
                "normalizedname": "apihelp-changecontentmodel-param-pageid",
                "*": "Page ID of the page to change the contentmodel of. Cannot be used together with <var>$1title</var>."
            },
            {
                "name": "apihelp-changecontentmodel-param-summary",
                "normalizedname": "apihelp-changecontentmodel-param-summary",
                "*": "Edit summary and log entry reason"
            },
            {
                "name": "apihelp-changecontentmodel-param-tags",
                "normalizedname": "apihelp-changecontentmodel-param-tags",
                "*": "Change tags to apply to the log entry and edit."
            },
            {
                "name": "apihelp-changecontentmodel-param-title",
                "normalizedname": "apihelp-changecontentmodel-param-title",
                "*": "Title of the page to change the contentmodel of. Cannot be used together with <var>$1pageid</var>."
            },
            {
                "name": "apihelp-changecontentmodel-summary",
                "normalizedname": "apihelp-changecontentmodel-summary",
                "*": "Change the content model of a page"
            },
            {
                "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-difftype",
                "normalizedname": "apihelp-compare-param-difftype",
                "*": "Return the comparison formatted as inline HTML."
            },
            {
                "name": "apihelp-compare-param-fromcontentformat",
                "normalizedname": "apihelp-compare-param-fromcontentformat",
                "*": "Specify <kbd>fromslots=main</kbd> and use <var>fromcontentformat-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-fromcontentformat-{slot}",
                "normalizedname": "apihelp-compare-param-fromcontentformat-{slot}",
                "*": "Content serialization format of <var>fromtext-&#x7B;slot}</var>."
            },
            {
                "name": "apihelp-compare-param-fromcontentmodel",
                "normalizedname": "apihelp-compare-param-fromcontentmodel",
                "*": "Specify <kbd>fromslots=main</kbd> and use <var>fromcontentmodel-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-fromcontentmodel-{slot}",
                "normalizedname": "apihelp-compare-param-fromcontentmodel-{slot}",
                "*": "Content model of <var>fromtext-&#x7B;slot}</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-&#x7B;slot}</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-fromsection-{slot}",
                "normalizedname": "apihelp-compare-param-fromsection-{slot}",
                "*": "When <var>fromtext-&#x7B;slot}</var> is the content of a single section, this is the section identifier. It will be merged into the revision specified by <var>fromtitle</var>, <var>fromid</var> or <var>fromrev</var> as if for a section edit."
            },
            {
                "name": "apihelp-compare-param-fromslots",
                "normalizedname": "apihelp-compare-param-fromslots",
                "*": "Override content of the revision specified by <var>fromtitle</var>, <var>fromid</var> or <var>fromrev</var>.\n\nThis parameter specifies the slots that are to be modified. Use <var>fromtext-&#x7B;slot}</var>, <var>fromcontentmodel-&#x7B;slot}</var>, and <var>fromcontentformat-&#x7B;slot}</var> to specify content for each slot."
            },
            {
                "name": "apihelp-compare-param-fromtext",
                "normalizedname": "apihelp-compare-param-fromtext",
                "*": "Specify <kbd>fromslots=main</kbd> and use <var>fromtext-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-fromtext-{slot}",
                "normalizedname": "apihelp-compare-param-fromtext-{slot}",
                "*": "Text of the specified slot. If omitted, the slot is removed from the revision."
            },
            {
                "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-slots",
                "normalizedname": "apihelp-compare-param-slots",
                "*": "Return individual diffs for these slots, rather than one combined diff for all slots."
            },
            {
                "name": "apihelp-compare-param-tocontentformat",
                "normalizedname": "apihelp-compare-param-tocontentformat",
                "*": "Specify <kbd>toslots=main</kbd> and use <var>tocontentformat-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-tocontentformat-{slot}",
                "normalizedname": "apihelp-compare-param-tocontentformat-{slot}",
                "*": "Content serialization format of <var>totext-&#x7B;slot}</var>."
            },
            {
                "name": "apihelp-compare-param-tocontentmodel",
                "normalizedname": "apihelp-compare-param-tocontentmodel",
                "*": "Specify <kbd>toslots=main</kbd> and use <var>tocontentmodel-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-tocontentmodel-{slot}",
                "normalizedname": "apihelp-compare-param-tocontentmodel-{slot}",
                "*": "Content model of <var>totext-&#x7B;slot}</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-tosection-{slot}",
                "normalizedname": "apihelp-compare-param-tosection-{slot}",
                "*": "When <var>totext-&#x7B;slot}</var> is the content of a single section, this is the section identifier. It will be merged into the revision specified by <var>totitle</var>, <var>toid</var> or <var>torev</var> as if for a section edit."
            },
            {
                "name": "apihelp-compare-param-toslots",
                "normalizedname": "apihelp-compare-param-toslots",
                "*": "Override content of the revision specified by <var>totitle</var>, <var>toid</var> or <var>torev</var>.\n\nThis parameter specifies the slots that are to be modified. Use <var>totext-&#x7B;slot}</var>, <var>tocontentmodel-&#x7B;slot}</var>, and <var>tocontentformat-&#x7B;slot}</var> to specify content for each slot."
            },
            {
                "name": "apihelp-compare-param-totext",
                "normalizedname": "apihelp-compare-param-totext",
                "*": "Specify <kbd>toslots=main</kbd> and use <var>totext-main</var> instead."
            },
            {
                "name": "apihelp-compare-param-totext-{slot}",
                "normalizedname": "apihelp-compare-param-totext-{slot}",
                "*": "Text of the specified slot. If omitted, the slot is removed from the revision."
            },
            {
                "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. If the comment has been revision deleted, a <samp>fromcommenthidden</samp> or <samp>tocommenthidden</samp> property will be returned."
            },
            {
                "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. If the comment has been revision deleted, a <samp>fromcommenthidden</samp> or <samp>tocommenthidden</samp> property will be returned."
            },
            {
                "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-timestamp",
                "normalizedname": "apihelp-compare-paramvalue-prop-timestamp",
                "*": "The timestamp 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 username and ID of the 'from' and 'to' revisions. If the user has been revision deleted, a <samp>fromuserhidden</samp> or <samp>touserhidden</samp> property will be returned."
            },
            {
                "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 the user <kbd>Example</kbd> with the password <kbd>ExamplePassword</kbd>."
            },
            {
                "name": "apihelp-createaccount-param-ignoretitleblacklist",
                "normalizedname": "apihelp-createaccount-param-ignoretitleblacklist",
                "*": "Ignore spoofing checks (requires one of the following rights: <code>tboverride</code>, <code>tboverride-account</code>)."
            },
            {
                "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-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 [[{{MediaWiki:Mainpage}}]] with the reason <kbd>Preparing for move</kbd>."
            },
            {
                "name": "apihelp-delete-example-simple",
                "normalizedname": "apihelp-delete-example-simple",
                "*": "Delete [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-delete-param-deletetalk",
                "normalizedname": "apihelp-delete-param-deletetalk",
                "*": "Delete the talk page, if it exists."
            },
            {
                "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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-delete-param-watchlistexpiry",
                "normalizedname": "apihelp-delete-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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-discussiontoolscompare-summary",
                "normalizedname": "apihelp-discussiontoolscompare-summary",
                "*": "Get information about comment changes between two page revisions."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-allownosectiontitle",
                "normalizedname": "apihelp-discussiontoolsedit-param-allownosectiontitle",
                "*": "Allow posting a new section without a title."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-autosubscribe",
                "normalizedname": "apihelp-discussiontoolsedit-param-autosubscribe",
                "*": "Automatically subscribe the user to the talk page thread?"
            },
            {
                "name": "apihelp-discussiontoolsedit-param-commentid",
                "normalizedname": "apihelp-discussiontoolsedit-param-commentid",
                "*": "ID of the comment to reply to. Only used when <var>paction</var> is <var>addcomment</var>. Overrides <var>commentname</var>."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-commentname",
                "normalizedname": "apihelp-discussiontoolsedit-param-commentname",
                "*": "Name of the comment to reply to. Only used when <var>paction</var> is <var>addcomment</var>."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-formtoken",
                "normalizedname": "apihelp-discussiontoolsedit-param-formtoken",
                "*": "An optional unique ID generated in the client to prevent double-posting."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-html",
                "normalizedname": "apihelp-discussiontoolsedit-param-html",
                "*": "Content to post, as HTML. Cannot be used together with <var>wikitext</var>."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-sectiontitle",
                "normalizedname": "apihelp-discussiontoolsedit-param-sectiontitle",
                "*": "{{int:apihelp-edit-param-sectiontitle}} Only used when <var>paction</var> is <var>addtopic</var>."
            },
            {
                "name": "apihelp-discussiontoolsedit-param-wikitext",
                "normalizedname": "apihelp-discussiontoolsedit-param-wikitext",
                "*": "Content to post, as wikitext. Cannot be used together with <var>html</var>."
            },
            {
                "name": "apihelp-discussiontoolsedit-paramvalue-paction-addcomment",
                "normalizedname": "apihelp-discussiontoolsedit-paramvalue-paction-addcomment",
                "*": "Add a new comment as a reply to an existing comment."
            },
            {
                "name": "apihelp-discussiontoolsedit-paramvalue-paction-addtopic",
                "normalizedname": "apihelp-discussiontoolsedit-paramvalue-paction-addtopic",
                "*": "Add a new discussion section and the first comment in it."
            },
            {
                "name": "apihelp-discussiontoolsedit-summary",
                "normalizedname": "apihelp-discussiontoolsedit-summary",
                "*": "Post a message on a discussion page."
            },
            {
                "name": "apihelp-discussiontoolsfindcomment-param-idorname",
                "normalizedname": "apihelp-discussiontoolsfindcomment-param-idorname",
                "*": "Comment ID or name"
            },
            {
                "name": "apihelp-discussiontoolsfindcomment-summary",
                "normalizedname": "apihelp-discussiontoolsfindcomment-summary",
                "*": "Find a comment by its ID or name."
            },
            {
                "name": "apihelp-discussiontoolsgetsubscriptions-param-commentname",
                "normalizedname": "apihelp-discussiontoolsgetsubscriptions-param-commentname",
                "*": "Names of the topics to check"
            },
            {
                "name": "apihelp-discussiontoolsgetsubscriptions-summary",
                "normalizedname": "apihelp-discussiontoolsgetsubscriptions-summary",
                "*": "Get the subscription statuses of given topics."
            },
            {
                "name": "apihelp-discussiontoolspageinfo-param-excludesignatures",
                "normalizedname": "apihelp-discussiontoolspageinfo-param-excludesignatures",
                "*": "Exclude user signatures from the comments (when using <var>prop=threaditemshtml</var>)."
            },
            {
                "name": "apihelp-discussiontoolspageinfo-param-oldid",
                "normalizedname": "apihelp-discussiontoolspageinfo-param-oldid",
                "*": "The revision number to use (defaults to latest revision)."
            },
            {
                "name": "apihelp-discussiontoolspageinfo-param-prop",
                "normalizedname": "apihelp-discussiontoolspageinfo-param-prop",
                "*": "Which properties to get:"
            },
            {
                "name": "apihelp-discussiontoolspageinfo-paramvalue-prop-threaditemshtml",
                "normalizedname": "apihelp-discussiontoolspageinfo-paramvalue-prop-threaditemshtml",
                "*": "Representation of the comment threads parsed from the page"
            },
            {
                "name": "apihelp-discussiontoolspageinfo-paramvalue-prop-transcludedfrom",
                "normalizedname": "apihelp-discussiontoolspageinfo-paramvalue-prop-transcludedfrom",
                "*": "Which other pages comments have been transcluded from"
            },
            {
                "name": "apihelp-discussiontoolspageinfo-summary",
                "normalizedname": "apihelp-discussiontoolspageinfo-summary",
                "*": "Returns metadata required to initialize the discussion tools."
            },
            {
                "name": "apihelp-discussiontoolspreview-param-type",
                "normalizedname": "apihelp-discussiontoolspreview-param-type",
                "*": "Type of message to preview"
            },
            {
                "name": "apihelp-discussiontoolspreview-param-wikitext",
                "normalizedname": "apihelp-discussiontoolspreview-param-wikitext",
                "*": "Content to preview, as wikitext."
            },
            {
                "name": "apihelp-discussiontoolspreview-summary",
                "normalizedname": "apihelp-discussiontoolspreview-summary",
                "*": "Preview a message on a discussion page."
            },
            {
                "name": "apihelp-discussiontoolssubscribe-param-commentname",
                "normalizedname": "apihelp-discussiontoolssubscribe-param-commentname",
                "*": "Name of the topic to subscribe to (or unsubscribe from)"
            },
            {
                "name": "apihelp-discussiontoolssubscribe-param-page",
                "normalizedname": "apihelp-discussiontoolssubscribe-param-page",
                "*": "A page on which the topic appears"
            },
            {
                "name": "apihelp-discussiontoolssubscribe-param-subscribe",
                "normalizedname": "apihelp-discussiontoolssubscribe-param-subscribe",
                "*": "True to subscribe, false to unsubscribe"
            },
            {
                "name": "apihelp-discussiontoolssubscribe-summary",
                "normalizedname": "apihelp-discussiontoolssubscribe-summary",
                "*": "Subscribe (or unsubscribe) to receive notifications about a topic."
            },
            {
                "name": "apihelp-echoarticlereminder-example-1",
                "normalizedname": "apihelp-echoarticlereminder-example-1",
                "*": "Create an article reminder notification for tomorrow with comment"
            },
            {
                "name": "apihelp-echoarticlereminder-example-2",
                "normalizedname": "apihelp-echoarticlereminder-example-2",
                "*": "Create an article reminder notification for tomorrow without comment"
            },
            {
                "name": "apihelp-echoarticlereminder-param-comment",
                "normalizedname": "apihelp-echoarticlereminder-param-comment",
                "*": "Optional user comment to include in the reminder"
            },
            {
                "name": "apihelp-echoarticlereminder-param-pageid",
                "normalizedname": "apihelp-echoarticlereminder-param-pageid",
                "*": "ID of article to remind the user about"
            },
            {
                "name": "apihelp-echoarticlereminder-param-timestamp",
                "normalizedname": "apihelp-echoarticlereminder-param-timestamp",
                "*": "On which timestamp to remind the user"
            },
            {
                "name": "apihelp-echoarticlereminder-param-title",
                "normalizedname": "apihelp-echoarticlereminder-param-title",
                "*": "Title of article to remind the user about"
            },
            {
                "name": "apihelp-echoarticlereminder-summary",
                "normalizedname": "apihelp-echoarticlereminder-summary",
                "*": "Request a future reminder about the specified article"
            },
            {
                "name": "apihelp-echomarkread-example-1",
                "normalizedname": "apihelp-echomarkread-example-1",
                "*": "Mark notification 8 as read"
            },
            {
                "name": "apihelp-echomarkread-example-2",
                "normalizedname": "apihelp-echomarkread-example-2",
                "*": "Mark all notifications as read"
            },
            {
                "name": "apihelp-echomarkread-example-3",
                "normalizedname": "apihelp-echomarkread-example-3",
                "*": "Mark notification 1 as unread"
            },
            {
                "name": "apihelp-echomarkread-param-all",
                "normalizedname": "apihelp-echomarkread-param-all",
                "*": "If set, marks all of a user's notifications as read."
            },
            {
                "name": "apihelp-echomarkread-param-list",
                "normalizedname": "apihelp-echomarkread-param-list",
                "*": "A list of notification IDs to mark as read."
            },
            {
                "name": "apihelp-echomarkread-param-sections",
                "normalizedname": "apihelp-echomarkread-param-sections",
                "*": "A list of sections to mark as read."
            },
            {
                "name": "apihelp-echomarkread-param-unreadlist",
                "normalizedname": "apihelp-echomarkread-param-unreadlist",
                "*": "A list of notification IDs to mark as unread."
            },
            {
                "name": "apihelp-echomarkread-param-wikis",
                "normalizedname": "apihelp-echomarkread-param-wikis",
                "*": "List of wikis to mark notification as read (defaults to only current wiki)."
            },
            {
                "name": "apihelp-echomarkread-summary",
                "normalizedname": "apihelp-echomarkread-summary",
                "*": "Mark notifications as read for the current user."
            },
            {
                "name": "apihelp-echomarkseen-example-1",
                "normalizedname": "apihelp-echomarkseen-example-1",
                "*": "Mark notifications of all types as seen"
            },
            {
                "name": "apihelp-echomarkseen-param-timestampFormat",
                "normalizedname": "apihelp-echomarkseen-param-timestampFormat",
                "*": "Timestamp format to use for output, 'ISO_8601' or 'MW'. 'MW' is deprecated here, so all clients should switch to 'ISO_8601'. This parameter will be removed, and 'ISO_8601' will become the only output format."
            },
            {
                "name": "apihelp-echomarkseen-param-type",
                "normalizedname": "apihelp-echomarkseen-param-type",
                "*": "Type of notifications to mark as seen: 'alert', 'message' or 'all'."
            },
            {
                "name": "apihelp-echomarkseen-summary",
                "normalizedname": "apihelp-echomarkseen-summary",
                "*": "Mark notifications as seen for the current user."
            },
            {
                "name": "apihelp-echomute-param-mute",
                "normalizedname": "apihelp-echomute-param-mute",
                "*": "Pages or users to add to the mute list"
            },
            {
                "name": "apihelp-echomute-param-type",
                "normalizedname": "apihelp-echomute-param-type",
                "*": "Which mute list to add to or remove from"
            },
            {
                "name": "apihelp-echomute-param-unmute",
                "normalizedname": "apihelp-echomute-param-unmute",
                "*": "Pages or users to remove from the mute list"
            },
            {
                "name": "apihelp-echomute-summary",
                "normalizedname": "apihelp-echomute-summary",
                "*": "Mute or unmute notifications from certain users or pages."
            },
            {
                "name": "apihelp-echopushsubscriptions+create-example",
                "normalizedname": "apihelp-echopushsubscriptions+create-example",
                "*": "Register a push subscription for the current user."
            },
            {
                "name": "apihelp-echopushsubscriptions+create-param-provider",
                "normalizedname": "apihelp-echopushsubscriptions+create-param-provider",
                "*": "The push service provider for which to register a token."
            },
            {
                "name": "apihelp-echopushsubscriptions+create-param-providertoken",
                "normalizedname": "apihelp-echopushsubscriptions+create-param-providertoken",
                "*": "The token to register."
            },
            {
                "name": "apihelp-echopushsubscriptions+create-param-topic",
                "normalizedname": "apihelp-echopushsubscriptions+create-param-topic",
                "*": "The APNS topic (app bundle ID) to send the notification to."
            },
            {
                "name": "apihelp-echopushsubscriptions+create-summary",
                "normalizedname": "apihelp-echopushsubscriptions+create-summary",
                "*": "Register push subscriptions for the current user."
            },
            {
                "name": "apihelp-echopushsubscriptions+delete-example",
                "normalizedname": "apihelp-echopushsubscriptions+delete-example",
                "*": "Unregister a push subscription for the current user."
            },
            {
                "name": "apihelp-echopushsubscriptions+delete-param-centraluserid",
                "normalizedname": "apihelp-echopushsubscriptions+delete-param-centraluserid",
                "*": "The central user ID associated with the subscription to unregister."
            },
            {
                "name": "apihelp-echopushsubscriptions+delete-param-providertoken",
                "normalizedname": "apihelp-echopushsubscriptions+delete-param-providertoken",
                "*": "The token associated with the push subscription to unregister."
            },
            {
                "name": "apihelp-echopushsubscriptions+delete-summary",
                "normalizedname": "apihelp-echopushsubscriptions+delete-summary",
                "*": "Unregister push subscriptions for the current user or another specified user."
            },
            {
                "name": "apihelp-echopushsubscriptions-param-command",
                "normalizedname": "apihelp-echopushsubscriptions-param-command",
                "*": "Action to perform."
            },
            {
                "name": "apihelp-echopushsubscriptions-summary",
                "normalizedname": "apihelp-echopushsubscriptions-summary",
                "*": "Manage push subscriptions for the current user."
            },
            {
                "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 or section. Overrides $1text.\n\nUse $1section=new to append a new section, rather than this parameter."
            },
            {
                "name": "apihelp-edit-param-baserevid",
                "normalizedname": "apihelp-edit-param-baserevid",
                "*": "ID of the base revision, used to detect edit conflicts. May be obtained through [[Special:ApiHelp/query+revisions|action=query&prop=revisions]]. Self-conflicts cause the edit to fail unless basetimestamp is set."
            },
            {
                "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]]. Self-conflicts are ignored."
            },
            {
                "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",
                "*": "Mark this edit as a 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",
                "*": "Do not mark this edit as a minor edit even if the \"{{int:tog-minordefault}}\" user preference is set."
            },
            {
                "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 or section. 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-returnto",
                "normalizedname": "apihelp-edit-param-returnto",
                "*": "Page title. If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to the given page, instead of the page that was edited."
            },
            {
                "name": "apihelp-edit-param-returntoanchor",
                "normalizedname": "apihelp-edit-param-returntoanchor",
                "*": "URL fragment (with leading <kbd>#</kbd>). If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to a page with the given fragment."
            },
            {
                "name": "apihelp-edit-param-returntoquery",
                "normalizedname": "apihelp-edit-param-returntoquery",
                "*": "URL query parameters (with leading <kbd>?</kbd>). If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to a page with the given query parameters."
            },
            {
                "name": "apihelp-edit-param-section",
                "normalizedname": "apihelp-edit-param-section",
                "*": "Section identifier. <kbd>0</kbd> for the top section, <kbd>new</kbd> for a new section. Often a positive integer, but can also be non-numeric."
            },
            {
                "name": "apihelp-edit-param-sectiontitle",
                "normalizedname": "apihelp-edit-param-sectiontitle",
                "*": "The title for a new section when using <var>$1section=new</var>."
            },
            {
                "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.\n\nWhen this parameter is not provided or empty, [[mw:Special:MyLanguage/Autosummary|an edit summary may be generated automatically]].\n\nWhen using <var>$1section=new</var> and <var>$1sectiontitle</var> is not provided, the value of this parameter is used for the section title instead, and an edit summary is generated automatically."
            },
            {
                "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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-edit-param-watchlistexpiry",
                "normalizedname": "apihelp-edit-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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 the 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 the email to."
            },
            {
                "name": "apihelp-emailuser-param-text",
                "normalizedname": "apihelp-emailuser-param-text",
                "*": "Email 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-showstrategykeys",
                "normalizedname": "apihelp-expandtemplates-param-showstrategykeys",
                "*": "Whether to include internal merge strategy information in jsconfigvars."
            },
            {
                "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 the 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's 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-inverttags",
                "normalizedname": "apihelp-feedrecentchanges-param-inverttags",
                "*": "All edits except ones tagged with the selected ones."
            },
            {
                "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-flickrblacklist-example-1",
                "normalizedname": "apihelp-flickrblacklist-example-1",
                "*": "Check a URL against the blacklist"
            },
            {
                "name": "apihelp-flickrblacklist-example-2",
                "normalizedname": "apihelp-flickrblacklist-example-2",
                "*": "Return the entire blacklist"
            },
            {
                "name": "apihelp-flickrblacklist-extended-description",
                "normalizedname": "apihelp-flickrblacklist-extended-description",
                "*": "When used with the <var>list</var> option, returns all blacklisted IDs."
            },
            {
                "name": "apihelp-flickrblacklist-param-list",
                "normalizedname": "apihelp-flickrblacklist-param-list",
                "*": "When set, the complete blacklist is returned. Cannot be used together with $1url."
            },
            {
                "name": "apihelp-flickrblacklist-param-url",
                "normalizedname": "apihelp-flickrblacklist-param-url",
                "*": "The Flickr URL to be tested."
            },
            {
                "name": "apihelp-flickrblacklist-summary",
                "normalizedname": "apihelp-flickrblacklist-summary",
                "*": "Validate a Flickr URL by using the user ID (NSID) for blacklisting."
            },
            {
                "name": "apihelp-flowthank-example-1",
                "normalizedname": "apihelp-flowthank-example-1",
                "*": "Send thanks for the comment with <kbd>UUID xyz789</kbd>"
            },
            {
                "name": "apihelp-flowthank-param-postid",
                "normalizedname": "apihelp-flowthank-param-postid",
                "*": "The UUID of the post to thank for."
            },
            {
                "name": "apihelp-flowthank-summary",
                "normalizedname": "apihelp-flowthank-summary",
                "*": "Send a public thank-you notification for a Flow comment."
            },
            {
                "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-getheaderfooter-description",
                "normalizedname": "apihelp-getheaderfooter-description",
                "*": "Retrieve the parsed output of a header or footer in the context of a certain page."
            },
            {
                "name": "apihelp-getheaderfooter-example-1",
                "normalizedname": "apihelp-getheaderfooter-example-1",
                "*": "Get the NS_MAIN footer for Main Page"
            },
            {
                "name": "apihelp-getheaderfooter-param-contexttitle",
                "normalizedname": "apihelp-getheaderfooter-param-contexttitle",
                "*": "The title of the page that the header or footer is being added to."
            },
            {
                "name": "apihelp-getheaderfooter-param-messageid",
                "normalizedname": "apihelp-getheaderfooter-param-messageid",
                "*": "Which header or footer is being requested (e.g. a namespace header)"
            },
            {
                "name": "apihelp-getheaderfooter-summary",
                "normalizedname": "apihelp-getheaderfooter-summary",
                "*": "Retrieve the parsed output of a header or footer in the context of a certain page."
            },
            {
                "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 usernames (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-infobox-param-args",
                "normalizedname": "apihelp-infobox-param-args",
                "*": "Variable list to use during parse (json format)"
            },
            {
                "name": "apihelp-infobox-param-text",
                "normalizedname": "apihelp-infobox-param-text",
                "*": "Infobox to parse (xml string)"
            },
            {
                "name": "apihelp-infobox-param-title",
                "normalizedname": "apihelp-infobox-param-title",
                "*": "Title of page the text belongs to"
            },
            {
                "name": "apihelp-infobox-summary",
                "normalizedname": "apihelp-infobox-summary",
                "*": "This module provides infobox parser"
            },
            {
                "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"
            },
            {
                "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-paramvalue-formatversion-1",
                "normalizedname": "apihelp-json-paramvalue-formatversion-1",
                "*": "Backwards-compatible format (XML-style booleans, <samp>*</samp> keys for content nodes, etc.)."
            },
            {
                "name": "apihelp-json-paramvalue-formatversion-2",
                "normalizedname": "apihelp-json-paramvalue-formatversion-2",
                "*": "Modern format."
            },
            {
                "name": "apihelp-json-paramvalue-formatversion-latest",
                "normalizedname": "apihelp-json-paramvalue-formatversion-latest",
                "*": "Use the latest format (currently <kbd>2</kbd>), may change without warning."
            },
            {
                "name": "apihelp-json-summary",
                "normalizedname": "apihelp-json-summary",
                "*": "Output data in JSON format."
            },
            {
                "name": "apihelp-jsonconfig-example-1",
                "normalizedname": "apihelp-jsonconfig-example-1",
                "*": "Show configuration"
            },
            {
                "name": "apihelp-jsonconfig-example-2",
                "normalizedname": "apihelp-jsonconfig-example-2",
                "*": "Reset [[Data:Brazil/Amazonas.map]]"
            },
            {
                "name": "apihelp-jsonconfig-example-3",
                "normalizedname": "apihelp-jsonconfig-example-3",
                "*": "Reload [[Data:Brazil/Amazonas.map]]"
            },
            {
                "name": "apihelp-jsonconfig-param-command",
                "normalizedname": "apihelp-jsonconfig-param-command",
                "*": "Which sub-action to perform on JsonConfig:"
            },
            {
                "name": "apihelp-jsonconfig-param-content",
                "normalizedname": "apihelp-jsonconfig-param-content",
                "*": "For $1command=reload, use this content instead."
            },
            {
                "name": "apihelp-jsonconfig-param-namespace",
                "normalizedname": "apihelp-jsonconfig-param-namespace",
                "*": "Namespace number of the title to process."
            },
            {
                "name": "apihelp-jsonconfig-param-title",
                "normalizedname": "apihelp-jsonconfig-param-title",
                "*": "Title to process without namespace prefix."
            },
            {
                "name": "apihelp-jsonconfig-paramvalue-command-reload",
                "normalizedname": "apihelp-jsonconfig-paramvalue-command-reload",
                "*": "Reloads and caches configurations from config store. Requires $1title parameter and jsonconfig-reset right."
            },
            {
                "name": "apihelp-jsonconfig-paramvalue-command-reset",
                "normalizedname": "apihelp-jsonconfig-paramvalue-command-reset",
                "*": "Clears configurations from cache. Requires $1title parameter and jsonconfig-flush right."
            },
            {
                "name": "apihelp-jsonconfig-paramvalue-command-status",
                "normalizedname": "apihelp-jsonconfig-paramvalue-command-status",
                "*": "Shows JsonConfig configuration."
            },
            {
                "name": "apihelp-jsonconfig-summary",
                "normalizedname": "apihelp-jsonconfig-summary",
                "*": "Allows direct access to JsonConfig subsystem."
            },
            {
                "name": "apihelp-jsondata-example-1",
                "normalizedname": "apihelp-jsondata-example-1",
                "*": "Get JSON content of the Sample.tab page, localized to user's language"
            },
            {
                "name": "apihelp-jsondata-example-2",
                "normalizedname": "apihelp-jsondata-example-2",
                "*": "Get JSON content of the Sample.tab page localized to French"
            },
            {
                "name": "apihelp-jsondata-param-title",
                "normalizedname": "apihelp-jsondata-param-title",
                "*": "Title to get. By default assumes namespace to be \"Data:\""
            },
            {
                "name": "apihelp-jsondata-summary",
                "normalizedname": "apihelp-jsondata-summary",
                "*": "Retrieve localized JSON data."
            },
            {
                "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-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",
                "*": "Username."
            },
            {
                "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:Etiquette|Etiquette & usage guidelines]]\n* [[mw:Special:MyLanguage/API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/postorius/lists/mediawiki-api.lists.wikimedia.org/ Mailing list]\n* [https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/ 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/hyperkitty/list/[email protected]/ 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 that the user is logged in if set to <kbd>user</kbd>, <em>not</em> logged in if set to <kbd>anon</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"
            },
            {
                "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&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 allowed, 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&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-param-variant",
                "normalizedname": "apihelp-main-param-variant",
                "*": "Variant of the language. Only works if the base language supports variant conversion."
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-bc",
                "normalizedname": "apihelp-main-paramvalue-errorformat-bc",
                "*": "Format used prior to MediaWiki 1.29. <var>errorlang</var> and <var>errorsuselocal</var> are ignored."
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-html",
                "normalizedname": "apihelp-main-paramvalue-errorformat-html",
                "*": "HTML"
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-none",
                "normalizedname": "apihelp-main-paramvalue-errorformat-none",
                "*": "No text output, only the error codes."
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-plaintext",
                "normalizedname": "apihelp-main-paramvalue-errorformat-plaintext",
                "*": "Wikitext with HTML tags removed and entities replaced."
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-raw",
                "normalizedname": "apihelp-main-paramvalue-errorformat-raw",
                "*": "Message key and parameters."
            },
            {
                "name": "apihelp-main-paramvalue-errorformat-wikitext",
                "normalizedname": "apihelp-main-paramvalue-errorformat-wikitext",
                "*": "Unparsed wikitext."
            },
            {
                "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:"
            },
            {
                "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-paramvalue-operation-activate",
                "normalizedname": "apihelp-managetags-paramvalue-operation-activate",
                "*": "Activate a change tag, allowing users to apply it manually."
            },
            {
                "name": "apihelp-managetags-paramvalue-operation-create",
                "normalizedname": "apihelp-managetags-paramvalue-operation-create",
                "*": "Create a new change tag for manual use."
            },
            {
                "name": "apihelp-managetags-paramvalue-operation-deactivate",
                "normalizedname": "apihelp-managetags-paramvalue-operation-deactivate",
                "*": "Deactivate a change tag, preventing users from applying it manually."
            },
            {
                "name": "apihelp-managetags-paramvalue-operation-delete",
                "normalizedname": "apihelp-managetags-paramvalue-operation-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."
            },
            {
                "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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-move-param-watchlistexpiry",
                "normalizedname": "apihelp-move-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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-oathvalidate-example-1",
                "normalizedname": "apihelp-oathvalidate-example-1",
                "*": "Validate JSON data for the current user"
            },
            {
                "name": "apihelp-oathvalidate-example-3",
                "normalizedname": "apihelp-oathvalidate-example-3",
                "*": "Validate JSON data for user <kbd>Example</kbd>"
            },
            {
                "name": "apihelp-oathvalidate-param-data",
                "normalizedname": "apihelp-oathvalidate-param-data",
                "*": "JSON encoded data expected by the module currently activated for the user being authenticated"
            },
            {
                "name": "apihelp-oathvalidate-param-user",
                "normalizedname": "apihelp-oathvalidate-param-user",
                "*": "User to validate token for. Defaults to the current user."
            },
            {
                "name": "apihelp-oathvalidate-summary",
                "normalizedname": "apihelp-oathvalidate-summary",
                "*": "Validate a two-factor authentication (OATH) token."
            },
            {
                "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:"
            },
            {
                "name": "apihelp-opensearch-param-redirects-append",
                "normalizedname": "apihelp-opensearch-param-redirects-append",
                "*": "For 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",
                "*": "No longer used."
            },
            {
                "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-paramvalue-redirects-resolve",
                "normalizedname": "apihelp-opensearch-paramvalue-redirects-resolve",
                "*": "Return the target page. May return fewer than $1limit results."
            },
            {
                "name": "apihelp-opensearch-paramvalue-redirects-return",
                "normalizedname": "apihelp-opensearch-paramvalue-redirects-return",
                "*": "Return the redirect itself."
            },
            {
                "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-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-parsoid",
                "normalizedname": "apihelp-parse-param-parsoid",
                "*": "Generate HTML conforming to the [[mw:Specs/HTML|MediaWiki DOM spec]] using [[mw:Parsoid|Parsoid]]."
            },
            {
                "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 the section with this identifier.\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-showstrategykeys",
                "normalizedname": "apihelp-parse-param-showstrategykeys",
                "*": "Whether to include internal merge strategy information in jsconfigvars."
            },
            {
                "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>text</kbd>, <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 doctype, opening <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code> element and opening <code>&lt;body&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 (as wikitext)."
            },
            {
                "name": "apihelp-parse-paramvalue-prop-parsewarningshtml",
                "normalizedname": "apihelp-parse-paramvalue-prop-parsewarningshtml",
                "*": "Gives the warnings that occurred while parsing content (as HTML)."
            },
            {
                "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-subtitle",
                "normalizedname": "apihelp-parse-paramvalue-prop-subtitle",
                "*": "Adds the page subtitle for the parsed page."
            },
            {
                "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"
            },
            {
                "name": "apihelp-php-paramvalue-formatversion-1",
                "normalizedname": "apihelp-php-paramvalue-formatversion-1",
                "*": "Backwards-compatible format (XML-style booleans, <samp>*</samp> keys for content nodes, etc.)."
            },
            {
                "name": "apihelp-php-paramvalue-formatversion-2",
                "normalizedname": "apihelp-php-paramvalue-formatversion-2",
                "*": "Modern format."
            },
            {
                "name": "apihelp-php-paramvalue-formatversion-latest",
                "normalizedname": "apihelp-php-paramvalue-formatversion-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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-protect-param-watchlistexpiry",
                "normalizedname": "apihelp-protect-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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 <kbd>[[{{MediaWiki:Mainpage}}]]</kbd> and the <kbd>API</kbd> page."
            },
            {
                "name": "apihelp-purge-param-forcelinkupdate",
                "normalizedname": "apihelp-purge-param-forcelinkupdate",
                "*": "Update the links tables and do other secondary data updates."
            },
            {
                "name": "apihelp-purge-param-forcerecursivelinkupdate",
                "normalizedname": "apihelp-purge-param-forcerecursivelinkupdate",
                "*": "Same as <kbd>forcelinkupdate</kbd>, 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+abusefilters-example-1",
                "normalizedname": "apihelp-query+abusefilters-example-1",
                "*": "List enabled public filters"
            },
            {
                "name": "apihelp-query+abusefilters-example-2",
                "normalizedname": "apihelp-query+abusefilters-example-2",
                "*": "Show some details about filters"
            },
            {
                "name": "apihelp-query+abusefilters-param-endid",
                "normalizedname": "apihelp-query+abusefilters-param-endid",
                "*": "The filter ID to stop enumerating at."
            },
            {
                "name": "apihelp-query+abusefilters-param-limit",
                "normalizedname": "apihelp-query+abusefilters-param-limit",
                "*": "The maximum number of filters to list."
            },
            {
                "name": "apihelp-query+abusefilters-param-prop",
                "normalizedname": "apihelp-query+abusefilters-param-prop",
                "*": "Which properties to get."
            },
            {
                "name": "apihelp-query+abusefilters-param-show",
                "normalizedname": "apihelp-query+abusefilters-param-show",
                "*": "Show only filters which meet these criteria."
            },
            {
                "name": "apihelp-query+abusefilters-param-startid",
                "normalizedname": "apihelp-query+abusefilters-param-startid",
                "*": "The filter ID to start enumerating from."
            },
            {
                "name": "apihelp-query+abusefilters-summary",
                "normalizedname": "apihelp-query+abusefilters-summary",
                "*": "Show details of the abuse filters."
            },
            {
                "name": "apihelp-query+abuselog-example-1",
                "normalizedname": "apihelp-query+abuselog-example-1",
                "*": "Show recent log entries"
            },
            {
                "name": "apihelp-query+abuselog-example-2",
                "normalizedname": "apihelp-query+abuselog-example-2",
                "*": "Show recent log entries for [[API]]"
            },
            {
                "name": "apihelp-query+abuselog-param-end",
                "normalizedname": "apihelp-query+abuselog-param-end",
                "*": "The timestamp to stop enumerating at."
            },
            {
                "name": "apihelp-query+abuselog-param-filter",
                "normalizedname": "apihelp-query+abuselog-param-filter",
                "*": "Show only entries that were caught by the given filter IDs. Separate with pipes, prefix with \"$1\" for global filters."
            },
            {
                "name": "apihelp-query+abuselog-param-filter-central",
                "normalizedname": "apihelp-query+abuselog-param-filter-central",
                "*": "Show only entries that were caught by the given filter IDs. Separate with pipes."
            },
            {
                "name": "apihelp-query+abuselog-param-limit",
                "normalizedname": "apihelp-query+abuselog-param-limit",
                "*": "The maximum amount of entries to list."
            },
            {
                "name": "apihelp-query+abuselog-param-logid",
                "normalizedname": "apihelp-query+abuselog-param-logid",
                "*": "Show an entry with the given log ID."
            },
            {
                "name": "apihelp-query+abuselog-param-prop",
                "normalizedname": "apihelp-query+abuselog-param-prop",
                "*": "Which properties to get."
            },
            {
                "name": "apihelp-query+abuselog-param-start",
                "normalizedname": "apihelp-query+abuselog-param-start",
                "*": "The timestamp to start enumerating from."
            },
            {
                "name": "apihelp-query+abuselog-param-title",
                "normalizedname": "apihelp-query+abuselog-param-title",
                "*": "Show only entries occurring on a given page."
            },
            {
                "name": "apihelp-query+abuselog-param-user",
                "normalizedname": "apihelp-query+abuselog-param-user",
                "*": "Show only entries done by a given user or IP address."
            },
            {
                "name": "apihelp-query+abuselog-param-wiki",
                "normalizedname": "apihelp-query+abuselog-param-wiki",
                "*": "Wiki to show hits from."
            },
            {
                "name": "apihelp-query+abuselog-summary",
                "normalizedname": "apihelp-query+abuselog-summary",
                "*": "Show events that were caught by one of the abuse filters."
            },
            {
                "name": "apihelp-query+allcampaigns-example-1",
                "normalizedname": "apihelp-query+allcampaigns-example-1",
                "*": "Enumerate enabled campaigns"
            },
            {
                "name": "apihelp-query+allcampaigns-param-enabledonly",
                "normalizedname": "apihelp-query+allcampaigns-param-enabledonly",
                "*": "Only list campaigns that are enabled."
            },
            {
                "name": "apihelp-query+allcampaigns-param-limit",
                "normalizedname": "apihelp-query+allcampaigns-param-limit",
                "*": "Number of campaigns to return."
            },
            {
                "name": "apihelp-query+allcampaigns-summary",
                "normalizedname": "apihelp-query+allcampaigns-summary",
                "*": "Enumerate all UploadWizard campaigns."
            },
            {
                "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 where the last version was 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+allinfoboxes-summary",
                "normalizedname": "apihelp-query+allinfoboxes-summary",
                "*": "List all infoboxes"
            },
            {
                "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:"
            },
            {
                "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-paramvalue-prexpiry-all",
                "normalizedname": "apihelp-query+allpages-paramvalue-prexpiry-all",
                "*": "Get pages with any protections expiry."
            },
            {
                "name": "apihelp-query+allpages-paramvalue-prexpiry-definite",
                "normalizedname": "apihelp-query+allpages-paramvalue-prexpiry-definite",
                "*": "Get only pages with a definite (specific) protection expiry."
            },
            {
                "name": "apihelp-query+allpages-paramvalue-prexpiry-indefinite",
                "normalizedname": "apihelp-query+allpages-paramvalue-prexpiry-indefinite",
                "*": "Get only pages with indefinite protection expiry."
            },
            {
                "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-any",
                "normalizedname": "apihelp-query+allrevisions-example-ns-any",
                "*": "List the first 50 revisions in any 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 username 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 usernames 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 username 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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+backlinks-example-simple",
                "normalizedname": "apihelp-query+backlinks-example-simple",
                "*": "Show links to [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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-restrictions",
                "normalizedname": "apihelp-query+blocks-paramvalue-prop-restrictions",
                "*": "Adds the partial block restrictions if the block is not sitewide."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]] and its talk page 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 [[{{MediaWiki:Mainpage}}]] 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:"
            },
            {
                "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-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-comment",
                "*": "Adds the comment of the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-content",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-content",
                "*": "Adds the content of the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-len",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-len",
                "*": "Adds the length (bytes) of the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-minor",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-minor",
                "*": "Tags if the revision is minor."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-parentid",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-parentid",
                "*": "Adds the revision ID of the previous revision to the page."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-parsedcomment",
                "*": "Adds the parsed comment of the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-revid",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-revid",
                "*": "Adds the revision ID of the deleted revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-sha1",
                "*": "Adds the SHA-1 (base 16) of the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-tags",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-tags",
                "*": "Tags for the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-token",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-token",
                "*": "Gives the edit token."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-user",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-user",
                "*": "Adds the user who made the revision."
            },
            {
                "name": "apihelp-query+deletedrevs-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+deletedrevs-paramvalue-prop-userid",
                "*": "Adds the ID of the user who made the revision."
            },
            {
                "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 the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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> and <kbd>https</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+extracts-example-1",
                "normalizedname": "apihelp-query+extracts-example-1",
                "*": "Get a 175-character extract"
            },
            {
                "name": "apihelp-query+extracts-param-chars",
                "normalizedname": "apihelp-query+extracts-param-chars",
                "*": "How many characters to return. Actual text returned might be slightly longer."
            },
            {
                "name": "apihelp-query+extracts-param-intro",
                "normalizedname": "apihelp-query+extracts-param-intro",
                "*": "Return only content before the first section."
            },
            {
                "name": "apihelp-query+extracts-param-limit",
                "normalizedname": "apihelp-query+extracts-param-limit",
                "*": "How many extracts to return. (Multiple extracts can only be returned if exintro is set to true.)"
            },
            {
                "name": "apihelp-query+extracts-param-plaintext",
                "normalizedname": "apihelp-query+extracts-param-plaintext",
                "*": "Return extracts as plain text instead of limited HTML."
            },
            {
                "name": "apihelp-query+extracts-param-sectionformat",
                "normalizedname": "apihelp-query+extracts-param-sectionformat",
                "*": "How to format sections in plaintext mode:"
            },
            {
                "name": "apihelp-query+extracts-param-sentences",
                "normalizedname": "apihelp-query+extracts-param-sentences",
                "*": "How many sentences to return."
            },
            {
                "name": "apihelp-query+extracts-paramvalue-sectionformat-plain",
                "normalizedname": "apihelp-query+extracts-paramvalue-sectionformat-plain",
                "*": "No formatting."
            },
            {
                "name": "apihelp-query+extracts-paramvalue-sectionformat-raw",
                "normalizedname": "apihelp-query+extracts-paramvalue-sectionformat-raw",
                "*": "This module's internal representation (section titles prefixed with &lt;ASCII 1&gt;&lt;ASCII 2&gt;&lt;section level&gt;&lt;ASCII 2&gt;&lt;ASCII 1&gt;)."
            },
            {
                "name": "apihelp-query+extracts-paramvalue-sectionformat-wiki",
                "normalizedname": "apihelp-query+extracts-paramvalue-sectionformat-wiki",
                "*": "Wikitext-style formatting (== like this ==)."
            },
            {
                "name": "apihelp-query+extracts-summary",
                "normalizedname": "apihelp-query+extracts-summary",
                "*": "Returns plain-text or limited HTML extracts of 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> and <kbd>https</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 (properties available may vary on other wikis)."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-apiurl",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-apiurl",
                "*": "URL to the repository API - helpful for getting image info from the host."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-articlepath",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-articlepath",
                "*": "Repository wiki's <var>[[mw:Special:MyLanguage/Manual:$wgArticlePath|$wgArticlePath]]</var> or equivalent."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-canUpload",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-canUpload",
                "*": "Whether files can be uploaded to this repository, e.g. via CORS and shared authentication."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-displayname",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-displayname",
                "*": "The human-readable name of the repository wiki."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-favicon",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-favicon",
                "*": "Repository wiki's favicon URL, from <var>[[mw:Special:MyLanguage/Manual:$wgFavicon|$wgFavicon]]</var>."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-fetchDescription",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-fetchDescription",
                "*": "Whether file description pages are fetched from this repository when viewing local file description pages."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-initialCapital",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-initialCapital",
                "*": "Whether file names implicitly start with a capital letter."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-local",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-local",
                "*": "Whether that repository is the local one or not."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-name",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-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."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-rootUrl",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-rootUrl",
                "*": "Root URL path for image paths."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-scriptDirUrl",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-scriptDirUrl",
                "*": "Root URL path for the repository wiki's MediaWiki installation."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-server",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-server",
                "*": "Repository wiki's <var>[[mw:Special:MyLanguage/Manual:$wgServer|$wgServer]]</var> or equivalent."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-thumbUrl",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-thumbUrl",
                "*": "Root URL path for thumbnail paths."
            },
            {
                "name": "apihelp-query+filerepoinfo-paramvalue-prop-url",
                "normalizedname": "apihelp-query+filerepoinfo-paramvalue-prop-url",
                "*": "Public zone URL path."
            },
            {
                "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:"
            },
            {
                "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-paramvalue-show-!redirect",
                "normalizedname": "apihelp-query+fileusage-paramvalue-show-!redirect",
                "*": "Only show non-redirects."
            },
            {
                "name": "apihelp-query+fileusage-paramvalue-show-redirect",
                "normalizedname": "apihelp-query+fileusage-paramvalue-show-redirect",
                "*": "Only show redirects."
            },
            {
                "name": "apihelp-query+fileusage-summary",
                "normalizedname": "apihelp-query+fileusage-summary",
                "*": "Find all pages that use the given files."
            },
            {
                "name": "apihelp-query+gadgetcategories-example-1",
                "normalizedname": "apihelp-query+gadgetcategories-example-1",
                "*": "Get a list of existing gadget categories"
            },
            {
                "name": "apihelp-query+gadgetcategories-example-2",
                "normalizedname": "apihelp-query+gadgetcategories-example-2",
                "*": "Get all information about categories named \"foo\" and \"bar\""
            },
            {
                "name": "apihelp-query+gadgetcategories-param-names",
                "normalizedname": "apihelp-query+gadgetcategories-param-names",
                "*": "Names of categories to retrieve."
            },
            {
                "name": "apihelp-query+gadgetcategories-param-prop",
                "normalizedname": "apihelp-query+gadgetcategories-param-prop",
                "*": "What gadget category information to get:"
            },
            {
                "name": "apihelp-query+gadgetcategories-paramvalue-prop-members",
                "normalizedname": "apihelp-query+gadgetcategories-paramvalue-prop-members",
                "*": "Number of gadgets in category."
            },
            {
                "name": "apihelp-query+gadgetcategories-paramvalue-prop-name",
                "normalizedname": "apihelp-query+gadgetcategories-paramvalue-prop-name",
                "*": "Internal category name."
            },
            {
                "name": "apihelp-query+gadgetcategories-paramvalue-prop-title",
                "normalizedname": "apihelp-query+gadgetcategories-paramvalue-prop-title",
                "*": "Category title."
            },
            {
                "name": "apihelp-query+gadgetcategories-summary",
                "normalizedname": "apihelp-query+gadgetcategories-summary",
                "*": "Returns a list of gadget categories."
            },
            {
                "name": "apihelp-query+gadgets-example-1",
                "normalizedname": "apihelp-query+gadgets-example-1",
                "*": "Get a list of gadgets along with their descriptions"
            },
            {
                "name": "apihelp-query+gadgets-example-2",
                "normalizedname": "apihelp-query+gadgets-example-2",
                "*": "Get a list of gadgets with all possible properties"
            },
            {
                "name": "apihelp-query+gadgets-example-3",
                "normalizedname": "apihelp-query+gadgets-example-3",
                "*": "Get a list of gadgets belonging to category \"foo\""
            },
            {
                "name": "apihelp-query+gadgets-example-4",
                "normalizedname": "apihelp-query+gadgets-example-4",
                "*": "Get information about gadgets \"foo\" and \"bar\""
            },
            {
                "name": "apihelp-query+gadgets-example-5",
                "normalizedname": "apihelp-query+gadgets-example-5",
                "*": "Get a list of gadgets enabled by current user"
            },
            {
                "name": "apihelp-query+gadgets-param-allowedonly",
                "normalizedname": "apihelp-query+gadgets-param-allowedonly",
                "*": "List only gadgets allowed to current user."
            },
            {
                "name": "apihelp-query+gadgets-param-categories",
                "normalizedname": "apihelp-query+gadgets-param-categories",
                "*": "Gadgets from what categories to retrieve."
            },
            {
                "name": "apihelp-query+gadgets-param-enabledonly",
                "normalizedname": "apihelp-query+gadgets-param-enabledonly",
                "*": "List only gadgets enabled by current user."
            },
            {
                "name": "apihelp-query+gadgets-param-ids",
                "normalizedname": "apihelp-query+gadgets-param-ids",
                "*": "IDs of gadgets to retrieve."
            },
            {
                "name": "apihelp-query+gadgets-param-prop",
                "normalizedname": "apihelp-query+gadgets-param-prop",
                "*": "What gadget information to get:"
            },
            {
                "name": "apihelp-query+gadgets-paramvalue-prop-desc",
                "normalizedname": "apihelp-query+gadgets-paramvalue-prop-desc",
                "*": "Gadget description transformed into HTML (can be slow, use only if really needed)."
            },
            {
                "name": "apihelp-query+gadgets-paramvalue-prop-id",
                "normalizedname": "apihelp-query+gadgets-paramvalue-prop-id",
                "*": "Internal gadget ID."
            },
            {
                "name": "apihelp-query+gadgets-paramvalue-prop-metadata",
                "normalizedname": "apihelp-query+gadgets-paramvalue-prop-metadata",
                "*": "The gadget metadata."
            },
            {
                "name": "apihelp-query+gadgets-summary",
                "normalizedname": "apihelp-query+gadgets-summary",
                "*": "Returns a list of gadgets used on this wiki."
            },
            {
                "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. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "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. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-canonicaltitle",
                "*": "Adds the canonical title of the file. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-comment",
                "*": "Comment on the version. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "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. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-mediatype",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-mediatype",
                "*": "Adds the media type of the file. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-metadata",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-metadata",
                "*": "Lists Exif metadata for the version of the file. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-mime",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-mime",
                "*": "Adds MIME type of the file. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-parsedcomment",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-parsedcomment",
                "*": "Parse the comment on the version. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-sha1",
                "*": "Adds SHA-1 hash for the file. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "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). If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "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. If the file has been revision deleted, a <samp>filehidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+imageinfo-paramvalue-prop-user",
                "normalizedname": "apihelp-query+imageinfo-paramvalue-prop-user",
                "*": "Adds the user who uploaded each file version. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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 on the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+images-example-simple",
                "normalizedname": "apihelp-query+images-example-simple",
                "*": "Get a list of files used on the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+info-example-simple",
                "normalizedname": "apihelp-query+info-example-simple",
                "*": "Get information about the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+info-param-editintrocustom",
                "normalizedname": "apihelp-query+info-param-editintrocustom",
                "*": "Title of a custom page to use as an additional intro message."
            },
            {
                "name": "apihelp-query+info-param-editintroskip",
                "normalizedname": "apihelp-query+info-param-editintroskip",
                "*": "List of intro messages to remove from the response. Use this if a specific message is not relevant to your tool, or if the information is conveyed in a different way."
            },
            {
                "name": "apihelp-query+info-param-editintrostyle",
                "normalizedname": "apihelp-query+info-param-editintrostyle",
                "*": "Some intro messages come with optional wrapper frames. Use <kbd>moreframes</kbd> to include them or <kbd>lessframes</kbd> to omit them."
            },
            {
                "name": "apihelp-query+info-param-linkcontext",
                "normalizedname": "apihelp-query+info-param-linkcontext",
                "*": "The context title to use when determining extra CSS classes (e.g. link colors) when <var>$1prop</var> contains <var>linkclasses</var>."
            },
            {
                "name": "apihelp-query+info-param-preloadcustom",
                "normalizedname": "apihelp-query+info-param-preloadcustom",
                "*": "Title of a custom page to use as preloaded content."
            },
            {
                "name": "apihelp-query+info-param-preloadnewsection",
                "normalizedname": "apihelp-query+info-param-preloadnewsection",
                "*": "Return preloaded content for a new section on the page, rather than a new page."
            },
            {
                "name": "apihelp-query+info-param-preloadparams",
                "normalizedname": "apihelp-query+info-param-preloadparams",
                "*": "Parameters for the custom page being used as preloaded content."
            },
            {
                "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-testactionsautocreate",
                "normalizedname": "apihelp-query+info-param-testactionsautocreate",
                "*": "Test whether performing <var>$1testactions</var> would automatically create a temporary account."
            },
            {
                "name": "apihelp-query+info-param-testactionsdetail",
                "normalizedname": "apihelp-query+info-param-testactionsdetail",
                "*": "Detail level for <var>$1testactions</var>. Use the [[Special:ApiHelp/main|main module]]'s <var>errorformat</var> and <var>errorlang</var> parameters to control the format of the messages returned."
            },
            {
                "name": "apihelp-query+info-paraminfo-editintroonly",
                "normalizedname": "apihelp-query+info-paraminfo-editintroonly",
                "*": "Only used when <var>$3prop</var> contains <var>editintro</var>."
            },
            {
                "name": "apihelp-query+info-paraminfo-preloadcontentonly",
                "normalizedname": "apihelp-query+info-paraminfo-preloadcontentonly",
                "*": "Only used when <var>$3prop</var> contains <var>preloadcontent</var>."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-associatedpage",
                "normalizedname": "apihelp-query+info-paramvalue-prop-associatedpage",
                "*": "The prefixed title of the [[:mw:Special:MyLanguage/Help:Associated_pages|associated subject or talk page]]."
            },
            {
                "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-editintro",
                "normalizedname": "apihelp-query+info-paramvalue-prop-editintro",
                "*": "Gives the intro messages that should be shown to the user while editing this page or revision, as HTML."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-linkclasses",
                "normalizedname": "apihelp-query+info-paramvalue-prop-linkclasses",
                "*": "Gives the additional CSS classes (e.g. link colors) used for links to this page if they were to appear on the page named by <var>$1linkcontext</var>."
            },
            {
                "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. Use <kbd>preloadcontent</kbd> instead, which supports other kinds of preloaded text too."
            },
            {
                "name": "apihelp-query+info-paramvalue-prop-preloadcontent",
                "normalizedname": "apihelp-query+info-paramvalue-prop-preloadcontent",
                "*": "Gives the content to be shown in the editor when the page does not exist or while adding a new section."
            },
            {
                "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. Use <kbd>intestactions=read</kbd> instead."
            },
            {
                "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-paramvalue-testactionsdetail-boolean",
                "normalizedname": "apihelp-query+info-paramvalue-testactionsdetail-boolean",
                "*": "Return a boolean value for each action."
            },
            {
                "name": "apihelp-query+info-paramvalue-testactionsdetail-full",
                "normalizedname": "apihelp-query+info-paramvalue-testactionsdetail-full",
                "*": "Return messages describing why the action is disallowed, or an empty array if it is allowed."
            },
            {
                "name": "apihelp-query+info-paramvalue-testactionsdetail-quick",
                "normalizedname": "apihelp-query+info-paramvalue-testactionsdetail-quick",
                "*": "Like <kbd>full</kbd> but skipping expensive checks."
            },
            {
                "name": "apihelp-query+info-summary",
                "normalizedname": "apihelp-query+info-summary",
                "*": "Get basic page information."
            },
            {
                "name": "apihelp-query+infobox-summary",
                "normalizedname": "apihelp-query+infobox-summary",
                "*": "Get infobox metadata"
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 interwiki 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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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+languageinfo-example-autonym-name-de",
                "normalizedname": "apihelp-query+languageinfo-example-autonym-name-de",
                "*": "Get the autonyms and German names of all supported languages."
            },
            {
                "name": "apihelp-query+languageinfo-example-bcp47-dir",
                "normalizedname": "apihelp-query+languageinfo-example-bcp47-dir",
                "*": "Get the BCP-47 language code and direction of all supported languages."
            },
            {
                "name": "apihelp-query+languageinfo-example-fallbacks-variants-oc",
                "normalizedname": "apihelp-query+languageinfo-example-fallbacks-variants-oc",
                "*": "Get the fallback languages and variants of Occitan."
            },
            {
                "name": "apihelp-query+languageinfo-example-simple",
                "normalizedname": "apihelp-query+languageinfo-example-simple",
                "*": "Get the language codes of all supported languages."
            },
            {
                "name": "apihelp-query+languageinfo-extended-description",
                "normalizedname": "apihelp-query+languageinfo-extended-description",
                "*": "[[mw:Special:MyLanguage/API:Continue|Continuation]] may be applied if retrieving the information takes too long for one request."
            },
            {
                "name": "apihelp-query+languageinfo-param-code",
                "normalizedname": "apihelp-query+languageinfo-param-code",
                "*": "Language codes of the languages that should be returned, or <code>*</code> for all languages."
            },
            {
                "name": "apihelp-query+languageinfo-param-prop",
                "normalizedname": "apihelp-query+languageinfo-param-prop",
                "*": "Which information to get for each language."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-autonym",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-autonym",
                "*": "The autonym of the language, that is, the name in that language."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-bcp47",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-bcp47",
                "*": "The BCP-47 language code."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-code",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-code",
                "*": "The language code. (This code is MediaWiki-specific, though there are overlaps with other standards.)"
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-dir",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-dir",
                "*": "The writing direction of the language (either <code>ltr</code> or <code>rtl</code>)."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-fallbacks",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-fallbacks",
                "*": "The language codes of the fallback languages configured for this language. The implicit final fallback to 'en' is not included (but some languages may fall back to 'en' explicitly)."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-name",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-name",
                "*": "The name of the language in the language specified by the <var>uselang</var> parameter, with language fallbacks applied if necessary."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-variantnames",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-variantnames",
                "*": "The short names for language variants used for language conversion links."
            },
            {
                "name": "apihelp-query+languageinfo-paramvalue-prop-variants",
                "normalizedname": "apihelp-query+languageinfo-paramvalue-prop-variants",
                "*": "The language codes of the variants supported by this language."
            },
            {
                "name": "apihelp-query+languageinfo-summary",
                "normalizedname": "apihelp-query+languageinfo-summary",
                "*": "Return information about available languages."
            },
            {
                "name": "apihelp-query+links-example-generator",
                "normalizedname": "apihelp-query+links-example-generator",
                "*": "Get information about the link pages in the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+links-example-namespaces",
                "normalizedname": "apihelp-query+links-example-namespaces",
                "*": "Get links from the page [[{{MediaWiki:Mainpage}}]] 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 [[{{MediaWiki:Mainpage}}]]"
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+linkshere-example-simple",
                "normalizedname": "apihelp-query+linkshere-example-simple",
                "*": "Get a list of pages linking to the [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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:"
            },
            {
                "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-paramvalue-show-!redirect",
                "normalizedname": "apihelp-query+linkshere-paramvalue-show-!redirect",
                "*": "Only show non-redirects."
            },
            {
                "name": "apihelp-query+linkshere-paramvalue-show-redirect",
                "normalizedname": "apihelp-query+linkshere-paramvalue-show-redirect",
                "*": "Only show redirects."
            },
            {
                "name": "apihelp-query+linkshere-summary",
                "normalizedname": "apihelp-query+linkshere-summary",
                "*": "Find all pages that link to the given pages."
            },
            {
                "name": "apihelp-query+linterrors-example-1",
                "normalizedname": "apihelp-query+linterrors-example-1",
                "*": "Get all lint errors of the obsolete-tag category"
            },
            {
                "name": "apihelp-query+linterrors-param-categories",
                "normalizedname": "apihelp-query+linterrors-param-categories",
                "*": "Categories of lint errors"
            },
            {
                "name": "apihelp-query+linterrors-param-from",
                "normalizedname": "apihelp-query+linterrors-param-from",
                "*": "Lint ID to start querying from"
            },
            {
                "name": "apihelp-query+linterrors-param-invisible-categories",
                "normalizedname": "apihelp-query+linterrors-param-invisible-categories",
                "*": "Invisible categories of lint errors"
            },
            {
                "name": "apihelp-query+linterrors-param-limit",
                "normalizedname": "apihelp-query+linterrors-param-limit",
                "*": "Number of results to query"
            },
            {
                "name": "apihelp-query+linterrors-param-namespace",
                "normalizedname": "apihelp-query+linterrors-param-namespace",
                "*": "Only include lint errors from the specified namespaces"
            },
            {
                "name": "apihelp-query+linterrors-param-pageid",
                "normalizedname": "apihelp-query+linterrors-param-pageid",
                "*": "Only include lint errors from the specified page IDs"
            },
            {
                "name": "apihelp-query+linterrors-param-title",
                "normalizedname": "apihelp-query+linterrors-param-title",
                "*": "Only include lint errors from the specified page title"
            },
            {
                "name": "apihelp-query+linterrors-summary",
                "normalizedname": "apihelp-query+linterrors-summary",
                "*": "Get a list of lint errors"
            },
            {
                "name": "apihelp-query+linterstats-example-1",
                "normalizedname": "apihelp-query+linterstats-example-1",
                "*": "Get number of lint errors in each category"
            },
            {
                "name": "apihelp-query+linterstats-summary",
                "normalizedname": "apihelp-query+linterstats-summary",
                "*": "Get number of lint errors in each category"
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+logevents-paramvalue-prop-details",
                "normalizedname": "apihelp-query+logevents-paramvalue-prop-details",
                "*": "Lists additional details about the log event. If the log event has been revision deleted, an <samp>actionhidden</samp> property will be returned."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+logevents-summary",
                "normalizedname": "apihelp-query+logevents-summary",
                "*": "Get events from logs."
            },
            {
                "name": "apihelp-query+mathwbextracts-example-1",
                "normalizedname": "apihelp-query+mathwbextracts-example-1",
                "*": "Requests a summary of mathematical Wikibase items."
            },
            {
                "name": "apihelp-query+mathwbextracts-param-qid",
                "normalizedname": "apihelp-query+mathwbextracts-param-qid",
                "*": "The QID of the Wikibase item that will be requested."
            },
            {
                "name": "apihelp-query+mathwbextracts-param-uselang",
                "normalizedname": "apihelp-query+mathwbextracts-param-uselang",
                "*": "The language that should be requested for the Wikibase item. English is the default value."
            },
            {
                "name": "apihelp-query+mathwbextracts-summary",
                "normalizedname": "apihelp-query+mathwbextracts-summary",
                "*": "Returns a summary of a mathematical Wikibase item in HTML."
            },
            {
                "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+notifications-example-1",
                "normalizedname": "apihelp-query+notifications-example-1",
                "*": "List web notifications"
            },
            {
                "name": "apihelp-query+notifications-example-2",
                "normalizedname": "apihelp-query+notifications-example-2",
                "*": "List web notifications, grouped by section, with counts"
            },
            {
                "name": "apihelp-query+notifications-example-3",
                "normalizedname": "apihelp-query+notifications-example-3",
                "*": "List email notifications"
            },
            {
                "name": "apihelp-query+notifications-param-alertcontinue",
                "normalizedname": "apihelp-query+notifications-param-alertcontinue",
                "*": "When more alert results are available, use this to continue."
            },
            {
                "name": "apihelp-query+notifications-param-alertunreadfirst",
                "normalizedname": "apihelp-query+notifications-param-alertunreadfirst",
                "*": "Whether to show unread message notifications first (only used if groupbysection is set)."
            },
            {
                "name": "apihelp-query+notifications-param-bundle",
                "normalizedname": "apihelp-query+notifications-param-bundle",
                "*": "Whether to show bundle compatible unread notifications according to notification types bundling rules."
            },
            {
                "name": "apihelp-query+notifications-param-crosswikisummary",
                "normalizedname": "apihelp-query+notifications-param-crosswikisummary",
                "*": "True to opt in to a summary notification of notifications on foreign wikis."
            },
            {
                "name": "apihelp-query+notifications-param-filter",
                "normalizedname": "apihelp-query+notifications-param-filter",
                "*": "Filter notifications returned."
            },
            {
                "name": "apihelp-query+notifications-param-format",
                "normalizedname": "apihelp-query+notifications-param-format",
                "*": "If specified, notifications will be returned formatted this way."
            },
            {
                "name": "apihelp-query+notifications-param-groupbysection",
                "normalizedname": "apihelp-query+notifications-param-groupbysection",
                "*": "Whether to group the result by section. Each section is fetched separately if set."
            },
            {
                "name": "apihelp-query+notifications-param-limit",
                "normalizedname": "apihelp-query+notifications-param-limit",
                "*": "The maximum number of notifications to return."
            },
            {
                "name": "apihelp-query+notifications-param-messagecontinue",
                "normalizedname": "apihelp-query+notifications-param-messagecontinue",
                "*": "When more message results are available, use this to continue."
            },
            {
                "name": "apihelp-query+notifications-param-messageunreadfirst",
                "normalizedname": "apihelp-query+notifications-param-messageunreadfirst",
                "*": "Whether to show unread alert notifications first (only used if groupbysection is set)."
            },
            {
                "name": "apihelp-query+notifications-param-notifiertypes",
                "normalizedname": "apihelp-query+notifications-param-notifiertypes",
                "*": "Notifier types for which to return notifications."
            },
            {
                "name": "apihelp-query+notifications-param-prop",
                "normalizedname": "apihelp-query+notifications-param-prop",
                "*": "Details to request."
            },
            {
                "name": "apihelp-query+notifications-param-sections",
                "normalizedname": "apihelp-query+notifications-param-sections",
                "*": "The notification sections to query (i.e. some combination of 'alert' and 'message')."
            },
            {
                "name": "apihelp-query+notifications-param-titles",
                "normalizedname": "apihelp-query+notifications-param-titles",
                "*": "Only return notifications for these pages. To get notifications not associated with any page, use [] as a title."
            },
            {
                "name": "apihelp-query+notifications-param-unreadfirst",
                "normalizedname": "apihelp-query+notifications-param-unreadfirst",
                "*": "Whether to show unread notifications first (only used if groupbysection is not set)."
            },
            {
                "name": "apihelp-query+notifications-param-wikis",
                "normalizedname": "apihelp-query+notifications-param-wikis",
                "*": "List of wikis to fetch notifications from (defaults to only current wiki)."
            },
            {
                "name": "apihelp-query+notifications-paramvalue-format-flyout",
                "normalizedname": "apihelp-query+notifications-paramvalue-format-flyout",
                "*": "<span class=\"apihelp-deprecated\">Deprecated</span>. Use <kbd>$1format=model</kbd> for raw data"
            },
            {
                "name": "apihelp-query+notifications-paramvalue-format-html",
                "normalizedname": "apihelp-query+notifications-paramvalue-format-html",
                "*": "<span class=\"apihelp-deprecated\">Deprecated</span>. Use <kbd>$1format=model</kbd> for raw data"
            },
            {
                "name": "apihelp-query+notifications-paramvalue-format-model",
                "normalizedname": "apihelp-query+notifications-paramvalue-format-model",
                "*": "Raw notification data"
            },
            {
                "name": "apihelp-query+notifications-paramvalue-format-special",
                "normalizedname": "apihelp-query+notifications-paramvalue-format-special",
                "*": "Formatted for Special:Notifications page (and only that!) Do not rely on the HTML as it may change at any given time."
            },
            {
                "name": "apihelp-query+notifications-summary",
                "normalizedname": "apihelp-query+notifications-summary",
                "*": "Get notifications waiting for the current user."
            },
            {
                "name": "apihelp-query+oath-example-1",
                "normalizedname": "apihelp-query+oath-example-1",
                "*": "Get information about the current user"
            },
            {
                "name": "apihelp-query+oath-example-2",
                "normalizedname": "apihelp-query+oath-example-2",
                "*": "Get information about user <kbd>Example</kbd>"
            },
            {
                "name": "apihelp-query+oath-param-reason",
                "normalizedname": "apihelp-query+oath-param-reason",
                "*": "Reason for querying the OATH status."
            },
            {
                "name": "apihelp-query+oath-param-user",
                "normalizedname": "apihelp-query+oath-param-user",
                "*": "User to get information about. Defaults to the current user."
            },
            {
                "name": "apihelp-query+oath-summary",
                "normalizedname": "apihelp-query+oath-summary",
                "*": "Check to see if two-factor authentication (OATH) is enabled for a user."
            },
            {
                "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>{{MediaWiki:Mainpage}}</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-slot",
                "normalizedname": "apihelp-query+recentchanges-param-slot",
                "*": "Only list changes that touch the named slot."
            },
            {
                "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-title",
                "normalizedname": "apihelp-query+recentchanges-param-title",
                "*": "Filter entries to those related to a page."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the content has been revision deleted, a <samp>sha1hidden</samp> property will be returned."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+recentchanges-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+recentchanges-paramvalue-prop-userid",
                "*": "Adds the user ID responsible for the edit. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+redirects-example-simple",
                "normalizedname": "apihelp-query+redirects-example-simple",
                "*": "Get a list of redirects to the [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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:"
            },
            {
                "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-paramvalue-show-!fragment",
                "normalizedname": "apihelp-query+redirects-paramvalue-show-!fragment",
                "*": "Only show redirects without a fragment."
            },
            {
                "name": "apihelp-query+redirects-paramvalue-show-fragment",
                "normalizedname": "apihelp-query+redirects-paramvalue-show-fragment",
                "*": "Only show redirects with a fragment."
            },
            {
                "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-contentformat-slot",
                "normalizedname": "apihelp-query+revisions+base-param-contentformat-slot",
                "*": "Content serialization format used 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 the section with this identifier."
            },
            {
                "name": "apihelp-query+revisions+base-param-slots",
                "normalizedname": "apihelp-query+revisions+base-param-slots",
                "*": "Which revision slots to return data for, when slot-related properties are included in <var>$1props</var>. If omitted, data from the <kbd>main</kbd> slot will be returned in a backwards-compatible format."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-comment",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-comment",
                "*": "Comment by the user for the revision. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-content",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-content",
                "*": "Content of each revision slot. If the content has been revision deleted, a <samp>texthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-contentmodel",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-contentmodel",
                "*": "Content model ID of each revision slot."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-parsetree",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-parsetree",
                "*": "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-roles",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-roles",
                "*": "List content slot roles that exist in the revision."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-sha1",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-sha1",
                "*": "SHA-1 (base 16) of the revision. If the content has been revision deleted, a <samp>sha1hidden</samp> property will be returned."
            },
            {
                "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-slotsha1",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-slotsha1",
                "*": "SHA-1 (base 16) of each revision slot. If the content has been revision deleted, a <samp>sha1hidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-slotsize",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-slotsize",
                "*": "Length (bytes) of each revision slot."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+revisions+base-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+revisions+base-paramvalue-prop-userid",
                "*": "User ID of the revision creator. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+revisions-example-first5",
                "normalizedname": "apihelp-query+revisions-example-first5",
                "*": "Get first 5 revisions of the [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+revisions-example-first5-after",
                "normalizedname": "apihelp-query+revisions-example-first5-after",
                "*": "Get first 5 revisions of the [[{{MediaWiki:Mainpage}}]] 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 [[{{MediaWiki:Mainpage}}]] 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 [[{{MediaWiki:Mainpage}}]] 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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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-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-sort",
                "normalizedname": "apihelp-query+search-param-sort",
                "*": "Set the sort order of returned results."
            },
            {
                "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 the matching category name, with query term highlighting markup."
            },
            {
                "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 the title of the matching redirect, with query term highlighting markup."
            },
            {
                "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 the title of the matching section, with query term highlighting markup."
            },
            {
                "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 snippet of the page, with query term highlighting markup."
            },
            {
                "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 the page title, with query term highlighting markup."
            },
            {
                "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-autocreatetempuser",
                "normalizedname": "apihelp-query+siteinfo-paramvalue-prop-autocreatetempuser",
                "*": "Returns configuration for the automatic creation of temporary user accounts (also known as IP masking)."
            },
            {
                "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 the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+templates-example-simple",
                "normalizedname": "apihelp-query+templates-example-simple",
                "*": "Get the templates used on the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-query+transcludedin-example-simple",
                "normalizedname": "apihelp-query+transcludedin-example-simple",
                "*": "Get a list of pages transcluding [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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:"
            },
            {
                "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-paramvalue-show-!redirect",
                "normalizedname": "apihelp-query+transcludedin-paramvalue-show-!redirect",
                "*": "Only show non-redirects."
            },
            {
                "name": "apihelp-query+transcludedin-paramvalue-show-redirect",
                "normalizedname": "apihelp-query+transcludedin-paramvalue-show-redirect",
                "*": "Only show redirects."
            },
            {
                "name": "apihelp-query+transcludedin-summary",
                "normalizedname": "apihelp-query+transcludedin-summary",
                "*": "Find all pages that transclude the given pages."
            },
            {
                "name": "apihelp-query+unreadnotificationpages-example-1",
                "normalizedname": "apihelp-query+unreadnotificationpages-example-1",
                "*": "List pages with (their amount of) unread notifications"
            },
            {
                "name": "apihelp-query+unreadnotificationpages-param-grouppages",
                "normalizedname": "apihelp-query+unreadnotificationpages-param-grouppages",
                "*": "Group talk pages together with their subject page, and group notifications not associated with a page together with the current user's user page."
            },
            {
                "name": "apihelp-query+unreadnotificationpages-param-limit",
                "normalizedname": "apihelp-query+unreadnotificationpages-param-limit",
                "*": "The maximum number of pages to return."
            },
            {
                "name": "apihelp-query+unreadnotificationpages-param-wikis",
                "normalizedname": "apihelp-query+unreadnotificationpages-param-wikis",
                "*": "List of wikis to fetch pages with unread notifications from (defaults to only current wiki)."
            },
            {
                "name": "apihelp-query+unreadnotificationpages-summary",
                "normalizedname": "apihelp-query+unreadnotificationpages-summary",
                "*": "Get pages for which there are unread notifications for the current user."
            },
            {
                "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, i.e. revisions after this timestamp."
            },
            {
                "name": "apihelp-query+usercontribs-param-iprange",
                "normalizedname": "apihelp-query+usercontribs-param-iprange",
                "*": "The CIDR range to retrieve contributions for. Cannot be used with <var>$1user</var>, <var>$1userprefix</var>, or <var>$1userids</var>."
            },
            {
                "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, i.e. revisions before this timestamp."
            },
            {
                "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>, <var>$1userprefix</var>, or <var>$1iprange</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>, <var>$1userprefix</var>, or <var>$1iprange</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>, <var>$1userids</var>, or <var>$1iprange</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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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-cancreateaccount",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-cancreateaccount",
                "*": "Indicates whether the user is allowed to create accounts. To check whether some specific account can be created, use [[Special:ApiHelp/query+users|<kbd>action=query&list=users&usprop=cancreate</kbd>]]."
            },
            {
                "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-latestcontrib",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-latestcontrib",
                "*": "Adds the date of user's latest contribution."
            },
            {
                "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-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-theoreticalratelimits",
                "normalizedname": "apihelp-query+userinfo-paramvalue-prop-theoreticalratelimits",
                "*": "Lists all rate limits that would apply to the current user if they were not exempt from all ratelimits based on user rights or ip"
            },
            {
                "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-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. To check whether the current user can perform the account creation, use [[Special:ApiHelp/query+userinfo|<kbd>action=query&meta=userinfo&uiprop=cancreateaccount</kbd>]]."
            },
            {
                "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-expiry",
                "normalizedname": "apihelp-query+watchlist-example-expiry",
                "*": "Fetch additional information about the top revision for recently changed pages on the current user's watchlist, including when temporarily watched items will expire."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-expiry",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-expiry",
                "*": "Adds the expiry time."
            },
            {
                "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. If the comment has been revision deleted, a <samp>commenthidden</samp> property will be returned."
            },
            {
                "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. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "name": "apihelp-query+watchlist-paramvalue-prop-userid",
                "normalizedname": "apihelp-query+watchlist-paramvalue-prop-userid",
                "*": "Adds user ID of whoever made the edit. If the user has been revision deleted, a <samp>userhidden</samp> property will be returned."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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-exportschema",
                "normalizedname": "apihelp-query-param-exportschema",
                "*": "Target the given version of the XML dump format when exporting. Can only be used with <var>$1export</var>."
            },
            {
                "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>[email protected]</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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]] by user <kbd>Example</kbd>."
            },
            {
                "name": "apihelp-rollback-example-summary",
                "normalizedname": "apihelp-rollback-example-summary",
                "*": "Roll back the last edits to page [[{{MediaWiki:Mainpage}}]] 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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-rollback-param-watchlistexpiry",
                "normalizedname": "apihelp-rollback-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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-scribunto-console-param-clear",
                "normalizedname": "apihelp-scribunto-console-param-clear",
                "*": "Set to clear the current session state."
            },
            {
                "name": "apihelp-scribunto-console-param-content",
                "normalizedname": "apihelp-scribunto-console-param-content",
                "*": "The new content of the module."
            },
            {
                "name": "apihelp-scribunto-console-param-question",
                "normalizedname": "apihelp-scribunto-console-param-question",
                "*": "The next line to evaluate as a script."
            },
            {
                "name": "apihelp-scribunto-console-param-session",
                "normalizedname": "apihelp-scribunto-console-param-session",
                "*": "Session token."
            },
            {
                "name": "apihelp-scribunto-console-param-title",
                "normalizedname": "apihelp-scribunto-console-param-title",
                "*": "The title of the module to test."
            },
            {
                "name": "apihelp-scribunto-console-summary",
                "normalizedname": "apihelp-scribunto-console-summary",
                "*": "Internal module for servicing XHR requests from the Scribunto console."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-setnotificationtimestamp-example-pagetimestamp",
                "normalizedname": "apihelp-setnotificationtimestamp-example-pagetimestamp",
                "*": "Set the notification timestamp for [[{{MediaWiki:Mainpage}}]] 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 the page [[{{MediaWiki:Mainpage}}]] 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-smwbrowse-summary",
                "normalizedname": "apihelp-smwbrowse-summary",
                "*": "API module to support browse activities for different entity types in Semantic MediaWiki."
            },
            {
                "name": "apihelp-smwinfo-summary",
                "normalizedname": "apihelp-smwinfo-summary",
                "*": "API module to retrieve information about Semantic MediaWiki statistics and other meta information."
            },
            {
                "name": "apihelp-smwtask-param-params",
                "normalizedname": "apihelp-smwtask-param-params",
                "*": "JSON encoded parameters that match the selected task type requirement"
            },
            {
                "name": "apihelp-smwtask-param-task",
                "normalizedname": "apihelp-smwtask-param-task",
                "*": "Defines the task type"
            },
            {
                "name": "apihelp-smwtask-summary",
                "normalizedname": "apihelp-smwtask-summary",
                "*": "API module to execute Semantic MediaWiki related tasks (for internal use only, not for public use)."
            },
            {
                "name": "apihelp-spamblacklist-example-1",
                "normalizedname": "apihelp-spamblacklist-example-1",
                "*": "Check two URLs against the block list"
            },
            {
                "name": "apihelp-spamblacklist-param-url",
                "normalizedname": "apihelp-spamblacklist-param-url",
                "*": "URLs to validate against the block list."
            },
            {
                "name": "apihelp-spamblacklist-summary",
                "normalizedname": "apihelp-spamblacklist-summary",
                "*": "Validate one or more URLs against the spam block list."
            },
            {
                "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 identifier. <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-templatedata-example-1",
                "normalizedname": "apihelp-templatedata-example-1",
                "*": "Return TemplateData for [[Template:Foobar]], with results if the template does not exist or exists but has no TemplateData"
            },
            {
                "name": "apihelp-templatedata-example-2",
                "normalizedname": "apihelp-templatedata-example-2",
                "*": "Return TemplateData for [[Template:Phabricator]], with no results if the template does not exist or exists but has no TemplateData"
            },
            {
                "name": "apihelp-templatedata-param-doNotIgnoreMissingTitles",
                "normalizedname": "apihelp-templatedata-param-doNotIgnoreMissingTitles",
                "*": "Return data about titles even if they are missing or lack TemplateData. By default (for backwards compatibility) titles are only returned if they exist and have TemplateData."
            },
            {
                "name": "apihelp-templatedata-param-includeMissingTitles",
                "normalizedname": "apihelp-templatedata-param-includeMissingTitles",
                "*": "Return data about titles even if they are missing or lack TemplateData. By default titles are only returned if they exist and have TemplateData."
            },
            {
                "name": "apihelp-templatedata-param-lang",
                "normalizedname": "apihelp-templatedata-param-lang",
                "*": "Return localized values in this language. By default all available translations are returned."
            },
            {
                "name": "apihelp-templatedata-summary",
                "normalizedname": "apihelp-templatedata-summary",
                "*": "Fetch data stored by the TemplateData extension."
            },
            {
                "name": "apihelp-thank-example-1",
                "normalizedname": "apihelp-thank-example-1",
                "*": "Send thanks for revision <kbd>ID 456</kbd>, with the source being a diff page"
            },
            {
                "name": "apihelp-thank-param-log",
                "normalizedname": "apihelp-thank-param-log",
                "*": "Log ID to thank someone for. This or 'rev' must be provided."
            },
            {
                "name": "apihelp-thank-param-rev",
                "normalizedname": "apihelp-thank-param-rev",
                "*": "Revision ID to thank someone for. This or 'log' must be provided."
            },
            {
                "name": "apihelp-thank-param-source",
                "normalizedname": "apihelp-thank-param-source",
                "*": "A short string describing the source of the request, for example <kbd>diff</kbd> or <kbd>history</kbd>."
            },
            {
                "name": "apihelp-thank-summary",
                "normalizedname": "apihelp-thank-summary",
                "*": "Send a thank-you notification to an editor."
            },
            {
                "name": "apihelp-titleblacklist-example-1",
                "normalizedname": "apihelp-titleblacklist-example-1",
                "*": "Check whether [[Foo]] is blacklisted"
            },
            {
                "name": "apihelp-titleblacklist-example-2",
                "normalizedname": "apihelp-titleblacklist-example-2",
                "*": "Check whether [[Bar]] is blacklisted for editing"
            },
            {
                "name": "apihelp-titleblacklist-param-action",
                "normalizedname": "apihelp-titleblacklist-param-action",
                "*": "The action to be checked."
            },
            {
                "name": "apihelp-titleblacklist-param-nooverride",
                "normalizedname": "apihelp-titleblacklist-param-nooverride",
                "*": "Don't try to override the titleblacklist."
            },
            {
                "name": "apihelp-titleblacklist-param-title",
                "normalizedname": "apihelp-titleblacklist-param-title",
                "*": "The string to validate against the blacklist."
            },
            {
                "name": "apihelp-titleblacklist-summary",
                "normalizedname": "apihelp-titleblacklist-summary",
                "*": "Validate a page title, filename, or username against the TitleBlacklist."
            },
            {
                "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>."
            },
            {
                "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",
                "*": "User to unblock. Cannot be used together with <var>$1id</var>."
            },
            {
                "name": "apihelp-unblock-param-userid",
                "normalizedname": "apihelp-unblock-param-userid",
                "*": "Specify <kbd>$1user=#<var>ID</var></kbd> instead."
            },
            {
                "name": "apihelp-unblock-param-watchlistexpiry",
                "normalizedname": "apihelp-unblock-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "name": "apihelp-unblock-param-watchuser",
                "normalizedname": "apihelp-unblock-param-watchuser",
                "*": "Watch the user's or IP address's user and talk pages."
            },
            {
                "name": "apihelp-unblock-summary",
                "normalizedname": "apihelp-unblock-summary",
                "*": "Unblock a user."
            },
            {
                "name": "apihelp-undelete-example-page",
                "normalizedname": "apihelp-undelete-example-page",
                "*": "Undelete page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-undelete-example-revisions",
                "normalizedname": "apihelp-undelete-example-revisions",
                "*": "Undelete two revisions of page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "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 undelete. If both <var>$1timestamps</var> and <var>$1fileids</var> are empty, all will be undeleted."
            },
            {
                "name": "apihelp-undelete-param-title",
                "normalizedname": "apihelp-undelete-param-title",
                "*": "Title of the page to undelete."
            },
            {
                "name": "apihelp-undelete-param-undeletetalk",
                "normalizedname": "apihelp-undelete-param-undeletetalk",
                "*": "Undelete all revisions of the associated talk page, if any."
            },
            {
                "name": "apihelp-undelete-param-watchlist",
                "normalizedname": "apihelp-undelete-param-watchlist",
                "*": "Unconditionally add or remove the page from the current user's watchlist, use preferences (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-undelete-param-watchlistexpiry",
                "normalizedname": "apihelp-undelete-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "name": "apihelp-undelete-summary",
                "normalizedname": "apihelp-undelete-summary",
                "*": "Undelete 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 (ignored for bot users) or do not change watch."
            },
            {
                "name": "apihelp-upload-param-watchlistexpiry",
                "normalizedname": "apihelp-upload-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "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": "apihelp-userrights-param-userid",
                "normalizedname": "apihelp-userrights-param-userid",
                "*": "Specify <kbd>$1user=#<var>ID</var></kbd> instead."
            },
            {
                "name": "apihelp-userrights-param-watchlistexpiry",
                "normalizedname": "apihelp-userrights-param-watchlistexpiry",
                "*": "Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged."
            },
            {
                "name": "apihelp-userrights-param-watchuser",
                "normalizedname": "apihelp-userrights-param-watchuser",
                "*": "Watch the user's user and talk pages."
            },
            {
                "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",
                "*": "Username, 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-visualeditor-param-badetag",
                "normalizedname": "apihelp-visualeditor-param-badetag",
                "*": "If RESTBase query returned a seemingly invalid ETag, pass it here for logging purposes."
            },
            {
                "name": "apihelp-visualeditor-param-basetimestamp",
                "normalizedname": "apihelp-visualeditor-param-basetimestamp",
                "*": "When saving, set this to the timestamp of the revision that was edited. Used to detect edit conflicts."
            },
            {
                "name": "apihelp-visualeditor-param-cachekey",
                "normalizedname": "apihelp-visualeditor-param-cachekey",
                "*": "For serialize or diff, use the result of a previous serializeforcache request with this key. Overrides $1html."
            },
            {
                "name": "apihelp-visualeditor-param-editintro",
                "normalizedname": "apihelp-visualeditor-param-editintro",
                "*": "Edit intro to add to notices."
            },
            {
                "name": "apihelp-visualeditor-param-etag",
                "normalizedname": "apihelp-visualeditor-param-etag",
                "*": "ETag to send."
            },
            {
                "name": "apihelp-visualeditor-param-format",
                "normalizedname": "apihelp-visualeditor-param-format",
                "*": "The format of the output."
            },
            {
                "name": "apihelp-visualeditor-param-html",
                "normalizedname": "apihelp-visualeditor-param-html",
                "*": "HTML to send to Parsoid to convert to wikitext."
            },
            {
                "name": "apihelp-visualeditor-param-oldid",
                "normalizedname": "apihelp-visualeditor-param-oldid",
                "*": "The revision number to use (defaults to latest revision)."
            },
            {
                "name": "apihelp-visualeditor-param-paction",
                "normalizedname": "apihelp-visualeditor-param-paction",
                "*": "Action to perform."
            },
            {
                "name": "apihelp-visualeditor-param-page",
                "normalizedname": "apihelp-visualeditor-param-page",
                "*": "The page to perform actions on."
            },
            {
                "name": "apihelp-visualeditor-param-preload",
                "normalizedname": "apihelp-visualeditor-param-preload",
                "*": "The page to use content from if the fetched page has no content yet."
            },
            {
                "name": "apihelp-visualeditor-param-preloadparams",
                "normalizedname": "apihelp-visualeditor-param-preloadparams",
                "*": "Parameters to substitute into the preload page, if present."
            },
            {
                "name": "apihelp-visualeditor-param-pst",
                "normalizedname": "apihelp-visualeditor-param-pst",
                "*": "Pre-save transform wikitext before sending it to Parsoid (paction=parsefragment)."
            },
            {
                "name": "apihelp-visualeditor-param-section",
                "normalizedname": "apihelp-visualeditor-param-section",
                "*": "The section on which to act."
            },
            {
                "name": "apihelp-visualeditor-param-starttimestamp",
                "normalizedname": "apihelp-visualeditor-param-starttimestamp",
                "*": "When saving, set this to the timestamp of when the page was loaded. Used to detect edit conflicts."
            },
            {
                "name": "apihelp-visualeditor-param-stash",
                "normalizedname": "apihelp-visualeditor-param-stash",
                "*": "When saving, set this true if you want to use the stashing API."
            },
            {
                "name": "apihelp-visualeditor-param-wikitext",
                "normalizedname": "apihelp-visualeditor-param-wikitext",
                "*": "Wikitext to send to Parsoid to convert to HTML (paction=parsefragment)."
            },
            {
                "name": "apihelp-visualeditor-summary",
                "normalizedname": "apihelp-visualeditor-summary",
                "*": "Returns HTML5 for a page from the Parsoid service."
            },
            {
                "name": "apihelp-visualeditoredit-param-basetimestamp",
                "normalizedname": "apihelp-visualeditoredit-param-basetimestamp",
                "*": "When saving, set this to the timestamp of the revision that was edited. Used to detect edit conflicts."
            },
            {
                "name": "apihelp-visualeditoredit-param-cachekey",
                "normalizedname": "apihelp-visualeditoredit-param-cachekey",
                "*": "Use the result of a previous serializeforcache request with this key. Overrides $1html."
            },
            {
                "name": "apihelp-visualeditoredit-param-captchaid",
                "normalizedname": "apihelp-visualeditoredit-param-captchaid",
                "*": "Captcha ID (when saving with a captcha response)."
            },
            {
                "name": "apihelp-visualeditoredit-param-captchaword",
                "normalizedname": "apihelp-visualeditoredit-param-captchaword",
                "*": "Answer to the captcha (when saving with a captcha response)."
            },
            {
                "name": "apihelp-visualeditoredit-param-data-{plugin}",
                "normalizedname": "apihelp-visualeditoredit-param-data-{plugin}",
                "*": "Arbitrary data sent by a plugin with the API request."
            },
            {
                "name": "apihelp-visualeditoredit-param-etag",
                "normalizedname": "apihelp-visualeditoredit-param-etag",
                "*": "ETag to send."
            },
            {
                "name": "apihelp-visualeditoredit-param-html",
                "normalizedname": "apihelp-visualeditoredit-param-html",
                "*": "HTML to send to Parsoid in exchange for wikitext."
            },
            {
                "name": "apihelp-visualeditoredit-param-minor",
                "normalizedname": "apihelp-visualeditoredit-param-minor",
                "*": "Flag for minor edit."
            },
            {
                "name": "apihelp-visualeditoredit-param-needcheck",
                "normalizedname": "apihelp-visualeditoredit-param-needcheck",
                "*": "When saving, set this parameter if the revision might have roundtrip problems. This will result in the edit being tagged."
            },
            {
                "name": "apihelp-visualeditoredit-param-nocontent",
                "normalizedname": "apihelp-visualeditoredit-param-nocontent",
                "*": "Omit the HTML content of the new revision in the response."
            },
            {
                "name": "apihelp-visualeditoredit-param-oldid",
                "normalizedname": "apihelp-visualeditoredit-param-oldid",
                "*": "The revision number to use. Defaults to latest revision."
            },
            {
                "name": "apihelp-visualeditoredit-param-paction",
                "normalizedname": "apihelp-visualeditoredit-param-paction",
                "*": "Action to perform."
            },
            {
                "name": "apihelp-visualeditoredit-param-page",
                "normalizedname": "apihelp-visualeditoredit-param-page",
                "*": "The page to perform actions on."
            },
            {
                "name": "apihelp-visualeditoredit-param-plugins",
                "normalizedname": "apihelp-visualeditoredit-param-plugins",
                "*": "Plugins associated with the API request."
            },
            {
                "name": "apihelp-visualeditoredit-param-section",
                "normalizedname": "apihelp-visualeditoredit-param-section",
                "*": "The section on which to act."
            },
            {
                "name": "apihelp-visualeditoredit-param-sectiontitle",
                "normalizedname": "apihelp-visualeditoredit-param-sectiontitle",
                "*": "Title for new section."
            },
            {
                "name": "apihelp-visualeditoredit-param-starttimestamp",
                "normalizedname": "apihelp-visualeditoredit-param-starttimestamp",
                "*": "When saving, set this to the timestamp of when the page was loaded. Used to detect edit conflicts."
            },
            {
                "name": "apihelp-visualeditoredit-param-summary",
                "normalizedname": "apihelp-visualeditoredit-param-summary",
                "*": "Edit summary."
            },
            {
                "name": "apihelp-visualeditoredit-param-tags",
                "normalizedname": "apihelp-visualeditoredit-param-tags",
                "*": "Change tags to apply to the edit."
            },
            {
                "name": "apihelp-visualeditoredit-param-watchlist",
                "normalizedname": "apihelp-visualeditoredit-param-watchlist",
                "*": "{{int:apihelp-edit-param-watchlist}}"
            },
            {
                "name": "apihelp-visualeditoredit-param-wikitext",
                "normalizedname": "apihelp-visualeditoredit-param-wikitext",
                "*": "The wikitext to act with."
            },
            {
                "name": "apihelp-visualeditoredit-summary",
                "normalizedname": "apihelp-visualeditoredit-summary",
                "*": "Save an HTML5 page to MediaWiki (converted to wikitext via the Parsoid service)."
            },
            {
                "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 [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-watch-example-watch",
                "normalizedname": "apihelp-watch-example-watch",
                "*": "Watch the page [[{{MediaWiki:Mainpage}}]]."
            },
            {
                "name": "apihelp-watch-example-watch-expiry",
                "normalizedname": "apihelp-watch-example-watch-expiry",
                "*": "Watch the pages [[{{MediaWiki:Mainpage}}]], <kbd>Foo</kbd>, and <kbd>Bar</kbd> for one month."
            },
            {
                "name": "apihelp-watch-param-expiry",
                "normalizedname": "apihelp-watch-param-expiry",
                "*": "Expiry timestamp to be applied to all given pages. Omit this parameter entirely to leave any current expiries unchanged."
            },
            {
                "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-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/Special:MyLanguage/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-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 [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page the API documentation] for further details of API usage. Example: [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tutorial#A_simple_query search for page titles matching a certain keyword]. 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-php-label",
                "normalizedname": "apisandbox-request-format-php-label",
                "*": "PHP array"
            },
            {
                "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-php-label",
                "normalizedname": "apisandbox-request-php-label",
                "*": "Request PHP array:"
            },
            {
                "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-templated-parameter-reason",
                "normalizedname": "apisandbox-templated-parameter-reason",
                "*": "This [[Special:ApiHelp/main#main/templatedparams|templated parameter]] is offered based on the {{PLURAL:$1|value|values}} of $2."
            },
            {
                "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-no-next",
                "normalizedname": "apiwarn-compare-no-next",
                "*": "Revision $2 is the latest revision of $1, there is no revision for <kbd>torelative=next</kbd> to compare to."
            },
            {
                "name": "apiwarn-compare-no-prev",
                "normalizedname": "apiwarn-compare-no-prev",
                "*": "Revision $2 is the earliest revision of $1, there is no revision for <kbd>torelative=prev</kbd> to compare to."
            },
            {
                "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-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-missingparam",
                "normalizedname": "apiwarn-deprecation-missingparam",
                "*": "Because <var>$1</var> was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
            },
            {
                "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-post-without-content-type",
                "normalizedname": "apiwarn-deprecation-post-without-content-type",
                "*": "A POST request was made without a <code>Content-Type</code> header. This does not work reliably."
            },
            {
                "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-echo-deprecation-flyout",
                "normalizedname": "apiwarn-echo-deprecation-flyout",
                "*": "<kbd>notformat=flyout</kbd> has been deprecated and will be removed soon. Use <kbd>notformat=model</kbd> to get the raw data or <kbd>notformat=special</kbd> for pre-rendered HTML."
            },
            {
                "name": "apiwarn-echo-deprecation-html",
                "normalizedname": "apiwarn-echo-deprecation-html",
                "*": "<kbd>notformat=html</kbd> has been deprecated and will be removed soon. Use <kbd>notformat=special</kbd> instead."
            },
            {
                "name": "apiwarn-echo-deprecation-timestampformat",
                "normalizedname": "apiwarn-echo-deprecation-timestampformat",
                "*": "The MW timestamp output format is deprecated here. In the future, ISO 8601 will always be used for the output timestamp format. Adjust your client and set <var>timestampFormat</var> to <kbd>ISO_8601</kbd>."
            },
            {
                "name": "apiwarn-errorprinterfailed",
                "normalizedname": "apiwarn-errorprinterfailed",
                "*": "Error printer failed. Will retry without params."
            },
            {
                "name": "apiwarn-ignoring-invalid-templated-value",
                "normalizedname": "apiwarn-ignoring-invalid-templated-value",
                "*": "Ignoring value <kbd>$2</kbd> in <var>$1</var> when processing templated parameters."
            },
            {
                "name": "apiwarn-infobox-invalidargs",
                "normalizedname": "apiwarn-infobox-invalidargs",
                "*": "Args param format is incorrect"
            },
            {
                "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-templatedata-deprecation-format",
                "normalizedname": "apiwarn-templatedata-deprecation-format",
                "*": "The default output format will change to <kbd>jsonfm</kbd> in the future. Please specify <kbd>format=json</kbd> explicitly."
            },
            {
                "name": "apiwarn-textextracts-limit",
                "normalizedname": "apiwarn-textextracts-limit",
                "*": "<var>exlimit</var> was too large for a whole article extracts request, lowered to $1."
            },
            {
                "name": "apiwarn-textextracts-malformed-html",
                "normalizedname": "apiwarn-textextracts-malformed-html",
                "*": "HTML may be malformed and/or unbalanced and may omit inline images. Use at your own risk. Known problems are listed at https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:TextExtracts#Caveats."
            },
            {
                "name": "apiwarn-textextracts-sentences-and-html",
                "normalizedname": "apiwarn-textextracts-sentences-and-html",
                "*": "The <var>$1sentences</var> parameter may have unexpected results when used in HTML mode."
            },
            {
                "name": "apiwarn-textextracts-title-in-file-namespace",
                "normalizedname": "apiwarn-textextracts-title-in-file-namespace",
                "*": "Extract for a title in File namespace was requested, none returned."
            },
            {
                "name": "apiwarn-textextracts-unsupportedmodel",
                "normalizedname": "apiwarn-textextracts-unsupportedmodel",
                "*": "$1 has content model $2, which is not supported; returning an empty extract."
            },
            {
                "name": "apiwarn-tokens-origin",
                "normalizedname": "apiwarn-tokens-origin",
                "*": "Tokens may not be obtained when the same-origin policy is not applied."
            },
            {
                "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 {{PLURAL:$1|byte|bytes}} allowed)."
            },
            {
                "name": "apiwarn-validationfailed-valuetoolong",
                "normalizedname": "apiwarn-validationfailed-valuetoolong",
                "*": "value too long (no more than $1 {{PLURAL:$1|byte|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-gen",
                "normalizedname": "april-gen",
                "*": "April"
            },
            {
                "name": "article",
                "normalizedname": "article",
                "*": "Content page"
            },
            {
                "name": "articleexists",
                "normalizedname": "articleexists",
                "*": "A page already exists at [[:$1]], or the page name you have chosen is not valid.\nPlease choose another name."
            },
            {
                "name": "ask",
                "normalizedname": "ask",
                "*": "Semantic search"
            },
            {
                "name": "aug",
                "normalizedname": "aug",
                "*": "Aug"
            },
            {
                "name": "august",
                "normalizedname": "august",
                "*": "August"
            },
            {
                "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-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": "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*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-contact-blocker-admin|$1}} \n\nYou can use the \"{{int:emailuser}}\" feature if a valid email address is specified in your [[Special:Preferences|preferences]] and you have not been blocked from using it.\n\n{{int:blockedtext-block-ip|$3}} {{int:blockedtext-block-id|$5}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "name": "autoblockedtext-tempuser",
                "normalizedname": "autoblockedtext-tempuser",
                "*": "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*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-contact-blocker-admin|$1}}\n\n{{int:blockedtext-block-ip|$3}} {{int:blockedtext-block-id|$5}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "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": "autocreate-edit-warning",
                "normalizedname": "autocreate-edit-warning",
                "*": "<strong>Warning:</strong> You are not logged in. Your edit will be attributed to an <strong>[[{{MediaWiki:tempuser-helppage}}|auto-generated name]]</strong> by adding a cookie to your browser. Your IP address will be visible to trusted users. If you <strong>[$1 log in]</strong> or <strong>[$2 create an account]</strong>, your edits will be attributed to a name you choose, along with other benefits."
            },
            {
                "name": "autocreate-preview-warning",
                "normalizedname": "autocreate-preview-warning",
                "*": "<em>You are not logged in. Your edit will be attributed to an [[{{MediaWiki:tempuser-helppage}}|auto-generated name]] and your IP address will be visible to administrators.</em>"
            },
            {
                "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-hash",
                "normalizedname": "backend-fail-hash",
                "*": "Could not determine the cryptographic hash of 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-sizes",
                "normalizedname": "backend-fail-sizes",
                "*": "Could not get file sizes for comparison."
            },
            {
                "name": "backend-fail-stat",
                "normalizedname": "backend-fail-stat",
                "*": "Could not read the status of file \"$1\"."
            },
            {
                "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": "badrevision",
                "normalizedname": "badrevision",
                "*": "The text of this revision is missing or corrupted."
            },
            {
                "name": "badsig",
                "normalizedname": "badsig",
                "*": "Invalid raw signature.\nCheck HTML tags."
            },
            {
                "name": "badsightml",
                "normalizedname": "badsightml",
                "*": "Your signature contains invalid or deprecated HTML syntax:"
            },
            {
                "name": "badsiglength",
                "normalizedname": "badsiglength",
                "*": "Your signature is too long.\nIt must not be more than $1 {{PLURAL:$1|character|characters}} long."
            },
            {
                "name": "badsiglinebreak",
                "normalizedname": "badsiglinebreak",
                "*": "Your signature must consist of a single line of wikitext."
            },
            {
                "name": "badsiglinks",
                "normalizedname": "badsiglinks",
                "*": "Your signature must include a link to your user page, talk page or contributions on this wiki. Please add it, for example: <code>$1</code>."
            },
            {
                "name": "badsigsubst",
                "normalizedname": "badsigsubst",
                "*": "Your signature contains nested substitution (e.g. <code>subst:</code> or <code><nowiki>~~~~</nowiki></code>)."
            },
            {
                "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-quettabits",
                "normalizedname": "bitrate-quettabits",
                "*": "$1 Qbps"
            },
            {
                "name": "bitrate-ronnabits",
                "normalizedname": "bitrate-ronnabits",
                "*": "$1 Rbps"
            },
            {
                "name": "bitrate-terabits",
                "normalizedname": "bitrate-terabits",
                "*": "$1 Tbps"
            },
            {
                "name": "bitrate-yottabits",
                "normalizedname": "bitrate-yottabits",
                "*": "$1 Ybps"
            },
            {
                "name": "bitrate-zettabits",
                "normalizedname": "bitrate-zettabits",
                "*": "$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-actions",
                "normalizedname": "block-actions",
                "*": "Block type"
            },
            {
                "name": "block-autoblock-exemptionlist",
                "normalizedname": "block-autoblock-exemptionlist",
                "*": ""
            },
            {
                "name": "block-details",
                "normalizedname": "block-details",
                "*": "Block details"
            },
            {
                "name": "block-expiry",
                "normalizedname": "block-expiry",
                "*": "Expiration:"
            },
            {
                "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": "block-options",
                "normalizedname": "block-options",
                "*": "Additional options:"
            },
            {
                "name": "block-reason",
                "normalizedname": "block-reason",
                "*": "Reason:"
            },
            {
                "name": "block-target",
                "normalizedname": "block-target",
                "*": "Username, IP address, or IP range:"
            },
            {
                "name": "block-target-placeholder",
                "normalizedname": "block-target-placeholder",
                "*": "UserName, 1.1.1.42, or 1.1.1.42/16"
            },
            {
                "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 {{GENDER:$1|user}} is currently blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "blockedexternaldomains",
                "normalizedname": "blockedexternaldomains",
                "*": "Blocked External Domains"
            },
            {
                "name": "blockednoreason",
                "normalizedname": "blockednoreason",
                "*": "no reason given"
            },
            {
                "name": "blockedtext",
                "normalizedname": "blockedtext",
                "*": "<strong>Your username or IP address has been blocked.</strong>\n\n{{int:blockedtext-made-by|$1}}\n{{int:blockedtext-reason-comment|$2}}.\n\n*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-contact-blocker-admin|$1}}\nYou can use the \"{{int:emailuser}}\" feature if a valid email address is specified in your [[Special:Preferences|preferences]] and you have not been blocked from using it.\n{{int:blockedtext-block-ip|$3}} {{int:blockedtext-block-id|$5}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "name": "blockedtext-block-id",
                "normalizedname": "blockedtext-block-id",
                "*": "Block ID #$1."
            },
            {
                "name": "blockedtext-block-ip",
                "normalizedname": "blockedtext-block-ip",
                "*": "Your current IP address is $1."
            },
            {
                "name": "blockedtext-composite",
                "normalizedname": "blockedtext-composite",
                "*": "<strong>Your username or IP address has been blocked.</strong>\n\nThe reason given is:\n\n:<em>$2</em>.\n\n*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-longest-block|$6}}\n\n* $5\n\n{{int:blockedtext-block-ip|$3}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "name": "blockedtext-composite-ids",
                "normalizedname": "blockedtext-composite-ids",
                "*": "Relevant block IDs: $1 (your IP address may also appear in a blocklist)"
            },
            {
                "name": "blockedtext-composite-no-ids",
                "normalizedname": "blockedtext-composite-no-ids",
                "*": "Your IP address appears in multiple blocklists"
            },
            {
                "name": "blockedtext-composite-reason",
                "normalizedname": "blockedtext-composite-reason",
                "*": "There are multiple blocks against your account and/or IP address"
            },
            {
                "name": "blockedtext-contact-blocker-admin",
                "normalizedname": "blockedtext-contact-blocker-admin",
                "*": "You can contact $1 or another [[{{MediaWiki:Grouppage-sysop}}|administrator]] to discuss the block."
            },
            {
                "name": "blockedtext-expiration-longest-block",
                "normalizedname": "blockedtext-expiration-longest-block",
                "*": "Expiration of longest block: $1"
            },
            {
                "name": "blockedtext-expiration-time",
                "normalizedname": "blockedtext-expiration-time",
                "*": "Expiration of block: $1"
            },
            {
                "name": "blockedtext-include-details-queries",
                "normalizedname": "blockedtext-include-details-queries",
                "*": "Please include all above details in any queries you make."
            },
            {
                "name": "blockedtext-intended-blockee",
                "normalizedname": "blockedtext-intended-blockee",
                "*": "Intended blockee: $1"
            },
            {
                "name": "blockedtext-made-by",
                "normalizedname": "blockedtext-made-by",
                "*": "The block was made by $1."
            },
            {
                "name": "blockedtext-partial",
                "normalizedname": "blockedtext-partial",
                "*": "<strong>Your username or IP address is blocked from doing this. You may still be able to do other things on this site, such as editing certain pages.</strong>\n\nYou can view the full block details at [[Special:MyContributions|account contributions]].\n\n{{int:blockedtext-made-by|$1}}\n\n{{int:blockedtext-reason-comment|$2}}.\n\n*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n*{{int:blockedtext-block-id|$5}}"
            },
            {
                "name": "blockedtext-reason-comment",
                "normalizedname": "blockedtext-reason-comment",
                "*": "The reason given is <em>$1</em>"
            },
            {
                "name": "blockedtext-start-time",
                "normalizedname": "blockedtext-start-time",
                "*": "Start of block: $1"
            },
            {
                "name": "blockedtext-tempuser",
                "normalizedname": "blockedtext-tempuser",
                "*": "<strong>Your username or IP address has been blocked.</strong>\n\n{{int:blockedtext-made-by|$1}}\n{{int:blockedtext-reason-comment|$2}}.\n\n*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-contact-blocker-admin|$1}}\n\n{{int:blockedtext-block-ip|$3}} {{int:blockedtext-block-id|$5}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "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-autoblocks",
                "normalizedname": "blocklist-autoblocks",
                "*": "Hide autoblocks"
            },
            {
                "name": "blocklist-by",
                "normalizedname": "blocklist-by",
                "*": "Blocking admin"
            },
            {
                "name": "blocklist-editing",
                "normalizedname": "blocklist-editing",
                "*": "editing"
            },
            {
                "name": "blocklist-editing-action",
                "normalizedname": "blocklist-editing-action",
                "*": "actions"
            },
            {
                "name": "blocklist-editing-ns",
                "normalizedname": "blocklist-editing-ns",
                "*": "namespaces"
            },
            {
                "name": "blocklist-editing-page",
                "normalizedname": "blocklist-editing-page",
                "*": "pages"
            },
            {
                "name": "blocklist-editing-sitewide",
                "normalizedname": "blocklist-editing-sitewide",
                "*": "editing (sitewide)"
            },
            {
                "name": "blocklist-expiry",
                "normalizedname": "blocklist-expiry",
                "*": "Expires"
            },
            {
                "name": "blocklist-indefblocks",
                "normalizedname": "blocklist-indefblocks",
                "*": "Hide indefinite blocks"
            },
            {
                "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-type",
                "normalizedname": "blocklist-type",
                "*": "Type:"
            },
            {
                "name": "blocklist-type-opt-all",
                "normalizedname": "blocklist-type-opt-all",
                "*": "All"
            },
            {
                "name": "blocklist-type-opt-partial",
                "normalizedname": "blocklist-type-opt-partial",
                "*": "Partial"
            },
            {
                "name": "blocklist-type-opt-sitewide",
                "normalizedname": "blocklist-type-opt-sitewide",
                "*": "Sitewide"
            },
            {
                "name": "blocklist-userblocks",
                "normalizedname": "blocklist-userblocks",
                "*": "Hide account blocks"
            },
            {
                "name": "blocklog-showlog",
                "normalizedname": "blocklog-showlog",
                "*": "This {{GENDER:$1|user}} has been blocked previously.\nThe block log is provided below for reference:"
            },
            {
                "name": "blocklog-showsuppresslog",
                "normalizedname": "blocklog-showsuppresslog",
                "*": "This {{GENDER:$1|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": "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-needsreset",
                "normalizedname": "botpasswords-label-needsreset",
                "*": "(password needs reset)"
            },
            {
                "name": "botpasswords-label-resetpassword",
                "normalizedname": "botpasswords-label-resetpassword",
                "*": "Reset the password"
            },
            {
                "name": "botpasswords-label-update",
                "normalizedname": "botpasswords-label-update",
                "*": "Update"
            },
            {
                "name": "botpasswords-locked",
                "normalizedname": "botpasswords-locked",
                "*": "You cannot login with a bot password as your account is locked."
            },
            {
                "name": "botpasswords-needs-reset",
                "normalizedname": "botpasswords-needs-reset",
                "*": "The bot password for bot name \"$2\" of {{GENDER:$1|user}} \"$1\" must be reset."
            },
            {
                "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-toolong-grants",
                "normalizedname": "botpasswords-toolong-grants",
                "*": "There are too many grants selected."
            },
            {
                "name": "botpasswords-toolong-restrictions",
                "normalizedname": "botpasswords-toolong-restrictions",
                "*": "There are too many IP addresses or ranges entered."
            },
            {
                "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": "brackets-end",
                "normalizedname": "brackets-end",
                "*": "]"
            },
            {
                "name": "brackets-start",
                "normalizedname": "brackets-start",
                "*": "["
            },
            {
                "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-delete-reason",
                "normalizedname": "brokenredirects-delete-reason",
                "*": ""
            },
            {
                "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": "browse",
                "normalizedname": "browse",
                "*": "Browse wiki"
            },
            {
                "name": "bydate",
                "normalizedname": "bydate",
                "*": "by date"
            },
            {
                "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": "cactions",
                "normalizedname": "cactions",
                "*": "More"
            },
            {
                "name": "cactions-mobile",
                "normalizedname": "cactions-mobile",
                "*": "Page actions"
            },
            {
                "name": "campaigns",
                "normalizedname": "campaigns",
                "*": "Upload Wizard campaigns"
            },
            {
                "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": "cannotmove",
                "normalizedname": "cannotmove",
                "*": "The page could not be moved, for the following {{PLURAL:$1|reason|reasons}}:"
            },
            {
                "name": "cannotundelete",
                "normalizedname": "cannotundelete",
                "*": "Some or all of the undeletion failed:\n$1"
            },
            {
                "name": "cannotunlink-no-provider",
                "normalizedname": "cannotunlink-no-provider",
                "*": "There are no linked accounts that can be unlinked."
            },
            {
                "name": "cannotunlink-no-provider-title",
                "normalizedname": "cannotunlink-no-provider-title",
                "*": "There are no linked accounts to unlink"
            },
            {
                "name": "cant-block-nonexistent-page",
                "normalizedname": "cant-block-nonexistent-page",
                "*": "You cannot block a user from $1 because the page does not exist"
            },
            {
                "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": "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 the edit.\nThe last contributor is the 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",
                "*": "Websites 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 those 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 exists|categories exist}} on the wiki, and may or may not be unused.\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": "categorytree",
                "normalizedname": "categorytree",
                "*": "Category tree"
            },
            {
                "name": "categorytree-category",
                "normalizedname": "categorytree-category",
                "*": "Category:"
            },
            {
                "name": "categorytree-collapse",
                "normalizedname": "categorytree-collapse",
                "*": "collapse"
            },
            {
                "name": "categorytree-desc",
                "normalizedname": "categorytree-desc",
                "*": "Dynamically navigate the [[Special:CategoryTree|category structure]]"
            },
            {
                "name": "categorytree-error",
                "normalizedname": "categorytree-error",
                "*": "Problem loading data."
            },
            {
                "name": "categorytree-expand",
                "normalizedname": "categorytree-expand",
                "*": "expand"
            },
            {
                "name": "categorytree-go",
                "normalizedname": "categorytree-go",
                "*": "Show tree"
            },
            {
                "name": "categorytree-header",
                "normalizedname": "categorytree-header",
                "*": "Enter a category name to see its contents as a tree structure. (Requires JavaScript.)"
            },
            {
                "name": "categorytree-legend",
                "normalizedname": "categorytree-legend",
                "*": "Show category tree"
            },
            {
                "name": "categorytree-load",
                "normalizedname": "categorytree-load",
                "*": "load"
            },
            {
                "name": "categorytree-loading",
                "normalizedname": "categorytree-loading",
                "*": "loading\u2026"
            },
            {
                "name": "categorytree-member-counts",
                "normalizedname": "categorytree-member-counts",
                "*": "Contains {{PLURAL:$1|1 subcategory|$1 subcategories}}, {{PLURAL:$2|1 page|$2 pages}}, and {{PLURAL:$3|1 file|$3 files}}"
            },
            {
                "name": "categorytree-member-num",
                "normalizedname": "categorytree-member-num",
                "*": "($5)"
            },
            {
                "name": "categorytree-mode-all",
                "normalizedname": "categorytree-mode-all",
                "*": "all pages"
            },
            {
                "name": "categorytree-mode-categories",
                "normalizedname": "categorytree-mode-categories",
                "*": "categories only"
            },
            {
                "name": "categorytree-mode-label",
                "normalizedname": "categorytree-mode-label",
                "*": "Mode:"
            },
            {
                "name": "categorytree-mode-pages",
                "normalizedname": "categorytree-mode-pages",
                "*": "pages except files"
            },
            {
                "name": "categorytree-no-pages",
                "normalizedname": "categorytree-no-pages",
                "*": "no pages or subcategories"
            },
            {
                "name": "categorytree-no-parent-categories",
                "normalizedname": "categorytree-no-parent-categories",
                "*": "no parent categories"
            },
            {
                "name": "categorytree-no-subcategories",
                "normalizedname": "categorytree-no-subcategories",
                "*": "no subcategories"
            },
            {
                "name": "categorytree-not-found",
                "normalizedname": "categorytree-not-found",
                "*": "Category <i>$1</i> not found"
            },
            {
                "name": "categorytree-nothing-found",
                "normalizedname": "categorytree-nothing-found",
                "*": "nothing found"
            },
            {
                "name": "categorytree-num-categories",
                "normalizedname": "categorytree-num-categories",
                "*": "$1 C"
            },
            {
                "name": "categorytree-num-empty",
                "normalizedname": "categorytree-num-empty",
                "*": "empty"
            },
            {
                "name": "categorytree-num-files",
                "normalizedname": "categorytree-num-files",
                "*": "$1 F"
            },
            {
                "name": "categorytree-num-pages",
                "normalizedname": "categorytree-num-pages",
                "*": "$1 P"
            },
            {
                "name": "categorytree-parents",
                "normalizedname": "categorytree-parents",
                "*": "Parents"
            },
            {
                "name": "categorytree-portlet",
                "normalizedname": "categorytree-portlet",
                "*": "Categories"
            },
            {
                "name": "categorytree-retry",
                "normalizedname": "categorytree-retry",
                "*": "Please wait a moment and try again."
            },
            {
                "name": "categoryviewer-pagedlinks",
                "normalizedname": "categoryviewer-pagedlinks",
                "*": "($1) ($2)"
            },
            {
                "name": "change-blocklink",
                "normalizedname": "change-blocklink",
                "*": "change block"
            },
            {
                "name": "changeblockip",
                "normalizedname": "changeblockip",
                "*": "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-current-label",
                "normalizedname": "changecontentmodel-current-label",
                "*": "Current content model:"
            },
            {
                "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": "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-maxlength",
                "normalizedname": "changeemail-maxlength",
                "*": "Your email address should have at most 255 characters."
            },
            {
                "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": "changeslist-nocomment",
                "normalizedname": "changeslist-nocomment",
                "*": "No edit summary"
            },
            {
                "name": "charinsert-desc",
                "normalizedname": "charinsert-desc",
                "*": "Allows creation of JavaScript box for [[MediaWiki:Edittools|inserting non-standard characters]]"
            },
            {
                "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": "cite-desc",
                "normalizedname": "cite-desc",
                "*": "Adds <code>&lt;ref&gt;</code> and <code>&lt;references&gt;</code> tags for citations"
            },
            {
                "name": "cite-tool-definition.json",
                "normalizedname": "cite-tool-definition.json",
                "*": "null"
            },
            {
                "name": "cite-tracking-category-cite-error",
                "normalizedname": "cite-tracking-category-cite-error",
                "*": "Pages with reference errors"
            },
            {
                "name": "cite-tracking-category-cite-error-desc",
                "normalizedname": "cite-tracking-category-cite-error-desc",
                "*": "Pages in this category have errors in the usage of references tags."
            },
            {
                "name": "cite-ve-changedesc-ref-group-both",
                "normalizedname": "cite-ve-changedesc-ref-group-both",
                "*": "Reference group changed from \"$1\" to \"$2\""
            },
            {
                "name": "cite-ve-changedesc-ref-group-from",
                "normalizedname": "cite-ve-changedesc-ref-group-from",
                "*": "Reference group changed from \"$1\" to the general group"
            },
            {
                "name": "cite-ve-changedesc-ref-group-to",
                "normalizedname": "cite-ve-changedesc-ref-group-to",
                "*": "Reference group changed from the general group to \"$1\""
            },
            {
                "name": "cite-ve-changedesc-reflist-group-both",
                "normalizedname": "cite-ve-changedesc-reflist-group-both",
                "*": "References list group changed from \"$1\" to \"$2\""
            },
            {
                "name": "cite-ve-changedesc-reflist-group-from",
                "normalizedname": "cite-ve-changedesc-reflist-group-from",
                "*": "References list group changed from \"$1\" to the general group"
            },
            {
                "name": "cite-ve-changedesc-reflist-group-to",
                "normalizedname": "cite-ve-changedesc-reflist-group-to",
                "*": "References list group changed from the general group to \"$1\""
            },
            {
                "name": "cite-ve-changedesc-reflist-responsive-set",
                "normalizedname": "cite-ve-changedesc-reflist-responsive-set",
                "*": "References list changed to display in responsive columns"
            },
            {
                "name": "cite-ve-changedesc-reflist-responsive-unset",
                "normalizedname": "cite-ve-changedesc-reflist-responsive-unset",
                "*": "References list changed to display in only one column"
            },
            {
                "name": "cite-ve-citationneeded-button",
                "normalizedname": "cite-ve-citationneeded-button",
                "*": "Add a citation"
            },
            {
                "name": "cite-ve-citationneeded-description",
                "normalizedname": "cite-ve-citationneeded-description",
                "*": "An editor has indicated that this claim needs a citation to a reliable source."
            },
            {
                "name": "cite-ve-citationneeded-reason",
                "normalizedname": "cite-ve-citationneeded-reason",
                "*": "Reason given:"
            },
            {
                "name": "cite-ve-citationneeded-title",
                "normalizedname": "cite-ve-citationneeded-title",
                "*": "Citation needed"
            },
            {
                "name": "cite-ve-dialog-reference-editing-extends",
                "normalizedname": "cite-ve-dialog-reference-editing-extends",
                "*": "This is an extension of another reference."
            },
            {
                "name": "cite-ve-dialog-reference-editing-extends-long",
                "normalizedname": "cite-ve-dialog-reference-editing-extends-long",
                "*": "This is an extension of another reference \"$1\"."
            },
            {
                "name": "cite-ve-dialog-reference-editing-reused",
                "normalizedname": "cite-ve-dialog-reference-editing-reused",
                "*": "This reference is used {{PLURAL:$1|once|2=twice|$1 times}} on this page."
            },
            {
                "name": "cite-ve-dialog-reference-editing-reused-long",
                "normalizedname": "cite-ve-dialog-reference-editing-reused-long",
                "*": "This reference is used {{PLURAL:$1|once|2=twice|$1 times}} on this page. Changes made here will be applied in all places where this reference is reused."
            },
            {
                "name": "cite-ve-dialog-reference-options-group-label",
                "normalizedname": "cite-ve-dialog-reference-options-group-label",
                "*": "Use this group"
            },
            {
                "name": "cite-ve-dialog-reference-options-group-placeholder",
                "normalizedname": "cite-ve-dialog-reference-options-group-placeholder",
                "*": "General references"
            },
            {
                "name": "cite-ve-dialog-reference-options-name-label",
                "normalizedname": "cite-ve-dialog-reference-options-name-label",
                "*": "Re-use by this name"
            },
            {
                "name": "cite-ve-dialog-reference-options-responsive-label",
                "normalizedname": "cite-ve-dialog-reference-options-responsive-label",
                "*": "Use responsive column layout"
            },
            {
                "name": "cite-ve-dialog-reference-options-section",
                "normalizedname": "cite-ve-dialog-reference-options-section",
                "*": "Options"
            },
            {
                "name": "cite-ve-dialog-reference-placeholder",
                "normalizedname": "cite-ve-dialog-reference-placeholder",
                "*": "Write or paste your reference here, or insert a citation template."
            },
            {
                "name": "cite-ve-dialog-reference-title",
                "normalizedname": "cite-ve-dialog-reference-title",
                "*": "Reference"
            },
            {
                "name": "cite-ve-dialog-reference-useexisting-tool",
                "normalizedname": "cite-ve-dialog-reference-useexisting-tool",
                "*": "Re-use"
            },
            {
                "name": "cite-ve-dialog-referenceslist-contextitem-description-general",
                "normalizedname": "cite-ve-dialog-referenceslist-contextitem-description-general",
                "*": "List of general references"
            },
            {
                "name": "cite-ve-dialog-referenceslist-contextitem-description-named",
                "normalizedname": "cite-ve-dialog-referenceslist-contextitem-description-named",
                "*": "List of references for group \"$1\""
            },
            {
                "name": "cite-ve-dialog-referenceslist-title",
                "normalizedname": "cite-ve-dialog-referenceslist-title",
                "*": "References list"
            },
            {
                "name": "cite-ve-dialogbutton-citation-educationpopup-text",
                "normalizedname": "cite-ve-dialogbutton-citation-educationpopup-text",
                "*": "Improves your content by adding sources of information. You can cite from books, newspapers and websites."
            },
            {
                "name": "cite-ve-dialogbutton-citation-educationpopup-title",
                "normalizedname": "cite-ve-dialogbutton-citation-educationpopup-title",
                "*": "Citations"
            },
            {
                "name": "cite-ve-dialogbutton-reference-full-label",
                "normalizedname": "cite-ve-dialogbutton-reference-full-label",
                "*": "Basic"
            },
            {
                "name": "cite-ve-dialogbutton-reference-title",
                "normalizedname": "cite-ve-dialogbutton-reference-title",
                "*": "Reference"
            },
            {
                "name": "cite-ve-dialogbutton-reference-tooltip",
                "normalizedname": "cite-ve-dialogbutton-reference-tooltip",
                "*": "Basic"
            },
            {
                "name": "cite-ve-dialogbutton-referenceslist-tooltip",
                "normalizedname": "cite-ve-dialogbutton-referenceslist-tooltip",
                "*": "References list"
            },
            {
                "name": "cite-ve-othergroup-item",
                "normalizedname": "cite-ve-othergroup-item",
                "*": "$1 reference"
            },
            {
                "name": "cite-ve-reference-input-placeholder",
                "normalizedname": "cite-ve-reference-input-placeholder",
                "*": "Search within current citations"
            },
            {
                "name": "cite-ve-referenceslist-isempty",
                "normalizedname": "cite-ve-referenceslist-isempty",
                "*": "There are no references with the group \"$1\" on this page to include in this list."
            },
            {
                "name": "cite-ve-referenceslist-isempty-default",
                "normalizedname": "cite-ve-referenceslist-isempty-default",
                "*": "There are no references on this page to include in this list."
            },
            {
                "name": "cite-ve-referenceslist-missingref",
                "normalizedname": "cite-ve-referenceslist-missingref",
                "*": "This reference is defined in a template or other generated block, and for now can only be edited in source mode."
            },
            {
                "name": "cite-ve-referenceslist-missingref-in-list",
                "normalizedname": "cite-ve-referenceslist-missingref-in-list",
                "*": "This reference is defined in a template or other generated block, and for now can only be previewed in source mode."
            },
            {
                "name": "cite-ve-referenceslist-missingreflist",
                "normalizedname": "cite-ve-referenceslist-missingreflist",
                "*": "This reference list is generated by a template."
            },
            {
                "name": "cite-ve-toolbar-group-label",
                "normalizedname": "cite-ve-toolbar-group-label",
                "*": "Cite"
            },
            {
                "name": "cite-wikieditor-help-content-named-reference-description",
                "normalizedname": "cite-wikieditor-help-content-named-reference-description",
                "*": "Named reference"
            },
            {
                "name": "cite-wikieditor-help-content-reference-description",
                "normalizedname": "cite-wikieditor-help-content-reference-description",
                "*": "Reference"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-ref-id",
                "normalizedname": "cite-wikieditor-help-content-reference-example-ref-id",
                "*": "test"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-ref-named",
                "normalizedname": "cite-wikieditor-help-content-reference-example-ref-named",
                "*": "<ref name=\"$1\">$2</ref>"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-ref-normal",
                "normalizedname": "cite-wikieditor-help-content-reference-example-ref-normal",
                "*": "<ref>$1</ref>"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-ref-result",
                "normalizedname": "cite-wikieditor-help-content-reference-example-ref-result",
                "*": "[$1]"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-ref-reuse",
                "normalizedname": "cite-wikieditor-help-content-reference-example-ref-reuse",
                "*": "<ref name=\"$1\" />"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-reflist",
                "normalizedname": "cite-wikieditor-help-content-reference-example-reflist",
                "*": "<references />"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-text1",
                "normalizedname": "cite-wikieditor-help-content-reference-example-text1",
                "*": "Page text.$1"
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-text2",
                "normalizedname": "cite-wikieditor-help-content-reference-example-text2",
                "*": "[$1 Link text], additional text."
            },
            {
                "name": "cite-wikieditor-help-content-reference-example-text3",
                "normalizedname": "cite-wikieditor-help-content-reference-example-text3",
                "*": "[$1 Link text]"
            },
            {
                "name": "cite-wikieditor-help-content-rereference-description",
                "normalizedname": "cite-wikieditor-help-content-rereference-description",
                "*": "Additional use of the same reference"
            },
            {
                "name": "cite-wikieditor-help-content-showreferences-description",
                "normalizedname": "cite-wikieditor-help-content-showreferences-description",
                "*": "Display references"
            },
            {
                "name": "cite-wikieditor-help-page-references",
                "normalizedname": "cite-wikieditor-help-page-references",
                "*": "References"
            },
            {
                "name": "cite-wikieditor-tool-reference",
                "normalizedname": "cite-wikieditor-tool-reference",
                "*": "Reference"
            },
            {
                "name": "cite_error",
                "normalizedname": "cite_error",
                "*": "Cite error: $1"
            },
            {
                "name": "cite_error_empty_references_define",
                "normalizedname": "cite_error_empty_references_define",
                "*": "<code>&lt;ref&gt;</code> tag with name \"$1\" defined in <code>&lt;references&gt;</code> group \"$2\" has no content."
            },
            {
                "name": "cite_error_group_refs_without_references",
                "normalizedname": "cite_error_group_refs_without_references",
                "*": "<code>&lt;ref&gt;</code> tags exist for a group named \"$1\", but no corresponding <code>&lt;references group=\"$1\"/&gt;</code> tag was found"
            },
            {
                "name": "cite_error_included_ref",
                "normalizedname": "cite_error_included_ref",
                "*": "Closing <code>&lt;/ref&gt;</code> missing for <code>&lt;ref&gt;</code> tag"
            },
            {
                "name": "cite_error_included_references",
                "normalizedname": "cite_error_included_references",
                "*": "Closing tag missing for <code>&lt;references&gt;</code>"
            },
            {
                "name": "cite_error_no_link_label_group",
                "normalizedname": "cite_error_no_link_label_group",
                "*": "Ran out of custom link labels for group \"$1\". Define more in the [[MediaWiki:$2]] message."
            },
            {
                "name": "cite_error_ref_invalid_dir",
                "normalizedname": "cite_error_ref_invalid_dir",
                "*": "Invalid <code>dir=\"$1\"</code>, must be <code>ltr</code> or <code>rtl</code>"
            },
            {
                "name": "cite_error_ref_nested_extends",
                "normalizedname": "cite_error_ref_nested_extends",
                "*": "Extending <code>&lt;ref&gt;</code> tags more than one level deep is not allowed"
            },
            {
                "name": "cite_error_ref_no_input",
                "normalizedname": "cite_error_ref_no_input",
                "*": "Invalid <code>&lt;ref&gt;</code> tag; refs with no name must have content"
            },
            {
                "name": "cite_error_ref_no_key",
                "normalizedname": "cite_error_ref_no_key",
                "*": "The opening <code>&lt;ref&gt;</code> tag is malformed or has a bad name"
            },
            {
                "name": "cite_error_ref_numeric_key",
                "normalizedname": "cite_error_ref_numeric_key",
                "*": "Invalid <code>&lt;ref&gt;</code> tag; name cannot be a simple integer. Use a descriptive title"
            },
            {
                "name": "cite_error_ref_too_many_keys",
                "normalizedname": "cite_error_ref_too_many_keys",
                "*": "Invalid <code>&lt;ref&gt;</code> tag; invalid names, e.g. too many"
            },
            {
                "name": "cite_error_references_duplicate_key",
                "normalizedname": "cite_error_references_duplicate_key",
                "*": "Invalid <code>&lt;ref&gt;</code> tag; name \"$1\" defined multiple times with different content"
            },
            {
                "name": "cite_error_references_group_mismatch",
                "normalizedname": "cite_error_references_group_mismatch",
                "*": "<code>&lt;ref&gt;</code> tag in <code>&lt;references&gt;</code> has conflicting group attribute \"$1\"."
            },
            {
                "name": "cite_error_references_invalid_parameters",
                "normalizedname": "cite_error_references_invalid_parameters",
                "*": "Invalid parameter in <code>&lt;references&gt;</code> tag"
            },
            {
                "name": "cite_error_references_missing_group",
                "normalizedname": "cite_error_references_missing_group",
                "*": "<code>&lt;ref&gt;</code> tag with name \"$2\" defined in <code>&lt;references&gt;</code> has group attribute \"$1\" which does not appear in prior text."
            },
            {
                "name": "cite_error_references_missing_key",
                "normalizedname": "cite_error_references_missing_key",
                "*": "<code>&lt;ref&gt;</code> tag with name \"$1\" defined in <code>&lt;references&gt;</code> is not used in prior text."
            },
            {
                "name": "cite_error_references_no_backlink_label",
                "normalizedname": "cite_error_references_no_backlink_label",
                "*": "Ran out of custom backlink labels. Define more in the [[MediaWiki:Cite references link many format backlink labels]] message."
            },
            {
                "name": "cite_error_references_no_key",
                "normalizedname": "cite_error_references_no_key",
                "*": "<code>&lt;ref&gt;</code> tag defined in <code>&lt;references&gt;</code> has no name attribute."
            },
            {
                "name": "cite_error_references_no_text",
                "normalizedname": "cite_error_references_no_text",
                "*": "Invalid <code>&lt;ref&gt;</code> tag; no text was provided for refs named <code>$1</code>"
            },
            {
                "name": "cite_reference_backlink_symbol",
                "normalizedname": "cite_reference_backlink_symbol",
                "*": "\u2191"
            },
            {
                "name": "cite_reference_link",
                "normalizedname": "cite_reference_link",
                "*": "<sup id=\"$1\" class=\"reference\">[[#$2|&#91;$3&#93;]]</sup>"
            },
            {
                "name": "cite_reference_link_key_with_num",
                "normalizedname": "cite_reference_link_key_with_num",
                "*": "$1_$2"
            },
            {
                "name": "cite_reference_link_prefix",
                "normalizedname": "cite_reference_link_prefix",
                "*": "cite_ref-"
            },
            {
                "name": "cite_reference_link_suffix",
                "normalizedname": "cite_reference_link_suffix",
                "*": ""
            },
            {
                "name": "cite_references_link_accessibility_back_label",
                "normalizedname": "cite_references_link_accessibility_back_label",
                "*": "Jump back up"
            },
            {
                "name": "cite_references_link_accessibility_label",
                "normalizedname": "cite_references_link_accessibility_label",
                "*": "Jump up"
            },
            {
                "name": "cite_references_link_many",
                "normalizedname": "cite_references_link_many",
                "*": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\">\u2191 $2</span> $3</li>"
            },
            {
                "name": "cite_references_link_many_accessibility_label",
                "normalizedname": "cite_references_link_many_accessibility_label",
                "*": "Jump up to:"
            },
            {
                "name": "cite_references_link_many_and",
                "normalizedname": "cite_references_link_many_and",
                "*": " "
            },
            {
                "name": "cite_references_link_many_format",
                "normalizedname": "cite_references_link_many_format",
                "*": "<sup>[[#$1|$2]]</sup>"
            },
            {
                "name": "cite_references_link_many_format_backlink_labels",
                "normalizedname": "cite_references_link_many_format_backlink_labels",
                "*": "a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz"
            },
            {
                "name": "cite_references_link_many_sep",
                "normalizedname": "cite_references_link_many_sep",
                "*": " "
            },
            {
                "name": "cite_references_link_one",
                "normalizedname": "cite_references_link_one",
                "*": "<li id=\"$1\"$4><span class=\"mw-cite-backlink\">[[#$2|\u2191]]</span> $3</li>"
            },
            {
                "name": "cite_references_link_prefix",
                "normalizedname": "cite_references_link_prefix",
                "*": "cite_note-"
            },
            {
                "name": "cite_references_link_suffix",
                "normalizedname": "cite_references_link_suffix",
                "*": ""
            },
            {
                "name": "cite_section_preview_references",
                "normalizedname": "cite_section_preview_references",
                "*": "Preview of references"
            },
            {
                "name": "cite_warning",
                "normalizedname": "cite_warning",
                "*": "Cite warning: $1"
            },
            {
                "name": "cite_warning_sectionpreview_no_text",
                "normalizedname": "cite_warning_sectionpreview_no_text",
                "*": "<code>&lt;ref&gt;</code> tag with name <code>$1</code> cannot be previewed because it is defined outside the current section or not defined at all."
            },
            {
                "name": "citethispage",
                "normalizedname": "citethispage",
                "*": "Cite This Page"
            },
            {
                "name": "citethispage-badrevision",
                "normalizedname": "citethispage-badrevision",
                "*": "Error: could not find any revision for the page \"$1\" with the revision ID $2."
            },
            {
                "name": "citethispage-change-submit",
                "normalizedname": "citethispage-change-submit",
                "*": "Cite"
            },
            {
                "name": "citethispage-change-target",
                "normalizedname": "citethispage-change-target",
                "*": "Page:"
            },
            {
                "name": "citethispage-content",
                "normalizedname": "citethispage-content",
                "*": "__NOTOC__\n<div class=\"mw-specialCiteThisPage-bibliographic\">\n\n== Bibliographic details for {{FULLPAGENAME}} ==\n\n* Page name: {{FULLPAGENAME}}\n* Author: {{SITENAME}} contributors\n* Publisher: ''{{SITENAME}}''.\n* Date of last revision: {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC\n* Date retrieved: <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} {{CURRENTTIME}} UTC</citation>\n* Permanent URL: {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}\n* Page Version ID: {{REVISIONID}}\n\n</div>\n<div class=\"plainlinks mw-specialCiteThisPage-styles\">\n\n== Citation styles for {{FULLPAGENAME}} ==\n\n=== [[APA style]] ===\n{{FULLPAGENAME}}. ({{CURRENTYEAR}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}). ''{{SITENAME}}''. Retrieved <citation>{{CURRENTTIME}}, {{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation> from {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}.\n\n=== [[The MLA style manual|MLA style]] ===\n\"{{FULLPAGENAME}}.\" ''{{SITENAME}}''. {{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC. <citation>{{CURRENTDAY}} {{CURRENTMONTHABBREV}} {{CURRENTYEAR}}, {{CURRENTTIME}}</citation> &lt;{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}&gt;.\n\n=== [[MHRA Style Guide|MHRA style]] ===\n{{SITENAME}} contributors, '{{FULLPAGENAME}}', ''{{SITENAME}},'' {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} UTC, &lt;{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}&gt; [accessed <citation>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}</citation>]\n\n=== [[The Chicago Manual of Style|Chicago style]] ===\n{{SITENAME}} contributors, \"{{FULLPAGENAME}},\" ''{{SITENAME}},'' {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (accessed <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>).\n\n=== [[Council of Science Editors|CBE/CSE style]] ===\n{{SITENAME}} contributors. {{FULLPAGENAME}} [Internet]. {{SITENAME}}; {{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}, {{CURRENTTIME}} UTC [cited <citation>{{CURRENTYEAR}} {{CURRENTMONTHABBREV}} {{CURRENTDAY}}</citation>]. Available from:\n{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}.\n\n=== [[Bluebook|Bluebook style]] ===\n{{FULLPAGENAME}}, {{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}} (last visited <citation>{{CURRENTMONTHNAME}} {{CURRENTDAY}}, {{CURRENTYEAR}}</citation>).\n\n=== [[BibTeX]] entry ===\n\n  @misc{ wiki:xxx,\n    author = \"{{SITENAME}}\",\n    title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\",\n    year = \"{{CURRENTYEAR}}\",\n    url = \"{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}\",\n    note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\"\n  }\n\nWhen using the [[LaTeX]] package url (<code>\\usepackage{url}</code> somewhere in the preamble) which tends to give much more nicely formatted web addresses, the following may be preferred:\n\n  @misc{ wiki:xxx,\n    author = \"{{SITENAME}}\",\n    title = \"{{FULLPAGENAME}} --- {{SITENAME}}{,} {{int:sitesubtitle}}\",\n    year = \"{{CURRENTYEAR}}\",\n    url = \"'''\\url{'''{{canonicalurl:{{FULLPAGENAME}}|oldid={{REVISIONID}}}}'''}'''\",\n    note = \"[Online; accessed <citation>{{CURRENTDAY}}-{{CURRENTMONTHNAME}}-{{CURRENTYEAR}}</citation>]\"\n  }\n\n\n</div> <!--closing div for \"plainlinks\"-->"
            },
            {
                "name": "citethispage-desc",
                "normalizedname": "citethispage-desc",
                "*": "Adds a [[Special:CiteThisPage|citation]] special page and toolbox link"
            },
            {
                "name": "citethispage-link",
                "normalizedname": "citethispage-link",
                "*": "Cite this page"
            },
            {
                "name": "citethispage-summary",
                "normalizedname": "citethispage-summary",
                "*": ""
            },
            {
                "name": "clearyourcache",
                "normalizedname": "clearyourcache",
                "*": "<strong>Note:</strong> After publishing, 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 / Edge:</strong> Hold <em>Ctrl</em> while clicking <em>Refresh</em>, or press <em>Ctrl-F5</em>\n* <strong>Opera:</strong> Press <em>Ctrl-F5</em>."
            },
            {
                "name": "codeeditor-desc",
                "normalizedname": "codeeditor-desc",
                "*": "Syntax-highlighted editing for JavaScript and CSS pages using [https://ace.c9.io/ Ace editor]"
            },
            {
                "name": "codeeditor-error-message",
                "normalizedname": "codeeditor-error-message",
                "*": "CodeEditor needs WikiEditor to be loaded."
            },
            {
                "name": "codeeditor-error-title",
                "normalizedname": "codeeditor-error-title",
                "*": "Dependency failed"
            },
            {
                "name": "codeeditor-gotoline",
                "normalizedname": "codeeditor-gotoline",
                "*": "Go to line number..."
            },
            {
                "name": "codeeditor-gotoline-placeholder",
                "normalizedname": "codeeditor-gotoline-placeholder",
                "*": "line[:column]"
            },
            {
                "name": "codeeditor-gotoline-prompt",
                "normalizedname": "codeeditor-gotoline-prompt",
                "*": "Enter a line number"
            },
            {
                "name": "codeeditor-indent",
                "normalizedname": "codeeditor-indent",
                "*": "Indent"
            },
            {
                "name": "codeeditor-invisibleChars-toggle",
                "normalizedname": "codeeditor-invisibleChars-toggle",
                "*": "Toggle invisible characters"
            },
            {
                "name": "codeeditor-lineWrapping-toggle",
                "normalizedname": "codeeditor-lineWrapping-toggle",
                "*": "Toggle line wrapping"
            },
            {
                "name": "codeeditor-next-annotation",
                "normalizedname": "codeeditor-next-annotation",
                "*": "Go to next annotation"
            },
            {
                "name": "codeeditor-outdent",
                "normalizedname": "codeeditor-outdent",
                "*": "Outdent"
            },
            {
                "name": "codeeditor-save-with-errors",
                "normalizedname": "codeeditor-save-with-errors",
                "*": "The document contains errors. Are you sure you want to publish?"
            },
            {
                "name": "codeeditor-searchReplace-toggle",
                "normalizedname": "codeeditor-searchReplace-toggle",
                "*": "Toggle search and replace dialog"
            },
            {
                "name": "codeeditor-toolbar-toggle",
                "normalizedname": "codeeditor-toolbar-toggle",
                "*": "Toggle code editor"
            },
            {
                "name": "codemirror-desc",
                "normalizedname": "codemirror-desc",
                "*": "Provides syntax highlighting in wikitext editor"
            },
            {
                "name": "codemirror-prefs-colorblind",
                "normalizedname": "codemirror-prefs-colorblind",
                "*": "Enable colorblind-friendly scheme for syntax highlighting when editing wikitext"
            },
            {
                "name": "codemirror-prefs-colorblind-help",
                "normalizedname": "codemirror-prefs-colorblind-help",
                "*": "If you use a gadget for syntax highlighting, this preference will not work."
            },
            {
                "name": "codemirror-toggle-label",
                "normalizedname": "codemirror-toggle-label",
                "*": "Syntax highlighting"
            },
            {
                "name": "collabpad",
                "normalizedname": "collabpad",
                "*": "CollabPad"
            },
            {
                "name": "collabpad-doctitle",
                "normalizedname": "collabpad-doctitle",
                "*": "CollabPad: $1"
            },
            {
                "name": "collabpad-import-subtitle",
                "normalizedname": "collabpad-import-subtitle",
                "*": "Imported from $1"
            },
            {
                "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": "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": "comparepages",
                "normalizedname": "comparepages",
                "*": "Compare pages"
            },
            {
                "name": "comparepages-summary",
                "normalizedname": "comparepages-summary",
                "*": ""
            },
            {
                "name": "compareselectedversions",
                "normalizedname": "compareselectedversions",
                "*": "Compare selected revisions"
            },
            {
                "name": "concepts",
                "normalizedname": "concepts",
                "*": "Concepts"
            },
            {
                "name": "config-invalid-key",
                "normalizedname": "config-invalid-key",
                "*": "Invalid MediaWiki configuration parameter \"$1\": $2"
            },
            {
                "name": "config-missing-key",
                "normalizedname": "config-missing-key",
                "*": "Missing MediaWiki configuration parameter \"$1\""
            },
            {
                "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-mcrrestore-title",
                "normalizedname": "confirm-mcrrestore-title",
                "*": "Restore a revision"
            },
            {
                "name": "confirm-mcrundo-title",
                "normalizedname": "confirm-mcrundo-title",
                "*": "Undo a change"
            },
            {
                "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",
                "*": "Purge the cache of this page?"
            },
            {
                "name": "confirm-rollback-bottom",
                "normalizedname": "confirm-rollback-bottom",
                "*": "This action will instantly rollback the selected changes to 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-button-expiry",
                "normalizedname": "confirm-watch-button-expiry",
                "*": "Watch"
            },
            {
                "name": "confirm-watch-label",
                "normalizedname": "confirm-watch-label",
                "*": "Watchlist time period:"
            },
            {
                "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 excluded from CAPTCHA checks 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_invalid_format",
                "normalizedname": "confirmemail_invalid_format",
                "*": "Invalid confirmation code.\nCheck your email, the confirmation link might have been truncated by your email client."
            },
            {
                "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": "confirmleave-warning",
                "normalizedname": "confirmleave-warning",
                "*": "Leaving this page may cause you to lose any changes you have made."
            },
            {
                "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": "constrainterrorlist",
                "normalizedname": "constrainterrorlist",
                "*": "Constraint error list"
            },
            {
                "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-sanitized-css",
                "normalizedname": "content-model-sanitized-css",
                "*": "Sanitized CSS"
            },
            {
                "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]] in slot \"$3\""
            },
            {
                "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": "contribute",
                "normalizedname": "contribute",
                "*": "Contribute"
            },
            {
                "name": "contribute-title",
                "normalizedname": "contribute-title",
                "*": "User contributions"
            },
            {
                "name": "contributions",
                "normalizedname": "contributions",
                "*": "User contributions"
            },
            {
                "name": "contributions-account-creation-date",
                "normalizedname": "contributions-account-creation-date",
                "*": "Account created on $1."
            },
            {
                "name": "contributions-edit-count",
                "normalizedname": "contributions-edit-count",
                "*": "A {{GENDER:$1|user}} with $2 {{PLURAL:$2|edit|edits}}."
            },
            {
                "name": "contributions-subtitle",
                "normalizedname": "contributions-subtitle",
                "*": "For {{GENDER:$2|$1}}"
            },
            {
                "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": "cookiewarning-desc",
                "normalizedname": "cookiewarning-desc",
                "*": "Provides a notice at the top of the page about cookies"
            },
            {
                "name": "cookiewarning-info",
                "normalizedname": "cookiewarning-info",
                "*": "Cookies help us deliver our services. By using our services, you agree to our use of cookies."
            },
            {
                "name": "cookiewarning-more-link",
                "normalizedname": "cookiewarning-more-link",
                "*": "-"
            },
            {
                "name": "cookiewarning-moreinfo-label",
                "normalizedname": "cookiewarning-moreinfo-label",
                "*": "More information"
            },
            {
                "name": "cookiewarning-ok-label",
                "normalizedname": "cookiewarning-ok-label",
                "*": "OK"
            },
            {
                "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": "copyupload-allowed-domains",
                "normalizedname": "copyupload-allowed-domains",
                "*": ""
            },
            {
                "name": "copyuploaddisabled",
                "normalizedname": "copyuploaddisabled",
                "*": "Upload by URL disabled."
            },
            {
                "name": "cp-create",
                "normalizedname": "cp-create",
                "*": "Create page"
            },
            {
                "name": "cp-desc",
                "normalizedname": "cp-desc",
                "*": "Allows embedding a form for new page creation"
            },
            {
                "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-normalization",
                "normalizedname": "createacct-normalization",
                "*": "Your username will be adjusted to \"$2\" due to technical restrictions."
            },
            {
                "name": "createacct-realname",
                "normalizedname": "createacct-realname",
                "*": "Real name (optional)"
            },
            {
                "name": "createacct-reason",
                "normalizedname": "createacct-reason",
                "*": "Reason (publicly logged)"
            },
            {
                "name": "createacct-reason-confirm",
                "normalizedname": "createacct-reason-confirm",
                "*": "The reason you entered was an email address. If this is intended, please click \"create account\" again"
            },
            {
                "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-temp-warning",
                "normalizedname": "createacct-temp-warning",
                "*": "The edits you made with your temporary account will not be carried over to your permanent one."
            },
            {
                "name": "createacct-username-help",
                "normalizedname": "createacct-username-help",
                "*": ""
            },
            {
                "name": "createacct-useuniquepass",
                "normalizedname": "createacct-useuniquepass",
                "*": "It is recommended to use a unique password that you are not using on any other website."
            },
            {
                "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": "createpage",
                "normalizedname": "createpage",
                "*": "Create a page"
            },
            {
                "name": "createpage-editexisting",
                "normalizedname": "createpage-editexisting",
                "*": "Yes. I want to contribute to the existing page."
            },
            {
                "name": "createpage-instructions",
                "normalizedname": "createpage-instructions",
                "*": "Enter the title of the page you wish to create:"
            },
            {
                "name": "createpage-titleexists",
                "normalizedname": "createpage-titleexists",
                "*": "A page with the title [[$1]] already exists.\nWould you like to edit the existing page?"
            },
            {
                "name": "createpage-tryagain",
                "normalizedname": "createpage-tryagain",
                "*": "No. I want to create a new page with a distinct title."
            },
            {
                "name": "createuserpage-desc",
                "normalizedname": "createuserpage-desc",
                "*": "Create user page for a user if it does not exist when the user logs in"
            },
            {
                "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": "datatypes-type-math",
                "normalizedname": "datatypes-type-math",
                "*": "Mathematical expression"
            },
            {
                "name": "date",
                "normalizedname": "date",
                "*": "From date (and earlier):"
            },
            {
                "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-info",
                "normalizedname": "dberr-info",
                "*": "(Cannot access the database: $1)"
            },
            {
                "name": "dberr-info-hidden",
                "normalizedname": "dberr-info-hidden",
                "*": "(Cannot access the database)"
            },
            {
                "name": "dberr-problems",
                "normalizedname": "dberr-problems",
                "*": "Sorry! This site is experiencing technical difficulties."
            },
            {
                "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-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/Special:MyLanguage/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/Special:MyLanguage/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Special:MyLanguage/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/Special:MyLanguage/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/Special:MyLanguage/Category:All_skins mediawiki.org's skin directory], by:\n:* Downloading the [https://www.mediawiki.org/wiki/Special:MyLanguage/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/Special:MyLanguage/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/Special:MyLanguage/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": "deflate-invaliddeflate",
                "normalizedname": "deflate-invaliddeflate",
                "*": "Content provided is not properly deflated"
            },
            {
                "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-edit-reasonlist-suppress",
                "normalizedname": "delete-edit-reasonlist-suppress",
                "*": "Edit suppress reasons"
            },
            {
                "name": "delete-error-associated-alreadytalk",
                "normalizedname": "delete-error-associated-alreadytalk",
                "*": "Cannot delete associated talk page of a talk page."
            },
            {
                "name": "delete-error-associated-doesnotexist",
                "normalizedname": "delete-error-associated-doesnotexist",
                "*": "Cannot delete a non-existing associated talk page."
            },
            {
                "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-scheduled",
                "normalizedname": "delete-scheduled",
                "*": "The page \"$1\" is scheduled for deletion.\nPlease be patient."
            },
            {
                "name": "delete-talk-summary-prefix",
                "normalizedname": "delete-talk-summary-prefix",
                "*": "Deleted together with the associated page with reason: $1"
            },
            {
                "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-toomanyrevisions",
                "normalizedname": "delete-toomanyrevisions",
                "*": "You are trying to delete more than $1 {{PLURAL:$1|revision|revisions}} at a time.\nSuch an operation 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": "delete_redirect_and_move_text",
                "normalizedname": "delete_redirect_and_move_text",
                "*": "The destination page \"[[:$1]]\" already exists as a redirect.\nDo you want to delete it to make way for the move?"
            },
            {
                "name": "deletecomment",
                "normalizedname": "deletecomment",
                "*": "Reason:"
            },
            {
                "name": "deleted-page-and-talkpage",
                "normalizedname": "deleted-page-and-talkpage",
                "*": "\"$1\" and \"$2\" have been deleted.\nSee $3 for a record of recent deletions."
            },
            {
                "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 for $1"
            },
            {
                "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 a page"
            },
            {
                "name": "deletepage-deletetalk",
                "normalizedname": "deletepage-deletetalk",
                "*": "Delete associated talk page"
            },
            {
                "name": "deletepage-submit",
                "normalizedname": "deletepage-submit",
                "*": "Delete page"
            },
            {
                "name": "deletepage-summary",
                "normalizedname": "deletepage-summary",
                "*": ""
            },
            {
                "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": "deletereason-dropdown-suppress",
                "normalizedname": "deletereason-dropdown-suppress",
                "*": ""
            },
            {
                "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": "deleting-talkpage-subpages-warning",
                "normalizedname": "deleting-talkpage-subpages-warning",
                "*": "<strong>Warning:</strong> The associated talk page of the page you are about to delete has [[Special:PrefixIndex/{{TALKPAGENAME}}/|{{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": "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-error-revid",
                "normalizedname": "diff-form-error-revid",
                "*": "Input numeric revision ID"
            },
            {
                "name": "diff-form-oldid",
                "normalizedname": "diff-form-oldid",
                "*": "Old revision ID (optional)"
            },
            {
                "name": "diff-form-other-revid",
                "normalizedname": "diff-form-other-revid",
                "*": "Revision ID"
            },
            {
                "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-incompatible",
                "normalizedname": "diff-incompatible",
                "*": "Cannot compare content models \"$1\" and \"$2\""
            },
            {
                "name": "diff-inline-format-label",
                "normalizedname": "diff-inline-format-label",
                "*": "Inline"
            },
            {
                "name": "diff-inline-tooltip-del",
                "normalizedname": "diff-inline-tooltip-del",
                "*": "Content deleted"
            },
            {
                "name": "diff-inline-tooltip-ins",
                "normalizedname": "diff-inline-tooltip-ins",
                "*": "Content added"
            },
            {
                "name": "diff-line-deleted",
                "normalizedname": "diff-line-deleted",
                "*": "\u27f5 delete"
            },
            {
                "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 {{GENDER:$3|user}} not shown)"
            },
            {
                "name": "diff-newline",
                "normalizedname": "diff-newline",
                "*": "\u21b2 newline"
            },
            {
                "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": "diff-table-format-label",
                "normalizedname": "diff-table-format-label",
                "*": "Table"
            },
            {
                "name": "difference-bad-new-revision",
                "normalizedname": "difference-bad-new-revision",
                "*": "The content of the new revision is missing or corrupted."
            },
            {
                "name": "difference-bad-old-revision",
                "normalizedname": "difference-bad-old-revision",
                "*": "The content of the old revision is missing or corrupted."
            },
            {
                "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",
                "*": "$1: Difference between revisions"
            },
            {
                "name": "difference-title-multipage",
                "normalizedname": "difference-title-multipage",
                "*": "$1 and $2: Difference between pages"
            },
            {
                "name": "directorycreateerror",
                "normalizedname": "directorycreateerror",
                "*": "Could not create directory \"$1\"."
            },
            {
                "name": "directoryreadonlyerror",
                "normalizedname": "directoryreadonlyerror",
                "*": "Directory \"$1\" is read-only."
            },
            {
                "name": "disabledspecialpage-disabled",
                "normalizedname": "disabledspecialpage-disabled",
                "*": "This page has been disabled by a system administrator."
            },
            {
                "name": "disableoathforuser",
                "normalizedname": "disableoathforuser",
                "*": "Disable user's two-factor authentication"
            },
            {
                "name": "disclaimerpage",
                "normalizedname": "disclaimerpage",
                "*": "Project:General disclaimer"
            },
            {
                "name": "disclaimers",
                "normalizedname": "disclaimers",
                "*": "Disclaimers"
            },
            {
                "name": "discord-afterimportpage",
                "normalizedname": "discord-afterimportpage",
                "*": "$1 imported $2 (imported $4/$3 revisions)"
            },
            {
                "name": "discord-approvedrevsfilerevisionapproved",
                "normalizedname": "discord-approvedrevsfilerevisionapproved",
                "*": "$1 approved a new file revision of $2 ($3) from user $4"
            },
            {
                "name": "discord-approvedrevsfilerevisionunapproved",
                "normalizedname": "discord-approvedrevsfilerevisionunapproved",
                "*": "$1 unapproved the approved file revision for $2"
            },
            {
                "name": "discord-approvedrevsrevisionapproved",
                "normalizedname": "discord-approvedrevsrevisionapproved",
                "*": "$1 approved a new revision of $2 (revision $3) from user $4"
            },
            {
                "name": "discord-approvedrevsrevisionunapproved",
                "normalizedname": "discord-approvedrevsrevisionunapproved",
                "*": "$1 unapproved the approved revision for $2"
            },
            {
                "name": "discord-articledelete",
                "normalizedname": "discord-articledelete",
                "*": "$1 deleted $2 $3 ($4 revisions deleted)"
            },
            {
                "name": "discord-articlemergecomplete",
                "normalizedname": "discord-articlemergecomplete",
                "*": "$1 merged revisions from $2 into $3"
            },
            {
                "name": "discord-articleprotect",
                "normalizedname": "discord-articleprotect",
                "*": "$1 changed protection of $2 $3 ($4)"
            },
            {
                "name": "discord-articleundelete",
                "normalizedname": "discord-articleundelete",
                "*": "$1 undeleted $2 $3 $4"
            },
            {
                "name": "discord-blockipcomplete",
                "normalizedname": "discord-blockipcomplete",
                "*": "$1 blocked $2 $3 ($4)"
            },
            {
                "name": "discord-blocktimeformat",
                "normalizedname": "discord-blocktimeformat",
                "*": "d F Y H:i"
            },
            {
                "name": "discord-contribs",
                "normalizedname": "discord-contribs",
                "*": "c"
            },
            {
                "name": "discord-create",
                "normalizedname": "discord-create",
                "*": "$1 created $2 $3 $4"
            },
            {
                "name": "discord-desc",
                "normalizedname": "discord-desc",
                "*": "Sends messages to a Discord channel when certain events occur"
            },
            {
                "name": "discord-diff",
                "normalizedname": "discord-diff",
                "*": "diff"
            },
            {
                "name": "discord-edit",
                "normalizedname": "discord-edit",
                "*": "$1 edited $2 $3 $4"
            },
            {
                "name": "discord-filedeletecomplete",
                "normalizedname": "discord-filedeletecomplete",
                "*": "$1 deleted a version of file $2 $3"
            },
            {
                "name": "discord-fileundeletecomplete",
                "normalizedname": "discord-fileundeletecomplete",
                "*": "$1 restored some versions of file $2 $3"
            },
            {
                "name": "discord-localusercreated",
                "normalizedname": "discord-localusercreated",
                "*": "$1 registered"
            },
            {
                "name": "discord-minor",
                "normalizedname": "discord-minor",
                "*": "(m)"
            },
            {
                "name": "discord-renameusercomplete",
                "normalizedname": "discord-renameusercomplete",
                "*": "$1 renamed the user $2 to $3"
            },
            {
                "name": "discord-revisionlinks",
                "normalizedname": "discord-revisionlinks",
                "*": "($1) $2 $3"
            },
            {
                "name": "discord-revvisibility",
                "normalizedname": "discord-revvisibility",
                "*": "$1 changed visibility of $2 revisions on $3"
            },
            {
                "name": "discord-size",
                "normalizedname": "discord-size",
                "*": "($1)"
            },
            {
                "name": "discord-talk",
                "normalizedname": "discord-talk",
                "*": "t"
            },
            {
                "name": "discord-timestampformat",
                "normalizedname": "discord-timestampformat",
                "*": "**H:i e:**"
            },
            {
                "name": "discord-titlemove",
                "normalizedname": "discord-titlemove",
                "*": "$1 moved $2 to $3 $4 $5"
            },
            {
                "name": "discord-unblockusercomplete",
                "normalizedname": "discord-unblockusercomplete",
                "*": "$1 unblocked $2"
            },
            {
                "name": "discord-undeleterev",
                "normalizedname": "discord-undeleterev",
                "*": "revisions for"
            },
            {
                "name": "discord-uploadcomplete",
                "normalizedname": "discord-uploadcomplete",
                "*": "$1 uploaded $2 $3 $4 ($5, $6x$7, $8)"
            },
            {
                "name": "discord-uploadnewver",
                "normalizedname": "discord-uploadnewver",
                "*": "new version of"
            },
            {
                "name": "discord-usergroupschanged",
                "normalizedname": "discord-usergroupschanged",
                "*": "$1 changed rights of $2 $3 ($4) ($5)"
            },
            {
                "name": "discord-userlinks",
                "normalizedname": "discord-userlinks",
                "*": "$1 ($2|$3)"
            },
            {
                "name": "discussiontools",
                "normalizedname": "discussiontools",
                "*": "Discussion tools"
            },
            {
                "name": "discussiontools-autotopicsubpopup-body",
                "normalizedname": "discussiontools-autotopicsubpopup-body",
                "*": "{{GENDER:|You}} will receive a notification when someone posts a new comment in this discussion. You can adjust your notifications settings in preferences."
            },
            {
                "name": "discussiontools-autotopicsubpopup-dismiss",
                "normalizedname": "discussiontools-autotopicsubpopup-dismiss",
                "*": "Okay, I got it"
            },
            {
                "name": "discussiontools-autotopicsubpopup-preferences",
                "normalizedname": "discussiontools-autotopicsubpopup-preferences",
                "*": "Edit preferences"
            },
            {
                "name": "discussiontools-autotopicsubpopup-title",
                "normalizedname": "discussiontools-autotopicsubpopup-title",
                "*": "{{GENDER:|You}} have been subscribed"
            },
            {
                "name": "discussiontools-comments-before-first-heading-category",
                "normalizedname": "discussiontools-comments-before-first-heading-category",
                "*": "-"
            },
            {
                "name": "discussiontools-comments-before-first-heading-category-desc",
                "normalizedname": "discussiontools-comments-before-first-heading-category-desc",
                "*": "The discussion page contains comments in the lede section (before first heading). This may cause the lede or the comments to be displayed incorrectly, especially in the mobile version and in mobile apps."
            },
            {
                "name": "discussiontools-defaultsummary-reply",
                "normalizedname": "discussiontools-defaultsummary-reply",
                "*": "Reply"
            },
            {
                "name": "discussiontools-desc",
                "normalizedname": "discussiontools-desc",
                "*": "Tools to enhance discussion pages."
            },
            {
                "name": "discussiontools-emptystate-button",
                "normalizedname": "discussiontools-emptystate-button",
                "*": "Start a discussion"
            },
            {
                "name": "discussiontools-emptystate-desc",
                "normalizedname": "discussiontools-emptystate-desc",
                "*": "[[{{MediaWiki:discussiontools-emptystate-link-talkpages}}|Talk pages]] are where people discuss how to make content on {{SITENAME}} the best that it can be. {{GENDER:|You}} can use this page to start a discussion with others about how to improve [[:{{SUBJECTPAGENAME}}]]."
            },
            {
                "name": "discussiontools-emptystate-desc-self",
                "normalizedname": "discussiontools-emptystate-desc-self",
                "*": "People on {{SITENAME}} can use this [[{{MediaWiki:discussiontools-emptystate-link-userpage}}|talk page]] to post a public message for {{GENDER:|you}}, and you will be notified when they do."
            },
            {
                "name": "discussiontools-emptystate-desc-self-anon",
                "normalizedname": "discussiontools-emptystate-desc-self-anon",
                "*": "People on {{SITENAME}} can use this [[{{MediaWiki:discussiontools-emptystate-link-userpage-anon}}|talk page]] to post a public message about edits made from the IP address {{GENDER:|you}} are currently using.\n\nMany IP addresses change periodically, and are often shared by several people. You may [$1 create an account] or [$2 log in] to avoid future confusion with other logged out users. Creating an account also hides your IP address."
            },
            {
                "name": "discussiontools-emptystate-desc-self-temp",
                "normalizedname": "discussiontools-emptystate-desc-self-temp",
                "*": "People on {{SITENAME}} can use this [[{{MediaWiki:discussiontools-emptystate-link-userpage}}|talk page]] to post a public message for {{GENDER:|you}}, and you will be notified when they do.\n\nYou are currently using a [[{{MediaWiki:tempuser-helppage}}|temporary account]] with an auto-generated name. To pick a name of your choice and get more features, [$1 create an account] or [$2 log in]."
            },
            {
                "name": "discussiontools-emptystate-desc-user",
                "normalizedname": "discussiontools-emptystate-desc-user",
                "*": "[[{{MediaWiki:discussiontools-emptystate-link-userpage}}|Talk pages]] are where people discuss how to make content on {{SITENAME}} the best that it can be. Start a new discussion to connect and collaborate {{GENDER:{{PAGENAME}}|with}} [[:{{SUBJECTPAGENAME}}|{{PAGENAME}}]]. What {{GENDER:|you}} say here will be public for others to see."
            },
            {
                "name": "discussiontools-emptystate-desc-user-anon",
                "normalizedname": "discussiontools-emptystate-desc-user-anon",
                "*": "[[{{MediaWiki:discussiontools-emptystate-link-userpage-anon}}|Talk pages]] are where people discuss how to make content on {{SITENAME}} the best that it can be. Use this page to start a discussion about the edits made from this IP address. What {{GENDER:|you}} say here will be public for others to see. Many IP addresses change periodically, and are often shared by several people."
            },
            {
                "name": "discussiontools-emptystate-desc-user-temp",
                "normalizedname": "discussiontools-emptystate-desc-user-temp",
                "*": "[[{{MediaWiki:discussiontools-emptystate-link-userpage-temp}}|Talk pages]] are where people discuss how to make content on {{SITENAME}} the best that it can be. Start a new discussion to connect and collaborate {{GENDER:{{PAGENAME}}|with}} [[:{{SUBJECTPAGENAME}}|{{PAGENAME}}]]. What {{GENDER:|you}} say here will be public for others to see. This page belongs to a [[{{MediaWiki:tempuser-helppage}}|temporary account]], and its owner may not have access to it any more."
            },
            {
                "name": "discussiontools-emptystate-link-talkpages",
                "normalizedname": "discussiontools-emptystate-link-talkpages",
                "*": "mediawikiwiki:Special:MyLanguage/Help:Talk_pages"
            },
            {
                "name": "discussiontools-emptystate-link-userpage",
                "normalizedname": "discussiontools-emptystate-link-userpage",
                "*": "mediawikiwiki:Special:MyLanguage/Help:User_page"
            },
            {
                "name": "discussiontools-emptystate-link-userpage-anon",
                "normalizedname": "discussiontools-emptystate-link-userpage-anon",
                "*": "{{MediaWiki:discussiontools-emptystate-link-userpage}}"
            },
            {
                "name": "discussiontools-emptystate-link-userpage-temp",
                "normalizedname": "discussiontools-emptystate-link-userpage-temp",
                "*": "{{MediaWiki:discussiontools-emptystate-link-userpage}}"
            },
            {
                "name": "discussiontools-emptystate-title",
                "normalizedname": "discussiontools-emptystate-title",
                "*": "Start a discussion about {{SUBJECTPAGENAME}}"
            },
            {
                "name": "discussiontools-emptystate-title-self",
                "normalizedname": "discussiontools-emptystate-title-self",
                "*": "{{GENDER:|Welcome}} to your talk page"
            },
            {
                "name": "discussiontools-emptystate-title-self-anon",
                "normalizedname": "discussiontools-emptystate-title-self-anon",
                "*": "{{GENDER:|Welcome}} to this talk page"
            },
            {
                "name": "discussiontools-emptystate-title-self-temp",
                "normalizedname": "discussiontools-emptystate-title-self-temp",
                "*": "{{GENDER:|Welcome}} to your talk page"
            },
            {
                "name": "discussiontools-emptystate-title-user",
                "normalizedname": "discussiontools-emptystate-title-user",
                "*": "Start a discussion {{GENDER:{{PAGENAME}}|with}} {{PAGENAME}}"
            },
            {
                "name": "discussiontools-emptystate-title-user-anon",
                "normalizedname": "discussiontools-emptystate-title-user-anon",
                "*": "{{GENDER:|Welcome}} to this talk page"
            },
            {
                "name": "discussiontools-emptystate-title-user-temp",
                "normalizedname": "discussiontools-emptystate-title-user-temp",
                "*": "Start a discussion {{GENDER:{{PAGENAME}}|with}} {{PAGENAME}}"
            },
            {
                "name": "discussiontools-error-comment-conflict",
                "normalizedname": "discussiontools-error-comment-conflict",
                "*": "{{GENDER:|Your}} comment could not be saved, because someone else commented at the same time as you. Please try again, or reload the page to view the latest comments."
            },
            {
                "name": "discussiontools-error-comment-disappeared",
                "normalizedname": "discussiontools-error-comment-disappeared",
                "*": "Could not find the comment {{GENDER:|you're}} replying to on the page. It might have been deleted or moved to another page."
            },
            {
                "name": "discussiontools-error-comment-disappeared-reload",
                "normalizedname": "discussiontools-error-comment-disappeared-reload",
                "*": "Please {{GENDER:|reload}} the page and try again."
            },
            {
                "name": "discussiontools-error-comment-is-transcluded",
                "normalizedname": "discussiontools-error-comment-is-transcluded",
                "*": "The \"{{int:discussiontools-replylink}}\" link cannot be used to reply to this comment. To reply, please {{GENDER:|use}} the full page editor by clicking \"$1\"."
            },
            {
                "name": "discussiontools-error-comment-is-transcluded-title",
                "normalizedname": "discussiontools-error-comment-is-transcluded-title",
                "*": "The \"{{int:discussiontools-replylink}}\" link cannot be used to reply to this comment because it is loaded from another page. To reply, please {{GENDER:|go}} here: [[$1]]."
            },
            {
                "name": "discussiontools-error-comment-not-saved",
                "normalizedname": "discussiontools-error-comment-not-saved",
                "*": "{{GENDER:|Your}} comment could not be published to the most recent version of the page. To see the latest changes, copy your drafted comment and then use your browser to reload the page."
            },
            {
                "name": "discussiontools-error-lint",
                "normalizedname": "discussiontools-error-lint",
                "*": "Comments on this page can't be replied to because of an error in the wikitext. {{GENDER:|You}} can learn about this error by [$1 reading the documentation], ask for help by [$2 posting here] or fix the error by [$3 opening the full page editor]."
            },
            {
                "name": "discussiontools-error-noswitchtove",
                "normalizedname": "discussiontools-error-noswitchtove",
                "*": "Sorry, switching to visual mode is disabled because <b>$1</b> was detected in the comment {{GENDER:|you}} have written. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:DiscussionTools/Reply_tool_visual_mode_limitations Learn more]."
            },
            {
                "name": "discussiontools-error-noswitchtove-extension",
                "normalizedname": "discussiontools-error-noswitchtove-extension",
                "*": "extension or reference syntax"
            },
            {
                "name": "discussiontools-error-noswitchtove-table",
                "normalizedname": "discussiontools-error-noswitchtove-table",
                "*": "table syntax"
            },
            {
                "name": "discussiontools-error-noswitchtove-template",
                "normalizedname": "discussiontools-error-noswitchtove-template",
                "*": "template syntax"
            },
            {
                "name": "discussiontools-error-noswitchtove-title",
                "normalizedname": "discussiontools-error-noswitchtove-title",
                "*": "Visual mode disabled"
            },
            {
                "name": "discussiontools-findcomment-gotocomment",
                "normalizedname": "discussiontools-findcomment-gotocomment",
                "*": "If it only appears in the current revision of one page, {{GENDER:|you}} can [[Special:GoToComment/$1|go directly to the comment using this link]]. Otherwise it will redirect to these search results."
            },
            {
                "name": "discussiontools-findcomment-label-idorname",
                "normalizedname": "discussiontools-findcomment-label-idorname",
                "*": "Comment ID or name"
            },
            {
                "name": "discussiontools-findcomment-label-search",
                "normalizedname": "discussiontools-findcomment-label-search",
                "*": "Search"
            },
            {
                "name": "discussiontools-findcomment-noresults",
                "normalizedname": "discussiontools-findcomment-noresults",
                "*": "No results."
            },
            {
                "name": "discussiontools-findcomment-results-id",
                "normalizedname": "discussiontools-findcomment-results-id",
                "*": "Comment with the given ID has appeared on the following {{PLURAL:$1|page|pages}}:"
            },
            {
                "name": "discussiontools-findcomment-results-name",
                "normalizedname": "discussiontools-findcomment-results-name",
                "*": "Comment with the given name has appeared on the following {{PLURAL:$1|page|pages}}:"
            },
            {
                "name": "discussiontools-findcomment-results-notcurrent",
                "normalizedname": "discussiontools-findcomment-results-notcurrent",
                "*": "(not in current revision)"
            },
            {
                "name": "discussiontools-findcomment-results-transcluded",
                "normalizedname": "discussiontools-findcomment-results-transcluded",
                "*": "(transcluded from another page)"
            },
            {
                "name": "discussiontools-findcomment-title",
                "normalizedname": "discussiontools-findcomment-title",
                "*": "Find comment"
            },
            {
                "name": "discussiontools-ledesection-button",
                "normalizedname": "discussiontools-ledesection-button",
                "*": "Learn more about this page"
            },
            {
                "name": "discussiontools-ledesection-title",
                "normalizedname": "discussiontools-ledesection-title",
                "*": "About this talk page"
            },
            {
                "name": "discussiontools-limitreport-errorreqid",
                "normalizedname": "discussiontools-limitreport-errorreqid",
                "*": "DiscussionTools error request ID"
            },
            {
                "name": "discussiontools-limitreport-timeusage",
                "normalizedname": "discussiontools-limitreport-timeusage",
                "*": "DiscussionTools time usage"
            },
            {
                "name": "discussiontools-limitreport-timeusage-value",
                "normalizedname": "discussiontools-limitreport-timeusage-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "discussiontools-newtopic-missing-title",
                "normalizedname": "discussiontools-newtopic-missing-title",
                "*": "Please provide a title for {{GENDER:|your}} discussion topic. If you click \"{{int:discussiontools-replywidget-newtopic}}\", your topic will be added without a title."
            },
            {
                "name": "discussiontools-newtopic-placeholder-title",
                "normalizedname": "discussiontools-newtopic-placeholder-title",
                "*": "Subject"
            },
            {
                "name": "discussiontools-newtopicssubscription-button-subscribe-label",
                "normalizedname": "discussiontools-newtopicssubscription-button-subscribe-label",
                "*": "Subscribe"
            },
            {
                "name": "discussiontools-newtopicssubscription-button-subscribe-tooltip",
                "normalizedname": "discussiontools-newtopicssubscription-button-subscribe-tooltip",
                "*": "Subscribe to receive notifications when new topics are started on this page."
            },
            {
                "name": "discussiontools-newtopicssubscription-button-unsubscribe-label",
                "normalizedname": "discussiontools-newtopicssubscription-button-unsubscribe-label",
                "*": "Unsubscribe"
            },
            {
                "name": "discussiontools-newtopicssubscription-button-unsubscribe-tooltip",
                "normalizedname": "discussiontools-newtopicssubscription-button-unsubscribe-tooltip",
                "*": "Unsubscribe to stop receiving notifications when new topics are started on this page."
            },
            {
                "name": "discussiontools-newtopicssubscription-notify-subscribed-body",
                "normalizedname": "discussiontools-newtopicssubscription-notify-subscribed-body",
                "*": "{{GENDER:|You}} will receive notifications when new topics are started on this page."
            },
            {
                "name": "discussiontools-newtopicssubscription-notify-subscribed-title",
                "normalizedname": "discussiontools-newtopicssubscription-notify-subscribed-title",
                "*": "{{GENDER:|You}} have subscribed!"
            },
            {
                "name": "discussiontools-newtopicssubscription-notify-unsubscribed-body",
                "normalizedname": "discussiontools-newtopicssubscription-notify-unsubscribed-body",
                "*": "{{GENDER:|You}} will no longer receive notifications when new topics are started on this page."
            },
            {
                "name": "discussiontools-newtopicssubscription-notify-unsubscribed-title",
                "normalizedname": "discussiontools-newtopicssubscription-notify-unsubscribed-title",
                "*": "{{GENDER:|You}} have unsubscribed."
            },
            {
                "name": "discussiontools-notification-added-topic-header",
                "normalizedname": "discussiontools-notification-added-topic-header",
                "*": "New topic \"<strong>$4</strong>\" created on <strong>$3</strong> by $2."
            },
            {
                "name": "discussiontools-notification-added-topic-header-bundled",
                "normalizedname": "discussiontools-notification-added-topic-header-bundled",
                "*": "{{PLURAL:$1|One new topic|$1 new topics|100=99+ new topics}} on \"<strong>$2</strong>\"."
            },
            {
                "name": "discussiontools-notification-added-topic-header-compact",
                "normalizedname": "discussiontools-notification-added-topic-header-compact",
                "*": "$3: <em>$4</em>"
            },
            {
                "name": "discussiontools-notification-added-topic-view",
                "normalizedname": "discussiontools-notification-added-topic-view",
                "*": "View topic"
            },
            {
                "name": "discussiontools-notification-removed-topic-body",
                "normalizedname": "discussiontools-notification-removed-topic-body",
                "*": "{{GENDER:|You}} might no longer receive notifications about {{PLURAL:$1|this topic|these topics}}."
            },
            {
                "name": "discussiontools-notification-removed-topic-disable",
                "normalizedname": "discussiontools-notification-removed-topic-disable",
                "*": "Stop receiving notifications like this"
            },
            {
                "name": "discussiontools-notification-removed-topic-disabled-body",
                "normalizedname": "discussiontools-notification-removed-topic-disabled-body",
                "*": "You can change this in [[Special:Preferences#mw-prefsection-echo-echosubscriptions|your preferences]]."
            },
            {
                "name": "discussiontools-notification-removed-topic-disabled-title",
                "normalizedname": "discussiontools-notification-removed-topic-disabled-title",
                "*": "{{GENDER:|You}} will no longer receive notifications when a topic is archived or removed."
            },
            {
                "name": "discussiontools-notification-removed-topic-header",
                "normalizedname": "discussiontools-notification-removed-topic-header",
                "*": "Topic \"<strong>$4</strong>\" was archived or removed from $3."
            },
            {
                "name": "discussiontools-notification-removed-topic-header-bundled",
                "normalizedname": "discussiontools-notification-removed-topic-header-bundled",
                "*": "{{PLURAL:$1|One topic was|$1 topics were|100=99+ topics were}} archived or removed from $2."
            },
            {
                "name": "discussiontools-notification-removed-topic-header-compact",
                "normalizedname": "discussiontools-notification-removed-topic-header-compact",
                "*": "Topic \"<strong>$4</strong>\" was archived or removed."
            },
            {
                "name": "discussiontools-notification-removed-topic-view",
                "normalizedname": "discussiontools-notification-removed-topic-view",
                "*": "View page"
            },
            {
                "name": "discussiontools-notification-subscribed-new-comment-header",
                "normalizedname": "discussiontools-notification-subscribed-new-comment-header",
                "*": "$1 {{GENDER:$2|replied}} in \"<strong>$4</strong>\"."
            },
            {
                "name": "discussiontools-notification-subscribed-new-comment-header-bundled",
                "normalizedname": "discussiontools-notification-subscribed-new-comment-header-bundled",
                "*": "{{PLURAL:$1|One new reply|$1 new replies|100=99+ new replies}} in \"<strong>$3</strong>\"."
            },
            {
                "name": "discussiontools-notification-subscribed-new-comment-header-compact",
                "normalizedname": "discussiontools-notification-subscribed-new-comment-header-compact",
                "*": "$1: <em>$3</em>."
            },
            {
                "name": "discussiontools-notification-subscribed-new-comment-view",
                "normalizedname": "discussiontools-notification-subscribed-new-comment-view",
                "*": "View comment"
            },
            {
                "name": "discussiontools-pageframe-latestcomment",
                "normalizedname": "discussiontools-pageframe-latestcomment",
                "*": "Latest comment: $1 by $2 in topic $3"
            },
            {
                "name": "discussiontools-pageframe-latestcomment-notopic",
                "normalizedname": "discussiontools-pageframe-latestcomment-notopic",
                "*": "Latest comment: $1 by $2"
            },
            {
                "name": "discussiontools-pagetitle-newtopic",
                "normalizedname": "discussiontools-pagetitle-newtopic",
                "*": "Starting new topic on $1"
            },
            {
                "name": "discussiontools-pagetitle-reply",
                "normalizedname": "discussiontools-pagetitle-reply",
                "*": "Replying on $1"
            },
            {
                "name": "discussiontools-permalink-comment-copied",
                "normalizedname": "discussiontools-permalink-comment-copied",
                "*": "Link to comment copied to clipboard."
            },
            {
                "name": "discussiontools-postedit-confirmation-published",
                "normalizedname": "discussiontools-postedit-confirmation-published",
                "*": "Your comment was published."
            },
            {
                "name": "discussiontools-postedit-confirmation-topicadded",
                "normalizedname": "discussiontools-postedit-confirmation-topicadded",
                "*": "Your topic was added."
            },
            {
                "name": "discussiontools-preference-autotopicsub",
                "normalizedname": "discussiontools-preference-autotopicsub",
                "*": "Automatically subscribe to topics"
            },
            {
                "name": "discussiontools-preference-autotopicsub-help",
                "normalizedname": "discussiontools-preference-autotopicsub-help",
                "*": "When {{GENDER:|you}} start a new discussion or comment in an existing discussion, you will be automatically notified when others post new comments to it."
            },
            {
                "name": "discussiontools-preference-description",
                "normalizedname": "discussiontools-preference-description",
                "*": "Enables experimental talk page features:\n* [https://www.mediawiki.org/wiki/Talk_pages_project/Usability Show metadata] about each discussion and enable a new page layout.\n\nYou can customize these features in your [[Special:Preferences#mw-prefsection-editing-discussion|preferences]].\n\nUpdates will be posted on the [https://www.mediawiki.org/wiki/Talk_pages_project/Updates talk pages project's updates page].\n\nPlease note:\n* Over time, new experimental features will be added.\n* Some of the features above may not be available at your wiki yet."
            },
            {
                "name": "discussiontools-preference-discussion-link",
                "normalizedname": "discussiontools-preference-discussion-link",
                "*": "https://www.mediawiki.org/wiki/Talk:Talk_pages_project"
            },
            {
                "name": "discussiontools-preference-gadget-conflict",
                "normalizedname": "discussiontools-preference-gadget-conflict",
                "*": "To enable quick replying, you will first need to [[$1|disable the Convenient Discussions gadget]] in your Gadget preferences."
            },
            {
                "name": "discussiontools-preference-info-link",
                "normalizedname": "discussiontools-preference-info-link",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Feature_summary"
            },
            {
                "name": "discussiontools-preference-label",
                "normalizedname": "discussiontools-preference-label",
                "*": "Discussion tools"
            },
            {
                "name": "discussiontools-preference-newtopictool",
                "normalizedname": "discussiontools-preference-newtopictool",
                "*": "Enable quick topic adding"
            },
            {
                "name": "discussiontools-preference-newtopictool-createpage",
                "normalizedname": "discussiontools-preference-newtopictool-createpage",
                "*": "When I visit a discussion page that hasn't been created yet:"
            },
            {
                "name": "discussiontools-preference-newtopictool-createpage-editor",
                "normalizedname": "discussiontools-preference-newtopictool-createpage-editor",
                "*": "Open the wikitext editor"
            },
            {
                "name": "discussiontools-preference-newtopictool-createpage-newtopictool",
                "normalizedname": "discussiontools-preference-newtopictool-createpage-newtopictool",
                "*": "Offer to add a new topic"
            },
            {
                "name": "discussiontools-preference-newtopictool-help",
                "normalizedname": "discussiontools-preference-newtopictool-help",
                "*": "This will show you an inline form for adding new topics."
            },
            {
                "name": "discussiontools-preference-replytool",
                "normalizedname": "discussiontools-preference-replytool",
                "*": "Enable quick replying"
            },
            {
                "name": "discussiontools-preference-replytool-help",
                "normalizedname": "discussiontools-preference-replytool-help",
                "*": "This will show you a link to reply to talk page comments in one click."
            },
            {
                "name": "discussiontools-preference-sourcemodetoolbar",
                "normalizedname": "discussiontools-preference-sourcemodetoolbar",
                "*": "Enable editing tools in source mode"
            },
            {
                "name": "discussiontools-preference-sourcemodetoolbar-help",
                "normalizedname": "discussiontools-preference-sourcemodetoolbar-help",
                "*": "This will add a toolbar to the quick replying and quick topic adding features\u2019 source modes that includes shortcuts for pinging and adding links."
            },
            {
                "name": "discussiontools-preference-summary",
                "normalizedname": "discussiontools-preference-summary",
                "*": "You can learn more about these features by reading the [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Feature_summary feature summary]."
            },
            {
                "name": "discussiontools-preference-topicsubscription",
                "normalizedname": "discussiontools-preference-topicsubscription",
                "*": "Enable topic subscription"
            },
            {
                "name": "discussiontools-preference-topicsubscription-help",
                "normalizedname": "discussiontools-preference-topicsubscription-help",
                "*": "This will allow you to subscribe to receive notifications about comments on individual topics."
            },
            {
                "name": "discussiontools-preference-visualenhancements",
                "normalizedname": "discussiontools-preference-visualenhancements",
                "*": "Show discussion activity"
            },
            {
                "name": "discussiontools-preference-visualenhancements-help",
                "normalizedname": "discussiontools-preference-visualenhancements-help",
                "*": "This will enable a new talk page appearance that includes information about the activity within each discussion."
            },
            {
                "name": "discussiontools-replybutton",
                "normalizedname": "discussiontools-replybutton",
                "*": "{{GENDER:|Reply}}"
            },
            {
                "name": "discussiontools-replylink",
                "normalizedname": "discussiontools-replylink",
                "*": "{{GENDER:|reply}}"
            },
            {
                "name": "discussiontools-replywidget-abandon",
                "normalizedname": "discussiontools-replywidget-abandon",
                "*": "Are {{GENDER:|you}} sure you want to discard the comment you are writing?"
            },
            {
                "name": "discussiontools-replywidget-abandon-discard",
                "normalizedname": "discussiontools-replywidget-abandon-discard",
                "*": "Discard comment"
            },
            {
                "name": "discussiontools-replywidget-abandon-keep",
                "normalizedname": "discussiontools-replywidget-abandon-keep",
                "*": "Continue writing"
            },
            {
                "name": "discussiontools-replywidget-abandontopic",
                "normalizedname": "discussiontools-replywidget-abandontopic",
                "*": "Are {{GENDER:|you}} sure you want to discard the topic you are writing?"
            },
            {
                "name": "discussiontools-replywidget-abandontopic-discard",
                "normalizedname": "discussiontools-replywidget-abandontopic-discard",
                "*": "Discard topic"
            },
            {
                "name": "discussiontools-replywidget-abandontopic-keep",
                "normalizedname": "discussiontools-replywidget-abandontopic-keep",
                "*": "Continue writing"
            },
            {
                "name": "discussiontools-replywidget-advanced",
                "normalizedname": "discussiontools-replywidget-advanced",
                "*": "Advanced"
            },
            {
                "name": "discussiontools-replywidget-anon-warning",
                "normalizedname": "discussiontools-replywidget-anon-warning",
                "*": "<strong>You are not logged in.</strong> To be notified when someone replies and receive attribution with your name instead of your IP address, you can [$1 log in] or [$2 create an account]."
            },
            {
                "name": "discussiontools-replywidget-autocreate-warning",
                "normalizedname": "discussiontools-replywidget-autocreate-warning",
                "*": "<strong>You are not logged in.</strong> To be notified when someone replies and receive attribution with a name of your choice instead of an [[$3|auto-generated name]], you can [$1 log in] or [$2 create an account]."
            },
            {
                "name": "discussiontools-replywidget-cancel",
                "normalizedname": "discussiontools-replywidget-cancel",
                "*": "Cancel"
            },
            {
                "name": "discussiontools-replywidget-feedback",
                "normalizedname": "discussiontools-replywidget-feedback",
                "*": "{{GENDER:|Share feedback}} about this feature"
            },
            {
                "name": "discussiontools-replywidget-feedback-link",
                "normalizedname": "discussiontools-replywidget-feedback-link",
                "*": "https://www.mediawiki.org/wiki/Talk:Talk_pages_project/Replying"
            },
            {
                "name": "discussiontools-replywidget-feedback-link-newtopic",
                "normalizedname": "discussiontools-replywidget-feedback-link-newtopic",
                "*": "https://www.mediawiki.org/wiki/Talk:Talk_pages_project/New_discussion"
            },
            {
                "name": "discussiontools-replywidget-keyboard-shortcut-submit",
                "normalizedname": "discussiontools-replywidget-keyboard-shortcut-submit",
                "*": "You can press $1 to submit your comment"
            },
            {
                "name": "discussiontools-replywidget-loading",
                "normalizedname": "discussiontools-replywidget-loading",
                "*": "Loading\u2026"
            },
            {
                "name": "discussiontools-replywidget-mention-prefix",
                "normalizedname": "discussiontools-replywidget-mention-prefix",
                "*": "@"
            },
            {
                "name": "discussiontools-replywidget-mention-suffix",
                "normalizedname": "discussiontools-replywidget-mention-suffix",
                "*": ""
            },
            {
                "name": "discussiontools-replywidget-mention-tool-header",
                "normalizedname": "discussiontools-replywidget-mention-tool-header",
                "*": "Find user: $1"
            },
            {
                "name": "discussiontools-replywidget-mention-tool-title",
                "normalizedname": "discussiontools-replywidget-mention-tool-title",
                "*": "Mention a user"
            },
            {
                "name": "discussiontools-replywidget-mode-source",
                "normalizedname": "discussiontools-replywidget-mode-source",
                "*": "Source"
            },
            {
                "name": "discussiontools-replywidget-mode-visual",
                "normalizedname": "discussiontools-replywidget-mode-visual",
                "*": "Visual"
            },
            {
                "name": "discussiontools-replywidget-newcomments-button",
                "normalizedname": "discussiontools-replywidget-newcomments-button",
                "*": "Show $1 new {{PLURAL:$1|comment|comments}}"
            },
            {
                "name": "discussiontools-replywidget-newtopic",
                "normalizedname": "discussiontools-replywidget-newtopic",
                "*": "{{GENDER:|Add}} topic"
            },
            {
                "name": "discussiontools-replywidget-newtopic-link",
                "normalizedname": "discussiontools-replywidget-newtopic-link",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/New_discussion"
            },
            {
                "name": "discussiontools-replywidget-placeholder-newtopic",
                "normalizedname": "discussiontools-replywidget-placeholder-newtopic",
                "*": "Description"
            },
            {
                "name": "discussiontools-replywidget-placeholder-reply",
                "normalizedname": "discussiontools-replywidget-placeholder-reply",
                "*": "{{GENDER:|Reply}} to {{BIDI:$1}}"
            },
            {
                "name": "discussiontools-replywidget-preferences",
                "normalizedname": "discussiontools-replywidget-preferences",
                "*": "Preferences"
            },
            {
                "name": "discussiontools-replywidget-preview",
                "normalizedname": "discussiontools-replywidget-preview",
                "*": "Preview"
            },
            {
                "name": "discussiontools-replywidget-publish-accesskey",
                "normalizedname": "discussiontools-replywidget-publish-accesskey",
                "*": "s"
            },
            {
                "name": "discussiontools-replywidget-reply",
                "normalizedname": "discussiontools-replywidget-reply",
                "*": "{{GENDER:|Reply}}"
            },
            {
                "name": "discussiontools-replywidget-reply-link",
                "normalizedname": "discussiontools-replywidget-reply-link",
                "*": "https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Replying"
            },
            {
                "name": "discussiontools-replywidget-return-to-newtopic",
                "normalizedname": "discussiontools-replywidget-return-to-newtopic",
                "*": "Return to new topic"
            },
            {
                "name": "discussiontools-replywidget-return-to-reply",
                "normalizedname": "discussiontools-replywidget-return-to-reply",
                "*": "Return to reply"
            },
            {
                "name": "discussiontools-replywidget-signature-body",
                "normalizedname": "discussiontools-replywidget-signature-body",
                "*": "$1 has been transformed into {{GENDER:|your}} signature. To undo this, type $2. Note that you don't need to sign comments with this tool. Your signature will be added automatically."
            },
            {
                "name": "discussiontools-replywidget-signature-title",
                "normalizedname": "discussiontools-replywidget-signature-title",
                "*": "Signature markup detected"
            },
            {
                "name": "discussiontools-replywidget-summary",
                "normalizedname": "discussiontools-replywidget-summary",
                "*": "Summary"
            },
            {
                "name": "discussiontools-replywidget-terms-click",
                "normalizedname": "discussiontools-replywidget-terms-click",
                "*": "By clicking \"$1\", {{GENDER:|you}} agree to the terms of use for this wiki."
            },
            {
                "name": "discussiontools-replywidget-transcluded",
                "normalizedname": "discussiontools-replywidget-transcluded",
                "*": "Your comment will be saved at [[$1]]."
            },
            {
                "name": "discussiontools-replywidget-watchthis",
                "normalizedname": "discussiontools-replywidget-watchthis",
                "*": "Add this page to your [[Special:Watchlist|watchlist]]"
            },
            {
                "name": "discussiontools-signature-prefix",
                "normalizedname": "discussiontools-signature-prefix",
                "*": " "
            },
            {
                "name": "discussiontools-target-comment-missing",
                "normalizedname": "discussiontools-target-comment-missing",
                "*": "This comment could not be found. It might have been deleted or moved."
            },
            {
                "name": "discussiontools-target-comments-missing",
                "normalizedname": "discussiontools-target-comments-missing",
                "*": "New comments could not be found. They might have been deleted or moved."
            },
            {
                "name": "discussiontools-topicheader-authorcount",
                "normalizedname": "discussiontools-topicheader-authorcount",
                "*": "$1 {{PLURAL:$1|person|people}} in discussion"
            },
            {
                "name": "discussiontools-topicheader-commentcount",
                "normalizedname": "discussiontools-topicheader-commentcount",
                "*": "$1 {{PLURAL:$1|comment|comments}}"
            },
            {
                "name": "discussiontools-topicheader-latestcomment",
                "normalizedname": "discussiontools-topicheader-latestcomment",
                "*": "Latest comment: $1"
            },
            {
                "name": "discussiontools-topicsubscription-action-subscribe-button",
                "normalizedname": "discussiontools-topicsubscription-action-subscribe-button",
                "*": "Subscribe"
            },
            {
                "name": "discussiontools-topicsubscription-action-subscribe-prompt",
                "normalizedname": "discussiontools-topicsubscription-action-subscribe-prompt",
                "*": "Subscribe to this topic?"
            },
            {
                "name": "discussiontools-topicsubscription-action-subscribe-prompt-newtopics",
                "normalizedname": "discussiontools-topicsubscription-action-subscribe-prompt-newtopics",
                "*": "Subscribe to notifications about new topics on this page?"
            },
            {
                "name": "discussiontools-topicsubscription-action-title",
                "normalizedname": "discussiontools-topicsubscription-action-title",
                "*": "$1{{int:pipe-separator}}$2"
            },
            {
                "name": "discussiontools-topicsubscription-action-unsubscribe-button",
                "normalizedname": "discussiontools-topicsubscription-action-unsubscribe-button",
                "*": "Unsubscribe"
            },
            {
                "name": "discussiontools-topicsubscription-action-unsubscribe-prompt",
                "normalizedname": "discussiontools-topicsubscription-action-unsubscribe-prompt",
                "*": "Unsubscribe from this topic?"
            },
            {
                "name": "discussiontools-topicsubscription-action-unsubscribe-prompt-newtopics",
                "normalizedname": "discussiontools-topicsubscription-action-unsubscribe-prompt-newtopics",
                "*": "Unsubscribe from notifications about new topics on this page?"
            },
            {
                "name": "discussiontools-topicsubscription-button-subscribe",
                "normalizedname": "discussiontools-topicsubscription-button-subscribe",
                "*": "subscribe"
            },
            {
                "name": "discussiontools-topicsubscription-button-subscribe-label",
                "normalizedname": "discussiontools-topicsubscription-button-subscribe-label",
                "*": "Subscribe"
            },
            {
                "name": "discussiontools-topicsubscription-button-subscribe-tooltip",
                "normalizedname": "discussiontools-topicsubscription-button-subscribe-tooltip",
                "*": "{{GENDER:|Subscribe}} to receive notifications about new comments."
            },
            {
                "name": "discussiontools-topicsubscription-button-unsubscribe",
                "normalizedname": "discussiontools-topicsubscription-button-unsubscribe",
                "*": "unsubscribe"
            },
            {
                "name": "discussiontools-topicsubscription-button-unsubscribe-label",
                "normalizedname": "discussiontools-topicsubscription-button-unsubscribe-label",
                "*": "Unsubscribe"
            },
            {
                "name": "discussiontools-topicsubscription-button-unsubscribe-tooltip",
                "normalizedname": "discussiontools-topicsubscription-button-unsubscribe-tooltip",
                "*": "{{GENDER:|Unsubscribe}} to stop receiving notifications about new comments."
            },
            {
                "name": "discussiontools-topicsubscription-error-not-found-body",
                "normalizedname": "discussiontools-topicsubscription-error-not-found-body",
                "*": "The subscription specified in the URL was not found."
            },
            {
                "name": "discussiontools-topicsubscription-error-not-found-title",
                "normalizedname": "discussiontools-topicsubscription-error-not-found-title",
                "*": "Subscription not found"
            },
            {
                "name": "discussiontools-topicsubscription-notify-subscribed-body",
                "normalizedname": "discussiontools-topicsubscription-notify-subscribed-body",
                "*": "{{GENDER:|You}} will receive notifications about new comments in this topic."
            },
            {
                "name": "discussiontools-topicsubscription-notify-subscribed-title",
                "normalizedname": "discussiontools-topicsubscription-notify-subscribed-title",
                "*": "{{GENDER:|You}} have subscribed!"
            },
            {
                "name": "discussiontools-topicsubscription-notify-unsubscribed-body",
                "normalizedname": "discussiontools-topicsubscription-notify-unsubscribed-body",
                "*": "{{GENDER:|You}} will no longer receive notifications about new comments in this topic."
            },
            {
                "name": "discussiontools-topicsubscription-notify-unsubscribed-title",
                "normalizedname": "discussiontools-topicsubscription-notify-unsubscribed-title",
                "*": "{{GENDER:|You}} have unsubscribed."
            },
            {
                "name": "discussiontools-topicsubscription-pager-actions",
                "normalizedname": "discussiontools-topicsubscription-pager-actions",
                "*": "Actions"
            },
            {
                "name": "discussiontools-topicsubscription-pager-created",
                "normalizedname": "discussiontools-topicsubscription-pager-created",
                "*": "First {{GENDER:|subscribed}}"
            },
            {
                "name": "discussiontools-topicsubscription-pager-newtopics-label",
                "normalizedname": "discussiontools-topicsubscription-pager-newtopics-label",
                "*": "New topics"
            },
            {
                "name": "discussiontools-topicsubscription-pager-notified",
                "normalizedname": "discussiontools-topicsubscription-pager-notified",
                "*": "Latest notification"
            },
            {
                "name": "discussiontools-topicsubscription-pager-notified-never",
                "normalizedname": "discussiontools-topicsubscription-pager-notified-never",
                "*": "never"
            },
            {
                "name": "discussiontools-topicsubscription-pager-page",
                "normalizedname": "discussiontools-topicsubscription-pager-page",
                "*": "Page"
            },
            {
                "name": "discussiontools-topicsubscription-pager-topic",
                "normalizedname": "discussiontools-topicsubscription-pager-topic",
                "*": "Topic"
            },
            {
                "name": "discussiontools-topicsubscription-pager-unsubscribe-button",
                "normalizedname": "discussiontools-topicsubscription-pager-unsubscribe-button",
                "*": "Unsubscribe"
            },
            {
                "name": "discussiontools-topicsubscription-preferences-editsubscriptions",
                "normalizedname": "discussiontools-topicsubscription-preferences-editsubscriptions",
                "*": "Edit subscriptions"
            },
            {
                "name": "discussiontools-topicsubscription-special-intro",
                "normalizedname": "discussiontools-topicsubscription-special-intro",
                "*": "Subscriptions allow {{GENDER:|you}} to follow a topic on talk pages. When someone replies to the topic, you will receive a notification.\n\nAdjust how and where you receive these notifications in [[Special:Preferences#mw-prefsection-echo|your preferences]]."
            },
            {
                "name": "discussiontools-topicsubscription-special-title",
                "normalizedname": "discussiontools-topicsubscription-special-title",
                "*": "Topic subscriptions"
            },
            {
                "name": "discussiontoolsdebug-intro",
                "normalizedname": "discussiontoolsdebug-intro",
                "*": "This page demonstrates how the [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DiscussionTools DiscussionTools extension] recognizes the threads and comments present on the page '''[[:$1]]'''. You may find it useful in debugging issues with the extension or understanding how it works. The same information is available in the [[$2|discussiontoolspageinfo API]]."
            },
            {
                "name": "discussiontoolsdebug-pagetitle",
                "normalizedname": "discussiontoolsdebug-pagetitle",
                "*": "Page title"
            },
            {
                "name": "discussiontoolsdebug-title",
                "normalizedname": "discussiontoolsdebug-title",
                "*": "Discussion tools data structure"
            },
            {
                "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": "dpl-desc",
                "normalizedname": "dpl-desc",
                "*": "A highly flexible report generator for MediaWikis"
            },
            {
                "name": "dpl-intersection-tracking-category",
                "normalizedname": "dpl-intersection-tracking-category",
                "*": "Pages using DynamicPageList3 Intersection parser tag"
            },
            {
                "name": "dpl-parserfunc-tracking-category",
                "normalizedname": "dpl-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 parser function"
            },
            {
                "name": "dpl-tag-tracking-category",
                "normalizedname": "dpl-tag-tracking-category",
                "*": "Pages using DynamicPageList3 parser tag"
            },
            {
                "name": "dpl_articlecount",
                "normalizedname": "dpl_articlecount",
                "*": "There {{PLURAL:$1|is one article|are $1 articles}} in this heading."
            },
            {
                "name": "dpl_log_1",
                "normalizedname": "dpl_log_1",
                "*": "Error: Wrong '$1' parameter: '$2'! Help: <code>$1= <i>empty string</i> (Main)$3</code>."
            },
            {
                "name": "dpl_log_10",
                "normalizedname": "dpl_log_10",
                "*": "Error: The index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)"
            },
            {
                "name": "dpl_log_11",
                "normalizedname": "dpl_log_11",
                "*": "Error: Cannot perform logical operations on the Uncategorized pages (e.g. with the 'category' parameter) because the $0 view does not exist on the database! Help: have the database administrator execute this query: <code>$1</code>."
            },
            {
                "name": "dpl_log_12",
                "normalizedname": "dpl_log_12",
                "*": "Error: Specifying \"openreferences\" is incompatible with another option specified. Please remove that other option or \"openreferences\". See the manual for details."
            },
            {
                "name": "dpl_log_13",
                "normalizedname": "dpl_log_13",
                "*": "Warning: Unknown parameter '$1' was ignored. Help: available parameters: <code>$2</code>."
            },
            {
                "name": "dpl_log_14",
                "normalizedname": "dpl_log_14",
                "*": "Warning: Skipping bad option '$2' for parameter '$1'."
            },
            {
                "name": "dpl_log_15",
                "normalizedname": "dpl_log_15",
                "*": "Warning: Wrong '$1' parameter: '$2'! Using default: '$3' (no limit). Help: <code>$1= <i>empty string</i> (no limit) | n</code>, with <code>n</code> a positive integer."
            },
            {
                "name": "dpl_log_16",
                "normalizedname": "dpl_log_16",
                "*": "Warning: No results."
            },
            {
                "name": "dpl_log_17",
                "normalizedname": "dpl_log_17",
                "*": "Warning: Add* parameters ('adduser', 'addeditdate', etc.)' and 'includepage' have no effect with 'mode=category'. Only the page namespace/title can be viewed in this mode."
            },
            {
                "name": "dpl_log_18",
                "normalizedname": "dpl_log_18",
                "*": "Warning: 'headingmode=$1' has no effect with 'ordermethod' on a single component. Using: '$2'. Help: you can use not-$2 'headingmode' values with 'ordermethod' on multiple components. The first component is used for headings. E.g. 'ordermethod=category,<i>comp</i>' (<i>comp</i> is another component) for category headings."
            },
            {
                "name": "dpl_log_19",
                "normalizedname": "dpl_log_19",
                "*": "Warning: 'debug=$1' is not in first position in the DPL element. The new debug settings are not applied before all previous parameters have been parsed and checked."
            },
            {
                "name": "dpl_log_2",
                "normalizedname": "dpl_log_2",
                "*": "Error: Wrong '$1' parameter: '$2'! Help: <code>$1= <i>full pagename</i></code>."
            },
            {
                "name": "dpl_log_20",
                "normalizedname": "dpl_log_20",
                "*": "Warning: An infinite transclusion loop is created by page '$0'."
            },
            {
                "name": "dpl_log_21",
                "normalizedname": "dpl_log_21",
                "*": "Query: <code>$0</code>"
            },
            {
                "name": "dpl_log_22",
                "normalizedname": "dpl_log_22",
                "*": "Warning: No parameter option supplied for '$1'. (Missing '=')"
            },
            {
                "name": "dpl_log_23",
                "normalizedname": "dpl_log_23",
                "*": "Error: List cannot be displayed because the servers are overloaded. Please try again later."
            },
            {
                "name": "dpl_log_24",
                "normalizedname": "dpl_log_24",
                "*": "Error: <code>$wgDplSettings['runFromProtectedPagesOnly']</code> is set, however the page '$1' is not edit protected."
            },
            {
                "name": "dpl_log_25",
                "normalizedname": "dpl_log_25",
                "*": "Error: $1"
            },
            {
                "name": "dpl_log_3",
                "normalizedname": "dpl_log_3",
                "*": "Error: Too many categories! Maximum: $1. Help: increase <code>$wgDplSettings['maxCategoryCount']</code> to specify more categories or set <code>$wgDplSettings['allowUnlimitedCategories'] = true;</code> for no limitation. (Set the variable in the wiki's <code>LocalSettings.php</code> configuration file.)"
            },
            {
                "name": "dpl_log_4",
                "normalizedname": "dpl_log_4",
                "*": "Error: Too few categories! Minimum: $1. Help: decrease <code>$wgDplSettings['minCategoryCount']</code> to specify fewer categories. (Set the variable in the wiki's <code>LocalSettings.php</code> configuration file.)"
            },
            {
                "name": "dpl_log_5",
                "normalizedname": "dpl_log_5",
                "*": "Error: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby, or their 'not' variants"
            },
            {
                "name": "dpl_log_6",
                "normalizedname": "dpl_log_6",
                "*": "Error: At least one category must be chosen to use 'addfirstcategorydate=true' or 'ordermethod=categoryadd'."
            },
            {
                "name": "dpl_log_7",
                "normalizedname": "dpl_log_7",
                "*": "Error: If you include more than one category, you cannot use 'addfirstcategorydate=true' or 'ordermethod=categoryadd'."
            },
            {
                "name": "dpl_log_8",
                "normalizedname": "dpl_log_8",
                "*": "Error: Only one date type can be added at a time."
            },
            {
                "name": "dpl_log_9",
                "normalizedname": "dpl_log_9",
                "*": "Error: The paramater '$1' must be used with 'ordermethod=[ $2 ]'"
            },
            {
                "name": "dpl_query_error",
                "normalizedname": "dpl_query_error",
                "*": "The DynamicPageList3 extension (version $1) produced a SQL statement which led to a Database error.<br/>The reason may be an internal error of DynamicPageList3 or an error which you made; especially when using parameters like 'categoryregexp' or 'titleregexp'. Usage of non-greedy *? matching patterns are not supported.<br/>Error message was:<br/><tt>$2</tt>"
            },
            {
                "name": "dplchapter-parserfunc-tracking-category",
                "normalizedname": "dplchapter-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 dplchapter parser function"
            },
            {
                "name": "dplmatrix-parserfunc-tracking-category",
                "normalizedname": "dplmatrix-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 dplmatrix parser function"
            },
            {
                "name": "dplnum-parserfunc-tracking-category",
                "normalizedname": "dplnum-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 dplnum parser function"
            },
            {
                "name": "dplreplace-parserfunc-tracking-category",
                "normalizedname": "dplreplace-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 dplreplace parser function"
            },
            {
                "name": "dplvar-parserfunc-tracking-category",
                "normalizedname": "dplvar-parserfunc-tracking-category",
                "*": "Pages using DynamicPageList3 dplvar parser function"
            },
            {
                "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": "echo-api-failure",
                "normalizedname": "echo-api-failure",
                "*": "Failed to fetch notifications."
            },
            {
                "name": "echo-api-failure-cross-wiki",
                "normalizedname": "echo-api-failure-cross-wiki",
                "*": "Access to the remote domain was denied."
            },
            {
                "name": "echo-badge-count",
                "normalizedname": "echo-badge-count",
                "*": "{{PLURAL:$1|$1|100={{formatnum:99}}+}}"
            },
            {
                "name": "echo-blacklist",
                "normalizedname": "echo-blacklist",
                "*": ""
            },
            {
                "name": "echo-category-title-article-linked",
                "normalizedname": "echo-category-title-article-linked",
                "*": "Page {{PLURAL:$1|link|links}}"
            },
            {
                "name": "echo-category-title-article-reminder",
                "normalizedname": "echo-category-title-article-reminder",
                "*": "Page {{PLURAL:$1|reminder|reminders}}"
            },
            {
                "name": "echo-category-title-dt-subscription",
                "normalizedname": "echo-category-title-dt-subscription",
                "*": "Talk page {{PLURAL:$1|subscription|subscriptions}}"
            },
            {
                "name": "echo-category-title-dt-subscription-archiving",
                "normalizedname": "echo-category-title-dt-subscription-archiving",
                "*": "Talk page {{PLURAL:$1|archiving}}"
            },
            {
                "name": "echo-category-title-edit-thank",
                "normalizedname": "echo-category-title-edit-thank",
                "*": "Thanks"
            },
            {
                "name": "echo-category-title-edit-user-page",
                "normalizedname": "echo-category-title-edit-user-page",
                "*": "{{PLURAL:$1|Edit|Edits}} to my user page"
            },
            {
                "name": "echo-category-title-edit-user-talk",
                "normalizedname": "echo-category-title-edit-user-talk",
                "*": "{{PLURAL:$1|Edit|Edits}} to my user talk page"
            },
            {
                "name": "echo-category-title-emailuser",
                "normalizedname": "echo-category-title-emailuser",
                "*": "{{PLURAL:$1|Email from other user|Emails from other users}}"
            },
            {
                "name": "echo-category-title-login-fail",
                "normalizedname": "echo-category-title-login-fail",
                "*": "Failed login attempts"
            },
            {
                "name": "echo-category-title-login-success",
                "normalizedname": "echo-category-title-login-success",
                "*": "Login from an unfamiliar device"
            },
            {
                "name": "echo-category-title-mention",
                "normalizedname": "echo-category-title-mention",
                "*": "{{PLURAL:$1|Mention|Mentions}}"
            },
            {
                "name": "echo-category-title-mention-failure",
                "normalizedname": "echo-category-title-mention-failure",
                "*": "Failed {{PLURAL:$1|mention|mentions}}"
            },
            {
                "name": "echo-category-title-mention-success",
                "normalizedname": "echo-category-title-mention-success",
                "*": "Successful {{PLURAL:$1|mention|mentions}}"
            },
            {
                "name": "echo-category-title-minor-watchlist",
                "normalizedname": "echo-category-title-minor-watchlist",
                "*": "Minor edit to watched page"
            },
            {
                "name": "echo-category-title-other",
                "normalizedname": "echo-category-title-other",
                "*": "{{PLURAL:$1|Other}}"
            },
            {
                "name": "echo-category-title-reverted",
                "normalizedname": "echo-category-title-reverted",
                "*": "Edit {{PLURAL:$1|revert|reverts}}"
            },
            {
                "name": "echo-category-title-system",
                "normalizedname": "echo-category-title-system",
                "*": "{{PLURAL:$1|System}}"
            },
            {
                "name": "echo-category-title-system-emailonly",
                "normalizedname": "echo-category-title-system-emailonly",
                "*": "{{PLURAL:$1|System}}"
            },
            {
                "name": "echo-category-title-system-noemail",
                "normalizedname": "echo-category-title-system-noemail",
                "*": "{{PLURAL:$1|System}}"
            },
            {
                "name": "echo-category-title-thank-you-edit",
                "normalizedname": "echo-category-title-thank-you-edit",
                "*": "Edit {{PLURAL:$1|milestone|milestones}}"
            },
            {
                "name": "echo-category-title-user-rights",
                "normalizedname": "echo-category-title-user-rights",
                "*": "{{PLURAL:$1|User rights change|User rights changes}}"
            },
            {
                "name": "echo-category-title-watchlist",
                "normalizedname": "echo-category-title-watchlist",
                "*": "Edit to watched page"
            },
            {
                "name": "echo-date-today",
                "normalizedname": "echo-date-today",
                "*": "Today"
            },
            {
                "name": "echo-date-yesterday",
                "normalizedname": "echo-date-yesterday",
                "*": "Yesterday"
            },
            {
                "name": "echo-desc",
                "normalizedname": "echo-desc",
                "*": "System for notifying users about events and messages"
            },
            {
                "name": "echo-displaynotificationsconfiguration",
                "normalizedname": "echo-displaynotificationsconfiguration",
                "*": "Display Notifications configuration"
            },
            {
                "name": "echo-displaynotificationsconfiguration-available-notification-methods-by-category-legend",
                "normalizedname": "echo-displaynotificationsconfiguration-available-notification-methods-by-category-legend",
                "*": "Which notification methods are supported for each category"
            },
            {
                "name": "echo-displaynotificationsconfiguration-available-notification-methods-header",
                "normalizedname": "echo-displaynotificationsconfiguration-available-notification-methods-header",
                "*": "Allowed notification methods"
            },
            {
                "name": "echo-displaynotificationsconfiguration-enabled-default-existing-users-legend",
                "normalizedname": "echo-displaynotificationsconfiguration-enabled-default-existing-users-legend",
                "*": "Existing users"
            },
            {
                "name": "echo-displaynotificationsconfiguration-enabled-default-header",
                "normalizedname": "echo-displaynotificationsconfiguration-enabled-default-header",
                "*": "Enabled by default"
            },
            {
                "name": "echo-displaynotificationsconfiguration-enabled-default-new-users-legend",
                "normalizedname": "echo-displaynotificationsconfiguration-enabled-default-new-users-legend",
                "*": "New users"
            },
            {
                "name": "echo-displaynotificationsconfiguration-mandatory-notification-methods-by-category-legend",
                "normalizedname": "echo-displaynotificationsconfiguration-mandatory-notification-methods-by-category-legend",
                "*": "Which notification methods are mandatory for each category"
            },
            {
                "name": "echo-displaynotificationsconfiguration-mandatory-notification-methods-header",
                "normalizedname": "echo-displaynotificationsconfiguration-mandatory-notification-methods-header",
                "*": "Required notification methods"
            },
            {
                "name": "echo-displaynotificationsconfiguration-notifications-by-category-header",
                "normalizedname": "echo-displaynotificationsconfiguration-notifications-by-category-header",
                "*": "Notifications by category"
            },
            {
                "name": "echo-displaynotificationsconfiguration-sorting-by-section-header",
                "normalizedname": "echo-displaynotificationsconfiguration-sorting-by-section-header",
                "*": "Sorting of types"
            },
            {
                "name": "echo-displaynotificationsconfiguration-sorting-by-section-legend",
                "normalizedname": "echo-displaynotificationsconfiguration-sorting-by-section-legend",
                "*": "Which section each notification type is sorted into"
            },
            {
                "name": "echo-displaynotificationsconfiguration-summary",
                "normalizedname": "echo-displaynotificationsconfiguration-summary",
                "*": "This is an overview of how Notifications are configured on this wiki."
            },
            {
                "name": "echo-displaysnippet-title",
                "normalizedname": "echo-displaysnippet-title",
                "*": "New notification"
            },
            {
                "name": "echo-email-batch-body-intro-daily",
                "normalizedname": "echo-email-batch-body-intro-daily",
                "*": "Hi $1,\nHere's a summary of today's activity on {{SITENAME}} for you."
            },
            {
                "name": "echo-email-batch-body-intro-weekly",
                "normalizedname": "echo-email-batch-body-intro-weekly",
                "*": "Hi $1,\nHere's a summary of this week's activity on {{SITENAME}} for you."
            },
            {
                "name": "echo-email-batch-bullet",
                "normalizedname": "echo-email-batch-bullet",
                "*": "\u2022"
            },
            {
                "name": "echo-email-batch-link-text-view-all-notifications",
                "normalizedname": "echo-email-batch-link-text-view-all-notifications",
                "*": "View all notifications"
            },
            {
                "name": "echo-email-batch-subject-daily",
                "normalizedname": "echo-email-batch-subject-daily",
                "*": "You have {{PLURAL:$2|a new notification|new notifications}} at {{SITENAME}}"
            },
            {
                "name": "echo-email-batch-subject-weekly",
                "normalizedname": "echo-email-batch-subject-weekly",
                "*": "You have {{PLURAL:$2|a new notification|new notifications}} at {{SITENAME}} this week"
            },
            {
                "name": "echo-email-html-footer-preference-link-text",
                "normalizedname": "echo-email-html-footer-preference-link-text",
                "*": "check {{GENDER:$1|your}} preferences"
            },
            {
                "name": "echo-email-html-footer-with-link",
                "normalizedname": "echo-email-html-footer-with-link",
                "*": "To control which emails we send {{GENDER:$2|you}}, $1."
            },
            {
                "name": "echo-email-plain-footer",
                "normalizedname": "echo-email-plain-footer",
                "*": "To control which emails we send {{GENDER:$1|you}}, check {{GENDER:$1|your}} preferences:"
            },
            {
                "name": "echo-foreign-wiki-lang",
                "normalizedname": "echo-foreign-wiki-lang",
                "*": "$1 - $2"
            },
            {
                "name": "echo-learn-more",
                "normalizedname": "echo-learn-more",
                "*": "Learn more"
            },
            {
                "name": "echo-log",
                "normalizedname": "echo-log",
                "*": "Public log"
            },
            {
                "name": "echo-mark-all-as-read",
                "normalizedname": "echo-mark-all-as-read",
                "*": "Mark {{PLURAL:$1|all}} as read"
            },
            {
                "name": "echo-mark-all-as-read-confirmation",
                "normalizedname": "echo-mark-all-as-read-confirmation",
                "*": "$1 {{PLURAL:$1|notification|notifications}} marked as read"
            },
            {
                "name": "echo-mark-wiki-as-read",
                "normalizedname": "echo-mark-wiki-as-read",
                "*": "Mark {{PLURAL:$2|all}} as read in selected wiki: $1"
            },
            {
                "name": "echo-mobile-notifications-filter-title",
                "normalizedname": "echo-mobile-notifications-filter-title",
                "*": "Filter notifications"
            },
            {
                "name": "echo-new-messages",
                "normalizedname": "echo-new-messages",
                "*": "You have a new Talk page message"
            },
            {
                "name": "echo-none",
                "normalizedname": "echo-none",
                "*": "You have no notifications."
            },
            {
                "name": "echo-notification-alert",
                "normalizedname": "echo-notification-alert",
                "*": "{{PLURAL:$1|Alert ($1)|Alerts ($1)|100=Alerts (99+)}}"
            },
            {
                "name": "echo-notification-alert-text-only",
                "normalizedname": "echo-notification-alert-text-only",
                "*": "Alerts"
            },
            {
                "name": "echo-notification-loginrequired",
                "normalizedname": "echo-notification-loginrequired",
                "*": "You must login to see your notifications."
            },
            {
                "name": "echo-notification-markasread",
                "normalizedname": "echo-notification-markasread",
                "*": "Mark as read"
            },
            {
                "name": "echo-notification-markasread-tooltip",
                "normalizedname": "echo-notification-markasread-tooltip",
                "*": "Mark as read"
            },
            {
                "name": "echo-notification-markasunread",
                "normalizedname": "echo-notification-markasunread",
                "*": "Mark as unread"
            },
            {
                "name": "echo-notification-more-options-tooltip",
                "normalizedname": "echo-notification-more-options-tooltip",
                "*": "More options"
            },
            {
                "name": "echo-notification-notice",
                "normalizedname": "echo-notification-notice",
                "*": "{{PLURAL:$1|Notice ($1)|Notices ($1)|100=Notices (99+)}}"
            },
            {
                "name": "echo-notification-notice-text-only",
                "normalizedname": "echo-notification-notice-text-only",
                "*": "Notices"
            },
            {
                "name": "echo-notification-placeholder",
                "normalizedname": "echo-notification-placeholder",
                "*": "There are no notifications."
            },
            {
                "name": "echo-notification-placeholder-filters",
                "normalizedname": "echo-notification-placeholder-filters",
                "*": "There are no notifications matching these criteria."
            },
            {
                "name": "echo-notification-popup-loginrequired",
                "normalizedname": "echo-notification-popup-loginrequired",
                "*": "Please log in to view your notifications."
            },
            {
                "name": "echo-overlay-link",
                "normalizedname": "echo-overlay-link",
                "*": "All notifications"
            },
            {
                "name": "echo-overlay-title",
                "normalizedname": "echo-overlay-title",
                "*": "<b>Notifications</b>"
            },
            {
                "name": "echo-pref-cross-wiki-notifications",
                "normalizedname": "echo-pref-cross-wiki-notifications",
                "*": "Show notifications from other wikis"
            },
            {
                "name": "echo-pref-dont-email-read-notifications",
                "normalizedname": "echo-pref-dont-email-read-notifications",
                "*": "Don't include read notifications in summary emails"
            },
            {
                "name": "echo-pref-email",
                "normalizedname": "echo-pref-email",
                "*": "Email"
            },
            {
                "name": "echo-pref-email-format",
                "normalizedname": "echo-pref-email-format",
                "*": "Email format:"
            },
            {
                "name": "echo-pref-email-format-html",
                "normalizedname": "echo-pref-email-format-html",
                "*": "HTML"
            },
            {
                "name": "echo-pref-email-format-plain-text",
                "normalizedname": "echo-pref-email-format-plain-text",
                "*": "Plain text"
            },
            {
                "name": "echo-pref-email-frequency-daily",
                "normalizedname": "echo-pref-email-frequency-daily",
                "*": "A daily summary of notifications"
            },
            {
                "name": "echo-pref-email-frequency-immediately",
                "normalizedname": "echo-pref-email-frequency-immediately",
                "*": "Individual notifications as they come in"
            },
            {
                "name": "echo-pref-email-frequency-never",
                "normalizedname": "echo-pref-email-frequency-never",
                "*": "Do not send me any email notifications"
            },
            {
                "name": "echo-pref-email-frequency-weekly",
                "normalizedname": "echo-pref-email-frequency-weekly",
                "*": "A weekly summary of notifications"
            },
            {
                "name": "echo-pref-notifications-blacklist",
                "normalizedname": "echo-pref-notifications-blacklist",
                "*": "Do not display notifications from these users. ([[mw:Special:MyLanguage/Help:Notifications#mute|learn more]])"
            },
            {
                "name": "echo-pref-notifications-page-linked-title-muted-list",
                "normalizedname": "echo-pref-notifications-page-linked-title-muted-list",
                "*": "Do not display \"Page link\" notifications for these pages. ([[mw:Special:MyLanguage/Help:Notifications#mute|learn more]])"
            },
            {
                "name": "echo-pref-push",
                "normalizedname": "echo-pref-push",
                "*": "Apps"
            },
            {
                "name": "echo-pref-send-me",
                "normalizedname": "echo-pref-send-me",
                "*": "Send me:"
            },
            {
                "name": "echo-pref-send-to",
                "normalizedname": "echo-pref-send-to",
                "*": "Send to:"
            },
            {
                "name": "echo-pref-show-poll-updates",
                "normalizedname": "echo-pref-show-poll-updates",
                "*": "Display new notifications as they arrive"
            },
            {
                "name": "echo-pref-show-poll-updates-help",
                "normalizedname": "echo-pref-show-poll-updates-help",
                "*": "Show the number of unread notifications in the title bar, and show a snippet of each notification immediately when it arrives."
            },
            {
                "name": "echo-pref-subscription-edit-thank",
                "normalizedname": "echo-pref-subscription-edit-thank",
                "*": "Thanks me for my edit"
            },
            {
                "name": "echo-pref-tooltip-article-linked",
                "normalizedname": "echo-pref-tooltip-article-linked",
                "*": "Notify me when someone links to a page I created from another page."
            },
            {
                "name": "echo-pref-tooltip-article-reminder",
                "normalizedname": "echo-pref-tooltip-article-reminder",
                "*": "Notify me about this page when I ask."
            },
            {
                "name": "echo-pref-tooltip-dt-subscription",
                "normalizedname": "echo-pref-tooltip-dt-subscription",
                "*": "Notify me when someone posts a new comment in a topic I am {{GENDER:|subscribed}} to."
            },
            {
                "name": "echo-pref-tooltip-dt-subscription-archiving",
                "normalizedname": "echo-pref-tooltip-dt-subscription-archiving",
                "*": "Notify me when a topic I am {{GENDER:|subscribed}} to is archived or removed from a page, or if notifications about new comments posted in that topic can't be sent for other reasons."
            },
            {
                "name": "echo-pref-tooltip-edit-thank",
                "normalizedname": "echo-pref-tooltip-edit-thank",
                "*": "Notify me when someone thanks me for an edit I made."
            },
            {
                "name": "echo-pref-tooltip-edit-user-page",
                "normalizedname": "echo-pref-tooltip-edit-user-page",
                "*": "Notify me when someone edits my user page."
            },
            {
                "name": "echo-pref-tooltip-edit-user-talk",
                "normalizedname": "echo-pref-tooltip-edit-user-talk",
                "*": "Notify me when someone edits my user talk page."
            },
            {
                "name": "echo-pref-tooltip-emailuser",
                "normalizedname": "echo-pref-tooltip-emailuser",
                "*": "Notify me when someone sends me an email."
            },
            {
                "name": "echo-pref-tooltip-login-fail",
                "normalizedname": "echo-pref-tooltip-login-fail",
                "*": "Notify me when there have been failed attempts to log in to my account."
            },
            {
                "name": "echo-pref-tooltip-login-success",
                "normalizedname": "echo-pref-tooltip-login-success",
                "*": "Notify me whenever somebody logs into my account from an unfamiliar device and IP address."
            },
            {
                "name": "echo-pref-tooltip-mention",
                "normalizedname": "echo-pref-tooltip-mention",
                "*": "Notify me when someone links to my user page."
            },
            {
                "name": "echo-pref-tooltip-mention-failure",
                "normalizedname": "echo-pref-tooltip-mention-failure",
                "*": "Notify me when I could not send out a mention to someone."
            },
            {
                "name": "echo-pref-tooltip-mention-success",
                "normalizedname": "echo-pref-tooltip-mention-success",
                "*": "Notify me when I send out a mention to someone."
            },
            {
                "name": "echo-pref-tooltip-minor-watchlist",
                "normalizedname": "echo-pref-tooltip-minor-watchlist",
                "*": "Notify me when someone makes a minor edit to a page on my watchlist."
            },
            {
                "name": "echo-pref-tooltip-reverted",
                "normalizedname": "echo-pref-tooltip-reverted",
                "*": "Notify me when someone reverts an edit I made, by using the undo or rollback tool."
            },
            {
                "name": "echo-pref-tooltip-thank-you-edit",
                "normalizedname": "echo-pref-tooltip-thank-you-edit",
                "*": "Notify me when I reach my 1st, 10th, 100th... edit."
            },
            {
                "name": "echo-pref-tooltip-user-rights",
                "normalizedname": "echo-pref-tooltip-user-rights",
                "*": "Notify me when someone changes my user rights."
            },
            {
                "name": "echo-pref-tooltip-watchlist",
                "normalizedname": "echo-pref-tooltip-watchlist",
                "*": "Notify me when someone makes a (non-minor) edit to a page on my watchlist."
            },
            {
                "name": "echo-pref-web",
                "normalizedname": "echo-pref-web",
                "*": "Web"
            },
            {
                "name": "echo-specialmute-label-mute-notifications",
                "normalizedname": "echo-specialmute-label-mute-notifications",
                "*": "Mute notifications from this {{GENDER:$1|user}}"
            },
            {
                "name": "echo-specialpage",
                "normalizedname": "echo-specialpage",
                "*": "Notifications"
            },
            {
                "name": "echo-specialpage-markasread",
                "normalizedname": "echo-specialpage-markasread",
                "*": "Notification: Mark as read"
            },
            {
                "name": "echo-specialpage-markasread-invalid-id",
                "normalizedname": "echo-specialpage-markasread-invalid-id",
                "*": "Invalid event ID"
            },
            {
                "name": "echo-specialpage-pagefilters-subtitle",
                "normalizedname": "echo-specialpage-pagefilters-subtitle",
                "*": "Pages with unread notifications"
            },
            {
                "name": "echo-specialpage-pagefilters-title",
                "normalizedname": "echo-specialpage-pagefilters-title",
                "*": "Recent activity"
            },
            {
                "name": "echo-specialpage-pagefilterwidget-aria-label",
                "normalizedname": "echo-specialpage-pagefilterwidget-aria-label",
                "*": "Filter by wiki and page title"
            },
            {
                "name": "echo-specialpage-pagination-numnotifications",
                "normalizedname": "echo-specialpage-pagination-numnotifications",
                "*": "$1 {{PLURAL:$1|notification|notifications}}"
            },
            {
                "name": "echo-specialpage-pagination-range",
                "normalizedname": "echo-specialpage-pagination-range",
                "*": "$1 - $2"
            },
            {
                "name": "echo-specialpage-section-markread",
                "normalizedname": "echo-specialpage-section-markread",
                "*": "Mark group as read"
            },
            {
                "name": "echo-specialpage-special-help-menu-widget-aria-label",
                "normalizedname": "echo-specialpage-special-help-menu-widget-aria-label",
                "*": "Additional options and Notifications preferences."
            },
            {
                "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-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-slots-cannot-add",
                "normalizedname": "edit-slots-cannot-add",
                "*": "The following {{PLURAL:$1|slot is|slots are}} not supported here: $2."
            },
            {
                "name": "edit-slots-cannot-remove",
                "normalizedname": "edit-slots-cannot-remove",
                "*": "The following {{PLURAL:$1|slot is|slots are}} required and cannot be removed: $2."
            },
            {
                "name": "edit-slots-missing",
                "normalizedname": "edit-slots-missing",
                "*": "The following {{PLURAL:$1|slot is|slots are}} missing: $2."
            },
            {
                "name": "edit-textarea-aria-label",
                "normalizedname": "edit-textarea-aria-label",
                "*": "Wikitext source editor"
            },
            {
                "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": "editcheck-config.json",
                "normalizedname": "editcheck-config.json",
                "*": "null"
            },
            {
                "name": "editcheck-dialog-action-no",
                "normalizedname": "editcheck-dialog-action-no",
                "*": "No"
            },
            {
                "name": "editcheck-dialog-action-yes",
                "normalizedname": "editcheck-dialog-action-yes",
                "*": "Yes"
            },
            {
                "name": "editcheck-dialog-addref-description",
                "normalizedname": "editcheck-dialog-addref-description",
                "*": "Help readers understand where this information is coming from by adding a citation."
            },
            {
                "name": "editcheck-dialog-addref-reject-common-knowledge",
                "normalizedname": "editcheck-dialog-addref-reject-common-knowledge",
                "*": "The information I'm adding is widely known"
            },
            {
                "name": "editcheck-dialog-addref-reject-description",
                "normalizedname": "editcheck-dialog-addref-reject-description",
                "*": "Other editors would value learning more about your decision to dismiss the citation."
            },
            {
                "name": "editcheck-dialog-addref-reject-irrelevant",
                "normalizedname": "editcheck-dialog-addref-reject-irrelevant",
                "*": "I don't think citations are relevant to the change I'm making"
            },
            {
                "name": "editcheck-dialog-addref-reject-other",
                "normalizedname": "editcheck-dialog-addref-reject-other",
                "*": "Other"
            },
            {
                "name": "editcheck-dialog-addref-reject-question",
                "normalizedname": "editcheck-dialog-addref-reject-question",
                "*": "Why are you not adding a citation?"
            },
            {
                "name": "editcheck-dialog-addref-reject-uncertain",
                "normalizedname": "editcheck-dialog-addref-reject-uncertain",
                "*": "I'm not sure what citation to add"
            },
            {
                "name": "editcheck-dialog-addref-success-notify",
                "normalizedname": "editcheck-dialog-addref-success-notify",
                "*": "Thank you for adding a citation!"
            },
            {
                "name": "editcheck-dialog-addref-title",
                "normalizedname": "editcheck-dialog-addref-title",
                "*": "Add a citation"
            },
            {
                "name": "editcheck-dialog-title",
                "normalizedname": "editcheck-dialog-title",
                "*": "Before publishing"
            },
            {
                "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 publish it, any changes made since this revision will be lost."
            },
            {
                "name": "editingsection",
                "normalizedname": "editingsection",
                "*": "Editing $1 (section)"
            },
            {
                "name": "editinguser",
                "normalizedname": "editinguser",
                "*": "Changing user groups 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",
                "normalizedname": "editpage",
                "*": "Edit a page"
            },
            {
                "name": "editpage-cannot-use-custom-model",
                "normalizedname": "editpage-cannot-use-custom-model",
                "*": "The content model of this page cannot be changed."
            },
            {
                "name": "editpage-code-message",
                "normalizedname": "editpage-code-message",
                "*": "-"
            },
            {
                "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-summary",
                "normalizedname": "editpage-summary",
                "*": ""
            },
            {
                "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": "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",
                "normalizedname": "email-blacklist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# Email addresses matching this list will be blocked from registering or sending emails\n# This list affects only this wiki; refer also to the global block list.\n# For documentation see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:SpamBlacklist\n#\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 email addresses\n\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "name": "email-legend",
                "normalizedname": "email-legend",
                "*": "Send an email to another {{SITENAME}} user"
            },
            {
                "name": "email-mutelist-label",
                "normalizedname": "email-mutelist-label",
                "*": "Prohibit these users from emailing me:"
            },
            {
                "name": "email-whitelist",
                "normalizedname": "email-whitelist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# Email addresses matching this list will *not* be blocked even if they would\n# have been blocked by block list entries.\n#\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 email addresses\n\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "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 in 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": "empty-language-selector-body",
                "normalizedname": "empty-language-selector-body",
                "*": "Page contents not supported in other languages."
            },
            {
                "name": "empty-username",
                "normalizedname": "empty-username",
                "*": "(no username available)"
            },
            {
                "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|undeleted}} 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|undeleted}} by $2"
            },
            {
                "name": "enotif_temp_editor",
                "normalizedname": "enotif_temp_editor",
                "*": "temporary user $1"
            },
            {
                "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-croppedareaimageheightpixels",
                "normalizedname": "exif-croppedareaimageheightpixels",
                "*": "Panorama cropped height"
            },
            {
                "name": "exif-croppedareaimagewidthpixels",
                "normalizedname": "exif-croppedareaimagewidthpixels",
                "*": "Panorama cropped width"
            },
            {
                "name": "exif-croppedarealeftpixels",
                "normalizedname": "exif-croppedarealeftpixels",
                "*": "Panorama left crop"
            },
            {
                "name": "exif-croppedareatoppixels",
                "normalizedname": "exif-croppedareatoppixels",
                "*": "Panorama top crop"
            },
            {
                "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-customrendered-2",
                "normalizedname": "exif-customrendered-2",
                "*": "HDR (no original saved)"
            },
            {
                "name": "exif-customrendered-3",
                "normalizedname": "exif-customrendered-3",
                "*": "HDR (original saved)"
            },
            {
                "name": "exif-customrendered-4",
                "normalizedname": "exif-customrendered-4",
                "*": "Original (for HDR)"
            },
            {
                "name": "exif-customrendered-6",
                "normalizedname": "exif-customrendered-6",
                "*": "Panorama"
            },
            {
                "name": "exif-customrendered-7",
                "normalizedname": "exif-customrendered-7",
                "*": "Portrait HDR"
            },
            {
                "name": "exif-customrendered-8",
                "normalizedname": "exif-customrendered-8",
                "*": "Portrait"
            },
            {
                "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-exposurelockused",
                "normalizedname": "exif-exposurelockused",
                "*": "Exposure lock used"
            },
            {
                "name": "exif-exposurelockused-false",
                "normalizedname": "exif-exposurelockused-false",
                "*": "No"
            },
            {
                "name": "exif-exposurelockused-true",
                "normalizedname": "exif-exposurelockused-true",
                "*": "Yes"
            },
            {
                "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-firstphotodate",
                "normalizedname": "exif-firstphotodate",
                "*": "First photo date"
            },
            {
                "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-fullpanoheightpixels",
                "normalizedname": "exif-fullpanoheightpixels",
                "*": "Panorama full height"
            },
            {
                "name": "exif-fullpanowidthpixels",
                "normalizedname": "exif-fullpanowidthpixels",
                "*": "Panorama full width"
            },
            {
                "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-initialcameradolly",
                "normalizedname": "exif-initialcameradolly",
                "*": "Initial camera dolly"
            },
            {
                "name": "exif-initialhorizontalfovdegrees",
                "normalizedname": "exif-initialhorizontalfovdegrees",
                "*": "Initial FOV (horizontal degrees)"
            },
            {
                "name": "exif-initialverticalfovdegrees",
                "normalizedname": "exif-initialverticalfovdegrees",
                "*": "Initial FOV (vertical degrees)"
            },
            {
                "name": "exif-initialviewheadingdegrees",
                "normalizedname": "exif-initialviewheadingdegrees",
                "*": "Initial view heading (degrees)"
            },
            {
                "name": "exif-initialviewpitchdegrees",
                "normalizedname": "exif-initialviewpitchdegrees",
                "*": "Initial view pitch (degrees)"
            },
            {
                "name": "exif-initialviewrolldegrees",
                "normalizedname": "exif-initialviewrolldegrees",
                "*": "Initial view roll (degrees)"
            },
            {
                "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-lastphotodate",
                "normalizedname": "exif-lastphotodate",
                "*": "Last photo date"
            },
            {
                "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-pdf-encrypted",
                "normalizedname": "exif-pdf-encrypted",
                "*": "Encrypted"
            },
            {
                "name": "exif-pdf-pagesize",
                "normalizedname": "exif-pdf-pagesize",
                "*": "Page size"
            },
            {
                "name": "exif-pdf-producer",
                "normalizedname": "exif-pdf-producer",
                "*": "Conversion program"
            },
            {
                "name": "exif-pdf-version",
                "normalizedname": "exif-pdf-version",
                "*": "Version of PDF format"
            },
            {
                "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-poseheadingdegrees",
                "normalizedname": "exif-poseheadingdegrees",
                "*": "Pose heading (degrees)"
            },
            {
                "name": "exif-posepitchdegrees",
                "normalizedname": "exif-posepitchdegrees",
                "*": "Pitch (degrees)"
            },
            {
                "name": "exif-poserolldegrees",
                "normalizedname": "exif-poserolldegrees",
                "*": "Roll (degrees)"
            },
            {
                "name": "exif-preferredattributionname",
                "normalizedname": "exif-preferredattributionname",
                "*": "When re-using this work, please credit"
            },
            {
                "name": "exif-primarychromaticities",
                "normalizedname": "exif-primarychromaticities",
                "*": "Chromaticities of primarities"
            },
            {
                "name": "exif-projectiontype",
                "normalizedname": "exif-projectiontype",
                "*": "Projection type"
            },
            {
                "name": "exif-projectiontype-equirectangular",
                "normalizedname": "exif-projectiontype-equirectangular",
                "*": "Equirectangular"
            },
            {
                "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-sourcephotoscount",
                "normalizedname": "exif-sourcephotoscount",
                "*": "Source photo count"
            },
            {
                "name": "exif-specialinstructions",
                "normalizedname": "exif-specialinstructions",
                "*": "Special instructions"
            },
            {
                "name": "exif-spectralsensitivity",
                "normalizedname": "exif-spectralsensitivity",
                "*": "Spectral sensitivity"
            },
            {
                "name": "exif-stitchingsoftware",
                "normalizedname": "exif-stitchingsoftware",
                "*": "Stitching software"
            },
            {
                "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-usepanoramaviewer",
                "normalizedname": "exif-usepanoramaviewer",
                "*": "Use panorama viewer"
            },
            {
                "name": "exif-usepanoramaviewer-false",
                "normalizedname": "exif-usepanoramaviewer-false",
                "*": "No"
            },
            {
                "name": "exif-usepanoramaviewer-true",
                "normalizedname": "exif-usepanoramaviewer-true",
                "*": "Yes"
            },
            {
                "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": "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 published 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": "exportrdf",
                "normalizedname": "exportrdf",
                "*": "Export pages to RDF"
            },
            {
                "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-data-archive-could-not-extract",
                "normalizedname": "external-data-archive-could-not-extract",
                "*": "Error: could not extract file <code>$2</code> from $1 archive ($3)"
            },
            {
                "name": "external-data-archive-could-not-read",
                "normalizedname": "external-data-archive-could-not-read",
                "*": "Error: could not open $1 archive <code>$2</code> ($3)"
            },
            {
                "name": "external-data-no-suitable-connector",
                "normalizedname": "external-data-no-suitable-connector",
                "*": "Error: No suitable data source is defined for this external data query"
            },
            {
                "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": "externaldata-caught-exception-parsing-html",
                "normalizedname": "externaldata-caught-exception-parsing-html",
                "*": "Caught exception parsing HTML. The error message is &quot;$1&quot;."
            },
            {
                "name": "externaldata-caught-exception-soap",
                "normalizedname": "externaldata-caught-exception-soap",
                "*": "Caught exception $1 while creating SOAP client."
            },
            {
                "name": "externaldata-db-could-not-connect",
                "normalizedname": "externaldata-db-could-not-connect",
                "*": "Error: Could not connect to database ($1)."
            },
            {
                "name": "externaldata-db-could-not-get-url",
                "normalizedname": "externaldata-db-could-not-get-url",
                "*": "Could not get URL $1 after $2 {{PLURAL:$2|try|tries}}."
            },
            {
                "name": "externaldata-db-empty-rowset",
                "normalizedname": "externaldata-db-empty-rowset",
                "*": "The query $1 returned an empty rowset."
            },
            {
                "name": "externaldata-db-incomplete-information",
                "normalizedname": "externaldata-db-incomplete-information",
                "*": "Error: Incomplete information for this database ID $1 ($2)."
            },
            {
                "name": "externaldata-db-invalid-join",
                "normalizedname": "externaldata-db-invalid-join",
                "*": "Invalid JOIN condition $1: every part must contain an \"=\" sign."
            },
            {
                "name": "externaldata-db-invalid-query",
                "normalizedname": "externaldata-db-invalid-query",
                "*": "The query $1 is invalid ($2)."
            },
            {
                "name": "externaldata-db-no-return-values",
                "normalizedname": "externaldata-db-no-return-values",
                "*": "Error: No return values specified."
            },
            {
                "name": "externaldata-db-no-such-prepared",
                "normalizedname": "externaldata-db-no-such-prepared",
                "*": "The prepared statement $2 is not set up for the database ID $1."
            },
            {
                "name": "externaldata-db-odbc-illegal",
                "normalizedname": "externaldata-db-odbc-illegal",
                "*": "The parameter $2 contains an illegal sequence $1. Please stop."
            },
            {
                "name": "externaldata-db-prepared-config-wrong-datatype",
                "normalizedname": "externaldata-db-prepared-config-wrong-datatype",
                "*": "The prepared query ($2) specified for database ID \"$1\" exists, but it has not been set up correctly."
            },
            {
                "name": "externaldata-db-prepared-not-specified",
                "normalizedname": "externaldata-db-prepared-not-specified",
                "*": "Please specify (query=), which prepared statement to use for the database ID $1."
            },
            {
                "name": "externaldata-db-prepared-wrong-params",
                "normalizedname": "externaldata-db-prepared-wrong-params",
                "*": "The prepared query ($2) specified for database ID \"$1\" produced an error ($3)"
            },
            {
                "name": "externaldata-db-too-many-joins",
                "normalizedname": "externaldata-db-too-many-joins",
                "*": "The number of JOIN conditions (now $1) must not exceed the number of tables ($2)"
            },
            {
                "name": "externaldata-db-unknown-database",
                "normalizedname": "externaldata-db-unknown-database",
                "*": "Error: Could not select the database specified with ID $1."
            },
            {
                "name": "externaldata-db-unknown-type",
                "normalizedname": "externaldata-db-unknown-type",
                "*": "Error: Unknown database type $1."
            },
            {
                "name": "externaldata-desc",
                "normalizedname": "externaldata-desc",
                "*": "Allows for retrieving structured data from external URLs, databases and other sources"
            },
            {
                "name": "externaldata-empty-file",
                "normalizedname": "externaldata-empty-file",
                "*": "Unable to get the contents of file $1."
            },
            {
                "name": "externaldata-error-converting-css-to-xpath",
                "normalizedname": "externaldata-error-converting-css-to-xpath",
                "*": "Caught exception converting CSS selector $1 to XPath:\n$2"
            },
            {
                "name": "externaldata-exe-error",
                "normalizedname": "externaldata-exe-error",
                "*": "Error: The program $1 returned exit code $2. Message: $3."
            },
            {
                "name": "externaldata-exe-exception",
                "normalizedname": "externaldata-exe-exception",
                "*": "Error: Exception while trying to run program $1. Message: $2."
            },
            {
                "name": "externaldata-exe-incomplete-information",
                "normalizedname": "externaldata-exe-incomplete-information",
                "*": "Error: Incomplete information for this command ID $1 ($2)."
            },
            {
                "name": "externaldata-exe-shell-disabled",
                "normalizedname": "externaldata-exe-shell-disabled",
                "*": "Error: PHP admin has disabled access to shell."
            },
            {
                "name": "externaldata-format-unavailable",
                "normalizedname": "externaldata-format-unavailable",
                "*": "The library $1, required to use the '$2' format without the '$3' option, is missing."
            },
            {
                "name": "externaldata-format-unavailable-absolute",
                "normalizedname": "externaldata-format-unavailable-absolute",
                "*": "The library $1, required to use the '$2' format, is missing."
            },
            {
                "name": "externaldata-getdata-badurl",
                "normalizedname": "externaldata-getdata-badurl",
                "*": "You must specify a page name in the URL;\nthe URL should look like \"{{#Special:GetData}}/<page name>\"."
            },
            {
                "name": "externaldata-illegal-parameter",
                "normalizedname": "externaldata-illegal-parameter",
                "*": "Error: The parameter $1 has illegal value $2."
            },
            {
                "name": "externaldata-invalid-format",
                "normalizedname": "externaldata-invalid-format",
                "*": "Error: Invalid $1 ($2)."
            },
            {
                "name": "externaldata-invalid-format-explicit",
                "normalizedname": "externaldata-invalid-format-explicit",
                "*": "Error: \"$1\" is not valid $2 ($3)."
            },
            {
                "name": "externaldata-ldap-base-dn-not-defined",
                "normalizedname": "externaldata-ldap-base-dn-not-defined",
                "*": "Base DN not set for LDAP domain $1."
            },
            {
                "name": "externaldata-ldap-domain-not-defined",
                "normalizedname": "externaldata-ldap-domain-not-defined",
                "*": "LDAP domain $1 is not defined."
            },
            {
                "name": "externaldata-ldap-unable-to-bind",
                "normalizedname": "externaldata-ldap-unable-to-bind",
                "*": "Unable to bind to LDAP domain $1 with username and password set for this domain."
            },
            {
                "name": "externaldata-ldap-unable-to-connect",
                "normalizedname": "externaldata-ldap-unable-to-connect",
                "*": "Unable to connect to $1."
            },
            {
                "name": "externaldata-missing-file",
                "normalizedname": "externaldata-missing-file",
                "*": "File $1 is missing."
            },
            {
                "name": "externaldata-missing-library",
                "normalizedname": "externaldata-missing-library",
                "*": "The library $1, required to use the '$2' parser function or <code>$3</code> Lua function, is missing."
            },
            {
                "name": "externaldata-mongodb-aggregation-failed",
                "normalizedname": "externaldata-mongodb-aggregation-failed",
                "*": "MongoDB aggregation failed with error $1"
            },
            {
                "name": "externaldata-mongodb-unknown-collection",
                "normalizedname": "externaldata-mongodb-unknown-collection",
                "*": "Error: Unknown MongoDB collection $1."
            },
            {
                "name": "externaldata-no-directory",
                "normalizedname": "externaldata-no-directory",
                "*": "Directory $1 is not defined."
            },
            {
                "name": "externaldata-no-file-in-directory",
                "normalizedname": "externaldata-no-file-in-directory",
                "*": "Directory $1 does not have file $2."
            },
            {
                "name": "externaldata-no-local-variable",
                "normalizedname": "externaldata-no-local-variable",
                "*": "Error: no local variable \"$1\" has been set."
            },
            {
                "name": "externaldata-no-loop-body",
                "normalizedname": "externaldata-no-loop-body",
                "*": "Error: no loop body set as the first or the second parameter."
            },
            {
                "name": "externaldata-no-param-specified",
                "normalizedname": "externaldata-no-param-specified",
                "*": "Error: No \"$1\" parameter specified."
            },
            {
                "name": "externaldata-no-template",
                "normalizedname": "externaldata-no-template",
                "*": "Error: no template specified."
            },
            {
                "name": "externaldata-not-a-directory",
                "normalizedname": "externaldata-not-a-directory",
                "*": "$1 is not a directory or is missing."
            },
            {
                "name": "externaldata-param-type-error",
                "normalizedname": "externaldata-param-type-error",
                "*": "Error: Parameter $1 must be of the type $2."
            },
            {
                "name": "externaldata-parsing-html-failed",
                "normalizedname": "externaldata-parsing-html-failed",
                "*": "Could not parse HTML."
            },
            {
                "name": "externaldata-php-library-missing",
                "normalizedname": "externaldata-php-library-missing",
                "*": "Error: The PHP library $1, needed to use $2, is missing."
            },
            {
                "name": "externaldata-post-failed",
                "normalizedname": "externaldata-post-failed",
                "*": "POST request to $1 failed: $2."
            },
            {
                "name": "externaldata-smw-needed",
                "normalizedname": "externaldata-smw-needed",
                "*": "Error: Semantic MediaWiki must be installed in order to call {{#store_external_table:}}."
            },
            {
                "name": "externaldata-throttled",
                "normalizedname": "externaldata-throttled",
                "*": "Calls to $1 are throttled till {{#time:c|@$2}}."
            },
            {
                "name": "externaldata-undefined-file",
                "normalizedname": "externaldata-undefined-file",
                "*": "File $1 is not defined."
            },
            {
                "name": "externaldata-url-hooks-aborted",
                "normalizedname": "externaldata-url-hooks-aborted",
                "*": "The '$1' hook aborted, returning errors: $2"
            },
            {
                "name": "externaldata-url-not-allowed",
                "normalizedname": "externaldata-url-not-allowed",
                "*": "URL $1 is not allowed on this wiki."
            },
            {
                "name": "externaldata-url-not-fetched",
                "normalizedname": "externaldata-url-not-fetched",
                "*": "Error while fetching data from URL $1: $2."
            },
            {
                "name": "externaldata-url-unknown-error",
                "normalizedname": "externaldata-url-unknown-error",
                "*": "Unknown error while fetching data from URL $1."
            },
            {
                "name": "externaldata-web-invalid-format",
                "normalizedname": "externaldata-web-invalid-format",
                "*": "Invalid format: \"$1\"."
            },
            {
                "name": "externaldata-xml-error",
                "normalizedname": "externaldata-xml-error",
                "*": "XML error: $1 at line $2."
            },
            {
                "name": "externaldberror",
                "normalizedname": "externaldberror",
                "*": "There was either an authentication database error or you are not allowed to update your external account."
            },
            {
                "name": "facetedsearch",
                "normalizedname": "facetedsearch",
                "*": "Faceted search"
            },
            {
                "name": "faq",
                "normalizedname": "faq",
                "*": "FAQ"
            },
            {
                "name": "fatalpassworderror",
                "normalizedname": "fatalpassworderror",
                "*": "$1\n\nFor security reasons, you cannot log in with this password. Please [$2 request a password reset email]."
            },
            {
                "name": "feb",
                "normalizedname": "feb",
                "*": "Feb"
            },
            {
                "name": "february",
                "normalizedname": "february",
                "*": "February"
            },
            {
                "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-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-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": "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-edit-reasonlist-suppress",
                "normalizedname": "filedelete-edit-reasonlist-suppress",
                "*": "Edit suppress 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-dropdown-suppress",
                "normalizedname": "filedelete-reason-dropdown-suppress",
                "*": ""
            },
            {
                "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 overwrite 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-missing",
                "normalizedname": "filehist-missing",
                "*": "no file"
            },
            {
                "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": "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": "flow-thanks-confirmation-special",
                "normalizedname": "flow-thanks-confirmation-special",
                "*": "Do you want to publicly send thanks for this comment?"
            },
            {
                "name": "flow-thanks-thanked-notice",
                "normalizedname": "flow-thanks-thanked-notice",
                "*": "{{GENDER:$3|You}} thanked $1 for {{GENDER:$2|his|her|their}} comment."
            },
            {
                "name": "formatnum-nan",
                "normalizedname": "formatnum-nan",
                "*": "Not a Number"
            },
            {
                "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": "gadgets",
                "normalizedname": "gadgets",
                "*": "Gadgets"
            },
            {
                "name": "gadgets-default",
                "normalizedname": "gadgets-default",
                "*": "Enabled for everyone by default."
            },
            {
                "name": "gadgets-definition",
                "normalizedname": "gadgets-definition",
                "*": ""
            },
            {
                "name": "gadgets-desc",
                "normalizedname": "gadgets-desc",
                "*": "Lets users select custom [[Special:Gadgets|CSS and JavaScript gadgets]] in their [[Special:Preferences#mw-prefsection-gadgets|preferences]]"
            },
            {
                "name": "gadgets-editdescription",
                "normalizedname": "gadgets-editdescription",
                "*": "Edit description"
            },
            {
                "name": "gadgets-export",
                "normalizedname": "gadgets-export",
                "*": "Export"
            },
            {
                "name": "gadgets-export-download",
                "normalizedname": "gadgets-export-download",
                "*": "Download"
            },
            {
                "name": "gadgets-export-text",
                "normalizedname": "gadgets-export-text",
                "*": "To export the $1 gadget, click on \"{{int:gadgets-export-download}}\" button, save the downloaded file,\ngo to Special:Import on the destination wiki and upload it. Then add the following to MediaWiki:Gadgets-definition page:\n<pre>$2</pre>\nYou must have appropriate permissions on the destination wiki (including the right to edit system messages) and import from file uploads must be enabled."
            },
            {
                "name": "gadgets-export-title",
                "normalizedname": "gadgets-export-title",
                "*": "Gadget export"
            },
            {
                "name": "gadgets-legacy",
                "normalizedname": "gadgets-legacy",
                "*": "Gadget is not loaded. Please migrate to ResourceLoader. ([https://www.mediawiki.org/wiki/Special:MyLanguage/ResourceLoader/Migration_guide_(users) Learn more])"
            },
            {
                "name": "gadgets-not-found",
                "normalizedname": "gadgets-not-found",
                "*": "Gadget \"$1\" not found."
            },
            {
                "name": "gadgets-packaged",
                "normalizedname": "gadgets-packaged",
                "*": "This gadget is [https://www.mediawiki.org/wiki/ResourceLoader/Package_files packaged], with entry point being $1"
            },
            {
                "name": "gadgets-pagetext",
                "normalizedname": "gadgets-pagetext",
                "*": "Below is a list of special gadgets users can enable on their [[Special:Preferences#mw-prefsection-gadgets|preferences page]], as defined by the [[MediaWiki:Gadgets-definition|definitions]].\nThis overview provides easy access to the system message pages that define each gadget's description and code."
            },
            {
                "name": "gadgets-prefstext",
                "normalizedname": "gadgets-prefstext",
                "*": "Below is a list of special gadgets you can enable for your account.\nThese gadgets are mostly based on JavaScript, so JavaScript has to be enabled in your browser for them to work.\nNote that these gadgets will have no effect on this preferences page.\n\nAlso note that these special gadgets are not part of the MediaWiki software, and are usually developed and maintained by users on your local wiki.\nLocal interface administrators can edit the [[MediaWiki:Gadgets-definition|definitions]] of available gadgets, and local administrators can edit their [[Special:Gadgets|descriptions]], where you can see the source code of each gadget. The numbers of users for each gadget on this wiki is listed at [[Special:GadgetUsage|Gadget usage statistics]]."
            },
            {
                "name": "gadgets-prefstext-safemode",
                "normalizedname": "gadgets-prefstext-safemode",
                "*": "Gadgets are currently unavailable as safe mode has been enabled. Please [[#mw-input-wpforcesafemode|disable safe mode]] to use gadgets."
            },
            {
                "name": "gadgets-required-actions",
                "normalizedname": "gadgets-required-actions",
                "*": "Limited to the {{PLURAL:$2|\"$1\" page action|following page actions: $1}}."
            },
            {
                "name": "gadgets-required-contentmodels",
                "normalizedname": "gadgets-required-contentmodels",
                "*": "Limited to {{PLURAL:$2|content model $1|the following content models: $1}}."
            },
            {
                "name": "gadgets-required-namespaces",
                "normalizedname": "gadgets-required-namespaces",
                "*": "Limited to {{PLURAL:$2|namespace $1|the following namespaces: $1}}."
            },
            {
                "name": "gadgets-required-rights",
                "normalizedname": "gadgets-required-rights",
                "*": "Requires the following {{PLURAL:$2|right|rights}}:\n\n$1"
            },
            {
                "name": "gadgets-required-skins",
                "normalizedname": "gadgets-required-skins",
                "*": "Available for the {{PLURAL:$2|$1 skin|following skins: $1}}."
            },
            {
                "name": "gadgets-requires-es6",
                "normalizedname": "gadgets-requires-es6",
                "*": "This gadget is only supported on ES6-compliant browsers"
            },
            {
                "name": "gadgets-supports-urlload",
                "normalizedname": "gadgets-supports-urlload",
                "*": "This gadget supports loading via URL with <code>?withgadget</code> query parameter."
            },
            {
                "name": "gadgets-title",
                "normalizedname": "gadgets-title",
                "*": "Gadgets"
            },
            {
                "name": "gadgets-uses",
                "normalizedname": "gadgets-uses",
                "*": "Uses"
            },
            {
                "name": "gadgets-validate-notset",
                "normalizedname": "gadgets-validate-notset",
                "*": "The property <code>$1</code> is not set."
            },
            {
                "name": "gadgets-validate-wrongtype",
                "normalizedname": "gadgets-validate-wrongtype",
                "*": "The property <code>$1</code> must be of type <code>$2</code> instead of <code>$3</code>."
            },
            {
                "name": "gadgets-viewdescription",
                "normalizedname": "gadgets-viewdescription",
                "*": "View description"
            },
            {
                "name": "gadgets-wrong-contentmodel",
                "normalizedname": "gadgets-wrong-contentmodel",
                "*": "Pages in {{ns:2302}} namespace must be of GadgetDefinition content model."
            },
            {
                "name": "gadgetusage",
                "normalizedname": "gadgetusage",
                "*": "Gadget usage statistics"
            },
            {
                "name": "gadgetusage-activeusers",
                "normalizedname": "gadgetusage-activeusers",
                "*": "Active users"
            },
            {
                "name": "gadgetusage-default",
                "normalizedname": "gadgetusage-default",
                "*": "Default"
            },
            {
                "name": "gadgetusage-gadget",
                "normalizedname": "gadgetusage-gadget",
                "*": "Gadget"
            },
            {
                "name": "gadgetusage-intro",
                "normalizedname": "gadgetusage-intro",
                "*": "This table indicates the number of users who have enabled each gadget on this wiki. An active user is counted as someone who has made an edit in the last {{PLURAL:$1|day|$1 days}}. This list excludes stats for gadgets enabled for everyone by default and may include gadgets that are no longer available."
            },
            {
                "name": "gadgetusage-intro-noactive",
                "normalizedname": "gadgetusage-intro-noactive",
                "*": "This table indicates the number of users who have enabled each gadget on this wiki. This list excludes stats for gadgets enabled for everyone by default and may include gadgets that are no longer available."
            },
            {
                "name": "gadgetusage-noresults",
                "normalizedname": "gadgetusage-noresults",
                "*": "No gadgets found."
            },
            {
                "name": "gadgetusage-usercount",
                "normalizedname": "gadgetusage-usercount",
                "*": "Number of users"
            },
            {
                "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-notknown",
                "normalizedname": "gender-notknown",
                "*": "They edit 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": "getdata",
                "normalizedname": "getdata",
                "*": "Get data"
            },
            {
                "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 sitewide/user JSON"
            },
            {
                "name": "grant-editmycssjs",
                "normalizedname": "grant-editmycssjs",
                "*": "Edit your user CSS/JSON/JavaScript"
            },
            {
                "name": "grant-editmyoptions",
                "normalizedname": "grant-editmyoptions",
                "*": "Edit your user preferences and JSON configuration"
            },
            {
                "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-editsiteconfig",
                "normalizedname": "grant-editsiteconfig",
                "*": "Edit sitewide and user CSS/JS"
            },
            {
                "name": "grant-generic",
                "normalizedname": "grant-generic",
                "*": "\"$1\" rights bundle"
            },
            {
                "name": "grant-group-administration",
                "normalizedname": "grant-group-administration",
                "*": "Perform administrative actions"
            },
            {
                "name": "grant-group-authentication",
                "normalizedname": "grant-group-authentication",
                "*": "Perform authentication actions for self and others"
            },
            {
                "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 (bot) access"
            },
            {
                "name": "grant-import",
                "normalizedname": "grant-import",
                "*": "Import revisions"
            },
            {
                "name": "grant-mergehistory",
                "normalizedname": "grant-mergehistory",
                "*": "Merge page histories"
            },
            {
                "name": "grant-oath",
                "normalizedname": "grant-oath",
                "*": "Access two-factor authentication (OATH) information for self and others"
            },
            {
                "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-interface-admin",
                "normalizedname": "group-interface-admin",
                "*": "Interface administrators"
            },
            {
                "name": "group-interface-admin-member",
                "normalizedname": "group-interface-admin-member",
                "*": "{{GENDER:$1|interface administrator}}"
            },
            {
                "name": "group-membership-link-with-expiry",
                "normalizedname": "group-membership-link-with-expiry",
                "*": "$1 (until $2)"
            },
            {
                "name": "group-named",
                "normalizedname": "group-named",
                "*": "Registered users"
            },
            {
                "name": "group-named-member",
                "normalizedname": "group-named-member",
                "*": "{{GENDER:$1|registered user}}"
            },
            {
                "name": "group-push-subscription-manager",
                "normalizedname": "group-push-subscription-manager",
                "*": "Push subscription managers"
            },
            {
                "name": "group-push-subscription-manager-member",
                "normalizedname": "group-push-subscription-manager-member",
                "*": "{{GENDER:$1|push subscription manager}}"
            },
            {
                "name": "group-smwadministrator",
                "normalizedname": "group-smwadministrator",
                "*": "Administrators (Semantic MediaWiki)"
            },
            {
                "name": "group-smwadministrator-member",
                "normalizedname": "group-smwadministrator-member",
                "*": "{{GENDER:$1|administrator (Semantic MediaWiki)}}"
            },
            {
                "name": "group-smwcurator",
                "normalizedname": "group-smwcurator",
                "*": "Curators (Semantic MediaWiki)"
            },
            {
                "name": "group-smwcurator-member",
                "normalizedname": "group-smwcurator-member",
                "*": "{{GENDER:$1|curator (Semantic MediaWiki)}}"
            },
            {
                "name": "group-smweditor",
                "normalizedname": "group-smweditor",
                "*": "Editors (Semantic MediaWiki)"
            },
            {
                "name": "group-smweditor-member",
                "normalizedname": "group-smweditor-member",
                "*": "{{GENDER:$1|editor (Semantic MediaWiki)}}"
            },
            {
                "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-temp",
                "normalizedname": "group-temp",
                "*": "Temporary users"
            },
            {
                "name": "group-temp-member",
                "normalizedname": "group-temp-member",
                "*": "{{GENDER:$1|temporary user}}"
            },
            {
                "name": "group-temp.css",
                "normalizedname": "group-temp.css",
                "*": "/* CSS placed here will affect temporary users only */"
            },
            {
                "name": "group-temp.js",
                "normalizedname": "group-temp.js",
                "*": "/* Any JavaScript here will be loaded for temporary users only */"
            },
            {
                "name": "group-upwizcampeditors",
                "normalizedname": "group-upwizcampeditors",
                "*": "Upload Wizard campaign editors"
            },
            {
                "name": "group-upwizcampeditors-member",
                "normalizedname": "group-upwizcampeditors-member",
                "*": "{{GENDER:$1|Upload Wizard campaign editor}}"
            },
            {
                "name": "group-upwizcampeditors.css",
                "normalizedname": "group-upwizcampeditors.css",
                "*": "/* CSS placed here will affect upload wizard campaign editors only */"
            },
            {
                "name": "group-upwizcampeditors.js",
                "normalizedname": "group-upwizcampeditors.js",
                "*": "/* JS placed here will affect upload wizard campaign editors 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-interface-admin",
                "normalizedname": "grouppage-interface-admin",
                "*": "{{ns:project}}:Interface administrators"
            },
            {
                "name": "grouppage-named",
                "normalizedname": "grouppage-named",
                "*": "{{ns:project}}:Registered users"
            },
            {
                "name": "grouppage-push-subscription-manager",
                "normalizedname": "grouppage-push-subscription-manager",
                "*": "{{ns:project}}:Push subscription managers"
            },
            {
                "name": "grouppage-smwadministrator",
                "normalizedname": "grouppage-smwadministrator",
                "*": "{{ns:project}}:Administrators (Semantic MediaWiki)"
            },
            {
                "name": "grouppage-smwcurator",
                "normalizedname": "grouppage-smwcurator",
                "*": "{{ns:project}}:Curators (Semantic MediaWiki)"
            },
            {
                "name": "grouppage-smweditor",
                "normalizedname": "grouppage-smweditor",
                "*": "{{ns:project}}:Editors (Semantic MediaWiki)"
            },
            {
                "name": "grouppage-suppress",
                "normalizedname": "grouppage-suppress",
                "*": "{{ns:project}}:Suppress"
            },
            {
                "name": "grouppage-sysop",
                "normalizedname": "grouppage-sysop",
                "*": "{{ns:project}}:Administrators"
            },
            {
                "name": "grouppage-temp",
                "normalizedname": "grouppage-temp",
                "*": "{{ns:project}}:Temporary users"
            },
            {
                "name": "grouppage-upwizcampeditors",
                "normalizedname": "grouppage-upwizcampeditors",
                "*": "{{ns:project}}:Upload Wizard campaign editors"
            },
            {
                "name": "grouppage-user",
                "normalizedname": "grouppage-user",
                "*": "{{ns:project}}:Users"
            },
            {
                "name": "guesstimezone",
                "normalizedname": "guesstimezone",
                "*": "Fill in from browser"
            },
            {
                "name": "headerfooter-desc",
                "normalizedname": "headerfooter-desc",
                "*": "Enables per-page/per-namespace headers and footers"
            },
            {
                "name": "headline-anchor-title",
                "normalizedname": "headline-anchor-title",
                "*": "Link to this section"
            },
            {
                "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": "help-mediawiki",
                "normalizedname": "help-mediawiki",
                "*": "Help about MediaWiki"
            },
            {
                "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|a 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 buttons 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-empty",
                "normalizedname": "history-empty",
                "*": "No matching revisions were found."
            },
            {
                "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",
                "*": "Filter revisions"
            },
            {
                "name": "history-show-deleted",
                "normalizedname": "history-show-deleted",
                "*": "Revision deleted only"
            },
            {
                "name": "history-title",
                "normalizedname": "history-title",
                "*": "$1: Revision history"
            },
            {
                "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 revisions"
            },
            {
                "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": "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-multiselect-toomany",
                "normalizedname": "htmlform-multiselect-toomany",
                "*": "The number of items you specified is above the maximum of $1."
            },
            {
                "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-tag-not-allowed",
                "normalizedname": "htmlform-tag-not-allowed",
                "*": "$1 is not an allowed tag"
            },
            {
                "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-interwiki",
                "normalizedname": "htmlform-title-interwiki",
                "*": "$1 is an interwiki title, should be local."
            },
            {
                "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-internal-error",
                "normalizedname": "http-internal-error",
                "*": "HTTP internal error."
            },
            {
                "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": "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": "imagemap_bad_image",
                "normalizedname": "imagemap_bad_image",
                "*": "Error: Image is not allowed on this page."
            },
            {
                "name": "imagemap_desc",
                "normalizedname": "imagemap_desc",
                "*": "Allows client-side clickable image maps using <code>&lt;imagemap&gt;</code> tag"
            },
            {
                "name": "imagemap_desc_types",
                "normalizedname": "imagemap_desc_types",
                "*": "top-right, bottom-right, bottom-left, top-left, none"
            },
            {
                "name": "imagemap_description",
                "normalizedname": "imagemap_description",
                "*": "About this image"
            },
            {
                "name": "imagemap_invalid_coord",
                "normalizedname": "imagemap_invalid_coord",
                "*": "Error: Invalid coordinate at line $1, must be a number."
            },
            {
                "name": "imagemap_invalid_desc",
                "normalizedname": "imagemap_invalid_desc",
                "*": "Error: Invalid desc specification, must be one of: <code>$1</code>."
            },
            {
                "name": "imagemap_invalid_image",
                "normalizedname": "imagemap_invalid_image",
                "*": "Error: Image is invalid or non-existent."
            },
            {
                "name": "imagemap_invalid_title",
                "normalizedname": "imagemap_invalid_title",
                "*": "Error: Invalid title in link at line $1."
            },
            {
                "name": "imagemap_missing_coord",
                "normalizedname": "imagemap_missing_coord",
                "*": "Error: Not enough coordinates for shape at line $1."
            },
            {
                "name": "imagemap_no_image",
                "normalizedname": "imagemap_no_image",
                "*": "Error: Must specify an image in the first line."
            },
            {
                "name": "imagemap_no_link",
                "normalizedname": "imagemap_no_link",
                "*": "Error: No valid link was found at the end of line $1."
            },
            {
                "name": "imagemap_poly_odd",
                "normalizedname": "imagemap_poly_odd",
                "*": "Error: Found poly with odd number of coordinates on line $1"
            },
            {
                "name": "imagemap_unrecognised_shape",
                "normalizedname": "imagemap_unrecognised_shape",
                "*": "Error: Unrecognized shape at line $1, each line must start with one of: <code>default</code>, <code>rect</code>, <code>circle</code> or <code>poly</code>."
            },
            {
                "name": "imagemaxsize",
                "normalizedname": "imagemaxsize",
                "*": "Image size limit on file description pages:"
            },
            {
                "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-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-namespace-iw",
                "normalizedname": "immobile-source-namespace-iw",
                "*": "Pages on other wikis cannot be moved from this wiki."
            },
            {
                "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-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 the 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 and transcluded pages"
            },
            {
                "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 original namespace"
            },
            {
                "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 device 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": "infoboxbuilder-action-addnode",
                "normalizedname": "infoboxbuilder-action-addnode",
                "*": "Add infobox elements"
            },
            {
                "name": "infoboxbuilder-action-clear",
                "normalizedname": "infoboxbuilder-action-clear",
                "*": "Clear infobox"
            },
            {
                "name": "infoboxbuilder-action-deletenode",
                "normalizedname": "infoboxbuilder-action-deletenode",
                "*": "Delete element"
            },
            {
                "name": "infoboxbuilder-action-publish",
                "normalizedname": "infoboxbuilder-action-publish",
                "*": "Publish infobox"
            },
            {
                "name": "infoboxbuilder-editerror",
                "normalizedname": "infoboxbuilder-editerror",
                "*": "An error occured during infobox publishing: $1"
            },
            {
                "name": "infoboxbuilder-editerrorunknown",
                "normalizedname": "infoboxbuilder-editerrorunknown",
                "*": "An unknown error occured during infobox publishing."
            },
            {
                "name": "infoboxbuilder-editsummary",
                "normalizedname": "infoboxbuilder-editsummary",
                "*": "Infobox created with infobox builder."
            },
            {
                "name": "infoboxbuilder-node-data",
                "normalizedname": "infoboxbuilder-node-data",
                "*": "Data"
            },
            {
                "name": "infoboxbuilder-node-data-value-source",
                "normalizedname": "infoboxbuilder-node-data-value-source",
                "*": "Value of $1"
            },
            {
                "name": "infoboxbuilder-node-header",
                "normalizedname": "infoboxbuilder-node-header",
                "*": "Header"
            },
            {
                "name": "infoboxbuilder-node-header-value",
                "normalizedname": "infoboxbuilder-node-header-value",
                "*": "Infobox header"
            },
            {
                "name": "infoboxbuilder-node-media",
                "normalizedname": "infoboxbuilder-node-media",
                "*": "Image"
            },
            {
                "name": "infoboxbuilder-node-navigation",
                "normalizedname": "infoboxbuilder-node-navigation",
                "*": "Navigation"
            },
            {
                "name": "infoboxbuilder-node-title",
                "normalizedname": "infoboxbuilder-node-title",
                "*": "Title"
            },
            {
                "name": "infoboxbuilder-node-title-value",
                "normalizedname": "infoboxbuilder-node-title-value",
                "*": "Infobox title"
            },
            {
                "name": "infoboxbuilder-node-title-value-pagename",
                "normalizedname": "infoboxbuilder-node-title-value-pagename",
                "*": "Page name"
            },
            {
                "name": "infoboxbuilder-nodeerror-invalidsource",
                "normalizedname": "infoboxbuilder-nodeerror-invalidsource",
                "*": "Source parameter is invalid."
            },
            {
                "name": "infoboxbuilder-nodeerror-nosourceordefault",
                "normalizedname": "infoboxbuilder-nodeerror-nosourceordefault",
                "*": "Element without source parameter or default value won't be displayed."
            },
            {
                "name": "infoboxbuilder-nodeparam-default",
                "normalizedname": "infoboxbuilder-nodeparam-default",
                "*": "Default value"
            },
            {
                "name": "infoboxbuilder-nodeparam-label",
                "normalizedname": "infoboxbuilder-nodeparam-label",
                "*": "Label"
            },
            {
                "name": "infoboxbuilder-nodeparam-source",
                "normalizedname": "infoboxbuilder-nodeparam-source",
                "*": "Source parameter"
            },
            {
                "name": "infoboxbuilder-nodeparam-value",
                "normalizedname": "infoboxbuilder-nodeparam-value",
                "*": "Value"
            },
            {
                "name": "infoboxbuilder-templatename",
                "normalizedname": "infoboxbuilder-templatename",
                "*": "Template name"
            },
            {
                "name": "inputbox-createarticle",
                "normalizedname": "inputbox-createarticle",
                "*": "Create page"
            },
            {
                "name": "inputbox-desc",
                "normalizedname": "inputbox-desc",
                "*": "Allow inclusion of predefined HTML forms"
            },
            {
                "name": "inputbox-error-bad-type",
                "normalizedname": "inputbox-error-bad-type",
                "*": "Input box type \"$1\" not recognized.\nPlease specify \"create\", \"comment\", \"search\", \"search2\" or \"fulltext\"."
            },
            {
                "name": "inputbox-error-no-type",
                "normalizedname": "inputbox-error-no-type",
                "*": "You have not specified the type of input box to create."
            },
            {
                "name": "inputbox-movearticle",
                "normalizedname": "inputbox-movearticle",
                "*": "Move page"
            },
            {
                "name": "inputbox-ns-main",
                "normalizedname": "inputbox-ns-main",
                "*": "Main"
            },
            {
                "name": "inputbox-postcomment",
                "normalizedname": "inputbox-postcomment",
                "*": "New section"
            },
            {
                "name": "inputbox-postcommenttitle",
                "normalizedname": "inputbox-postcommenttitle",
                "*": "New section"
            },
            {
                "name": "inputbox-searchfulltext",
                "normalizedname": "inputbox-searchfulltext",
                "*": "Search full text"
            },
            {
                "name": "inputbox-tryexact",
                "normalizedname": "inputbox-tryexact",
                "*": "Try exact match"
            },
            {
                "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": "intersection-desc",
                "normalizedname": "intersection-desc",
                "*": "Outputs a bulleted list of the most recent items residing in a category, or an intersection of several categories"
            },
            {
                "name": "intersection_noincludecats",
                "normalizedname": "intersection_noincludecats",
                "*": "Error: You need to include at least one category, or specify a namespace!"
            },
            {
                "name": "intersection_noresults",
                "normalizedname": "intersection_noresults",
                "*": "Error: No results!"
            },
            {
                "name": "intersection_pcerror",
                "normalizedname": "intersection_pcerror",
                "*": "This list cannot be displayed because the servers are overloaded. Please try again later."
            },
            {
                "name": "intersection_toofewcats",
                "normalizedname": "intersection_toofewcats",
                "*": "Error: Too few categories!"
            },
            {
                "name": "intersection_toomanycats",
                "normalizedname": "intersection_toomanycats",
                "*": "Error: Too many categories!"
            },
            {
                "name": "interwiki",
                "normalizedname": "interwiki",
                "*": "View and edit interwiki data"
            },
            {
                "name": "interwiki-addtext-local",
                "normalizedname": "interwiki-addtext-local",
                "*": "Add a local interwiki or language prefix"
            },
            {
                "name": "interwiki-addtext-local-nolang",
                "normalizedname": "interwiki-addtext-local-nolang",
                "*": "Add a local interwiki prefix"
            },
            {
                "name": "interwiki-addtext-nolang",
                "normalizedname": "interwiki-addtext-nolang",
                "*": "Add an interwiki prefix"
            },
            {
                "name": "interwiki-api-label",
                "normalizedname": "interwiki-api-label",
                "*": "API:"
            },
            {
                "name": "interwiki-badprefix",
                "normalizedname": "interwiki-badprefix",
                "*": "Specified interwiki prefix \"$1\" contains invalid characters"
            },
            {
                "name": "interwiki-cached",
                "normalizedname": "interwiki-cached",
                "*": "The interwiki data is cached. Modifying the cache is not possible."
            },
            {
                "name": "interwiki-cannotaddlocallanguage",
                "normalizedname": "interwiki-cannotaddlocallanguage",
                "*": "Prefix \"$1\" matches a known language code. Adding local interlanguage prefixes is disabled when using a global interlanguage database."
            },
            {
                "name": "interwiki-defaulturl",
                "normalizedname": "interwiki-defaulturl",
                "*": "http://www.example.com/$1"
            },
            {
                "name": "interwiki-desc",
                "normalizedname": "interwiki-desc",
                "*": "Adds a [[Special:Interwiki|special page]] to view and edit the interwiki table"
            },
            {
                "name": "interwiki-description",
                "normalizedname": "interwiki-description",
                "*": ""
            },
            {
                "name": "interwiki-global-description",
                "normalizedname": "interwiki-global-description",
                "*": "These prefixes are inherited from a global configuration, and can only be edited on the source wiki."
            },
            {
                "name": "interwiki-global-language-description",
                "normalizedname": "interwiki-global-language-description",
                "*": "These prefixes match defined language codes, and will be used to create the \"{{int:otherlanguages}}\" listing when added to a page. As they are inherited from a global configuration, they can only be edited on the source wiki. Global interlanguage definitions cannot be overridden locally."
            },
            {
                "name": "interwiki-global-language-links",
                "normalizedname": "interwiki-global-language-links",
                "*": "Global interlanguage prefixes"
            },
            {
                "name": "interwiki-global-links",
                "normalizedname": "interwiki-global-links",
                "*": "Global interwiki prefixes"
            },
            {
                "name": "interwiki-language-description",
                "normalizedname": "interwiki-language-description",
                "*": "These prefixes match defined language codes, and will be used to create the \"{{int:otherlanguages}}\" listing when added to a page."
            },
            {
                "name": "interwiki-language-links",
                "normalizedname": "interwiki-language-links",
                "*": "Interlanguage prefixes"
            },
            {
                "name": "interwiki-legend",
                "normalizedname": "interwiki-legend",
                "*": "{| class=\"wikitable intro mw-interwikitable mw-interwiki-legend mw-collapsible mw-collapsed\"\n!colspan=3|{{int:interwiki-legend-label}}\n|-\n!{{int:interwiki_prefix}}\n|colspan=2|{{int:interwiki_prefix_intro}}\n|-\n!{{int:interwiki_url}}\n|colspan=2|{{int:interwiki_url_intro}}\n|-\n!rowspan=2|{{int:interwiki_local}}\n!{{int:interwiki_1}}\n|{{int:interwiki_local_1_intro}}\n|-\n!{{int:interwiki_0}}\n|{{int:interwiki_local_0_intro}}\n|-\n!rowspan=2|{{int:interwiki_trans}}\n!{{int:interwiki_1}}\n|{{int:interwiki_trans_1_intro}}\n|-\n!{{int:interwiki_0}}\n|{{int:interwiki_trans_0_intro}}\n|-\n|}"
            },
            {
                "name": "interwiki-legend-label",
                "normalizedname": "interwiki-legend-label",
                "*": "Legend"
            },
            {
                "name": "interwiki-links",
                "normalizedname": "interwiki-links",
                "*": "Interwiki prefixes"
            },
            {
                "name": "interwiki-local-description",
                "normalizedname": "interwiki-local-description",
                "*": "These prefixes exist locally. Any duplicates with the global configuration will override the global definition."
            },
            {
                "name": "interwiki-local-label",
                "normalizedname": "interwiki-local-label",
                "*": "Forward"
            },
            {
                "name": "interwiki-local-links",
                "normalizedname": "interwiki-local-links",
                "*": "Local interwiki prefixes"
            },
            {
                "name": "interwiki-logtext",
                "normalizedname": "interwiki-logtext",
                "*": "View log"
            },
            {
                "name": "interwiki-prefix-label",
                "normalizedname": "interwiki-prefix-label",
                "*": "Prefix:"
            },
            {
                "name": "interwiki-submit-empty",
                "normalizedname": "interwiki-submit-empty",
                "*": "The prefix and URL cannot be empty."
            },
            {
                "name": "interwiki-submit-invalidurl",
                "normalizedname": "interwiki-submit-invalidurl",
                "*": "The protocol of the URL is invalid."
            },
            {
                "name": "interwiki-title-norights",
                "normalizedname": "interwiki-title-norights",
                "*": "View interwiki data"
            },
            {
                "name": "interwiki-trans-label",
                "normalizedname": "interwiki-trans-label",
                "*": "Transclude"
            },
            {
                "name": "interwiki-url-label",
                "normalizedname": "interwiki-url-label",
                "*": "URL:"
            },
            {
                "name": "interwiki_0",
                "normalizedname": "interwiki_0",
                "*": "no"
            },
            {
                "name": "interwiki_1",
                "normalizedname": "interwiki_1",
                "*": "yes"
            },
            {
                "name": "interwiki_addbutton",
                "normalizedname": "interwiki_addbutton",
                "*": "Add"
            },
            {
                "name": "interwiki_added",
                "normalizedname": "interwiki_added",
                "*": "Prefix \"$1\" was added to the interwiki table."
            },
            {
                "name": "interwiki_addfailed",
                "normalizedname": "interwiki_addfailed",
                "*": "Prefix \"$1\" could not be added to the interwiki table.\nPossibly it already exists in the interwiki table."
            },
            {
                "name": "interwiki_addintro",
                "normalizedname": "interwiki_addintro",
                "*": "You are adding a new interwiki prefix.\nRemember that it cannot contain spaces ( ), colons (:), ampersands (&), or equal signs (=)."
            },
            {
                "name": "interwiki_addtext",
                "normalizedname": "interwiki_addtext",
                "*": "Add an interwiki or language prefix"
            },
            {
                "name": "interwiki_deleted",
                "normalizedname": "interwiki_deleted",
                "*": "Prefix \"$1\" was removed from the interwiki table."
            },
            {
                "name": "interwiki_deleting",
                "normalizedname": "interwiki_deleting",
                "*": "You are deleting prefix \"$1\"."
            },
            {
                "name": "interwiki_delfailed",
                "normalizedname": "interwiki_delfailed",
                "*": "Prefix \"$1\" could not be removed from the interwiki table."
            },
            {
                "name": "interwiki_edit",
                "normalizedname": "interwiki_edit",
                "*": "Edit"
            },
            {
                "name": "interwiki_edited",
                "normalizedname": "interwiki_edited",
                "*": "Prefix \"$1\" was modified in the interwiki table."
            },
            {
                "name": "interwiki_editerror",
                "normalizedname": "interwiki_editerror",
                "*": "Prefix \"$1\" could not be modified in the interwiki table.\nPossibly it does not exist."
            },
            {
                "name": "interwiki_editintro",
                "normalizedname": "interwiki_editintro",
                "*": "You are editing an interwiki prefix.\nRemember that this can break existing links."
            },
            {
                "name": "interwiki_edittext",
                "normalizedname": "interwiki_edittext",
                "*": "Editing an interwiki prefix"
            },
            {
                "name": "interwiki_error",
                "normalizedname": "interwiki_error",
                "*": "Error: The interwiki table is empty, or something else went wrong."
            },
            {
                "name": "interwiki_intro",
                "normalizedname": "interwiki_intro",
                "*": "This is an overview of the interwiki table, which defines the prefix shortcuts used to quickly link to different wikis and other external sites. For recommended use, please see [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Interwiki the manual on MediaWiki.org]."
            },
            {
                "name": "interwiki_local",
                "normalizedname": "interwiki_local",
                "*": "Forward"
            },
            {
                "name": "interwiki_local_0_intro",
                "normalizedname": "interwiki_local_0_intro",
                "*": "External HTTP requests to the local wiki using this interwiki prefix in the URL will result in a \"{{int:badtitle}}\" error page."
            },
            {
                "name": "interwiki_local_1_intro",
                "normalizedname": "interwiki_local_1_intro",
                "*": "External HTTP requests to the local wiki using this interwiki prefix will be redirected to the target URL of the interwiki (i.e. treated like links to local pages)."
            },
            {
                "name": "interwiki_prefix",
                "normalizedname": "interwiki_prefix",
                "*": "Prefix"
            },
            {
                "name": "interwiki_prefix_intro",
                "normalizedname": "interwiki_prefix_intro",
                "*": "Interwiki prefix to be used in <code>[<nowiki />[prefix:<em>pagename</em>]]</code> wikitext syntax."
            },
            {
                "name": "interwiki_reasonfield",
                "normalizedname": "interwiki_reasonfield",
                "*": "Reason:"
            },
            {
                "name": "interwiki_trans",
                "normalizedname": "interwiki_trans",
                "*": "Transclude"
            },
            {
                "name": "interwiki_trans_0_intro",
                "normalizedname": "interwiki_trans_0_intro",
                "*": "Do not allow <code>{<nowiki />{prefix:<em>pagename</em>}}</code> to transclude foreign templates/pages, rather look for a local page in the template namespace."
            },
            {
                "name": "interwiki_trans_1_intro",
                "normalizedname": "interwiki_trans_1_intro",
                "*": "If wikitext syntax <code>{<nowiki />{prefix:<em>pagename</em>}}</code> is used, allow template/page transclusion from the foreign wiki if interwiki transclusions are enabled in general ([https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgEnableScaryTranscluding scary transclusion])."
            },
            {
                "name": "interwiki_url",
                "normalizedname": "interwiki_url",
                "*": "URL"
            },
            {
                "name": "interwiki_url_intro",
                "normalizedname": "interwiki_url_intro",
                "*": "Template for URLs. The placeholder $1 will be replaced by the <em>pagename</em> in <code>[<nowiki />[prefix:<em>pagename</em>]]</code>."
            },
            {
                "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": "invalid-json-data",
                "normalizedname": "invalid-json-data",
                "*": "Invalid JSON: $1"
            },
            {
                "name": "invalid-langconvert-attrs",
                "normalizedname": "invalid-langconvert-attrs",
                "*": "<strong>Error:</strong> Langconvert tag's <code>from</code> and <code>to</code> attributes must not be empty and must contain BCP 47 codes for convertible variants of the same language."
            },
            {
                "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",
                "normalizedname": "invalidtitle",
                "*": "Invalid title"
            },
            {
                "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, username or block ID:"
            },
            {
                "name": "ipb-action-create",
                "normalizedname": "ipb-action-create",
                "*": "Creating new pages and uploading new files"
            },
            {
                "name": "ipb-action-move",
                "normalizedname": "ipb-action-move",
                "*": "Moving pages and files"
            },
            {
                "name": "ipb-action-thanks",
                "normalizedname": "ipb-action-thanks",
                "*": "Sending thanks"
            },
            {
                "name": "ipb-action-upload",
                "normalizedname": "ipb-action-upload",
                "*": "Uploading files (including overwriting files)"
            },
            {
                "name": "ipb-block-not-found",
                "normalizedname": "ipb-block-not-found",
                "*": "The block could not be made, but no existing block was found for \"$1\". If this problem persists, please [https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Blocking_users report it]."
            },
            {
                "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-default-expiry-ip",
                "normalizedname": "ipb-default-expiry-ip",
                "*": ""
            },
            {
                "name": "ipb-disableusertalk",
                "normalizedname": "ipb-disableusertalk",
                "*": "Editing their own talk page"
            },
            {
                "name": "ipb-edit-dropdown",
                "normalizedname": "ipb-edit-dropdown",
                "*": "Edit block reasons"
            },
            {
                "name": "ipb-empty-block",
                "normalizedname": "ipb-empty-block",
                "*": "The block submitted has no restrictions enabled."
            },
            {
                "name": "ipb-hardblock",
                "normalizedname": "ipb-hardblock",
                "*": "Apply block to logged-in users from this IP address"
            },
            {
                "name": "ipb-namespaces-label",
                "normalizedname": "ipb-namespaces-label",
                "*": "Namespaces"
            },
            {
                "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-pages-label",
                "normalizedname": "ipb-pages-label",
                "*": "Pages"
            },
            {
                "name": "ipb-partial",
                "normalizedname": "ipb-partial",
                "*": "Partial"
            },
            {
                "name": "ipb-partial-help",
                "normalizedname": "ipb-partial-help",
                "*": "Allows you to select pages and namespaces to block. Doesn\u2019t block default actions but lets you block certain specific actions."
            },
            {
                "name": "ipb-prevent-user-talk-edit",
                "normalizedname": "ipb-prevent-user-talk-edit",
                "*": "Editing their own talk page must be allowed for a partial block, unless it includes a restriction on the User Talk namespace."
            },
            {
                "name": "ipb-sitewide",
                "normalizedname": "ipb-sitewide",
                "*": "Sitewide"
            },
            {
                "name": "ipb-sitewide-help",
                "normalizedname": "ipb-sitewide-help",
                "*": "Blocks editing on all pages and namespaces. Also blocks default actions ([https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Blocking_users See help])"
            },
            {
                "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 for $1 not found. It may have been removed 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 indefinite."
            },
            {
                "name": "ipb_hide_invalid",
                "normalizedname": "ipb_hide_invalid",
                "*": "Unable to suppress this account; it has more than {{PLURAL:$1|one edit|$1 edits}}."
            },
            {
                "name": "ipb_hide_partial",
                "normalizedname": "ipb_hide_partial",
                "*": "Hidden username blocks must be sitewide blocks."
            },
            {
                "name": "ipbblocked",
                "normalizedname": "ipbblocked",
                "*": "You cannot block or unblock other users because you are yourself blocked."
            },
            {
                "name": "ipbcreateaccount",
                "normalizedname": "ipbcreateaccount",
                "*": "Account creation"
            },
            {
                "name": "ipbemailban",
                "normalizedname": "ipbemailban",
                "*": "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, for a period of $1"
            },
            {
                "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",
                "*": "No matching blocks found for the requested IP address or username."
            },
            {
                "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": "jan",
                "normalizedname": "jan",
                "*": "Jan"
            },
            {
                "name": "january",
                "normalizedname": "january",
                "*": "January"
            },
            {
                "name": "january-gen",
                "normalizedname": "january-gen",
                "*": "January"
            },
            {
                "name": "javascripttest",
                "normalizedname": "javascripttest",
                "*": "JavaScript testing"
            },
            {
                "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-invalid-property-name",
                "normalizedname": "json-error-invalid-property-name",
                "*": "The decoded property name is invalid"
            },
            {
                "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-utf16",
                "normalizedname": "json-error-utf16",
                "*": "Malformed UTF-16 characters, possibly incorrectly encoded"
            },
            {
                "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": "jsonconfig-desc",
                "normalizedname": "jsonconfig-desc",
                "*": "Allows JSON configuration to be stored in a wiki"
            },
            {
                "name": "jsonconfig-duplicate-field",
                "normalizedname": "jsonconfig-duplicate-field",
                "*": "More than one value \"$1\" found"
            },
            {
                "name": "jsonconfig-edit-action-apply",
                "normalizedname": "jsonconfig-edit-action-apply",
                "*": "Apply"
            },
            {
                "name": "jsonconfig-edit-action-cancel",
                "normalizedname": "jsonconfig-edit-action-cancel",
                "*": "Cancel"
            },
            {
                "name": "jsonconfig-edit-button-label",
                "normalizedname": "jsonconfig-edit-button-label",
                "*": "Edit as table"
            },
            {
                "name": "jsonconfig-edit-dialog-error",
                "normalizedname": "jsonconfig-edit-dialog-error",
                "*": "Unable to edit as a table: $1"
            },
            {
                "name": "jsonconfig-edit-dialog-error-data-inavlid",
                "normalizedname": "jsonconfig-edit-dialog-error-data-inavlid",
                "*": "Data does not match the schema"
            },
            {
                "name": "jsonconfig-edit-dialog-error-data-missing",
                "normalizedname": "jsonconfig-edit-dialog-error-data-missing",
                "*": "JSON <code>data</code> property is missing or not an array"
            },
            {
                "name": "jsonconfig-edit-dialog-error-data-too-large",
                "normalizedname": "jsonconfig-edit-dialog-error-data-too-large",
                "*": "Dataset is too large to edit as a table"
            },
            {
                "name": "jsonconfig-edit-dialog-error-field-name-missing",
                "normalizedname": "jsonconfig-edit-dialog-error-field-name-missing",
                "*": "Each field must have a name"
            },
            {
                "name": "jsonconfig-edit-dialog-error-field-type-invalid",
                "normalizedname": "jsonconfig-edit-dialog-error-field-type-invalid",
                "*": "To edit as a table, each field must have type <code>number</code> or <code>string</code>"
            },
            {
                "name": "jsonconfig-edit-dialog-error-fields-missing",
                "normalizedname": "jsonconfig-edit-dialog-error-fields-missing",
                "*": "JSON <code>schema.fields</code> property is missing or not an array"
            },
            {
                "name": "jsonconfig-edit-dialog-error-schema-missing",
                "normalizedname": "jsonconfig-edit-dialog-error-schema-missing",
                "*": "JSON <code>schema</code> property is missing or not an object"
            },
            {
                "name": "jsonconfig-edit-dialog-title",
                "normalizedname": "jsonconfig-edit-dialog-title",
                "*": "Edit JSON"
            },
            {
                "name": "jsonconfig-err-array",
                "normalizedname": "jsonconfig-err-array",
                "*": "Parameter \"$1\" must be a list, e.g. <kbd>[\"value1\", \"value2\", ...]</kbd>"
            },
            {
                "name": "jsonconfig-err-array-count",
                "normalizedname": "jsonconfig-err-array-count",
                "*": "List \"$1\" has $2 {{PLURAL:$2|value|values}}, but must have $3 {{PLURAL:$3|value|values}}, the same number of values as \"$4\""
            },
            {
                "name": "jsonconfig-err-array-expected",
                "normalizedname": "jsonconfig-err-array-expected",
                "*": "The value at \"$1\" was expected to be a list surrounded by the [...] brackets"
            },
            {
                "name": "jsonconfig-err-assoc-array",
                "normalizedname": "jsonconfig-err-assoc-array",
                "*": "Parameter \"$1\" must be an associative array (dictionary), e.g. <kbd>{\"key\": \"value\", ...}</kbd>"
            },
            {
                "name": "jsonconfig-err-bad-geojson",
                "normalizedname": "jsonconfig-err-bad-geojson",
                "*": "Parameter \"$1\" must be a valid GeoJSON data object, or an array of GeoJSON objects. If <code>properties</code> field contains <code>title</code> or <code>description</code>, they must be either single line strings without tabs or trailing spaces, or a multi-lingual objects of such strings, e.g. <kbd>{ \"en\":\"String in English\", ... }</kbd>"
            },
            {
                "name": "jsonconfig-err-bad-header-string",
                "normalizedname": "jsonconfig-err-bad-header-string",
                "*": "Header \"$1\" must only consist of letters, numbers, and underscore characters, and must not begin with a number"
            },
            {
                "name": "jsonconfig-err-bad-type",
                "normalizedname": "jsonconfig-err-bad-type",
                "*": "Parameter \"$1\" must be a valid type like <code>string</code>, <code>number</code>, or <code>boolean</code>"
            },
            {
                "name": "jsonconfig-err-bool",
                "normalizedname": "jsonconfig-err-bool",
                "*": "Parameter \"$1\" must be either set to <code>true</code> or <code>false</code>"
            },
            {
                "name": "jsonconfig-err-duplicate-header",
                "normalizedname": "jsonconfig-err-duplicate-header",
                "*": "Duplicate header \"$2\" found at \"$1\". Each header must be unique."
            },
            {
                "name": "jsonconfig-err-integer",
                "normalizedname": "jsonconfig-err-integer",
                "*": "Parameter \"$1\" must be an integer"
            },
            {
                "name": "jsonconfig-err-license",
                "normalizedname": "jsonconfig-err-license",
                "*": "Parameter \"$1\" must be one of the valid license codes, for example $2"
            },
            {
                "name": "jsonconfig-err-localized",
                "normalizedname": "jsonconfig-err-localized",
                "*": "Parameter \"$1\" must be an object that maps valid language codes to single line strings without tabs or trailing spaces, e.g. <kbd>{ \"en\":\"String in English\", ... }</kbd>"
            },
            {
                "name": "jsonconfig-err-number",
                "normalizedname": "jsonconfig-err-number",
                "*": "Parameter \"$1\" must be a number"
            },
            {
                "name": "jsonconfig-err-object-expected",
                "normalizedname": "jsonconfig-err-object-expected",
                "*": "The value at \"$1\" was expected to be an object surrounded by the {...} braces"
            },
            {
                "name": "jsonconfig-err-root-array-expected",
                "normalizedname": "jsonconfig-err-root-array-expected",
                "*": "JSON data should be a list, surrounded by the [...] brackets"
            },
            {
                "name": "jsonconfig-err-root-object-expected",
                "normalizedname": "jsonconfig-err-root-object-expected",
                "*": "JSON data should be an object, surrounded by the {...} braces"
            },
            {
                "name": "jsonconfig-err-string",
                "normalizedname": "jsonconfig-err-string",
                "*": "Parameter \"$1\" must be a string"
            },
            {
                "name": "jsonconfig-err-stringline",
                "normalizedname": "jsonconfig-err-stringline",
                "*": "Parameter \"$1\" must be a single line string no longer than $2 characters, with no tabs, and must not begin or end with a space"
            },
            {
                "name": "jsonconfig-err-unexpected-key",
                "normalizedname": "jsonconfig-err-unexpected-key",
                "*": "Object \"$1\" contains an unexpected field \"$2\""
            },
            {
                "name": "jsonconfig-err-url",
                "normalizedname": "jsonconfig-err-url",
                "*": "Parameter \"$1\" must be a valid URL"
            },
            {
                "name": "jsonconfig-license",
                "normalizedname": "jsonconfig-license",
                "*": "Data available under $1."
            },
            {
                "name": "jsonconfig-license-copyrightwarning",
                "normalizedname": "jsonconfig-license-copyrightwarning",
                "*": "By publishing changes, you agree to the [https://foundation.wikimedia.org/wiki/Terms_of_Use Terms of Use], and you irrevocably agree to release your contribution under [{{int:jsonconfig-license-url-$1}} {{int:jsonconfig-license-name-$1}}]."
            },
            {
                "name": "jsonconfig-license-copyrightwarning-license-unset",
                "normalizedname": "jsonconfig-license-copyrightwarning-license-unset",
                "*": "By publishing changes, you agree to the [https://foundation.wikimedia.org/wiki/Terms_of_Use Terms of Use], and you irrevocably agree to release your contribution according to the license specified in the <code>licence</code> field."
            },
            {
                "name": "jsonconfig-license-name-CC-BY-1.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-1.0",
                "*": "Creative Commons Attribution 1.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-2.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-2.0",
                "*": "Creative Commons Attribution 2.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-2.5",
                "normalizedname": "jsonconfig-license-name-CC-BY-2.5",
                "*": "Creative Commons Attribution 2.5"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-3.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-3.0",
                "*": "Creative Commons Attribution 3.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-4.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-4.0",
                "*": "Creative Commons Attribution 4.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-4.0+",
                "normalizedname": "jsonconfig-license-name-CC-BY-4.0+",
                "*": "Creative Commons Attribution 4.0 or later version"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-1.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-1.0",
                "*": "Creative Commons Attribution-Share Alike 1.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-2.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-2.0",
                "*": "Creative Commons Attribution-Share Alike 2.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-2.5",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-2.5",
                "*": "Creative Commons Attribution-Share Alike 2.5"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-3.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-3.0",
                "*": "Creative Commons Attribution-Share Alike 3.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-4.0",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-4.0",
                "*": "Creative Commons Attribution-Share Alike 4.0"
            },
            {
                "name": "jsonconfig-license-name-CC-BY-SA-4.0+",
                "normalizedname": "jsonconfig-license-name-CC-BY-SA-4.0+",
                "*": "Creative Commons Attribution-Share Alike 4.0 or later version"
            },
            {
                "name": "jsonconfig-license-name-CC0-1.0",
                "normalizedname": "jsonconfig-license-name-CC0-1.0",
                "*": "Creative Commons Zero"
            },
            {
                "name": "jsonconfig-license-name-GeoNutzV",
                "normalizedname": "jsonconfig-license-name-GeoNutzV",
                "*": "Geo Data license Germany"
            },
            {
                "name": "jsonconfig-license-name-ODbL-1.0",
                "normalizedname": "jsonconfig-license-name-ODbL-1.0",
                "*": "ODC Open Database License v1.0"
            },
            {
                "name": "jsonconfig-license-name-dl-de-by-1.0",
                "normalizedname": "jsonconfig-license-name-dl-de-by-1.0",
                "*": "Data licence Germany \u2013 attribution \u2013 Version 1.0"
            },
            {
                "name": "jsonconfig-license-name-dl-de-by-2.0",
                "normalizedname": "jsonconfig-license-name-dl-de-by-2.0",
                "*": "Data licence Germany \u2013 attribution \u2013 version 2.0"
            },
            {
                "name": "jsonconfig-license-name-dl-de-zero-2.0",
                "normalizedname": "jsonconfig-license-name-dl-de-zero-2.0",
                "*": "Data licence Germany - Zero - Version 2.0"
            },
            {
                "name": "jsonconfig-license-not-set",
                "normalizedname": "jsonconfig-license-not-set",
                "*": "When you edit this page, you agree to release your contribution according to the license specified in the <code>licence</code> field."
            },
            {
                "name": "jsonconfig-license-notice",
                "normalizedname": "jsonconfig-license-notice",
                "*": "'''Note:''' When you edit this page, you agree to release your contribution under [{{int:jsonconfig-license-url-$1}} {{int:jsonconfig-license-name-$1}}]."
            },
            {
                "name": "jsonconfig-license-notice-license-unset",
                "normalizedname": "jsonconfig-license-notice-license-unset",
                "*": "'''Note:''' When you edit this page, you agree to release your contribution according to the license specified in the <code>licence</code> field."
            },
            {
                "name": "jsonconfig-license-url-CC-BY-1.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-1.0",
                "*": "https://creativecommons.org/licenses/by/1.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-2.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-2.0",
                "*": "https://creativecommons.org/licenses/by/2.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-2.5",
                "normalizedname": "jsonconfig-license-url-CC-BY-2.5",
                "*": "https://creativecommons.org/licenses/by/2.5/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-3.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-3.0",
                "*": "https://creativecommons.org/licenses/by/3.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-4.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-4.0",
                "*": "https://creativecommons.org/licenses/by/4.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-4.0+",
                "normalizedname": "jsonconfig-license-url-CC-BY-4.0+",
                "*": "https://creativecommons.org/licenses/by/4.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-1.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-1.0",
                "*": "https://creativecommons.org/licenses/by-sa/1.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-2.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-2.0",
                "*": "https://creativecommons.org/licenses/by-sa/2.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-2.5",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-2.5",
                "*": "https://creativecommons.org/licenses/by-sa/2.5/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-3.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-3.0",
                "*": "https://creativecommons.org/licenses/by-sa/3.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-4.0",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-4.0",
                "*": "https://creativecommons.org/licenses/by-sa/4.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC-BY-SA-4.0+",
                "normalizedname": "jsonconfig-license-url-CC-BY-SA-4.0+",
                "*": "https://creativecommons.org/licenses/by-sa/4.0/deed.en"
            },
            {
                "name": "jsonconfig-license-url-CC0-1.0",
                "normalizedname": "jsonconfig-license-url-CC0-1.0",
                "*": "https://creativecommons.org/publicdomain/zero/1.0/"
            },
            {
                "name": "jsonconfig-license-url-GeoNutzV",
                "normalizedname": "jsonconfig-license-url-GeoNutzV",
                "*": "https://www.gesetze-im-internet.de/geonutzv/__2.html"
            },
            {
                "name": "jsonconfig-license-url-ODbL-1.0",
                "normalizedname": "jsonconfig-license-url-ODbL-1.0",
                "*": "https://opendatacommons.org/licenses/odbl/summary/"
            },
            {
                "name": "jsonconfig-license-url-dl-de-by-1.0",
                "normalizedname": "jsonconfig-license-url-dl-de-by-1.0",
                "*": "https://www.govdata.de/dl-de/by-1-0"
            },
            {
                "name": "jsonconfig-license-url-dl-de-by-2.0",
                "normalizedname": "jsonconfig-license-url-dl-de-by-2.0",
                "*": "https://www.govdata.de/dl-de/by-2-0"
            },
            {
                "name": "jsonconfig-license-url-dl-de-zero-2.0",
                "normalizedname": "jsonconfig-license-url-dl-de-zero-2.0",
                "*": "https://www.govdata.de/dl-de/zero-2-0"
            },
            {
                "name": "jsonconfig-move-aborted-model",
                "normalizedname": "jsonconfig-move-aborted-model",
                "*": "this page's JSON config model \"$1\" would not match the new title's model \"$2\""
            },
            {
                "name": "jsonconfig-move-aborted-ns",
                "normalizedname": "jsonconfig-move-aborted-ns",
                "*": "the new page title is not set up to hold JSON configuration"
            },
            {
                "name": "jsonconfig-optional-field",
                "normalizedname": "jsonconfig-optional-field",
                "*": "(optional)"
            },
            {
                "name": "jsonconfig-type-abbr-boolean",
                "normalizedname": "jsonconfig-type-abbr-boolean",
                "*": "(B)"
            },
            {
                "name": "jsonconfig-type-abbr-invalid",
                "normalizedname": "jsonconfig-type-abbr-invalid",
                "*": "(?)"
            },
            {
                "name": "jsonconfig-type-abbr-localized",
                "normalizedname": "jsonconfig-type-abbr-localized",
                "*": "(L)"
            },
            {
                "name": "jsonconfig-type-abbr-number",
                "normalizedname": "jsonconfig-type-abbr-number",
                "*": "(N)"
            },
            {
                "name": "jsonconfig-type-abbr-string",
                "normalizedname": "jsonconfig-type-abbr-string",
                "*": "(S)"
            },
            {
                "name": "jsonconfig-type-name-boolean",
                "normalizedname": "jsonconfig-type-name-boolean",
                "*": "boolean"
            },
            {
                "name": "jsonconfig-type-name-invalid",
                "normalizedname": "jsonconfig-type-name-invalid",
                "*": "invalid"
            },
            {
                "name": "jsonconfig-type-name-localized",
                "normalizedname": "jsonconfig-type-name-localized",
                "*": "localized"
            },
            {
                "name": "jsonconfig-type-name-number",
                "normalizedname": "jsonconfig-type-name-number",
                "*": "number"
            },
            {
                "name": "jsonconfig-type-name-string",
                "normalizedname": "jsonconfig-type-name-string",
                "*": "string"
            },
            {
                "name": "jul",
                "normalizedname": "jul",
                "*": "Jul"
            },
            {
                "name": "july",
                "normalizedname": "july",
                "*": "July"
            },
            {
                "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-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": "laggedreplicamode",
                "normalizedname": "laggedreplicamode",
                "*": "<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",
                "*": "* Fair Use images\n** Fair use|Logo\n** Fair use|Product Images\n** Fair use|Book cover & Contents\n** Fair use|Comic book cover & Contents\n** Fair use|DVD, Blu-Ray Disc, videotape, etc. cover\n** Fair use|Video game cover\n** Fair use|Magazine cover\n** Fair use|TV screenshot\n** Fair use|Computer game or video game screenshot\n** Fair use|Other\n\n* Freely licensed:\n** cc-by-sa-2.0|Creative Commons Attribution-Share Alike 2.0\n** cc-by-sa-2.5|Creative Commons Attribution Share Alike 2.5 \n** cc-by-sa-3.0|Creative Commons Attribution-Share Alike 3.0\n** cc-by-sa-4.0|Creative Commons Attribution-Share Alike 4.0\n** cc-by-2.0|Creative Commons Attribution 2.0\n** cc-by-3.0|Creative Commons Attribution 3.0\n** cc-by-4.0|Creative Commons Attribution 4.0\n** Cc-zero|CC0 1.0 Universal Public Domain Dedication\n** GFDL|GFDL: GNU Free Documentation License\n** GPL|GPL: GNU General Public License\n** LGPL|LGPL: GNU Lesser General Public License\n** FAL|Free Art License\n** MW-screenshot|MediaWiki screenshot (a picture of this wiki or any others)\n\n* Public domain:\n** PD|PD: public domain\n** PD-ineligible|Too simple to be copyrighted\n\n* Other alternatives:\n** Permission from copyright holder|The copyright holder gave me permission to use this work only in BTW articles\n** Copyrighted free use|The copyright holder only allows this work to be used for non-commercial and/or educational purposes\n** Attribution|May be used for any purpose, including commercially, if the copyright holder is properly attributed\n** subst:uwl|I don't know what the license is"
            },
            {
                "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-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": "lineno-inline",
                "normalizedname": "lineno-inline",
                "*": "Line $1 \u27f6 $2:"
            },
            {
                "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.<br />\nSupported {{PLURAL:$2|protocol|protocols}}: $1 (defaults to http:// and https:// if no protocol is specified)."
            },
            {
                "name": "linkshere",
                "normalizedname": "linkshere",
                "*": "The following pages link to <strong>$2</strong>:"
            },
            {
                "name": "linkstoimage",
                "normalizedname": "linkstoimage",
                "*": "The following {{PLURAL:$1|page uses|$1 pages use}} this file:"
            },
            {
                "name": "linkstoimage-more",
                "normalizedname": "linkstoimage-more",
                "*": "More than $1 {{PLURAL:$1|page uses|pages use}} this file.\nThe following list shows the {{PLURAL:$1|first page|first $1 pages}} that use this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available."
            },
            {
                "name": "linkstoimage-redirect",
                "normalizedname": "linkstoimage-redirect",
                "*": "$1 (file redirect) $2"
            },
            {
                "name": "linktitles",
                "normalizedname": "linktitles",
                "*": "LinkTitles"
            },
            {
                "name": "linktitles-bot-comment",
                "normalizedname": "linktitles-bot-comment",
                "*": "The LinkTitles extension automatically added links to existing pages ($1)."
            },
            {
                "name": "linktitles-desc",
                "normalizedname": "linktitles-desc",
                "*": "Automatically adds links to existing pages whenever a page is saved."
            },
            {
                "name": "linktitles-special-cancel-notice",
                "normalizedname": "linktitles-special-cancel-notice",
                "*": "=== To abort, close this page, or hit the 'Stop' button in your browser ===\n[[Special:LinkTitles|Return to Special:LinkTitles.]]"
            },
            {
                "name": "linktitles-special-completed-info",
                "normalizedname": "linktitles-special-completed-info",
                "*": "== Batch processing completed! ==\n{| class=\"wikitable\"\n|-\n| total number of pages: || $1\n|-\n| timeout setting [s]: || $2\n|-\n| webpage reloads: || $3\n|-\n| pages scanned per reload interval: || $4\n|}"
            },
            {
                "name": "linktitles-special-info",
                "normalizedname": "linktitles-special-info",
                "*": "LinkTitles extension: $1\n== Batch Linking ==\nYou can start a batch linking process by clicking on the button below. This will go through every page in the normal namespace of your Wiki and insert links automatically. This page will repeatedly reload itself, in order to prevent blocking the server. To interrupt the process, simply close this page."
            },
            {
                "name": "linktitles-special-page-count",
                "normalizedname": "linktitles-special-page-count",
                "*": "Page $1 of $2.\n"
            },
            {
                "name": "linktitles-special-progress",
                "normalizedname": "linktitles-special-progress",
                "*": "== Processing pages... ==\nThe [$1 LinkTitles] extension is currently going through every page of your wiki, adding links to existing pages as appropriate.\n=== Current page: $2 ==="
            },
            {
                "name": "linktitles-special-submit",
                "normalizedname": "linktitles-special-submit",
                "*": "Start linking now"
            },
            {
                "name": "linter-category-bogus-image-options",
                "normalizedname": "linter-category-bogus-image-options",
                "*": "Bogus file options"
            },
            {
                "name": "linter-category-bogus-image-options-desc",
                "normalizedname": "linter-category-bogus-image-options-desc",
                "*": "These pages have files with bogus options."
            },
            {
                "name": "linter-category-deletable-table-tag",
                "normalizedname": "linter-category-deletable-table-tag",
                "*": "Table tag that should be deleted"
            },
            {
                "name": "linter-category-deletable-table-tag-desc",
                "normalizedname": "linter-category-deletable-table-tag-desc",
                "*": "These pages have table tags that should be deleted."
            },
            {
                "name": "linter-category-fostered",
                "normalizedname": "linter-category-fostered",
                "*": "Fostered content"
            },
            {
                "name": "linter-category-fostered-desc",
                "normalizedname": "linter-category-fostered-desc",
                "*": "These pages have fostered content."
            },
            {
                "name": "linter-category-html5-misnesting",
                "normalizedname": "linter-category-html5-misnesting",
                "*": "Misnested tag with different rendering in HTML5 and HTML4"
            },
            {
                "name": "linter-category-html5-misnesting-desc",
                "normalizedname": "linter-category-html5-misnesting-desc",
                "*": "These misnested tags will behave differently in HTML5 compared to HTML4."
            },
            {
                "name": "linter-category-large-tables",
                "normalizedname": "linter-category-large-tables",
                "*": "Big Tables that are hard to view on mobile"
            },
            {
                "name": "linter-category-large-tables-desc",
                "normalizedname": "linter-category-large-tables-desc",
                "*": "These pages have tables that are hard to view on mobile"
            },
            {
                "name": "linter-category-misc-tidy-replacement-issues",
                "normalizedname": "linter-category-misc-tidy-replacement-issues",
                "*": "Miscellaneous issues"
            },
            {
                "name": "linter-category-misc-tidy-replacement-issues-desc",
                "normalizedname": "linter-category-misc-tidy-replacement-issues-desc",
                "*": "These pages have other issues that cause them to be rendered differently from how they appeared previously"
            },
            {
                "name": "linter-category-misnested-tag",
                "normalizedname": "linter-category-misnested-tag",
                "*": "Misnested tags"
            },
            {
                "name": "linter-category-misnested-tag-desc",
                "normalizedname": "linter-category-misnested-tag-desc",
                "*": "These pages have misnested tags that could be fixed."
            },
            {
                "name": "linter-category-missing-end-tag",
                "normalizedname": "linter-category-missing-end-tag",
                "*": "Missing end tag"
            },
            {
                "name": "linter-category-missing-end-tag-desc",
                "normalizedname": "linter-category-missing-end-tag-desc",
                "*": "These pages have missing end tags."
            },
            {
                "name": "linter-category-missing-end-tag-in-heading",
                "normalizedname": "linter-category-missing-end-tag-in-heading",
                "*": "Missing end tag in heading"
            },
            {
                "name": "linter-category-missing-end-tag-in-heading-desc",
                "normalizedname": "linter-category-missing-end-tag-in-heading-desc",
                "*": "These pages have missing end tags in headings."
            },
            {
                "name": "linter-category-multi-colon-escape",
                "normalizedname": "linter-category-multi-colon-escape",
                "*": "Multi colon escape"
            },
            {
                "name": "linter-category-multi-colon-escape-desc",
                "normalizedname": "linter-category-multi-colon-escape-desc",
                "*": "These pages have links prefixed with multiple colons."
            },
            {
                "name": "linter-category-multiline-html-table-in-list",
                "normalizedname": "linter-category-multiline-html-table-in-list",
                "*": "Multiline table in list"
            },
            {
                "name": "linter-category-multiline-html-table-in-list-desc",
                "normalizedname": "linter-category-multiline-html-table-in-list-desc",
                "*": "Previously, tables were moved inside or outside the list, but now this extends the list to the rest of the page."
            },
            {
                "name": "linter-category-multiple-unclosed-formatting-tags",
                "normalizedname": "linter-category-multiple-unclosed-formatting-tags",
                "*": "Multiple unclosed formatting tags"
            },
            {
                "name": "linter-category-multiple-unclosed-formatting-tags-desc",
                "normalizedname": "linter-category-multiple-unclosed-formatting-tags-desc",
                "*": "These pages have multiple unclosed formatting tags"
            },
            {
                "name": "linter-category-obsolete-tag",
                "normalizedname": "linter-category-obsolete-tag",
                "*": "Obsolete HTML tags"
            },
            {
                "name": "linter-category-obsolete-tag-desc",
                "normalizedname": "linter-category-obsolete-tag-desc",
                "*": "These pages use obsolete HTML tags."
            },
            {
                "name": "linter-category-pwrap-bug-workaround",
                "normalizedname": "linter-category-pwrap-bug-workaround",
                "*": "Paragraph wrapping bug workaround"
            },
            {
                "name": "linter-category-pwrap-bug-workaround-desc",
                "normalizedname": "linter-category-pwrap-bug-workaround-desc",
                "*": "These pages have a paragraph wrapping bug that could be worked around."
            },
            {
                "name": "linter-category-self-closed-tag",
                "normalizedname": "linter-category-self-closed-tag",
                "*": "Self-closed tags"
            },
            {
                "name": "linter-category-self-closed-tag-desc",
                "normalizedname": "linter-category-self-closed-tag-desc",
                "*": "These pages have self-closed tags."
            },
            {
                "name": "linter-category-stripped-tag",
                "normalizedname": "linter-category-stripped-tag",
                "*": "Stripped tags"
            },
            {
                "name": "linter-category-stripped-tag-desc",
                "normalizedname": "linter-category-stripped-tag-desc",
                "*": "These pages have stripped tags."
            },
            {
                "name": "linter-category-tidy-font-bug",
                "normalizedname": "linter-category-tidy-font-bug",
                "*": "Old behaviour of link-wrapping font tags"
            },
            {
                "name": "linter-category-tidy-font-bug-desc",
                "normalizedname": "linter-category-tidy-font-bug-desc",
                "*": "Previously, these font tags were moved inside links to change link color"
            },
            {
                "name": "linter-category-tidy-whitespace-bug",
                "normalizedname": "linter-category-tidy-whitespace-bug",
                "*": "Whitespace parsing bug"
            },
            {
                "name": "linter-category-tidy-whitespace-bug-desc",
                "normalizedname": "linter-category-tidy-whitespace-bug-desc",
                "*": "These pages triggered a whitespace bug on parsing which should be worked around."
            },
            {
                "name": "linter-category-unclosed-quotes-in-heading",
                "normalizedname": "linter-category-unclosed-quotes-in-heading",
                "*": "Unclosed quote in heading"
            },
            {
                "name": "linter-category-unclosed-quotes-in-heading-desc",
                "normalizedname": "linter-category-unclosed-quotes-in-heading-desc",
                "*": "These pages have an unclosed quote in a heading, which then leaks out of the table of contents."
            },
            {
                "name": "linter-category-wikilink-in-extlink",
                "normalizedname": "linter-category-wikilink-in-extlink",
                "*": "Links in links"
            },
            {
                "name": "linter-category-wikilink-in-extlink-desc",
                "normalizedname": "linter-category-wikilink-in-extlink-desc",
                "*": "These pages have wikilinks in external links that could be fixed"
            },
            {
                "name": "linter-desc",
                "normalizedname": "linter-desc",
                "*": "Track lint errors from an external service and show them to users"
            },
            {
                "name": "linter-form-exact-match",
                "normalizedname": "linter-form-exact-match",
                "*": "Search for a specific page title"
            },
            {
                "name": "linter-form-exact-or-prefix",
                "normalizedname": "linter-form-exact-or-prefix",
                "*": "Search for a specific page title, or all pages with a common title prefix"
            },
            {
                "name": "linter-form-namespace",
                "normalizedname": "linter-form-namespace",
                "*": "Namespace:"
            },
            {
                "name": "linter-form-prefix-match",
                "normalizedname": "linter-form-prefix-match",
                "*": "Search for all pages that match the title prefix"
            },
            {
                "name": "linter-form-tag",
                "normalizedname": "linter-form-tag",
                "*": "Filter by tag name"
            },
            {
                "name": "linter-form-tag-option-all",
                "normalizedname": "linter-form-tag-option-all",
                "*": "No filter"
            },
            {
                "name": "linter-form-template",
                "normalizedname": "linter-form-template",
                "*": "Filter by template state"
            },
            {
                "name": "linter-form-template-option-all",
                "normalizedname": "linter-form-template-option-all",
                "*": "No filter"
            },
            {
                "name": "linter-form-template-option-with",
                "normalizedname": "linter-form-template-option-with",
                "*": "With templates"
            },
            {
                "name": "linter-form-template-option-without",
                "normalizedname": "linter-form-template-option-without",
                "*": "Without templates"
            },
            {
                "name": "linter-form-title-prefix",
                "normalizedname": "linter-form-title-prefix",
                "*": "Please enter a title prefix or complete title:"
            },
            {
                "name": "linter-heading-high-priority",
                "normalizedname": "linter-heading-high-priority",
                "*": "High priority"
            },
            {
                "name": "linter-heading-low-priority",
                "normalizedname": "linter-heading-low-priority",
                "*": "Low priority"
            },
            {
                "name": "linter-heading-medium-priority",
                "normalizedname": "linter-heading-medium-priority",
                "*": "Medium priority"
            },
            {
                "name": "linter-invalid-title",
                "normalizedname": "linter-invalid-title",
                "*": "Namespace and/or pagename not found or malformed"
            },
            {
                "name": "linter-lints-prefix-search-page-desc",
                "normalizedname": "linter-lints-prefix-search-page-desc",
                "*": "Search for pages with lint errors by page title prefix or complete title"
            },
            {
                "name": "linter-namespace-invert-error",
                "normalizedname": "linter-namespace-invert-error",
                "*": "The \"Invert selection\" checkbox conflicts with the \"all\" namespace criteria."
            },
            {
                "name": "linter-namespace-mismatch",
                "normalizedname": "linter-namespace-mismatch",
                "*": "The namespace specified in the drop-down list does not match the namespace in the provided title text."
            },
            {
                "name": "linter-numerrors",
                "normalizedname": "linter-numerrors",
                "*": "($1 {{PLURAL:$1|error|errors}})"
            },
            {
                "name": "linter-page-edit",
                "normalizedname": "linter-page-edit",
                "*": "edit"
            },
            {
                "name": "linter-page-history",
                "normalizedname": "linter-page-history",
                "*": "history"
            },
            {
                "name": "linter-page-title-edit",
                "normalizedname": "linter-page-title-edit",
                "*": "$1 ($2)"
            },
            {
                "name": "linter-page-viewsource",
                "normalizedname": "linter-page-viewsource",
                "*": "view source"
            },
            {
                "name": "linter-pager-bogus-image-options-details",
                "normalizedname": "linter-pager-bogus-image-options-details",
                "*": "Bogus file option"
            },
            {
                "name": "linter-pager-category-header",
                "normalizedname": "linter-pager-category-header",
                "*": "Category"
            },
            {
                "name": "linter-pager-deletable-table-tag-details",
                "normalizedname": "linter-pager-deletable-table-tag-details",
                "*": "Table tag that should be deleted"
            },
            {
                "name": "linter-pager-details-header",
                "normalizedname": "linter-pager-details-header",
                "*": "Additional info"
            },
            {
                "name": "linter-pager-html5-misnesting-details",
                "normalizedname": "linter-pager-html5-misnesting-details",
                "*": "Misnesting (now broken)"
            },
            {
                "name": "linter-pager-large-tables-details",
                "normalizedname": "linter-pager-large-tables-details",
                "*": "Table that is large for mobile view"
            },
            {
                "name": "linter-pager-misc-tidy-replacement-issues-details",
                "normalizedname": "linter-pager-misc-tidy-replacement-issues-details",
                "*": "Miscellaneous markup errors"
            },
            {
                "name": "linter-pager-misnested-tag-details",
                "normalizedname": "linter-pager-misnested-tag-details",
                "*": "Misnested tag which should be properly nested"
            },
            {
                "name": "linter-pager-missing-end-tag-details",
                "normalizedname": "linter-pager-missing-end-tag-details",
                "*": "Missing end tag"
            },
            {
                "name": "linter-pager-missing-end-tag-in-heading-details",
                "normalizedname": "linter-pager-missing-end-tag-in-heading-details",
                "*": "Missing end tag in heading"
            },
            {
                "name": "linter-pager-multi-colon-escape-details",
                "normalizedname": "linter-pager-multi-colon-escape-details",
                "*": "Multi colon escape"
            },
            {
                "name": "linter-pager-multiline-html-table-in-list-details",
                "normalizedname": "linter-pager-multiline-html-table-in-list-details",
                "*": "Multiline HTML5 table inside a list"
            },
            {
                "name": "linter-pager-multiple-unclosed-formatting-tags-details",
                "normalizedname": "linter-pager-multiple-unclosed-formatting-tags-details",
                "*": "Multiple unclosed formatting tags on the page"
            },
            {
                "name": "linter-pager-obsolete-tag-details",
                "normalizedname": "linter-pager-obsolete-tag-details",
                "*": "Obsolete HTML tag"
            },
            {
                "name": "linter-pager-pwrap-bug-workaround-details",
                "normalizedname": "linter-pager-pwrap-bug-workaround-details",
                "*": "Paragraph wrapping bug workaround"
            },
            {
                "name": "linter-pager-self-closed-tag-details",
                "normalizedname": "linter-pager-self-closed-tag-details",
                "*": "Self-closed tag"
            },
            {
                "name": "linter-pager-stripped-tag-details",
                "normalizedname": "linter-pager-stripped-tag-details",
                "*": "Stripped tag"
            },
            {
                "name": "linter-pager-template-header",
                "normalizedname": "linter-pager-template-header",
                "*": "Through a template?"
            },
            {
                "name": "linter-pager-tidy-font-bug-details",
                "normalizedname": "linter-pager-tidy-font-bug-details",
                "*": "Font tag tries to change link color"
            },
            {
                "name": "linter-pager-tidy-whitespace-bug-details",
                "normalizedname": "linter-pager-tidy-whitespace-bug-details",
                "*": "Whitespace parsing bug"
            },
            {
                "name": "linter-pager-title-header",
                "normalizedname": "linter-pager-title-header",
                "*": "Page title"
            },
            {
                "name": "linter-pager-unclosed-quotes-in-heading-details",
                "normalizedname": "linter-pager-unclosed-quotes-in-heading-details",
                "*": "Unclosed quote which leaks out of the table of contents"
            },
            {
                "name": "linter-prefix-search-subpage",
                "normalizedname": "linter-prefix-search-subpage",
                "*": "Pages with lint errors matching title prefix or complete title: $1"
            },
            {
                "name": "linterror-big-tables",
                "normalizedname": "linterror-big-tables",
                "*": "Large tables that break display on mobile devices"
            },
            {
                "name": "linterror-bogus-image-options",
                "normalizedname": "linterror-bogus-image-options",
                "*": "Bogus file option"
            },
            {
                "name": "linterror-deletable-table-tag",
                "normalizedname": "linterror-deletable-table-tag",
                "*": "Table tag that should be deleted"
            },
            {
                "name": "linterror-html5-misnesting",
                "normalizedname": "linterror-html5-misnesting",
                "*": "Misnesting (now broken)"
            },
            {
                "name": "linterror-misc-tidy-replacement-issues",
                "normalizedname": "linterror-misc-tidy-replacement-issues",
                "*": "Miscellaneous markup errors"
            },
            {
                "name": "linterror-misnested-tag",
                "normalizedname": "linterror-misnested-tag",
                "*": "Misnested tag which should be properly nested"
            },
            {
                "name": "linterror-missing-end-tag",
                "normalizedname": "linterror-missing-end-tag",
                "*": "Missing end tag"
            },
            {
                "name": "linterror-multi-colon-escape",
                "normalizedname": "linterror-multi-colon-escape",
                "*": "Multi colon escape"
            },
            {
                "name": "linterror-multiline-html-table-in-list",
                "normalizedname": "linterror-multiline-html-table-in-list",
                "*": "Multiline HTML5 table inside a list"
            },
            {
                "name": "linterror-multiple-unclosed-formatting-tags",
                "normalizedname": "linterror-multiple-unclosed-formatting-tags",
                "*": "Multiple unclosed formatting tags on the page"
            },
            {
                "name": "linterror-obsolete-tag",
                "normalizedname": "linterror-obsolete-tag",
                "*": "Obsolete HTML tag"
            },
            {
                "name": "linterror-pwrap-bug-workaround",
                "normalizedname": "linterror-pwrap-bug-workaround",
                "*": "Paragraph wrapping bug workaround"
            },
            {
                "name": "linterror-self-closed-tag",
                "normalizedname": "linterror-self-closed-tag",
                "*": "Self-closed tag"
            },
            {
                "name": "linterror-stripped-tag",
                "normalizedname": "linterror-stripped-tag",
                "*": "Stripped tag"
            },
            {
                "name": "linterror-tidy-font-bug",
                "normalizedname": "linterror-tidy-font-bug",
                "*": "Font tag tries to change link color"
            },
            {
                "name": "linterror-tidy-whitespace-bug",
                "normalizedname": "linterror-tidy-whitespace-bug",
                "*": "Whitespace parsing bug"
            },
            {
                "name": "linterror-unclosed-quotes-in-heading",
                "normalizedname": "linterror-unclosed-quotes-in-heading",
                "*": "Unclosed quote which leaks out of the table of contents"
            },
            {
                "name": "linterrors",
                "normalizedname": "linterrors",
                "*": "Lint errors"
            },
            {
                "name": "linterrors-subpage",
                "normalizedname": "linterrors-subpage",
                "*": "Lint errors: $1"
            },
            {
                "name": "linterrors-summary",
                "normalizedname": "linterrors-summary",
                "*": "<strong>Note:</strong> The counts for categories are not accurate counts, but are based on estimates."
            },
            {
                "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-pager-submit",
                "normalizedname": "listfiles-pager-submit",
                "*": "Show file list"
            },
            {
                "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_size",
                "normalizedname": "listfiles_size",
                "*": "Size"
            },
            {
                "name": "listfiles_subpage",
                "normalizedname": "listfiles_subpage",
                "*": "Uploads by $1"
            },
            {
                "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": "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": "listusers-temporarygroupsonly",
                "normalizedname": "listusers-temporarygroupsonly",
                "*": "Show only users in temporary user groups"
            },
            {
                "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": "lockdown-desc",
                "normalizedname": "lockdown-desc",
                "*": "Per namespace group permissions"
            },
            {
                "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-conflict",
                "normalizedname": "lockmanager-fail-conflict",
                "*": "Could not acquire lock. Somebody else is doing something to this file."
            },
            {
                "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-abusefilter",
                "normalizedname": "log-action-filter-abusefilter",
                "*": "Type of filter change:"
            },
            {
                "name": "log-action-filter-abusefilter-create",
                "normalizedname": "log-action-filter-abusefilter-create",
                "*": "New filter creation"
            },
            {
                "name": "log-action-filter-abusefilter-modify",
                "normalizedname": "log-action-filter-abusefilter-modify",
                "*": "Filter modification"
            },
            {
                "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-delete_redir2",
                "normalizedname": "log-action-filter-delete-delete_redir2",
                "*": "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 email"
            },
            {
                "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-oath",
                "normalizedname": "log-action-filter-oath",
                "*": "Type of two-factor authentication operation:"
            },
            {
                "name": "log-action-filter-oath-disable-other",
                "normalizedname": "log-action-filter-oath-disable-other",
                "*": "Disabling two-factor authentication for another user"
            },
            {
                "name": "log-action-filter-oath-verify",
                "normalizedname": "log-action-filter-oath-verify",
                "*": "Checking if two-factor authentication is enabled"
            },
            {
                "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-blockautopromote",
                "normalizedname": "log-action-filter-rights-blockautopromote",
                "*": "Autopromote block"
            },
            {
                "name": "log-action-filter-rights-restoreautopromote",
                "normalizedname": "log-action-filter-rights-restoreautopromote",
                "*": "Autopromote restore"
            },
            {
                "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-abuselog",
                "normalizedname": "log-action-filter-suppress-abuselog",
                "*": "Abuse log 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-revert",
                "normalizedname": "log-action-filter-upload-revert",
                "*": "Revert"
            },
            {
                "name": "log-action-filter-upload-upload",
                "normalizedname": "log-action-filter-upload-upload",
                "*": "New upload"
            },
            {
                "name": "log-action-filter-usermerge",
                "normalizedname": "log-action-filter-usermerge",
                "*": "Type of action:"
            },
            {
                "name": "log-action-filter-usermerge-deleteuser",
                "normalizedname": "log-action-filter-usermerge-deleteuser",
                "*": "User account deletion"
            },
            {
                "name": "log-action-filter-usermerge-mergeuser",
                "normalizedname": "log-action-filter-usermerge-mergeuser",
                "*": "User account merge"
            },
            {
                "name": "log-description-abusefilterblockeddomainhit",
                "normalizedname": "log-description-abusefilterblockeddomainhit",
                "*": "These events track hits to blocked domains."
            },
            {
                "name": "log-description-abusefilterprivatedetails",
                "normalizedname": "log-description-abusefilterprivatedetails",
                "*": "This log shows a list of times when a user accessed the private details of an abuse log."
            },
            {
                "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-create",
                "normalizedname": "log-description-create",
                "*": "Below is a list of the most recent page creations."
            },
            {
                "name": "log-description-interwiki",
                "normalizedname": "log-description-interwiki",
                "*": "This is a log of changes to the [[Special:Interwiki|interwiki table]]."
            },
            {
                "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-renameuser",
                "normalizedname": "log-description-renameuser",
                "*": "This is a log of changes to usernames."
            },
            {
                "name": "log-description-smw",
                "normalizedname": "log-description-smw",
                "*": "Activities for [https://www.semantic-mediawiki.org/wiki/Help:Logging enabled event types] that have been reported by Semantic MediaWiki and its components."
            },
            {
                "name": "log-description-spamblacklist",
                "normalizedname": "log-description-spamblacklist",
                "*": "These events track spam block list hits."
            },
            {
                "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-description-thanks",
                "normalizedname": "log-description-thanks",
                "*": "Below is a list of users thanked by other users."
            },
            {
                "name": "log-description-titleblacklist",
                "normalizedname": "log-description-titleblacklist",
                "*": "These events track disallowed titles list hits."
            },
            {
                "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-abusefilterblockeddomainhit",
                "normalizedname": "log-name-abusefilterblockeddomainhit",
                "*": "Blocked domains hit log"
            },
            {
                "name": "log-name-contentmodel",
                "normalizedname": "log-name-contentmodel",
                "*": "Content model change log"
            },
            {
                "name": "log-name-create",
                "normalizedname": "log-name-create",
                "*": "Page creation log"
            },
            {
                "name": "log-name-interwiki",
                "normalizedname": "log-name-interwiki",
                "*": "Interwiki table 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-renameuser",
                "normalizedname": "log-name-renameuser",
                "*": "User rename log"
            },
            {
                "name": "log-name-smw",
                "normalizedname": "log-name-smw",
                "*": "Semantic MediaWiki log"
            },
            {
                "name": "log-name-spamblacklist",
                "normalizedname": "log-name-spamblacklist",
                "*": "Spam block list log"
            },
            {
                "name": "log-name-tag",
                "normalizedname": "log-name-tag",
                "*": "Tag log"
            },
            {
                "name": "log-name-thanks",
                "normalizedname": "log-name-thanks",
                "*": "Thanks log"
            },
            {
                "name": "log-name-titleblacklist",
                "normalizedname": "log-name-titleblacklist",
                "*": "Disallowed titles list log"
            },
            {
                "name": "log-show-hide-smw",
                "normalizedname": "log-show-hide-smw",
                "*": "$1 Semantic MediaWiki log"
            },
            {
                "name": "log-title-wildcard",
                "normalizedname": "log-title-wildcard",
                "*": "Search titles starting with this text"
            },
            {
                "name": "log-unknown-action",
                "normalizedname": "log-unknown-action",
                "*": "performed unknown action \"$2\" on [[$1]]"
            },
            {
                "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-abusefilter-hit",
                "normalizedname": "logentry-abusefilter-hit",
                "*": "$1 {{GENDER:$2|triggered}} $4, {{GENDER:$2|performing}} the action \"$5\" on $3. Actions taken: $6 ($7)"
            },
            {
                "name": "logentry-abusefilterblockeddomainhit-hit",
                "normalizedname": "logentry-abusefilterblockeddomainhit-hit",
                "*": "{{GENDER:$2|$1}} caused a blocked domain hit on $3 by attempting to add $4"
            },
            {
                "name": "logentry-abusefilterprivatedetails-access",
                "normalizedname": "logentry-abusefilterprivatedetails-access",
                "*": "$1 {{GENDER:$2|accessed}} private details for $3"
            },
            {
                "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-create-create",
                "normalizedname": "logentry-create-create",
                "*": "$1 {{GENDER:$2|created}} page $3"
            },
            {
                "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-delete_redir2",
                "normalizedname": "logentry-delete-delete_redir2",
                "*": "$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|undeleted}} page $3 ($4)"
            },
            {
                "name": "logentry-delete-restore-nocount",
                "normalizedname": "logentry-delete-restore-nocount",
                "*": "$1 {{GENDER:$2|undeleted}} 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-interwiki-interwiki",
                "normalizedname": "logentry-interwiki-interwiki",
                "*": ""
            },
            {
                "name": "logentry-interwiki-iw_add",
                "normalizedname": "logentry-interwiki-iw_add",
                "*": "$1 {{GENDER:$2|added}} prefix \"$4\" ($5) (trans: $6; local: $7) to the interwiki table"
            },
            {
                "name": "logentry-interwiki-iw_delete",
                "normalizedname": "logentry-interwiki-iw_delete",
                "*": "$1 {{GENDER:$2|removed}} prefix \"$4\" from the interwiki table"
            },
            {
                "name": "logentry-interwiki-iw_edit",
                "normalizedname": "logentry-interwiki-iw_edit",
                "*": "$1 {{GENDER:$2|modified}} prefix \"$4\" ($5) (trans: $6; local: $7) in the interwiki table"
            },
            {
                "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-non-editing-block-block",
                "normalizedname": "logentry-non-editing-block-block",
                "*": "$1 {{GENDER:$2|blocked}} {{GENDER:$4|$3}} from specified non-editing actions with an expiration time of $5 $6"
            },
            {
                "name": "logentry-non-editing-block-reblock",
                "normalizedname": "logentry-non-editing-block-reblock",
                "*": "$1 {{GENDER:$2|changed}} block settings for {{GENDER:$4|$3}} for specified non-editing actions with an expiration time of $5 $6"
            },
            {
                "name": "logentry-oath-disable-other",
                "normalizedname": "logentry-oath-disable-other",
                "*": "$1 {{GENDER:$2|disabled}} the two-factor authentication of $3"
            },
            {
                "name": "logentry-oath-verify",
                "normalizedname": "logentry-oath-verify",
                "*": "$1 {{GENDER:$2|checked}} if $3 had two-factor authentication enabled"
            },
            {
                "name": "logentry-pagelang-pagelang",
                "normalizedname": "logentry-pagelang-pagelang",
                "*": "$1 {{GENDER:$2|changed}} the language of $3 from $4 to $5"
            },
            {
                "name": "logentry-partialblock-block",
                "normalizedname": "logentry-partialblock-block",
                "*": "$1 {{GENDER:$2|blocked}} {{GENDER:$4|$3}} from $7 with an expiration time of $5 $6"
            },
            {
                "name": "logentry-partialblock-block-action",
                "normalizedname": "logentry-partialblock-block-action",
                "*": "the {{PLURAL:$1|action|actions}} $2"
            },
            {
                "name": "logentry-partialblock-block-ns",
                "normalizedname": "logentry-partialblock-block-ns",
                "*": "the {{PLURAL:$1|namespace|namespaces}} $2"
            },
            {
                "name": "logentry-partialblock-block-page",
                "normalizedname": "logentry-partialblock-block-page",
                "*": "the {{PLURAL:$1|page|pages}} $2"
            },
            {
                "name": "logentry-partialblock-reblock",
                "normalizedname": "logentry-partialblock-reblock",
                "*": "$1 {{GENDER:$2|changed}} block settings for {{GENDER:$4|$3}} blocking $7 with an expiration time of $5 $6"
            },
            {
                "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 settings for $3 $4"
            },
            {
                "name": "logentry-protect-modify-cascade",
                "normalizedname": "logentry-protect-modify-cascade",
                "*": "$1 {{GENDER:$2|changed}} protection settings 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-renameuser-renameuser",
                "normalizedname": "logentry-renameuser-renameuser",
                "*": "$1 {{GENDER:$2|renamed}} user $4 ({{PLURAL:$6|$6 edit|$6 edits}}) to {{GENDER:$7|$5}}"
            },
            {
                "name": "logentry-renameuser-renameuser-legacier",
                "normalizedname": "logentry-renameuser-renameuser-legacier",
                "*": "$1 {{GENDER:$2|renamed}} user $4 to {{GENDER:$7|$5}}"
            },
            {
                "name": "logentry-renameuser-renameuser-legaciest",
                "normalizedname": "logentry-renameuser-renameuser-legaciest",
                "*": "$1"
            },
            {
                "name": "logentry-rights-autopromote",
                "normalizedname": "logentry-rights-autopromote",
                "*": "$1 was automatically {{GENDER:$2|promoted}} from $4 to $5"
            },
            {
                "name": "logentry-rights-blockautopromote",
                "normalizedname": "logentry-rights-blockautopromote",
                "*": "$1 {{GENDER:$2|blocked}} the autopromotion of {{GENDER:$4|$3}} for a period of $5"
            },
            {
                "name": "logentry-rights-restoreautopromote",
                "normalizedname": "logentry-rights-restoreautopromote",
                "*": "$1 {{GENDER:$2|restored}} the autopromotion capability of {{GENDER:$4|$3}}"
            },
            {
                "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-smw-maintenance",
                "normalizedname": "logentry-smw-maintenance",
                "*": "Maintenance related events emitted by Semantic MediaWiki"
            },
            {
                "name": "logentry-spamblacklist-hit",
                "normalizedname": "logentry-spamblacklist-hit",
                "*": "{{GENDER:$2|$1}} caused a spam block list hit on $3 by attempting to add $4."
            },
            {
                "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-thanks-thank",
                "normalizedname": "logentry-thanks-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$4|$3}}"
            },
            {
                "name": "logentry-titleblacklist-hit-username",
                "normalizedname": "logentry-titleblacklist-hit-username",
                "*": "$1 {{GENDER:$2|caused}} a disallowed titles list hit when trying to create account $3 matching $4."
            },
            {
                "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|reverted}} $3 to an old version"
            },
            {
                "name": "logentry-upload-upload",
                "normalizedname": "logentry-upload-upload",
                "*": "$1 {{GENDER:$2|uploaded}} $3"
            },
            {
                "name": "logentry-usermerge-deleteuser",
                "normalizedname": "logentry-usermerge-deleteuser",
                "*": "$1 {{GENDER:$2|deleted}} the user account \"$4\" ($5)"
            },
            {
                "name": "logentry-usermerge-mergeuser",
                "normalizedname": "logentry-usermerge-mergeuser",
                "*": "$1 {{GENDER:$2|merged}} the user account \"$4\" ($5) into {{GENDER:$8|$6}} ($7)"
            },
            {
                "name": "logeventslist-more-filters",
                "normalizedname": "logeventslist-more-filters",
                "*": "Show additional logs:"
            },
            {
                "name": "logeventslist-newusers-log",
                "normalizedname": "logeventslist-newusers-log",
                "*": "User creation log"
            },
            {
                "name": "logeventslist-patrol-log",
                "normalizedname": "logeventslist-patrol-log",
                "*": "Patrol log"
            },
            {
                "name": "logeventslist-smw-log",
                "normalizedname": "logeventslist-smw-log",
                "*": "Semantic MediaWiki log"
            },
            {
                "name": "logeventslist-submit",
                "normalizedname": "logeventslist-submit",
                "*": "Show"
            },
            {
                "name": "logeventslist-tag-log",
                "normalizedname": "logeventslist-tag-log",
                "*": "Tag log"
            },
            {
                "name": "logeventslist-thanks-log",
                "normalizedname": "logeventslist-thanks-log",
                "*": "Thanks log"
            },
            {
                "name": "logging-out-notify",
                "normalizedname": "logging-out-notify",
                "*": "You are being logged out, please wait."
            },
            {
                "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": "loginnotify-desc",
                "normalizedname": "loginnotify-desc",
                "*": "Notify users about suspicious logins from unfamiliar devices and/or IP addresses"
            },
            {
                "name": "loginnotify-primary-link",
                "normalizedname": "loginnotify-primary-link",
                "*": "Help"
            },
            {
                "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": "logout-failed",
                "normalizedname": "logout-failed",
                "*": "Cannot log out now: $1"
            },
            {
                "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 published."
            },
            {
                "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": "mainpage-title",
                "normalizedname": "mainpage-title",
                "*": "-"
            },
            {
                "name": "mainpage-title-loggedin",
                "normalizedname": "mainpage-title-loggedin",
                "*": "-"
            },
            {
                "name": "mar",
                "normalizedname": "mar",
                "*": "Mar"
            },
            {
                "name": "march",
                "normalizedname": "march",
                "*": "March"
            },
            {
                "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": "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": "math-desc",
                "normalizedname": "math-desc",
                "*": "Render mathematical formulas between <code>&lt;math&gt;</code> ... <code>&lt;/math&gt;</code> tags"
            },
            {
                "name": "math-status-introduction",
                "normalizedname": "math-status-introduction",
                "*": "This page displays information about the enabled math rendering {{PLURAL:$1|mode|modes}}.\n\nThe following rendering {{PLURAL:$1|mode is|modes are}} enabled:"
            },
            {
                "name": "math-test-contains-diff",
                "normalizedname": "math-test-contains-diff",
                "*": "Returned string $1 does not contain expected string $2."
            },
            {
                "name": "math-test-end",
                "normalizedname": "math-test-end",
                "*": "Backend tests for rendering mode ''$1'' completed."
            },
            {
                "name": "math-test-equals-diff",
                "normalizedname": "math-test-equals-diff",
                "*": "Returned string $1 is different from expected string $2."
            },
            {
                "name": "math-test-fail",
                "normalizedname": "math-test-fail",
                "*": "Test ''$1'' <span style=\"color:red\">failed</span>."
            },
            {
                "name": "math-test-start",
                "normalizedname": "math-test-start",
                "*": "Running backend tests for rendering mode ''$1''."
            },
            {
                "name": "math-test-success",
                "normalizedname": "math-test-success",
                "*": "Test ''$1'' <span style=\"color:green\">succeeded</span>."
            },
            {
                "name": "math-tracking-category-error",
                "normalizedname": "math-tracking-category-error",
                "*": "Pages with math errors"
            },
            {
                "name": "math-tracking-category-error-desc",
                "normalizedname": "math-tracking-category-error-desc",
                "*": "Pages in this category have errors in the usage of math tags."
            },
            {
                "name": "math-tracking-category-mhchem-deprecation",
                "normalizedname": "math-tracking-category-mhchem-deprecation",
                "*": "Pages that use a deprecated format of the chem tags"
            },
            {
                "name": "math-tracking-category-mhchem-deprecation-desc",
                "normalizedname": "math-tracking-category-mhchem-deprecation-desc",
                "*": "Pages in this category use a deprecated format of the chem tags"
            },
            {
                "name": "math-tracking-category-render-error",
                "normalizedname": "math-tracking-category-render-error",
                "*": "Pages with math render errors"
            },
            {
                "name": "math-tracking-category-render-error-desc",
                "normalizedname": "math-tracking-category-render-error-desc",
                "*": "Pages in this category have rendering errors in the math tags."
            },
            {
                "name": "math-tracking-category-texvc-deprecation",
                "normalizedname": "math-tracking-category-texvc-deprecation",
                "*": "Pages that use a deprecated format of the math tags"
            },
            {
                "name": "math-tracking-category-texvc-deprecation-desc",
                "normalizedname": "math-tracking-category-texvc-deprecation-desc",
                "*": "Pages in this category use a deprecated format of the math tags"
            },
            {
                "name": "math-visualeditor-mwchemdialog-title",
                "normalizedname": "math-visualeditor-mwchemdialog-title",
                "*": "Chemical formula"
            },
            {
                "name": "math-visualeditor-mwcheminspector-title",
                "normalizedname": "math-visualeditor-mwcheminspector-title",
                "*": "Chemical formula"
            },
            {
                "name": "math-visualeditor-mwlatexcontextitem-quickedit",
                "normalizedname": "math-visualeditor-mwlatexcontextitem-quickedit",
                "*": "Quick edit"
            },
            {
                "name": "math-visualeditor-mwlatexdialog-card-formula",
                "normalizedname": "math-visualeditor-mwlatexdialog-card-formula",
                "*": "Formula"
            },
            {
                "name": "math-visualeditor-mwlatexdialog-card-options",
                "normalizedname": "math-visualeditor-mwlatexdialog-card-options",
                "*": "Options"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-display",
                "normalizedname": "math-visualeditor-mwlatexinspector-display",
                "*": "Display"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-display-block",
                "normalizedname": "math-visualeditor-mwlatexinspector-display-block",
                "*": "Block"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-display-default",
                "normalizedname": "math-visualeditor-mwlatexinspector-display-default",
                "*": "Default"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-display-inline",
                "normalizedname": "math-visualeditor-mwlatexinspector-display-inline",
                "*": "Inline"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-id",
                "normalizedname": "math-visualeditor-mwlatexinspector-id",
                "*": "Link ID (optional)"
            },
            {
                "name": "math-visualeditor-mwlatexinspector-qid",
                "normalizedname": "math-visualeditor-mwlatexinspector-qid",
                "*": "Wikibase ID (with Q prefix)"
            },
            {
                "name": "math-visualeditor-mwmathdialog-title",
                "normalizedname": "math-visualeditor-mwmathdialog-title",
                "*": "Math formula"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-addition",
                "normalizedname": "math-visualeditor-symbol-group-chem-addition",
                "*": "Addition compounds"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-aggregation",
                "normalizedname": "math-visualeditor-symbol-group-chem-aggregation",
                "*": "States of aggregation"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-arrows",
                "normalizedname": "math-visualeditor-symbol-group-chem-arrows",
                "*": "Reaction arrows"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-brackets",
                "normalizedname": "math-visualeditor-symbol-group-chem-brackets",
                "*": "Parenthesis, brackets & braces"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-charges",
                "normalizedname": "math-visualeditor-symbol-group-chem-charges",
                "*": "Charges"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-dots",
                "normalizedname": "math-visualeditor-symbol-group-chem-dots",
                "*": "Unpaired electrons & radical dots"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-equations",
                "normalizedname": "math-visualeditor-symbol-group-chem-equations",
                "*": "Chemical equations"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-formulae",
                "normalizedname": "math-visualeditor-symbol-group-chem-formulae",
                "*": "Chemical formulae"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-greek",
                "normalizedname": "math-visualeditor-symbol-group-chem-greek",
                "*": "Greek characters"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-isotopes",
                "normalizedname": "math-visualeditor-symbol-group-chem-isotopes",
                "*": "Isotopes"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-operators",
                "normalizedname": "math-visualeditor-symbol-group-chem-operators",
                "*": "Equation operators"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-oxidation",
                "normalizedname": "math-visualeditor-symbol-group-chem-oxidation",
                "*": "Oxidation states"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-precipitate",
                "normalizedname": "math-visualeditor-symbol-group-chem-precipitate",
                "*": "Precipitate and gas"
            },
            {
                "name": "math-visualeditor-symbol-group-chem-stoichiometric",
                "normalizedname": "math-visualeditor-symbol-group-chem-stoichiometric",
                "*": "Stoichiometric numbers"
            },
            {
                "name": "math-visualeditor-symbol-group-math-accents",
                "normalizedname": "math-visualeditor-symbol-group-math-accents",
                "*": "Accents and diacritics"
            },
            {
                "name": "math-visualeditor-symbol-group-math-arrows",
                "normalizedname": "math-visualeditor-symbol-group-math-arrows",
                "*": "Arrows"
            },
            {
                "name": "math-visualeditor-symbol-group-math-bounds",
                "normalizedname": "math-visualeditor-symbol-group-math-bounds",
                "*": "Bounds"
            },
            {
                "name": "math-visualeditor-symbol-group-math-derivatives",
                "normalizedname": "math-visualeditor-symbol-group-math-derivatives",
                "*": "Differentials and derivatives"
            },
            {
                "name": "math-visualeditor-symbol-group-math-functions",
                "normalizedname": "math-visualeditor-symbol-group-math-functions",
                "*": "Standard numerical functions"
            },
            {
                "name": "math-visualeditor-symbol-group-math-geometry",
                "normalizedname": "math-visualeditor-symbol-group-math-geometry",
                "*": "Geometric"
            },
            {
                "name": "math-visualeditor-symbol-group-math-greek",
                "normalizedname": "math-visualeditor-symbol-group-math-greek",
                "*": "Greek alphabet"
            },
            {
                "name": "math-visualeditor-symbol-group-math-hebrew",
                "normalizedname": "math-visualeditor-symbol-group-math-hebrew",
                "*": "Hebrew alphabet"
            },
            {
                "name": "math-visualeditor-symbol-group-math-large",
                "normalizedname": "math-visualeditor-symbol-group-math-large",
                "*": "Large layouts"
            },
            {
                "name": "math-visualeditor-symbol-group-math-logic",
                "normalizedname": "math-visualeditor-symbol-group-math-logic",
                "*": "Logic"
            },
            {
                "name": "math-visualeditor-symbol-group-math-matrices",
                "normalizedname": "math-visualeditor-symbol-group-math-matrices",
                "*": "Matrices"
            },
            {
                "name": "math-visualeditor-symbol-group-math-modular",
                "normalizedname": "math-visualeditor-symbol-group-math-modular",
                "*": "Modular arithmetic"
            },
            {
                "name": "math-visualeditor-symbol-group-math-operators",
                "normalizedname": "math-visualeditor-symbol-group-math-operators",
                "*": "Operators"
            },
            {
                "name": "math-visualeditor-symbol-group-math-parentheses",
                "normalizedname": "math-visualeditor-symbol-group-math-parentheses",
                "*": "Parentheses"
            },
            {
                "name": "math-visualeditor-symbol-group-math-projections",
                "normalizedname": "math-visualeditor-symbol-group-math-projections",
                "*": "Projections"
            },
            {
                "name": "math-visualeditor-symbol-group-math-relations",
                "normalizedname": "math-visualeditor-symbol-group-math-relations",
                "*": "Relations"
            },
            {
                "name": "math-visualeditor-symbol-group-math-root",
                "normalizedname": "math-visualeditor-symbol-group-math-root",
                "*": "Radicals"
            },
            {
                "name": "math-visualeditor-symbol-group-math-sets",
                "normalizedname": "math-visualeditor-symbol-group-math-sets",
                "*": "Sets"
            },
            {
                "name": "math-visualeditor-symbol-group-math-spacing",
                "normalizedname": "math-visualeditor-symbol-group-math-spacing",
                "*": "Spacing"
            },
            {
                "name": "math-visualeditor-symbol-group-math-special",
                "normalizedname": "math-visualeditor-symbol-group-math-special",
                "*": "Special"
            },
            {
                "name": "math-visualeditor-symbol-group-math-subscripts",
                "normalizedname": "math-visualeditor-symbol-group-math-subscripts",
                "*": "Subscripts, superscripts and integrals"
            },
            {
                "name": "math-visualeditor-symbol-group-math-symbols",
                "normalizedname": "math-visualeditor-symbol-group-math-symbols",
                "*": "Symbols and constants"
            },
            {
                "name": "math-visualeditor-symbol-group-math-typefaces",
                "normalizedname": "math-visualeditor-symbol-group-math-typefaces",
                "*": "Typefaces"
            },
            {
                "name": "math-visualeditor-symbol-group-math-unsorted",
                "normalizedname": "math-visualeditor-symbol-group-math-unsorted",
                "*": "Unsorted"
            },
            {
                "name": "math-wikibase-formula",
                "normalizedname": "math-wikibase-formula",
                "*": "Formula"
            },
            {
                "name": "math-wikibase-formula-description",
                "normalizedname": "math-wikibase-formula-description",
                "*": "Description"
            },
            {
                "name": "math-wikibase-formula-elements-header",
                "normalizedname": "math-wikibase-formula-elements-header",
                "*": "Elements of the Formula"
            },
            {
                "name": "math-wikibase-formula-header-format",
                "normalizedname": "math-wikibase-formula-header-format",
                "*": "'''$1:''' $2"
            },
            {
                "name": "math-wikibase-formula-information",
                "normalizedname": "math-wikibase-formula-information",
                "*": "Math Formula Information"
            },
            {
                "name": "math-wikibase-formula-link-header",
                "normalizedname": "math-wikibase-formula-link-header",
                "*": "Data Source"
            },
            {
                "name": "math-wikibase-formula-name",
                "normalizedname": "math-wikibase-formula-name",
                "*": "Name"
            },
            {
                "name": "math-wikibase-formula-type",
                "normalizedname": "math-wikibase-formula-type",
                "*": "Type"
            },
            {
                "name": "math-wikibase-header",
                "normalizedname": "math-wikibase-header",
                "*": "Information of Mathematical Items"
            },
            {
                "name": "math-wikibase-special-error-header",
                "normalizedname": "math-wikibase-special-error-header",
                "*": "Error"
            },
            {
                "name": "math-wikibase-special-error-invalid-argument",
                "normalizedname": "math-wikibase-special-error-invalid-argument",
                "*": "Your specified Wikibase item ID does not exist."
            },
            {
                "name": "math-wikibase-special-error-no-wikibase",
                "normalizedname": "math-wikibase-special-error-no-wikibase",
                "*": "The Wikibase extension is required in order to use this special page."
            },
            {
                "name": "math-wikibase-special-error-unknown",
                "normalizedname": "math-wikibase-special-error-unknown",
                "*": "An unknown error occurred while fetching data from Wikibase."
            },
            {
                "name": "math-wikibase-special-form-button",
                "normalizedname": "math-wikibase-special-form-button",
                "*": "Request Information"
            },
            {
                "name": "math-wikibase-special-form-header",
                "normalizedname": "math-wikibase-special-form-header",
                "*": "Specify the name of the formula:"
            },
            {
                "name": "math-wikibase-special-form-placeholder",
                "normalizedname": "math-wikibase-special-form-placeholder",
                "*": "Title of the formula"
            },
            {
                "name": "math_failure",
                "normalizedname": "math_failure",
                "*": "Failed to parse"
            },
            {
                "name": "math_invalidjson",
                "normalizedname": "math_invalidjson",
                "*": "$1 server response is invalid JSON."
            },
            {
                "name": "math_invalidresponse",
                "normalizedname": "math_invalidresponse",
                "*": "$1: Invalid response (\"$3\") from server \"$2\":"
            },
            {
                "name": "math_invalidxml",
                "normalizedname": "math_invalidxml",
                "*": "MathML or SVG is invalid XML."
            },
            {
                "name": "math_mathoid_error",
                "normalizedname": "math_mathoid_error",
                "*": "Conversion error. Server (\"$1\") reported: \"$2\""
            },
            {
                "name": "math_syntax_error",
                "normalizedname": "math_syntax_error",
                "*": "syntax error"
            },
            {
                "name": "math_timeout",
                "normalizedname": "math_timeout",
                "*": "$1 timeout from \"$2\"."
            },
            {
                "name": "math_unknown_error",
                "normalizedname": "math_unknown_error",
                "*": "unknown error"
            },
            {
                "name": "math_unknown_function",
                "normalizedname": "math_unknown_function",
                "*": "unknown function \"$1\""
            },
            {
                "name": "mathstatus",
                "normalizedname": "mathstatus",
                "*": "Math status"
            },
            {
                "name": "mathwikibase",
                "normalizedname": "mathwikibase",
                "*": "Math Formula Information"
            },
            {
                "name": "maximum-size",
                "normalizedname": "maximum-size",
                "*": "Max size:"
            },
            {
                "name": "may",
                "normalizedname": "may",
                "*": "May"
            },
            {
                "name": "may-gen",
                "normalizedname": "may-gen",
                "*": "May"
            },
            {
                "name": "may_long",
                "normalizedname": "may_long",
                "*": "May"
            },
            {
                "name": "mcrundo-changed",
                "normalizedname": "mcrundo-changed",
                "*": "The page has been changed since you viewed the diff. Please review the new change."
            },
            {
                "name": "mcrundo-missingparam",
                "normalizedname": "mcrundo-missingparam",
                "*": "Missing required parameters on request."
            },
            {
                "name": "mcrundo-parse-failed",
                "normalizedname": "mcrundo-parse-failed",
                "*": "Failed to parse the new revision: $1"
            },
            {
                "name": "mcrundofailed",
                "normalizedname": "mcrundofailed",
                "*": "Undo failed"
            },
            {
                "name": "mediastatistics",
                "normalizedname": "mediastatistics",
                "*": "Media statistics"
            },
            {
                "name": "mediastatistics-allbytes",
                "normalizedname": "mediastatistics-allbytes",
                "*": "Total file size for all {{PLURAL:$3|$3 file|$3 files}}: {{PLURAL:$1|$1 byte|$1 bytes}} ($2)."
            },
            {
                "name": "mediastatistics-bytespertype",
                "normalizedname": "mediastatistics-bytespertype",
                "*": "Total file size for this section of {{PLURAL:$4|$4 file|$4 files}} ($5%): {{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",
                "*": "$4 {{PLURAL:$4|revision|revisions}} of $1 {{PLURAL:$4|was|were}} merged into [[:$2]].\n$3"
            },
            {
                "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 clear the reason field."
            },
            {
                "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 $7"
            },
            {
                "name": "mergehistory-same-destination",
                "normalizedname": "mergehistory-same-destination",
                "*": "Source and destination pages cannot be the same"
            },
            {
                "name": "mergehistory-source-deleted",
                "normalizedname": "mergehistory-source-deleted",
                "*": "Additionally, [[:$1]] has been deleted because it no longer has any visible revisions and its content model does not support leaving redirects."
            },
            {
                "name": "mergehistory-source-deleted-reason",
                "normalizedname": "mergehistory-source-deleted-reason",
                "*": "Source page automatically deleted after history merge because its content model does not support redirects and no remaining revisions"
            },
            {
                "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 the 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\n* dc-rights\n* copyrightowner\n* usageterms\n* webstatement\n* licenseurl\n* attributionurl\n* preferredattributionname\n* credit\n* jpegfilecomment\n* pngfilecomment\n* giffilecomment\n* usercomment\n* citydest\n* citycreated\n* headline\n* source\n* locationdest\n* dc-contributor\n* dc-coverage\n* dc-publisher\n* dc-relation\n* label\n* nickname\n* personinimage\n* disclaimer\n* event\n* objectname"
            },
            {
                "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": "minerva-talk-full-page",
                "normalizedname": "minerva-talk-full-page",
                "*": "Read as wiki page"
            },
            {
                "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": "missing-revision-content",
                "normalizedname": "missing-revision-content",
                "*": "The content of revision #$1 of the page named \"$2\" could not be loaded."
            },
            {
                "name": "missing-revision-permission",
                "normalizedname": "missing-revision-permission",
                "*": "The revision #$1 belongs to a deleted page. You can [{{fullurl:{{#Special:Undelete}}|target=$3&timestamp=$2&diff=prev}} view it]; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page=$3}} 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 published without one."
            },
            {
                "name": "missingcommenttext",
                "normalizedname": "missingcommenttext",
                "*": "Please enter a comment."
            },
            {
                "name": "missingredirectannotations",
                "normalizedname": "missingredirectannotations",
                "*": "Missing redirect annotations"
            },
            {
                "name": "missingsummary",
                "normalizedname": "missingsummary",
                "*": "<strong>Reminder:</strong> You have not provided an edit summary.\nIf you click \"$1\" again, your edit will be published without one."
            },
            {
                "name": "modeleditnotsupported-text",
                "normalizedname": "modeleditnotsupported-text",
                "*": "Editing is not supported for content model $1."
            },
            {
                "name": "modeleditnotsupported-title",
                "normalizedname": "modeleditnotsupported-title",
                "*": "Editing not supported"
            },
            {
                "name": "modifiedarticleprotection",
                "normalizedname": "modifiedarticleprotection",
                "*": "changed protection settings for \"[[$1]]\""
            },
            {
                "name": "modifiedarticleprotection-comment",
                "normalizedname": "modifiedarticleprotection-comment",
                "*": "{{GENDER:$2|Changed}} protection settings for \"[[$1]]\""
            },
            {
                "name": "mon",
                "normalizedname": "mon",
                "*": "Mon"
            },
            {
                "name": "monday",
                "normalizedname": "monday",
                "*": "Monday"
            },
            {
                "name": "monday-at",
                "normalizedname": "monday-at",
                "*": "Monday at $1"
            },
            {
                "name": "monobook-action-addsection",
                "normalizedname": "monobook-action-addsection",
                "*": "+"
            },
            {
                "name": "monobook-action-undelete",
                "normalizedname": "monobook-action-undelete",
                "*": "Undelete {{PLURAL:$1|one edit|$1 edits}}"
            },
            {
                "name": "monobook-cactions-label",
                "normalizedname": "monobook-cactions-label",
                "*": "Page actions"
            },
            {
                "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-jumptonavigation",
                "normalizedname": "monobook-jumptonavigation",
                "*": "Jump to navigation"
            },
            {
                "name": "monobook-jumptopersonal",
                "normalizedname": "monobook-jumptopersonal",
                "*": "user tools"
            },
            {
                "name": "monobook-jumptosearch",
                "normalizedname": "monobook-jumptosearch",
                "*": "Jump to search"
            },
            {
                "name": "monobook-jumptotop",
                "normalizedname": "monobook-jumptotop",
                "*": "back to top"
            },
            {
                "name": "monobook-more-actions",
                "normalizedname": "monobook-more-actions",
                "*": "More"
            },
            {
                "name": "monobook-notifications-link",
                "normalizedname": "monobook-notifications-link",
                "*": "Notifications ($1)"
            },
            {
                "name": "monobook-notifications-link-none",
                "normalizedname": "monobook-notifications-link-none",
                "*": "Notifications"
            },
            {
                "name": "monobook-view-history",
                "normalizedname": "monobook-view-history",
                "*": "History"
            },
            {
                "name": "monobook.css",
                "normalizedname": "monobook.css",
                "*": "/* All CSS here will be loaded for users of the MonoBook skin */"
            },
            {
                "name": "monobook.js",
                "normalizedname": "monobook.js",
                "*": "/* All JavaScript here will be loaded for users of 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-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 does not exist.\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": "moveotherreason",
                "normalizedname": "moveotherreason",
                "*": "Other/additional reason:"
            },
            {
                "name": "movepage-delete-first",
                "normalizedname": "movepage-delete-first",
                "*": "The target page has too many revisions to delete as part of a page move. Please first delete the page manually, then try again."
            },
            {
                "name": "movepage-edit-reasonlist",
                "normalizedname": "movepage-edit-reasonlist",
                "*": "Edit move reasons"
            },
            {
                "name": "movepage-invalid-target-title",
                "normalizedname": "movepage-invalid-target-title",
                "*": "The requested name is invalid."
            },
            {
                "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-reason-dropdown",
                "normalizedname": "movepage-reason-dropdown",
                "*": "* Common move reasons\n** Misspelled title"
            },
            {
                "name": "movepage-source-doesnt-exist",
                "normalizedname": "movepage-source-doesnt-exist",
                "*": "The page $1 doesn't exist and cannot be moved."
            },
            {
                "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": "movepagetext-noredirectsupport",
                "normalizedname": "movepagetext-noredirectsupport",
                "*": "Using the form below will rename a page, moving all of its history to the new name.\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.\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": "movereasonotherlist",
                "normalizedname": "movereasonotherlist",
                "*": "Other 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": "multi-part-template-block",
                "normalizedname": "multi-part-template-block",
                "*": "Output not from a single template"
            },
            {
                "name": "multimediaviewer-about-mmv",
                "normalizedname": "multimediaviewer-about-mmv",
                "*": "About Media Viewer"
            },
            {
                "name": "multimediaviewer-attr-html",
                "normalizedname": "multimediaviewer-attr-html",
                "*": "HTML"
            },
            {
                "name": "multimediaviewer-attr-plain",
                "normalizedname": "multimediaviewer-attr-plain",
                "*": "Plain"
            },
            {
                "name": "multimediaviewer-close-popup-text",
                "normalizedname": "multimediaviewer-close-popup-text",
                "*": "Close this tool (Esc)"
            },
            {
                "name": "multimediaviewer-commons-subtitle",
                "normalizedname": "multimediaviewer-commons-subtitle",
                "*": "The free media repository"
            },
            {
                "name": "multimediaviewer-credit",
                "normalizedname": "multimediaviewer-credit",
                "*": "$1 - $2"
            },
            {
                "name": "multimediaviewer-credit-fallback",
                "normalizedname": "multimediaviewer-credit-fallback",
                "*": "View author information"
            },
            {
                "name": "multimediaviewer-credit-popup-text",
                "normalizedname": "multimediaviewer-credit-popup-text",
                "*": "Author and source information"
            },
            {
                "name": "multimediaviewer-credit-popup-text-more",
                "normalizedname": "multimediaviewer-credit-popup-text-more",
                "*": "View full author and source"
            },
            {
                "name": "multimediaviewer-datetime-created",
                "normalizedname": "multimediaviewer-datetime-created",
                "*": "Created: $1"
            },
            {
                "name": "multimediaviewer-datetime-uploaded",
                "normalizedname": "multimediaviewer-datetime-uploaded",
                "*": "Uploaded: $1"
            },
            {
                "name": "multimediaviewer-default-embed-dimensions",
                "normalizedname": "multimediaviewer-default-embed-dimensions",
                "*": "Default thumbnail size"
            },
            {
                "name": "multimediaviewer-defullscreen-popup-text",
                "normalizedname": "multimediaviewer-defullscreen-popup-text",
                "*": "Exit full screen"
            },
            {
                "name": "multimediaviewer-desc",
                "normalizedname": "multimediaviewer-desc",
                "*": "Expand thumbnails in a larger size in a fullscreen interface"
            },
            {
                "name": "multimediaviewer-description-page-button-text",
                "normalizedname": "multimediaviewer-description-page-button-text",
                "*": "More details about this file"
            },
            {
                "name": "multimediaviewer-description-page-popup-text",
                "normalizedname": "multimediaviewer-description-page-popup-text",
                "*": "More details about this file on $1"
            },
            {
                "name": "multimediaviewer-disable-confirmation-header",
                "normalizedname": "multimediaviewer-disable-confirmation-header",
                "*": "You have disabled Media Viewer"
            },
            {
                "name": "multimediaviewer-disable-confirmation-text",
                "normalizedname": "multimediaviewer-disable-confirmation-text",
                "*": "Next time you click on a thumbnail on $1, you will directly view all file details."
            },
            {
                "name": "multimediaviewer-disable-info",
                "normalizedname": "multimediaviewer-disable-info",
                "*": "You can still view individual files with Media Viewer."
            },
            {
                "name": "multimediaviewer-disable-info-title",
                "normalizedname": "multimediaviewer-disable-info-title",
                "*": "You have disabled Media Viewer"
            },
            {
                "name": "multimediaviewer-download-attribution-copy",
                "normalizedname": "multimediaviewer-download-attribution-copy",
                "*": "Select and copy (if supported) the attribution text for this file"
            },
            {
                "name": "multimediaviewer-download-attribution-cta",
                "normalizedname": "multimediaviewer-download-attribution-cta",
                "*": "Show me how"
            },
            {
                "name": "multimediaviewer-download-attribution-cta-header",
                "normalizedname": "multimediaviewer-download-attribution-cta-header",
                "*": "You need to attribute the author"
            },
            {
                "name": "multimediaviewer-download-large-button-name",
                "normalizedname": "multimediaviewer-download-large-button-name",
                "*": "Download large size"
            },
            {
                "name": "multimediaviewer-download-link",
                "normalizedname": "multimediaviewer-download-link",
                "*": "Download this file"
            },
            {
                "name": "multimediaviewer-download-medium-button-name",
                "normalizedname": "multimediaviewer-download-medium-button-name",
                "*": "Download medium size"
            },
            {
                "name": "multimediaviewer-download-optional-attribution-cta-header",
                "normalizedname": "multimediaviewer-download-optional-attribution-cta-header",
                "*": "You can attribute the author"
            },
            {
                "name": "multimediaviewer-download-original-button-name",
                "normalizedname": "multimediaviewer-download-original-button-name",
                "*": "Download original file"
            },
            {
                "name": "multimediaviewer-download-preview-link-title",
                "normalizedname": "multimediaviewer-download-preview-link-title",
                "*": "View in browser"
            },
            {
                "name": "multimediaviewer-download-small-button-name",
                "normalizedname": "multimediaviewer-download-small-button-name",
                "*": "Download small size"
            },
            {
                "name": "multimediaviewer-download-xl-button-name",
                "normalizedname": "multimediaviewer-download-xl-button-name",
                "*": "Download extra large size"
            },
            {
                "name": "multimediaviewer-embed-byline",
                "normalizedname": "multimediaviewer-embed-byline",
                "*": "By $1"
            },
            {
                "name": "multimediaviewer-embed-dimensions",
                "normalizedname": "multimediaviewer-embed-dimensions",
                "*": "$1 \u00d7 $2 px"
            },
            {
                "name": "multimediaviewer-embed-dimensions-separated",
                "normalizedname": "multimediaviewer-embed-dimensions-separated",
                "*": "- $1"
            },
            {
                "name": "multimediaviewer-embed-dimensions-with-file-format",
                "normalizedname": "multimediaviewer-embed-dimensions-with-file-format",
                "*": "$1 $2"
            },
            {
                "name": "multimediaviewer-embed-explanation",
                "normalizedname": "multimediaviewer-embed-explanation",
                "*": "Use this code to embed the file"
            },
            {
                "name": "multimediaviewer-embed-html",
                "normalizedname": "multimediaviewer-embed-html",
                "*": "HTML"
            },
            {
                "name": "multimediaviewer-embed-license",
                "normalizedname": "multimediaviewer-embed-license",
                "*": "Licensed under $1."
            },
            {
                "name": "multimediaviewer-embed-license-nonfree",
                "normalizedname": "multimediaviewer-embed-license-nonfree",
                "*": "$1."
            },
            {
                "name": "multimediaviewer-embed-tab",
                "normalizedname": "multimediaviewer-embed-tab",
                "*": "Embed"
            },
            {
                "name": "multimediaviewer-embed-via",
                "normalizedname": "multimediaviewer-embed-via",
                "*": "Via $1."
            },
            {
                "name": "multimediaviewer-embed-wt",
                "normalizedname": "multimediaviewer-embed-wt",
                "*": "Wikitext"
            },
            {
                "name": "multimediaviewer-enable-alert",
                "normalizedname": "multimediaviewer-enable-alert",
                "*": "Media Viewer is now disabled"
            },
            {
                "name": "multimediaviewer-enable-confirmation-header",
                "normalizedname": "multimediaviewer-enable-confirmation-header",
                "*": "You have enabled Media Viewer for all files"
            },
            {
                "name": "multimediaviewer-enable-confirmation-text",
                "normalizedname": "multimediaviewer-enable-confirmation-text",
                "*": "Next time you click on a thumbnail on $1, Media Viewer will be used."
            },
            {
                "name": "multimediaviewer-enable-dialog-header",
                "normalizedname": "multimediaviewer-enable-dialog-header",
                "*": "Enable Media Viewer?"
            },
            {
                "name": "multimediaviewer-enable-submit-button",
                "normalizedname": "multimediaviewer-enable-submit-button",
                "*": "Enable Media Viewer"
            },
            {
                "name": "multimediaviewer-enable-text-header",
                "normalizedname": "multimediaviewer-enable-text-header",
                "*": "Enable this media viewing feature for all files by default."
            },
            {
                "name": "multimediaviewer-errorreport-privacywarning",
                "normalizedname": "multimediaviewer-errorreport-privacywarning",
                "*": "Details of the error are attached to the report, which will be publicly viewable. If you are not comfortable with that, you can edit the report below and remove all the data you don't want to share."
            },
            {
                "name": "multimediaviewer-file-not-found-error",
                "normalizedname": "multimediaviewer-file-not-found-error",
                "*": "Sorry, the file $1 cannot be displayed since it is not present on the current page."
            },
            {
                "name": "multimediaviewer-file-page",
                "normalizedname": "multimediaviewer-file-page",
                "*": "Go to corresponding file page"
            },
            {
                "name": "multimediaviewer-fullscreen-popup-text",
                "normalizedname": "multimediaviewer-fullscreen-popup-text",
                "*": "Show in full screen"
            },
            {
                "name": "multimediaviewer-geoloc-coord",
                "normalizedname": "multimediaviewer-geoloc-coord",
                "*": "$1\u00b0 $2\u2032 $3\u2033 $4"
            },
            {
                "name": "multimediaviewer-geoloc-coords",
                "normalizedname": "multimediaviewer-geoloc-coords",
                "*": "$1, $2"
            },
            {
                "name": "multimediaviewer-geoloc-east",
                "normalizedname": "multimediaviewer-geoloc-east",
                "*": "E"
            },
            {
                "name": "multimediaviewer-geoloc-north",
                "normalizedname": "multimediaviewer-geoloc-north",
                "*": "N"
            },
            {
                "name": "multimediaviewer-geoloc-south",
                "normalizedname": "multimediaviewer-geoloc-south",
                "*": "S"
            },
            {
                "name": "multimediaviewer-geoloc-west",
                "normalizedname": "multimediaviewer-geoloc-west",
                "*": "W"
            },
            {
                "name": "multimediaviewer-geolocation",
                "normalizedname": "multimediaviewer-geolocation",
                "*": "Location: $1"
            },
            {
                "name": "multimediaviewer-html-embed-credit-link-text",
                "normalizedname": "multimediaviewer-html-embed-credit-link-text",
                "*": "Link"
            },
            {
                "name": "multimediaviewer-html-embed-credit-text-b",
                "normalizedname": "multimediaviewer-html-embed-credit-text-b",
                "*": "By $1, $2"
            },
            {
                "name": "multimediaviewer-html-embed-credit-text-bl",
                "normalizedname": "multimediaviewer-html-embed-credit-text-bl",
                "*": "By $1, $2, $3"
            },
            {
                "name": "multimediaviewer-html-embed-credit-text-l",
                "normalizedname": "multimediaviewer-html-embed-credit-text-l",
                "*": "$1, $2"
            },
            {
                "name": "multimediaviewer-large-embed-dimensions",
                "normalizedname": "multimediaviewer-large-embed-dimensions",
                "*": "Large $1"
            },
            {
                "name": "multimediaviewer-license-cc-by-1.0",
                "normalizedname": "multimediaviewer-license-cc-by-1.0",
                "*": "CC BY 1.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-2.0",
                "normalizedname": "multimediaviewer-license-cc-by-2.0",
                "*": "CC BY 2.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-2.1",
                "normalizedname": "multimediaviewer-license-cc-by-2.1",
                "*": "CC BY 2.1"
            },
            {
                "name": "multimediaviewer-license-cc-by-2.5",
                "normalizedname": "multimediaviewer-license-cc-by-2.5",
                "*": "CC BY 2.5"
            },
            {
                "name": "multimediaviewer-license-cc-by-3.0",
                "normalizedname": "multimediaviewer-license-cc-by-3.0",
                "*": "CC BY 3.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-4.0",
                "normalizedname": "multimediaviewer-license-cc-by-4.0",
                "*": "CC BY 4.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-1.0",
                "normalizedname": "multimediaviewer-license-cc-by-sa-1.0",
                "*": "CC BY-SA 1.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-2.0",
                "normalizedname": "multimediaviewer-license-cc-by-sa-2.0",
                "*": "CC BY-SA 2.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-2.1",
                "normalizedname": "multimediaviewer-license-cc-by-sa-2.1",
                "*": "CC BY-SA 2.1"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-2.5",
                "normalizedname": "multimediaviewer-license-cc-by-sa-2.5",
                "*": "CC BY-SA 2.5"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-3.0",
                "normalizedname": "multimediaviewer-license-cc-by-sa-3.0",
                "*": "CC BY-SA 3.0"
            },
            {
                "name": "multimediaviewer-license-cc-by-sa-4.0",
                "normalizedname": "multimediaviewer-license-cc-by-sa-4.0",
                "*": "CC BY-SA 4.0"
            },
            {
                "name": "multimediaviewer-license-cc-pd",
                "normalizedname": "multimediaviewer-license-cc-pd",
                "*": "Public Domain"
            },
            {
                "name": "multimediaviewer-license-cc-sa-1.0",
                "normalizedname": "multimediaviewer-license-cc-sa-1.0",
                "*": "CC SA 1.0"
            },
            {
                "name": "multimediaviewer-license-cc-zero",
                "normalizedname": "multimediaviewer-license-cc-zero",
                "*": "CC 0"
            },
            {
                "name": "multimediaviewer-license-default",
                "normalizedname": "multimediaviewer-license-default",
                "*": "View license"
            },
            {
                "name": "multimediaviewer-license-pd",
                "normalizedname": "multimediaviewer-license-pd",
                "*": "Public Domain"
            },
            {
                "name": "multimediaviewer-link-to-file",
                "normalizedname": "multimediaviewer-link-to-file",
                "*": "Link to original file"
            },
            {
                "name": "multimediaviewer-link-to-page",
                "normalizedname": "multimediaviewer-link-to-page",
                "*": "Link to file description page"
            },
            {
                "name": "multimediaviewer-medium-embed-dimensions",
                "normalizedname": "multimediaviewer-medium-embed-dimensions",
                "*": "Medium $1"
            },
            {
                "name": "multimediaviewer-metadata-error",
                "normalizedname": "multimediaviewer-metadata-error",
                "*": "Could not load image details (error: $1)"
            },
            {
                "name": "multimediaviewer-multiple-authors",
                "normalizedname": "multimediaviewer-multiple-authors",
                "*": "{{PLURAL:$1|one more author|$1 more authors}}"
            },
            {
                "name": "multimediaviewer-multiple-authors-combine",
                "normalizedname": "multimediaviewer-multiple-authors-combine",
                "*": "$1 and $2"
            },
            {
                "name": "multimediaviewer-next-image-alt-text",
                "normalizedname": "multimediaviewer-next-image-alt-text",
                "*": "Show next image"
            },
            {
                "name": "multimediaviewer-optin-help",
                "normalizedname": "multimediaviewer-optin-help",
                "*": "Media Viewer will be used to show images."
            },
            {
                "name": "multimediaviewer-optin-mmv",
                "normalizedname": "multimediaviewer-optin-mmv",
                "*": "Enable Media Viewer"
            },
            {
                "name": "multimediaviewer-optin-pending-mmv",
                "normalizedname": "multimediaviewer-optin-pending-mmv",
                "*": "Enabling Media Viewer"
            },
            {
                "name": "multimediaviewer-optin-pref",
                "normalizedname": "multimediaviewer-optin-pref",
                "*": "Enable <span class=\"plainlinks\">[https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Media_Viewer/About Media Viewer]</span>"
            },
            {
                "name": "multimediaviewer-option-cancel-button",
                "normalizedname": "multimediaviewer-option-cancel-button",
                "*": "Cancel"
            },
            {
                "name": "multimediaviewer-option-submit-button",
                "normalizedname": "multimediaviewer-option-submit-button",
                "*": "Disable Media Viewer"
            },
            {
                "name": "multimediaviewer-options-dialog-header",
                "normalizedname": "multimediaviewer-options-dialog-header",
                "*": "Disable Media Viewer?"
            },
            {
                "name": "multimediaviewer-options-learn-more",
                "normalizedname": "multimediaviewer-options-learn-more",
                "*": "Learn more"
            },
            {
                "name": "multimediaviewer-options-text-body",
                "normalizedname": "multimediaviewer-options-text-body",
                "*": "You can enable it later through the file details page."
            },
            {
                "name": "multimediaviewer-options-text-header",
                "normalizedname": "multimediaviewer-options-text-header",
                "*": "Skip this viewing feature for all files."
            },
            {
                "name": "multimediaviewer-options-tooltip",
                "normalizedname": "multimediaviewer-options-tooltip",
                "*": "Enable or disable Media Viewer"
            },
            {
                "name": "multimediaviewer-optout-help",
                "normalizedname": "multimediaviewer-optout-help",
                "*": "Media Viewer will no longer be used to show images. To use it again, click on the \"{{int:multimediaviewer-view-expanded}}\" button next to any image. Then click on \"{{int:multimediaviewer-optin-mmv}}\"."
            },
            {
                "name": "multimediaviewer-optout-mmv",
                "normalizedname": "multimediaviewer-optout-mmv",
                "*": "Disable Media Viewer"
            },
            {
                "name": "multimediaviewer-optout-pending-mmv",
                "normalizedname": "multimediaviewer-optout-pending-mmv",
                "*": "Disabling Media Viewer"
            },
            {
                "name": "multimediaviewer-original-embed-dimensions",
                "normalizedname": "multimediaviewer-original-embed-dimensions",
                "*": "Original file $1"
            },
            {
                "name": "multimediaviewer-permission-link",
                "normalizedname": "multimediaviewer-permission-link",
                "*": "view terms"
            },
            {
                "name": "multimediaviewer-permission-link-hide",
                "normalizedname": "multimediaviewer-permission-link-hide",
                "*": "hide terms"
            },
            {
                "name": "multimediaviewer-permission-title",
                "normalizedname": "multimediaviewer-permission-title",
                "*": "Permission details"
            },
            {
                "name": "multimediaviewer-permission-viewmore",
                "normalizedname": "multimediaviewer-permission-viewmore",
                "*": "View more"
            },
            {
                "name": "multimediaviewer-prev-image-alt-text",
                "normalizedname": "multimediaviewer-prev-image-alt-text",
                "*": "Show previous image"
            },
            {
                "name": "multimediaviewer-report-issue-url",
                "normalizedname": "multimediaviewer-report-issue-url",
                "*": "https://phabricator.wikimedia.org/maniphest/task/create/?projects=PHID-PROJ-cabyqp5sf4hyvauln3sq&description=$1"
            },
            {
                "name": "multimediaviewer-repository-local",
                "normalizedname": "multimediaviewer-repository-local",
                "*": "More details"
            },
            {
                "name": "multimediaviewer-restriction-2257",
                "normalizedname": "multimediaviewer-restriction-2257",
                "*": "This image contains sexually explicit content which may be subject to the Child Protection and Obscenity Enforcement Act in the United States."
            },
            {
                "name": "multimediaviewer-restriction-aus-reserve",
                "normalizedname": "multimediaviewer-restriction-aus-reserve",
                "*": "This image was photographed in an Australian Commonwealth reserve and cannot be used for commercial gain without a permit."
            },
            {
                "name": "multimediaviewer-restriction-communist",
                "normalizedname": "multimediaviewer-restriction-communist",
                "*": "This image contains Communist insignia which may be banned in some countries."
            },
            {
                "name": "multimediaviewer-restriction-costume",
                "normalizedname": "multimediaviewer-restriction-costume",
                "*": "This image depicts costuming and may be subject to legal restrictions."
            },
            {
                "name": "multimediaviewer-restriction-currency",
                "normalizedname": "multimediaviewer-restriction-currency",
                "*": "This image represents a depiction of a unit of currency and may be subject to legal restrictions."
            },
            {
                "name": "multimediaviewer-restriction-default",
                "normalizedname": "multimediaviewer-restriction-default",
                "*": "This image may be restricted by legal provisions outside of copyright law. See the file description page for details."
            },
            {
                "name": "multimediaviewer-restriction-default-and-others",
                "normalizedname": "multimediaviewer-restriction-default-and-others",
                "*": "This image may be further restricted by other legal provisions outside of copyright law. See the file description page for details."
            },
            {
                "name": "multimediaviewer-restriction-design",
                "normalizedname": "multimediaviewer-restriction-design",
                "*": "The design of the subject of this image may be copyrighted and subject to legal restrictions."
            },
            {
                "name": "multimediaviewer-restriction-fan-art",
                "normalizedname": "multimediaviewer-restriction-fan-art",
                "*": "This image is a work of fan art, and re-use may be subject to legal restrictions."
            },
            {
                "name": "multimediaviewer-restriction-ihl",
                "normalizedname": "multimediaviewer-restriction-ihl",
                "*": "This image contains symbols restricted by International Humanitarian Law."
            },
            {
                "name": "multimediaviewer-restriction-insignia",
                "normalizedname": "multimediaviewer-restriction-insignia",
                "*": "This image contains official insignia which may be subject to legal restrictions."
            },
            {
                "name": "multimediaviewer-restriction-ita-mibac",
                "normalizedname": "multimediaviewer-restriction-ita-mibac",
                "*": "This image reproduces a property belonging to Italian cultural heritage and is restricted by Italian law."
            },
            {
                "name": "multimediaviewer-restriction-nazi",
                "normalizedname": "multimediaviewer-restriction-nazi",
                "*": "This image contains Nazi or other fascist insignia which may be banned in some countries."
            },
            {
                "name": "multimediaviewer-restriction-personality",
                "normalizedname": "multimediaviewer-restriction-personality",
                "*": "This image contains persons who may have rights that legally restrict certain re-uses of the image without consent."
            },
            {
                "name": "multimediaviewer-restriction-trademarked",
                "normalizedname": "multimediaviewer-restriction-trademarked",
                "*": "This image contains content which may be subject to trademark laws."
            },
            {
                "name": "multimediaviewer-reuse-copy-embed",
                "normalizedname": "multimediaviewer-reuse-copy-embed",
                "*": "Select and copy (if supported) the code for embedding this file"
            },
            {
                "name": "multimediaviewer-reuse-copy-share",
                "normalizedname": "multimediaviewer-reuse-copy-share",
                "*": "Select and copy (if supported) the link for sharing this file"
            },
            {
                "name": "multimediaviewer-reuse-link",
                "normalizedname": "multimediaviewer-reuse-link",
                "*": "Share or embed this file"
            },
            {
                "name": "multimediaviewer-reuse-loading-placeholder",
                "normalizedname": "multimediaviewer-reuse-loading-placeholder",
                "*": "Loading\u2026"
            },
            {
                "name": "multimediaviewer-reuse-warning-deletion",
                "normalizedname": "multimediaviewer-reuse-warning-deletion",
                "*": "This file is considered for deletion."
            },
            {
                "name": "multimediaviewer-reuse-warning-generic",
                "normalizedname": "multimediaviewer-reuse-warning-generic",
                "*": "Check [$1 its details] before using it."
            },
            {
                "name": "multimediaviewer-reuse-warning-noattribution",
                "normalizedname": "multimediaviewer-reuse-warning-noattribution",
                "*": "This file has no attribution information."
            },
            {
                "name": "multimediaviewer-reuse-warning-nonfree",
                "normalizedname": "multimediaviewer-reuse-warning-nonfree",
                "*": "This file does not have a free license."
            },
            {
                "name": "multimediaviewer-share-explanation",
                "normalizedname": "multimediaviewer-share-explanation",
                "*": "Copy and freely share the link"
            },
            {
                "name": "multimediaviewer-share-tab",
                "normalizedname": "multimediaviewer-share-tab",
                "*": "Share"
            },
            {
                "name": "multimediaviewer-small-embed-dimensions",
                "normalizedname": "multimediaviewer-small-embed-dimensions",
                "*": "Small $1"
            },
            {
                "name": "multimediaviewer-text-embed-credit-text-b",
                "normalizedname": "multimediaviewer-text-embed-credit-text-b",
                "*": "By $1, $2"
            },
            {
                "name": "multimediaviewer-text-embed-credit-text-bl",
                "normalizedname": "multimediaviewer-text-embed-credit-text-bl",
                "*": "By $1, $2, $3"
            },
            {
                "name": "multimediaviewer-text-embed-credit-text-l",
                "normalizedname": "multimediaviewer-text-embed-credit-text-l",
                "*": "$1, $2"
            },
            {
                "name": "multimediaviewer-thumbnail-error",
                "normalizedname": "multimediaviewer-thumbnail-error",
                "*": "Sorry, the file cannot be displayed"
            },
            {
                "name": "multimediaviewer-thumbnail-error-description",
                "normalizedname": "multimediaviewer-thumbnail-error-description",
                "*": "There seems to be a technical issue. You can $1 if it persists. Error: $2"
            },
            {
                "name": "multimediaviewer-thumbnail-error-report",
                "normalizedname": "multimediaviewer-thumbnail-error-report",
                "*": "report the issue"
            },
            {
                "name": "multimediaviewer-thumbnail-error-retry",
                "normalizedname": "multimediaviewer-thumbnail-error-retry",
                "*": "retry"
            },
            {
                "name": "multimediaviewer-title-popup-text",
                "normalizedname": "multimediaviewer-title-popup-text",
                "*": "Description"
            },
            {
                "name": "multimediaviewer-title-popup-text-more",
                "normalizedname": "multimediaviewer-title-popup-text-more",
                "*": "View full description"
            },
            {
                "name": "multimediaviewer-view-config",
                "normalizedname": "multimediaviewer-view-config",
                "*": "Configuration"
            },
            {
                "name": "multimediaviewer-view-expanded",
                "normalizedname": "multimediaviewer-view-expanded",
                "*": "Open in Media Viewer"
            },
            {
                "name": "multimediaviewer-xl-embed-dimensions",
                "normalizedname": "multimediaviewer-xl-embed-dimensions",
                "*": "Extra large $1"
            },
            {
                "name": "mute-preferences",
                "normalizedname": "mute-preferences",
                "*": "Mute preferences"
            },
            {
                "name": "mw-widgets-abandonedit",
                "normalizedname": "mw-widgets-abandonedit",
                "*": "Are you sure you want to leave editing mode without publishing first?"
            },
            {
                "name": "mw-widgets-abandonedit-discard",
                "normalizedname": "mw-widgets-abandonedit-discard",
                "*": "Discard edits"
            },
            {
                "name": "mw-widgets-abandonedit-keep",
                "normalizedname": "mw-widgets-abandonedit-keep",
                "*": "Continue editing"
            },
            {
                "name": "mw-widgets-abandonedit-title",
                "normalizedname": "mw-widgets-abandonedit-title",
                "*": "Are you sure?"
            },
            {
                "name": "mw-widgets-categoryselector-add-category-placeholder",
                "normalizedname": "mw-widgets-categoryselector-add-category-placeholder",
                "*": "Add a category..."
            },
            {
                "name": "mw-widgets-copytextlayout-copy-fail",
                "normalizedname": "mw-widgets-copytextlayout-copy-fail",
                "*": "Failed to copy to clipboard."
            },
            {
                "name": "mw-widgets-copytextlayout-copy-success",
                "normalizedname": "mw-widgets-copytextlayout-copy-success",
                "*": "Copied to clipboard."
            },
            {
                "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-mediasearch-recent-uploads",
                "normalizedname": "mw-widgets-mediasearch-recent-uploads",
                "*": "{{GENDER:$1|Your}} recent uploads"
            },
            {
                "name": "mw-widgets-mediasearch-results-aria-label",
                "normalizedname": "mw-widgets-mediasearch-results-aria-label",
                "*": "Media search results"
            },
            {
                "name": "mw-widgets-table-row-delete",
                "normalizedname": "mw-widgets-table-row-delete",
                "*": "Delete row"
            },
            {
                "name": "mw-widgets-tagmultiselect-placeholder",
                "normalizedname": "mw-widgets-tagmultiselect-placeholder",
                "*": "Add more..."
            },
            {
                "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-titlesmultiselect-placeholder",
                "normalizedname": "mw-widgets-titlesmultiselect-placeholder",
                "*": "Add more..."
            },
            {
                "name": "mw-widgets-usersmultiselect-placeholder",
                "normalizedname": "mw-widgets-usersmultiselect-placeholder",
                "*": "Add more..."
            },
            {
                "name": "mw_math_latexml",
                "normalizedname": "mw_math_latexml",
                "*": "LaTeXML (experimental; uses MathML)"
            },
            {
                "name": "mw_math_mathml",
                "normalizedname": "mw_math_mathml",
                "*": "SVG (MathML can be enabled via browser plugin)"
            },
            {
                "name": "mw_math_native",
                "normalizedname": "mw_math_native",
                "*": "MathML (experimental; no images)"
            },
            {
                "name": "mw_math_source",
                "normalizedname": "mw_math_source",
                "*": "LaTeX source (for text browsers)"
            },
            {
                "name": "mwe-upload-campaigns-list-title",
                "normalizedname": "mwe-upload-campaigns-list-title",
                "*": "List of upload campaigns"
            },
            {
                "name": "mwe-upload-campaigns-pagination-next",
                "normalizedname": "mwe-upload-campaigns-pagination-next",
                "*": "Next page"
            },
            {
                "name": "mwe-upwiz-add-file-0-free",
                "normalizedname": "mwe-upwiz-add-file-0-free",
                "*": "Select media files to share"
            },
            {
                "name": "mwe-upwiz-add-file-flickr",
                "normalizedname": "mwe-upwiz-add-file-flickr",
                "*": "Share images from Flickr"
            },
            {
                "name": "mwe-upwiz-add-file-flickr-n",
                "normalizedname": "mwe-upwiz-add-file-flickr-n",
                "*": "Add more images from Flickr"
            },
            {
                "name": "mwe-upwiz-add-file-n",
                "normalizedname": "mwe-upwiz-add-file-n",
                "*": "Add more files"
            },
            {
                "name": "mwe-upwiz-add-flickr",
                "normalizedname": "mwe-upwiz-add-flickr",
                "*": "Get from Flickr"
            },
            {
                "name": "mwe-upwiz-add-flickr-or",
                "normalizedname": "mwe-upwiz-add-flickr-or",
                "*": "or"
            },
            {
                "name": "mwe-upwiz-allowed-filename-extensions",
                "normalizedname": "mwe-upwiz-allowed-filename-extensions",
                "*": "The allowed extensions are:"
            },
            {
                "name": "mwe-upwiz-almost-finished",
                "normalizedname": "mwe-upwiz-almost-finished",
                "*": "Processing files\u2026"
            },
            {
                "name": "mwe-upwiz-api-warning-exists",
                "normalizedname": "mwe-upwiz-api-warning-exists",
                "*": "There is [$1 another file] already on the wiki with the same filename"
            },
            {
                "name": "mwe-upwiz-api-warning-was-deleted",
                "normalizedname": "mwe-upwiz-api-warning-was-deleted",
                "*": "There was a file by this name, \"$1\", but it was deleted and you can not reupload the file. If your file is different, try renaming it."
            },
            {
                "name": "mwe-upwiz-assembling",
                "normalizedname": "mwe-upwiz-assembling",
                "*": "Assembling\u2026"
            },
            {
                "name": "mwe-upwiz-author",
                "normalizedname": "mwe-upwiz-author",
                "*": "Author(s)"
            },
            {
                "name": "mwe-upwiz-autoconverted",
                "normalizedname": "mwe-upwiz-autoconverted",
                "*": "This file was automatically converted to the $1 format"
            },
            {
                "name": "mwe-upwiz-blacklisted-details",
                "normalizedname": "mwe-upwiz-blacklisted-details",
                "*": "Please choose a different, descriptive title ([$2 more info])."
            },
            {
                "name": "mwe-upwiz-blacklisted-details-feedback",
                "normalizedname": "mwe-upwiz-blacklisted-details-feedback",
                "*": "Please choose a different, descriptive title ([$2 more info]). \u2022 [$3 Send feedback]"
            },
            {
                "name": "mwe-upwiz-calendar-date",
                "normalizedname": "mwe-upwiz-calendar-date",
                "*": "Choose date from calendar"
            },
            {
                "name": "mwe-upwiz-campaign-contributors-count-desc",
                "normalizedname": "mwe-upwiz-campaign-contributors-count-desc",
                "*": "{{PLURAL:$1|Contributor|Contributors}}"
            },
            {
                "name": "mwe-upwiz-campaign-create-account-button",
                "normalizedname": "mwe-upwiz-campaign-create-account-button",
                "*": "Create an account and upload!"
            },
            {
                "name": "mwe-upwiz-campaign-media-count-desc",
                "normalizedname": "mwe-upwiz-campaign-media-count-desc",
                "*": "{{PLURAL:$1|Upload|Uploads}}"
            },
            {
                "name": "mwe-upwiz-campaign-name-duplicate",
                "normalizedname": "mwe-upwiz-campaign-name-duplicate",
                "*": "A campaign with this name exists already."
            },
            {
                "name": "mwe-upwiz-campaign-no-uploads-yet",
                "normalizedname": "mwe-upwiz-campaign-no-uploads-yet",
                "*": "No uploads yet!"
            },
            {
                "name": "mwe-upwiz-campaign-unknown-error",
                "normalizedname": "mwe-upwiz-campaign-unknown-error",
                "*": "An unknown error occurred."
            },
            {
                "name": "mwe-upwiz-campaign-upload-button",
                "normalizedname": "mwe-upwiz-campaign-upload-button",
                "*": "Upload!"
            },
            {
                "name": "mwe-upwiz-campaign-view-all-media",
                "normalizedname": "mwe-upwiz-campaign-view-all-media",
                "*": "View all uploaded media"
            },
            {
                "name": "mwe-upwiz-caption",
                "normalizedname": "mwe-upwiz-caption",
                "*": "Caption"
            },
            {
                "name": "mwe-upwiz-caption-add",
                "normalizedname": "mwe-upwiz-caption-add",
                "*": "{{PLURAL:$1|0=Add a caption|Add a caption in another language}}"
            },
            {
                "name": "mwe-upwiz-categories",
                "normalizedname": "mwe-upwiz-categories",
                "*": "Categories"
            },
            {
                "name": "mwe-upwiz-categories-missing",
                "normalizedname": "mwe-upwiz-categories-missing",
                "*": "One of the categories lacks a description page. Are you sure you typed the name correctly?"
            },
            {
                "name": "mwe-upwiz-copied-metadata",
                "normalizedname": "mwe-upwiz-copied-metadata",
                "*": "Copied!"
            },
            {
                "name": "mwe-upwiz-copy-caption",
                "normalizedname": "mwe-upwiz-copy-caption",
                "*": "Copy caption"
            },
            {
                "name": "mwe-upwiz-copy-categories",
                "normalizedname": "mwe-upwiz-copy-categories",
                "*": "Copy categories"
            },
            {
                "name": "mwe-upwiz-copy-date",
                "normalizedname": "mwe-upwiz-copy-date",
                "*": "Copy date"
            },
            {
                "name": "mwe-upwiz-copy-description",
                "normalizedname": "mwe-upwiz-copy-description",
                "*": "Copy descriptions"
            },
            {
                "name": "mwe-upwiz-copy-location",
                "normalizedname": "mwe-upwiz-copy-location",
                "*": "Copy location"
            },
            {
                "name": "mwe-upwiz-copy-metadata",
                "normalizedname": "mwe-upwiz-copy-metadata",
                "*": "Copy information to all uploads following \u2026"
            },
            {
                "name": "mwe-upwiz-copy-metadata-button",
                "normalizedname": "mwe-upwiz-copy-metadata-button",
                "*": "Copy"
            },
            {
                "name": "mwe-upwiz-copy-metadata-button-undo",
                "normalizedname": "mwe-upwiz-copy-metadata-button-undo",
                "*": "Undo"
            },
            {
                "name": "mwe-upwiz-copy-other",
                "normalizedname": "mwe-upwiz-copy-other",
                "*": "Copy other information"
            },
            {
                "name": "mwe-upwiz-copy-statements-button",
                "normalizedname": "mwe-upwiz-copy-statements-button",
                "*": "Copy statements to all files \u2026"
            },
            {
                "name": "mwe-upwiz-copy-statements-button-done",
                "normalizedname": "mwe-upwiz-copy-statements-button-done",
                "*": "Copied!"
            },
            {
                "name": "mwe-upwiz-copy-statements-dialog",
                "normalizedname": "mwe-upwiz-copy-statements-dialog",
                "*": "Metadata on other files in this batch will be replaced with this file's metadata. Are you sure?"
            },
            {
                "name": "mwe-upwiz-copy-statements-dialog-accept",
                "normalizedname": "mwe-upwiz-copy-statements-dialog-accept",
                "*": "Yes, copy"
            },
            {
                "name": "mwe-upwiz-copy-title",
                "normalizedname": "mwe-upwiz-copy-title",
                "*": "Copy title (with automatic numbering)"
            },
            {
                "name": "mwe-upwiz-copyright-info",
                "normalizedname": "mwe-upwiz-copyright-info",
                "*": "Release rights"
            },
            {
                "name": "mwe-upwiz-custom-date",
                "normalizedname": "mwe-upwiz-custom-date",
                "*": "Use custom date format"
            },
            {
                "name": "mwe-upwiz-date-created",
                "normalizedname": "mwe-upwiz-date-created",
                "*": "Date"
            },
            {
                "name": "mwe-upwiz-deeds-macro-prompt",
                "normalizedname": "mwe-upwiz-deeds-macro-prompt",
                "*": "This site requires {{GENDER:$2|you}} to provide copyright information for {{PLURAL:$1|this work|these works}}, to make sure everyone can legally reuse {{PLURAL:$1|it|them}}."
            },
            {
                "name": "mwe-upwiz-deeds-need-deed",
                "normalizedname": "mwe-upwiz-deeds-need-deed",
                "*": "Please explain where you got this file and how this site can use it, by selecting one of the options."
            },
            {
                "name": "mwe-upwiz-deeds-need-license",
                "normalizedname": "mwe-upwiz-deeds-need-license",
                "*": "Please select a license."
            },
            {
                "name": "mwe-upwiz-deleted-duplicate-unknown-filename",
                "normalizedname": "mwe-upwiz-deleted-duplicate-unknown-filename",
                "*": "Unknown filename"
            },
            {
                "name": "mwe-upwiz-desc",
                "normalizedname": "mwe-upwiz-desc",
                "*": "Description"
            },
            {
                "name": "mwe-upwiz-desc-add",
                "normalizedname": "mwe-upwiz-desc-add",
                "*": "{{PLURAL:$1|0=Add a description|Add a description in another language}}"
            },
            {
                "name": "mwe-upwiz-details-error-count",
                "normalizedname": "mwe-upwiz-details-error-count",
                "*": "There {{PLURAL:$1|is one error|are $1 errors}} with the {{PLURAL:$2|form|forms}} above. Correct the {{PLURAL:$1|error|errors}}, and try submitting again."
            },
            {
                "name": "mwe-upwiz-details-warning-count",
                "normalizedname": "mwe-upwiz-details-warning-count",
                "*": "There {{PLURAL:$1|is one warning|are $1 warnings}} with the {{PLURAL:$2|form|forms}} above. We recommend correcting {{PLURAL:$1|it|them}} before continuing."
            },
            {
                "name": "mwe-upwiz-dialog-no",
                "normalizedname": "mwe-upwiz-dialog-no",
                "*": "No"
            },
            {
                "name": "mwe-upwiz-dialog-title",
                "normalizedname": "mwe-upwiz-dialog-title",
                "*": "Warning"
            },
            {
                "name": "mwe-upwiz-dialog-warning",
                "normalizedname": "mwe-upwiz-dialog-warning",
                "*": "We recommend that you properly fill in all the fields. Do you want to continue without correcting these warnings?"
            },
            {
                "name": "mwe-upwiz-dialog-yes",
                "normalizedname": "mwe-upwiz-dialog-yes",
                "*": "Yes"
            },
            {
                "name": "mwe-upwiz-error-altitude",
                "normalizedname": "mwe-upwiz-error-altitude",
                "*": "The altitude must be a number."
            },
            {
                "name": "mwe-upwiz-error-bad-captions",
                "normalizedname": "mwe-upwiz-error-bad-captions",
                "*": "There are problems with some of the captions."
            },
            {
                "name": "mwe-upwiz-error-bad-descriptions",
                "normalizedname": "mwe-upwiz-error-bad-descriptions",
                "*": "There are problems with some of the descriptions."
            },
            {
                "name": "mwe-upwiz-error-blank",
                "normalizedname": "mwe-upwiz-error-blank",
                "*": "This field is required."
            },
            {
                "name": "mwe-upwiz-error-campaigndisabled",
                "normalizedname": "mwe-upwiz-error-campaigndisabled",
                "*": "Campaign \"$1\" has not been enabled."
            },
            {
                "name": "mwe-upwiz-error-date-license-mismatch",
                "normalizedname": "mwe-upwiz-error-date-license-mismatch",
                "*": "The selected date doesn't match the license ($1)."
            },
            {
                "name": "mwe-upwiz-error-date-license-unlikely",
                "normalizedname": "mwe-upwiz-error-date-license-unlikely",
                "*": "The selected date likely isn't correct, given the license ($1)."
            },
            {
                "name": "mwe-upwiz-error-heading",
                "normalizedname": "mwe-upwiz-error-heading",
                "*": "The heading must be a number between 0 and 360."
            },
            {
                "name": "mwe-upwiz-error-latitude",
                "normalizedname": "mwe-upwiz-error-latitude",
                "*": "The latitude must be a number between -90 and 90."
            },
            {
                "name": "mwe-upwiz-error-license-wikitext-missing",
                "normalizedname": "mwe-upwiz-error-license-wikitext-missing",
                "*": "You selected an option which requires you to enter wikitext."
            },
            {
                "name": "mwe-upwiz-error-license-wikitext-missing-template",
                "normalizedname": "mwe-upwiz-error-license-wikitext-missing-template",
                "*": "The wikitext you entered doesn't contain a valid license template."
            },
            {
                "name": "mwe-upwiz-error-license-wikitext-too-long",
                "normalizedname": "mwe-upwiz-error-license-wikitext-too-long",
                "*": "The wikitext you entered is too long."
            },
            {
                "name": "mwe-upwiz-error-license-wikitext-too-short",
                "normalizedname": "mwe-upwiz-error-license-wikitext-too-short",
                "*": "The wikitext here is too short to be a license"
            },
            {
                "name": "mwe-upwiz-error-longitude",
                "normalizedname": "mwe-upwiz-error-longitude",
                "*": "The longitude must be a number between -180 and 180."
            },
            {
                "name": "mwe-upwiz-error-no-image-retrieved",
                "normalizedname": "mwe-upwiz-error-no-image-retrieved",
                "*": "We could not retrieve the file from $1."
            },
            {
                "name": "mwe-upwiz-error-nosuchcampaign",
                "normalizedname": "mwe-upwiz-error-nosuchcampaign",
                "*": "There is no campaign with name \"$1\"."
            },
            {
                "name": "mwe-upwiz-error-pageprops-missing-page",
                "normalizedname": "mwe-upwiz-error-pageprops-missing-page",
                "*": "Failed to retrieve page properties: page does not (yet) exist."
            },
            {
                "name": "mwe-upwiz-error-pageprops-missing-prop",
                "normalizedname": "mwe-upwiz-error-pageprops-missing-prop",
                "*": "Failed to retrieve page properties: property does not (yet) exist."
            },
            {
                "name": "mwe-upwiz-error-patent-disagree",
                "normalizedname": "mwe-upwiz-error-patent-disagree",
                "*": "You need to agree with the terms."
            },
            {
                "name": "mwe-upwiz-error-signature-blank",
                "normalizedname": "mwe-upwiz-error-signature-blank",
                "*": "You must sign with your username or real name in the appropriate field."
            },
            {
                "name": "mwe-upwiz-error-signature-too-long",
                "normalizedname": "mwe-upwiz-error-signature-too-long",
                "*": "Your signature is too long.\nMake it shorter than $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "mwe-upwiz-error-signature-too-short",
                "normalizedname": "mwe-upwiz-error-signature-too-short",
                "*": "Your signature is too short.\nMake it longer than $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "mwe-upwiz-error-submit-captions",
                "normalizedname": "mwe-upwiz-error-submit-captions",
                "*": "The image was uploaded successfully, but something went wrong submitting the {{PLURAL:$1|caption|captions}}."
            },
            {
                "name": "mwe-upwiz-error-submit-captions-remedy",
                "normalizedname": "mwe-upwiz-error-submit-captions-remedy",
                "*": "To fix this: visit [[$1]] to update the captions there."
            },
            {
                "name": "mwe-upwiz-error-title-blacklisted",
                "normalizedname": "mwe-upwiz-error-title-blacklisted",
                "*": "This title contains some undesirable text. Please revise it."
            },
            {
                "name": "mwe-upwiz-error-title-duplicate",
                "normalizedname": "mwe-upwiz-error-title-duplicate",
                "*": "This title has been specified for more than one file you're going to upload. Underscores are treated as spaces, a file extension is added automatically."
            },
            {
                "name": "mwe-upwiz-error-title-extension",
                "normalizedname": "mwe-upwiz-error-title-extension",
                "*": "You do not need to add a file extension. Just make a human readable title and the application will take care of the rest."
            },
            {
                "name": "mwe-upwiz-error-title-invalid",
                "normalizedname": "mwe-upwiz-error-title-invalid",
                "*": "This title is invalid. Make sure to remove characters like square brackets, colons, slashes, comparison operators, pipes and curly brackets."
            },
            {
                "name": "mwe-upwiz-error-title-protected",
                "normalizedname": "mwe-upwiz-error-title-protected",
                "*": "This title corresponds to a protected page on this wiki. Please choose a different one."
            },
            {
                "name": "mwe-upwiz-error-title-senselessimagename",
                "normalizedname": "mwe-upwiz-error-title-senselessimagename",
                "*": "Please make this title more meaningful."
            },
            {
                "name": "mwe-upwiz-error-title-thumbnail",
                "normalizedname": "mwe-upwiz-error-title-thumbnail",
                "*": "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": "mwe-upwiz-error-title-too-long",
                "normalizedname": "mwe-upwiz-error-title-too-long",
                "*": "This title is too long.\nPlease make sure this title is at most $1 {{PLURAL:$1|byte|bytes}}."
            },
            {
                "name": "mwe-upwiz-error-title-too-short",
                "normalizedname": "mwe-upwiz-error-title-too-short",
                "*": "This title is too short.\nPlease make sure this title is at least $1 {{PLURAL:$1|byte|bytes}}."
            },
            {
                "name": "mwe-upwiz-error-too-long",
                "normalizedname": "mwe-upwiz-error-too-long",
                "*": "This entry is too long.\nPlease make sure this entry is at most $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "mwe-upwiz-error-too-short",
                "normalizedname": "mwe-upwiz-error-too-short",
                "*": "This entry is too short.\nPlease make sure this entry is at least $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "mwe-upwiz-errordialog-ok",
                "normalizedname": "mwe-upwiz-errordialog-ok",
                "*": "OK"
            },
            {
                "name": "mwe-upwiz-errordialog-title",
                "normalizedname": "mwe-upwiz-errordialog-title",
                "*": "There was an error in your submission"
            },
            {
                "name": "mwe-upwiz-extension-disabled",
                "normalizedname": "mwe-upwiz-extension-disabled",
                "*": "This page has been disabled due to temporary technical problems. In the meantime try the standard upload form."
            },
            {
                "name": "mwe-upwiz-failed",
                "normalizedname": "mwe-upwiz-failed",
                "*": "Failed."
            },
            {
                "name": "mwe-upwiz-feedback-blacklist-line-intro",
                "normalizedname": "mwe-upwiz-feedback-blacklist-line-intro",
                "*": "This is the disallowed title list entry that matched it:\n$1"
            },
            {
                "name": "mwe-upwiz-feedback-blacklist-subject",
                "normalizedname": "mwe-upwiz-feedback-blacklist-subject",
                "*": "My upload title, \"$1\" was prohibited."
            },
            {
                "name": "mwe-upwiz-feedback-prompt",
                "normalizedname": "mwe-upwiz-feedback-prompt",
                "*": "Leave feedback"
            },
            {
                "name": "mwe-upwiz-feedback-title",
                "normalizedname": "mwe-upwiz-feedback-title",
                "*": "Leave feedback about Upload Wizard"
            },
            {
                "name": "mwe-upwiz-file-all-failed",
                "normalizedname": "mwe-upwiz-file-all-failed",
                "*": "None of the uploads were successful."
            },
            {
                "name": "mwe-upwiz-file-all-ok",
                "normalizedname": "mwe-upwiz-file-all-ok",
                "*": "All uploads were successful!"
            },
            {
                "name": "mwe-upwiz-file-need-file",
                "normalizedname": "mwe-upwiz-file-need-file",
                "*": "Please add an upload first."
            },
            {
                "name": "mwe-upwiz-file-retry",
                "normalizedname": "mwe-upwiz-file-retry",
                "*": "Retry failed uploads"
            },
            {
                "name": "mwe-upwiz-file-some-failed",
                "normalizedname": "mwe-upwiz-file-some-failed",
                "*": "Some uploads failed."
            },
            {
                "name": "mwe-upwiz-file-too-large",
                "normalizedname": "mwe-upwiz-file-too-large",
                "*": "File too large."
            },
            {
                "name": "mwe-upwiz-file-too-large-text",
                "normalizedname": "mwe-upwiz-file-too-large-text",
                "*": "You can only upload files with a size of up to $1. You tried to upload a file that is $2."
            },
            {
                "name": "mwe-upwiz-fileexists-replace-no-link",
                "normalizedname": "mwe-upwiz-fileexists-replace-no-link",
                "*": "Please choose a different title, because this title is already in use by another file."
            },
            {
                "name": "mwe-upwiz-fileexists-replace-on-page",
                "normalizedname": "mwe-upwiz-fileexists-replace-on-page",
                "*": "A file with this name exists already. If you want to replace it, go to the page for [$2 $1] and replace it there."
            },
            {
                "name": "mwe-upwiz-finished",
                "normalizedname": "mwe-upwiz-finished",
                "*": "Finished!"
            },
            {
                "name": "mwe-upwiz-flickr-disclaimer1",
                "normalizedname": "mwe-upwiz-flickr-disclaimer1",
                "*": "This form will load content hosted by flickr.com and subject to the\nFlickr [https://www.flickr.com/help/terms/ terms of use] and [https://www.flickr.com/help/privacy-policy/ privacy policy]."
            },
            {
                "name": "mwe-upwiz-flickr-disclaimer2",
                "normalizedname": "mwe-upwiz-flickr-disclaimer2",
                "*": "Please note that by using this tool, your IP address and request details will be available to Flickr."
            },
            {
                "name": "mwe-upwiz-flickr-input-placeholder",
                "normalizedname": "mwe-upwiz-flickr-input-placeholder",
                "*": "Flickr URL"
            },
            {
                "name": "mwe-upwiz-getting-metadata",
                "normalizedname": "mwe-upwiz-getting-metadata",
                "*": "Getting file information and previews\u2026"
            },
            {
                "name": "mwe-upwiz-help-desk",
                "normalizedname": "mwe-upwiz-help-desk",
                "*": "Help desk"
            },
            {
                "name": "mwe-upwiz-help-desk-url",
                "normalizedname": "mwe-upwiz-help-desk-url",
                "*": "{{ns:project}}:Help desk"
            },
            {
                "name": "mwe-upwiz-home",
                "normalizedname": "mwe-upwiz-home",
                "*": "Go to wiki home page"
            },
            {
                "name": "mwe-upwiz-label-optional",
                "normalizedname": "mwe-upwiz-label-optional",
                "*": "Optional"
            },
            {
                "name": "mwe-upwiz-license-attribution",
                "normalizedname": "mwe-upwiz-license-attribution",
                "*": "May be used for any purpose, including commercially, if the copyright holder is properly attributed"
            },
            {
                "name": "mwe-upwiz-license-cc-by-2.0",
                "normalizedname": "mwe-upwiz-license-cc-by-2.0",
                "*": "Creative Commons Attribution 2.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-2.5",
                "normalizedname": "mwe-upwiz-license-cc-by-2.5",
                "*": "Creative Commons Attribution 2.5 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-3.0",
                "normalizedname": "mwe-upwiz-license-cc-by-3.0",
                "*": "Creative Commons Attribution 3.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-4.0",
                "normalizedname": "mwe-upwiz-license-cc-by-4.0",
                "*": "Creative Commons Attribution 4.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-2.0",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-2.0",
                "*": "Creative Commons Attribution ShareAlike 2.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-2.5",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-2.5",
                "*": "Creative Commons Attribution ShareAlike 2.5 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0",
                "*": "Creative Commons Attribution ShareAlike 3.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-at",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-at",
                "*": "Creative Commons Attribution ShareAlike 3.0 Austria ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-de",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-de",
                "*": "Creative Commons Attribution ShareAlike 3.0 Germany ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-ee",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-ee",
                "*": "Creative Commons Attribution ShareAlike 3.0 Estonia ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-es",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-es",
                "*": "Creative Commons Attribution ShareAlike 3.0 Spain ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-gfdl",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-gfdl",
                "*": "Copyleft, attribution required (GFDL, CC BY-SA 3.0)"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-hr",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-hr",
                "*": "Creative Commons Attribution ShareAlike 3.0 Croatia ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-lu",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-lu",
                "*": "Creative Commons Attribution ShareAlike 3.0 Luxembourg ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-nl",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-nl",
                "*": "Creative Commons Attribution ShareAlike 3.0 Netherlands ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-no",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-no",
                "*": "Creative Commons Attribution ShareAlike 3.0 Norway ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-pl",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-pl",
                "*": "Creative Commons Attribution ShareAlike 3.0 Poland ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-3.0-ro",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-3.0-ro",
                "*": "Creative Commons Attribution ShareAlike 3.0 Romania ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-by-sa-4.0",
                "normalizedname": "mwe-upwiz-license-cc-by-sa-4.0",
                "*": "Creative Commons Attribution ShareAlike 4.0 ([$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-cc-head",
                "normalizedname": "mwe-upwiz-license-cc-head",
                "*": "The copyright holder published {{PLURAL:$1|this work|these works}} with the right Creative Commons license"
            },
            {
                "name": "mwe-upwiz-license-cc-subhead",
                "normalizedname": "mwe-upwiz-license-cc-subhead",
                "*": "Not all Creative Commons licenses are good for this site. Make sure the copyright holder used one of these licenses."
            },
            {
                "name": "mwe-upwiz-license-cc-zero",
                "normalizedname": "mwe-upwiz-license-cc-zero",
                "*": "Creative Commons CC0 Waiver (release all rights, like public domain: [$2 legal code])"
            },
            {
                "name": "mwe-upwiz-license-confirm-remove",
                "normalizedname": "mwe-upwiz-license-confirm-remove",
                "*": "Are you sure you want to remove {{PLURAL:$1|this upload|these uploads}}?"
            },
            {
                "name": "mwe-upwiz-license-confirm-remove-title",
                "normalizedname": "mwe-upwiz-license-confirm-remove-title",
                "*": "Confirm remove"
            },
            {
                "name": "mwe-upwiz-license-copyrighted-free-use",
                "normalizedname": "mwe-upwiz-license-copyrighted-free-use",
                "*": "Copyrighted, but may be used for any purpose, including commercially"
            },
            {
                "name": "mwe-upwiz-license-custom",
                "normalizedname": "mwe-upwiz-license-custom",
                "*": "The license is described by the following wikitext (must contain a valid [$2 copyright tag]):"
            },
            {
                "name": "mwe-upwiz-license-custom-head",
                "normalizedname": "mwe-upwiz-license-custom-head",
                "*": "Another reason not mentioned above"
            },
            {
                "name": "mwe-upwiz-license-custom-preview",
                "normalizedname": "mwe-upwiz-license-custom-preview",
                "*": "Preview"
            },
            {
                "name": "mwe-upwiz-license-custom-url",
                "normalizedname": "mwe-upwiz-license-custom-url",
                "*": "//commons.wikimedia.org/wiki/Commons:Copyright_tags"
            },
            {
                "name": "mwe-upwiz-license-external",
                "normalizedname": "mwe-upwiz-license-external",
                "*": "The file is under the following license on the source site \"$1\": $2."
            },
            {
                "name": "mwe-upwiz-license-external-invalid",
                "normalizedname": "mwe-upwiz-license-external-invalid",
                "*": "The file is under the following license on the source site \"$1\": $2. Unfortunately, this wiki does not allow that license."
            },
            {
                "name": "mwe-upwiz-license-fal",
                "normalizedname": "mwe-upwiz-license-fal",
                "*": "Free Art License"
            },
            {
                "name": "mwe-upwiz-license-flickr-head",
                "normalizedname": "mwe-upwiz-license-flickr-head",
                "*": "The copyright holder published their {{PLURAL:$1|photo or video|photos or videos}} on Flickr with the right license"
            },
            {
                "name": "mwe-upwiz-license-flickr-subhead",
                "normalizedname": "mwe-upwiz-license-flickr-subhead",
                "*": "Check the \"License\" header on the side of the Flickr page. Both the icons and license name that they used have to match one of the choices here."
            },
            {
                "name": "mwe-upwiz-license-generic",
                "normalizedname": "mwe-upwiz-license-generic",
                "*": "I have reviewed [[{{int:disclaimerpage}}|the disclaimer for this wiki]] and to my best knowledge {{PLURAL:$1|this work is|these works are}} not under data protection levels exceeding those of this wiki."
            },
            {
                "name": "mwe-upwiz-license-generic-head",
                "normalizedname": "mwe-upwiz-license-generic-head",
                "*": "{{PLURAL:$1|This work is|These works are}} acceptable for upload to this wiki"
            },
            {
                "name": "mwe-upwiz-license-gfdl",
                "normalizedname": "mwe-upwiz-license-gfdl",
                "*": "GNU Free Documentation License"
            },
            {
                "name": "mwe-upwiz-license-metadata-content",
                "normalizedname": "mwe-upwiz-license-metadata-content",
                "*": "By clicking \"publish\", you agree to the [[wmf:Terms_of_Use|terms of use]], and you irrevocably agree to release your contribution under the [https://creativecommons.org/publicdomain/zero/1.0/ Creative Commons CC0 License]."
            },
            {
                "name": "mwe-upwiz-license-metadata-statements-title",
                "normalizedname": "mwe-upwiz-license-metadata-statements-title",
                "*": "License for all structured metadata (NOT the file)"
            },
            {
                "name": "mwe-upwiz-license-metadata-title",
                "normalizedname": "mwe-upwiz-license-metadata-title",
                "*": "License for captions contributions only (this applies to caption text, NOT the file)"
            },
            {
                "name": "mwe-upwiz-license-misc",
                "normalizedname": "mwe-upwiz-license-misc",
                "*": "Miscellaneous reasons"
            },
            {
                "name": "mwe-upwiz-license-none",
                "normalizedname": "mwe-upwiz-license-none",
                "*": "I believe {{PLURAL:$1|this work is|these works are}} freely licensed or legally in the public domain. I understand that if I do not add the necessary licensing information in a timely fashion, the {{PLURAL:$1|file|files}} may be deleted."
            },
            {
                "name": "mwe-upwiz-license-none-head",
                "normalizedname": "mwe-upwiz-license-none-head",
                "*": "I found it on the Internet \u2014 I'm not sure"
            },
            {
                "name": "mwe-upwiz-license-own-pd",
                "normalizedname": "mwe-upwiz-license-own-pd",
                "*": "All rights waived with Creative Commons Zero license (like public domain)"
            },
            {
                "name": "mwe-upwiz-license-pd-art-70",
                "normalizedname": "mwe-upwiz-license-pd-art-70",
                "*": "Faithful reproduction of a painting in the public domain because the artist died more than 70 years ago ([$2 learn more])"
            },
            {
                "name": "mwe-upwiz-license-pd-ineligible",
                "normalizedname": "mwe-upwiz-license-pd-ineligible",
                "*": "Too simple to be copyrighted"
            },
            {
                "name": "mwe-upwiz-license-pd-ineligible-help",
                "normalizedname": "mwe-upwiz-license-pd-ineligible-help",
                "*": "Be careful with this one. The image has to be very simple, like a green circle or red square"
            },
            {
                "name": "mwe-upwiz-license-pd-old",
                "normalizedname": "mwe-upwiz-license-pd-old",
                "*": "Author died more than 70 years ago"
            },
            {
                "name": "mwe-upwiz-license-pd-old-100",
                "normalizedname": "mwe-upwiz-license-pd-old-100",
                "*": "Author died more than 100 years ago"
            },
            {
                "name": "mwe-upwiz-license-pd-old-70-1923",
                "normalizedname": "mwe-upwiz-license-pd-old-70-1923",
                "*": "First published before 1928 and author deceased more than 70 years ago"
            },
            {
                "name": "mwe-upwiz-license-pd-textlogo",
                "normalizedname": "mwe-upwiz-license-pd-textlogo",
                "*": "Logo with only simple text (wordmark)"
            },
            {
                "name": "mwe-upwiz-license-pd-us",
                "normalizedname": "mwe-upwiz-license-pd-us",
                "*": "First published in the United States before 1928"
            },
            {
                "name": "mwe-upwiz-license-pd-usgov",
                "normalizedname": "mwe-upwiz-license-pd-usgov",
                "*": "Original work of the US Federal Government"
            },
            {
                "name": "mwe-upwiz-license-pd-usgov-military-navy",
                "normalizedname": "mwe-upwiz-license-pd-usgov-military-navy",
                "*": "Original work of the US Military Navy"
            },
            {
                "name": "mwe-upwiz-license-pd-usgov-nasa",
                "normalizedname": "mwe-upwiz-license-pd-usgov-nasa",
                "*": "Original work of NASA"
            },
            {
                "name": "mwe-upwiz-license-photoset-invalid",
                "normalizedname": "mwe-upwiz-license-photoset-invalid",
                "*": "Unfortunately, no image in the photoset has a license appropriate to be used on this site."
            },
            {
                "name": "mwe-upwiz-license-public-domain-usa-head",
                "normalizedname": "mwe-upwiz-license-public-domain-usa-head",
                "*": "The copyright has definitely expired in the USA"
            },
            {
                "name": "mwe-upwiz-license-public-domain-usa-subhead",
                "normalizedname": "mwe-upwiz-license-public-domain-usa-subhead",
                "*": "{{SITENAME}} is located in the USA, so the work must be out of copyright in that country."
            },
            {
                "name": "mwe-upwiz-license-show-all",
                "normalizedname": "mwe-upwiz-license-show-all",
                "*": "Use a different license"
            },
            {
                "name": "mwe-upwiz-license-show-recommended",
                "normalizedname": "mwe-upwiz-license-show-recommended",
                "*": "Use the site's recommended license"
            },
            {
                "name": "mwe-upwiz-license-usgov-head",
                "normalizedname": "mwe-upwiz-license-usgov-head",
                "*": "{{PLURAL:$1|This work was|These works were}} made by the United States government"
            },
            {
                "name": "mwe-upwiz-location",
                "normalizedname": "mwe-upwiz-location",
                "*": "Location"
            },
            {
                "name": "mwe-upwiz-location-alt",
                "normalizedname": "mwe-upwiz-location-alt",
                "*": "Altitude"
            },
            {
                "name": "mwe-upwiz-location-button",
                "normalizedname": "mwe-upwiz-location-button",
                "*": "Show on map"
            },
            {
                "name": "mwe-upwiz-location-heading",
                "normalizedname": "mwe-upwiz-location-heading",
                "*": "Heading"
            },
            {
                "name": "mwe-upwiz-location-lat",
                "normalizedname": "mwe-upwiz-location-lat",
                "*": "Latitude"
            },
            {
                "name": "mwe-upwiz-location-lon",
                "normalizedname": "mwe-upwiz-location-lon",
                "*": "Longitude"
            },
            {
                "name": "mwe-upwiz-metadata-help-content",
                "normalizedname": "mwe-upwiz-metadata-help-content",
                "*": "Now that your files have uploaded, adding metadata to them will help make them more discoverable for others."
            },
            {
                "name": "mwe-upwiz-metadata-help-title",
                "normalizedname": "mwe-upwiz-metadata-help-title",
                "*": "Adding optional metadata"
            },
            {
                "name": "mwe-upwiz-metadata-notice-description",
                "normalizedname": "mwe-upwiz-metadata-notice-description",
                "*": "EXIF metadata in this file may contain location or other personal data automatically added by your camera. [https://commons.wikimedia.org/wiki/Commons:Exif Learn more] about how to edit or remove EXIF metadata."
            },
            {
                "name": "mwe-upwiz-metadata-notice-header",
                "normalizedname": "mwe-upwiz-metadata-notice-header",
                "*": "Personal data"
            },
            {
                "name": "mwe-upwiz-metadata-title",
                "normalizedname": "mwe-upwiz-metadata-title",
                "*": "Add metadata"
            },
            {
                "name": "mwe-upwiz-more-options",
                "normalizedname": "mwe-upwiz-more-options",
                "*": "Add location and more information \u2026"
            },
            {
                "name": "mwe-upwiz-multi-file-select2",
                "normalizedname": "mwe-upwiz-multi-file-select2",
                "*": "Select the files you would like to upload. Hold down the Shift key and click to select multiple files at once. You can select up to $1 {{PLURAL:$1|file|files}} to upload."
            },
            {
                "name": "mwe-upwiz-mv-cta-checkbox-label",
                "normalizedname": "mwe-upwiz-mv-cta-checkbox-label",
                "*": "Yes, I'd like to get notifications when my uploads have tags that are ready for my review"
            },
            {
                "name": "mwe-upwiz-mv-cta-description",
                "normalizedname": "mwe-upwiz-mv-cta-description",
                "*": "Commons has a [[c:Commons:Structured_data/Computer-aided_tagging|new tool]] that will suggest tags for images you upload if you haven't already added tags. When you confirm accurate tags, you're helping make images easier for everyone to search for."
            },
            {
                "name": "mwe-upwiz-mv-cta-dismiss",
                "normalizedname": "mwe-upwiz-mv-cta-dismiss",
                "*": "Dismiss"
            },
            {
                "name": "mwe-upwiz-mv-cta-final-cta",
                "normalizedname": "mwe-upwiz-mv-cta-final-cta",
                "*": "Ready to start tagging right away? [[c:Special:SuggestedTags|Give the tool a try]] by tagging popular images now!"
            },
            {
                "name": "mwe-upwiz-mv-cta-heading",
                "normalizedname": "mwe-upwiz-mv-cta-heading",
                "*": "Help make images more findable for everyone"
            },
            {
                "name": "mwe-upwiz-mv-cta-user-preference-set",
                "normalizedname": "mwe-upwiz-mv-cta-user-preference-set",
                "*": "Great! You can change this setting any time in your [[c:Special:Preferences#mw-prefsection-echo|Preferences]]."
            },
            {
                "name": "mwe-upwiz-mv-cta-user-preference-set-failed",
                "normalizedname": "mwe-upwiz-mv-cta-user-preference-set-failed",
                "*": "We couldn't save your preference at this time. Please visit your [[c:Special:Preferences#mw-prefsection-echo|Preferences]] to opt into notifications."
            },
            {
                "name": "mwe-upwiz-mv-cta-user-preference-unset",
                "normalizedname": "mwe-upwiz-mv-cta-user-preference-unset",
                "*": "You will no longer receive notifications to tag your uploads."
            },
            {
                "name": "mwe-upwiz-next",
                "normalizedname": "mwe-upwiz-next",
                "*": "Next"
            },
            {
                "name": "mwe-upwiz-next-deeds",
                "normalizedname": "mwe-upwiz-next-deeds",
                "*": "Next"
            },
            {
                "name": "mwe-upwiz-next-file",
                "normalizedname": "mwe-upwiz-next-file",
                "*": "Continue"
            },
            {
                "name": "mwe-upwiz-next-file-despite-failures",
                "normalizedname": "mwe-upwiz-next-file-despite-failures",
                "*": "Continue anyway"
            },
            {
                "name": "mwe-upwiz-objref-notice-existing-image",
                "normalizedname": "mwe-upwiz-objref-notice-existing-image",
                "*": "An image already exists for the referred object."
            },
            {
                "name": "mwe-upwiz-objref-notice-update-delay",
                "normalizedname": "mwe-upwiz-objref-notice-update-delay",
                "*": "Updating the referred page may take a while."
            },
            {
                "name": "mwe-upwiz-objref-pick-image",
                "normalizedname": "mwe-upwiz-objref-pick-image",
                "*": "Add the object reference to this image."
            },
            {
                "name": "mwe-upwiz-ok",
                "normalizedname": "mwe-upwiz-ok",
                "*": "OK"
            },
            {
                "name": "mwe-upwiz-other",
                "normalizedname": "mwe-upwiz-other",
                "*": "Other information"
            },
            {
                "name": "mwe-upwiz-override",
                "normalizedname": "mwe-upwiz-override",
                "*": "Upload anyway"
            },
            {
                "name": "mwe-upwiz-override-upload",
                "normalizedname": "mwe-upwiz-override-upload",
                "*": "Upload this file anyway."
            },
            {
                "name": "mwe-upwiz-patent",
                "normalizedname": "mwe-upwiz-patent",
                "*": "I, $2, would like to grant a permanent patent license to any users of {{PLURAL:$1|the file|the files}} and related 3D objects ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-patent-dialog-button-back",
                "normalizedname": "mwe-upwiz-patent-dialog-button-back",
                "*": "Back"
            },
            {
                "name": "mwe-upwiz-patent-dialog-button-next",
                "normalizedname": "mwe-upwiz-patent-dialog-button-next",
                "*": "Next"
            },
            {
                "name": "mwe-upwiz-patent-dialog-checkbox-label",
                "normalizedname": "mwe-upwiz-patent-dialog-checkbox-label",
                "*": "I agree with these terms"
            },
            {
                "name": "mwe-upwiz-patent-dialog-link-license",
                "normalizedname": "mwe-upwiz-patent-dialog-link-license",
                "*": "Learn more"
            },
            {
                "name": "mwe-upwiz-patent-dialog-link-warranty",
                "normalizedname": "mwe-upwiz-patent-dialog-link-warranty",
                "*": "Learn more"
            },
            {
                "name": "mwe-upwiz-patent-dialog-text-license",
                "normalizedname": "mwe-upwiz-patent-dialog-text-license",
                "*": "Any 3D objects depicted in {{PLURAL:$1|the file|the files}} are my own work."
            },
            {
                "name": "mwe-upwiz-patent-dialog-text-warranty",
                "normalizedname": "mwe-upwiz-patent-dialog-text-warranty",
                "*": "Use of {{PLURAL:$1|this file|these files}} and any objects depicted in {{PLURAL:$1|the file|the files}} will not knowingly or recklessly infringe any patents."
            },
            {
                "name": "mwe-upwiz-patent-dialog-title",
                "normalizedname": "mwe-upwiz-patent-dialog-title",
                "*": "Patent rights"
            },
            {
                "name": "mwe-upwiz-patent-dialog-title-filename",
                "normalizedname": "mwe-upwiz-patent-dialog-title-filename",
                "*": "Legal rights for: $1"
            },
            {
                "name": "mwe-upwiz-patent-dialog-title-license",
                "normalizedname": "mwe-upwiz-patent-dialog-title-license",
                "*": "Patent License"
            },
            {
                "name": "mwe-upwiz-patent-dialog-title-warranty",
                "normalizedname": "mwe-upwiz-patent-dialog-title-warranty",
                "*": "Warranty about Patents"
            },
            {
                "name": "mwe-upwiz-patent-weapon-policy",
                "normalizedname": "mwe-upwiz-patent-weapon-policy",
                "*": "Users should avoid uploading any 3D models that could be viewed as a weapon or \"defense article\".\nThe Commons community might remove such items upon moderation."
            },
            {
                "name": "mwe-upwiz-patent-weapon-policy-link",
                "normalizedname": "mwe-upwiz-patent-weapon-policy-link",
                "*": "Read policy details"
            },
            {
                "name": "mwe-upwiz-prefs-def-license",
                "normalizedname": "mwe-upwiz-prefs-def-license",
                "*": "Default license"
            },
            {
                "name": "mwe-upwiz-prefs-def-license-custom",
                "normalizedname": "mwe-upwiz-prefs-def-license-custom",
                "*": "Custom default license"
            },
            {
                "name": "mwe-upwiz-prefs-def-license-custom-help",
                "normalizedname": "mwe-upwiz-prefs-def-license-custom-help",
                "*": "This field is only used if you choose the last option above."
            },
            {
                "name": "mwe-upwiz-prefs-def-license-def",
                "normalizedname": "mwe-upwiz-prefs-def-license-def",
                "*": "Use whatever the default is"
            },
            {
                "name": "mwe-upwiz-prefs-license-name",
                "normalizedname": "mwe-upwiz-prefs-license-name",
                "*": "Author's name"
            },
            {
                "name": "mwe-upwiz-prefs-license-name-help",
                "normalizedname": "mwe-upwiz-prefs-license-name-help",
                "*": "Defaults to username if the field is left empty"
            },
            {
                "name": "mwe-upwiz-prefs-license-own",
                "normalizedname": "mwe-upwiz-prefs-license-own",
                "*": "Own work - $1"
            },
            {
                "name": "mwe-upwiz-prefs-license-thirdparty",
                "normalizedname": "mwe-upwiz-prefs-license-thirdparty",
                "*": "Someone else's work - $1"
            },
            {
                "name": "mwe-upwiz-prefs-maxsimultaneous-upload",
                "normalizedname": "mwe-upwiz-prefs-maxsimultaneous-upload",
                "*": "Maximum number of concurrent uploads"
            },
            {
                "name": "mwe-upwiz-prefs-skiptutorial",
                "normalizedname": "mwe-upwiz-prefs-skiptutorial",
                "*": "Skip introductory licensing tutorial"
            },
            {
                "name": "mwe-upwiz-previous",
                "normalizedname": "mwe-upwiz-previous",
                "*": "Back"
            },
            {
                "name": "mwe-upwiz-progressbar-uploading",
                "normalizedname": "mwe-upwiz-progressbar-uploading",
                "*": "uploading"
            },
            {
                "name": "mwe-upwiz-publish",
                "normalizedname": "mwe-upwiz-publish",
                "*": "Publishing\u2026"
            },
            {
                "name": "mwe-upwiz-publish-details",
                "normalizedname": "mwe-upwiz-publish-details",
                "*": "Publish files"
            },
            {
                "name": "mwe-upwiz-publish-metadata",
                "normalizedname": "mwe-upwiz-publish-metadata",
                "*": "Publish data for all files"
            },
            {
                "name": "mwe-upwiz-publish-metadata-error",
                "normalizedname": "mwe-upwiz-publish-metadata-error",
                "*": "Please fix all errors."
            },
            {
                "name": "mwe-upwiz-published",
                "normalizedname": "mwe-upwiz-published",
                "*": "Published!"
            },
            {
                "name": "mwe-upwiz-queued",
                "normalizedname": "mwe-upwiz-queued",
                "*": "Queued\u2026"
            },
            {
                "name": "mwe-upwiz-remove",
                "normalizedname": "mwe-upwiz-remove",
                "*": "Remove"
            },
            {
                "name": "mwe-upwiz-remove-caption",
                "normalizedname": "mwe-upwiz-remove-caption",
                "*": "Remove this caption"
            },
            {
                "name": "mwe-upwiz-remove-description",
                "normalizedname": "mwe-upwiz-remove-description",
                "*": "Remove this description"
            },
            {
                "name": "mwe-upwiz-remove-upload",
                "normalizedname": "mwe-upwiz-remove-upload",
                "*": "Remove this file from the list of files to upload"
            },
            {
                "name": "mwe-upwiz-select-date",
                "normalizedname": "mwe-upwiz-select-date",
                "*": "Select a date"
            },
            {
                "name": "mwe-upwiz-select-flickr",
                "normalizedname": "mwe-upwiz-select-flickr",
                "*": "Upload selected images"
            },
            {
                "name": "mwe-upwiz-skip-metadata",
                "normalizedname": "mwe-upwiz-skip-metadata",
                "*": "Skip this step"
            },
            {
                "name": "mwe-upwiz-skip-tutorial-future",
                "normalizedname": "mwe-upwiz-skip-tutorial-future",
                "*": "Skip this step in the future"
            },
            {
                "name": "mwe-upwiz-source",
                "normalizedname": "mwe-upwiz-source",
                "*": "Source"
            },
            {
                "name": "mwe-upwiz-source-custom",
                "normalizedname": "mwe-upwiz-source-custom",
                "*": "Provide copyright information for each file individually on the next page."
            },
            {
                "name": "mwe-upwiz-source-ownwork",
                "normalizedname": "mwe-upwiz-source-ownwork",
                "*": "{{PLURAL:$1|This file is|These files are}} my own work."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert",
                "normalizedname": "mwe-upwiz-source-ownwork-assert",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, hereby irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} for any purpose, as long as they credit me and share derivative work under the same terms."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-any-license",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-any-license",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, hereby irrevocably grant anyone the right to use, modify and redistribute {{PLURAL:$1|this work|these works}} for any purpose, and I therefore publish {{PLURAL:$1|it|them}} under the following terms:"
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-3.0",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-3.0",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution 3.0 license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-4.0",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-4.0",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution 4.0 license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-at",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-at",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Austria license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-de",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-de",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Germany license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-ee",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-ee",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Estonia license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-es",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-es",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Spain license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-hr",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-hr",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Croatia license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-lu",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-lu",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Luxembourg license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-nl",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-nl",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Netherlands license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-no",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-no",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Norway license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-pl",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-pl",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Poland license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-ro",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-3.0-ro",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 3.0 Romania license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-by-sa-4.0",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-by-sa-4.0",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Attribution ShareAlike 4.0 license ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-cc-zero",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-cc-zero",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the Creative Commons Zero Public Domain Dedication ([$3 legal code])."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-custom",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-custom",
                "*": "I, $2, {{GENDER:$4|the copyright holder}} of {{PLURAL:$1|this work|these works}}, irrevocably grant anyone the right to use {{PLURAL:$1|this work|these works}} under the following license:"
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-generic",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-generic",
                "*": "I have reviewed [[{{int:disclaimerpage}}|the disclaimer for this wiki]] and to my best knowledge {{PLURAL:$1|this work is|these works are}} not under data protection levels exceeding those of this wiki."
            },
            {
                "name": "mwe-upwiz-source-ownwork-assert-note",
                "normalizedname": "mwe-upwiz-source-ownwork-assert-note",
                "*": "I, copyright holder of {{PLURAL:$2|this work|these works}}, publish {{PLURAL:$2|this work|these works}} under the $1 license."
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-3.0-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-3.0-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-4.0-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-4.0-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-at-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-at-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-de-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-de-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-ee-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-ee-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-es-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-es-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-hr-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-hr-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-lu-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-lu-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-nl-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-nl-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-no-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-no-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-pl-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-pl-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-ro-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-3.0-ro-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-by-sa-4.0-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-by-sa-4.0-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, as long as they credit me and share any derivative work under this license.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-cc-zero-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-cc-zero-explain",
                "*": "(Anyone may use, share or remix {{PLURAL:$1|this work|these works}}, with no restrictions at all.)"
            },
            {
                "name": "mwe-upwiz-source-ownwork-generic-explain",
                "normalizedname": "mwe-upwiz-source-ownwork-generic-explain",
                "*": "({{PLURAL:$1|This work is|These works are}} acceptable for upload to this wiki)"
            },
            {
                "name": "mwe-upwiz-source-permission",
                "normalizedname": "mwe-upwiz-source-permission",
                "*": "Their author gave you explicit permission to upload them"
            },
            {
                "name": "mwe-upwiz-source-thirdparty",
                "normalizedname": "mwe-upwiz-source-thirdparty",
                "*": "{{PLURAL:$1|This file is|These files are}} not my own work."
            },
            {
                "name": "mwe-upwiz-source-thirdparty-accept",
                "normalizedname": "mwe-upwiz-source-thirdparty-accept",
                "*": "OK"
            },
            {
                "name": "mwe-upwiz-source-thirdparty-cases",
                "normalizedname": "mwe-upwiz-source-thirdparty-cases",
                "*": "Now tell us why you are sure you have the right to publish {{PLURAL:$1|this work|these works}}:"
            },
            {
                "name": "mwe-upwiz-source-thirdparty-custom-multiple-intro",
                "normalizedname": "mwe-upwiz-source-thirdparty-custom-multiple-intro",
                "*": "If all files have the same source, author, and copyright status, you may enter them only once for all of them."
            },
            {
                "name": "mwe-upwiz-source-thirdparty-intro",
                "normalizedname": "mwe-upwiz-source-thirdparty-intro",
                "*": "Please enter the address where you found each file."
            },
            {
                "name": "mwe-upwiz-stashed-upload",
                "normalizedname": "mwe-upwiz-stashed-upload",
                "*": "Uploaded"
            },
            {
                "name": "mwe-upwiz-step-deeds",
                "normalizedname": "mwe-upwiz-step-deeds",
                "*": "Release rights"
            },
            {
                "name": "mwe-upwiz-step-details",
                "normalizedname": "mwe-upwiz-step-details",
                "*": "Describe"
            },
            {
                "name": "mwe-upwiz-step-file",
                "normalizedname": "mwe-upwiz-step-file",
                "*": "Upload"
            },
            {
                "name": "mwe-upwiz-step-metadata",
                "normalizedname": "mwe-upwiz-step-metadata",
                "*": "Add data"
            },
            {
                "name": "mwe-upwiz-step-thanks",
                "normalizedname": "mwe-upwiz-step-thanks",
                "*": "Use"
            },
            {
                "name": "mwe-upwiz-step-tutorial",
                "normalizedname": "mwe-upwiz-step-tutorial",
                "*": "Learn"
            },
            {
                "name": "mwe-upwiz-subhead-alt-upload",
                "normalizedname": "mwe-upwiz-subhead-alt-upload",
                "*": "Back to the old form"
            },
            {
                "name": "mwe-upwiz-subhead-alternatives",
                "normalizedname": "mwe-upwiz-subhead-alternatives",
                "*": "Alternative upload methods"
            },
            {
                "name": "mwe-upwiz-subhead-bugs",
                "normalizedname": "mwe-upwiz-subhead-bugs",
                "*": "[$1 Known issues]"
            },
            {
                "name": "mwe-upwiz-submitting-captions",
                "normalizedname": "mwe-upwiz-submitting-captions",
                "*": "Submitting {{PLURAL:$1|caption|captions}}\u2026"
            },
            {
                "name": "mwe-upwiz-submitting-details",
                "normalizedname": "mwe-upwiz-submitting-details",
                "*": "Submitting details\u2026"
            },
            {
                "name": "mwe-upwiz-thanks-explain",
                "normalizedname": "mwe-upwiz-thanks-explain",
                "*": "You can now use {{PLURAL:$1|this file|these files}} on wikis, or link to {{PLURAL:$1|it|them}} on the web."
            },
            {
                "name": "mwe-upwiz-thanks-intro",
                "normalizedname": "mwe-upwiz-thanks-intro",
                "*": "Thanks for uploading!"
            },
            {
                "name": "mwe-upwiz-thanks-update-delay",
                "normalizedname": "mwe-upwiz-thanks-update-delay",
                "*": "Inserting the image into the list page may take up to five minutes."
            },
            {
                "name": "mwe-upwiz-thanks-url",
                "normalizedname": "mwe-upwiz-thanks-url",
                "*": "To link to it in HTML, copy this URL:"
            },
            {
                "name": "mwe-upwiz-thanks-wikitext",
                "normalizedname": "mwe-upwiz-thanks-wikitext",
                "*": "To use the file in a wiki, copy this text into a page:"
            },
            {
                "name": "mwe-upwiz-thumbnail-failed",
                "normalizedname": "mwe-upwiz-thumbnail-failed",
                "*": "The upload succeeded, but the server could not get a preview thumbnail."
            },
            {
                "name": "mwe-upwiz-title",
                "normalizedname": "mwe-upwiz-title",
                "*": "Image title"
            },
            {
                "name": "mwe-upwiz-too-many-files",
                "normalizedname": "mwe-upwiz-too-many-files",
                "*": "Too many files."
            },
            {
                "name": "mwe-upwiz-too-many-files-text",
                "normalizedname": "mwe-upwiz-too-many-files-text",
                "*": "You can only upload $1 {{PLURAL:$1|file|files}} at once but you tried to upload $2 {{PLURAL:$2|file|files}} in total. Please try again with fewer files!"
            },
            {
                "name": "mwe-upwiz-tooltip-author",
                "normalizedname": "mwe-upwiz-tooltip-author",
                "*": "The name of the person who took the photo, or painted the picture, drew the drawing, etc."
            },
            {
                "name": "mwe-upwiz-tooltip-caption",
                "normalizedname": "mwe-upwiz-tooltip-caption",
                "*": "Add a one-line explanation of what this file represents, including only the most relevant information."
            },
            {
                "name": "mwe-upwiz-tooltip-categories",
                "normalizedname": "mwe-upwiz-tooltip-categories",
                "*": "Add your file to [$1 categories] so as to make it easier to find."
            },
            {
                "name": "mwe-upwiz-tooltip-date",
                "normalizedname": "mwe-upwiz-tooltip-date",
                "*": "Choose the date this work was created or first published."
            },
            {
                "name": "mwe-upwiz-tooltip-description",
                "normalizedname": "mwe-upwiz-tooltip-description",
                "*": "Provide all information that will help others understand what this file represents."
            },
            {
                "name": "mwe-upwiz-tooltip-location",
                "normalizedname": "mwe-upwiz-tooltip-location",
                "*": "[$1 Geocode your file] to identify where the media was recorded (it is not always useful to enter a location for every kind of media)."
            },
            {
                "name": "mwe-upwiz-tooltip-more-info",
                "normalizedname": "mwe-upwiz-tooltip-more-info",
                "*": "Learn more."
            },
            {
                "name": "mwe-upwiz-tooltip-other",
                "normalizedname": "mwe-upwiz-tooltip-other",
                "*": "Any other information you want to include about this work."
            },
            {
                "name": "mwe-upwiz-tooltip-sign",
                "normalizedname": "mwe-upwiz-tooltip-sign",
                "*": "You can use your wiki user name or your real name.\nIn both cases, this will be linked to your wiki user page."
            },
            {
                "name": "mwe-upwiz-tooltip-skiptutorial",
                "normalizedname": "mwe-upwiz-tooltip-skiptutorial",
                "*": "You can re-enable this tutorial in [$1 your user preferences], under $2 \u2192 $3."
            },
            {
                "name": "mwe-upwiz-tooltip-source",
                "normalizedname": "mwe-upwiz-tooltip-source",
                "*": "Where this digital file came from \u2014 could be a URL, or a book or publication."
            },
            {
                "name": "mwe-upwiz-tooltip-title",
                "normalizedname": "mwe-upwiz-tooltip-title",
                "*": "Create a unique descriptive title using plain language with spaces. Omit the file extension, if any."
            },
            {
                "name": "mwe-upwiz-transport-started",
                "normalizedname": "mwe-upwiz-transport-started",
                "*": "Starting\u2026"
            },
            {
                "name": "mwe-upwiz-transported",
                "normalizedname": "mwe-upwiz-transported",
                "*": "Finished uploading\u2026"
            },
            {
                "name": "mwe-upwiz-tutorial-error-cannot-transform",
                "normalizedname": "mwe-upwiz-tutorial-error-cannot-transform",
                "*": "Sorry, we could not get a scaled image of the tutorial to fit this screen. This may be a temporary problem with Wikimedia Commons; try again later."
            },
            {
                "name": "mwe-upwiz-tutorial-error-file-missing",
                "normalizedname": "mwe-upwiz-tutorial-error-file-missing",
                "*": "Sorry, we could not find any files for the tutorial that is supposed to go here. Please contact the system administrators."
            },
            {
                "name": "mwe-upwiz-tutorial-error-localized-file-missing",
                "normalizedname": "mwe-upwiz-tutorial-error-localized-file-missing",
                "*": "Sorry, we could not find a tutorial in your language. The $1 one is shown instead."
            },
            {
                "name": "mwe-upwiz-unavailable",
                "normalizedname": "mwe-upwiz-unavailable",
                "*": "Your browser is not compatible with UploadWizard or has JavaScript turned off, so we are showing you a simple upload form. ([https://www.mediawiki.org/wiki/Special:MyLanguage/UploadWizard#Compatibility View compatibility requirements].)"
            },
            {
                "name": "mwe-upwiz-undid-metadata",
                "normalizedname": "mwe-upwiz-undid-metadata",
                "*": "Copy undone."
            },
            {
                "name": "mwe-upwiz-unparseable-filename",
                "normalizedname": "mwe-upwiz-unparseable-filename",
                "*": "Could not understand the filename \"$1\"."
            },
            {
                "name": "mwe-upwiz-upload",
                "normalizedname": "mwe-upwiz-upload",
                "*": "Upload"
            },
            {
                "name": "mwe-upwiz-upload-another",
                "normalizedname": "mwe-upwiz-upload-another",
                "*": "Upload more files"
            },
            {
                "name": "mwe-upwiz-upload-comment-own-work",
                "normalizedname": "mwe-upwiz-upload-comment-own-work",
                "*": "Uploaded own work with UploadWizard"
            },
            {
                "name": "mwe-upwiz-upload-comment-third-party",
                "normalizedname": "mwe-upwiz-upload-comment-third-party",
                "*": "Uploaded a work by $1 from $2 with UploadWizard"
            },
            {
                "name": "mwe-upwiz-upload-count",
                "normalizedname": "mwe-upwiz-upload-count",
                "*": "$1 of $2 {{PLURAL:$2|file|files}} uploaded"
            },
            {
                "name": "mwe-upwiz-upload-error-bad-filename-extension",
                "normalizedname": "mwe-upwiz-upload-error-bad-filename-extension",
                "*": "This wiki does not accept filenames that end in the extension \".$1\"."
            },
            {
                "name": "mwe-upwiz-upload-error-bad-filename-no-extension",
                "normalizedname": "mwe-upwiz-upload-error-bad-filename-no-extension",
                "*": "This wiki requires that files have an extension \u2014 like \".JPG\" at the end of the filename."
            },
            {
                "name": "mwe-upwiz-upload-error-duplicate",
                "normalizedname": "mwe-upwiz-upload-error-duplicate",
                "*": "This file was previously uploaded to this wiki."
            },
            {
                "name": "mwe-upwiz-upload-error-duplicate-archive",
                "normalizedname": "mwe-upwiz-upload-error-duplicate-archive",
                "*": "This file was previously uploaded to this wiki, but later deleted."
            },
            {
                "name": "mwe-upwiz-upload-error-duplicate-filename-error",
                "normalizedname": "mwe-upwiz-upload-error-duplicate-filename-error",
                "*": "You are already uploading the file \"$1\"."
            },
            {
                "name": "mwe-upwiz-upload-error-stashed-anyway",
                "normalizedname": "mwe-upwiz-upload-error-stashed-anyway",
                "*": "Upload anyway?"
            },
            {
                "name": "mwe-upwiz-uploading",
                "normalizedname": "mwe-upwiz-uploading",
                "*": "Uploading\u2026"
            },
            {
                "name": "mwe-upwiz-url-invalid",
                "normalizedname": "mwe-upwiz-url-invalid",
                "*": "The URL entered is unsupported or points to an invalid or restricted $1 image or photoset and cannot be used."
            },
            {
                "name": "mwe-upwiz-user-blacklisted",
                "normalizedname": "mwe-upwiz-user-blacklisted",
                "*": "Unfortunately, no images from this $1 account can be uploaded on this site."
            },
            {
                "name": "mwe-upwiz-warning-categories-missing",
                "normalizedname": "mwe-upwiz-warning-categories-missing",
                "*": "It is recommended that you fill in some categories for your uploads."
            },
            {
                "name": "mwe-upwiz-warning-postdate",
                "normalizedname": "mwe-upwiz-warning-postdate",
                "*": "The date that you selected is in the future."
            },
            {
                "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": "mycustomjsredirectprotected",
                "normalizedname": "mycustomjsredirectprotected",
                "*": "You do not have permission to edit this JavaScript page because it is a redirect and it does not point inside your userspace."
            },
            {
                "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": "negative-namespace-not-supported",
                "normalizedname": "negative-namespace-not-supported",
                "*": "Namespaces with negative values are not supported."
            },
            {
                "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-legend",
                "normalizedname": "newimages-legend",
                "*": "Filter"
            },
            {
                "name": "newimages-mediatype",
                "normalizedname": "newimages-mediatype",
                "*": "Media type:"
            },
            {
                "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": "newpage-desc",
                "normalizedname": "newpage-desc",
                "*": "Start a new page for a topic that has been requested."
            },
            {
                "name": "newpageletter",
                "normalizedname": "newpageletter",
                "*": "N"
            },
            {
                "name": "newpages",
                "normalizedname": "newpages",
                "*": "New pages"
            },
            {
                "name": "newpages-showhide-bots",
                "normalizedname": "newpages-showhide-bots",
                "*": "$1 bots"
            },
            {
                "name": "newpages-showhide-patrolled",
                "normalizedname": "newpages-showhide-patrolled",
                "*": "$1 patrolled edits"
            },
            {
                "name": "newpages-showhide-redirect",
                "normalizedname": "newpages-showhide-redirect",
                "*": "$1 redirects"
            },
            {
                "name": "newpages-showhide-registered",
                "normalizedname": "newpages-showhide-registered",
                "*": "$1 registered users"
            },
            {
                "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": "newsection",
                "normalizedname": "newsection",
                "*": "New section"
            },
            {
                "name": "newsection-page",
                "normalizedname": "newsection-page",
                "*": "Target page"
            },
            {
                "name": "newsection-submit",
                "normalizedname": "newsection-submit",
                "*": "Go to page"
            },
            {
                "name": "newsection-summary",
                "normalizedname": "newsection-summary",
                "*": ""
            },
            {
                "name": "newsectionheaderdefaultlevel",
                "normalizedname": "newsectionheaderdefaultlevel",
                "*": "== $1 =="
            },
            {
                "name": "newsectionsummary",
                "normalizedname": "newsectionsummary",
                "*": "/* $1 */ new section"
            },
            {
                "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>$2</strong>."
            },
            {
                "name": "nolinkshere-filter",
                "normalizedname": "nolinkshere-filter",
                "*": "No pages link to <strong>$2</strong> with the current search settings."
            },
            {
                "name": "nolinkshere-ns",
                "normalizedname": "nolinkshere-ns",
                "*": "No pages link to <strong>$2</strong> in the chosen namespace."
            },
            {
                "name": "nolinkstoimage",
                "normalizedname": "nolinkstoimage",
                "*": "There are no pages that use 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": "nonmain-slot-differences-therefore-readonly",
                "normalizedname": "nonmain-slot-differences-therefore-readonly",
                "*": "You cannot edit the wikitext on this revision of the page, as there have been changes to the data on the page since this revision that are not wikitext-based. [$1 To restore this revision click here.]"
            },
            {
                "name": "nonnumeric-formatnum",
                "normalizedname": "nonnumeric-formatnum",
                "*": "Pages with non-numeric formatnum arguments"
            },
            {
                "name": "nonnumeric-formatnum-desc",
                "normalizedname": "nonnumeric-formatnum-desc",
                "*": "The page contains a non-numeric argument to the formatnum parser function."
            },
            {
                "name": "nonwrite-api-promise-error",
                "normalizedname": "nonwrite-api-promise-error",
                "*": "The 'Promise-Non-Write-API-Action' HTTP header was sent but the request was not an API request."
            },
            {
                "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": "notification-body-edit-user-talk-with-section",
                "normalizedname": "notification-body-edit-user-talk-with-section",
                "*": "$1"
            },
            {
                "name": "notification-body-emailuser",
                "normalizedname": "notification-body-emailuser",
                "*": "$1"
            },
            {
                "name": "notification-body-foreign",
                "normalizedname": "notification-body-foreign",
                "*": "$1"
            },
            {
                "name": "notification-body-mention",
                "normalizedname": "notification-body-mention",
                "*": "$1"
            },
            {
                "name": "notification-body-oathauth-disable",
                "normalizedname": "notification-body-oathauth-disable",
                "*": "If {{GENDER:$2|you}} did not do this, {{GENDER:$2|your account}} may have been compromised."
            },
            {
                "name": "notification-body-oathauth-disable-other",
                "normalizedname": "notification-body-oathauth-disable-other",
                "*": "If {{GENDER:$2|you}} did not request this, {{GENDER:$2|you}} should contact an administrator."
            },
            {
                "name": "notification-body-oathauth-enable",
                "normalizedname": "notification-body-oathauth-enable",
                "*": "If {{GENDER:$2|you}} did not do this, {{GENDER:$2|your account}} may have been compromised."
            },
            {
                "name": "notification-body-reverted",
                "normalizedname": "notification-body-reverted",
                "*": "$1"
            },
            {
                "name": "notification-body-watchlist-once",
                "normalizedname": "notification-body-watchlist-once",
                "*": "There will be no other email notifications in case of further activity unless {{GENDER:$1|you visit}} this page while logged in."
            },
            {
                "name": "notification-bundle-header-edit-user-page",
                "normalizedname": "notification-bundle-header-edit-user-page",
                "*": "{{PLURAL:$1|One new edit|$1 new edits|100=99+ new edits}} to <strong>{{GENDER:$2|your}} user page</strong>."
            },
            {
                "name": "notification-bundle-header-edit-user-talk-v2",
                "normalizedname": "notification-bundle-header-edit-user-talk-v2",
                "*": "{{PLURAL:$1|One new message|$1 new messages|100=99+ new messages}} on <strong>{{GENDER:$3|your}} talk page</strong>."
            },
            {
                "name": "notification-bundle-header-flow-thank",
                "normalizedname": "notification-bundle-header-flow-thank",
                "*": "{{PLURAL:$1|One person|$1 people|100=99+ people}} thanked {{GENDER:$3|you}} for your comment in \"<strong>$2</strong>\"."
            },
            {
                "name": "notification-bundle-header-log-thank",
                "normalizedname": "notification-bundle-header-log-thank",
                "*": "{{PLURAL:$1|One person|$1 people|100=99+ people}} thanked {{GENDER:$3|you}} for your action relating to <strong>$2</strong>."
            },
            {
                "name": "notification-bundle-header-page-linked",
                "normalizedname": "notification-bundle-header-page-linked",
                "*": "Links were made from {{PLURAL:$5||$5 pages|100=99+ pages}} to <strong>$3</strong>."
            },
            {
                "name": "notification-bundle-header-rev-thank",
                "normalizedname": "notification-bundle-header-rev-thank",
                "*": "{{PLURAL:$1|One person|$1 people|100=99+ people}} thanked {{GENDER:$3|you}} for your edit on <strong>$2</strong>."
            },
            {
                "name": "notification-compact-header-edit-thank",
                "normalizedname": "notification-compact-header-edit-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$3|you}}."
            },
            {
                "name": "notification-compact-header-edit-user-page",
                "normalizedname": "notification-compact-header-edit-user-page",
                "*": "$1 {{GENDER:$2|edited}} {{GENDER:$3|your}} user page."
            },
            {
                "name": "notification-compact-header-edit-user-talk",
                "normalizedname": "notification-compact-header-edit-user-talk",
                "*": "$1 {{GENDER:$2|left}} {{GENDER:$3|you}} a message."
            },
            {
                "name": "notification-compact-header-edit-user-talk-with-section",
                "normalizedname": "notification-compact-header-edit-user-talk-with-section",
                "*": "$1 {{GENDER:$2|left}} {{GENDER:$3|you}} a message in \"<strong>$4</strong>\"."
            },
            {
                "name": "notification-compact-header-flow-thank",
                "normalizedname": "notification-compact-header-flow-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$3|you}}."
            },
            {
                "name": "notification-compact-header-mention-failure-user-anonymous",
                "normalizedname": "notification-compact-header-mention-failure-user-anonymous",
                "*": "<strong>IPs cannot be mentioned:</strong> $1"
            },
            {
                "name": "notification-compact-header-mention-failure-user-unknown",
                "normalizedname": "notification-compact-header-mention-failure-user-unknown",
                "*": "<strong>Username does not exist:</strong> $1"
            },
            {
                "name": "notification-compact-header-mention-success",
                "normalizedname": "notification-compact-header-mention-success",
                "*": "<strong>{{GENDER:$2|You mentioned}}:</strong> $3"
            },
            {
                "name": "notification-compact-header-page-linked",
                "normalizedname": "notification-compact-header-page-linked",
                "*": "Linked from <strong>$1</strong>."
            },
            {
                "name": "notification-dynamic-actions-mute-page-linked",
                "normalizedname": "notification-dynamic-actions-mute-page-linked",
                "*": "{{GENDER:$2|Mute}} link notifications on \"$1\""
            },
            {
                "name": "notification-dynamic-actions-mute-page-linked-confirmation",
                "normalizedname": "notification-dynamic-actions-mute-page-linked-confirmation",
                "*": "\"Page link\" notifications are now disabled for the page \"$1\""
            },
            {
                "name": "notification-dynamic-actions-mute-page-linked-confirmation-description",
                "normalizedname": "notification-dynamic-actions-mute-page-linked-confirmation-description",
                "*": "{{GENDER:$2|You}} can manage your muted pages in [$1 your preferences] anytime."
            },
            {
                "name": "notification-dynamic-actions-unmute-page-linked",
                "normalizedname": "notification-dynamic-actions-unmute-page-linked",
                "*": "{{GENDER:$2|Unmute}} link notifications on \"$1\""
            },
            {
                "name": "notification-dynamic-actions-unmute-page-linked-confirmation",
                "normalizedname": "notification-dynamic-actions-unmute-page-linked-confirmation",
                "*": "\"Page link\" notifications are now enabled for the page \"$1\""
            },
            {
                "name": "notification-dynamic-actions-unmute-page-linked-confirmation-description",
                "normalizedname": "notification-dynamic-actions-unmute-page-linked-confirmation-description",
                "*": "{{GENDER:$2|You}} can manage your muted pages in [$1 your preferences] anytime."
            },
            {
                "name": "notification-dynamic-actions-unwatch",
                "normalizedname": "notification-dynamic-actions-unwatch",
                "*": "{{GENDER:$3|Stop}} watching new activity on \"$1\""
            },
            {
                "name": "notification-dynamic-actions-unwatch-confirmation",
                "normalizedname": "notification-dynamic-actions-unwatch-confirmation",
                "*": "{{GENDER:$3|You}} are no longer watching the page \"$1\""
            },
            {
                "name": "notification-dynamic-actions-unwatch-confirmation-description",
                "normalizedname": "notification-dynamic-actions-unwatch-confirmation-description",
                "*": "{{GENDER:$3|You}} can watch [$2 this page] anytime."
            },
            {
                "name": "notification-dynamic-actions-watch",
                "normalizedname": "notification-dynamic-actions-watch",
                "*": "{{GENDER:$3|Follow}} new activity on \"$1\""
            },
            {
                "name": "notification-dynamic-actions-watch-confirmation",
                "normalizedname": "notification-dynamic-actions-watch-confirmation",
                "*": "{{GENDER:$3|You}} are now watching the page \"$1\""
            },
            {
                "name": "notification-dynamic-actions-watch-confirmation-description",
                "normalizedname": "notification-dynamic-actions-watch-confirmation-description",
                "*": "{{GENDER:$3|You}} can stop watching [$2 this page] anytime."
            },
            {
                "name": "notification-edit-talk-page-email-subject2",
                "normalizedname": "notification-edit-talk-page-email-subject2",
                "*": "$1 {{GENDER:$2|left}} {{GENDER:$3|you}} a message on {{SITENAME}}"
            },
            {
                "name": "notification-edit-user-page-email-subject",
                "normalizedname": "notification-edit-user-page-email-subject",
                "*": "$1 {{GENDER:$2|edited}} {{GENDER:$3|your}} user page on {{SITENAME}}"
            },
            {
                "name": "notification-flow-thanks-post-link",
                "normalizedname": "notification-flow-thanks-post-link",
                "*": "your comment"
            },
            {
                "name": "notification-header-article-reminder",
                "normalizedname": "notification-header-article-reminder",
                "*": "A page {{GENDER:$2|you}} have requested to be reminded about is at <strong>$3</strong>"
            },
            {
                "name": "notification-header-creation-thank",
                "normalizedname": "notification-header-creation-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$4|you}} for your creation of <strong>$3</strong>."
            },
            {
                "name": "notification-header-edit-user-page",
                "normalizedname": "notification-header-edit-user-page",
                "*": "$1 {{GENDER:$2|edited}} <strong>{{GENDER:$3|your}} user page</strong>."
            },
            {
                "name": "notification-header-edit-user-talk",
                "normalizedname": "notification-header-edit-user-talk",
                "*": "$1 {{GENDER:$2|left}} a message on <strong>{{GENDER:$3|your}} talk page</strong>."
            },
            {
                "name": "notification-header-edit-user-talk-with-section",
                "normalizedname": "notification-header-edit-user-talk-with-section",
                "*": "$1 {{GENDER:$2|left}} a message on <strong>{{GENDER:$3|your}} talk page</strong> in \"<strong>$4</strong>\"."
            },
            {
                "name": "notification-header-emailuser",
                "normalizedname": "notification-header-emailuser",
                "*": "$1 {{GENDER:$2|sent}} you an email."
            },
            {
                "name": "notification-header-flow-thank",
                "normalizedname": "notification-header-flow-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$5|you}} for your comment in \"<strong>$3</strong>\"."
            },
            {
                "name": "notification-header-foreign-alert",
                "normalizedname": "notification-header-foreign-alert",
                "*": "More alerts from {{PLURAL:$5|another wiki|$5 other wikis}}"
            },
            {
                "name": "notification-header-foreign-all",
                "normalizedname": "notification-header-foreign-all",
                "*": "More notifications from {{PLURAL:$5|another wiki|$5 other wikis}}"
            },
            {
                "name": "notification-header-foreign-notice",
                "normalizedname": "notification-header-foreign-notice",
                "*": "More notices from {{PLURAL:$5|another wiki|$5 other wikis}}"
            },
            {
                "name": "notification-header-log-thank",
                "normalizedname": "notification-header-log-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$4|you}} for your action relating to <strong>$3</strong>."
            },
            {
                "name": "notification-header-login-success",
                "normalizedname": "notification-header-login-success",
                "*": "Someone (probably {{GENDER:$1|you}}) recently logged in to your account from a new device. If this was you, then you can disregard this message. If it wasn't you, then it's recommended that you change your password, and check your account activity."
            },
            {
                "name": "notification-header-mention-agent-talkpage",
                "normalizedname": "notification-header-mention-agent-talkpage",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on <strong>{{GENDER:$2|his|her|their}} talk page</strong> in \"<strong>$4</strong>\"."
            },
            {
                "name": "notification-header-mention-agent-talkpage-nosection",
                "normalizedname": "notification-header-mention-agent-talkpage-nosection",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on <strong>{{GENDER:$2|his|her|their}} talk page</strong>."
            },
            {
                "name": "notification-header-mention-article-talkpage",
                "normalizedname": "notification-header-mention-article-talkpage",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on the <strong>$4</strong> talk page in \"<strong>$5</strong>\"."
            },
            {
                "name": "notification-header-mention-article-talkpage-nosection",
                "normalizedname": "notification-header-mention-article-talkpage-nosection",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on the <strong>$4</strong> talk page."
            },
            {
                "name": "notification-header-mention-failure-bundle",
                "normalizedname": "notification-header-mention-failure-bundle",
                "*": "{{PLURAL:$3|A mention|$3 mentions}} {{GENDER:$2|you made}} on the <strong>$4</strong> talk page {{PLURAL:$3|could}} not be sent."
            },
            {
                "name": "notification-header-mention-failure-too-many",
                "normalizedname": "notification-header-mention-failure-too-many",
                "*": "{{GENDER:$2|You}} tried to mention more than $3 {{PLURAL:$3|user|users}}. All mentions above that limit were not sent."
            },
            {
                "name": "notification-header-mention-failure-user-anonymous",
                "normalizedname": "notification-header-mention-failure-user-anonymous",
                "*": "{{GENDER:$2|Your}} mention of <strong>$3</strong> was not sent because the user is anonymous."
            },
            {
                "name": "notification-header-mention-failure-user-unknown",
                "normalizedname": "notification-header-mention-failure-user-unknown",
                "*": "{{GENDER:$2|Your}} mention of <strong>$3</strong> was not sent because the user was not found."
            },
            {
                "name": "notification-header-mention-other",
                "normalizedname": "notification-header-mention-other",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on <strong>$4</strong> in \"<strong>$5</strong>\"."
            },
            {
                "name": "notification-header-mention-other-nosection",
                "normalizedname": "notification-header-mention-other-nosection",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on <strong>$4</strong>."
            },
            {
                "name": "notification-header-mention-status-bundle",
                "normalizedname": "notification-header-mention-status-bundle",
                "*": "{{PLURAL:$3|A notification|$3 notifications}} about mentions {{GENDER:$2|you made}} on the <strong>$4</strong> talk page: {{PLURAL:$5|$5 not sent}}, {{PLURAL:$6|$6 sent}}."
            },
            {
                "name": "notification-header-mention-success",
                "normalizedname": "notification-header-mention-success",
                "*": "{{GENDER:$2|Your}} mention of <strong>$3</strong> was sent."
            },
            {
                "name": "notification-header-mention-success-bundle",
                "normalizedname": "notification-header-mention-success-bundle",
                "*": "{{PLURAL:$3|A mention|$3 mentions}} {{GENDER:$2|you made}} on the <strong>$4</strong> talk page {{PLURAL:$3|were}} sent."
            },
            {
                "name": "notification-header-mention-summary",
                "normalizedname": "notification-header-mention-summary",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} in an edit summary on <strong>$4</strong>."
            },
            {
                "name": "notification-header-mention-user-talkpage-nosection",
                "normalizedname": "notification-header-mention-user-talkpage-nosection",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on the <strong>user talk page {{GENDER:$5|of}} $4</strong>."
            },
            {
                "name": "notification-header-mention-user-talkpage-v2",
                "normalizedname": "notification-header-mention-user-talkpage-v2",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on the <strong>user talk page {{GENDER:$5|of}} $4</strong> in \"<strong>$6</strong>\"."
            },
            {
                "name": "notification-header-oathauth-disable",
                "normalizedname": "notification-header-oathauth-disable",
                "*": "Two-factor authentication has been disabled on {{GENDER:$2|your account}}."
            },
            {
                "name": "notification-header-oathauth-enable",
                "normalizedname": "notification-header-oathauth-enable",
                "*": "Two-factor authentication has been enabled on {{GENDER:$2|your account}}."
            },
            {
                "name": "notification-header-page-linked",
                "normalizedname": "notification-header-page-linked",
                "*": "A link was made from <strong>$4</strong> to <strong>$3</strong>."
            },
            {
                "name": "notification-header-rev-thank",
                "normalizedname": "notification-header-rev-thank",
                "*": "$1 {{GENDER:$2|thanked}} {{GENDER:$4|you}} for your edit on <strong>$3</strong>."
            },
            {
                "name": "notification-header-reverted",
                "normalizedname": "notification-header-reverted",
                "*": "Your {{PLURAL:$4|edit on <strong>$3</strong> was|edits on <strong>$3</strong> were}} {{GENDER:$2|reverted}}."
            },
            {
                "name": "notification-header-thank-you-1-edit",
                "normalizedname": "notification-header-thank-you-1-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} first edit; thank {{GENDER:$2|you}}, and welcome!"
            },
            {
                "name": "notification-header-thank-you-10-edit",
                "normalizedname": "notification-header-thank-you-10-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} tenth edit; thank {{GENDER:$2|you}}, and please keep going!"
            },
            {
                "name": "notification-header-thank-you-100-edit",
                "normalizedname": "notification-header-thank-you-100-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} hundredth edit; thank {{GENDER:$2|you}} very much!"
            },
            {
                "name": "notification-header-thank-you-1000-edit",
                "normalizedname": "notification-header-thank-you-1000-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} thousandth edit; thank {{GENDER:$2|you}} for being a great contributor!"
            },
            {
                "name": "notification-header-thank-you-10000-edit",
                "normalizedname": "notification-header-thank-you-10000-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} ten thousandth edit; thank {{GENDER:$2|you}} so very much!"
            },
            {
                "name": "notification-header-thank-you-100000-edit",
                "normalizedname": "notification-header-thank-you-100000-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} hundred thousandth edit; thank {{GENDER:$2|you}} for an amazing contribution!"
            },
            {
                "name": "notification-header-thank-you-1000000-edit",
                "normalizedname": "notification-header-thank-you-1000000-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} millionth edit; thank {{GENDER:$2|you}} for an astonishing contribution!"
            },
            {
                "name": "notification-header-thank-you-10000000-edit",
                "normalizedname": "notification-header-thank-you-10000000-edit",
                "*": "{{GENDER:$2|You}} just made {{GENDER:$2|your}} ten millionth edit; thank {{GENDER:$2|you}} for your brilliant dedication!"
            },
            {
                "name": "notification-header-throttle-filter",
                "normalizedname": "notification-header-throttle-filter",
                "*": "Abuse filter $2 {{GENDER:$1|you}} recently edited was throttled."
            },
            {
                "name": "notification-header-throttle-filter-actions",
                "normalizedname": "notification-header-throttle-filter-actions",
                "*": "The abuse filter $2 {{GENDER:$1|you}} recently edited had a high rate of matches and the following {{PLURAL:$4|action was|actions were}} automatically disabled: $3."
            },
            {
                "name": "notification-header-throttle-filter-no-actions",
                "normalizedname": "notification-header-throttle-filter-no-actions",
                "*": "The abuse filter $2 {{GENDER:$1|you}} recently edited had a high rate of matches but no actions were automatically disabled."
            },
            {
                "name": "notification-header-user-rights-add-and-remove",
                "normalizedname": "notification-header-user-rights-add-and-remove",
                "*": "{{GENDER:$6|Your}} user rights were {{GENDER:$1|changed}}. You have been added to: $2. You are no longer a member of: $4."
            },
            {
                "name": "notification-header-user-rights-add-only",
                "normalizedname": "notification-header-user-rights-add-only",
                "*": "{{GENDER:$4|Your}} user rights were {{GENDER:$1|changed}}. You have been added to: $2."
            },
            {
                "name": "notification-header-user-rights-expiry-change",
                "normalizedname": "notification-header-user-rights-expiry-change",
                "*": "The expiry of {{GENDER:$4|your}} membership in the following {{PLURAL:$3|group|groups}} has been {{GENDER:$1|changed}}: $2."
            },
            {
                "name": "notification-header-user-rights-remove-only",
                "normalizedname": "notification-header-user-rights-remove-only",
                "*": "{{GENDER:$4|Your}} user rights were {{GENDER:$1|changed}}. You are no longer a member of: $2."
            },
            {
                "name": "notification-header-watchlist-changed",
                "normalizedname": "notification-header-watchlist-changed",
                "*": "$1 {{GENDER:$2|changed}} <strong>$3</strong>, a page on {{GENDER:$4|your}} watchlist{{PLURAL:$5||, $5 times}}."
            },
            {
                "name": "notification-header-watchlist-created",
                "normalizedname": "notification-header-watchlist-created",
                "*": "$1 {{GENDER:$2|created}} <strong>$3</strong>, a page on {{GENDER:$4|your}} watchlist{{PLURAL:$5||, $5 times}}."
            },
            {
                "name": "notification-header-watchlist-deleted",
                "normalizedname": "notification-header-watchlist-deleted",
                "*": "$1 {{GENDER:$2|deleted}} <strong>$3</strong>, a page on {{GENDER:$4|your}} watchlist{{PLURAL:$5||, $5 times}}."
            },
            {
                "name": "notification-header-watchlist-moved",
                "normalizedname": "notification-header-watchlist-moved",
                "*": "$1 {{GENDER:$2|moved}} <strong>$3</strong>, a page on {{GENDER:$4|your}} watchlist{{PLURAL:$5||, $5 times}}."
            },
            {
                "name": "notification-header-watchlist-multiuser-changed",
                "normalizedname": "notification-header-watchlist-multiuser-changed",
                "*": "<strong>$1</strong>, a page on {{GENDER:$2|your}} watchlist, was changed $3 {{PLURAL:$3|time|times}}."
            },
            {
                "name": "notification-header-watchlist-multiuser-created",
                "normalizedname": "notification-header-watchlist-multiuser-created",
                "*": "<strong>$1</strong>, a page on {{GENDER:$2|your}} watchlist, was created $3 {{PLURAL:$3|time|times}}."
            },
            {
                "name": "notification-header-watchlist-multiuser-deleted",
                "normalizedname": "notification-header-watchlist-multiuser-deleted",
                "*": "<strong>$1</strong>, a page on {{GENDER:$2|your}} watchlist, was deleted $3 {{PLURAL:$3|time|times}}."
            },
            {
                "name": "notification-header-watchlist-multiuser-moved",
                "normalizedname": "notification-header-watchlist-multiuser-moved",
                "*": "<strong>$1</strong>, a page on {{GENDER:$2|your}} watchlist, was moved $3 {{PLURAL:$3|time|times}}."
            },
            {
                "name": "notification-header-watchlist-multiuser-restored",
                "normalizedname": "notification-header-watchlist-multiuser-restored",
                "*": "<strong>$1</strong>, a page on {{GENDER:$2|your}} watchlist, was restored $3 {{PLURAL:$3|time|times}}."
            },
            {
                "name": "notification-header-watchlist-restored",
                "normalizedname": "notification-header-watchlist-restored",
                "*": "$1 {{GENDER:$2|restored}} <strong>$3</strong>, a page on {{GENDER:$4|your}} watchlist{{PLURAL:$5||, $5 times}}."
            },
            {
                "name": "notification-header-welcome",
                "normalizedname": "notification-header-welcome",
                "*": "{{GENDER:$2|Welcome}} to {{SITENAME}}, $1! We're glad {{GENDER:$2|you're}} here."
            },
            {
                "name": "notification-inbox-filter-all",
                "normalizedname": "notification-inbox-filter-all",
                "*": "All"
            },
            {
                "name": "notification-inbox-filter-read",
                "normalizedname": "notification-inbox-filter-read",
                "*": "Read"
            },
            {
                "name": "notification-inbox-filter-unread",
                "normalizedname": "notification-inbox-filter-unread",
                "*": "Unread"
            },
            {
                "name": "notification-known-header-login-fail",
                "normalizedname": "notification-known-header-login-fail",
                "*": "There {{PLURAL:$1|has been '''a failed attempt'''|have been '''$1 failed attempts'''}} to log in to your account since the last time you logged in. If it wasn't you, please make sure your account has a strong password."
            },
            {
                "name": "notification-link-article-reminder",
                "normalizedname": "notification-link-article-reminder",
                "*": "View page"
            },
            {
                "name": "notification-link-text-collapse-all",
                "normalizedname": "notification-link-text-collapse-all",
                "*": "Collapse"
            },
            {
                "name": "notification-link-text-expand-alert-count",
                "normalizedname": "notification-link-text-expand-alert-count",
                "*": "View {{PLURAL:$1|$1 alert|$1 alerts}}"
            },
            {
                "name": "notification-link-text-expand-all",
                "normalizedname": "notification-link-text-expand-all",
                "*": "Expand"
            },
            {
                "name": "notification-link-text-expand-all-count",
                "normalizedname": "notification-link-text-expand-all-count",
                "*": "View {{PLURAL:$1|$1 notification|$1 notifications}}"
            },
            {
                "name": "notification-link-text-expand-notice-count",
                "normalizedname": "notification-link-text-expand-notice-count",
                "*": "View {{PLURAL:$1|$1 notice|$1 notices}}"
            },
            {
                "name": "notification-link-text-show-filter",
                "normalizedname": "notification-link-text-show-filter",
                "*": "Show filter"
            },
            {
                "name": "notification-link-text-view-changes",
                "normalizedname": "notification-link-text-view-changes",
                "*": "{{GENDER:$1|View}} changes"
            },
            {
                "name": "notification-link-text-view-edit",
                "normalizedname": "notification-link-text-view-edit",
                "*": "View edit"
            },
            {
                "name": "notification-link-text-view-logentry",
                "normalizedname": "notification-link-text-view-logentry",
                "*": "View log entry"
            },
            {
                "name": "notification-link-text-view-mention",
                "normalizedname": "notification-link-text-view-mention",
                "*": "View mention"
            },
            {
                "name": "notification-link-text-view-mention-failure",
                "normalizedname": "notification-link-text-view-mention-failure",
                "*": "{{PLURAL:$1|View mention|View mentions}}"
            },
            {
                "name": "notification-link-text-view-message",
                "normalizedname": "notification-link-text-view-message",
                "*": "View message"
            },
            {
                "name": "notification-link-text-view-page",
                "normalizedname": "notification-link-text-view-page",
                "*": "View page"
            },
            {
                "name": "notification-link-text-view-post",
                "normalizedname": "notification-link-text-view-post",
                "*": "View comment"
            },
            {
                "name": "notification-link-text-what-links-here",
                "normalizedname": "notification-link-text-what-links-here",
                "*": "All links to this page"
            },
            {
                "name": "notification-link-thank-you-edit",
                "normalizedname": "notification-link-thank-you-edit",
                "*": "{{GENDER:$1|Your}} edit"
            },
            {
                "name": "notification-loginnotify-login-fail-email-subject",
                "normalizedname": "notification-loginnotify-login-fail-email-subject",
                "*": "{{PLURAL:$2|Failed attempt|Multiple failed attempts}} to log in to {{SITENAME}} as $1"
            },
            {
                "name": "notification-loginnotify-login-success-email-subject",
                "normalizedname": "notification-loginnotify-login-success-email-subject",
                "*": "Login to {{SITENAME}} as $1 from a device {{GENDER:$1|you}} have not recently used"
            },
            {
                "name": "notification-mention-email-subject",
                "normalizedname": "notification-mention-email-subject",
                "*": "$1 {{GENDER:$2|mentioned}} {{GENDER:$3|you}} on {{SITENAME}}"
            },
            {
                "name": "notification-new-bundled-header-login-fail",
                "normalizedname": "notification-new-bundled-header-login-fail",
                "*": "There {{PLURAL:$1|has been '''a failed attempt'''|have been '''$1 failed attempts'''}} to log in to your account from a new device since the last time you logged in. If it wasn't you, please make sure your account has a strong password."
            },
            {
                "name": "notification-new-unbundled-header-login-fail",
                "normalizedname": "notification-new-unbundled-header-login-fail",
                "*": "There {{PLURAL:$1|has been '''a failed attempt'''|have been '''multiple failed attempts'''}} to log in to your account from a new device. Please make sure your account has a strong password."
            },
            {
                "name": "notification-page-linked-email-subject",
                "normalizedname": "notification-page-linked-email-subject",
                "*": "A page {{GENDER:$3|you}} created was linked on {{SITENAME}}"
            },
            {
                "name": "notification-reverted-email-subject2",
                "normalizedname": "notification-reverted-email-subject2",
                "*": "{{GENDER:$3|Your}} {{PLURAL:$4|edit was|edits were}} {{GENDER:$2|reverted}} on {{SITENAME}}"
            },
            {
                "name": "notification-subject-throttle-filter",
                "normalizedname": "notification-subject-throttle-filter",
                "*": "An abuse filter {{GENDER:$1|you}} edited was throttled on {{SITENAME}}"
            },
            {
                "name": "notification-thanks-diff-link",
                "normalizedname": "notification-thanks-diff-link",
                "*": "your edit"
            },
            {
                "name": "notification-timestamp-ago-days",
                "normalizedname": "notification-timestamp-ago-days",
                "*": "{{PLURAL:$1|$1d}}"
            },
            {
                "name": "notification-timestamp-ago-hours",
                "normalizedname": "notification-timestamp-ago-hours",
                "*": "{{PLURAL:$1|$1h}}"
            },
            {
                "name": "notification-timestamp-ago-minutes",
                "normalizedname": "notification-timestamp-ago-minutes",
                "*": "{{PLURAL:$1|$1m}}"
            },
            {
                "name": "notification-timestamp-ago-months",
                "normalizedname": "notification-timestamp-ago-months",
                "*": "{{PLURAL:$1|$1mo}}"
            },
            {
                "name": "notification-timestamp-ago-seconds",
                "normalizedname": "notification-timestamp-ago-seconds",
                "*": "{{PLURAL:$1|$1s}}"
            },
            {
                "name": "notification-timestamp-ago-years",
                "normalizedname": "notification-timestamp-ago-years",
                "*": "{{PLURAL:$1|$1yr}}"
            },
            {
                "name": "notification-timestamp-today",
                "normalizedname": "notification-timestamp-today",
                "*": "Today"
            },
            {
                "name": "notification-timestamp-yesterday",
                "normalizedname": "notification-timestamp-yesterday",
                "*": "Yesterday"
            },
            {
                "name": "notification-user-rights-email-subject",
                "normalizedname": "notification-user-rights-email-subject",
                "*": "{{GENDER:$3|Your}} user rights have changed on {{SITENAME}}"
            },
            {
                "name": "notification-welcome-link",
                "normalizedname": "notification-welcome-link",
                "*": ""
            },
            {
                "name": "notification-welcome-linktext",
                "normalizedname": "notification-welcome-linktext",
                "*": "Welcome"
            },
            {
                "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": "notifications",
                "normalizedname": "notifications",
                "*": "Notifications"
            },
            {
                "name": "notificationsmarkread-legend",
                "normalizedname": "notificationsmarkread-legend",
                "*": "Mark notification as read"
            },
            {
                "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-gen",
                "normalizedname": "november-gen",
                "*": "November"
            },
            {
                "name": "nowatchlist",
                "normalizedname": "nowatchlist",
                "*": "You have no items on your watchlist."
            },
            {
                "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-data",
                "normalizedname": "nstab-data",
                "*": "Data"
            },
            {
                "name": "nstab-help",
                "normalizedname": "nstab-help",
                "*": "Help page"
            },
            {
                "name": "nstab-image",
                "normalizedname": "nstab-image",
                "*": "File"
            },
            {
                "name": "nstab-main",
                "normalizedname": "nstab-main",
                "*": "Page"
            },
            {
                "name": "nstab-mainpage",
                "normalizedname": "nstab-mainpage",
                "*": "Main Page"
            },
            {
                "name": "nstab-media",
                "normalizedname": "nstab-media",
                "*": "Media page"
            },
            {
                "name": "nstab-mediawiki",
                "normalizedname": "nstab-mediawiki",
                "*": "Message"
            },
            {
                "name": "nstab-module",
                "normalizedname": "nstab-module",
                "*": "Module"
            },
            {
                "name": "nstab-project",
                "normalizedname": "nstab-project",
                "*": "Project page"
            },
            {
                "name": "nstab-special",
                "normalizedname": "nstab-special",
                "*": "Special page"
            },
            {
                "name": "nstab-talk",
                "normalizedname": "nstab-talk",
                "*": ""
            },
            {
                "name": "nstab-template",
                "normalizedname": "nstab-template",
                "*": "Template"
            },
            {
                "name": "nstab-user",
                "normalizedname": "nstab-user",
                "*": "{{GENDER:$1|User page}}"
            },
            {
                "name": "ntimes",
                "normalizedname": "ntimes",
                "*": "$1\u00d7"
            },
            {
                "name": "ntransclusions",
                "normalizedname": "ntransclusions",
                "*": "used on $1 {{PLURAL:$1|page|pages}}"
            },
            {
                "name": "nuke",
                "normalizedname": "nuke",
                "*": "Mass delete"
            },
            {
                "name": "nuke-confirm",
                "normalizedname": "nuke-confirm",
                "*": "You are about to delete {{PLURAL:$1|one page|$1 pages}}. Are you sure that you want to delete?"
            },
            {
                "name": "nuke-defaultreason",
                "normalizedname": "nuke-defaultreason",
                "*": "Mass deletion of pages added by [[Special:Contributions/$1|{{GENDER:$1|$1}}]]"
            },
            {
                "name": "nuke-delete-more",
                "normalizedname": "nuke-delete-more",
                "*": "[[Special:Nuke|Delete more pages]]"
            },
            {
                "name": "nuke-deleted",
                "normalizedname": "nuke-deleted",
                "*": "Page '''$1''' has been deleted."
            },
            {
                "name": "nuke-deletion-queued",
                "normalizedname": "nuke-deletion-queued",
                "*": "Page '''$1''' has been queued for deletion."
            },
            {
                "name": "nuke-desc",
                "normalizedname": "nuke-desc",
                "*": "Gives administrators the ability to [[Special:Nuke|mass delete]] pages"
            },
            {
                "name": "nuke-editby",
                "normalizedname": "nuke-editby",
                "*": "Created by [[Special:Contributions/$1|{{GENDER:$1|$1}}]]"
            },
            {
                "name": "nuke-linkoncontribs",
                "normalizedname": "nuke-linkoncontribs",
                "*": "mass delete"
            },
            {
                "name": "nuke-linkoncontribs-text",
                "normalizedname": "nuke-linkoncontribs-text",
                "*": "Mass delete pages where {{GENDER:$1|this user}} is the only author"
            },
            {
                "name": "nuke-list",
                "normalizedname": "nuke-list",
                "*": "The following pages were recently created by [[Special:Contributions/$1|{{GENDER:$1|$1}}]];\nput in a comment and hit the button to delete them."
            },
            {
                "name": "nuke-list-multiple",
                "normalizedname": "nuke-list-multiple",
                "*": "The following pages were recently created;\nput in a comment and hit the button to delete them."
            },
            {
                "name": "nuke-maxpages",
                "normalizedname": "nuke-maxpages",
                "*": "Maximum number of pages:"
            },
            {
                "name": "nuke-multiplepeople",
                "normalizedname": "nuke-multiplepeople",
                "*": "Mass deletion of recently added pages"
            },
            {
                "name": "nuke-namespace",
                "normalizedname": "nuke-namespace",
                "*": "Limit to namespace:"
            },
            {
                "name": "nuke-nopages",
                "normalizedname": "nuke-nopages",
                "*": "No new pages by [[Special:Contributions/$1|{{GENDER:$1|$1}}]] in recent changes."
            },
            {
                "name": "nuke-nopages-global",
                "normalizedname": "nuke-nopages-global",
                "*": "There are no page titles matching your search."
            },
            {
                "name": "nuke-not-deleted",
                "normalizedname": "nuke-not-deleted",
                "*": "Page [[:$1]] '''could not''' be deleted."
            },
            {
                "name": "nuke-pattern",
                "normalizedname": "nuke-pattern",
                "*": "SQL LIKE pattern (e.g. %) for the page name:"
            },
            {
                "name": "nuke-submit-delete",
                "normalizedname": "nuke-submit-delete",
                "*": "Delete selected"
            },
            {
                "name": "nuke-submit-user",
                "normalizedname": "nuke-submit-user",
                "*": "List pages"
            },
            {
                "name": "nuke-tools",
                "normalizedname": "nuke-tools",
                "*": "This tool allows for mass deletions of pages recently added by a given user or an IP address.\nInput the username or IP address to get a list of pages to delete, or leave blank for all users."
            },
            {
                "name": "nuke-userorip",
                "normalizedname": "nuke-userorip",
                "*": "Username, IP address or blank:"
            },
            {
                "name": "nuke-viewchanges",
                "normalizedname": "nuke-viewchanges",
                "*": "view changes"
            },
            {
                "name": "number-of-watching-users-for-recent-changes",
                "normalizedname": "number-of-watching-users-for-recent-changes",
                "*": "[$1]"
            },
            {
                "name": "oath",
                "normalizedname": "oath",
                "*": "OATHAuth"
            },
            {
                "name": "oath-log-header",
                "normalizedname": "oath-log-header",
                "*": "These events track changes to users' two-factor authentication status."
            },
            {
                "name": "oath-log-name",
                "normalizedname": "oath-log-name",
                "*": "Two-factor authentication log"
            },
            {
                "name": "oathauth-account",
                "normalizedname": "oathauth-account",
                "*": "Account name:"
            },
            {
                "name": "oathauth-action-exclusive-to-2fa",
                "normalizedname": "oathauth-action-exclusive-to-2fa",
                "*": "This action can only be performed by users with Two-factor authentication enabled."
            },
            {
                "name": "oathauth-auth-token-help",
                "normalizedname": "oathauth-auth-token-help",
                "*": "The one-time password used as the second factor of two-factor authentication."
            },
            {
                "name": "oathauth-auth-token-label",
                "normalizedname": "oathauth-auth-token-label",
                "*": "Two-factor token or recovery code"
            },
            {
                "name": "oathauth-auth-ui",
                "normalizedname": "oathauth-auth-ui",
                "*": "Please enter a code from your two-factor authentication application (such as Google Authenticator)."
            },
            {
                "name": "oathauth-desc",
                "normalizedname": "oathauth-desc",
                "*": "Provides authentication support using HMAC based one-time passwords"
            },
            {
                "name": "oathauth-describe-provider",
                "normalizedname": "oathauth-describe-provider",
                "*": "Two-factor authentication (OATH)."
            },
            {
                "name": "oathauth-disable",
                "normalizedname": "oathauth-disable",
                "*": "Disable two-factor authentication"
            },
            {
                "name": "oathauth-disable-for-user",
                "normalizedname": "oathauth-disable-for-user",
                "*": "Disable two-factor authentication for a user"
            },
            {
                "name": "oathauth-disable-generic",
                "normalizedname": "oathauth-disable-generic",
                "*": "Disable"
            },
            {
                "name": "oathauth-disable-intro",
                "normalizedname": "oathauth-disable-intro",
                "*": "With great power, comes great responsibility"
            },
            {
                "name": "oathauth-disable-method-warning",
                "normalizedname": "oathauth-disable-method-warning",
                "*": "If you disable $1 two-factor authentication method, you will no longer be able to use this method when logging in, and all the data associated with this authentication method will be deleted."
            },
            {
                "name": "oathauth-disable-method-warning-button-label",
                "normalizedname": "oathauth-disable-method-warning-button-label",
                "*": "Confirm and continue"
            },
            {
                "name": "oathauth-disable-method-warning-header",
                "normalizedname": "oathauth-disable-method-warning-header",
                "*": "Confirm disabling of an authentication method"
            },
            {
                "name": "oathauth-disable-page-title",
                "normalizedname": "oathauth-disable-page-title",
                "*": "Disable $1"
            },
            {
                "name": "oathauth-disabledoath",
                "normalizedname": "oathauth-disabledoath",
                "*": "Disabled two-factor authentication."
            },
            {
                "name": "oathauth-enable",
                "normalizedname": "oathauth-enable",
                "*": "Enable two-factor authentication"
            },
            {
                "name": "oathauth-enable-generic",
                "normalizedname": "oathauth-enable-generic",
                "*": "Enable"
            },
            {
                "name": "oathauth-enable-page-title",
                "normalizedname": "oathauth-enable-page-title",
                "*": "Enable $1"
            },
            {
                "name": "oathauth-enterdisablereason",
                "normalizedname": "oathauth-enterdisablereason",
                "*": "Reason for disabling:"
            },
            {
                "name": "oathauth-entertoken",
                "normalizedname": "oathauth-entertoken",
                "*": "Enter a code from your authentication device to verify:"
            },
            {
                "name": "oathauth-enteruser",
                "normalizedname": "oathauth-enteruser",
                "*": "Username:"
            },
            {
                "name": "oathauth-enterverifyreason",
                "normalizedname": "oathauth-enterverifyreason",
                "*": "Reason for checking:"
            },
            {
                "name": "oathauth-failedtovalidateoath",
                "normalizedname": "oathauth-failedtovalidateoath",
                "*": "Failed to validate two-factor credentials"
            },
            {
                "name": "oathauth-hint",
                "normalizedname": "oathauth-hint",
                "*": "Don't have access to your device or application? You can enter recovery tokens (presented when you enabled 2FA) in this field."
            },
            {
                "name": "oathauth-invalid-data-format",
                "normalizedname": "oathauth-invalid-data-format",
                "*": "Data provider is invalid to create a key for the selected auth method"
            },
            {
                "name": "oathauth-invalid-key-type",
                "normalizedname": "oathauth-invalid-key-type",
                "*": "Key set on the user does not match the required type for selected auth method"
            },
            {
                "name": "oathauth-invalidrequest",
                "normalizedname": "oathauth-invalidrequest",
                "*": "Invalid request"
            },
            {
                "name": "oathauth-login-failed",
                "normalizedname": "oathauth-login-failed",
                "*": "Verification failed."
            },
            {
                "name": "oathauth-module-invalid",
                "normalizedname": "oathauth-module-invalid",
                "*": "The OATHAuth module that the user has registered is invalid."
            },
            {
                "name": "oathauth-module-totp-label",
                "normalizedname": "oathauth-module-totp-label",
                "*": "TOTP (one-time token)"
            },
            {
                "name": "oathauth-noscratchforvalidation",
                "normalizedname": "oathauth-noscratchforvalidation",
                "*": "You cannot use a recovery code to confirm two-factor authentication. Recovery codes are for backup and incidental use only. Please use a code from your two-factor authentication application (such as Google Authenticator)."
            },
            {
                "name": "oathauth-notifications-disable-help",
                "normalizedname": "oathauth-notifications-disable-help",
                "*": "Help"
            },
            {
                "name": "oathauth-notifications-disable-helplink",
                "normalizedname": "oathauth-notifications-disable-helplink",
                "*": "mw:Special:MyLanguage/Help:Two-factor authentication"
            },
            {
                "name": "oathauth-notifications-disable-primary",
                "normalizedname": "oathauth-notifications-disable-primary",
                "*": "Check your two-factor authentication settings"
            },
            {
                "name": "oathauth-notifications-enable-help",
                "normalizedname": "oathauth-notifications-enable-help",
                "*": "Help"
            },
            {
                "name": "oathauth-notifications-enable-helplink",
                "normalizedname": "oathauth-notifications-enable-helplink",
                "*": "mw:Special:MyLanguage/Help:Two-factor authentication"
            },
            {
                "name": "oathauth-notifications-enable-primary",
                "normalizedname": "oathauth-notifications-enable-primary",
                "*": "Check your two-factor authentication settings"
            },
            {
                "name": "oathauth-prefs-disabledgroups",
                "normalizedname": "oathauth-prefs-disabledgroups",
                "*": "Disabled {{PLURAL:$1|group|groups}}:"
            },
            {
                "name": "oathauth-prefs-disabledgroups-help",
                "normalizedname": "oathauth-prefs-disabledgroups-help",
                "*": "{{GENDER:$2|Your membership}} in {{PLURAL:$1|this group|these groups}} is disabled until you enable [[Special:Manage Two-factor authentication|two-factor authentication]]."
            },
            {
                "name": "oathauth-prefs-label",
                "normalizedname": "oathauth-prefs-label",
                "*": "Two-factor authentication:"
            },
            {
                "name": "oathauth-recoverycodes",
                "normalizedname": "oathauth-recoverycodes",
                "*": "The following list is a list of one-time use recovery codes. These codes can only be used once, and are for emergency use when you don't have access to your device. Please write these down and keep them in a secure location. It is recommended that you mark each code as used when you have logged in using it. If you lose your device, these codes are the only way to rescue your account. '''These codes will never be shown again'''."
            },
            {
                "name": "oathauth-recoverycodes-important",
                "normalizedname": "oathauth-recoverycodes-important",
                "*": "This step is important! Do not skip this step!"
            },
            {
                "name": "oathauth-secret",
                "normalizedname": "oathauth-secret",
                "*": "Two-factor authentication secret key:"
            },
            {
                "name": "oathauth-step1",
                "normalizedname": "oathauth-step1",
                "*": "Step 1: Download a two-factor authentication program"
            },
            {
                "name": "oathauth-step1-test",
                "normalizedname": "oathauth-step1-test",
                "*": "Download a program for two-factor authentication. That can be a mobile or desktop application, such as [https://authy.com/ Authy], [https://freeotp.github.io/ FreeOTP], [https://support.google.com/accounts/answer/1066447 Google Authenticator] or [https://www.microsoft.com/en-us/account/authenticator/ Microsoft Authenticator]. A browser extension. Or a password manager such as [https://1password.com/ 1Password]."
            },
            {
                "name": "oathauth-step2",
                "normalizedname": "oathauth-step2",
                "*": "Step 2: Scan the QR code"
            },
            {
                "name": "oathauth-step2-qrcode",
                "normalizedname": "oathauth-step2-qrcode",
                "*": "Scan the QR code using the application or browser extension you downloaded in step 1 for two-factor authentication."
            },
            {
                "name": "oathauth-step2alt",
                "normalizedname": "oathauth-step2alt",
                "*": "If you are unable to scan the QR code, enter the secret key and account name manually:"
            },
            {
                "name": "oathauth-step3",
                "normalizedname": "oathauth-step3",
                "*": "Step 3: Write down the recovery codes"
            },
            {
                "name": "oathauth-step4",
                "normalizedname": "oathauth-step4",
                "*": "Step 4: Verification"
            },
            {
                "name": "oathauth-switch-method-warning",
                "normalizedname": "oathauth-switch-method-warning",
                "*": "By switching to $2 two-factor authentication method, current method ($1) will be disabled, and all the data associated with the current authentication method will be deleted"
            },
            {
                "name": "oathauth-switch-method-warning-header",
                "normalizedname": "oathauth-switch-method-warning-header",
                "*": "Confirm switching to a different authentication method"
            },
            {
                "name": "oathauth-throttled",
                "normalizedname": "oathauth-throttled",
                "*": "Too many verification attempts! Please wait $1."
            },
            {
                "name": "oathauth-token",
                "normalizedname": "oathauth-token",
                "*": "Code"
            },
            {
                "name": "oathauth-totp-description",
                "normalizedname": "oathauth-totp-description",
                "*": "The Time-based One-Time Password algorithm (TOTP) is an extension of the HMAC-based One-time Password algorithm (HOTP) generating a one-time password by instead taking uniqueness from the current time."
            },
            {
                "name": "oathauth-totp-disable-warning",
                "normalizedname": "oathauth-totp-disable-warning",
                "*": "You will no longer be able to use the authentication device registered with this account. All recovery codes associated with this account will be invalidated."
            },
            {
                "name": "oathauth-ui-available-modules",
                "normalizedname": "oathauth-ui-available-modules",
                "*": "Available methods"
            },
            {
                "name": "oathauth-ui-enabled-module",
                "normalizedname": "oathauth-ui-enabled-module",
                "*": "Enabled authentication method"
            },
            {
                "name": "oathauth-ui-general-help",
                "normalizedname": "oathauth-ui-general-help",
                "*": "'''Multi-factor authentication''' ('''MFA''') is an authentication method in which a computer user is granted access only after successfully presenting two or more pieces of evidence (or factors) to an authentication mechanism: knowledge (something the user and only the user knows), possession (something the user and only the user has), and inherence (something the user and only the user is). [https://en.wikipedia.org/wiki/Multi-factor_authentication Read more]"
            },
            {
                "name": "oathauth-ui-manage",
                "normalizedname": "oathauth-ui-manage",
                "*": "Manage"
            },
            {
                "name": "oathauth-ui-no-module",
                "normalizedname": "oathauth-ui-no-module",
                "*": "None enabled"
            },
            {
                "name": "oathauth-ui-not-enabled-modules",
                "normalizedname": "oathauth-ui-not-enabled-modules",
                "*": "Switch to an alternative method"
            },
            {
                "name": "oathauth-user-not-does-not-have-oath-enabled",
                "normalizedname": "oathauth-user-not-does-not-have-oath-enabled",
                "*": "User doesn't have two-factor authentication enabled, so nothing to disable"
            },
            {
                "name": "oathauth-user-not-found",
                "normalizedname": "oathauth-user-not-found",
                "*": "No user account was found with that name"
            },
            {
                "name": "oathauth-validatedoath",
                "normalizedname": "oathauth-validatedoath",
                "*": "Validated two-factor credentials. Two-factor authentication will now be enforced."
            },
            {
                "name": "oathauth-verify-disabled",
                "normalizedname": "oathauth-verify-disabled",
                "*": "{{GENDER:$1|$1}} does not have two-factor authentication enabled."
            },
            {
                "name": "oathauth-verify-enabled",
                "normalizedname": "oathauth-verify-enabled",
                "*": "{{GENDER:$1|$1}} has two-factor authentication enabled."
            },
            {
                "name": "oathauth-verify-for-user",
                "normalizedname": "oathauth-verify-for-user",
                "*": "Verify if a user has two-factor authentication enabled"
            },
            {
                "name": "oathmanage",
                "normalizedname": "oathmanage",
                "*": "Manage Two-factor authentication"
            },
            {
                "name": "oct",
                "normalizedname": "oct",
                "*": "Oct"
            },
            {
                "name": "october",
                "normalizedname": "october",
                "*": "October"
            },
            {
                "name": "october-gen",
                "normalizedname": "october-gen",
                "*": "October"
            },
            {
                "name": "ok",
                "normalizedname": "ok",
                "*": "OK"
            },
            {
                "name": "oldpassword",
                "normalizedname": "oldpassword",
                "*": "Old password:"
            },
            {
                "name": "ooui-combobox-button-label",
                "normalizedname": "ooui-combobox-button-label",
                "*": "Toggle options"
            },
            {
                "name": "ooui-copytextlayout-copy",
                "normalizedname": "ooui-copytextlayout-copy",
                "*": "Copy"
            },
            {
                "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-field-help",
                "normalizedname": "ooui-field-help",
                "*": "Help"
            },
            {
                "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-popup-widget-close-button-aria-label",
                "normalizedname": "ooui-popup-widget-close-button-aria-label",
                "*": "Close"
            },
            {
                "name": "ooui-selectfile-button-select",
                "normalizedname": "ooui-selectfile-button-select",
                "*": "Select a file"
            },
            {
                "name": "ooui-selectfile-button-select-multiple",
                "normalizedname": "ooui-selectfile-button-select-multiple",
                "*": "Select files"
            },
            {
                "name": "ooui-selectfile-dragdrop-placeholder",
                "normalizedname": "ooui-selectfile-dragdrop-placeholder",
                "*": "Drop file here"
            },
            {
                "name": "ooui-selectfile-dragdrop-placeholder-multiple",
                "normalizedname": "ooui-selectfile-dragdrop-placeholder-multiple",
                "*": "Drop files 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": "pagehistory",
                "normalizedname": "pagehistory",
                "*": "Page history"
            },
            {
                "name": "pagehistory-summary",
                "normalizedname": "pagehistory-summary",
                "*": ""
            },
            {
                "name": "pageid",
                "normalizedname": "pageid",
                "*": "page ID $1"
            },
            {
                "name": "pageinfo",
                "normalizedname": "pageinfo",
                "*": "Page info"
            },
            {
                "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 {{GENDER:$1|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 {{GENDER:$1|editor}}"
            },
            {
                "name": "pageinfo-length",
                "normalizedname": "pageinfo-length",
                "*": "Page length (in bytes)"
            },
            {
                "name": "pageinfo-linter",
                "normalizedname": "pageinfo-linter",
                "*": "Lint errors"
            },
            {
                "name": "pageinfo-linter-moreinfo",
                "normalizedname": "pageinfo-linter-moreinfo",
                "*": "View detailed information on the lint errors."
            },
            {
                "name": "pageinfo-magic-words",
                "normalizedname": "pageinfo-magic-words",
                "*": "Magic {{PLURAL:$1|word|words}} ($1)"
            },
            {
                "name": "pageinfo-namespace",
                "normalizedname": "pageinfo-namespace",
                "*": "Namespace"
            },
            {
                "name": "pageinfo-namespace-id",
                "normalizedname": "pageinfo-namespace-id",
                "*": "Namespace ID"
            },
            {
                "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-subpages-value-unknown",
                "normalizedname": "pageinfo-subpages-value-unknown",
                "*": "Unknown ($1)"
            },
            {
                "name": "pageinfo-summary",
                "normalizedname": "pageinfo-summary",
                "*": ""
            },
            {
                "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-view-protect-log",
                "normalizedname": "pageinfo-view-protect-log",
                "*": "View the protection log for this page."
            },
            {
                "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": "pageproperty",
                "normalizedname": "pageproperty",
                "*": "Page property search"
            },
            {
                "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": "paramvalidator-badbool",
                "normalizedname": "paramvalidator-badbool",
                "*": "Invalid value \"$2\" for boolean parameter \"$1\". Pass $3 for true, or $5 for false."
            },
            {
                "name": "paramvalidator-badexpiry",
                "normalizedname": "paramvalidator-badexpiry",
                "*": "Invalid value \"$2\" for expiry parameter \"$1\"."
            },
            {
                "name": "paramvalidator-badexpiry-duration",
                "normalizedname": "paramvalidator-badexpiry-duration",
                "*": "Given value \"$2\" for parameter <var>$1</var> exceeds the maximum of \"$3\"."
            },
            {
                "name": "paramvalidator-badexpiry-duration-max",
                "normalizedname": "paramvalidator-badexpiry-duration-max",
                "*": "Given value \"$2\" for parameter <var>$1</var> exceeds the maximum of \"$3\". Using maximum instead."
            },
            {
                "name": "paramvalidator-badexpiry-past",
                "normalizedname": "paramvalidator-badexpiry-past",
                "*": "Value \"$2\" for expiry parameter \"$1\" is in the past."
            },
            {
                "name": "paramvalidator-badfloat",
                "normalizedname": "paramvalidator-badfloat",
                "*": "Invalid value \"$2\" for float parameter \"$1\"."
            },
            {
                "name": "paramvalidator-badfloat-notfinite",
                "normalizedname": "paramvalidator-badfloat-notfinite",
                "*": "Value \"$2\" for float parameter \"$1\" is too large or is not a number."
            },
            {
                "name": "paramvalidator-badinteger",
                "normalizedname": "paramvalidator-badinteger",
                "*": "Invalid value \"$2\" for integer parameter \"$1\"."
            },
            {
                "name": "paramvalidator-badtimestamp",
                "normalizedname": "paramvalidator-badtimestamp",
                "*": "Invalid value \"$2\" for timestamp parameter \"$1\"."
            },
            {
                "name": "paramvalidator-badtitle",
                "normalizedname": "paramvalidator-badtitle",
                "*": "Invalid value \"$2\" for title parameter <var>$1</var>: not a valid title string."
            },
            {
                "name": "paramvalidator-badupload-cantwrite",
                "normalizedname": "paramvalidator-badupload-cantwrite",
                "*": "The file for \"$1\" could not be stored for processing due to a server misconfiguration (write failed)."
            },
            {
                "name": "paramvalidator-badupload-formsize",
                "normalizedname": "paramvalidator-badupload-formsize",
                "*": "The uploaded file for \"$1\" exceeds the client-specified maximum."
            },
            {
                "name": "paramvalidator-badupload-inisize",
                "normalizedname": "paramvalidator-badupload-inisize",
                "*": "The uploaded file for \"$1\" exceeds the server's maximum of $3."
            },
            {
                "name": "paramvalidator-badupload-nofile",
                "normalizedname": "paramvalidator-badupload-nofile",
                "*": "No file was provided for upload parameter \"$1\"."
            },
            {
                "name": "paramvalidator-badupload-notmpdir",
                "normalizedname": "paramvalidator-badupload-notmpdir",
                "*": "The file for \"$1\" could not be stored for processing due to a server misconfiguration (no temporary directory)."
            },
            {
                "name": "paramvalidator-badupload-notupload",
                "normalizedname": "paramvalidator-badupload-notupload",
                "*": "File upload parameter \"$1\" is not a file upload; be sure to use multipart/form-data for your POST and include a filename in the Content-Disposition header."
            },
            {
                "name": "paramvalidator-badupload-partial",
                "normalizedname": "paramvalidator-badupload-partial",
                "*": "The file for \"$1\" was only partially uploaded."
            },
            {
                "name": "paramvalidator-badupload-phpext",
                "normalizedname": "paramvalidator-badupload-phpext",
                "*": "A PHP extension prevented the upload of the file for \"$1\"."
            },
            {
                "name": "paramvalidator-baduser",
                "normalizedname": "paramvalidator-baduser",
                "*": "Invalid value \"$2\" for user parameter <var>$1</var>."
            },
            {
                "name": "paramvalidator-badvalue-enummulti",
                "normalizedname": "paramvalidator-badvalue-enummulti",
                "*": "Invalid value \"$2\" for parameter \"$1\". {{PLURAL:$4|Only \"$3\" is allowed.|Allowed values are $3.}}"
            },
            {
                "name": "paramvalidator-badvalue-enumnotmulti",
                "normalizedname": "paramvalidator-badvalue-enumnotmulti",
                "*": "Unrecognized value for parameter \"$1\": $2."
            },
            {
                "name": "paramvalidator-deprecated-value",
                "normalizedname": "paramvalidator-deprecated-value",
                "*": "The value \"$2\" to parameter \"$1\" has been deprecated."
            },
            {
                "name": "paramvalidator-emptystring",
                "normalizedname": "paramvalidator-emptystring",
                "*": "the empty string"
            },
            {
                "name": "paramvalidator-help-default",
                "normalizedname": "paramvalidator-help-default",
                "*": "Default: $1"
            },
            {
                "name": "paramvalidator-help-default-empty",
                "normalizedname": "paramvalidator-help-default-empty",
                "*": "Default: (empty)"
            },
            {
                "name": "paramvalidator-help-deprecated",
                "normalizedname": "paramvalidator-help-deprecated",
                "*": "This parameter is deprecated."
            },
            {
                "name": "paramvalidator-help-multi-all",
                "normalizedname": "paramvalidator-help-multi-all",
                "*": "To specify all values, use <kbd>$1</kbd>."
            },
            {
                "name": "paramvalidator-help-multi-max",
                "normalizedname": "paramvalidator-help-multi-max",
                "*": "Maximum number of values is {{PLURAL:$1|$1}} ({{PLURAL:$2|$2}} for clients that are allowed higher limits)."
            },
            {
                "name": "paramvalidator-help-multi-max-simple",
                "normalizedname": "paramvalidator-help-multi-max-simple",
                "*": "Maximum number of values is {{PLURAL:$1|$1}}."
            },
            {
                "name": "paramvalidator-help-multi-separate",
                "normalizedname": "paramvalidator-help-multi-separate",
                "*": "Separate values with \"|\", or prefix the list with U+001F and separate with U+001F."
            },
            {
                "name": "paramvalidator-help-required",
                "normalizedname": "paramvalidator-help-required",
                "*": "This parameter is required."
            },
            {
                "name": "paramvalidator-help-type-boolean",
                "normalizedname": "paramvalidator-help-type-boolean",
                "*": "Type: {{PLURAL:$1|1=boolean|2=list of booleans}}"
            },
            {
                "name": "paramvalidator-help-type-enum",
                "normalizedname": "paramvalidator-help-type-enum",
                "*": "{{PLURAL:$1|1=One of the following values|2=Values (separate with U+007C (pipe), or prefix the list with U+001F and separate with U+001F)}}: $2"
            },
            {
                "name": "paramvalidator-help-type-enum-can-be-empty",
                "normalizedname": "paramvalidator-help-type-enum-can-be-empty",
                "*": "{{PLURAL:$2|0=Must be empty|Can be empty, or $1}}"
            },
            {
                "name": "paramvalidator-help-type-expiry",
                "normalizedname": "paramvalidator-help-type-expiry",
                "*": "Type: {{PLURAL:$1|1=expiry|2=list of expiries}}.\n\nMay be relative (e.g. <kbd>5 months</kbd> or <kbd>2 weeks</kbd>) or absolute (e.g. <kbd>2014-09-18T12:34:56Z</kbd>). For no expiry, use $2."
            },
            {
                "name": "paramvalidator-help-type-float",
                "normalizedname": "paramvalidator-help-type-float",
                "*": "Type: {{PLURAL:$1|1=float|2=list of floats}}"
            },
            {
                "name": "paramvalidator-help-type-integer",
                "normalizedname": "paramvalidator-help-type-integer",
                "*": "Type: {{PLURAL:$1|1=integer|2=list of integers}}"
            },
            {
                "name": "paramvalidator-help-type-limit",
                "normalizedname": "paramvalidator-help-type-limit",
                "*": "Type: integer or \"max\""
            },
            {
                "name": "paramvalidator-help-type-number-max",
                "normalizedname": "paramvalidator-help-type-number-max",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be no greater than $3."
            },
            {
                "name": "paramvalidator-help-type-number-min",
                "normalizedname": "paramvalidator-help-type-number-min",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be no less than $2."
            },
            {
                "name": "paramvalidator-help-type-number-minmax",
                "normalizedname": "paramvalidator-help-type-number-minmax",
                "*": "The {{PLURAL:$1|1=value|2=values}} must be between $2 and $3."
            },
            {
                "name": "paramvalidator-help-type-presenceboolean",
                "normalizedname": "paramvalidator-help-type-presenceboolean",
                "*": "Type: boolean"
            },
            {
                "name": "paramvalidator-help-type-string-maxbytes",
                "normalizedname": "paramvalidator-help-type-string-maxbytes",
                "*": "Cannot be longer than $1 {{PLURAL:$1|byte|bytes}}."
            },
            {
                "name": "paramvalidator-help-type-string-maxchars",
                "normalizedname": "paramvalidator-help-type-string-maxchars",
                "*": "Cannot be longer than $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "paramvalidator-help-type-timestamp",
                "normalizedname": "paramvalidator-help-type-timestamp",
                "*": "Type: {{PLURAL:$1|1=timestamp|2=list of timestamps}}"
            },
            {
                "name": "paramvalidator-help-type-title",
                "normalizedname": "paramvalidator-help-type-title",
                "*": "Type: page title"
            },
            {
                "name": "paramvalidator-help-type-title-must-exist",
                "normalizedname": "paramvalidator-help-type-title-must-exist",
                "*": "Only accepts pages that exist."
            },
            {
                "name": "paramvalidator-help-type-title-no-must-exist",
                "normalizedname": "paramvalidator-help-type-title-no-must-exist",
                "*": "Accepts non-existent pages."
            },
            {
                "name": "paramvalidator-help-type-upload",
                "normalizedname": "paramvalidator-help-type-upload",
                "*": "Must be posted as a file upload using multipart/form-data."
            },
            {
                "name": "paramvalidator-help-type-user",
                "normalizedname": "paramvalidator-help-type-user",
                "*": "Type: {{PLURAL:$1|1=user|2=list of users}}, {{PLURAL:$3|by|by any of}} $2"
            },
            {
                "name": "paramvalidator-help-type-user-subtype-cidr",
                "normalizedname": "paramvalidator-help-type-user-subtype-cidr",
                "*": "IP range"
            },
            {
                "name": "paramvalidator-help-type-user-subtype-id",
                "normalizedname": "paramvalidator-help-type-user-subtype-id",
                "*": "user ID (e.g. \"#12345\")"
            },
            {
                "name": "paramvalidator-help-type-user-subtype-interwiki",
                "normalizedname": "paramvalidator-help-type-user-subtype-interwiki",
                "*": "interwiki name (e.g. \"prefix>ExampleName\")"
            },
            {
                "name": "paramvalidator-help-type-user-subtype-ip",
                "normalizedname": "paramvalidator-help-type-user-subtype-ip",
                "*": "IP"
            },
            {
                "name": "paramvalidator-help-type-user-subtype-name",
                "normalizedname": "paramvalidator-help-type-user-subtype-name",
                "*": "username"
            },
            {
                "name": "paramvalidator-maxbytes",
                "normalizedname": "paramvalidator-maxbytes",
                "*": "The value for parameter \"$1\" cannot be longer than $3 {{PLURAL:$3|byte|bytes}} (was $4)."
            },
            {
                "name": "paramvalidator-maxchars",
                "normalizedname": "paramvalidator-maxchars",
                "*": "The value for parameter \"$1\" cannot be longer than $3 {{PLURAL:$3|character|characters}} (was $4)."
            },
            {
                "name": "paramvalidator-missingparam",
                "normalizedname": "paramvalidator-missingparam",
                "*": "The \"$1\" parameter must be set."
            },
            {
                "name": "paramvalidator-missingtitle",
                "normalizedname": "paramvalidator-missingtitle",
                "*": "Invalid value \"$2\" for title parameter <var>$1</var>: the page does not exist."
            },
            {
                "name": "paramvalidator-notmulti",
                "normalizedname": "paramvalidator-notmulti",
                "*": "Parameter \"$1\" accepts only a single value. U+001F multi-value separation may only be used for multi-valued parameters."
            },
            {
                "name": "paramvalidator-outofrange-max",
                "normalizedname": "paramvalidator-outofrange-max",
                "*": "The value \"$2\" for parameter \"$1\" must be no greater than $4."
            },
            {
                "name": "paramvalidator-outofrange-min",
                "normalizedname": "paramvalidator-outofrange-min",
                "*": "The value \"$2\" for parameter \"$1\" must be no less than $3."
            },
            {
                "name": "paramvalidator-outofrange-minmax",
                "normalizedname": "paramvalidator-outofrange-minmax",
                "*": "The value \"$2\" for parameter \"$1\" must be between $3 and $4."
            },
            {
                "name": "paramvalidator-param-deprecated",
                "normalizedname": "paramvalidator-param-deprecated",
                "*": "The parameter \"$1\" has been deprecated."
            },
            {
                "name": "paramvalidator-param-sensitive",
                "normalizedname": "paramvalidator-param-sensitive",
                "*": ""
            },
            {
                "name": "paramvalidator-toomanyvalues",
                "normalizedname": "paramvalidator-toomanyvalues",
                "*": "Too many values supplied for parameter \"$1\". The limit is $2."
            },
            {
                "name": "paramvalidator-unclearnowtimestamp",
                "normalizedname": "paramvalidator-unclearnowtimestamp",
                "*": "Passing \"$2\" for timestamp parameter \"$1\" has been deprecated. If for some reason you need to explicitly specify the current time without calculating it client-side, use \"now\"."
            },
            {
                "name": "paramvalidator-unrecognizedvalues",
                "normalizedname": "paramvalidator-unrecognizedvalues",
                "*": "Unrecognized {{PLURAL:$4|value|values}} for parameter \"$1\": $3"
            },
            {
                "name": "parentheses",
                "normalizedname": "parentheses",
                "*": "($1)"
            },
            {
                "name": "parentheses-end",
                "normalizedname": "parentheses-end",
                "*": ")"
            },
            {
                "name": "parentheses-start",
                "normalizedname": "parentheses-start",
                "*": "("
            },
            {
                "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": "parsoid-client-error",
                "normalizedname": "parsoid-client-error",
                "*": "Invalid input Parsoid: $1"
            },
            {
                "name": "parsoid-resource-limit-exceeded",
                "normalizedname": "parsoid-resource-limit-exceeded",
                "*": "Parsoid resources limit exceeded: $1"
            },
            {
                "name": "parsoid-revision-access",
                "normalizedname": "parsoid-revision-access",
                "*": "Parsoid can't access the revision: $1"
            },
            {
                "name": "parsoid-stash-rate-limit-error",
                "normalizedname": "parsoid-stash-rate-limit-error",
                "*": "Stashing failed because rate limit was exceeded. Please try again later."
            },
            {
                "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": "password-substring-username-match",
                "normalizedname": "password-substring-username-match",
                "*": "Your password must not appear within your username."
            },
            {
                "name": "passwordincommonlist",
                "normalizedname": "passwordincommonlist",
                "*": "The password entered is in a list of very commonly used passwords. Please choose a more unique password."
            },
            {
                "name": "passwordpolicies",
                "normalizedname": "passwordpolicies",
                "*": "Password policies"
            },
            {
                "name": "passwordpolicies-group",
                "normalizedname": "passwordpolicies-group",
                "*": "Group"
            },
            {
                "name": "passwordpolicies-policies",
                "normalizedname": "passwordpolicies-policies",
                "*": "Policies"
            },
            {
                "name": "passwordpolicies-policy-display",
                "normalizedname": "passwordpolicies-policy-display",
                "*": "<span class=\"passwordpolicies-policy\">$1 <code>($2)</code></span>"
            },
            {
                "name": "passwordpolicies-policy-displaywithflags",
                "normalizedname": "passwordpolicies-policy-displaywithflags",
                "*": "<span class=\"passwordpolicies-policy\">$1 <code>($2)</code></span> <span class=\"passwordpolicies-policy-flags\">($3)</span>"
            },
            {
                "name": "passwordpolicies-policy-maximalpasswordlength",
                "normalizedname": "passwordpolicies-policy-maximalpasswordlength",
                "*": "Password must be less than $1 {{PLURAL:$1|character|characters}} long"
            },
            {
                "name": "passwordpolicies-policy-minimalpasswordlength",
                "normalizedname": "passwordpolicies-policy-minimalpasswordlength",
                "*": "Password must be at least $1 {{PLURAL:$1|character|characters}} long"
            },
            {
                "name": "passwordpolicies-policy-minimumpasswordlengthtologin",
                "normalizedname": "passwordpolicies-policy-minimumpasswordlengthtologin",
                "*": "Password must be at least $1 {{PLURAL:$1|character|characters}} long to be able to login"
            },
            {
                "name": "passwordpolicies-policy-passwordcannotbesubstringinusername",
                "normalizedname": "passwordpolicies-policy-passwordcannotbesubstringinusername",
                "*": "Password cannot be a substring within the username"
            },
            {
                "name": "passwordpolicies-policy-passwordcannotmatchdefaults",
                "normalizedname": "passwordpolicies-policy-passwordcannotmatchdefaults",
                "*": "Password cannot match a specific list of default passwords"
            },
            {
                "name": "passwordpolicies-policy-passwordnotincommonlist",
                "normalizedname": "passwordpolicies-policy-passwordnotincommonlist",
                "*": "Password cannot be in the list of 100,000 most commonly used passwords."
            },
            {
                "name": "passwordpolicies-policyflag-forcechange",
                "normalizedname": "passwordpolicies-policyflag-forcechange",
                "*": "must change on login"
            },
            {
                "name": "passwordpolicies-policyflag-suggestchangeonlogin",
                "normalizedname": "passwordpolicies-policyflag-suggestchangeonlogin",
                "*": "suggest change on login"
            },
            {
                "name": "passwordpolicies-summary",
                "normalizedname": "passwordpolicies-summary",
                "*": "This is a list of the effective password policies for the user groups defined in this wiki."
            },
            {
                "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-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-require-email",
                "normalizedname": "passwordreset-emailtext-require-email",
                "*": "However, if you did not generate this request and want to prevent unsolicited\nemails, you may want to update your email options at\n$1.\nYou can require both username and email address to generate password reset\nemails. This may reduce the number of such incidents."
            },
            {
                "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-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-success",
                "normalizedname": "passwordreset-success",
                "*": "You have requested a password reset."
            },
            {
                "name": "passwordreset-success-details-generic",
                "normalizedname": "passwordreset-success-details-generic",
                "*": "If the information submitted is valid, a password reset email will be sent. If you haven't received an email, we recommend that you visit the [[mw:Special:MyLanguage/Help:Reset_password|reset password help page]] or try again later. You can only <strong>request a limited number of password resets within a short period of time. Only one password reset email will be sent per valid account every {{PLURAL:$1|hour|$1 hours}}</strong> in order to prevent abuse."
            },
            {
                "name": "passwordreset-success-info",
                "normalizedname": "passwordreset-success-info",
                "*": "The details you submitted are: $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": "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": "pdf-desc",
                "normalizedname": "pdf-desc",
                "*": "Handler for viewing PDF files in image mode"
            },
            {
                "name": "pdf-file-page-warning",
                "normalizedname": "pdf-file-page-warning",
                "*": "PDF is a complex format that may expose some of your private information in some cases. Make sure to configure your PDF viewer in a safe way."
            },
            {
                "name": "pdf-file-page-warning-footer",
                "normalizedname": "pdf-file-page-warning-footer",
                "*": "This issue is not specific to this particular file, but a general issue with the PDF format."
            },
            {
                "name": "pdf-file-page-warning-header",
                "normalizedname": "pdf-file-page-warning-header",
                "*": "Privacy considerations"
            },
            {
                "name": "pdf-file-page-warning-info",
                "normalizedname": "pdf-file-page-warning-info",
                "*": "Learn more about this issue."
            },
            {
                "name": "pdf_no_metadata",
                "normalizedname": "pdf_no_metadata",
                "*": "Cannot get metadata from PDF."
            },
            {
                "name": "pdf_page_error",
                "normalizedname": "pdf_page_error",
                "*": "Page number not in range."
            },
            {
                "name": "pear-mail-error",
                "normalizedname": "pear-mail-error",
                "*": "$1"
            },
            {
                "name": "pendingtasklist",
                "normalizedname": "pendingtasklist",
                "*": "List of pending tasks"
            },
            {
                "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": "pfunc_desc",
                "normalizedname": "pfunc_desc",
                "*": "Enhance parser with logical functions"
            },
            {
                "name": "pfunc_expr_division_by_zero",
                "normalizedname": "pfunc_expr_division_by_zero",
                "*": "Division by zero."
            },
            {
                "name": "pfunc_expr_invalid_argument",
                "normalizedname": "pfunc_expr_invalid_argument",
                "*": "Invalid argument for $1: < -1 or > 1."
            },
            {
                "name": "pfunc_expr_invalid_argument_ln",
                "normalizedname": "pfunc_expr_invalid_argument_ln",
                "*": "Invalid argument for ln: <= 0."
            },
            {
                "name": "pfunc_expr_missing_operand",
                "normalizedname": "pfunc_expr_missing_operand",
                "*": "Expression error: Missing operand for $1."
            },
            {
                "name": "pfunc_expr_not_a_number",
                "normalizedname": "pfunc_expr_not_a_number",
                "*": "In $1: Result is not a number."
            },
            {
                "name": "pfunc_expr_preg_match_failure",
                "normalizedname": "pfunc_expr_preg_match_failure",
                "*": "Expression error: Unexpected preg_match failure."
            },
            {
                "name": "pfunc_expr_stack_exhausted",
                "normalizedname": "pfunc_expr_stack_exhausted",
                "*": "Expression error: Stack exhausted."
            },
            {
                "name": "pfunc_expr_unclosed_bracket",
                "normalizedname": "pfunc_expr_unclosed_bracket",
                "*": "Expression error: Unclosed bracket."
            },
            {
                "name": "pfunc_expr_unexpected_closing_bracket",
                "normalizedname": "pfunc_expr_unexpected_closing_bracket",
                "*": "Expression error: Unexpected closing bracket."
            },
            {
                "name": "pfunc_expr_unexpected_number",
                "normalizedname": "pfunc_expr_unexpected_number",
                "*": "Expression error: Unexpected number."
            },
            {
                "name": "pfunc_expr_unexpected_operator",
                "normalizedname": "pfunc_expr_unexpected_operator",
                "*": "Expression error: Unexpected $1 operator."
            },
            {
                "name": "pfunc_expr_unknown_error",
                "normalizedname": "pfunc_expr_unknown_error",
                "*": "Expression error: Unknown error ($1)."
            },
            {
                "name": "pfunc_expr_unrecognised_punctuation",
                "normalizedname": "pfunc_expr_unrecognised_punctuation",
                "*": "Expression error: Unrecognized punctuation character \"$1\"."
            },
            {
                "name": "pfunc_expr_unrecognised_word",
                "normalizedname": "pfunc_expr_unrecognised_word",
                "*": "Expression error: Unrecognized word \"$1\"."
            },
            {
                "name": "pfunc_rel2abs_invalid_depth",
                "normalizedname": "pfunc_rel2abs_invalid_depth",
                "*": "Error: Invalid depth in path: \"$1\" (tried to access a node above the root node)."
            },
            {
                "name": "pfunc_string_too_long",
                "normalizedname": "pfunc_string_too_long",
                "*": "Error: String exceeds $1 character limit."
            },
            {
                "name": "pfunc_time_error",
                "normalizedname": "pfunc_time_error",
                "*": "Error: Invalid time."
            },
            {
                "name": "pfunc_time_too_big",
                "normalizedname": "pfunc_time_too_big",
                "*": "Error: #time only supports years up to 9999."
            },
            {
                "name": "pfunc_time_too_long",
                "normalizedname": "pfunc_time_too_long",
                "*": "Error: Too many #time calls."
            },
            {
                "name": "pfunc_time_too_small",
                "normalizedname": "pfunc_time_too_small",
                "*": "Error: #time only supports years from 0."
            },
            {
                "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": "poem-desc",
                "normalizedname": "poem-desc",
                "*": "Adds <code>&lt;poem&gt;</code> tag for poem formatting"
            },
            {
                "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": "portable-infobox-desc",
                "normalizedname": "portable-infobox-desc",
                "*": "Create portable infoboxes which can be rendered using clean semantic HTML markup on any skin / platform using using easy to understand powerful XML-like markup. Also includes a portable infobox builder at [[Special:PortableInfoboxBuilder]]."
            },
            {
                "name": "portable-infobox-unimplemented-infobox-tag",
                "normalizedname": "portable-infobox-unimplemented-infobox-tag",
                "*": "Unimplemented infobox tag: <$1>"
            },
            {
                "name": "portable-infobox-xml-parse-error",
                "normalizedname": "portable-infobox-xml-parse-error",
                "*": "Incorrect XML markup. Please validate your XML"
            },
            {
                "name": "portable-infobox-xml-parse-error-attribute-not-started",
                "normalizedname": "portable-infobox-xml-parse-error-attribute-not-started",
                "*": "Attribute value should be inside quotation marks"
            },
            {
                "name": "portable-infobox-xml-parse-error-attribute-without-value",
                "normalizedname": "portable-infobox-xml-parse-error-attribute-without-value",
                "*": "Tag attribute needs to have value"
            },
            {
                "name": "portable-infobox-xml-parse-error-document-end",
                "normalizedname": "portable-infobox-xml-parse-error-document-end",
                "*": "Extra content at the end of the document"
            },
            {
                "name": "portable-infobox-xml-parse-error-gt-required",
                "normalizedname": "portable-infobox-xml-parse-error-gt-required",
                "*": "Tag definition is not properly terminated"
            },
            {
                "name": "portable-infobox-xml-parse-error-info",
                "normalizedname": "portable-infobox-xml-parse-error-info",
                "*": "There is a problem with parsing the infobox"
            },
            {
                "name": "portable-infobox-xml-parse-error-infobox-tag-attribute-unsupported",
                "normalizedname": "portable-infobox-xml-parse-error-infobox-tag-attribute-unsupported",
                "*": "Attribute \"$1\" is not supported in <infobox> tag"
            },
            {
                "name": "portable-infobox-xml-parse-error-name-required",
                "normalizedname": "portable-infobox-xml-parse-error-name-required",
                "*": "Error parsing attribute name"
            },
            {
                "name": "portable-infobox-xml-parse-error-space-required",
                "normalizedname": "portable-infobox-xml-parse-error-space-required",
                "*": "Attributes construct error"
            },
            {
                "name": "portable-infobox-xml-parse-error-tag-name-mismatch",
                "normalizedname": "portable-infobox-xml-parse-error-tag-name-mismatch",
                "*": "Opening and ending tag mismatch"
            },
            {
                "name": "portable-infobox-xml-parse-error-tag-not-finished",
                "normalizedname": "portable-infobox-xml-parse-error-tag-not-finished",
                "*": "Premature end of tag"
            },
            {
                "name": "portable-infobox-xml-parse-error-undeclared-entity",
                "normalizedname": "portable-infobox-xml-parse-error-undeclared-entity",
                "*": "Undeclared entity (for example: \u00a0)"
            },
            {
                "name": "portableinfoboxbuilder",
                "normalizedname": "portableinfoboxbuilder",
                "*": "Portable Infobox Builder"
            },
            {
                "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": "postedit-temp-created",
                "normalizedname": "postedit-temp-created",
                "*": "An [[$2|auto-generated account]] has been created for you by adding a cookie to your browser. To pick a name of your choice and get more features, consider [$1 creating an account]."
            },
            {
                "name": "postedit-temp-created-label",
                "normalizedname": "postedit-temp-created-label",
                "*": "Temporary account"
            },
            {
                "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",
                "*": "Hide the prefix in results"
            },
            {
                "name": "prefixindex-submit",
                "normalizedname": "prefixindex-submit",
                "*": "Show"
            },
            {
                "name": "prefixindex-summary",
                "normalizedname": "prefixindex-summary",
                "*": ""
            },
            {
                "name": "prefs-accessibility",
                "normalizedname": "prefs-accessibility",
                "*": "Accessibility"
            },
            {
                "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-ask-options",
                "normalizedname": "prefs-ask-options",
                "*": "Semantic search"
            },
            {
                "name": "prefs-back-title",
                "normalizedname": "prefs-back-title",
                "*": "Back to preferences"
            },
            {
                "name": "prefs-blocknotificationslist",
                "normalizedname": "prefs-blocknotificationslist",
                "*": "Muted users"
            },
            {
                "name": "prefs-changeemail",
                "normalizedname": "prefs-changeemail",
                "*": "Change or remove email address"
            },
            {
                "name": "prefs-changesrc",
                "normalizedname": "prefs-changesrc",
                "*": "Changes shown"
            },
            {
                "name": "prefs-changeswatchlist",
                "normalizedname": "prefs-changeswatchlist",
                "*": "Changes shown"
            },
            {
                "name": "prefs-common-config",
                "normalizedname": "prefs-common-config",
                "*": "Shared CSS/JavaScript for all skins:"
            },
            {
                "name": "prefs-custom-css",
                "normalizedname": "prefs-custom-css",
                "*": "Custom CSS"
            },
            {
                "name": "prefs-custom-cssjs-safemode",
                "normalizedname": "prefs-custom-cssjs-safemode",
                "*": "Custom CSS/JavaScript are currently unavailable as safe mode has been enabled. Please [[#mw-input-wpforcesafemode|disable safe mode]] to use custom CSS/JavaScript."
            },
            {
                "name": "prefs-custom-js",
                "normalizedname": "prefs-custom-js",
                "*": "Custom JavaScript"
            },
            {
                "name": "prefs-dateformat",
                "normalizedname": "prefs-dateformat",
                "*": "Date format"
            },
            {
                "name": "prefs-description-echo",
                "normalizedname": "prefs-description-echo",
                "*": "Select which notifications {{GENDER:|you}} get and how to receive them."
            },
            {
                "name": "prefs-description-editing",
                "normalizedname": "prefs-description-editing",
                "*": "Customize how you make, track, and review edits."
            },
            {
                "name": "prefs-description-gadgets",
                "normalizedname": "prefs-description-gadgets",
                "*": "Enable additional features for your account."
            },
            {
                "name": "prefs-description-misc",
                "normalizedname": "prefs-description-misc",
                "*": "Customize the table of contents."
            },
            {
                "name": "prefs-description-personal",
                "normalizedname": "prefs-description-personal",
                "*": "Control how you appear, connect, and communicate."
            },
            {
                "name": "prefs-description-rc",
                "normalizedname": "prefs-description-rc",
                "*": "Customise the recent changes feed."
            },
            {
                "name": "prefs-description-rendering",
                "normalizedname": "prefs-description-rendering",
                "*": "Configure skin, size, and reading options."
            },
            {
                "name": "prefs-description-searchoptions",
                "normalizedname": "prefs-description-searchoptions",
                "*": "Choose how autocomplete and results work."
            },
            {
                "name": "prefs-description-uploads",
                "normalizedname": "prefs-description-uploads",
                "*": "Set your author name and the default license."
            },
            {
                "name": "prefs-description-watchlist",
                "normalizedname": "prefs-description-watchlist",
                "*": "Manage and personalize the list of pages you track."
            },
            {
                "name": "prefs-developertools",
                "normalizedname": "prefs-developertools",
                "*": "Developer tools"
            },
            {
                "name": "prefs-diffs",
                "normalizedname": "prefs-diffs",
                "*": "Diffs"
            },
            {
                "name": "prefs-discussion",
                "normalizedname": "prefs-discussion",
                "*": "Discussion pages"
            },
            {
                "name": "prefs-displayrc",
                "normalizedname": "prefs-displayrc",
                "*": "Display options"
            },
            {
                "name": "prefs-displaywatchlist",
                "normalizedname": "prefs-displaywatchlist",
                "*": "Display options"
            },
            {
                "name": "prefs-echo",
                "normalizedname": "prefs-echo",
                "*": "Notifications"
            },
            {
                "name": "prefs-echocrosswiki",
                "normalizedname": "prefs-echocrosswiki",
                "*": "Cross-wiki notifications"
            },
            {
                "name": "prefs-echopollupdates",
                "normalizedname": "prefs-echopollupdates",
                "*": "Live notifications"
            },
            {
                "name": "prefs-echosubscriptions",
                "normalizedname": "prefs-echosubscriptions",
                "*": "Notify me about these events"
            },
            {
                "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-emailsettings",
                "normalizedname": "prefs-emailsettings",
                "*": "Email options"
            },
            {
                "name": "prefs-extended-search-options",
                "normalizedname": "prefs-extended-search-options",
                "*": "Extended search"
            },
            {
                "name": "prefs-files",
                "normalizedname": "prefs-files",
                "*": "Files"
            },
            {
                "name": "prefs-gadgets",
                "normalizedname": "prefs-gadgets",
                "*": "Gadgets"
            },
            {
                "name": "prefs-general-options",
                "normalizedname": "prefs-general-options",
                "*": "General options"
            },
            {
                "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-forcesafemode",
                "normalizedname": "prefs-help-forcesafemode",
                "*": "Disable on-wiki scripts and stylesheets."
            },
            {
                "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-requireemail",
                "normalizedname": "prefs-help-requireemail",
                "*": "This improves privacy and helps prevent unsolicited emails."
            },
            {
                "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-skin-responsive",
                "normalizedname": "prefs-help-skin-responsive",
                "*": "Adapt layout to screen size on mobile."
            },
            {
                "name": "prefs-help-tokenmanagement",
                "normalizedname": "prefs-help-tokenmanagement",
                "*": "You can see and reset the secret key for your account that can access the Web feed of your watchlist. Anyone who knows the key will be able to read your watchlist, so do not share it."
            },
            {
                "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-help-yourpassword",
                "normalizedname": "prefs-help-yourpassword",
                "*": "Account recovery is enabled. See $1 for more settings."
            },
            {
                "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-math",
                "normalizedname": "prefs-math",
                "*": "Math"
            },
            {
                "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-mutedpageslist",
                "normalizedname": "prefs-mutedpageslist",
                "*": "Muted pages for page link notifications"
            },
            {
                "name": "prefs-namespaces",
                "normalizedname": "prefs-namespaces",
                "*": "Namespaces"
            },
            {
                "name": "prefs-pageswatchlist",
                "normalizedname": "prefs-pageswatchlist",
                "*": "Watched pages"
            },
            {
                "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-confirm",
                "normalizedname": "prefs-reset-confirm",
                "*": "Yes, I want to reset my preferences."
            },
            {
                "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-searchmisc",
                "normalizedname": "prefs-searchmisc",
                "*": "General"
            },
            {
                "name": "prefs-searchoptions",
                "normalizedname": "prefs-searchoptions",
                "*": "Search"
            },
            {
                "name": "prefs-sections-navigation-hint",
                "normalizedname": "prefs-sections-navigation-hint",
                "*": "Tip: You can use the Tab and Shift + Tab keys to navigate between the preference sections."
            },
            {
                "name": "prefs-setemail",
                "normalizedname": "prefs-setemail",
                "*": "Set an email address"
            },
            {
                "name": "prefs-signature",
                "normalizedname": "prefs-signature",
                "*": "Signature"
            },
            {
                "name": "prefs-signature-error-details",
                "normalizedname": "prefs-signature-error-details",
                "*": "Learn more"
            },
            {
                "name": "prefs-signature-highlight-error",
                "normalizedname": "prefs-signature-highlight-error",
                "*": "Show error location"
            },
            {
                "name": "prefs-signature-invalid-disallow",
                "normalizedname": "prefs-signature-invalid-disallow",
                "*": "Your current signature is invalid. Until you correct it, the default signature will be used when signing your comments."
            },
            {
                "name": "prefs-signature-invalid-new",
                "normalizedname": "prefs-signature-invalid-new",
                "*": "Your current signature is invalid. Although you can still use it, you won't be able to change it until you correct it."
            },
            {
                "name": "prefs-signature-invalid-warning",
                "normalizedname": "prefs-signature-invalid-warning",
                "*": "Your signature may cause problems with some tools."
            },
            {
                "name": "prefs-skin",
                "normalizedname": "prefs-skin",
                "*": "Skin"
            },
            {
                "name": "prefs-skin-prefs",
                "normalizedname": "prefs-skin-prefs",
                "*": "Skin preferences"
            },
            {
                "name": "prefs-skin-responsive",
                "normalizedname": "prefs-skin-responsive",
                "*": "Enable responsive mode"
            },
            {
                "name": "prefs-smw",
                "normalizedname": "prefs-smw",
                "*": "Semantic MediaWiki"
            },
            {
                "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-uploads",
                "normalizedname": "prefs-uploads",
                "*": "Uploading"
            },
            {
                "name": "prefs-upwiz-experimental",
                "normalizedname": "prefs-upwiz-experimental",
                "*": "Experimental features"
            },
            {
                "name": "prefs-upwiz-interface",
                "normalizedname": "prefs-upwiz-interface",
                "*": "User interface"
            },
            {
                "name": "prefs-upwiz-licensing",
                "normalizedname": "prefs-upwiz-licensing",
                "*": "Licensing"
            },
            {
                "name": "prefs-user-downloaddata-help-message",
                "normalizedname": "prefs-user-downloaddata-help-message",
                "*": ""
            },
            {
                "name": "prefs-user-downloaddata-info",
                "normalizedname": "prefs-user-downloaddata-info",
                "*": "My account data from this project"
            },
            {
                "name": "prefs-user-downloaddata-label",
                "normalizedname": "prefs-user-downloaddata-label",
                "*": "Access account data:"
            },
            {
                "name": "prefs-user-pages",
                "normalizedname": "prefs-user-pages",
                "*": "User pages"
            },
            {
                "name": "prefs-user-restoreprefs-info",
                "normalizedname": "prefs-user-restoreprefs-info",
                "*": "Restore all default preferences (in all sections)"
            },
            {
                "name": "prefs-user-restoreprefs-label",
                "normalizedname": "prefs-user-restoreprefs-label",
                "*": "Reset settings:"
            },
            {
                "name": "prefs-vector-enable-vector-1-help",
                "normalizedname": "prefs-vector-enable-vector-1-help",
                "*": "Over the next few years, we will be gradually updating the Vector skin. Legacy Vector will allow you to view the old version of Vector (as of December 2019). To learn more about the updates, go to our [[mw:Reading/Web/Desktop_Improvements|project page]]."
            },
            {
                "name": "prefs-vector-enable-vector-1-label",
                "normalizedname": "prefs-vector-enable-vector-1-label",
                "*": "Use Legacy Vector"
            },
            {
                "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-managetokens",
                "normalizedname": "prefs-watchlist-managetokens",
                "*": "Manage tokens"
            },
            {
                "name": "prefs-watchlist-token",
                "normalizedname": "prefs-watchlist-token",
                "*": "Watchlist token:"
            },
            {
                "name": "prefsnologintext2",
                "normalizedname": "prefsnologintext2",
                "*": "Please log in to change your preferences."
            },
            {
                "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 publish it."
            },
            {
                "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 published!"
            },
            {
                "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": "printableversion-deprecated-warning",
                "normalizedname": "printableversion-deprecated-warning",
                "*": "The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead."
            },
            {
                "name": "privacy",
                "normalizedname": "privacy",
                "*": "Privacy policy"
            },
            {
                "name": "privacypage",
                "normalizedname": "privacypage",
                "*": "Project:Privacy policy"
            },
            {
                "name": "processingerrorlist",
                "normalizedname": "processingerrorlist",
                "*": "Processing error list"
            },
            {
                "name": "properties",
                "normalizedname": "properties",
                "*": "Properties"
            },
            {
                "name": "propertylabelsimilarity",
                "normalizedname": "propertylabelsimilarity",
                "*": "Property label similarity report"
            },
            {
                "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 settings 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 settings 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** 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-smw-pageedit",
                "normalizedname": "protect-level-smw-pageedit",
                "*": "Allow only users with page edit permission (Semantic MediaWiki)"
            },
            {
                "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 settings.\nHere are the current settings for the page <strong>$1</strong>:"
            },
            {
                "name": "protect-locked-blocked",
                "normalizedname": "protect-locked-blocked",
                "*": "You cannot change protection settings while blocked.\nHere are the current settings for the page <strong>$1</strong>:"
            },
            {
                "name": "protect-locked-dblock",
                "normalizedname": "protect-locked-dblock",
                "*": "Protection settings 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 settings for the page <strong>$1</strong>."
            },
            {
                "name": "protect-title",
                "normalizedname": "protect-title",
                "*": "Change protection settings for \"$1\""
            },
            {
                "name": "protect-title-notallowed",
                "normalizedname": "protect-title-notallowed",
                "*": "View protection settings 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-filters",
                "normalizedname": "protectedpages-filters",
                "*": "Filters:"
            },
            {
                "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": "protectpage",
                "normalizedname": "protectpage",
                "*": "Protect a page"
            },
            {
                "name": "protectpage-summary",
                "normalizedname": "protectpage-summary",
                "*": ""
            },
            {
                "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": "purge",
                "normalizedname": "purge",
                "*": "Purge"
            },
            {
                "name": "purge-summary",
                "normalizedname": "purge-summary",
                "*": ""
            },
            {
                "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": "querypage-updates-periodical",
                "normalizedname": "querypage-updates-periodical",
                "*": "Updates for this page are run periodically."
            },
            {
                "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-old-title",
                "normalizedname": "rc-old-title",
                "*": "originally created as \"$1\""
            },
            {
                "name": "rcfilters-activefilters",
                "normalizedname": "rcfilters-activefilters",
                "*": "Active filters"
            },
            {
                "name": "rcfilters-activefilters-hide",
                "normalizedname": "rcfilters-activefilters-hide",
                "*": "Hide"
            },
            {
                "name": "rcfilters-activefilters-hide-tooltip",
                "normalizedname": "rcfilters-activefilters-hide-tooltip",
                "*": "Hide Active filters area"
            },
            {
                "name": "rcfilters-activefilters-show",
                "normalizedname": "rcfilters-activefilters-show",
                "*": "Show"
            },
            {
                "name": "rcfilters-activefilters-show-tooltip",
                "normalizedname": "rcfilters-activefilters-show-tooltip",
                "*": "Show Active filters area"
            },
            {
                "name": "rcfilters-advancedfilters",
                "normalizedname": "rcfilters-advancedfilters",
                "*": "Advanced filters"
            },
            {
                "name": "rcfilters-allcontents-label",
                "normalizedname": "rcfilters-allcontents-label",
                "*": "All contents"
            },
            {
                "name": "rcfilters-alldiscussions-label",
                "normalizedname": "rcfilters-alldiscussions-label",
                "*": "All discussions"
            },
            {
                "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-newuserlogactions-description",
                "normalizedname": "rcfilters-filter-newuserlogactions-description",
                "*": "Log entries for account creation. Logged actions must be selected."
            },
            {
                "name": "rcfilters-filter-newuserlogactions-label",
                "normalizedname": "rcfilters-filter-newuserlogactions-label",
                "*": "New users"
            },
            {
                "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-user-experience-level",
                "normalizedname": "rcfilters-filtergroup-user-experience-level",
                "*": "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-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-and-date-popup-dialog-aria-label",
                "normalizedname": "rcfilters-limit-and-date-popup-dialog-aria-label",
                "*": "Filter results by number of changes and time period"
            },
            {
                "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",
                "*": "Loads [[{{#special:RecentChanges}}|recent changes]] and [[{{#special:RecentChangesLinked}}|related changes]] without the filtered search or the highlighting functionality."
            },
            {
                "name": "rcfilters-preference-label",
                "normalizedname": "rcfilters-preference-label",
                "*": "Use non-JavaScript interface"
            },
            {
                "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 filters 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-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",
                "*": "Delete"
            },
            {
                "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-search-placeholder-mobile",
                "normalizedname": "rcfilters-search-placeholder-mobile",
                "*": "Filters"
            },
            {
                "name": "rcfilters-show-new-changes",
                "normalizedname": "rcfilters-show-new-changes",
                "*": "View new changes since $1"
            },
            {
                "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-prefix-tags-inverted",
                "normalizedname": "rcfilters-tag-prefix-tags-inverted",
                "*": "<strong>not</strong> #$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-preference-help",
                "normalizedname": "rcfilters-watchlist-preference-help",
                "*": "Loads [[{{#special:Watchlist}}|watchlist]] without filters search or highlighting functionality."
            },
            {
                "name": "rcfilters-watchlist-preference-label",
                "normalizedname": "rcfilters-watchlist-preference-label",
                "*": "Use non-JavaScript interface"
            },
            {
                "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 replica database servers catch up to the primary"
            },
            {
                "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 publish 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-legend-watchlistexpiry",
                "normalizedname": "recentchanges-legend-watchlistexpiry",
                "*": "Temporarily watched page"
            },
            {
                "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 {{ns: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-not-numeric",
                "normalizedname": "redirect-not-numeric",
                "*": "Value not numeric"
            },
            {
                "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": "redirectexists",
                "normalizedname": "redirectexists",
                "*": "A redirect already exists at [[:$1]], and it cannot be deleted automatically.\nPlease choose another name."
            },
            {
                "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": "renameuser",
                "normalizedname": "renameuser",
                "*": "Rename user"
            },
            {
                "name": "renameuser-error-request",
                "normalizedname": "renameuser-error-request",
                "*": "There was a problem with receiving the request.\nPlease go back and try again."
            },
            {
                "name": "renameuser-error-same-user",
                "normalizedname": "renameuser-error-same-user",
                "*": "You cannot rename a user to the same thing as before."
            },
            {
                "name": "renameuser-error-temp-user",
                "normalizedname": "renameuser-error-temp-user",
                "*": "You cannot rename temporary account \"$1\"."
            },
            {
                "name": "renameuser-error-temp-user-reserved",
                "normalizedname": "renameuser-error-temp-user-reserved",
                "*": "You cannot use \"$1\". It is reserved for temporary accounts."
            },
            {
                "name": "renameuser-linkoncontribs",
                "normalizedname": "renameuser-linkoncontribs",
                "*": "rename {{GENDER:$1|user}}"
            },
            {
                "name": "renameuser-linkoncontribs-text",
                "normalizedname": "renameuser-linkoncontribs-text",
                "*": "Rename this {{GENDER:$1|user}}"
            },
            {
                "name": "renameuser-move-log",
                "normalizedname": "renameuser-move-log",
                "*": "Automatically moved page while renaming the {{GENDER:$2|user}} \"[[User:$1|$1]]\" to \"[[User:$2|$2]]\""
            },
            {
                "name": "renameuser-page-exists",
                "normalizedname": "renameuser-page-exists",
                "*": "The page $1 already exists and cannot be automatically overwritten."
            },
            {
                "name": "renameuser-page-moved",
                "normalizedname": "renameuser-page-moved",
                "*": "The page $1 has been moved to $2."
            },
            {
                "name": "renameuser-page-unmoved",
                "normalizedname": "renameuser-page-unmoved",
                "*": "The page $1 could not be moved to $2."
            },
            {
                "name": "renameuser-renamed-notice",
                "normalizedname": "renameuser-renamed-notice",
                "*": "This user has been renamed.\nThe rename log is provided below for reference."
            },
            {
                "name": "renameuser-summary",
                "normalizedname": "renameuser-summary",
                "*": ""
            },
            {
                "name": "renameuser-warning-currentblock",
                "normalizedname": "renameuser-warning-currentblock",
                "*": "This user is [$1 currently blocked]."
            },
            {
                "name": "renameuserconfirm",
                "normalizedname": "renameuserconfirm",
                "*": "Yes, rename the user"
            },
            {
                "name": "renameusererrordoesnotexist",
                "normalizedname": "renameusererrordoesnotexist",
                "*": "The user \"<nowiki>$1</nowiki>\" does not exist."
            },
            {
                "name": "renameusererrorexists",
                "normalizedname": "renameusererrorexists",
                "*": "The {{GENDER:$1|user}} \"<nowiki>$1</nowiki>\" already exists."
            },
            {
                "name": "renameusererrorinvalid",
                "normalizedname": "renameusererrorinvalid",
                "*": "The username \"<nowiki>$1</nowiki>\" is invalid."
            },
            {
                "name": "renameusermove",
                "normalizedname": "renameusermove",
                "*": "Move user and talk pages (and their subpages) to new name"
            },
            {
                "name": "renameusernew",
                "normalizedname": "renameusernew",
                "*": "New username:"
            },
            {
                "name": "renameuserold",
                "normalizedname": "renameuserold",
                "*": "Current username:"
            },
            {
                "name": "renameuserreason",
                "normalizedname": "renameuserreason",
                "*": "Reason:"
            },
            {
                "name": "renameuserreserve",
                "normalizedname": "renameuserreserve",
                "*": "Block the old username from future use"
            },
            {
                "name": "renameusersubmit",
                "normalizedname": "renameusersubmit",
                "*": "Submit"
            },
            {
                "name": "renameusersuccess",
                "normalizedname": "renameusersuccess",
                "*": "The {{GENDER:$2|user}} \"<nowiki>$1</nowiki>\" has been renamed to \"<nowiki>$2</nowiki>\"."
            },
            {
                "name": "renameusersuppress",
                "normalizedname": "renameusersuppress",
                "*": "Do not create redirects to the new name"
            },
            {
                "name": "renameuserwarnings",
                "normalizedname": "renameuserwarnings",
                "*": "Warnings:"
            },
            {
                "name": "replacetext",
                "normalizedname": "replacetext",
                "*": "Replace text"
            },
            {
                "name": "replacetext-desc",
                "normalizedname": "replacetext-desc",
                "*": "Provides a [[Special:ReplaceText|special page]] to allow administrators to do a global string find-and-replace on all the content pages of a wiki"
            },
            {
                "name": "replacetext_blankwarning",
                "normalizedname": "replacetext_blankwarning",
                "*": "'''Warning:''' Because the replacement string is blank, this operation will not be reversible."
            },
            {
                "name": "replacetext_botedit",
                "normalizedname": "replacetext_botedit",
                "*": "Mark changes as bot edits"
            },
            {
                "name": "replacetext_cannotedit",
                "normalizedname": "replacetext_cannotedit",
                "*": "The following {{PLURAL:$1|page|$1 pages}} cannot be edited:"
            },
            {
                "name": "replacetext_cannotmove",
                "normalizedname": "replacetext_cannotmove",
                "*": "The following {{PLURAL:$1|page|$1 pages}} cannot be moved:"
            },
            {
                "name": "replacetext_categorysearch",
                "normalizedname": "replacetext_categorysearch",
                "*": "Replace only in category:"
            },
            {
                "name": "replacetext_cfg_error",
                "normalizedname": "replacetext_cfg_error",
                "*": "ReplaceText configuration error"
            },
            {
                "name": "replacetext_choosepagesforedit",
                "normalizedname": "replacetext_choosepagesforedit",
                "*": "Replace \"$1\" with \"$2\" in the text of the following {{PLURAL:$3|page|$3 pages}}:"
            },
            {
                "name": "replacetext_choosepagesformove",
                "normalizedname": "replacetext_choosepagesformove",
                "*": "Replace \"$1\" with \"$2\" in the {{PLURAL:$3|title of the following page|titles of the following $3 pages}}:"
            },
            {
                "name": "replacetext_continue",
                "normalizedname": "replacetext_continue",
                "*": "Continue"
            },
            {
                "name": "replacetext_docu",
                "normalizedname": "replacetext_docu",
                "*": "To replace one text string with another across all regular pages on this wiki, enter the two pieces of text here and then hit \"{{int:replacetext_continue}}\".\nYou will then be shown a list of pages that contain the search text, and you can choose the ones in which you want to replace it.\nYour name will appear in page histories as the user responsible for any changes."
            },
            {
                "name": "replacetext_editormove",
                "normalizedname": "replacetext_editormove",
                "*": "You must select at least one of the replacement options."
            },
            {
                "name": "replacetext_editpages",
                "normalizedname": "replacetext_editpages",
                "*": "Replace text in page contents"
            },
            {
                "name": "replacetext_editsummary",
                "normalizedname": "replacetext_editsummary",
                "*": "Text replacement - \"$1\" to \"$2\""
            },
            {
                "name": "replacetext_formovedpages",
                "normalizedname": "replacetext_formovedpages",
                "*": "For moved pages:"
            },
            {
                "name": "replacetext_givetarget",
                "normalizedname": "replacetext_givetarget",
                "*": "You must specify the string to be replaced."
            },
            {
                "name": "replacetext_invertselections",
                "normalizedname": "replacetext_invertselections",
                "*": "Invert selections"
            },
            {
                "name": "replacetext_movepages",
                "normalizedname": "replacetext_movepages",
                "*": "Replace text in page titles, when possible"
            },
            {
                "name": "replacetext_no_compress",
                "normalizedname": "replacetext_no_compress",
                "*": "Your wiki will not work with ReplaceText: Text replacements cannot be run if $wgCompressRevisions is set to true."
            },
            {
                "name": "replacetext_no_external_stores",
                "normalizedname": "replacetext_no_external_stores",
                "*": "Your wiki will not work with ReplaceText: Text replacements cannot be run if $wgExternalStores is non-empty."
            },
            {
                "name": "replacetext_nomove",
                "normalizedname": "replacetext_nomove",
                "*": "No pages were found whose title contains \"$1\"."
            },
            {
                "name": "replacetext_nonamespace",
                "normalizedname": "replacetext_nonamespace",
                "*": "You must select at least one namespace."
            },
            {
                "name": "replacetext_noreplacement",
                "normalizedname": "replacetext_noreplacement",
                "*": "No pages were found containing the string \"$1\"."
            },
            {
                "name": "replacetext_nosuchcategory",
                "normalizedname": "replacetext_nosuchcategory",
                "*": "No category exists with the name \"$1\"."
            },
            {
                "name": "replacetext_optionalfilters",
                "normalizedname": "replacetext_optionalfilters",
                "*": "Optional filters:"
            },
            {
                "name": "replacetext_originaltext",
                "normalizedname": "replacetext_originaltext",
                "*": "Original text:"
            },
            {
                "name": "replacetext_pagelimit",
                "normalizedname": "replacetext_pagelimit",
                "*": "Maximum number of pages to return from the search:"
            },
            {
                "name": "replacetext_prefixsearch",
                "normalizedname": "replacetext_prefixsearch",
                "*": "Replace only in pages with the prefix:"
            },
            {
                "name": "replacetext_regexdocu",
                "normalizedname": "replacetext_regexdocu",
                "*": "(Example: values of \"a(.*)c\" for \"{{int:replacetext_originaltext}}\" and \"ac$1\" for \"{{int:replacetext_replacementtext}}\" would replace \"abc\" with \"acb\".)"
            },
            {
                "name": "replacetext_reminder",
                "normalizedname": "replacetext_reminder",
                "*": "To also modify links to this page in other pages, go to $1."
            },
            {
                "name": "replacetext_replace",
                "normalizedname": "replacetext_replace",
                "*": "Replace"
            },
            {
                "name": "replacetext_replacementtext",
                "normalizedname": "replacetext_replacementtext",
                "*": "Replacement text:"
            },
            {
                "name": "replacetext_return",
                "normalizedname": "replacetext_return",
                "*": "Return to form."
            },
            {
                "name": "replacetext_savemovedpages",
                "normalizedname": "replacetext_savemovedpages",
                "*": "Save the old titles as redirects to the new titles"
            },
            {
                "name": "replacetext_success",
                "normalizedname": "replacetext_success",
                "*": "\"$1\" will be replaced with \"$2\" in {{PLURAL:$3|one page|$3 pages}}."
            },
            {
                "name": "replacetext_useregex",
                "normalizedname": "replacetext_useregex",
                "*": "Use regular expressions"
            },
            {
                "name": "replacetext_warning",
                "normalizedname": "replacetext_warning",
                "*": "'''Warning:''' There {{PLURAL:$1|is one page that already contains|are $1 pages that already contain}} the replacement string, \"$2\". If you make this replacement you will not be able to separate your replacements from these strings."
            },
            {
                "name": "replacetext_watchmovedpages",
                "normalizedname": "replacetext_watchmovedpages",
                "*": "Watch these pages"
            },
            {
                "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 changed. Please choose a new password now, or click \"{{int:authprovider-resetpass-skip-label}}\" to change 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 change 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",
                "normalizedname": "resetpass-validity",
                "*": "Your password is not valid: $1\n\nPlease set a new password to log in."
            },
            {
                "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 change 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": "rest-bad-content-model",
                "normalizedname": "rest-bad-content-model",
                "*": "Bad content model: $1"
            },
            {
                "name": "rest-bad-json-body",
                "normalizedname": "rest-bad-json-body",
                "*": "Bad request body, must be a JSON object."
            },
            {
                "name": "rest-badtoken",
                "normalizedname": "rest-badtoken",
                "*": "The CSRF token provided is invalid."
            },
            {
                "name": "rest-badtoken-missing",
                "normalizedname": "rest-badtoken-missing",
                "*": "The <var>token</var> parameter is required unless using a CSRF-safe authentication method."
            },
            {
                "name": "rest-badtoken-nosession",
                "normalizedname": "rest-badtoken-nosession",
                "*": "CSRF error - no session."
            },
            {
                "name": "rest-cannot-load-file",
                "normalizedname": "rest-cannot-load-file",
                "*": "The file for title \"$1\" cannot be loaded."
            },
            {
                "name": "rest-compare-inaccessible",
                "normalizedname": "rest-compare-inaccessible",
                "*": "The revision specified by the $1 parameter is not publicly accessible."
            },
            {
                "name": "rest-compare-nonexistent",
                "normalizedname": "rest-compare-nonexistent",
                "*": "The revision specified by the $1 parameter does not exist."
            },
            {
                "name": "rest-compare-page-mismatch",
                "normalizedname": "rest-compare-page-mismatch",
                "*": "The specified revisions belong to different pages; refusing to compare them."
            },
            {
                "name": "rest-compare-permission-denied",
                "normalizedname": "rest-compare-permission-denied",
                "*": "User doesn't have access to the requested revisions"
            },
            {
                "name": "rest-compare-wikidiff2",
                "normalizedname": "rest-compare-wikidiff2",
                "*": "This endpoint requires wikidiff2 1.9.0 or later."
            },
            {
                "name": "rest-compare-wrong-content",
                "normalizedname": "rest-compare-wrong-content",
                "*": "The $1 slot of the revision specified by the $2 parameter has a content type which cannot be converted to text."
            },
            {
                "name": "rest-cross-origin-anon-write",
                "normalizedname": "rest-cross-origin-anon-write",
                "*": "Anonymous cross-origin write requests are not allowed"
            },
            {
                "name": "rest-extraneous-body-fields",
                "normalizedname": "rest-extraneous-body-fields",
                "*": "Extraneous fields found in request body: $1"
            },
            {
                "name": "rest-extraneous-csrf-token",
                "normalizedname": "rest-extraneous-csrf-token",
                "*": "Extraneous CSRF token found. CSRF tokens must not be used when using authentication mechanisms such as OAuth that are safe against CSRF attacks."
            },
            {
                "name": "rest-html-backend-error",
                "normalizedname": "rest-html-backend-error",
                "*": "Unable to fetch Parsoid HTML"
            },
            {
                "name": "rest-invalid-user",
                "normalizedname": "rest-invalid-user",
                "*": "The specified username ($1) is invalid"
            },
            {
                "name": "rest-json-body-parse-error",
                "normalizedname": "rest-json-body-parse-error",
                "*": "Parsing request body as JSON failed: $1"
            },
            {
                "name": "rest-media-too-many-links",
                "normalizedname": "rest-media-too-many-links",
                "*": "Too many media links found on title $1 ($2 allowed)"
            },
            {
                "name": "rest-missing-body-field",
                "normalizedname": "rest-missing-body-field",
                "*": "Mandatory field \"$1\" missing from request body."
            },
            {
                "name": "rest-no-match",
                "normalizedname": "rest-no-match",
                "*": "The requested relative path ($1) did not match any known handler"
            },
            {
                "name": "rest-no-revision",
                "normalizedname": "rest-no-revision",
                "*": "Unable to retrieve revision for title $1"
            },
            {
                "name": "rest-nonexistent-revision",
                "normalizedname": "rest-nonexistent-revision",
                "*": "The specified revision ($1) does not exist"
            },
            {
                "name": "rest-nonexistent-title",
                "normalizedname": "rest-nonexistent-title",
                "*": "The specified title ($1) does not exist"
            },
            {
                "name": "rest-nonexistent-title-revision",
                "normalizedname": "rest-nonexistent-title-revision",
                "*": "The specified revision ($1) does not exist for the specified page ($2)"
            },
            {
                "name": "rest-nonexistent-user",
                "normalizedname": "rest-nonexistent-user",
                "*": "The specified user ($1) does not exist"
            },
            {
                "name": "rest-page-source-type-error",
                "normalizedname": "rest-page-source-type-error",
                "*": "The content type of the page source requested is unsupported"
            },
            {
                "name": "rest-pagehistory-incompatible-params",
                "normalizedname": "rest-pagehistory-incompatible-params",
                "*": "Parameters \"older_than\" and \"newer_than\" cannot both be specified"
            },
            {
                "name": "rest-pagehistory-param-range-error",
                "normalizedname": "rest-pagehistory-param-range-error",
                "*": "Revision id must be greater than 0"
            },
            {
                "name": "rest-pagehistory-timestamp-error",
                "normalizedname": "rest-pagehistory-timestamp-error",
                "*": "Unable to retrieve timestamp for the specified revision ($1)"
            },
            {
                "name": "rest-pagehistorycount-parameters-invalid",
                "normalizedname": "rest-pagehistorycount-parameters-invalid",
                "*": "The specified combination of parameters is not supported."
            },
            {
                "name": "rest-pagehistorycount-too-many-revisions",
                "normalizedname": "rest-pagehistorycount-too-many-revisions",
                "*": "The specified title contains too many revisions to retrieve this count."
            },
            {
                "name": "rest-pagehistorycount-type-unrecognized",
                "normalizedname": "rest-pagehistorycount-type-unrecognized",
                "*": "The specified count type ($1) is not valid"
            },
            {
                "name": "rest-permission-denied-anon",
                "normalizedname": "rest-permission-denied-anon",
                "*": "Not accessible by anonymous user"
            },
            {
                "name": "rest-permission-denied-revision",
                "normalizedname": "rest-permission-denied-revision",
                "*": "User doesn't have access to the requested revision ($1)."
            },
            {
                "name": "rest-permission-denied-title",
                "normalizedname": "rest-permission-denied-title",
                "*": "The user does not have rights to read title ($1)"
            },
            {
                "name": "rest-prefix-mismatch",
                "normalizedname": "rest-prefix-mismatch",
                "*": "The requested path ($1) was not inside the REST API root path ($2)"
            },
            {
                "name": "rest-requires-safe-against-csrf",
                "normalizedname": "rest-requires-safe-against-csrf",
                "*": "This endpoint requires a CSRF-safe session provider."
            },
            {
                "name": "rest-resource-limit-exceeded",
                "normalizedname": "rest-resource-limit-exceeded",
                "*": "Resources limits exceeded processing the request."
            },
            {
                "name": "rest-search-error",
                "normalizedname": "rest-search-error",
                "*": "Error when returning search results: $1"
            },
            {
                "name": "rest-unsupported-content-type",
                "normalizedname": "rest-unsupported-content-type",
                "*": "Unsupported Content-Type: $1"
            },
            {
                "name": "rest-update-cannot-create-page",
                "normalizedname": "rest-update-cannot-create-page",
                "*": "The page \"$1\" cannot be created since it already exists. To update the existing page, provide the base revision ID in the structure under \"latest\" key in the request body."
            },
            {
                "name": "rest-wrong-method",
                "normalizedname": "rest-wrong-method",
                "*": "The request method ($1) was not {{PLURAL:$3|the allowed method for this path|one of the allowed methods for this path}} ($2)"
            },
            {
                "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"
            },
            {
                "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-blank",
                "normalizedname": "restriction-blank",
                "*": ""
            },
            {
                "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-smw-pageedit",
                "normalizedname": "restriction-level-smw-pageedit",
                "*": "protected (only eligible users)"
            },
            {
                "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=$1}} 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=$1}} 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>suppressed</strong>."
            },
            {
                "name": "rev-suppressed-text",
                "normalizedname": "rev-suppressed-text",
                "*": "This page revision has been <strong>suppressed</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=$1}} 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=$1}} 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-edit-reasonlist-suppress",
                "normalizedname": "revdelete-edit-reasonlist-suppress",
                "*": "Edit suppress 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-set-suppress",
                "normalizedname": "revdelete-radio-set-suppress",
                "*": "Suppress"
            },
            {
                "name": "revdelete-radio-unset",
                "normalizedname": "revdelete-radio-unset",
                "*": "Visible"
            },
            {
                "name": "revdelete-radio-unset-suppress",
                "normalizedname": "revdelete-radio-unset-suppress",
                "*": "Unsuppress"
            },
            {
                "name": "revdelete-reason-dropdown",
                "normalizedname": "revdelete-reason-dropdown",
                "*": "*Common delete reasons\n** Copyright violation\n** Inappropriate comment\n** Inappropriate username\n** Potentially libelous information"
            },
            {
                "name": "revdelete-reason-dropdown-suppress",
                "normalizedname": "revdelete-reason-dropdown-suppress",
                "*": "*Common suppress reasons\n** Inappropriate personal 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 undeleted revisions"
            },
            {
                "name": "reverted",
                "normalizedname": "reverted",
                "*": "Reverted to earlier revision"
            },
            {
                "name": "revertmerge",
                "normalizedname": "revertmerge",
                "*": "Unmerge"
            },
            {
                "name": "revertmove",
                "normalizedname": "revertmove",
                "*": "revert"
            },
            {
                "name": "revertpage",
                "normalizedname": "revertpage",
                "*": "Reverted {{PLURAL:$7|edit|edits}} by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last revision by [[User:$1|$1]]"
            },
            {
                "name": "revertpage-anon",
                "normalizedname": "revertpage-anon",
                "*": "Reverted {{PLURAL:$7|edit|edits}} by [[Special:Contributions/$2|$2]] to last revision by [[User:$1|$1]]"
            },
            {
                "name": "revertpage-nouser",
                "normalizedname": "revertpage-nouser",
                "*": "Reverted {{PLURAL:$7|edit|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-abusefilter-bypass-blocked-external-domains",
                "normalizedname": "right-abusefilter-bypass-blocked-external-domains",
                "*": "Bypass blocked external domains"
            },
            {
                "name": "right-abusefilter-hidden-log",
                "normalizedname": "right-abusefilter-hidden-log",
                "*": "View hidden abuse log entries"
            },
            {
                "name": "right-abusefilter-hide-log",
                "normalizedname": "right-abusefilter-hide-log",
                "*": "Hide entries in the abuse log"
            },
            {
                "name": "right-abusefilter-log",
                "normalizedname": "right-abusefilter-log",
                "*": "View the abuse log"
            },
            {
                "name": "right-abusefilter-log-detail",
                "normalizedname": "right-abusefilter-log-detail",
                "*": "View detailed abuse log entries"
            },
            {
                "name": "right-abusefilter-log-private",
                "normalizedname": "right-abusefilter-log-private",
                "*": "View log entries of abuse filters marked as private"
            },
            {
                "name": "right-abusefilter-modify",
                "normalizedname": "right-abusefilter-modify",
                "*": "Create or modify abuse filters"
            },
            {
                "name": "right-abusefilter-modify-blocked-external-domains",
                "normalizedname": "right-abusefilter-modify-blocked-external-domains",
                "*": "Create or modify what external domains are blocked from being linked"
            },
            {
                "name": "right-abusefilter-modify-global",
                "normalizedname": "right-abusefilter-modify-global",
                "*": "Create or modify global abuse filters"
            },
            {
                "name": "right-abusefilter-modify-restricted",
                "normalizedname": "right-abusefilter-modify-restricted",
                "*": "Modify abuse filters with restricted actions"
            },
            {
                "name": "right-abusefilter-privatedetails",
                "normalizedname": "right-abusefilter-privatedetails",
                "*": "View private data in the abuse log"
            },
            {
                "name": "right-abusefilter-privatedetails-log",
                "normalizedname": "right-abusefilter-privatedetails-log",
                "*": "View the AbuseFilter private details access log"
            },
            {
                "name": "right-abusefilter-revert",
                "normalizedname": "right-abusefilter-revert",
                "*": "Revert all changes by a given abuse filter"
            },
            {
                "name": "right-abusefilter-view",
                "normalizedname": "right-abusefilter-view",
                "*": "View abuse filters"
            },
            {
                "name": "right-abusefilter-view-private",
                "normalizedname": "right-abusefilter-view-private",
                "*": "View abuse filters marked as private"
            },
            {
                "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 or unblock other users from editing"
            },
            {
                "name": "right-blockemail",
                "normalizedname": "right-blockemail",
                "*": "Block or unblock 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-delete-redirect",
                "normalizedname": "right-delete-redirect",
                "*": "Delete single revision redirects"
            },
            {
                "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-dpl_param_delete_rules",
                "normalizedname": "right-dpl_param_delete_rules",
                "*": "Mass deletion of pages using DynamicPageList3"
            },
            {
                "name": "right-dpl_param_update_rules",
                "normalizedname": "right-dpl_param_update_rules",
                "*": "Mass update of pages using DynamicPageList3"
            },
            {
                "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) and request password reset emails"
            },
            {
                "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-editmyuserjsredirect",
                "normalizedname": "right-editmyuserjsredirect",
                "*": "Edit your own user JavaScript files that are redirects"
            },
            {
                "name": "right-editmywatchlist",
                "normalizedname": "right-editmywatchlist",
                "*": "Edit your own watchlist (note that 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-editsitecss",
                "normalizedname": "right-editsitecss",
                "*": "Edit sitewide CSS"
            },
            {
                "name": "right-editsitejs",
                "normalizedname": "right-editsitejs",
                "*": "Edit sitewide JavaScript"
            },
            {
                "name": "right-editsitejson",
                "normalizedname": "right-editsitejson",
                "*": "Edit sitewide JSON"
            },
            {
                "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-gadgets-definition-edit",
                "normalizedname": "right-gadgets-definition-edit",
                "*": "Edit gadget definitions"
            },
            {
                "name": "right-gadgets-edit",
                "normalizedname": "right-gadgets-edit",
                "*": "Edit gadget JavaScript and CSS pages"
            },
            {
                "name": "right-hideuser",
                "normalizedname": "right-hideuser",
                "*": "Block or unblock a username, hiding or unhiding 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-interwiki",
                "normalizedname": "right-interwiki",
                "*": "Edit interwiki data"
            },
            {
                "name": "right-ipblock-exempt",
                "normalizedname": "right-ipblock-exempt",
                "*": "Bypass IP blocks, auto-blocks and range blocks"
            },
            {
                "name": "right-jsonconfig-flush",
                "normalizedname": "right-jsonconfig-flush",
                "*": "Manipulate JsonConfig via API"
            },
            {
                "name": "right-linktitles-batch",
                "normalizedname": "right-linktitles-batch",
                "*": "Perform a LinkTitles batch operation"
            },
            {
                "name": "right-manage-all-push-subscriptions",
                "normalizedname": "right-manage-all-push-subscriptions",
                "*": "Manage all push subscriptions"
            },
            {
                "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-mass-upload",
                "normalizedname": "right-mass-upload",
                "*": "Batch-upload more files at once with Upload Wizard"
            },
            {
                "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-nuke",
                "normalizedname": "right-nuke",
                "*": "Mass delete pages"
            },
            {
                "name": "right-oathauth-api-all",
                "normalizedname": "right-oathauth-api-all",
                "*": "Query and validate OATH information for self and others"
            },
            {
                "name": "right-oathauth-disable-for-user",
                "normalizedname": "right-oathauth-disable-for-user",
                "*": "Disable two-factor authentication for a user"
            },
            {
                "name": "right-oathauth-enable",
                "normalizedname": "right-oathauth-enable",
                "*": "Enable two-factor authentication"
            },
            {
                "name": "right-oathauth-verify-user",
                "normalizedname": "right-oathauth-verify-user",
                "*": "Verify whether a user has two-factor authentication enabled"
            },
            {
                "name": "right-oathauth-view-log",
                "normalizedname": "right-oathauth-view-log",
                "*": "Access the log of two-factor authentication changes"
            },
            {
                "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 settings and edit cascade-protected pages"
            },
            {
                "name": "right-purge",
                "normalizedname": "right-purge",
                "*": "Purge the cache for a page"
            },
            {
                "name": "right-read",
                "normalizedname": "right-read",
                "*": "Read pages"
            },
            {
                "name": "right-renameuser",
                "normalizedname": "right-renameuser",
                "*": "Rename users"
            },
            {
                "name": "right-replacetext",
                "normalizedname": "right-replacetext",
                "*": "Make string replacements on the entire wiki"
            },
            {
                "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-sboverride",
                "normalizedname": "right-sboverride",
                "*": "Bypass the spam block list"
            },
            {
                "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-smw-admin",
                "normalizedname": "right-smw-admin",
                "*": "Access to administration tasks (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-pageedit",
                "normalizedname": "right-smw-pageedit",
                "*": "Edit access for <code>Is edit protected</code> annotated pages (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-patternedit",
                "normalizedname": "right-smw-patternedit",
                "*": "Edit access to maintain allowed regular expressions and patterns (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-schemaedit",
                "normalizedname": "right-smw-schemaedit",
                "*": "Edit [https://www.semantic-mediawiki.org/wiki/Help:Schema schema pages] (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-vieweditpageinfo",
                "normalizedname": "right-smw-vieweditpageinfo",
                "*": "View [https://www.semantic-mediawiki.org/wiki/Help:Edit_help edit help] (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-viewentityassociatedrevisionmismatch",
                "normalizedname": "right-smw-viewentityassociatedrevisionmismatch",
                "*": "Access information about an entity associated revision mismatch (Semantic MediaWiki)"
            },
            {
                "name": "right-smw-viewjobqueuewatchlist",
                "normalizedname": "right-smw-viewjobqueuewatchlist",
                "*": "Access to the job queue [https://www.semantic-mediawiki.org/wiki/Help:Job_queue_watchlist watchlist] feature (Semantic MediaWiki)"
            },
            {
                "name": "right-spamblacklistlog",
                "normalizedname": "right-spamblacklistlog",
                "*": "View the spam block list log"
            },
            {
                "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-tboverride",
                "normalizedname": "right-tboverride",
                "*": "Override the disallowed titles or usernames list"
            },
            {
                "name": "right-tboverride-account",
                "normalizedname": "right-tboverride-account",
                "*": "Override the disallowed usernames list"
            },
            {
                "name": "right-titleblacklistlog",
                "normalizedname": "right-titleblacklistlog",
                "*": "View the disallowed titles list log"
            },
            {
                "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-upwizcampaigns",
                "normalizedname": "right-upwizcampaigns",
                "*": "Configure Upload Wizard campaigns"
            },
            {
                "name": "right-usermerge",
                "normalizedname": "right-usermerge",
                "*": "Merge users"
            },
            {
                "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-confirmation-confirm",
                "normalizedname": "rollback-confirmation-confirm",
                "*": "Please confirm:"
            },
            {
                "name": "rollback-confirmation-no",
                "normalizedname": "rollback-confirmation-no",
                "*": "Cancel"
            },
            {
                "name": "rollback-confirmation-yes",
                "normalizedname": "rollback-confirmation-yes",
                "*": "Rollback"
            },
            {
                "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": "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": "scribunto-common-backtrace",
                "normalizedname": "scribunto-common-backtrace",
                "*": "Backtrace:"
            },
            {
                "name": "scribunto-common-error-category",
                "normalizedname": "scribunto-common-error-category",
                "*": "Pages with script errors"
            },
            {
                "name": "scribunto-common-error-category-desc",
                "normalizedname": "scribunto-common-error-category-desc",
                "*": "There was an error when processing the modules included on the page."
            },
            {
                "name": "scribunto-common-no-details",
                "normalizedname": "scribunto-common-no-details",
                "*": "No further details are available."
            },
            {
                "name": "scribunto-common-nofunction",
                "normalizedname": "scribunto-common-nofunction",
                "*": "Script error: You must specify a function to call."
            },
            {
                "name": "scribunto-common-nosuchfunction",
                "normalizedname": "scribunto-common-nosuchfunction",
                "*": "Script error: The function \"$2\" does not exist."
            },
            {
                "name": "scribunto-common-nosuchmodule",
                "normalizedname": "scribunto-common-nosuchmodule",
                "*": "Script error: No such module \"$2\"."
            },
            {
                "name": "scribunto-common-notafunction",
                "normalizedname": "scribunto-common-notafunction",
                "*": "Script error: \"$2\" is not a function."
            },
            {
                "name": "scribunto-common-oom",
                "normalizedname": "scribunto-common-oom",
                "*": "The amount of memory allowed for running scripts has been exceeded."
            },
            {
                "name": "scribunto-common-timeout",
                "normalizedname": "scribunto-common-timeout",
                "*": "The time allocated for running scripts has expired."
            },
            {
                "name": "scribunto-console-clear",
                "normalizedname": "scribunto-console-clear",
                "*": "Clear"
            },
            {
                "name": "scribunto-console-cleared",
                "normalizedname": "scribunto-console-cleared",
                "*": "The console state was cleared because the module was updated."
            },
            {
                "name": "scribunto-console-cleared-session-lost",
                "normalizedname": "scribunto-console-cleared-session-lost",
                "*": "The console state was cleared because the session data was lost."
            },
            {
                "name": "scribunto-console-current-src",
                "normalizedname": "scribunto-console-current-src",
                "*": "console input"
            },
            {
                "name": "scribunto-console-intro",
                "normalizedname": "scribunto-console-intro",
                "*": "* The module exports are available as the variable \"p\", including unsaved modifications.\n* Precede a line with \"=\" to evaluate it as an expression or use print(). Use mw.logObject() for tables.\n* Use mw.log() and mw.logObject() in module code to send messages to this console."
            },
            {
                "name": "scribunto-console-title",
                "normalizedname": "scribunto-console-title",
                "*": "Debug console"
            },
            {
                "name": "scribunto-console-too-large",
                "normalizedname": "scribunto-console-too-large",
                "*": "This console session is too large. Please clear the console history or reduce the size of the module."
            },
            {
                "name": "scribunto-desc",
                "normalizedname": "scribunto-desc",
                "*": "Framework for embedding scripting languages into MediaWiki pages"
            },
            {
                "name": "scribunto-doc-page-does-not-exist",
                "normalizedname": "scribunto-doc-page-does-not-exist",
                "*": "''Documentation for this module may be created at [[$1]]''"
            },
            {
                "name": "scribunto-doc-page-header",
                "normalizedname": "scribunto-doc-page-header",
                "*": "'''This is the documentation page for [[$1]]'''"
            },
            {
                "name": "scribunto-doc-page-name",
                "normalizedname": "scribunto-doc-page-name",
                "*": "Module:$1/doc"
            },
            {
                "name": "scribunto-doc-page-show",
                "normalizedname": "scribunto-doc-page-show",
                "*": "{{$1}}\n<hr />"
            },
            {
                "name": "scribunto-error-long",
                "normalizedname": "scribunto-error-long",
                "*": "Script errors:\n\n$1"
            },
            {
                "name": "scribunto-error-short",
                "normalizedname": "scribunto-error-short",
                "*": "Script error: $1"
            },
            {
                "name": "scribunto-limitreport-estmemusage",
                "normalizedname": "scribunto-limitreport-estmemusage",
                "*": "Lua estimated memory usage"
            },
            {
                "name": "scribunto-limitreport-estmemusage-value",
                "normalizedname": "scribunto-limitreport-estmemusage-value",
                "*": "$1 {{PLURAL:$1|byte|bytes}}"
            },
            {
                "name": "scribunto-limitreport-logs",
                "normalizedname": "scribunto-limitreport-logs",
                "*": "Lua logs"
            },
            {
                "name": "scribunto-limitreport-memusage",
                "normalizedname": "scribunto-limitreport-memusage",
                "*": "Lua memory usage"
            },
            {
                "name": "scribunto-limitreport-memusage-value",
                "normalizedname": "scribunto-limitreport-memusage-value",
                "*": "$1/$2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "scribunto-limitreport-profile",
                "normalizedname": "scribunto-limitreport-profile",
                "*": "Lua Profile"
            },
            {
                "name": "scribunto-limitreport-profile-ms",
                "normalizedname": "scribunto-limitreport-profile-ms",
                "*": "$1 ms"
            },
            {
                "name": "scribunto-limitreport-profile-percent",
                "normalizedname": "scribunto-limitreport-profile-percent",
                "*": "$1%"
            },
            {
                "name": "scribunto-limitreport-timeusage",
                "normalizedname": "scribunto-limitreport-timeusage",
                "*": "Lua time usage"
            },
            {
                "name": "scribunto-limitreport-timeusage-value",
                "normalizedname": "scribunto-limitreport-timeusage-value",
                "*": "$1/$2 seconds"
            },
            {
                "name": "scribunto-limitreport-virtmemusage",
                "normalizedname": "scribunto-limitreport-virtmemusage",
                "*": "Lua virtual size"
            },
            {
                "name": "scribunto-limitreport-virtmemusage-value",
                "normalizedname": "scribunto-limitreport-virtmemusage-value",
                "*": "$1/$2 {{PLURAL:$2|byte|bytes}}"
            },
            {
                "name": "scribunto-line",
                "normalizedname": "scribunto-line",
                "*": "at line $1"
            },
            {
                "name": "scribunto-lua-backtrace-line",
                "normalizedname": "scribunto-lua-backtrace-line",
                "*": "$1: $2"
            },
            {
                "name": "scribunto-lua-error",
                "normalizedname": "scribunto-lua-error",
                "*": "Lua error: $2."
            },
            {
                "name": "scribunto-lua-error-location",
                "normalizedname": "scribunto-lua-error-location",
                "*": "Lua error $1: $2."
            },
            {
                "name": "scribunto-lua-in-function",
                "normalizedname": "scribunto-lua-in-function",
                "*": "in function \"$1\""
            },
            {
                "name": "scribunto-lua-in-function-at",
                "normalizedname": "scribunto-lua-in-function-at",
                "*": "in the function at $1:$2"
            },
            {
                "name": "scribunto-lua-in-main",
                "normalizedname": "scribunto-lua-in-main",
                "*": "in main chunk"
            },
            {
                "name": "scribunto-lua-notarrayreturn",
                "normalizedname": "scribunto-lua-notarrayreturn",
                "*": "Script error: The module returned a $2 value. It is supposed to return an export table."
            },
            {
                "name": "scribunto-lua-warning",
                "normalizedname": "scribunto-lua-warning",
                "*": "Script warning: $1"
            },
            {
                "name": "scribunto-luastandalone-decode-error",
                "normalizedname": "scribunto-luastandalone-decode-error",
                "*": "Lua error: Internal error: Unable to decode message."
            },
            {
                "name": "scribunto-luastandalone-exited",
                "normalizedname": "scribunto-luastandalone-exited",
                "*": "Lua error: Internal error: The interpreter exited with status $2."
            },
            {
                "name": "scribunto-luastandalone-gone",
                "normalizedname": "scribunto-luastandalone-gone",
                "*": "Lua error: Internal error: The interpreter has already exited."
            },
            {
                "name": "scribunto-luastandalone-proc-error",
                "normalizedname": "scribunto-luastandalone-proc-error",
                "*": "Lua error: Cannot create process."
            },
            {
                "name": "scribunto-luastandalone-proc-error-msg",
                "normalizedname": "scribunto-luastandalone-proc-error-msg",
                "*": "Lua error: Cannot create process: $2"
            },
            {
                "name": "scribunto-luastandalone-proc-error-proc-open",
                "normalizedname": "scribunto-luastandalone-proc-error-proc-open",
                "*": "Lua error: Cannot create process: proc_open is not available. Check PHP's \"disable_functions\" configuration directive."
            },
            {
                "name": "scribunto-luastandalone-read-error",
                "normalizedname": "scribunto-luastandalone-read-error",
                "*": "Lua error: Internal error: Error reading from pipe."
            },
            {
                "name": "scribunto-luastandalone-signal",
                "normalizedname": "scribunto-luastandalone-signal",
                "*": "Lua error: Internal error: The interpreter has terminated with signal \"$2\"."
            },
            {
                "name": "scribunto-luastandalone-write-error",
                "normalizedname": "scribunto-luastandalone-write-error",
                "*": "Lua error: Internal error: Error writing to pipe."
            },
            {
                "name": "scribunto-module-line",
                "normalizedname": "scribunto-module-line",
                "*": "in $1 at line $2"
            },
            {
                "name": "scribunto-module-with-errors-category",
                "normalizedname": "scribunto-module-with-errors-category",
                "*": "Scribunto modules with errors"
            },
            {
                "name": "scribunto-module-with-errors-category-desc",
                "normalizedname": "scribunto-module-with-errors-category-desc",
                "*": "The module has an error in it."
            },
            {
                "name": "scribunto-parser-dialog-title",
                "normalizedname": "scribunto-parser-dialog-title",
                "*": "Script error"
            },
            {
                "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-filter-title-prefix",
                "normalizedname": "search-filter-title-prefix",
                "*": "Only searching in pages whose title starts with \"$1\""
            },
            {
                "name": "search-filter-title-prefix-reset",
                "normalizedname": "search-filter-title-prefix-reset",
                "*": "Search all pages"
            },
            {
                "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-custom",
                "normalizedname": "search-interwiki-custom",
                "*": ""
            },
            {
                "name": "search-interwiki-more",
                "normalizedname": "search-interwiki-more",
                "*": "(more)"
            },
            {
                "name": "search-interwiki-more-results",
                "normalizedname": "search-interwiki-more-results",
                "*": "more results"
            },
            {
                "name": "search-interwiki-resultset-link",
                "normalizedname": "search-interwiki-resultset-link",
                "*": "See all results"
            },
            {
                "name": "search-invalid-sort-order",
                "normalizedname": "search-invalid-sort-order",
                "*": "Sort order of $1 is unrecognized, default sorting will be applied. Valid sort orders are: $2"
            },
            {
                "name": "search-match-redirect-help",
                "normalizedname": "search-match-redirect-help",
                "*": "Select this to go to a page when that page title matches what you have searched for"
            },
            {
                "name": "search-match-redirect-label",
                "normalizedname": "search-match-redirect-label",
                "*": "Go to exact match when searching"
            },
            {
                "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. No results found 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-thumbnail-alt",
                "normalizedname": "search-thumbnail-alt",
                "*": "Thumbnail for $1"
            },
            {
                "name": "search-thumbnail-extra-namespaces-label",
                "normalizedname": "search-thumbnail-extra-namespaces-label",
                "*": "Show thumbnails in Special:Search on Desktop"
            },
            {
                "name": "search-thumbnail-extra-namespaces-message",
                "normalizedname": "search-thumbnail-extra-namespaces-message",
                "*": "Displays thumbnails for $1 {{PLURAL:$2|namespace|namespaces}} results on the {{#special:search}} page"
            },
            {
                "name": "search-unknown-profile",
                "normalizedname": "search-unknown-profile",
                "*": "Search profile of $1 is unrecognized, default search profile will be applied."
            },
            {
                "name": "search-warning",
                "normalizedname": "search-warning",
                "*": "A warning has occurred while searching: $1"
            },
            {
                "name": "searchall",
                "normalizedname": "searchall",
                "*": "all"
            },
            {
                "name": "searcharticle",
                "normalizedname": "searcharticle",
                "*": "Go"
            },
            {
                "name": "searchbutton",
                "normalizedname": "searchbutton",
                "*": "Search"
            },
            {
                "name": "searchbyproperty",
                "normalizedname": "searchbyproperty",
                "*": "Search by property"
            },
            {
                "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": "searchlimit-help",
                "normalizedname": "searchlimit-help",
                "*": "Maximum number: $1"
            },
            {
                "name": "searchlimit-label",
                "normalizedname": "searchlimit-label",
                "*": "Number of search results to show on each page:"
            },
            {
                "name": "searchmenu-exists",
                "normalizedname": "searchmenu-exists",
                "*": "There is a page named \"[[:$1]]\" on {{SITENAME}}. {{PLURAL:$2|0=|See also the other search results found.}}"
            },
            {
                "name": "searchmenu-new",
                "normalizedname": "searchmenu-new",
                "*": "Create the page \"[[:$1]]\" on this wiki! {{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": "searchprefs",
                "normalizedname": "searchprefs",
                "*": "Search preferences"
            },
            {
                "name": "searchprefs-noresults",
                "normalizedname": "searchprefs-noresults",
                "*": "No results"
            },
            {
                "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",
                "*": "Search for pages 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 or is disabled for this view."
            },
            {
                "name": "sectioneditnotsupported-title",
                "normalizedname": "sectioneditnotsupported-title",
                "*": "Section editing not supported"
            },
            {
                "name": "securelinkfixer-desc",
                "normalizedname": "securelinkfixer-desc",
                "*": "Rewrites URLs to HTTPS if domain always requires HTTPS"
            },
            {
                "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-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": "showhideselectedfileversions",
                "normalizedname": "showhideselectedfileversions",
                "*": "Change visibility of selected file versions"
            },
            {
                "name": "showhideselectedlogentries",
                "normalizedname": "showhideselectedlogentries",
                "*": "Change visibility of selected log entries"
            },
            {
                "name": "showhideselectedversions",
                "normalizedname": "showhideselectedversions",
                "*": "Change visibility of selected revisions"
            },
            {
                "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** Category:Policies|Policies\n** Special:Categories|Categories\n** https://discord.gg/9usxus7A5c|Discord Community\n** Category:ShadowrunWiki|About SRW\n<!--** ShadowrunWiki:Awards|Awards-->\n** Information:FAQ|FAQ\n** Links|Links\n* SEARCH\n* SEARCH\n* Editing SRW\n** Help:Contents|Help & How-to\n** Category:Manual of Style| Manual of Style\n** ShadowrunWiki:ToDo|To Do List\n** Help:Template gallery|Template gallery\n**Special:CreatePage|Create Page\n* Background\n** List of Shadowrun Products|Books\n** Category:Characters|Characters\n** Dictionary|Dictionary\n** Countries|Countries\n** Corporations|Corporations\n** Category:Galleries|Galleries\n** Timeline|Timeline\n* Current Game Systems\n** Shadowrun 6th World Edition|Shadowrun 6th Edition\n** Shadowrun 5th Edition|Shadowrun 5th Edition\n** Shadowrun 4th Edition|Shadowrun 4th Edition\n** Shadowrun 3rd Edition|Shadowrun 3rd Edition\n** Shadowrun 2nd Edition|Shadowrun 2nd Edition\n** Shadowrun 1st Edition|Shadowrun 1st Edition\n** Shadowrun Anarchy|Shadowrun Anarchy\n** Category:Video Games|Other Games\n* Admin Pages\n**Special:AbuseLog|Abuse Log\n**Special:Block|Block\n**Special:UserMerge|Merge & Delete\n**Special:UserScore|User Score\n* TOOLBOX"
            },
            {
                "name": "sig-text",
                "normalizedname": "sig-text",
                "*": "--$1"
            },
            {
                "name": "signature",
                "normalizedname": "signature",
                "*": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])"
            },
            {
                "name": "signature-anon",
                "normalizedname": "signature-anon",
                "*": "[[{{#special:Contributions}}/$1|$2]]"
            },
            {
                "name": "signature-temp",
                "normalizedname": "signature-temp",
                "*": "[[{{#special:Contributions}}/$1|$2]] ([[{{ns:user_talk}}:$1|talk]])"
            },
            {
                "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 published!</strong>"
            },
            {
                "name": "sitecssprotected",
                "normalizedname": "sitecssprotected",
                "*": "You do not have permission to edit this CSS page because it may affect all visitors."
            },
            {
                "name": "sitejsonpreview",
                "normalizedname": "sitejsonpreview",
                "*": "<strong>Remember that you are only previewing this JSON config.\nIt has not yet been published!</strong>"
            },
            {
                "name": "sitejsonprotected",
                "normalizedname": "sitejsonprotected",
                "*": "You do not have permission to edit this JSON page because it may affect all visitors."
            },
            {
                "name": "sitejspreview",
                "normalizedname": "sitejspreview",
                "*": "<strong>Remember that you are only previewing this JavaScript code.\nIt has not yet been published!</strong>"
            },
            {
                "name": "sitejsprotected",
                "normalizedname": "sitejsprotected",
                "*": "You do not have permission to edit this JavaScript page because it may affect all visitors."
            },
            {
                "name": "sitenotice",
                "normalizedname": "sitenotice",
                "*": "-"
            },
            {
                "name": "siterawhtmlprotected",
                "normalizedname": "siterawhtmlprotected",
                "*": "You do not have permission to edit this page because it contains raw HTML which can be modified to affect all visitors."
            },
            {
                "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-quettabytes",
                "normalizedname": "size-quettabytes",
                "*": "$1 QB"
            },
            {
                "name": "size-quettapixel",
                "normalizedname": "size-quettapixel",
                "*": "$1 QP"
            },
            {
                "name": "size-ronnabytes",
                "normalizedname": "size-ronnabytes",
                "*": "$1 RB"
            },
            {
                "name": "size-ronnapixel",
                "normalizedname": "size-ronnapixel",
                "*": "$1 RP"
            },
            {
                "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-zettabytes",
                "normalizedname": "size-zettabytes",
                "*": "$1 ZB"
            },
            {
                "name": "size-zettapixel",
                "normalizedname": "size-zettapixel",
                "*": "$1 ZP"
            },
            {
                "name": "skin-action-addsection",
                "normalizedname": "skin-action-addsection",
                "*": "Add topic"
            },
            {
                "name": "skin-action-delete",
                "normalizedname": "skin-action-delete",
                "*": "Delete"
            },
            {
                "name": "skin-action-move",
                "normalizedname": "skin-action-move",
                "*": "Move"
            },
            {
                "name": "skin-action-protect",
                "normalizedname": "skin-action-protect",
                "*": "Protect"
            },
            {
                "name": "skin-action-undelete",
                "normalizedname": "skin-action-undelete",
                "*": "Undelete"
            },
            {
                "name": "skin-action-unprotect",
                "normalizedname": "skin-action-unprotect",
                "*": "Change protection"
            },
            {
                "name": "skin-action-viewdeleted",
                "normalizedname": "skin-action-viewdeleted",
                "*": "View $1?"
            },
            {
                "name": "skin-action-viewsource",
                "normalizedname": "skin-action-viewsource",
                "*": "View source"
            },
            {
                "name": "skin-preview",
                "normalizedname": "skin-preview",
                "*": "Preview"
            },
            {
                "name": "skin-view-create",
                "normalizedname": "skin-view-create",
                "*": "Create"
            },
            {
                "name": "skin-view-create-local",
                "normalizedname": "skin-view-create-local",
                "*": "Add local description"
            },
            {
                "name": "skin-view-edit",
                "normalizedname": "skin-view-edit",
                "*": "Edit"
            },
            {
                "name": "skin-view-edit-local",
                "normalizedname": "skin-view-edit-local",
                "*": "Edit local description"
            },
            {
                "name": "skin-view-foreign",
                "normalizedname": "skin-view-foreign",
                "*": "View on $1"
            },
            {
                "name": "skin-view-history",
                "normalizedname": "skin-view-history",
                "*": "View history"
            },
            {
                "name": "skin-view-view",
                "normalizedname": "skin-view-view",
                "*": "Read"
            },
            {
                "name": "skinname-monobook",
                "normalizedname": "skinname-monobook",
                "*": "MonoBook"
            },
            {
                "name": "skinname-vector",
                "normalizedname": "skinname-vector",
                "*": "Vector legacy (2010)"
            },
            {
                "name": "skinname-vector-2022",
                "normalizedname": "skinname-vector-2022",
                "*": "Vector (2022)"
            },
            {
                "name": "slot-name-main",
                "normalizedname": "slot-name-main",
                "*": "Main"
            },
            {
                "name": "smw-admin-alerts-section-intro",
                "normalizedname": "smw-admin-alerts-section-intro",
                "*": "This section shows alerts and notices related to settings, operations, and other activities that have been classified to require attention from an administrator or user with appropriated rights."
            },
            {
                "name": "smw-admin-alerts-tab-deprecationnotices",
                "normalizedname": "smw-admin-alerts-tab-deprecationnotices",
                "*": "Deprecation notices"
            },
            {
                "name": "smw-admin-alerts-tab-maintenancealerts",
                "normalizedname": "smw-admin-alerts-tab-maintenancealerts",
                "*": "Maintenance alerts"
            },
            {
                "name": "smw-admin-announce",
                "normalizedname": "smw-admin-announce",
                "*": "Announce your wiki"
            },
            {
                "name": "smw-admin-announce-text",
                "normalizedname": "smw-admin-announce-text",
                "*": "If your wiki is public, you can register it on <a href=\"https://wikiapiary.com\">WikiApiary</a>, the wiki tracking wiki."
            },
            {
                "name": "smw-admin-bugsreport",
                "normalizedname": "smw-admin-bugsreport",
                "*": "Bugs can be reported to the <a href=\"https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues\">issue tracker</a>, the <a href=\"https://www.semantic-mediawiki.org/wiki/Help:Reporting_bugs\">reporting bugs</a> page provides some guidance on how to write an effective issue report."
            },
            {
                "name": "smw-admin-configutation-tab-namespaces",
                "normalizedname": "smw-admin-configutation-tab-namespaces",
                "*": "Namespaces"
            },
            {
                "name": "smw-admin-configutation-tab-schematypes",
                "normalizedname": "smw-admin-configutation-tab-schematypes",
                "*": "Schema types"
            },
            {
                "name": "smw-admin-configutation-tab-settings",
                "normalizedname": "smw-admin-configutation-tab-settings",
                "*": "Settings"
            },
            {
                "name": "smw-admin-db",
                "normalizedname": "smw-admin-db",
                "*": "Database setup"
            },
            {
                "name": "smw-admin-db-preparation",
                "normalizedname": "smw-admin-db-preparation",
                "*": "The table initialization is ongoing and may take a moment before results are displayed pending the size and possible table optimizations."
            },
            {
                "name": "smw-admin-dbbutton",
                "normalizedname": "smw-admin-dbbutton",
                "*": "Initialize or upgrade tables"
            },
            {
                "name": "smw-admin-dbdocu",
                "normalizedname": "smw-admin-dbdocu",
                "*": "Semantic MediaWiki requires its own database structure (and is independent from MediaWiki hence do not affect the rest of the MediaWiki installation) in order to store the semantic data.\nThis setup function can be executed multiple times without doing any harm, but it is needed only once on installation or upgrade."
            },
            {
                "name": "smw-admin-deprecation-notice-config-notice",
                "normalizedname": "smw-admin-deprecation-notice-config-notice",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> is deprecated and will be removed in $2"
            },
            {
                "name": "smw-admin-deprecation-notice-config-notice-option",
                "normalizedname": "smw-admin-deprecation-notice-config-notice-option",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> will remove (or replace) the following {{PLURAL:$2|option|options}}:"
            },
            {
                "name": "smw-admin-deprecation-notice-config-notice-option-list",
                "normalizedname": "smw-admin-deprecation-notice-config-notice-option-list",
                "*": "<code>$1</code> is deprecated and will be removed in $2"
            },
            {
                "name": "smw-admin-deprecation-notice-config-removal",
                "normalizedname": "smw-admin-deprecation-notice-config-removal",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> was removed in $2"
            },
            {
                "name": "smw-admin-deprecation-notice-config-replacement",
                "normalizedname": "smw-admin-deprecation-notice-config-replacement",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> was replaced by <code>[https://www.semantic-mediawiki.org/wiki/Help:$2 $2]</code>"
            },
            {
                "name": "smw-admin-deprecation-notice-config-replacement-option",
                "normalizedname": "smw-admin-deprecation-notice-config-replacement-option",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> {{PLURAL:$2|option|options}}:"
            },
            {
                "name": "smw-admin-deprecation-notice-config-replacement-option-list",
                "normalizedname": "smw-admin-deprecation-notice-config-replacement-option-list",
                "*": "<code>$1</code> is being replaced by <code>$2</code>"
            },
            {
                "name": "smw-admin-deprecation-notice-config-replacement-other",
                "normalizedname": "smw-admin-deprecation-notice-config-replacement-other",
                "*": "<code>[https://www.semantic-mediawiki.org/wiki/Help:$1 $1]</code> was replaced by <code>$2</code>"
            },
            {
                "name": "smw-admin-deprecation-notice-docu",
                "normalizedname": "smw-admin-deprecation-notice-docu",
                "*": "The following section contains settings that have been deprecated or removed but were detected to be active on this wiki. It is expected that any future release will remove support for these configurations."
            },
            {
                "name": "smw-admin-deprecation-notice-section",
                "normalizedname": "smw-admin-deprecation-notice-section",
                "*": "Semantic MediaWiki"
            },
            {
                "name": "smw-admin-deprecation-notice-section-legend",
                "normalizedname": "smw-admin-deprecation-notice-section-legend",
                "*": "Legend"
            },
            {
                "name": "smw-admin-deprecation-notice-title",
                "normalizedname": "smw-admin-deprecation-notice-title",
                "*": "Deprecation notices"
            },
            {
                "name": "smw-admin-deprecation-notice-title-notice",
                "normalizedname": "smw-admin-deprecation-notice-title-notice",
                "*": "Deprecated settings"
            },
            {
                "name": "smw-admin-deprecation-notice-title-notice-explanation",
                "normalizedname": "smw-admin-deprecation-notice-title-notice-explanation",
                "*": "<b>Deprecated settings</b> shows settings that have been detected to be used on this wiki and are planned to be removed or changed in a future release."
            },
            {
                "name": "smw-admin-deprecation-notice-title-removal",
                "normalizedname": "smw-admin-deprecation-notice-title-removal",
                "*": "Removed settings"
            },
            {
                "name": "smw-admin-deprecation-notice-title-removal-explanation",
                "normalizedname": "smw-admin-deprecation-notice-title-removal-explanation",
                "*": "<b>Removed settings</b> identifies settings that were removed in a previous release but have been detected to be used on this wiki."
            },
            {
                "name": "smw-admin-deprecation-notice-title-replacement",
                "normalizedname": "smw-admin-deprecation-notice-title-replacement",
                "*": "Replaced or renamed settings"
            },
            {
                "name": "smw-admin-deprecation-notice-title-replacement-explanation",
                "normalizedname": "smw-admin-deprecation-notice-title-replacement-explanation",
                "*": "<b>Replaced or renamed settings</b> contains settings that were renamed or otherwise modified and it is recommended to forthwith update their name or format."
            },
            {
                "name": "smw-admin-docu",
                "normalizedname": "smw-admin-docu",
                "*": "This special page helps you during installation, upgrade, maintenance and usage of <a href=\"https://www.semantic-mediawiki.org\">Semantic MediaWiki</a> and also provides further administrative functions and tasks as well as statistics.\nRemember to back up valuable data before executing administrative functions."
            },
            {
                "name": "smw-admin-environment",
                "normalizedname": "smw-admin-environment",
                "*": "Software environment"
            },
            {
                "name": "smw-admin-feature-disabled",
                "normalizedname": "smw-admin-feature-disabled",
                "*": "This feature has been disabled on this wiki, please consult the <a href=\"https://www.semantic-mediawiki.org/wiki/Help:$smwgAdminFeatures\">settings</a> help page or contact the system administrator."
            },
            {
                "name": "smw-admin-fulltext-active",
                "normalizedname": "smw-admin-fulltext-active",
                "*": "A full-text search rebuild job has been scheduled."
            },
            {
                "name": "smw-admin-fulltext-button",
                "normalizedname": "smw-admin-fulltext-button",
                "*": "Schedule full-text rebuild"
            },
            {
                "name": "smw-admin-fulltext-intro",
                "normalizedname": "smw-admin-fulltext-intro",
                "*": "Rebuilds the search index from property tables with an enabled [https://www.semantic-mediawiki.org/wiki/Full-text full-text search] datatype. Changes to the index rules (altered stopwords, new stemmer etc.) and/or a newly added or altered table does require to run this job again."
            },
            {
                "name": "smw-admin-fulltext-title",
                "normalizedname": "smw-admin-fulltext-title",
                "*": "Full-text search rebuild"
            },
            {
                "name": "smw-admin-helplink",
                "normalizedname": "smw-admin-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Special:SemanticMediaWiki"
            },
            {
                "name": "smw-admin-iddispose-docu",
                "normalizedname": "smw-admin-iddispose-docu",
                "*": "It should be noted that the disposal operation is unrestricted and will remove the entity from the storage engine together with all its references in pending tables, if confirmed. Please perform this task with '''caution''' and only after the [https://www.semantic-mediawiki.org/wiki/Help:Object_ID_disposal documentation] has been consulted."
            },
            {
                "name": "smw-admin-iddispose-done",
                "normalizedname": "smw-admin-iddispose-done",
                "*": "ID \"$1\" was removed from the storage backend."
            },
            {
                "name": "smw-admin-iddispose-no-references",
                "normalizedname": "smw-admin-iddispose-no-references",
                "*": "The search was unable to match \"$1\" to a table entry."
            },
            {
                "name": "smw-admin-iddispose-references",
                "normalizedname": "smw-admin-iddispose-references",
                "*": "ID \"$1\" has {{PLURAL:$2|no|at least one}} active reference:"
            },
            {
                "name": "smw-admin-iddispose-references-multiple",
                "normalizedname": "smw-admin-iddispose-references-multiple",
                "*": "List of matches with at least one active reference record."
            },
            {
                "name": "smw-admin-iddispose-title",
                "normalizedname": "smw-admin-iddispose-title",
                "*": "Disposal"
            },
            {
                "name": "smw-admin-idlookup-docu",
                "normalizedname": "smw-admin-idlookup-docu",
                "*": "This section shows technical details about an individual entity (wikipage, subobject, property, etc.) in Semantic MediaWiki. The input can be a numeric ID or a string value to match the relevant search field, yet any ID reference relates to Semantic MediaWiki and not to MediaWiki's page or revision ID."
            },
            {
                "name": "smw-admin-idlookup-input",
                "normalizedname": "smw-admin-idlookup-input",
                "*": "Search:"
            },
            {
                "name": "smw-admin-idlookup-title",
                "normalizedname": "smw-admin-idlookup-title",
                "*": "Lookup"
            },
            {
                "name": "smw-admin-installfile",
                "normalizedname": "smw-admin-installfile",
                "*": "If you experience problems with your installation, start by checking the guidelines in the <a href=\"https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/docs/INSTALL.md\">INSTALL file</a> and the <a href=\"https://www.semantic-mediawiki.org/wiki/Help:Installation\">installation page</a>."
            },
            {
                "name": "smw-admin-job-scheduler-note",
                "normalizedname": "smw-admin-job-scheduler-note",
                "*": "Tasks (those enabled) in this section are performed via the job queue to avoid deadlock situations during their execution. The [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] is responsible for the processing and it is critical that the <code>runJobs.php</code> maintenance script has an appropriate capacity (see also configuration parameter <code>$wgRunJobsAsync</code>)."
            },
            {
                "name": "smw-admin-main-title",
                "normalizedname": "smw-admin-main-title",
                "*": "Semantic MediaWiki \u00bb $1"
            },
            {
                "name": "smw-admin-maintenance-no-description",
                "normalizedname": "smw-admin-maintenance-no-description",
                "*": "No description."
            },
            {
                "name": "smw-admin-maintenance-script-description-disposeoutdatedentities",
                "normalizedname": "smw-admin-maintenance-script-description-disposeoutdatedentities",
                "*": "Dispose of outdated entities and query links."
            },
            {
                "name": "smw-admin-maintenance-script-description-dumprdf",
                "normalizedname": "smw-admin-maintenance-script-description-dumprdf",
                "*": "RDF export of existing triples."
            },
            {
                "name": "smw-admin-maintenance-script-description-populatehashfield",
                "normalizedname": "smw-admin-maintenance-script-description-populatehashfield",
                "*": "Populates the <code>smw_hash</code> field for rows missing the value."
            },
            {
                "name": "smw-admin-maintenance-script-description-purgeentitycache",
                "normalizedname": "smw-admin-maintenance-script-description-purgeentitycache",
                "*": "Purge cache entries for known entities and their associated data."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuildconceptcache",
                "normalizedname": "smw-admin-maintenance-script-description-rebuildconceptcache",
                "*": "This script is used to manage concept caches for Semantic MediaWiki where it can create, remove, and update selected caches."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuilddata",
                "normalizedname": "smw-admin-maintenance-script-description-rebuilddata",
                "*": "Recreates all the semantic data in the database, by cycling through all the pages that might have semantic data."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuildelasticindex",
                "normalizedname": "smw-admin-maintenance-script-description-rebuildelasticindex",
                "*": "Rebuilds the Elasticsearch index (only for installations that use the <code>ElasticStore</code>), by cycling through all entities that have semantic data."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuildelasticmissingdocuments",
                "normalizedname": "smw-admin-maintenance-script-description-rebuildelasticmissingdocuments",
                "*": "Find missing entities in Elasticsearch (only for installations that use the <code>ElasticStore</code>) and schedule appropriate update jobs."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuildfulltextsearchtable",
                "normalizedname": "smw-admin-maintenance-script-description-rebuildfulltextsearchtable",
                "*": "Rebuilds the <code>SQLStore</code> fulltext search index (for installations where the setting has been enabled)."
            },
            {
                "name": "smw-admin-maintenance-script-description-rebuildpropertystatistics",
                "normalizedname": "smw-admin-maintenance-script-description-rebuildpropertystatistics",
                "*": "Rebuilds the usage statistics for all property entities."
            },
            {
                "name": "smw-admin-maintenance-script-description-removeduplicateentities",
                "normalizedname": "smw-admin-maintenance-script-description-removeduplicateentities",
                "*": "Removes duplicate entities found in selected tables that have no active references."
            },
            {
                "name": "smw-admin-maintenance-script-description-runimport",
                "normalizedname": "smw-admin-maintenance-script-description-runimport",
                "*": "Populate and import auto-discovered content from [https://www.semantic-mediawiki.org/wiki/Help:$smwgImportFileDirs $smwgImportFileDirs]."
            },
            {
                "name": "smw-admin-maintenance-script-description-setupstore",
                "normalizedname": "smw-admin-maintenance-script-description-setupstore",
                "*": "Sets up the storage and query backend as defined in <code>LocalSettings.php</code>."
            },
            {
                "name": "smw-admin-maintenance-script-description-updateentitycollation",
                "normalizedname": "smw-admin-maintenance-script-description-updateentitycollation",
                "*": "Updates the <code>smw_sort</code> field in the <code>SQLStore</code> (in accordance with the [https://www.semantic-mediawiki.org/wiki/Help:$smwgEntityCollation $smwgEntityCollation] setting)."
            },
            {
                "name": "smw-admin-maintenance-script-description-updatequerydependencies",
                "normalizedname": "smw-admin-maintenance-script-description-updatequerydependencies",
                "*": "Update queries and query dependencies (see the [https://www.semantic-mediawiki.org/wiki/Help:$smwgEnabledQueryDependencyLinksStore $smwgEnabledQueryDependencyLinksStore] setting)."
            },
            {
                "name": "smw-admin-maintenance-script-section-intro",
                "normalizedname": "smw-admin-maintenance-script-section-intro",
                "*": "The following maintenance scripts require an administrator and access to the command line to be able to execute listed scripts."
            },
            {
                "name": "smw-admin-maintenance-script-section-rebuild",
                "normalizedname": "smw-admin-maintenance-script-section-rebuild",
                "*": "Rebuild scripts"
            },
            {
                "name": "smw-admin-maintenance-script-section-title",
                "normalizedname": "smw-admin-maintenance-script-section-title",
                "*": "List of available maintenance scripts"
            },
            {
                "name": "smw-admin-maintenance-script-section-update",
                "normalizedname": "smw-admin-maintenance-script-section-update",
                "*": "Update scripts"
            },
            {
                "name": "smw-admin-maintenance-tab-scripts",
                "normalizedname": "smw-admin-maintenance-tab-scripts",
                "*": "Maintenance scripts"
            },
            {
                "name": "smw-admin-maintenance-tab-tasks",
                "normalizedname": "smw-admin-maintenance-tab-tasks",
                "*": "Tasks"
            },
            {
                "name": "smw-admin-maintenancealerts-invalidentities-alert",
                "normalizedname": "smw-admin-maintenancealerts-invalidentities-alert",
                "*": "The system matched $1 [https://www.semantic-mediawiki.org/wiki/Invalid_entities {{PLURAL:$1|entity|entities}}] to an [https://www.semantic-mediawiki.org/wiki/Unmaintained_namespace unmaintained namespace] and it is recommended to run the [https://www.semantic-mediawiki.org/wiki/disposeOutdatedEntities.php <code>disposeOutdatedEntities.php</code>] or [https://www.semantic-mediawiki.org/wiki/rebuildData.php <code>rebuildData.php</code>] maintenance script."
            },
            {
                "name": "smw-admin-maintenancealerts-invalidentities-alert-title",
                "normalizedname": "smw-admin-maintenancealerts-invalidentities-alert-title",
                "*": "Invalid entities"
            },
            {
                "name": "smw-admin-maintenancealerts-lastoptimizationrun-alert",
                "normalizedname": "smw-admin-maintenancealerts-lastoptimizationrun-alert",
                "*": "The system has found that the last [https://www.semantic-mediawiki.org/wiki/Table_optimization table optimization] was run $2 days ago (record from $1) which exceeds the $3 days maintenance threshold. As mentioned in the documentation, running optimizations will allow the query planner to make better decisions about queries therefore it is suggested to run the table optimization on a regular basis."
            },
            {
                "name": "smw-admin-maintenancealerts-lastoptimizationrun-alert-title",
                "normalizedname": "smw-admin-maintenancealerts-lastoptimizationrun-alert-title",
                "*": "Table optimization"
            },
            {
                "name": "smw-admin-maintenancealerts-outdatedentitiesmaxcount-alert",
                "normalizedname": "smw-admin-maintenancealerts-outdatedentitiesmaxcount-alert",
                "*": "The system has counted $1 [https://www.semantic-mediawiki.org/wiki/Outdated_entities outdated entities] and reached a critical level of unattended maintenance by exceeding the threshold of $2. It is recommended to run the [https://www.semantic-mediawiki.org/wiki/disposeOutdatedEntities.php <code>disposeOutdatedEntities.php</code>] maintenance script."
            },
            {
                "name": "smw-admin-maintenancealerts-outdatedentitiesmaxcount-alert-title",
                "normalizedname": "smw-admin-maintenancealerts-outdatedentitiesmaxcount-alert-title",
                "*": "Outdated entities"
            },
            {
                "name": "smw-admin-maintenancealerts-section-intro",
                "normalizedname": "smw-admin-maintenancealerts-section-intro",
                "*": "The following alerts and notices should be resolved and while not essential it is expected to help improve system and operational maintainability."
            },
            {
                "name": "smw-admin-objectid",
                "normalizedname": "smw-admin-objectid",
                "*": "ID:"
            },
            {
                "name": "smw-admin-operational-statistics",
                "normalizedname": "smw-admin-operational-statistics",
                "*": "This page contains operational statistics collected in or from Semantic MediaWiki related functions. An extended list of wiki specific statistics can be found [[Special:Statistics|<b>here</b>]]."
            },
            {
                "name": "smw-admin-other-functions",
                "normalizedname": "smw-admin-other-functions",
                "*": "Other functions"
            },
            {
                "name": "smw-admin-outdateddisposal-active",
                "normalizedname": "smw-admin-outdateddisposal-active",
                "*": "An outdated entities disposal job has been scheduled."
            },
            {
                "name": "smw-admin-outdateddisposal-button",
                "normalizedname": "smw-admin-outdateddisposal-button",
                "*": "Schedule disposal"
            },
            {
                "name": "smw-admin-outdateddisposal-intro",
                "normalizedname": "smw-admin-outdateddisposal-intro",
                "*": "Some activities (a change to a property type, the removal of wikipages, or the correction of error values) will result in [https://www.semantic-mediawiki.org/wiki/Outdated_entities outdated entities] and it is suggested to remove them periodically to free associated table space."
            },
            {
                "name": "smw-admin-outdateddisposal-title",
                "normalizedname": "smw-admin-outdateddisposal-title",
                "*": "Outdated entities disposal"
            },
            {
                "name": "smw-admin-permission-missing",
                "normalizedname": "smw-admin-permission-missing",
                "*": "The access to this page has been blocked due to missing permissions, please consult the [https://www.semantic-mediawiki.org/wiki/Help:Permissions permissions] help page for details about the necessary settings."
            },
            {
                "name": "smw-admin-permissionswarn",
                "normalizedname": "smw-admin-permissionswarn",
                "*": "If the operation fails with SQL errors, the database user employed by your wiki (check your \"LocalSettings.php\" file) probably does not have sufficient permissions.\nEither grant this user additional permissions to create and delete tables, temporarily enter the login of your database root in the \"LocalSettings.php\" file, or use the maintenance script <code>setupStore.php</code>, which can use the credentials of an administrator."
            },
            {
                "name": "smw-admin-propertystatistics-active",
                "normalizedname": "smw-admin-propertystatistics-active",
                "*": "A property statistics rebuild job has been scheduled."
            },
            {
                "name": "smw-admin-propertystatistics-button",
                "normalizedname": "smw-admin-propertystatistics-button",
                "*": "Schedule statistics rebuild"
            },
            {
                "name": "smw-admin-propertystatistics-intro",
                "normalizedname": "smw-admin-propertystatistics-intro",
                "*": "Rebuilds the entire property usage statistics and therein updates and corrects the [https://www.semantic-mediawiki.org/wiki/Help:Property_usage_count usage count] of properties."
            },
            {
                "name": "smw-admin-propertystatistics-title",
                "normalizedname": "smw-admin-propertystatistics-title",
                "*": "Property statistics rebuild"
            },
            {
                "name": "smw-admin-questions",
                "normalizedname": "smw-admin-questions",
                "*": "If you have further questions or suggestions, join the discussion on the Semantic MediaWiki <a href=\"https://sourceforge.net/p/semediawiki/mailman/semediawiki-user/\">user mailing list</a>."
            },
            {
                "name": "smw-admin-settings-docu",
                "normalizedname": "smw-admin-settings-docu",
                "*": "Displays a list of all default and localized settings that are relevant to the Semantic MediaWiki environment. For details on individual settings, please consult the [https://www.semantic-mediawiki.org/wiki/Help:Configuration configuration] help page."
            },
            {
                "name": "smw-admin-setupsuccess",
                "normalizedname": "smw-admin-setupsuccess",
                "*": "The storage engine was set up."
            },
            {
                "name": "smw-admin-smwhomepage",
                "normalizedname": "smw-admin-smwhomepage",
                "*": "The complete user documentation to Semantic MediaWiki is at <b><a href=\"https://www.semantic-mediawiki.org\">semantic-mediawiki.org</a></b>."
            },
            {
                "name": "smw-admin-statistics",
                "normalizedname": "smw-admin-statistics",
                "*": "Statistics"
            },
            {
                "name": "smw-admin-statistics-extra",
                "normalizedname": "smw-admin-statistics-extra",
                "*": "Statistic functions"
            },
            {
                "name": "smw-admin-statistics-job-docu",
                "normalizedname": "smw-admin-statistics-job-docu",
                "*": "The job statistics displays information about scheduled Semantic MediaWiki jobs that have not yet been executed. The number of jobs may be slightly inaccurate or contain failed attempts. Please consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue manual] for further information."
            },
            {
                "name": "smw-admin-statistics-job-title",
                "normalizedname": "smw-admin-statistics-job-title",
                "*": "Job statistics"
            },
            {
                "name": "smw-admin-statistics-querycache-disabled",
                "normalizedname": "smw-admin-statistics-querycache-disabled",
                "*": "The [https://www.semantic-mediawiki.org/wiki/QueryCache QueryCache] has not been enabled on this wiki and therefore no statistics are available."
            },
            {
                "name": "smw-admin-statistics-querycache-legend",
                "normalizedname": "smw-admin-statistics-querycache-legend",
                "*": "The cache statistics is to contain provisional cumulative as well as derived data including:\n* \"misses\" as the total attempts to retrieve data from the cache with unattainable responses, forcing a direct repository (DB, triple-store etc.) retrieval\n* \"deletes\" as the total amount of cache eviction operations (either through a purge or query dependency)\n* \"hits\" contains the amount of cache retrievals from either embedded (queries called from within a wiki page) or non-embedded (if enabled, requested by pages like Special:Ask or the API) sources\n* \"medianRetrievalResponseTime\" is an orientation value of the median response time (in sec.) for cached and non-cached retrieval requests over the time span of the collection process\n* \"noCache\" indicates the amount of no attempt requests (limit=0 queries, 'no-cache' option etc.) to retrieve results from cache"
            },
            {
                "name": "smw-admin-statistics-querycache-title",
                "normalizedname": "smw-admin-statistics-querycache-title",
                "*": "Query cache"
            },
            {
                "name": "smw-admin-statistics-section-explain",
                "normalizedname": "smw-admin-statistics-section-explain",
                "*": "The section provides additional statistics for administrators."
            },
            {
                "name": "smw-admin-statistics-semanticdata-overview",
                "normalizedname": "smw-admin-statistics-semanticdata-overview",
                "*": "Overview"
            },
            {
                "name": "smw-admin-supplementary-duplookup-docu",
                "normalizedname": "smw-admin-supplementary-duplookup-docu",
                "*": "This page lists entries from selected tables that have been categorized as [https://www.semantic-mediawiki.org/wiki/Help:Duplicate_entities duplicates]. Duplicate entries should (if at all) only occur on rare occasions potentially caused by a terminated update or unsuccessful rollback transaction."
            },
            {
                "name": "smw-admin-supplementary-duplookup-helplink",
                "normalizedname": "smw-admin-supplementary-duplookup-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Duplicate_entities"
            },
            {
                "name": "smw-admin-supplementary-duplookup-intro",
                "normalizedname": "smw-admin-supplementary-duplookup-intro",
                "*": "<u>$1</u> to find entities that are categorized as duplicates for the selected table matrix"
            },
            {
                "name": "smw-admin-supplementary-duplookup-title",
                "normalizedname": "smw-admin-supplementary-duplookup-title",
                "*": "Duplicate entities lookup"
            },
            {
                "name": "smw-admin-supplementary-elastic-config",
                "normalizedname": "smw-admin-supplementary-elastic-config",
                "*": "Configurations"
            },
            {
                "name": "smw-admin-supplementary-elastic-docu",
                "normalizedname": "smw-admin-supplementary-elastic-docu",
                "*": "This page contains information about settings, mappings, health, and index statistics related to an Elasticsearch cluster that is connected to Semantic MediaWiki and its [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore <code>ElasticStore</code>]."
            },
            {
                "name": "smw-admin-supplementary-elastic-endpoints",
                "normalizedname": "smw-admin-supplementary-elastic-endpoints",
                "*": "Endpoints"
            },
            {
                "name": "smw-admin-supplementary-elastic-functions",
                "normalizedname": "smw-admin-supplementary-elastic-functions",
                "*": "Supported functions"
            },
            {
                "name": "smw-admin-supplementary-elastic-indices-intro",
                "normalizedname": "smw-admin-supplementary-elastic-indices-intro",
                "*": "<u>$1</u> provides an overview of available indices and their statistics"
            },
            {
                "name": "smw-admin-supplementary-elastic-indices-title",
                "normalizedname": "smw-admin-supplementary-elastic-indices-title",
                "*": "Indices"
            },
            {
                "name": "smw-admin-supplementary-elastic-intro",
                "normalizedname": "smw-admin-supplementary-elastic-intro",
                "*": "<u>$1</u> shows details about settings and index statistics"
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-docu",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-docu",
                "*": "This page contains field mapping details used by the current index. It is recommended to monitor the mappings in connection with the <code>index.mapping.total_fields.limit</code> (specifies the maximum number of fields in an index allowed)."
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-docu-extra",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-docu-extra",
                "*": "The <code>property_fields</code> refers to the count of indexed core fields while the <code>nested_fields</code> refers to an accumulated count of additional fields assigned to a core field to support specific structured search patterns."
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-fields",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-fields",
                "*": "Field mappings"
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-intro",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-intro",
                "*": "<u>$1</u> to list indices and field mappings"
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-summary",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-summary",
                "*": "Summary"
            },
            {
                "name": "smw-admin-supplementary-elastic-mappings-title",
                "normalizedname": "smw-admin-supplementary-elastic-mappings-title",
                "*": "Mappings"
            },
            {
                "name": "smw-admin-supplementary-elastic-no-connection",
                "normalizedname": "smw-admin-supplementary-elastic-no-connection",
                "*": "The wiki is currently '''unable''' to establish a connection to the Elasticsearch cluster, please contact the wiki administrator to investigate the issue as it incapacitates the index and query ability of the system."
            },
            {
                "name": "smw-admin-supplementary-elastic-nodes-intro",
                "normalizedname": "smw-admin-supplementary-elastic-nodes-intro",
                "*": "<u>$1</u> shows node statistics"
            },
            {
                "name": "smw-admin-supplementary-elastic-nodes-title",
                "normalizedname": "smw-admin-supplementary-elastic-nodes-title",
                "*": "Nodes"
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-docu",
                "normalizedname": "smw-admin-supplementary-elastic-replication-docu",
                "*": "This page provides information about the [https://www.semantic-mediawiki.org/wiki/Help:Replication_monitoring replication status] of entities that were reported to have issues with the Elasticsearch cluster. It is recommended to review listed entities and purge the content in order to confirm that it was a temporary issue."
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-files",
                "normalizedname": "smw-admin-supplementary-elastic-replication-files",
                "*": "Files"
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-files-docu",
                "normalizedname": "smw-admin-supplementary-elastic-replication-files-docu",
                "*": "It should be noted that for the list of files, the [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore/File_ingestion file ingest] job is required to be executed first and has to finish its processing."
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-function-title",
                "normalizedname": "smw-admin-supplementary-elastic-replication-function-title",
                "*": "Replication"
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-header-title",
                "normalizedname": "smw-admin-supplementary-elastic-replication-header-title",
                "*": "Replication status"
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-intro",
                "normalizedname": "smw-admin-supplementary-elastic-replication-intro",
                "*": "<u>$1</u> shows information about failed replications"
            },
            {
                "name": "smw-admin-supplementary-elastic-replication-pages",
                "normalizedname": "smw-admin-supplementary-elastic-replication-pages",
                "*": "Pages"
            },
            {
                "name": "smw-admin-supplementary-elastic-section-subtitle",
                "normalizedname": "smw-admin-supplementary-elastic-section-subtitle",
                "*": "Elasticsearch"
            },
            {
                "name": "smw-admin-supplementary-elastic-settings-intro",
                "normalizedname": "smw-admin-supplementary-elastic-settings-intro",
                "*": "<u>$1</u> used by Elasticsearch to manage Semantic MediaWiki indices"
            },
            {
                "name": "smw-admin-supplementary-elastic-settings-title",
                "normalizedname": "smw-admin-supplementary-elastic-settings-title",
                "*": "Settings (indices)"
            },
            {
                "name": "smw-admin-supplementary-elastic-statistics-docu",
                "normalizedname": "smw-admin-supplementary-elastic-statistics-docu",
                "*": "This page provides an insight on indices statistics for different operations that are happening on an index level, the returned stats are aggregated with primaries and total aggregations. The [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html help page] contains a detailed description of available indices stats."
            },
            {
                "name": "smw-admin-supplementary-elastic-statistics-intro",
                "normalizedname": "smw-admin-supplementary-elastic-statistics-intro",
                "*": "<u>$1</u> shows index level statistics"
            },
            {
                "name": "smw-admin-supplementary-elastic-statistics-title",
                "normalizedname": "smw-admin-supplementary-elastic-statistics-title",
                "*": "Statistics"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-file-ingest-job-count",
                "normalizedname": "smw-admin-supplementary-elastic-status-file-ingest-job-count",
                "*": "Ingest (file) job backlog: $1 (estimation)"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-last-active-replication",
                "normalizedname": "smw-admin-supplementary-elastic-status-last-active-replication",
                "*": "Last active replication: $1"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-rebuild-lock",
                "normalizedname": "smw-admin-supplementary-elastic-status-rebuild-lock",
                "*": "Replication locked: $1 (rebuild in-progress)"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-recovery-job-count",
                "normalizedname": "smw-admin-supplementary-elastic-status-recovery-job-count",
                "*": "Recovery job backlog: $1 (estimation)"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-refresh-interval",
                "normalizedname": "smw-admin-supplementary-elastic-status-refresh-interval",
                "*": "Refresh interval: $1"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-replication",
                "normalizedname": "smw-admin-supplementary-elastic-status-replication",
                "*": "Replication status"
            },
            {
                "name": "smw-admin-supplementary-elastic-status-replication-monitoring",
                "normalizedname": "smw-admin-supplementary-elastic-status-replication-monitoring",
                "*": "Replication monitoring (active): $1"
            },
            {
                "name": "smw-admin-supplementary-elastic-title",
                "normalizedname": "smw-admin-supplementary-elastic-title",
                "*": "Elasticsearch"
            },
            {
                "name": "smw-admin-supplementary-elastic-version-info",
                "normalizedname": "smw-admin-supplementary-elastic-version-info",
                "*": "Version"
            },
            {
                "name": "smw-admin-supplementary-idlookup-intro",
                "normalizedname": "smw-admin-supplementary-idlookup-intro",
                "*": "Supports a simple <u>$1</u> function"
            },
            {
                "name": "smw-admin-supplementary-idlookup-short-title",
                "normalizedname": "smw-admin-supplementary-idlookup-short-title",
                "*": "entity lookup and disposal"
            },
            {
                "name": "smw-admin-supplementary-idlookup-title",
                "normalizedname": "smw-admin-supplementary-idlookup-title",
                "*": "Entity lookup and disposal"
            },
            {
                "name": "smw-admin-supplementary-operational-statistics-cache-intro",
                "normalizedname": "smw-admin-supplementary-operational-statistics-cache-intro",
                "*": "<u>$1</u> shows a selected set of cache related statistics"
            },
            {
                "name": "smw-admin-supplementary-operational-statistics-cache-title",
                "normalizedname": "smw-admin-supplementary-operational-statistics-cache-title",
                "*": "Cache statistics"
            },
            {
                "name": "smw-admin-supplementary-operational-statistics-intro",
                "normalizedname": "smw-admin-supplementary-operational-statistics-intro",
                "*": "Displays an extended set of <u>$1</u>"
            },
            {
                "name": "smw-admin-supplementary-operational-statistics-short-title",
                "normalizedname": "smw-admin-supplementary-operational-statistics-short-title",
                "*": "operational statistics"
            },
            {
                "name": "smw-admin-supplementary-operational-statistics-title",
                "normalizedname": "smw-admin-supplementary-operational-statistics-title",
                "*": "Operational statistics"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-explain",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-explain",
                "*": "This section contains selected table statistics to help administrators and data curators to make informed decisions about that state of the back-end and the storage engine."
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-intro",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-intro",
                "*": "Generates <u>$1</u> for a selected set of tables"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-legend",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-legend",
                "*": "The legend describes some of the keys used for the table statistics and includes:"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-legend-blob-table",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-legend-blob-table",
                "*": "* <code>unique_terms_occurrence_in_percent</code> percentage of terms that are unique (a low percentage rate indicates that repetitive terms occupy the table content and index)\n* <code>rows.terms_occurrence.single_occurrence_total_count</code> number of terms that only appear once\n* <code>rows.terms_occurrence.multi_occurrence_total_count</code> number of terms that appear more than once"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-legend-general",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-legend-general",
                "*": "* <code>total_row_count</code> total number of rows in a table"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-legend-id-table",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-legend-id-table",
                "*": "* <code>last_id</code> last ID currently in use\n* <code>duplicate_count</code> number of duplicates found in the id_table (see also [[Special:SemanticMediaWiki/duplicate-lookup|Duplicate entities lookup]])\n* <code>rows.rev_count</code> number of rows that have a revision_id assigned indicating a direct wikipage link\n* <code>rows.smw_namespace_group_by_count</code> numbers of aggregated rows for namespaces used in the table\n* <code>rows.smw_proptable_hash.query_match_count</code> number of query subobjects with a corresponding table reference\n* <code>rows.smw_proptable_hash.query_null_count</code> number of query subobjects without a table reference (unlinked, floating reference)"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-short-title",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-short-title",
                "*": "table statistics"
            },
            {
                "name": "smw-admin-supplementary-operational-table-statistics-title",
                "normalizedname": "smw-admin-supplementary-operational-table-statistics-title",
                "*": "Table statistics"
            },
            {
                "name": "smw-admin-supplementary-section-intro",
                "normalizedname": "smw-admin-supplementary-section-intro",
                "*": "This section provides additional functions beyond the scope of maintenance activities and it is possible that some functions which are listed (see the [https://www.semantic-mediawiki.org/wiki/Help:Special:SemanticMediaWiki/Supplementary_functions documentation]) are restricted or unavailable and therefore inaccessible on this wiki."
            },
            {
                "name": "smw-admin-supplementary-section-subtitle",
                "normalizedname": "smw-admin-supplementary-section-subtitle",
                "*": "Supported core functions"
            },
            {
                "name": "smw-admin-supplementary-section-title",
                "normalizedname": "smw-admin-supplementary-section-title",
                "*": "Supplementary functions"
            },
            {
                "name": "smw-admin-supplementary-settings-intro",
                "normalizedname": "smw-admin-supplementary-settings-intro",
                "*": "<u>$1</u> shows parameters that define the behaviour of Semantic MediaWiki"
            },
            {
                "name": "smw-admin-supplementary-settings-title",
                "normalizedname": "smw-admin-supplementary-settings-title",
                "*": "Configuration and settings"
            },
            {
                "name": "smw-admin-support",
                "normalizedname": "smw-admin-support",
                "*": "Getting support"
            },
            {
                "name": "smw-admin-supportdocu",
                "normalizedname": "smw-admin-supportdocu",
                "*": "Various resources are provided to help you in case of problems:"
            },
            {
                "name": "smw-admin-tab-alerts",
                "normalizedname": "smw-admin-tab-alerts",
                "*": "Alerts"
            },
            {
                "name": "smw-admin-tab-general",
                "normalizedname": "smw-admin-tab-general",
                "*": "Overview"
            },
            {
                "name": "smw-admin-tab-maintenance",
                "normalizedname": "smw-admin-tab-maintenance",
                "*": "Maintenance"
            },
            {
                "name": "smw-admin-tab-notices",
                "normalizedname": "smw-admin-tab-notices",
                "*": "Deprecation notices"
            },
            {
                "name": "smw-admin-tab-registry",
                "normalizedname": "smw-admin-tab-registry",
                "*": "Registry"
            },
            {
                "name": "smw-admin-tab-supplement",
                "normalizedname": "smw-admin-tab-supplement",
                "*": "Supplementary functions"
            },
            {
                "name": "smw-api-invalid-parameters",
                "normalizedname": "smw-api-invalid-parameters",
                "*": "Invalid parameters, \"$1\""
            },
            {
                "name": "smw-apihelp-smwtask-example-update",
                "normalizedname": "smw-apihelp-smwtask-example-update",
                "*": "Example of running a update task for a particular subject:"
            },
            {
                "name": "smw-ask-condition-change-info",
                "normalizedname": "smw-ask-condition-change-info",
                "*": "The condition was altered and the search engine needs to rerun the query to produce results that match the new requirements."
            },
            {
                "name": "smw-ask-condition-input-assistance",
                "normalizedname": "smw-ask-condition-input-assistance",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:Input_assistance Input assistance] is provided for the printout, sort, and condition field. The condition field requires to use one of following prefixes:"
            },
            {
                "name": "smw-ask-condition-input-assistance-category",
                "normalizedname": "smw-ask-condition-input-assistance-category",
                "*": "<code>c:</code> to fetch category suggestions"
            },
            {
                "name": "smw-ask-condition-input-assistance-concept",
                "normalizedname": "smw-ask-condition-input-assistance-concept",
                "*": "<code>con:</code> to fetch concept suggestions"
            },
            {
                "name": "smw-ask-condition-input-assistance-property",
                "normalizedname": "smw-ask-condition-input-assistance-property",
                "*": "<code>p:</code> to fetch property suggestions (e.g. <code>[[p:Has ...</code>)"
            },
            {
                "name": "smw-ask-debug",
                "normalizedname": "smw-ask-debug",
                "*": "Debug"
            },
            {
                "name": "smw-ask-debug-desc",
                "normalizedname": "smw-ask-debug-desc",
                "*": "Generates query debug information"
            },
            {
                "name": "smw-ask-delete",
                "normalizedname": "smw-ask-delete",
                "*": "Remove"
            },
            {
                "name": "smw-ask-download-link-desc",
                "normalizedname": "smw-ask-download-link-desc",
                "*": "Download queried results in $1 format"
            },
            {
                "name": "smw-ask-empty",
                "normalizedname": "smw-ask-empty",
                "*": "Clear all entries"
            },
            {
                "name": "smw-ask-extra-other",
                "normalizedname": "smw-ask-extra-other",
                "*": "Other"
            },
            {
                "name": "smw-ask-extra-query-log",
                "normalizedname": "smw-ask-extra-query-log",
                "*": "Query log"
            },
            {
                "name": "smw-ask-format",
                "normalizedname": "smw-ask-format",
                "*": "Format"
            },
            {
                "name": "smw-ask-format-change-info",
                "normalizedname": "smw-ask-format-change-info",
                "*": "The format was modified and it is required to execute the query again to match new parameters and visualization options."
            },
            {
                "name": "smw-ask-format-export-info",
                "normalizedname": "smw-ask-format-export-info",
                "*": "The selected format is an export format which has no visual representation therefore results are only provided as download."
            },
            {
                "name": "smw-ask-format-help-link",
                "normalizedname": "smw-ask-format-help-link",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:$1_format $1] format"
            },
            {
                "name": "smw-ask-format-options",
                "normalizedname": "smw-ask-format-options",
                "*": "Format and options"
            },
            {
                "name": "smw-ask-format-selection-help",
                "normalizedname": "smw-ask-format-selection-help",
                "*": "Help with the selected format: $1"
            },
            {
                "name": "smw-ask-help",
                "normalizedname": "smw-ask-help",
                "*": "This section contains some links to help explain how to use the <code>#ask</code> syntax.\n\n* [https://www.semantic-mediawiki.org/wiki/Help:Selecting_pages Selecting pages] describes how to select pages and build conditions\n\n* [https://www.semantic-mediawiki.org/wiki/Help:Search_operators Search operators] lists available search operators including those for range and wildcard queries\n\n* [https://www.semantic-mediawiki.org/wiki/Help:Displaying_information Displaying information] outlines the use of printout statements and formatting options"
            },
            {
                "name": "smw-ask-input-assistance",
                "normalizedname": "smw-ask-input-assistance",
                "*": "Input assistance"
            },
            {
                "name": "smw-ask-message-keyword-type",
                "normalizedname": "smw-ask-message-keyword-type",
                "*": "This search matches the <code><nowiki>$1</nowiki></code> condition."
            },
            {
                "name": "smw-ask-no-cache",
                "normalizedname": "smw-ask-no-cache",
                "*": "Disable query cache"
            },
            {
                "name": "smw-ask-no-cache-desc",
                "normalizedname": "smw-ask-no-cache-desc",
                "*": "Results without query cache"
            },
            {
                "name": "smw-ask-options",
                "normalizedname": "smw-ask-options",
                "*": "Options"
            },
            {
                "name": "smw-ask-options-sort",
                "normalizedname": "smw-ask-options-sort",
                "*": "Sort options"
            },
            {
                "name": "smw-ask-order-rand",
                "normalizedname": "smw-ask-order-rand",
                "*": "Random"
            },
            {
                "name": "smw-ask-otheroptions-collapsed-info",
                "normalizedname": "smw-ask-otheroptions-collapsed-info",
                "*": "Please use the plus icon to view all available options"
            },
            {
                "name": "smw-ask-otheroptions-info",
                "normalizedname": "smw-ask-otheroptions-info",
                "*": "This section contains options that alter printout statements. Parameter descriptions can be viewed by hovering over them."
            },
            {
                "name": "smw-ask-parameters",
                "normalizedname": "smw-ask-parameters",
                "*": "Parameters"
            },
            {
                "name": "smw-ask-query-search-info",
                "normalizedname": "smw-ask-query-search-info",
                "*": "The query <code><nowiki>$1</nowiki></code> was answered by the {{PLURAL:$3|1=<code>$2</code> (from cache)|<code>$2</code> (from cache)|<code>$2</code>}} in $4 {{PLURAL:$4|second|seconds}}."
            },
            {
                "name": "smw-ask-result",
                "normalizedname": "smw-ask-result",
                "*": "Result"
            },
            {
                "name": "smw-ask-search",
                "normalizedname": "smw-ask-search",
                "*": "Search"
            },
            {
                "name": "smw-ask-sort-add-action",
                "normalizedname": "smw-ask-sort-add-action",
                "*": "Add sorting condition"
            },
            {
                "name": "smw-ask-sorting",
                "normalizedname": "smw-ask-sorting",
                "*": "Sorting"
            },
            {
                "name": "smw-ask-tab-code",
                "normalizedname": "smw-ask-tab-code",
                "*": "Code"
            },
            {
                "name": "smw-ask-tab-debug",
                "normalizedname": "smw-ask-tab-debug",
                "*": "Debug"
            },
            {
                "name": "smw-ask-tab-extra",
                "normalizedname": "smw-ask-tab-extra",
                "*": "Extra"
            },
            {
                "name": "smw-ask-tab-result",
                "normalizedname": "smw-ask-tab-result",
                "*": "Result"
            },
            {
                "name": "smw-ask-title-keyword-type",
                "normalizedname": "smw-ask-title-keyword-type",
                "*": "Keyword search"
            },
            {
                "name": "smw-browse-api-subject-serialization-invalid",
                "normalizedname": "smw-browse-api-subject-serialization-invalid",
                "*": "The subject has an invalid serialization format."
            },
            {
                "name": "smw-browse-from-backend",
                "normalizedname": "smw-browse-from-backend",
                "*": "Information is currently being retrieved from the backend."
            },
            {
                "name": "smw-browse-hide-group",
                "normalizedname": "smw-browse-hide-group",
                "*": "Hide groups"
            },
            {
                "name": "smw-browse-intro",
                "normalizedname": "smw-browse-intro",
                "*": "This page provides details about a subject or entity instance, please enter the name of an object to be inspected."
            },
            {
                "name": "smw-browse-invalid-subject",
                "normalizedname": "smw-browse-invalid-subject",
                "*": "The subject validation returned with a \"$1\" error."
            },
            {
                "name": "smw-browse-js-disabled",
                "normalizedname": "smw-browse-js-disabled",
                "*": "It is suspected that JavaScript is disabled or not available. We recommend using a browser where it is supported. Other options are discussed on the [https://www.semantic-mediawiki.org/wiki/Help:$smwgBrowseByApi <code>$smwgBrowseByApi</code>] configuration parameter page."
            },
            {
                "name": "smw-browse-property-group-description",
                "normalizedname": "smw-browse-property-group-description",
                "*": "Property group description"
            },
            {
                "name": "smw-browse-property-group-label",
                "normalizedname": "smw-browse-property-group-label",
                "*": "Property group label"
            },
            {
                "name": "smw-browse-property-group-title",
                "normalizedname": "smw-browse-property-group-title",
                "*": "Property group"
            },
            {
                "name": "smw-browse-show-group",
                "normalizedname": "smw-browse-show-group",
                "*": "Show groups"
            },
            {
                "name": "smw-categories",
                "normalizedname": "smw-categories",
                "*": "Categories"
            },
            {
                "name": "smw-category",
                "normalizedname": "smw-category",
                "*": "Category"
            },
            {
                "name": "smw-category-change-propagation-locked-error",
                "normalizedname": "smw-category-change-propagation-locked-error",
                "*": "Category \"$1\" was altered and requires assigned entities to be reevaluated using a [https://www.semantic-mediawiki.org/wiki/Change_propagation change propagation] process. In the meantime, the category page has been locked until the primary specification update is completed to prevent intermediary interruptions or contradictory specifications. The process may take a moment before the page can be unlocked as it depends on the size and frequency of the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] scheduler."
            },
            {
                "name": "smw-category-change-propagation-locked-warning",
                "normalizedname": "smw-category-change-propagation-locked-warning",
                "*": "Category \"$1\" was altered and requires assigned entities to be reevaluated using a [https://www.semantic-mediawiki.org/wiki/Change_propagation change propagation] process. The update may take a moment as it depends on the size and frequency of the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] scheduler and it is suggested to postpone changes to the category to prevent intermediary interruptions or contradictory specifications."
            },
            {
                "name": "smw-category-change-propagation-pending",
                "normalizedname": "smw-category-change-propagation-pending",
                "*": "[https://www.semantic-mediawiki.org/wiki/Change_propagation Change propagation] updates are pending ($1 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue {{PLURAL:$1|job|jobs}}] estimated) and it is recommended to wait with modifications to a category until the process has been finalized to prevent intermediary interruptions or contradictory specifications."
            },
            {
                "name": "smw-category-invalid-redirect-target",
                "normalizedname": "smw-category-invalid-redirect-target",
                "*": "Category \"$1\" contains an invalid redirect target to a non-category namespace."
            },
            {
                "name": "smw-category-invalid-value-assignment",
                "normalizedname": "smw-category-invalid-value-assignment",
                "*": "\"$1\" is not recognized as valid category or value annotation."
            },
            {
                "name": "smw-change-propagation-protection",
                "normalizedname": "smw-change-propagation-protection",
                "*": "This page is locked to prevent accidental data modification while a [https://www.semantic-mediawiki.org/wiki/Change_propagation change propagation] update is run. The process may take a moment before the page is unlocked as it depends on the size and frequency of the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] scheduler."
            },
            {
                "name": "smw-cheat-sheet",
                "normalizedname": "smw-cheat-sheet",
                "*": "Cheat sheet"
            },
            {
                "name": "smw-clipboard-copy-link",
                "normalizedname": "smw-clipboard-copy-link",
                "*": "Copy link to clipboard"
            },
            {
                "name": "smw-collapse",
                "normalizedname": "smw-collapse",
                "*": "Collapse"
            },
            {
                "name": "smw-concept-cache-count",
                "normalizedname": "smw-concept-cache-count",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Help:Concept_cache_count concept cache] contains {{PLURAL:$1|'''one''' entity|'''$1''' entities}} ($2)."
            },
            {
                "name": "smw-concept-cache-header",
                "normalizedname": "smw-concept-cache-header",
                "*": "Cache usage"
            },
            {
                "name": "smw-concept-cache-text",
                "normalizedname": "smw-concept-cache-text",
                "*": "The concept has a total of $1 {{PLURAL:$1|page|pages}}, and was last updated $3, $2."
            },
            {
                "name": "smw-concept-indicator-cache-update",
                "normalizedname": "smw-concept-indicator-cache-update",
                "*": "Cache count\nLast updated: $1"
            },
            {
                "name": "smw-concept-no-cache",
                "normalizedname": "smw-concept-no-cache",
                "*": "No cache available."
            },
            {
                "name": "smw-concept-tab-errors",
                "normalizedname": "smw-concept-tab-errors",
                "*": "Errors"
            },
            {
                "name": "smw-concept-tab-list",
                "normalizedname": "smw-concept-tab-list",
                "*": "List"
            },
            {
                "name": "smw-constraint-error",
                "normalizedname": "smw-constraint-error",
                "*": "Constraint issue"
            },
            {
                "name": "smw-constraint-error-allows-value-list",
                "normalizedname": "smw-constraint-error-allows-value-list",
                "*": "\"$1\" is not in the list ($2) of [[Property:Allows value|allowed values]] for the \"$3\" property."
            },
            {
                "name": "smw-constraint-error-allows-value-range",
                "normalizedname": "smw-constraint-error-allows-value-range",
                "*": "\"$1\" is not within that range of \"$2\" specified by the [[Property:Allows value|allows value]] constraint for the \"$3\" property."
            },
            {
                "name": "smw-constraint-error-limit",
                "normalizedname": "smw-constraint-error-limit",
                "*": "The list will contain a maximum of $1 violations."
            },
            {
                "name": "smw-constraint-error-suggestions",
                "normalizedname": "smw-constraint-error-suggestions",
                "*": "Please check listed violations and properties together with their annotated values to ensure that all constraint requirements are met."
            },
            {
                "name": "smw-constraint-schema-category-invalid-type",
                "normalizedname": "smw-constraint-schema-category-invalid-type",
                "*": "The annotated \"$1\" schema is invalid for a category, it requires a \"$2\" type."
            },
            {
                "name": "smw-constraint-schema-property-invalid-type",
                "normalizedname": "smw-constraint-schema-property-invalid-type",
                "*": "The annotated \"$1\" schema is invalid for a property, it requires a \"$2\" type."
            },
            {
                "name": "smw-constraint-violation-allowed-namespace-no-match",
                "normalizedname": "smw-constraint-violation-allowed-namespace-no-match",
                "*": "A <code>allowed_namespaces</code> constraint is assigned to the \"[[Property:$1|$1]]\" property and \"$2\" violates the namespace requirement, only the following \"$3\" namespaces are allowed."
            },
            {
                "name": "smw-constraint-violation-allowed-namespaces-requires-page-type",
                "normalizedname": "smw-constraint-violation-allowed-namespaces-requires-page-type",
                "*": "The <code>allowed_namespaces</code> constraint requires a page type."
            },
            {
                "name": "smw-constraint-violation-class-mandatory-properties-constraint",
                "normalizedname": "smw-constraint-violation-class-mandatory-properties-constraint",
                "*": "A <code>mandatory_properties</code> constraint is assigned to the \"[[:$1]]\" category and requires the following mandatory properties: $2"
            },
            {
                "name": "smw-constraint-violation-class-shape-constraint-invalid-max-cardinality",
                "normalizedname": "smw-constraint-violation-class-shape-constraint-invalid-max-cardinality",
                "*": "A <code>shape_constraint</code> is assigned to the \"[[:$1]]\" category with a <code>max_cardinality</code> key, the \"$2\" property doesn't match the cardinality of \"$3\"."
            },
            {
                "name": "smw-constraint-violation-class-shape-constraint-invalid-min-length",
                "normalizedname": "smw-constraint-violation-class-shape-constraint-invalid-min-length",
                "*": "A <code>shape_constraint</code> is assigned to the \"[[:$1]]\" category with a <code>min_textlength</code> key, the \"$2\" property doesn't match the length requirement of \"$3\"."
            },
            {
                "name": "smw-constraint-violation-class-shape-constraint-missing-property",
                "normalizedname": "smw-constraint-violation-class-shape-constraint-missing-property",
                "*": "A <code>shape_constraint</code> is assigned to the \"[[:$1]]\" category with a <code>property</code> key, the required \"$2\" property is missing."
            },
            {
                "name": "smw-constraint-violation-class-shape-constraint-wrong-type",
                "normalizedname": "smw-constraint-violation-class-shape-constraint-wrong-type",
                "*": "A <code>shape_constraint</code> is assigned to the \"[[:$1]]\" category with a <code>property_type</code> key, the \"$2\" property doesn't match the type of \"$3\"."
            },
            {
                "name": "smw-constraint-violation-must-exists",
                "normalizedname": "smw-constraint-violation-must-exists",
                "*": "A <code>must_exists</code> constraint is assigned to the \"[[Property:$1|$1]]\" property and the ''$2'' value annotation is violating the constraint requirement."
            },
            {
                "name": "smw-constraint-violation-non-negative-integer",
                "normalizedname": "smw-constraint-violation-non-negative-integer",
                "*": "A <code>non_negative_integer</code> constraint is assigned to the \"[[Property:$1|$1]]\" property and the ''$2'' value annotation is violating the constraint requirement."
            },
            {
                "name": "smw-constraint-violation-single-value",
                "normalizedname": "smw-constraint-violation-single-value",
                "*": "A <code>single_value</code> constraint is assigned to the \"[[Property:$1|$1]]\" property and the \"$2\" value annotation is violating the constraint requirement."
            },
            {
                "name": "smw-constraint-violation-uniqueness",
                "normalizedname": "smw-constraint-violation-uniqueness",
                "*": "A <code>unique_value_constraint</code> constraint is assigned to the \"[[Property:$1|$1]]\" property which only permits unique value assignments and the ''$2'' value annotation was already found to be annotated in the \"$3\" subject."
            },
            {
                "name": "smw-constraint-violation-uniqueness-isknown",
                "normalizedname": "smw-constraint-violation-uniqueness-isknown",
                "*": "A <code>unique_value_constraint</code> constraint is assigned to the \"[[Property:$1|$1]]\" property, therefore only unique value annotations are permitted. ''$2'' already contains an annotated value with \"$3\", violating the uniqueness constraint for the current subject."
            },
            {
                "name": "smw-constrainterrorlist-helplink",
                "normalizedname": "smw-constrainterrorlist-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Constraint_errors"
            },
            {
                "name": "smw-constrainterrorlist-intro",
                "normalizedname": "smw-constrainterrorlist-intro",
                "*": "The following list provides an overview about [https://www.semantic-mediawiki.org/wiki/Constraint_errors constraint errors] that appeared in connection with [https://www.semantic-mediawiki.org/ Semantic MediaWiki]. It is recommended to monitor this list on a regular basis and correct invalid value annotations."
            },
            {
                "name": "smw-copy",
                "normalizedname": "smw-copy",
                "*": "Copy"
            },
            {
                "name": "smw-copy-clipboard-title",
                "normalizedname": "smw-copy-clipboard-title",
                "*": "Copies content to the clipboard"
            },
            {
                "name": "smw-create-protection",
                "normalizedname": "smw-create-protection",
                "*": "Creation of the \"$1\" property is restricted to users with the appropriate \"$2\" right (or [https://www.semantic-mediawiki.org/wiki/Help:User_rights_and_user_groups user group]) while the [https://www.semantic-mediawiki.org/wiki/Help:Authority_mode authority mode] is enabled."
            },
            {
                "name": "smw-create-protection-exists",
                "normalizedname": "smw-create-protection-exists",
                "*": "Changes to the \"$1\" property is restricted to users with the appropriate \"$2\" right (or [https://www.semantic-mediawiki.org/wiki/Help:User_rights_and_user_groups user group]) while the [https://www.semantic-mediawiki.org/wiki/Help:Authority_mode authority mode] is enabled."
            },
            {
                "name": "smw-createproperty-allowedvals",
                "normalizedname": "smw-createproperty-allowedvals",
                "*": "The allowed {{PLURAL:$1|value for this property is|values for this property are}}:"
            },
            {
                "name": "smw-createproperty-isproperty",
                "normalizedname": "smw-createproperty-isproperty",
                "*": "It is a property of type $1."
            },
            {
                "name": "smw-data-lookup",
                "normalizedname": "smw-data-lookup",
                "*": "Fetching data..."
            },
            {
                "name": "smw-data-lookup-with-wait",
                "normalizedname": "smw-data-lookup-with-wait",
                "*": "The request is being processed and may take a moment."
            },
            {
                "name": "smw-datavalue-allows-pattern-mismatch",
                "normalizedname": "smw-datavalue-allows-pattern-mismatch",
                "*": "\"$1\" was classified as invalid by the \"$2\" regular expression."
            },
            {
                "name": "smw-datavalue-allows-pattern-reference-unknown",
                "normalizedname": "smw-datavalue-allows-pattern-reference-unknown",
                "*": "The \"$1\" pattern reference could not be matched to an entry in [[MediaWiki:Smw allows pattern]]."
            },
            {
                "name": "smw-datavalue-allows-value-list-missing-marker",
                "normalizedname": "smw-datavalue-allows-value-list-missing-marker",
                "*": "The \"$1\" list content is missing items with a * list marker."
            },
            {
                "name": "smw-datavalue-allows-value-list-unknown",
                "normalizedname": "smw-datavalue-allows-value-list-unknown",
                "*": "The \"$1\" list reference was not matchable to a [[MediaWiki:Smw allows list $1]] page."
            },
            {
                "name": "smw-datavalue-constraint-error-allows-value-list",
                "normalizedname": "smw-datavalue-constraint-error-allows-value-list",
                "*": "\"$1\" is not in the list ($2) of [[Property:Allows value|allowed values]] for the \"$3\" property."
            },
            {
                "name": "smw-datavalue-constraint-error-allows-value-range",
                "normalizedname": "smw-datavalue-constraint-error-allows-value-range",
                "*": "\"$1\" is not within that range of \"$2\" specified by the [[Property:Allows value|allows value]] constraint for the \"$3\" property."
            },
            {
                "name": "smw-datavalue-constraint-schema-category-invalid-type",
                "normalizedname": "smw-datavalue-constraint-schema-category-invalid-type",
                "*": "The annotated \"$1\" schema is invalid for a category, it requires a \"$2\" type."
            },
            {
                "name": "smw-datavalue-constraint-schema-property-invalid-type",
                "normalizedname": "smw-datavalue-constraint-schema-property-invalid-type",
                "*": "The annotated \"$1\" schema is invalid for a property, it requires a \"$2\" type."
            },
            {
                "name": "smw-datavalue-constraint-uniqueness-violation",
                "normalizedname": "smw-datavalue-constraint-uniqueness-violation",
                "*": "Property \"$1\" only permits unique value assignments and ''$2'' was already annotated in subject \"$3\"."
            },
            {
                "name": "smw-datavalue-constraint-uniqueness-violation-isknown",
                "normalizedname": "smw-datavalue-constraint-uniqueness-violation-isknown",
                "*": "Property \"$1\" only permits unique value annotations, ''$2'' already contains an assigned value. \"$3\" violates the uniqueness constraint."
            },
            {
                "name": "smw-datavalue-constraint-violation-must-exists",
                "normalizedname": "smw-datavalue-constraint-violation-must-exists",
                "*": "Property \"$1\" has a <code>must_exists</code> constraint and value ''$2'' is violating that requirement."
            },
            {
                "name": "smw-datavalue-constraint-violation-non-negative-integer",
                "normalizedname": "smw-datavalue-constraint-violation-non-negative-integer",
                "*": "Property \"$1\" has a \"non negative integer\" constraint and value ''$2'' is violating that requirement."
            },
            {
                "name": "smw-datavalue-constraint-violation-single-value",
                "normalizedname": "smw-datavalue-constraint-violation-single-value",
                "*": "The \"[[Property:$1|$1]]\" property has a <code>single_value</code> constraint and value \"$2\" is violating that requirement."
            },
            {
                "name": "smw-datavalue-external-formatter-invalid-uri",
                "normalizedname": "smw-datavalue-external-formatter-invalid-uri",
                "*": " \"$1\" is an invalid URL."
            },
            {
                "name": "smw-datavalue-external-formatter-uri-missing-placeholder",
                "normalizedname": "smw-datavalue-external-formatter-uri-missing-placeholder",
                "*": "Formatter URI is missing the ''$1'' placeholder."
            },
            {
                "name": "smw-datavalue-external-identifier-formatter-missing",
                "normalizedname": "smw-datavalue-external-identifier-formatter-missing",
                "*": "The property is missing an [[Property:External formatter uri|\"External formatter URI\"]] assignment."
            },
            {
                "name": "smw-datavalue-external-identifier-multi-substitute-parameters-missing",
                "normalizedname": "smw-datavalue-external-identifier-multi-substitute-parameters-missing",
                "*": "The \"$1\" external identifier expects a multi field substitution but the current \"$2\" value is missing at least one value parameter to match the requirement."
            },
            {
                "name": "smw-datavalue-feature-not-supported",
                "normalizedname": "smw-datavalue-feature-not-supported",
                "*": "The \"$1\" feature is not supported or was disabled on this wiki."
            },
            {
                "name": "smw-datavalue-import-invalid-format",
                "normalizedname": "smw-datavalue-import-invalid-format",
                "*": "Expected the string \"$1\" to be divided into four parts but the format was not understood."
            },
            {
                "name": "smw-datavalue-import-invalid-value",
                "normalizedname": "smw-datavalue-import-invalid-value",
                "*": "\"$1\" is not a valid format and is expected to consist of \"namespace\":\"identifier\" (e.g. \"foaf:name\")."
            },
            {
                "name": "smw-datavalue-import-link",
                "normalizedname": "smw-datavalue-import-link",
                "*": "[[MediaWiki:Smw import $1|$1 import]]"
            },
            {
                "name": "smw-datavalue-import-missing-namespace-uri",
                "normalizedname": "smw-datavalue-import-missing-namespace-uri",
                "*": "Unable to find a \"$1\" namespace URI in the [[MediaWiki:Smw import $1|$1 import]]."
            },
            {
                "name": "smw-datavalue-import-missing-type",
                "normalizedname": "smw-datavalue-import-missing-type",
                "*": "No type definition was found for \"$1\" in the [[MediaWiki:Smw import $2|$2 import]]."
            },
            {
                "name": "smw-datavalue-import-unknown-namespace",
                "normalizedname": "smw-datavalue-import-unknown-namespace",
                "*": "The import namespace \"$1\" is unknown. Please ensure that OWL import details are available via [[MediaWiki:Smw import $1]]"
            },
            {
                "name": "smw-datavalue-invalid-number",
                "normalizedname": "smw-datavalue-invalid-number",
                "*": "\"$1\" can not be interpreted as a number."
            },
            {
                "name": "smw-datavalue-keyword-maximum-length",
                "normalizedname": "smw-datavalue-keyword-maximum-length",
                "*": "The keyword exceeded the maximum length of $1 {{PLURAL:$1|character|characters}}."
            },
            {
                "name": "smw-datavalue-languagecode-invalid",
                "normalizedname": "smw-datavalue-languagecode-invalid",
                "*": "\"$1\" was not recognized as a supported language code."
            },
            {
                "name": "smw-datavalue-languagecode-missing",
                "normalizedname": "smw-datavalue-languagecode-missing",
                "*": "For the \"$1\" annotation, the parser was unable to determine a language code (i.e. \"foo@en\")."
            },
            {
                "name": "smw-datavalue-monolingual-dataitem-missing",
                "normalizedname": "smw-datavalue-monolingual-dataitem-missing",
                "*": "An expected item for building a monolingual compound value is missing."
            },
            {
                "name": "smw-datavalue-monolingual-lcode-parenthesis",
                "normalizedname": "smw-datavalue-monolingual-lcode-parenthesis",
                "*": "($1)"
            },
            {
                "name": "smw-datavalue-number-nullnotallowed",
                "normalizedname": "smw-datavalue-number-nullnotallowed",
                "*": "\"$1\" returned with a \"NULL\" which is not allowed as number."
            },
            {
                "name": "smw-datavalue-number-textnotallowed",
                "normalizedname": "smw-datavalue-number-textnotallowed",
                "*": "\"$1\" can not be assigned to a declared number type with value $2."
            },
            {
                "name": "smw-datavalue-parse-error",
                "normalizedname": "smw-datavalue-parse-error",
                "*": "The given value \"$1\" was not understood."
            },
            {
                "name": "smw-datavalue-property-create-restriction",
                "normalizedname": "smw-datavalue-property-create-restriction",
                "*": "Property \"$1\" doesn't exist and the user is missing the \"$2\" permission (see [https://www.semantic-mediawiki.org/wiki/Help:Authority_mode authority mode]) to create or annotate values with an unapproved property."
            },
            {
                "name": "smw-datavalue-property-invalid-chain",
                "normalizedname": "smw-datavalue-property-invalid-chain",
                "*": "Using \"$1\" as property chain is not permitted during the annotation process."
            },
            {
                "name": "smw-datavalue-property-invalid-character",
                "normalizedname": "smw-datavalue-property-invalid-character",
                "*": "\"$1\" contains a listed \"$2\" character as part of the property label and has therefore been classified as invalid."
            },
            {
                "name": "smw-datavalue-property-restricted-annotation-use",
                "normalizedname": "smw-datavalue-property-restricted-annotation-use",
                "*": "Property \"$1\" has a restricted application area and cannot be used as annotation property by a user."
            },
            {
                "name": "smw-datavalue-property-restricted-declarative-use",
                "normalizedname": "smw-datavalue-property-restricted-declarative-use",
                "*": "Property \"$1\" is a declarative property and can only be used on a property or category page."
            },
            {
                "name": "smw-datavalue-propertylist-invalid-property-key",
                "normalizedname": "smw-datavalue-propertylist-invalid-property-key",
                "*": "The property list \"$1\" contained an invalid property key \"$2\"."
            },
            {
                "name": "smw-datavalue-record-invalid-property-declaration",
                "normalizedname": "smw-datavalue-record-invalid-property-declaration",
                "*": "The record definition contains the \"$1\" property which itself is declared as record type and that is not permitted."
            },
            {
                "name": "smw-datavalue-reference-invalid-fields-definition",
                "normalizedname": "smw-datavalue-reference-invalid-fields-definition",
                "*": "The [[Special:Types/Reference|Reference]] type expects a list of properties to be declared using the [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Has_fields Has fields] property."
            },
            {
                "name": "smw-datavalue-reference-outputformat",
                "normalizedname": "smw-datavalue-reference-outputformat",
                "*": "$1: $2"
            },
            {
                "name": "smw-datavalue-restricted-use",
                "normalizedname": "smw-datavalue-restricted-use",
                "*": "Datavalue \"$1\" has been marked for restricted use."
            },
            {
                "name": "smw-datavalue-stripmarker-parse-error",
                "normalizedname": "smw-datavalue-stripmarker-parse-error",
                "*": "The given value \"$1\" contains [https://en.wikipedia.org/wiki/Help:Strip_markers strip markers] and therefore it cannot be parsed sufficiently."
            },
            {
                "name": "smw-datavalue-time-invalid",
                "normalizedname": "smw-datavalue-time-invalid",
                "*": "Unable to interpret the \"$1\" input value as valid date or time component with \"$2\" being reported."
            },
            {
                "name": "smw-datavalue-time-invalid-ampm",
                "normalizedname": "smw-datavalue-time-invalid-ampm",
                "*": "\"$1\" contains \"$2\" as hour element that is invalid for a 12-hour convention."
            },
            {
                "name": "smw-datavalue-time-invalid-date-components-common",
                "normalizedname": "smw-datavalue-time-invalid-date-components-common",
                "*": "\"$1\" contains some uninterpretable information."
            },
            {
                "name": "smw-datavalue-time-invalid-date-components-dash",
                "normalizedname": "smw-datavalue-time-invalid-date-components-dash",
                "*": "\"$1\" contains an extrinsic dash or other characters that are invalid for a date interpretation."
            },
            {
                "name": "smw-datavalue-time-invalid-date-components-empty",
                "normalizedname": "smw-datavalue-time-invalid-date-components-empty",
                "*": "\"$1\" contains some empty components."
            },
            {
                "name": "smw-datavalue-time-invalid-date-components-sequence",
                "normalizedname": "smw-datavalue-time-invalid-date-components-sequence",
                "*": "\"$1\" contains a sequence that could not be interpreted against an available match matrix for date components."
            },
            {
                "name": "smw-datavalue-time-invalid-date-components-three",
                "normalizedname": "smw-datavalue-time-invalid-date-components-three",
                "*": "\"$1\" contains more than three components required for a date interpretation."
            },
            {
                "name": "smw-datavalue-time-invalid-jd",
                "normalizedname": "smw-datavalue-time-invalid-jd",
                "*": "Unable to interpret the \"$1\" input value as valid JD (Julian day) number with \"$2\" being reported."
            },
            {
                "name": "smw-datavalue-time-invalid-offset-zone-usage",
                "normalizedname": "smw-datavalue-time-invalid-offset-zone-usage",
                "*": "\"$1\" contains an offset and zone identifier which is not supported."
            },
            {
                "name": "smw-datavalue-time-invalid-prehistoric",
                "normalizedname": "smw-datavalue-time-invalid-prehistoric",
                "*": "Unable to interpret a prehistoric \"$1\" input value. For example, having specified more than years or a calendar model may return unexpected results in a prehistoric context."
            },
            {
                "name": "smw-datavalue-time-invalid-values",
                "normalizedname": "smw-datavalue-time-invalid-values",
                "*": "The \"$1\" value contains uninterpretable information in form of \"$2\"."
            },
            {
                "name": "smw-datavalue-type-invalid-typeuri",
                "normalizedname": "smw-datavalue-type-invalid-typeuri",
                "*": "The \"$1\" type could not be transformed into a valid URI representation."
            },
            {
                "name": "smw-datavalue-uri-invalid-authority-path-component",
                "normalizedname": "smw-datavalue-uri-invalid-authority-path-component",
                "*": "\"$1\" has been identified to contain an invalid \"$2\" authority or path component."
            },
            {
                "name": "smw-datavalue-uri-invalid-scheme",
                "normalizedname": "smw-datavalue-uri-invalid-scheme",
                "*": " \"$1\" has not been listed as valid URI scheme."
            },
            {
                "name": "smw-datavalue-wikipage-empty",
                "normalizedname": "smw-datavalue-wikipage-empty",
                "*": "The wikipage input value is empty (e.g. <code>[[SomeProperty::]], [[]]</code>) and therefore it cannot be used as a name or as part of a query condition."
            },
            {
                "name": "smw-datavalue-wikipage-invalid-title",
                "normalizedname": "smw-datavalue-wikipage-invalid-title",
                "*": "The page type input value \"$1\" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process."
            },
            {
                "name": "smw-datavalue-wikipage-missing-fragment-context",
                "normalizedname": "smw-datavalue-wikipage-missing-fragment-context",
                "*": "The wikipage input value \"$1\" cannot be used without a context page."
            },
            {
                "name": "smw-datavalue-wikipage-property-invalid-title",
                "normalizedname": "smw-datavalue-wikipage-property-invalid-title",
                "*": "Property \"$1\" (as page type) with input value \"$2\" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process."
            },
            {
                "name": "smw-desc",
                "normalizedname": "smw-desc",
                "*": "Making your wiki more accessible - for machines ''and'' humans ([https://www.semantic-mediawiki.org/wiki/Help:User_manual online documentation])"
            },
            {
                "name": "smw-edit-protection",
                "normalizedname": "smw-edit-protection",
                "*": "This page is [[Property:Is edit protected|protected]] to prevent accidental data modification and can only be edited by users with the appropriate edit right (\"$1\") or [https://www.semantic-mediawiki.org/wiki/Help:User_rights_and_user_groups user group]."
            },
            {
                "name": "smw-edit-protection-auto-update",
                "normalizedname": "smw-edit-protection-auto-update",
                "*": "Semantic MediaWiki has updated the protection status according to the \"Is edit protected\" property."
            },
            {
                "name": "smw-edit-protection-disabled",
                "normalizedname": "smw-edit-protection-disabled",
                "*": "The edit protection has been disabled therefore \"$1\" cannot be used to protect entity pages from unauthorized editing."
            },
            {
                "name": "smw-edit-protection-enabled",
                "normalizedname": "smw-edit-protection-enabled",
                "*": "Edit protected (Semantic MediaWiki)"
            },
            {
                "name": "smw-editpage-annotation-disabled",
                "normalizedname": "smw-editpage-annotation-disabled",
                "*": "This page is not enabled for semantic in-text annotations due to namespace restrictions. Details about how to enable the namespace can be found on the [https://www.semantic-mediawiki.org/wiki/Help:Configuration configuration] help page."
            },
            {
                "name": "smw-editpage-annotation-enabled",
                "normalizedname": "smw-editpage-annotation-enabled",
                "*": "This page supports semantic in-text annotations (e.g. <nowiki>\"[[Is specified as::World Heritage Site]]\"</nowiki>) to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the [https://www.semantic-mediawiki.org/wiki/Help:Getting_started getting started], [https://www.semantic-mediawiki.org/wiki/Help:In-text_annotation in-text annotation], or [https://www.semantic-mediawiki.org/wiki/Help:Inline_queries inline queries] help pages."
            },
            {
                "name": "smw-editpage-concept-annotation-enabled",
                "normalizedname": "smw-editpage-concept-annotation-enabled",
                "*": "This concept can be extended using the #concept parser function. For a description on how to use #concept, see the [https://www.semantic-mediawiki.org/wiki/Help:Concepts concept] help page."
            },
            {
                "name": "smw-editpage-property-annotation-disabled",
                "normalizedname": "smw-editpage-property-annotation-disabled",
                "*": "This property cannot be extended with a datatype annotation (e.g. <nowiki>\"[[Has type::Page]]\"</nowiki>) as it is already predefined (see the [https://www.semantic-mediawiki.org/wiki/Help:Special_properties special properties] help page for more information)."
            },
            {
                "name": "smw-editpage-property-annotation-enabled",
                "normalizedname": "smw-editpage-property-annotation-enabled",
                "*": "This property can be extended using semantic annotations to specify a datatype (e.g. <nowiki>\"[[Has type::Page]]\"</nowiki>) or other supporting declarations (e.g. <nowiki>\"[[Subproperty of::dc:date]]\"</nowiki>). For a description on how to augment this page, see the [https://www.semantic-mediawiki.org/wiki/Help:Property_declaration declaration of a property] or the [https://www.semantic-mediawiki.org/wiki/Help:List_of_datatypes list of available data types] help page."
            },
            {
                "name": "smw-elastic-rebuildelasticindex-run-incomplete",
                "normalizedname": "smw-elastic-rebuildelasticindex-run-incomplete",
                "*": "The <code>ElasticStore</code> has been selected as [https://www.semantic-mediawiki.org/wiki/Help:smwgDefaultStore default store], yet the extension was unable to find any record that the <code>[https://www.semantic-mediawiki.org/wiki/Help:rebuildElasticIndex.php rebuildElasticIndex.php]</code> script was executed, please run the script as instructed."
            },
            {
                "name": "smw-entity-examiner-associated-revision-mismatch",
                "normalizedname": "smw-entity-examiner-associated-revision-mismatch",
                "*": "Revision"
            },
            {
                "name": "smw-entity-examiner-check",
                "normalizedname": "smw-entity-examiner-check",
                "*": "Running {{PLURAL:$1|an examiner|examiners}} in the background"
            },
            {
                "name": "smw-entity-examiner-deferred-check-awaiting-response",
                "normalizedname": "smw-entity-examiner-deferred-check-awaiting-response",
                "*": "The \"$1\" examiner is currently awaiting a response from the backend."
            },
            {
                "name": "smw-entity-examiner-deferred-constraint-error",
                "normalizedname": "smw-entity-examiner-deferred-constraint-error",
                "*": "Constraint"
            },
            {
                "name": "smw-entity-examiner-deferred-elastic-replication",
                "normalizedname": "smw-entity-examiner-deferred-elastic-replication",
                "*": "Elastic"
            },
            {
                "name": "smw-entity-examiner-deferred-fake",
                "normalizedname": "smw-entity-examiner-deferred-fake",
                "*": "Fake"
            },
            {
                "name": "smw-entity-examiner-indicator",
                "normalizedname": "smw-entity-examiner-indicator",
                "*": "Entity issue panel"
            },
            {
                "name": "smw-entity-examiner-indicator-suggestions",
                "normalizedname": "smw-entity-examiner-indicator-suggestions",
                "*": "As part of the entity examination, the following {{PLURAL:$1|issue was|issues were}} found and it is suggested to carefully review {{PLURAL:$1|the issue|them}} and take appropriate {{PLURAL:$1|action|actions}}."
            },
            {
                "name": "smw-error",
                "normalizedname": "smw-error",
                "*": "Error"
            },
            {
                "name": "smw-es-replication-check",
                "normalizedname": "smw-es-replication-check",
                "*": "Replication check (Elasticsearch)"
            },
            {
                "name": "smw-es-replication-error",
                "normalizedname": "smw-es-replication-error",
                "*": "Elasticsearch replication issue"
            },
            {
                "name": "smw-es-replication-error-bad-request-exception",
                "normalizedname": "smw-es-replication-error-bad-request-exception",
                "*": "The Elasticsearch connection handler has thrown a bad request exception (\"400 conflict http error\") indicating a continuing issue during replication and search requests."
            },
            {
                "name": "smw-es-replication-error-divergent-date",
                "normalizedname": "smw-es-replication-error-divergent-date",
                "*": "The replication monitoring has found that for the \"$1\" article (ID: $2) the <b>modification date</b> shows a discrepancy."
            },
            {
                "name": "smw-es-replication-error-divergent-date-detail",
                "normalizedname": "smw-es-replication-error-divergent-date-detail",
                "*": "Referenced modification date:\n* Elasticsearch: $1\n* Database: $2"
            },
            {
                "name": "smw-es-replication-error-divergent-date-short",
                "normalizedname": "smw-es-replication-error-divergent-date-short",
                "*": "The following date information were used for comparison:"
            },
            {
                "name": "smw-es-replication-error-divergent-revision",
                "normalizedname": "smw-es-replication-error-divergent-revision",
                "*": "The replication monitoring has found that for the \"$1\" article (ID: $2) the <b>associated revision</b> shows a discrepancy."
            },
            {
                "name": "smw-es-replication-error-divergent-revision-detail",
                "normalizedname": "smw-es-replication-error-divergent-revision-detail",
                "*": "Referenced associated revision:\n* Elasticsearch: $1\n* Database: $2"
            },
            {
                "name": "smw-es-replication-error-divergent-revision-short",
                "normalizedname": "smw-es-replication-error-divergent-revision-short",
                "*": "The following associated revision data were used for comparison:"
            },
            {
                "name": "smw-es-replication-error-file-ingest-missing-file-attachment",
                "normalizedname": "smw-es-replication-error-file-ingest-missing-file-attachment",
                "*": "The replication monitoring has found that \"$1\" is missing a [[Property:File attachment|File attachment]] annotation indicating that the file ingest processor hasn't started or isn't finished."
            },
            {
                "name": "smw-es-replication-error-file-ingest-missing-file-attachment-suggestions",
                "normalizedname": "smw-es-replication-error-file-ingest-missing-file-attachment-suggestions",
                "*": "Please ensure that the [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore/File_ingestion file ingest] job is scheduled and executed before the annotation and file index is made available."
            },
            {
                "name": "smw-es-replication-error-maintenance-mode",
                "normalizedname": "smw-es-replication-error-maintenance-mode",
                "*": "The Elasticsearch replication is currently restricted because it operates in a [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore/Maintenance_mode <b>maintenance mode</b>], changes to entities and pages are <b>not</b> immediately visible and query results may contain outdated information."
            },
            {
                "name": "smw-es-replication-error-missing-id",
                "normalizedname": "smw-es-replication-error-missing-id",
                "*": "The replication monitoring has found that article \"$1\" (ID: $2) is missing from the Elasticsearch backend."
            },
            {
                "name": "smw-es-replication-error-no-connection",
                "normalizedname": "smw-es-replication-error-no-connection",
                "*": "The replication monitoring is unable to perform any checks since it cannot establish a connection to the Elasticsearch cluster."
            },
            {
                "name": "smw-es-replication-error-other-exception",
                "normalizedname": "smw-es-replication-error-other-exception",
                "*": "The Elasticsearch connection handler has thrown an exception: \"$1\"."
            },
            {
                "name": "smw-es-replication-error-suggestions",
                "normalizedname": "smw-es-replication-error-suggestions",
                "*": "It is suggested to edit or purge the page to remove the discrepancy. If the issue remains then check the Elasticsearch cluster itself (allocator, exceptions, disk space etc.)."
            },
            {
                "name": "smw-es-replication-error-suggestions-exception",
                "normalizedname": "smw-es-replication-error-suggestions-exception",
                "*": "Please check the logs for information about the status of Elasticsearch, their indices, and possible misconfiguration issues."
            },
            {
                "name": "smw-es-replication-error-suggestions-maintenance-mode",
                "normalizedname": "smw-es-replication-error-suggestions-maintenance-mode",
                "*": "It is suggested to contact the wiki administrator to check whether an [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore/Index_rebuild index rebuild] is currently in progress or the <code>refresh_interval</code> hasn't been set to the expected default value."
            },
            {
                "name": "smw-es-replication-error-suggestions-no-connection",
                "normalizedname": "smw-es-replication-error-suggestions-no-connection",
                "*": "It is suggested to contact the wiki administrator and report the \"no connection\" issue."
            },
            {
                "name": "smw-es-replication-file-ingest-error",
                "normalizedname": "smw-es-replication-file-ingest-error",
                "*": "File ingest issue"
            },
            {
                "name": "smw-es-replication-maintenance-mode",
                "normalizedname": "smw-es-replication-maintenance-mode",
                "*": "Elasticsearch maintenance"
            },
            {
                "name": "smw-expand",
                "normalizedname": "smw-expand",
                "*": "Expand"
            },
            {
                "name": "smw-extensionload-error-how-explain",
                "normalizedname": "smw-extensionload-error-how-explain",
                "*": "To enable the extension and avoid issues with namespace declarations and pending configurations it is necessary to use <code>enableSemantics</code> which will ensure required variables are set before loading the extension via the <code>ExtensionRegistry</code>.\n\nPlease have a look at the [https://www.semantic-mediawiki.org/wiki/Help:EnableSemantics enableSemantics] help page for further assistance."
            },
            {
                "name": "smw-extensionload-error-how-title",
                "normalizedname": "smw-extensionload-error-how-title",
                "*": "How do I fix this error?"
            },
            {
                "name": "smw-extensionload-error-why-explain",
                "normalizedname": "smw-extensionload-error-why-explain",
                "*": "The extension was <b>not</b> loaded using <code>enableSemantics</code> and instead enabled by other means such as using <code>wfLoadExtension( 'SemanticMediaWiki' )</code> directly."
            },
            {
                "name": "smw-extensionload-error-why-title",
                "normalizedname": "smw-extensionload-error-why-title",
                "*": "Why do I see this page?"
            },
            {
                "name": "smw-facetedsearch-clear-filters",
                "normalizedname": "smw-facetedsearch-clear-filters",
                "*": "Clear {{PLURAL:$1|filter|filters}}"
            },
            {
                "name": "smw-facetedsearch-explore-intro",
                "normalizedname": "smw-facetedsearch-explore-intro",
                "*": "Select a collection and start browsing."
            },
            {
                "name": "smw-facetedsearch-format-options",
                "normalizedname": "smw-facetedsearch-format-options",
                "*": "Display options"
            },
            {
                "name": "smw-facetedsearch-format-table",
                "normalizedname": "smw-facetedsearch-format-table",
                "*": "Table"
            },
            {
                "name": "smw-facetedsearch-input-filter-placeholder",
                "normalizedname": "smw-facetedsearch-input-filter-placeholder",
                "*": "Filter..."
            },
            {
                "name": "smw-facetedsearch-intro-tab-explore",
                "normalizedname": "smw-facetedsearch-intro-tab-explore",
                "*": "Explore"
            },
            {
                "name": "smw-facetedsearch-intro-tab-search",
                "normalizedname": "smw-facetedsearch-intro-tab-search",
                "*": "Search"
            },
            {
                "name": "smw-facetedsearch-intro-text",
                "normalizedname": "smw-facetedsearch-intro-text",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Faceted_search <b>Faceted Search</b>] of Semantic MediaWiki provides users with a simple interface to quickly narrow down query results from a condition with the help of faceted views created from dependent properties and categories."
            },
            {
                "name": "smw-facetedsearch-intro-tips",
                "normalizedname": "smw-facetedsearch-intro-tips",
                "*": "* Use <code>category:?</code>, <code>property:?</code>, or <code>concept:?</code> to find available categories, properties, or concepts to build a condition set\n* Use the #ask syntax to describe a condition (e.g. <code><nowiki>[[Category:Foo]]</nowiki></code>)\n* Use \"OR\", \"AND\", or other query expressions to create complex conditions\n* Expressions like <code>in:</code> or <code>phrase:</code> can be used for full-text matches or unstructured searches, if the selected [https://www.semantic-mediawiki.org/wiki/Query_engine query engine] supports those expressions"
            },
            {
                "name": "smw-facetedsearch-no-filter-range",
                "normalizedname": "smw-facetedsearch-no-filter-range",
                "*": "No filter range."
            },
            {
                "name": "smw-facetedsearch-no-filters",
                "normalizedname": "smw-facetedsearch-no-filters",
                "*": "No filters."
            },
            {
                "name": "smw-facetedsearch-no-output",
                "normalizedname": "smw-facetedsearch-no-output",
                "*": "For the selected \"$1\" format, no output was available."
            },
            {
                "name": "smw-facetedsearch-order-options",
                "normalizedname": "smw-facetedsearch-order-options",
                "*": "Order options"
            },
            {
                "name": "smw-facetedsearch-profile-label-default",
                "normalizedname": "smw-facetedsearch-profile-label-default",
                "*": "Default profile"
            },
            {
                "name": "smw-facetedsearch-profile-options",
                "normalizedname": "smw-facetedsearch-profile-options",
                "*": "Profile options"
            },
            {
                "name": "smw-facetedsearch-size-options",
                "normalizedname": "smw-facetedsearch-size-options",
                "*": "Paging options"
            },
            {
                "name": "smw-factbox-attachments",
                "normalizedname": "smw-factbox-attachments",
                "*": "Attachments"
            },
            {
                "name": "smw-factbox-attachments-help",
                "normalizedname": "smw-factbox-attachments-help",
                "*": "Shows available attachments"
            },
            {
                "name": "smw-factbox-attachments-is-local",
                "normalizedname": "smw-factbox-attachments-is-local",
                "*": "Is local"
            },
            {
                "name": "smw-factbox-attachments-value-unknown",
                "normalizedname": "smw-factbox-attachments-value-unknown",
                "*": "N/A"
            },
            {
                "name": "smw-factbox-facts",
                "normalizedname": "smw-factbox-facts",
                "*": "Facts"
            },
            {
                "name": "smw-factbox-facts-derived",
                "normalizedname": "smw-factbox-facts-derived",
                "*": "Derived facts"
            },
            {
                "name": "smw-factbox-facts-derived-help",
                "normalizedname": "smw-factbox-facts-derived-help",
                "*": "Shows facts that have been derived from rules or with the help of other reasoning techniques"
            },
            {
                "name": "smw-factbox-facts-help",
                "normalizedname": "smw-factbox-facts-help",
                "*": "Shows statements and facts that have been created by a user"
            },
            {
                "name": "smw-factbox-head",
                "normalizedname": "smw-factbox-head",
                "*": "... more about \"$1\""
            },
            {
                "name": "smw-fetching",
                "normalizedname": "smw-fetching",
                "*": "Fetching..."
            },
            {
                "name": "smw-filter",
                "normalizedname": "smw-filter",
                "*": "Filter"
            },
            {
                "name": "smw-filter-count",
                "normalizedname": "smw-filter-count",
                "*": "Filter count"
            },
            {
                "name": "smw-format-datatable-emptytable",
                "normalizedname": "smw-format-datatable-emptytable",
                "*": "No data available in table"
            },
            {
                "name": "smw-format-datatable-first",
                "normalizedname": "smw-format-datatable-first",
                "*": "First"
            },
            {
                "name": "smw-format-datatable-info",
                "normalizedname": "smw-format-datatable-info",
                "*": "Showing _START_ to _END_ of _TOTAL_ entries"
            },
            {
                "name": "smw-format-datatable-infoempty",
                "normalizedname": "smw-format-datatable-infoempty",
                "*": "Showing 0 to 0 of 0 entries"
            },
            {
                "name": "smw-format-datatable-infofiltered",
                "normalizedname": "smw-format-datatable-infofiltered",
                "*": "(filtered from _MAX_ total entries)"
            },
            {
                "name": "smw-format-datatable-infothousands",
                "normalizedname": "smw-format-datatable-infothousands",
                "*": ","
            },
            {
                "name": "smw-format-datatable-last",
                "normalizedname": "smw-format-datatable-last",
                "*": "Last"
            },
            {
                "name": "smw-format-datatable-lengthmenu",
                "normalizedname": "smw-format-datatable-lengthmenu",
                "*": "Show _MENU_ entries"
            },
            {
                "name": "smw-format-datatable-loadingrecords",
                "normalizedname": "smw-format-datatable-loadingrecords",
                "*": "Loading..."
            },
            {
                "name": "smw-format-datatable-next",
                "normalizedname": "smw-format-datatable-next",
                "*": "Next"
            },
            {
                "name": "smw-format-datatable-previous",
                "normalizedname": "smw-format-datatable-previous",
                "*": "Previous"
            },
            {
                "name": "smw-format-datatable-processing",
                "normalizedname": "smw-format-datatable-processing",
                "*": "Processing..."
            },
            {
                "name": "smw-format-datatable-search",
                "normalizedname": "smw-format-datatable-search",
                "*": "Search:"
            },
            {
                "name": "smw-format-datatable-sortascending",
                "normalizedname": "smw-format-datatable-sortascending",
                "*": ": activate to sort column ascending"
            },
            {
                "name": "smw-format-datatable-sortdescending",
                "normalizedname": "smw-format-datatable-sortdescending",
                "*": ": activate to sort column descending"
            },
            {
                "name": "smw-format-datatable-toolbar-export",
                "normalizedname": "smw-format-datatable-toolbar-export",
                "*": "Export"
            },
            {
                "name": "smw-format-datatable-zerorecords",
                "normalizedname": "smw-format-datatable-zerorecords",
                "*": "No matching records found"
            },
            {
                "name": "smw-format-list-field-label-separator",
                "normalizedname": "smw-format-list-field-label-separator",
                "*": ": "
            },
            {
                "name": "smw-format-list-other-fields-close",
                "normalizedname": "smw-format-list-other-fields-close",
                "*": ")"
            },
            {
                "name": "smw-format-list-other-fields-open",
                "normalizedname": "smw-format-list-other-fields-open",
                "*": " ("
            },
            {
                "name": "smw-format-list-property-separator",
                "normalizedname": "smw-format-list-property-separator",
                "*": ", "
            },
            {
                "name": "smw-format-list-separator",
                "normalizedname": "smw-format-list-separator",
                "*": ", "
            },
            {
                "name": "smw-format-list-value-separator",
                "normalizedname": "smw-format-list-value-separator",
                "*": ", "
            },
            {
                "name": "smw-help",
                "normalizedname": "smw-help",
                "*": "Help"
            },
            {
                "name": "smw-helplink",
                "normalizedname": "smw-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:$1"
            },
            {
                "name": "smw-helplink-concepts",
                "normalizedname": "smw-helplink-concepts",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Concepts"
            },
            {
                "name": "smw-indicator-constraint-violation",
                "normalizedname": "smw-indicator-constraint-violation",
                "*": "{{PLURAL:$1|Constraint|Constraints}}"
            },
            {
                "name": "smw-indicator-revision-mismatch",
                "normalizedname": "smw-indicator-revision-mismatch",
                "*": "Revision"
            },
            {
                "name": "smw-indicator-revision-mismatch-comment",
                "normalizedname": "smw-indicator-revision-mismatch-comment",
                "*": "A mismatch normally indicates that some process interrupted the storage operation in Semantic MediaWiki. It is recommended to review the server logs and look for exceptions or other failures."
            },
            {
                "name": "smw-indicator-revision-mismatch-error",
                "normalizedname": "smw-indicator-revision-mismatch-error",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Help:Associated_revision/Examiner associated revision] check found a mismatch between the revision referenced in MediaWiki and the one being associated in Semantic MediaWiki for this entity."
            },
            {
                "name": "smw-info-par-icon",
                "normalizedname": "smw-info-par-icon",
                "*": "Icon to show, either \"info\" or \"warning\"."
            },
            {
                "name": "smw-info-par-message",
                "normalizedname": "smw-info-par-message",
                "*": "Message to display."
            },
            {
                "name": "smw-install-incomplete-elasticstore-indexrebuild",
                "normalizedname": "smw-install-incomplete-elasticstore-indexrebuild",
                "*": "The <code>ElasticStore</code> has been selected as [https://www.semantic-mediawiki.org/wiki/Help:smwgDefaultStore default store], yet the extension was unable to find any record that the <code>[https://www.semantic-mediawiki.org/wiki/Help:rebuildElasticIndex.php rebuildElasticIndex.php]</code> script was executed, please run the script as instructed."
            },
            {
                "name": "smw-install-incomplete-intro",
                "normalizedname": "smw-install-incomplete-intro",
                "*": "There are $2 incomplete or [[Special:PendingTaskList|pending]] {{PLURAL:$2|task|tasks}} to finish {{PLURAL:$1|installation|upgrading}} of [https://www.semantic-mediawiki.org Semantic MediaWiki]. An administrator or user with sufficient rights can complete {{PLURAL:$2|it|these}}. This should be done before adding new data to avoid inconsistencies."
            },
            {
                "name": "smw-install-incomplete-intro-note",
                "normalizedname": "smw-install-incomplete-intro-note",
                "*": "This message will disappear after all relevant tasks have been resolved."
            },
            {
                "name": "smw-install-incomplete-populate-hash-field",
                "normalizedname": "smw-install-incomplete-populate-hash-field",
                "*": "The <code>smw_hash</code> field population was skipped during the setup. The <code>[https://www.semantic-mediawiki.org/wiki/Help:populateHashField.php populateHashField.php]</code> script must be executed."
            },
            {
                "name": "smw-install-incomplete-tasks-title",
                "normalizedname": "smw-install-incomplete-tasks-title",
                "*": "Incomplete administration tasks"
            },
            {
                "name": "smw-jsonview-collapse-title",
                "normalizedname": "smw-jsonview-collapse-title",
                "*": "Collapses the JSON view"
            },
            {
                "name": "smw-jsonview-expand-title",
                "normalizedname": "smw-jsonview-expand-title",
                "*": "Expands the JSON view"
            },
            {
                "name": "smw-jsonview-search-label",
                "normalizedname": "smw-jsonview-search-label",
                "*": "Search:"
            },
            {
                "name": "smw-label-feed-description",
                "normalizedname": "smw-label-feed-description",
                "*": "$1 $2 feed"
            },
            {
                "name": "smw-label-feed-link",
                "normalizedname": "smw-label-feed-link",
                "*": "RSS"
            },
            {
                "name": "smw-legend",
                "normalizedname": "smw-legend",
                "*": "Legend"
            },
            {
                "name": "smw-limitreport-intext-parsertime",
                "normalizedname": "smw-limitreport-intext-parsertime",
                "*": "[SMW] In-text annotation parser time"
            },
            {
                "name": "smw-limitreport-intext-parsertime-value",
                "normalizedname": "smw-limitreport-intext-parsertime-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "smw-limitreport-intext-postproctime",
                "normalizedname": "smw-limitreport-intext-postproctime",
                "*": "[SMW] post processing time"
            },
            {
                "name": "smw-limitreport-intext-postproctime-value",
                "normalizedname": "smw-limitreport-intext-postproctime-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "smw-limitreport-pagepurge-storeupdatetime",
                "normalizedname": "smw-limitreport-pagepurge-storeupdatetime",
                "*": "[SMW] Store update time (on page purge)"
            },
            {
                "name": "smw-limitreport-pagepurge-storeupdatetime-value",
                "normalizedname": "smw-limitreport-pagepurge-storeupdatetime-value",
                "*": "$1 {{PLURAL:$1|second|seconds}}"
            },
            {
                "name": "smw-list-count",
                "normalizedname": "smw-list-count",
                "*": "The list contains $1 {{PLURAL:$1|entry|entries}}."
            },
            {
                "name": "smw-listingcontinuesabbrev",
                "normalizedname": "smw-listingcontinuesabbrev",
                "*": "cont."
            },
            {
                "name": "smw-livepreview-loading",
                "normalizedname": "smw-livepreview-loading",
                "*": "Loading..."
            },
            {
                "name": "smw-loading",
                "normalizedname": "smw-loading",
                "*": "Loading..."
            },
            {
                "name": "smw-missingredirects-intro",
                "normalizedname": "smw-missingredirects-intro",
                "*": "The following section will list pages that are missing [https://www.semantic-mediawiki.org/wiki/Redirects redirect] annotations in Semantic MediaWiki (by comparing with information stored in MediaWiki) and to restore those annotations either manually [https://www.semantic-mediawiki.org/wiki/Help:Purge purge] the page or run the <code>rebuildData.php</code> maintenance script (with option <code>--redirects</code>)."
            },
            {
                "name": "smw-missingredirects-list",
                "normalizedname": "smw-missingredirects-list",
                "*": "Pages with missing annotations"
            },
            {
                "name": "smw-missingredirects-list-intro",
                "normalizedname": "smw-missingredirects-list-intro",
                "*": "Showing $1 {{PLURAL:$1|page|pages}} with missing redirect annotations."
            },
            {
                "name": "smw-missingredirects-noresult",
                "normalizedname": "smw-missingredirects-noresult",
                "*": "No missing redirect annotations found."
            },
            {
                "name": "smw-next",
                "normalizedname": "smw-next",
                "*": "next {{PLURAL:$1|$1}}"
            },
            {
                "name": "smw-no-data-available",
                "normalizedname": "smw-no-data-available",
                "*": "No data available."
            },
            {
                "name": "smw-noscript",
                "normalizedname": "smw-noscript",
                "*": "This page or action requires JavaScript to work. Please enable JavaScript in your browser or use a browser where it is supported, so that functionality can be provided as requested. For further assistance, please have a look at the [https://www.semantic-mediawiki.org/wiki/Help:Noscript noscript] help page."
            },
            {
                "name": "smw-page-indicator-usage-count",
                "normalizedname": "smw-page-indicator-usage-count",
                "*": "Estimated [https://www.semantic-mediawiki.org/wiki/Help:Property_usage_count usage count]: {{PLURAL:$2|'''$2'''}}"
            },
            {
                "name": "smw-paramdesc-aggregation",
                "normalizedname": "smw-paramdesc-aggregation",
                "*": "Specify to what the aggregation should relate to"
            },
            {
                "name": "smw-paramdesc-category-delim",
                "normalizedname": "smw-paramdesc-category-delim",
                "*": "The delimiter"
            },
            {
                "name": "smw-paramdesc-category-template",
                "normalizedname": "smw-paramdesc-category-template",
                "*": "A template to format the items with"
            },
            {
                "name": "smw-paramdesc-category-userparam",
                "normalizedname": "smw-paramdesc-category-userparam",
                "*": "A parameter to pass to the template"
            },
            {
                "name": "smw-paramdesc-class",
                "normalizedname": "smw-paramdesc-class",
                "*": "An additional CSS class to set for the list"
            },
            {
                "name": "smw-paramdesc-columns",
                "normalizedname": "smw-paramdesc-columns",
                "*": "The number of columns in which to display results"
            },
            {
                "name": "smw-paramdesc-csv-bom",
                "normalizedname": "smw-paramdesc-csv-bom",
                "*": "Add a BOM (character to signal endianness) at the top of the output file"
            },
            {
                "name": "smw-paramdesc-csv-merge",
                "normalizedname": "smw-paramdesc-csv-merge",
                "*": "Merge rows and column values with an identical subject identifier (aka first column)"
            },
            {
                "name": "smw-paramdesc-csv-sep",
                "normalizedname": "smw-paramdesc-csv-sep",
                "*": "Specifies a column separator"
            },
            {
                "name": "smw-paramdesc-csv-valuesep",
                "normalizedname": "smw-paramdesc-csv-valuesep",
                "*": "Specifies a value separator"
            },
            {
                "name": "smw-paramdesc-default",
                "normalizedname": "smw-paramdesc-default",
                "*": "The text to display if there are no query results"
            },
            {
                "name": "smw-paramdesc-distribution",
                "normalizedname": "smw-paramdesc-distribution",
                "*": "Instead of displaying all values, count their occurrences, and show these."
            },
            {
                "name": "smw-paramdesc-distributionlimit",
                "normalizedname": "smw-paramdesc-distributionlimit",
                "*": "Limit the value distribution to the count of only some values."
            },
            {
                "name": "smw-paramdesc-distributionsort",
                "normalizedname": "smw-paramdesc-distributionsort",
                "*": "Sort the value distribution by occurrence count."
            },
            {
                "name": "smw-paramdesc-dsv-filename",
                "normalizedname": "smw-paramdesc-dsv-filename",
                "*": "The name for the DSV file"
            },
            {
                "name": "smw-paramdesc-dsv-separator",
                "normalizedname": "smw-paramdesc-dsv-separator",
                "*": "The separator to use"
            },
            {
                "name": "smw-paramdesc-embedformat",
                "normalizedname": "smw-paramdesc-embedformat",
                "*": "The HTML tag used to define headings"
            },
            {
                "name": "smw-paramdesc-embedonly",
                "normalizedname": "smw-paramdesc-embedonly",
                "*": "Display no headings"
            },
            {
                "name": "smw-paramdesc-export",
                "normalizedname": "smw-paramdesc-export",
                "*": "Export option"
            },
            {
                "name": "smw-paramdesc-feeddescription",
                "normalizedname": "smw-paramdesc-feeddescription",
                "*": "The text to be used as the description of the feed"
            },
            {
                "name": "smw-paramdesc-feedpagecontent",
                "normalizedname": "smw-paramdesc-feedpagecontent",
                "*": "Page content to be displayed with the feed"
            },
            {
                "name": "smw-paramdesc-feedtitle",
                "normalizedname": "smw-paramdesc-feedtitle",
                "*": "The text to be used as the title of the feed"
            },
            {
                "name": "smw-paramdesc-feedtype",
                "normalizedname": "smw-paramdesc-feedtype",
                "*": "Feed type"
            },
            {
                "name": "smw-paramdesc-filename",
                "normalizedname": "smw-paramdesc-filename",
                "*": "The name for the output file"
            },
            {
                "name": "smw-paramdesc-headers",
                "normalizedname": "smw-paramdesc-headers",
                "*": "Display the headers/property names"
            },
            {
                "name": "smw-paramdesc-import-annotation",
                "normalizedname": "smw-paramdesc-import-annotation",
                "*": "Additional annotated data are to be copied during the parsing of a subject"
            },
            {
                "name": "smw-paramdesc-intro",
                "normalizedname": "smw-paramdesc-intro",
                "*": "The text to display before the query results, if there are any"
            },
            {
                "name": "smw-paramdesc-introtemplate",
                "normalizedname": "smw-paramdesc-introtemplate",
                "*": "The name of a template to display before the query results, if there are any"
            },
            {
                "name": "smw-paramdesc-json-type",
                "normalizedname": "smw-paramdesc-json-type",
                "*": "Serialization type"
            },
            {
                "name": "smw-paramdesc-json-unescape",
                "normalizedname": "smw-paramdesc-json-unescape",
                "*": "Output to contain unescaped slashes and multibyte Unicode characters"
            },
            {
                "name": "smw-paramdesc-jsonsyntax",
                "normalizedname": "smw-paramdesc-jsonsyntax",
                "*": "JSON syntax to be used"
            },
            {
                "name": "smw-paramdesc-limit",
                "normalizedname": "smw-paramdesc-limit",
                "*": "The maximum number of results to return"
            },
            {
                "name": "smw-paramdesc-link",
                "normalizedname": "smw-paramdesc-link",
                "*": "Show values as links"
            },
            {
                "name": "smw-paramdesc-mainlabel",
                "normalizedname": "smw-paramdesc-mainlabel",
                "*": "The label to give to the main page name"
            },
            {
                "name": "smw-paramdesc-mimetype",
                "normalizedname": "smw-paramdesc-mimetype",
                "*": "The media type (MIME type) for the output file"
            },
            {
                "name": "smw-paramdesc-named_args",
                "normalizedname": "smw-paramdesc-named_args",
                "*": "Name the arguments passed to the template"
            },
            {
                "name": "smw-paramdesc-offset",
                "normalizedname": "smw-paramdesc-offset",
                "*": "The offset of the first result"
            },
            {
                "name": "smw-paramdesc-order",
                "normalizedname": "smw-paramdesc-order",
                "*": "Order of the query sort"
            },
            {
                "name": "smw-paramdesc-outro",
                "normalizedname": "smw-paramdesc-outro",
                "*": "The text to display after the query results, if there are any"
            },
            {
                "name": "smw-paramdesc-outrotemplate",
                "normalizedname": "smw-paramdesc-outrotemplate",
                "*": "The name of a template to display after the query results, if there are any"
            },
            {
                "name": "smw-paramdesc-prefix",
                "normalizedname": "smw-paramdesc-prefix",
                "*": "Control display of namespace in printouts"
            },
            {
                "name": "smw-paramdesc-prettyprint",
                "normalizedname": "smw-paramdesc-prettyprint",
                "*": "A pretty-print output that displays additional indents and newlines"
            },
            {
                "name": "smw-paramdesc-propsep",
                "normalizedname": "smw-paramdesc-propsep",
                "*": "The separator between the properties of a result entry"
            },
            {
                "name": "smw-paramdesc-rdfsyntax",
                "normalizedname": "smw-paramdesc-rdfsyntax",
                "*": "The RDF syntax to be used"
            },
            {
                "name": "smw-paramdesc-searchlabel",
                "normalizedname": "smw-paramdesc-searchlabel",
                "*": "Text for continuing the search"
            },
            {
                "name": "smw-paramdesc-sep",
                "normalizedname": "smw-paramdesc-sep",
                "*": "The separator between results"
            },
            {
                "name": "smw-paramdesc-showsep",
                "normalizedname": "smw-paramdesc-showsep",
                "*": "Show separator in top of CSV file (\"sep=<value>\")"
            },
            {
                "name": "smw-paramdesc-sort",
                "normalizedname": "smw-paramdesc-sort",
                "*": "Property to sort the query by"
            },
            {
                "name": "smw-paramdesc-source",
                "normalizedname": "smw-paramdesc-source",
                "*": "Alternative query source"
            },
            {
                "name": "smw-paramdesc-table-class",
                "normalizedname": "smw-paramdesc-table-class",
                "*": "An additional CSS class to set for the table"
            },
            {
                "name": "smw-paramdesc-table-transpose",
                "normalizedname": "smw-paramdesc-table-transpose",
                "*": "Display table headers vertically and results horizontally"
            },
            {
                "name": "smw-paramdesc-template",
                "normalizedname": "smw-paramdesc-template",
                "*": "The name of a template with which to display the printouts"
            },
            {
                "name": "smw-paramdesc-template-arguments",
                "normalizedname": "smw-paramdesc-template-arguments",
                "*": "Sets how the named arguments are passed to the template"
            },
            {
                "name": "smw-paramdesc-userparam",
                "normalizedname": "smw-paramdesc-userparam",
                "*": "A value passed into each template call, if a template is used"
            },
            {
                "name": "smw-paramdesc-valuesep",
                "normalizedname": "smw-paramdesc-valuesep",
                "*": "The separator between the values for a property of a result"
            },
            {
                "name": "smw-parameter-missing",
                "normalizedname": "smw-parameter-missing",
                "*": "Parameter \"$1\" is missing."
            },
            {
                "name": "smw-parse",
                "normalizedname": "smw-parse",
                "*": "$1"
            },
            {
                "name": "smw-parser-function-expensive-execution-limit",
                "normalizedname": "smw-parser-function-expensive-execution-limit",
                "*": "The parser function has reached the limit for expensive executions (see configuration parameter [https://www.semantic-mediawiki.org/wiki/Help:$smwgQExpensiveExecutionLimit <code>$smwgQExpensiveExecutionLimit</code>])."
            },
            {
                "name": "smw-parser-invalid-json-format",
                "normalizedname": "smw-parser-invalid-json-format",
                "*": "The JSON parser returned with a \"$1\"."
            },
            {
                "name": "smw-parser-recursion-level-exceeded",
                "normalizedname": "smw-parser-recursion-level-exceeded",
                "*": "The level of $1 recursions was exceeded during a parse process. It is suggested to validate the template structure, or if necessary to adjust the configuration parameter <code>$maxRecursionDepth</code>."
            },
            {
                "name": "smw-patternedit-protection",
                "normalizedname": "smw-patternedit-protection",
                "*": "This page is protected and can only be edited by users with the appropriate <code>smw-patternedit</code> [https://www.semantic-mediawiki.org/wiki/Help:Permissions permission]."
            },
            {
                "name": "smw-pendingtasks-intro",
                "normalizedname": "smw-pendingtasks-intro",
                "*": "This page provides information about tasks that have been classified as pending, incomplete, or outstanding in connection with Semantic MediaWiki."
            },
            {
                "name": "smw-pendingtasks-intro-empty",
                "normalizedname": "smw-pendingtasks-intro-empty",
                "*": "No tasks have been classified as pending, incomplete, or outstanding in connection with Semantic MediaWiki."
            },
            {
                "name": "smw-pendingtasks-setup-intro",
                "normalizedname": "smw-pendingtasks-setup-intro",
                "*": "The {{PLURAL:$1|installation|upgrade}} of <b>Semantic MediaWiki</b> has classified the following tasks as [https://www.semantic-mediawiki.org/wiki/Help:Upgrade/Incomplete_upgrade incomplete] and an administrator (or user with sufficient rights) is expected to resolve those tasks before users continue to create or alter content."
            },
            {
                "name": "smw-pendingtasks-setup-no-tasks-intro",
                "normalizedname": "smw-pendingtasks-setup-no-tasks-intro",
                "*": "The installation (or upgrade) has been completed, currently there are no pending or outstanding tasks."
            },
            {
                "name": "smw-pendingtasks-setup-tasks",
                "normalizedname": "smw-pendingtasks-setup-tasks",
                "*": "Tasks"
            },
            {
                "name": "smw-pendingtasks-tab-setup",
                "normalizedname": "smw-pendingtasks-tab-setup",
                "*": "Setup"
            },
            {
                "name": "smw-personal-jobqueue-watchlist",
                "normalizedname": "smw-personal-jobqueue-watchlist",
                "*": "Job queue watchlist"
            },
            {
                "name": "smw-personal-jobqueue-watchlist-explain",
                "normalizedname": "smw-personal-jobqueue-watchlist-explain",
                "*": "The numbers indicate an estimation of job queue entries awaiting execution."
            },
            {
                "name": "smw-populatehashfield-incomplete",
                "normalizedname": "smw-populatehashfield-incomplete",
                "*": "The <code>smw_hash</code> field population was skipped during the setup. The <code>[https://www.semantic-mediawiki.org/wiki/Help:populateHashField.php populateHashField.php]</code> script must be executed."
            },
            {
                "name": "smw-postproc-queryref",
                "normalizedname": "smw-postproc-queryref",
                "*": "Semantic MediaWiki is refreshing the current page on the condition of some required query post processing."
            },
            {
                "name": "smw-prefs-ask-options-compact-view-basic",
                "normalizedname": "smw-prefs-ask-options-compact-view-basic",
                "*": "Enable basic compact view"
            },
            {
                "name": "smw-prefs-ask-options-tooltip-display",
                "normalizedname": "smw-prefs-ask-options-tooltip-display",
                "*": "Display parameter text as an info tooltip on the #ask [[Special:Ask|query builder]] special page."
            },
            {
                "name": "smw-prefs-factedsearch-profile",
                "normalizedname": "smw-prefs-factedsearch-profile",
                "*": "Select a [[Special:FacetedSearch|faceted search]] default profile:"
            },
            {
                "name": "smw-prefs-general-options-disable-editpage-info",
                "normalizedname": "smw-prefs-general-options-disable-editpage-info",
                "*": "Disable the introductory text on the edit page"
            },
            {
                "name": "smw-prefs-general-options-disable-search-info",
                "normalizedname": "smw-prefs-general-options-disable-search-info",
                "*": "Disable the syntax support information on the standard search page"
            },
            {
                "name": "smw-prefs-general-options-jobqueue-watchlist",
                "normalizedname": "smw-prefs-general-options-jobqueue-watchlist",
                "*": "Show the job queue watchlist in my personal bar"
            },
            {
                "name": "smw-prefs-general-options-show-entity-issue-panel",
                "normalizedname": "smw-prefs-general-options-show-entity-issue-panel",
                "*": "Show the entity issue panel"
            },
            {
                "name": "smw-prefs-general-options-suggester-textinput",
                "normalizedname": "smw-prefs-general-options-suggester-textinput",
                "*": "Enable input assistance for semantic entities"
            },
            {
                "name": "smw-prefs-general-options-time-correction",
                "normalizedname": "smw-prefs-general-options-time-correction",
                "*": "Enable time correction for special pages using the local [[Special:Preferences#mw-prefsection-rendering|time offset]] preference"
            },
            {
                "name": "smw-prefs-help-ask-options-compact-view-basic",
                "normalizedname": "smw-prefs-help-ask-options-compact-view-basic",
                "*": "If enabled, displays a reduced set of links on the Special:Ask compact view."
            },
            {
                "name": "smw-prefs-help-general-options-jobqueue-watchlist",
                "normalizedname": "smw-prefs-help-general-options-jobqueue-watchlist",
                "*": "If enabled, shows a [https://www.semantic-mediawiki.org/wiki/Help:Job_queue_watchlist list of] pending selected jobs together with their estimated queue sizes."
            },
            {
                "name": "smw-prefs-help-general-options-show-entity-issue-panel",
                "normalizedname": "smw-prefs-help-general-options-show-entity-issue-panel",
                "*": "If enabled, runs integrity checks on each page and shows the [https://www.semantic-mediawiki.org/wiki/Help:Entity_issue_panel Entity issue panel]."
            },
            {
                "name": "smw-prefs-help-general-options-suggester-textinput",
                "normalizedname": "smw-prefs-help-general-options-suggester-textinput",
                "*": "If enabled, allows to use an [https://www.semantic-mediawiki.org/wiki/Help:Input_assistance input assistance] to find properties, concepts, and categorties from an input context."
            },
            {
                "name": "smw-prefs-intro-text",
                "normalizedname": "smw-prefs-intro-text",
                "*": "[https://www.semantic-mediawiki.org/ Semantic MediaWiki] and associated extensions provide individual preferences for a group of selected features and functions. A list of individual settings with their description and characteristics is available on the following [https://www.semantic-mediawiki.org/wiki/Help:User_preferences help page]."
            },
            {
                "name": "smw-preparing",
                "normalizedname": "smw-preparing",
                "*": "Preparing..."
            },
            {
                "name": "smw-prev",
                "normalizedname": "smw-prev",
                "*": "previous {{PLURAL:$1|$1}}"
            },
            {
                "name": "smw-printername-feed",
                "normalizedname": "smw-printername-feed",
                "*": "RSS and Atom feed"
            },
            {
                "name": "smw-processing",
                "normalizedname": "smw-processing",
                "*": "Processing..."
            },
            {
                "name": "smw-processingerrorlist-helplink",
                "normalizedname": "smw-processingerrorlist-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Processing_errors"
            },
            {
                "name": "smw-processingerrorlist-intro",
                "normalizedname": "smw-processingerrorlist-intro",
                "*": "The following list provides an overview about [https://www.semantic-mediawiki.org/wiki/Processing_errors processing errors] that appeared in connection with [https://www.semantic-mediawiki.org/ Semantic MediaWiki]. It is recommended to monitor this list on a regular basis and correct invalid value annotations."
            },
            {
                "name": "smw-property-indicator-last-count-update",
                "normalizedname": "smw-property-indicator-last-count-update",
                "*": "Estimated usage count\nLast updated: $1"
            },
            {
                "name": "smw-property-indicator-type-info",
                "normalizedname": "smw-property-indicator-type-info",
                "*": "{{PLURAL:$1|User|System}} defined property"
            },
            {
                "name": "smw-property-label-similarity-docu",
                "normalizedname": "smw-property-label-similarity-docu",
                "*": "This pages compares the [https://www.semantic-mediawiki.org/wiki/Property_similarity similarity distance] (not to be confused with a semantic or lexical similarity) between property labels and reports them if they exceed the threshold. The report may help filter misspelled or equivalent properties that represent the same concept (see the [[Special:Properties|properties]] special page to help clarify concept and usage of reported properties). The threshold can be adjusted to widen or narrow the distance used for the approximate matching. <code>[[Property:$1|$1]]</code> is used to exempt properties from the analysis."
            },
            {
                "name": "smw-property-label-similarity-intro",
                "normalizedname": "smw-property-label-similarity-intro",
                "*": "<u>$1</u> calculates similarities for existing property labels"
            },
            {
                "name": "smw-property-label-similarity-noresult",
                "normalizedname": "smw-property-label-similarity-noresult",
                "*": "No results were found for the selected options."
            },
            {
                "name": "smw-property-label-similarity-threshold",
                "normalizedname": "smw-property-label-similarity-threshold",
                "*": "Threshold:"
            },
            {
                "name": "smw-property-label-similarity-title",
                "normalizedname": "smw-property-label-similarity-title",
                "*": "Property label similarity report"
            },
            {
                "name": "smw-property-label-similarity-type",
                "normalizedname": "smw-property-label-similarity-type",
                "*": "Display Type ID"
            },
            {
                "name": "smw-property-label-uniqueness",
                "normalizedname": "smw-property-label-uniqueness",
                "*": "The \"$1\" label was matched to at least one other property representation. Please consult the [https://www.semantic-mediawiki.org/wiki/Help:Property_uniqueness help page] on how to resolve this issue."
            },
            {
                "name": "smw-property-name-invalid",
                "normalizedname": "smw-property-name-invalid",
                "*": "Property $1 can not be used (invalid property name)."
            },
            {
                "name": "smw-property-name-reserved",
                "normalizedname": "smw-property-name-reserved",
                "*": "\"$1\" was listed as reserved name and should not be used as a property. The following [https://www.semantic-mediawiki.org/wiki/Help:Property_naming help page] may contain information as to why this name was reserved."
            },
            {
                "name": "smw-property-namespace-disabled",
                "normalizedname": "smw-property-namespace-disabled",
                "*": "The property [https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespacesWithSemanticLinks namespace] is disabled, attempting to declare a type or other property specific characteristics for this property is not possible."
            },
            {
                "name": "smw-property-page-filter-note",
                "normalizedname": "smw-property-page-filter-note",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Help:Property_page/Filter search filter] allows the inclusion of [https://www.semantic-mediawiki.org/wiki/Help:Query_expressions query expressions] such as <code>~</code> or <code>!</code>. The selected [https://www.semantic-mediawiki.org/wiki/Query_engine query engine] might also support case insensitive matching or other short expressions like:\n\n* <code>in:</code> result should include the term, e.g. '<code>in:Foo</code>'\n\n* <code>not:</code> result should to not include the term, e.g. '<code>not:Bar</code>'"
            },
            {
                "name": "smw-property-page-list-count",
                "normalizedname": "smw-property-page-list-count",
                "*": "Showing $1 {{PLURAL:$1|page|pages}} using this property."
            },
            {
                "name": "smw-property-page-list-search-count",
                "normalizedname": "smw-property-page-list-search-count",
                "*": "Showing $1 {{PLURAL:$1|page|pages}} using this property with a \"$2\" value match."
            },
            {
                "name": "smw-property-predefined-ask",
                "normalizedname": "smw-property-predefined-ask",
                "*": "\"$1\" is a predefined property that represents meta information (in form of a [https://www.semantic-mediawiki.org/wiki/Subobject subobject]) about individual queries and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-askco",
                "normalizedname": "smw-property-predefined-askco",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to describe the state of a query or its components."
            },
            {
                "name": "smw-property-predefined-askde",
                "normalizedname": "smw-property-predefined-askde",
                "*": "\"$1\" is a predefined property that informs about the depth of a query and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-askdu",
                "normalizedname": "smw-property-predefined-askdu",
                "*": "\"$1\" is a predefined property containing a time value (in seconds) that was required to complete the query execution and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-askfo",
                "normalizedname": "smw-property-predefined-askfo",
                "*": "\"$1\" is a predefined property that holds the name of the result format used in a query and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-askpa",
                "normalizedname": "smw-property-predefined-askpa",
                "*": "\"$1\" is a predefined property describing parameters that influence a query result and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-asksc",
                "normalizedname": "smw-property-predefined-asksc",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] that identifies alternative (e.g. remote, federated) query sources."
            },
            {
                "name": "smw-property-predefined-asksi",
                "normalizedname": "smw-property-predefined-asksi",
                "*": "\"$1\" is a predefined property that collects the number of conditions used in a query and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-askst",
                "normalizedname": "smw-property-predefined-askst",
                "*": "\"$1\" is a predefined property that describes the conditions of the query as a string and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-attch-link",
                "normalizedname": "smw-property-predefined-attch-link",
                "*": "\"$1\" is a predefined property that collects embedded file and image links found in a page and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-boo",
                "normalizedname": "smw-property-predefined-boo",
                "*": "\"$1\" is a [[Special:Types/Boolean|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent boolean values."
            },
            {
                "name": "smw-property-predefined-cdat",
                "normalizedname": "smw-property-predefined-cdat",
                "*": "\"$1\" is a predefined property that corresponds to the date of the first revision of a subject and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-chgpro",
                "normalizedname": "smw-property-predefined-chgpro",
                "*": "\"$1\" is a predefined property to hold [https://www.semantic-mediawiki.org/wiki/Help:Change_propagation change propagation] information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-common",
                "normalizedname": "smw-property-predefined-common",
                "*": "This property is pre-deployed (also known as [https://www.semantic-mediawiki.org/wiki/Help:Special_properties special property]) and comes with additional administrative privileges but can be used just like any other [https://www.semantic-mediawiki.org/wiki/Property user-defined property]."
            },
            {
                "name": "smw-property-predefined-conc",
                "normalizedname": "smw-property-predefined-conc",
                "*": "\"$1\" is an internal predefined property to define an associated concept and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-constraint-schema",
                "normalizedname": "smw-property-predefined-constraint-schema",
                "*": "\"$1\" is a predefined property that defines a constraint schema and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-author",
                "normalizedname": "smw-property-predefined-cont-author",
                "*": "\"$1\" is a predefined property to store author information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-date",
                "normalizedname": "smw-property-predefined-cont-date",
                "*": "\"$1\" is a predefined property to store date information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-keyw",
                "normalizedname": "smw-property-predefined-cont-keyw",
                "*": "\"$1\" is a predefined property to represent keywords and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-lang",
                "normalizedname": "smw-property-predefined-cont-lang",
                "*": "\"$1\" is a predefined property to store language information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-len",
                "normalizedname": "smw-property-predefined-cont-len",
                "*": "\"$1\" is a predefined property to store length information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-title",
                "normalizedname": "smw-property-predefined-cont-title",
                "*": "\"$1\" is a predefined property to store title information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-cont-type",
                "normalizedname": "smw-property-predefined-cont-type",
                "*": "\"$1\" is a predefined property to store file type information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-conv",
                "normalizedname": "smw-property-predefined-conv",
                "*": "\"$1\" is a declarative predefined property to define conversion factor for some unit of a physical quantity and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-dat",
                "normalizedname": "smw-property-predefined-dat",
                "*": "\"$1\" is a [[Special:Types/Date|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent date values."
            },
            {
                "name": "smw-property-predefined-default",
                "normalizedname": "smw-property-predefined-default",
                "*": "\"$1\" is a predefined property of type $2."
            },
            {
                "name": "smw-property-predefined-dtitle",
                "normalizedname": "smw-property-predefined-dtitle",
                "*": "\"$1\" is a predefined property that can assign a distinct display title to an entity and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-edip",
                "normalizedname": "smw-property-predefined-edip",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to indicate whether editing is protected or not."
            },
            {
                "name": "smw-property-predefined-eid",
                "normalizedname": "smw-property-predefined-eid",
                "*": "\"$1\" is a [[Special:Types/External identifier|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent external identifiers."
            },
            {
                "name": "smw-property-predefined-err-type",
                "normalizedname": "smw-property-predefined-err-type",
                "*": "\"$1\" is a predefined property to indentify a group or class of [https://www.semantic-mediawiki.org/wiki/Help:Processing_errors processing errors] and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-errc",
                "normalizedname": "smw-property-predefined-errc",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] and represents errors that appeared in connection with improper value annotations or input processing."
            },
            {
                "name": "smw-property-predefined-errp",
                "normalizedname": "smw-property-predefined-errp",
                "*": "\"$1\" is a predefined property that tracks input errors for irregular value annotations and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-errt",
                "normalizedname": "smw-property-predefined-errt",
                "*": "\"$1\" is a predefined property containing a textual description of an error and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-file-attch",
                "normalizedname": "smw-property-predefined-file-attch",
                "*": "\"$1\" is a predefined property to represent a container that stores attachment information and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-format-schema",
                "normalizedname": "smw-property-predefined-format-schema",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-impo",
                "normalizedname": "smw-property-predefined-impo",
                "*": "\"$1\" is a predefined property that describes a relation to an [https://www.semantic-mediawiki.org/wiki/Help:Import_vocabulary imported vocabulary] and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-inst",
                "normalizedname": "smw-property-predefined-inst",
                "*": "\"$1\" is an internal predefined property that stores category information independent of MediaWiki and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-keyw",
                "normalizedname": "smw-property-predefined-keyw",
                "*": "\"$1\" is a predefined property and [[Special:Types/Keyword|type]] provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] that normalizes a text and has a restricted character length."
            },
            {
                "name": "smw-property-predefined-label-skey",
                "normalizedname": "smw-property-predefined-label-skey",
                "*": "Sortkey"
            },
            {
                "name": "smw-property-predefined-lcode",
                "normalizedname": "smw-property-predefined-lcode",
                "*": "\"$1\" is a predefined property that represents a BCP47 formatted language code and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-ledt",
                "normalizedname": "smw-property-predefined-ledt",
                "*": "\"$1\" is a predefined property that contains the page name of the user who created the last revision and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-list",
                "normalizedname": "smw-property-predefined-list",
                "*": "\"$1\" is a predefined property to define a list of properties used with a [[Special:Types/Record|record]] typed property and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-long-askco",
                "normalizedname": "smw-property-predefined-long-askco",
                "*": "The number or numbers assigned represent an internal codified state that is explained on the [https://www.semantic-mediawiki.org/wiki/Help:Query_profiler help page]."
            },
            {
                "name": "smw-property-predefined-long-askde",
                "normalizedname": "smw-property-predefined-long-askde",
                "*": "It is a numerical value computed on the basis of subquery nesting, property chains, and available description elements with the execution of a query being restricted by the <code>[https://www.semantic-mediawiki.org/wiki/Help:$smwgQMaxDepth $smwgQMaxDepth]</code> configuration parameter."
            },
            {
                "name": "smw-property-predefined-long-askpa",
                "normalizedname": "smw-property-predefined-long-askpa",
                "*": "It is part of a collection of properties that specify a [https://www.semantic-mediawiki.org/wiki/Help:Query_profiler query profile]."
            },
            {
                "name": "smw-property-predefined-long-cont-author",
                "normalizedname": "smw-property-predefined-long-cont-author",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store author information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-date",
                "normalizedname": "smw-property-predefined-long-cont-date",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store date information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-keyw",
                "normalizedname": "smw-property-predefined-long-cont-keyw",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store keywords retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-lang",
                "normalizedname": "smw-property-predefined-long-cont-lang",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store language information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-len",
                "normalizedname": "smw-property-predefined-long-cont-len",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store length information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-title",
                "normalizedname": "smw-property-predefined-long-cont-title",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store title information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-cont-type",
                "normalizedname": "smw-property-predefined-long-cont-type",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect and store type information retrieved from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-edip",
                "normalizedname": "smw-property-predefined-long-edip",
                "*": "While any user is qualified to add this property to a subject, only a user with a dedicated permission can edit or revoke the protection to an entity after it has been added."
            },
            {
                "name": "smw-property-predefined-long-errc",
                "normalizedname": "smw-property-predefined-long-errc",
                "*": "Errors are collected in a [https://www.semantic-mediawiki.org/wiki/Help:Container container] that may include a reference to the property that caused the discrepancy."
            },
            {
                "name": "smw-property-predefined-long-errp",
                "normalizedname": "smw-property-predefined-long-errp",
                "*": "In most cases it is caused by a type mismatch or a [[Property:Allows value|value]] restriction."
            },
            {
                "name": "smw-property-predefined-long-file-attch",
                "normalizedname": "smw-property-predefined-long-file-attch",
                "*": "It is used in connection with the [https://www.semantic-mediawiki.org/ElasticStore ElasticStore] (and the [https://www.semantic-mediawiki.org/Attachment_processor attachment processor]) to collect all content specific information retrievable from an ingested file (if provided)."
            },
            {
                "name": "smw-property-predefined-long-pefu",
                "normalizedname": "smw-property-predefined-long-pefu",
                "*": "The URI is expected to contain a placeholder that will be adjusted with an [[Special:Types/External identifier|external identifier]] value to form a valid resource reference."
            },
            {
                "name": "smw-property-predefined-long-pvuc",
                "normalizedname": "smw-property-predefined-long-pvuc",
                "*": "Uniqueness is established when two values are not equal in their literal representation and any violation of that constraint will be categorized as error."
            },
            {
                "name": "smw-property-predefined-long-schema-tag",
                "normalizedname": "smw-property-predefined-long-schema-tag",
                "*": "A label that identifies schemata of similar content or characteristics."
            },
            {
                "name": "smw-property-predefined-long-schema-type",
                "normalizedname": "smw-property-predefined-long-schema-type",
                "*": "Each [https://www.semantic-mediawiki.org/wiki/Help:Schema/Type type] provides its own interpretation of syntax elements and application rules and can be expressed with the help of a [https://www.semantic-mediawiki.org/wiki/Help:Schema#validation validation schema]."
            },
            {
                "name": "smw-property-predefined-long-sobj",
                "normalizedname": "smw-property-predefined-long-sobj",
                "*": "The container allows to accumulate property-value assignments similar to that of a normal wiki page but within a different entity space while being linked to the embedding subject."
            },
            {
                "name": "smw-property-predefined-long-unit",
                "normalizedname": "smw-property-predefined-long-unit",
                "*": "A comma-separated list allows to describe units or formats to be used for the display."
            },
            {
                "name": "smw-property-predefined-mdat",
                "normalizedname": "smw-property-predefined-mdat",
                "*": "\"$1\" is a predefined property that corresponds to the date of the last modification of a subject and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-media",
                "normalizedname": "smw-property-predefined-media",
                "*": "\"$1\" is a predefined property that describes the media type of an uploaded file and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-mime",
                "normalizedname": "smw-property-predefined-mime",
                "*": "\"$1\" is a predefined property that describes the MIME type of an uploaded file and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-newp",
                "normalizedname": "smw-property-predefined-newp",
                "*": "\"$1\" is a predefined property that indicates whether a subject is new or not and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-num",
                "normalizedname": "smw-property-predefined-num",
                "*": "\"$1\" is a [[Special:Types/Number|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent numeric values."
            },
            {
                "name": "smw-property-predefined-pdesc",
                "normalizedname": "smw-property-predefined-pdesc",
                "*": "\"$1\" is a predefined property that allows to describe a property in context of a language and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pefu",
                "normalizedname": "smw-property-predefined-pefu",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to specify an external resource with a placeholder."
            },
            {
                "name": "smw-property-predefined-peid",
                "normalizedname": "smw-property-predefined-peid",
                "*": "\"$1\" is a predefined property that specifies an external identifier and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-ppgr",
                "normalizedname": "smw-property-predefined-ppgr",
                "*": "\"$1\" is a predefined property that identifies entities (mainly categories) that are used as grouping instance for properties and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pplb",
                "normalizedname": "smw-property-predefined-pplb",
                "*": "\"$1\" is a declarative predefined property to specify a [https://www.semantic-mediawiki.org/wiki/Help:Preferred_property_label preferred property label] and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-prec",
                "normalizedname": "smw-property-predefined-prec",
                "*": "\"$1\" is a predefined property that describes a [https://www.semantic-mediawiki.org/wiki/Help:Display_precision display precision] (in decimal digits) for numeric datatypes."
            },
            {
                "name": "smw-property-predefined-profile-schema",
                "normalizedname": "smw-property-predefined-profile-schema",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pval",
                "normalizedname": "smw-property-predefined-pval",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:Special_property_Allows_value \"$1\"] is a predefined property that can define a list of permissible values to restrict value assignments for a property and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pvali",
                "normalizedname": "smw-property-predefined-pvali",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:Special_property_Allows_value_list \"$1\"] is a predefined property that can specify a reference to a list that holds permissible values to restrict value assignments for a property and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pvap",
                "normalizedname": "smw-property-predefined-pvap",
                "*": "\"$1\" is a predefined property that can specify a [[MediaWiki:Smw allows pattern|pattern reference]] to apply [https://en.wikipedia.org/wiki/Regular_expression regular expression] matching and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-pvuc",
                "normalizedname": "smw-property-predefined-pvuc",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to restrict value assignments for each instance to be unique (or one at most)."
            },
            {
                "name": "smw-property-predefined-qty",
                "normalizedname": "smw-property-predefined-qty",
                "*": "\"$1\" is a [[Special:Types/Quantity|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent quantity values."
            },
            {
                "name": "smw-property-predefined-redi",
                "normalizedname": "smw-property-predefined-redi",
                "*": "\"$1\" is an internal predefined property to record redirects and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-schema-def",
                "normalizedname": "smw-property-predefined-schema-def",
                "*": "\"$1\" is a predefined property that stores the schema content and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-schema-desc",
                "normalizedname": "smw-property-predefined-schema-desc",
                "*": "\"$1\" is a predefined property that stores a schema description and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-schema-link",
                "normalizedname": "smw-property-predefined-schema-link",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-schema-tag",
                "normalizedname": "smw-property-predefined-schema-tag",
                "*": "\"$1\" is a predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to identify a collection of schemata."
            },
            {
                "name": "smw-property-predefined-schema-type",
                "normalizedname": "smw-property-predefined-schema-type",
                "*": "\"$1\" is a predefined property that describes a type to distinguish a group of schemata and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-serv",
                "normalizedname": "smw-property-predefined-serv",
                "*": "\"$1\" is a declarative predefined property to add service links to a property and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-skey",
                "normalizedname": "smw-property-predefined-skey",
                "*": "\"$1\" is an internal predefined property to hold a sort reference and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-sobj",
                "normalizedname": "smw-property-predefined-sobj",
                "*": "\"$1\" is a predefined property representing a [https://www.semantic-mediawiki.org/wiki/Help:Container container] construct and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-subc",
                "normalizedname": "smw-property-predefined-subc",
                "*": "\"$1\" is a predefined property to define that a category is a [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Subcategory_of subcategory of] another and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-subp",
                "normalizedname": "smw-property-predefined-subp",
                "*": "\"$1\" is a declarative predefined property to define that a property is a [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Subproperty_of subproperty of] another and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-text",
                "normalizedname": "smw-property-predefined-text",
                "*": "\"$1\" is a predefined property that represents text of arbitrary length and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-trans",
                "normalizedname": "smw-property-predefined-trans",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-trans-group",
                "normalizedname": "smw-property-predefined-trans-group",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-trans-source",
                "normalizedname": "smw-property-predefined-trans-source",
                "*": " and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-type",
                "normalizedname": "smw-property-predefined-type",
                "*": "\"$1\" is a predefined property that describes the [[Special:Types|datatype]] of a property and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-unit",
                "normalizedname": "smw-property-predefined-unit",
                "*": "\"$1\" is a declarative predefined property to define units of display for numeric typed properties and is provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki]."
            },
            {
                "name": "smw-property-predefined-uri",
                "normalizedname": "smw-property-predefined-uri",
                "*": "\"$1\" is a [[Special:Types/URL|type]] and predefined property provided by [https://www.semantic-mediawiki.org/wiki/Help:Special_properties Semantic MediaWiki] to represent URI/URL values."
            },
            {
                "name": "smw-property-preferred-label-language-combination-exists",
                "normalizedname": "smw-property-preferred-label-language-combination-exists",
                "*": "\"$1\" cannot be used as preferred label because the language \"$2\" is already assigned to the \"$3\" label."
            },
            {
                "name": "smw-property-preferred-title-format",
                "normalizedname": "smw-property-preferred-title-format",
                "*": "$1 ($2)"
            },
            {
                "name": "smw-property-req-error-list",
                "normalizedname": "smw-property-req-error-list",
                "*": "The property contains the following errors or warnings:"
            },
            {
                "name": "smw-property-req-violation-change-propagation-locked-error",
                "normalizedname": "smw-property-req-violation-change-propagation-locked-error",
                "*": "Property \"$1\" was altered and requires assigned entities to be reevaluated using a [https://www.semantic-mediawiki.org/wiki/Change_propagation change propagation] process. The property page has been locked until the primary specification update is completed to prevent intermediary interruptions or contradictory specifications. The process may take a moment before the page can be unlocked as it depends on the size and frequency of the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] scheduler."
            },
            {
                "name": "smw-property-req-violation-change-propagation-locked-warning",
                "normalizedname": "smw-property-req-violation-change-propagation-locked-warning",
                "*": "Property \"$1\" was altered and requires assigned entities to be reevaluated using a [https://www.semantic-mediawiki.org/wiki/Change_propagation change propagation] process. The update may take a moment as it depends on the size and frequency of the [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue job queue] scheduler and it is suggested to postpone changes to the property to prevent intermediary interruptions or contradictory specifications."
            },
            {
                "name": "smw-property-req-violation-change-propagation-pending",
                "normalizedname": "smw-property-req-violation-change-propagation-pending",
                "*": "[https://www.semantic-mediawiki.org/wiki/Change_propagation Change propagation] updates are pending ($1 [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Job_queue {{PLURAL:$1|job|jobs}}] estimated) and it is recommended to wait with modifications to a property until the process has been finalized to prevent intermediary interruptions or contradictory specifications."
            },
            {
                "name": "smw-property-req-violation-forced-removal-annotated-type",
                "normalizedname": "smw-property-req-violation-forced-removal-annotated-type",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Help:Mandatory_parent_type_inheritance mandatory parent type inheritance] enforcement has been enabled, the annotate type for the \"$1\" property doesn't match its parent property \"$2\" type and has been altered to reflect that requirement. It is recommended to adjust the in-page type definition so that the error message and mandatory enforcement is removed for this property."
            },
            {
                "name": "smw-property-req-violation-import-type",
                "normalizedname": "smw-property-req-violation-import-type",
                "*": "A type declaration was detected that is incompatible with the predefined type of the imported \"$1\" vocabulary. In general, it is not necessary to declare a type because information are retrieved from the import definition."
            },
            {
                "name": "smw-property-req-violation-missing-fields",
                "normalizedname": "smw-property-req-violation-missing-fields",
                "*": "Property \"$1\" is missing a required [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Has_fields <code>Has fields</code>] declaration for this \"$2\" type."
            },
            {
                "name": "smw-property-req-violation-missing-formatter-uri",
                "normalizedname": "smw-property-req-violation-missing-formatter-uri",
                "*": "Property \"$1\" is missing declaration details for the annotated type by failing to define the <code>External formatter URI</code> property."
            },
            {
                "name": "smw-property-req-violation-missing-maps-extension",
                "normalizedname": "smw-property-req-violation-missing-maps-extension",
                "*": "Semantic MediaWiki was unable to detect the [https://www.semantic-mediawiki.org/wiki/Extension:Maps \"Maps\"] extension which is a prerequisite and as a consequence limits the functionality (i.e. unable to store or process geographic data) of this property."
            },
            {
                "name": "smw-property-req-violation-multiple-fields",
                "normalizedname": "smw-property-req-violation-multiple-fields",
                "*": "Property \"$1\" contains multiple (therefore competing) [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Has_fields <code>Has fields</code>] declarations, only one is expected for this \"$2\" type."
            },
            {
                "name": "smw-property-req-violation-parent-type",
                "normalizedname": "smw-property-req-violation-parent-type",
                "*": "Property \"$1\" and the assigned parent property \"$2\" have different type annotations."
            },
            {
                "name": "smw-property-req-violation-predefined-type",
                "normalizedname": "smw-property-req-violation-predefined-type",
                "*": "Property \"$1\" as predefined property contains a \"$2\" type declaration that is incompatible with the default type of this property."
            },
            {
                "name": "smw-property-req-violation-type",
                "normalizedname": "smw-property-req-violation-type",
                "*": "The property contains competing type specifications which may result in invalid value annotations therefore it is expected that a user assigns one appropriate type."
            },
            {
                "name": "smw-property-reserved-category",
                "normalizedname": "smw-property-reserved-category",
                "*": "Category"
            },
            {
                "name": "smw-property-tab-constraint-schema",
                "normalizedname": "smw-property-tab-constraint-schema",
                "*": "Constraint schema"
            },
            {
                "name": "smw-property-tab-constraint-schema-title",
                "normalizedname": "smw-property-tab-constraint-schema-title",
                "*": "Compiled constraint schema"
            },
            {
                "name": "smw-property-tab-errors",
                "normalizedname": "smw-property-tab-errors",
                "*": "Improper assignments"
            },
            {
                "name": "smw-property-tab-profile-schema",
                "normalizedname": "smw-property-tab-profile-schema",
                "*": "Profile schema"
            },
            {
                "name": "smw-property-tab-redirects",
                "normalizedname": "smw-property-tab-redirects",
                "*": "Synonyms"
            },
            {
                "name": "smw-property-tab-specification",
                "normalizedname": "smw-property-tab-specification",
                "*": "... more"
            },
            {
                "name": "smw-property-tab-subproperties",
                "normalizedname": "smw-property-tab-subproperties",
                "*": "Subproperties"
            },
            {
                "name": "smw-property-tab-usage",
                "normalizedname": "smw-property-tab-usage",
                "*": "Usage"
            },
            {
                "name": "smw-property-userdefined-fixedtable",
                "normalizedname": "smw-property-userdefined-fixedtable",
                "*": "\"$1\" was configured as [https://www.semantic-mediawiki.org/wiki/Fixed_properties fixed property] and any modification to its [https://www.semantic-mediawiki.org/wiki/Type_declaration type declaration] requires to either run <code>setupStore.php</code> or to complete the special [[Special:SemanticMediaWiki|\"Database installation and upgrade\"]] task."
            },
            {
                "name": "smw-propertylist-count",
                "normalizedname": "smw-propertylist-count",
                "*": "Showing $1 related {{PLURAL:$1|entity|entities}}."
            },
            {
                "name": "smw-propertylist-count-more-available",
                "normalizedname": "smw-propertylist-count-more-available",
                "*": "Showing $1 related {{PLURAL:$1|entity|entities}} (more are available)."
            },
            {
                "name": "smw-propertylist-count-with-restricted-note",
                "normalizedname": "smw-propertylist-count-with-restricted-note",
                "*": "Showing $1 related {{PLURAL:$1|entity|entities }} (more are available but the display is restricted to \"$2\")."
            },
            {
                "name": "smw-propertylist-error-header",
                "normalizedname": "smw-propertylist-error-header",
                "*": "Pages with improper assignments"
            },
            {
                "name": "smw-propertylist-redirect-header",
                "normalizedname": "smw-propertylist-redirect-header",
                "*": "Synonyms"
            },
            {
                "name": "smw-propertylist-subproperty-header",
                "normalizedname": "smw-propertylist-subproperty-header",
                "*": "Subproperties"
            },
            {
                "name": "smw-purge-failed",
                "normalizedname": "smw-purge-failed",
                "*": "Semantic MediaWiki tried to purge the page but failed"
            },
            {
                "name": "smw-purge-update-dependencies",
                "normalizedname": "smw-purge-update-dependencies",
                "*": "Semantic MediaWiki is purging the current page due to some outdated dependencies it has detected which require an update."
            },
            {
                "name": "smw-qp-empty-data",
                "normalizedname": "smw-qp-empty-data",
                "*": "Requested data could not be displayed due to some insufficient selection criteria."
            },
            {
                "name": "smw-query-condition-circular",
                "normalizedname": "smw-query-condition-circular",
                "*": "A possible circular condition has been detected in \"$1\"."
            },
            {
                "name": "smw-query-condition-empty",
                "normalizedname": "smw-query-condition-empty",
                "*": "The query description has an empty condition."
            },
            {
                "name": "smw-query-reference-link-label",
                "normalizedname": "smw-query-reference-link-label",
                "*": "Query reference"
            },
            {
                "name": "smw-redirect-target-unresolvable",
                "normalizedname": "smw-redirect-target-unresolvable",
                "*": "The target is unresolvable on the reason of \"$1\""
            },
            {
                "name": "smw-remote-request-note",
                "normalizedname": "smw-remote-request-note",
                "*": "The result is fetched from the '''$1''' remote source and it is likely for generated content to contain information that is not available from within the current wiki."
            },
            {
                "name": "smw-remote-request-note-cached",
                "normalizedname": "smw-remote-request-note-cached",
                "*": "The result is '''cached''' from the '''$1''' remote source and it is likely for generated content to contain information that is not available from within the current wiki."
            },
            {
                "name": "smw-remote-source-disabled",
                "normalizedname": "smw-remote-source-disabled",
                "*": "The '''$1''' source has disabled the remote request support!"
            },
            {
                "name": "smw-remote-source-unavailable",
                "normalizedname": "smw-remote-source-unavailable",
                "*": "Unable to connect to the remote \"$1\" target."
            },
            {
                "name": "smw-remote-source-unmatched-id",
                "normalizedname": "smw-remote-source-unmatched-id",
                "*": "The '''$1''' source does not match a version of Semantic MediaWiki that can support a remote request."
            },
            {
                "name": "smw-report",
                "normalizedname": "smw-report",
                "*": "Report"
            },
            {
                "name": "smw-schema-description",
                "normalizedname": "smw-schema-description",
                "*": "Schema description"
            },
            {
                "name": "smw-schema-description-class-constraint-schema",
                "normalizedname": "smw-schema-description-class-constraint-schema",
                "*": "This schema type supports the definition of constraint rules for a class instance (a.k.a. category)."
            },
            {
                "name": "smw-schema-description-facetedsearch-profile-schema",
                "normalizedname": "smw-schema-description-facetedsearch-profile-schema",
                "*": "This schema type supports the definition of profiles used as part of the [[Special:FacetedSearch|Faceted search]] environment."
            },
            {
                "name": "smw-schema-description-link-format-schema",
                "normalizedname": "smw-schema-description-link-format-schema",
                "*": "This schema type supports the definition of characteristics for creating context sensitive links in connection with a [[Property:Formatter schema|formatter schema]] assigned property."
            },
            {
                "name": "smw-schema-description-property-constraint-schema",
                "normalizedname": "smw-schema-description-property-constraint-schema",
                "*": "This supports the definition of constraint rules for a property instance as well as those values assigned to it."
            },
            {
                "name": "smw-schema-description-property-group-schema",
                "normalizedname": "smw-schema-description-property-group-schema",
                "*": "This schema type supports the definition of [https://www.semantic-mediawiki.org/wiki/Help:Property_group property groups] to help structure the [https://www.semantic-mediawiki.org/wiki/Help:Special:Browse browsing] interface."
            },
            {
                "name": "smw-schema-description-property-profile-schema",
                "normalizedname": "smw-schema-description-property-profile-schema",
                "*": "This schema type supports the definition of a profile to declare characteristics to the assigned property and its annotation values."
            },
            {
                "name": "smw-schema-description-search-form-schema",
                "normalizedname": "smw-schema-description-search-form-schema",
                "*": "This schema type supports the definition of input forms and characteristics for the [https://www.semantic-mediawiki.org/wiki/Help:SMWSearch extended search] profile where it contains instructions on how to generate input fields, define default namespaces, or declare prefix expressions for a search request."
            },
            {
                "name": "smw-schema-error-input",
                "normalizedname": "smw-schema-error-input",
                "*": "The input validation has found the following issues, they need to be addressed before the content can be saved. The [https://www.semantic-mediawiki.org/wiki/Help:Schema/Error_handling schema help] page may provide some advice on how to remove inconsistencies or resolve issues with the schema input."
            },
            {
                "name": "smw-schema-error-input-schema",
                "normalizedname": "smw-schema-error-input-schema",
                "*": "The validation schema '''$1''' found the following inconsistencies and they need to be addressed before the content can be saved. The [https://www.semantic-mediawiki.org/wiki/Help:Schema/Error_handling schema help] page may provide some advice on how to resolve these issues."
            },
            {
                "name": "smw-schema-error-json",
                "normalizedname": "smw-schema-error-json",
                "*": "JSON error: \"$1\""
            },
            {
                "name": "smw-schema-error-miscellaneous",
                "normalizedname": "smw-schema-error-miscellaneous",
                "*": "Miscellaneous error ($1)"
            },
            {
                "name": "smw-schema-error-schema",
                "normalizedname": "smw-schema-error-schema",
                "*": "The validation schema '''$1''' found the following inconsistencies:"
            },
            {
                "name": "smw-schema-error-title",
                "normalizedname": "smw-schema-error-title",
                "*": "Validation {{PLURAL:$1|error|errors}}"
            },
            {
                "name": "smw-schema-error-title-prefix",
                "normalizedname": "smw-schema-error-title-prefix",
                "*": "This schema type requires that the title of the schema starts with a \"$1\" prefix."
            },
            {
                "name": "smw-schema-error-type-missing",
                "normalizedname": "smw-schema-error-type-missing",
                "*": "The content is missing a type in order for it to be recognized and usable in the [https://www.semantic-mediawiki.org/wiki/Help:Schema schema namespace]."
            },
            {
                "name": "smw-schema-error-type-unknown",
                "normalizedname": "smw-schema-error-type-unknown",
                "*": "The \"$1\" type is not registered and cannot be used for content in the [https://www.semantic-mediawiki.org/wiki/Help:Schema smw/schema] namespace."
            },
            {
                "name": "smw-schema-error-validation-file-inaccessible",
                "normalizedname": "smw-schema-error-validation-file-inaccessible",
                "*": "The validation file \"$1\" is inaccessible."
            },
            {
                "name": "smw-schema-error-validation-json-validator-inaccessible",
                "normalizedname": "smw-schema-error-validation-json-validator-inaccessible",
                "*": "The JSON validator \"<b>$1</b>\" is not accessible (or installed) and is the reason why the \"$2\" file cannot be examined which prevents the current page from being saved or altered."
            },
            {
                "name": "smw-schema-error-violation",
                "normalizedname": "smw-schema-error-violation",
                "*": "[\"$1\", \"$2\"]"
            },
            {
                "name": "smw-schema-namespace-edit-protection",
                "normalizedname": "smw-schema-namespace-edit-protection",
                "*": "This page is protected and can only be edited by users with the appropriate <code>smw-schemaedit</code> [https://www.semantic-mediawiki.org/wiki/Help:Permissions permission]."
            },
            {
                "name": "smw-schema-namespace-edit-protection-by-import-performer",
                "normalizedname": "smw-schema-namespace-edit-protection-by-import-performer",
                "*": "This page was imported by a listed [https://www.semantic-mediawiki.org/wiki/Import_performer import performer]. This means that changing the content of this page is restricted to only those listed users."
            },
            {
                "name": "smw-schema-namespace-editcontentmodel-disallowed",
                "normalizedname": "smw-schema-namespace-editcontentmodel-disallowed",
                "*": "Changing the content model of a [https://www.semantic-mediawiki.org/wiki/Help:Schema schema page] is not permitted."
            },
            {
                "name": "smw-schema-summary-title",
                "normalizedname": "smw-schema-summary-title",
                "*": "Summary"
            },
            {
                "name": "smw-schema-tag",
                "normalizedname": "smw-schema-tag",
                "*": "{{PLURAL:$1|Tag|Tags}}"
            },
            {
                "name": "smw-schema-title",
                "normalizedname": "smw-schema-title",
                "*": "Schema"
            },
            {
                "name": "smw-schema-type",
                "normalizedname": "smw-schema-type",
                "*": "Schema type"
            },
            {
                "name": "smw-schema-type-description",
                "normalizedname": "smw-schema-type-description",
                "*": "Type description"
            },
            {
                "name": "smw-schema-type-help-link",
                "normalizedname": "smw-schema-type-help-link",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Schema/Type/$1"
            },
            {
                "name": "smw-schema-usage",
                "normalizedname": "smw-schema-usage",
                "*": "Usage"
            },
            {
                "name": "smw-schema-validation-error",
                "normalizedname": "smw-schema-validation-error",
                "*": "The \"$1\" type is not registered and cannot be used for content in the [https://www.semantic-mediawiki.org/wiki/Help:Schema smw/schema] namespace."
            },
            {
                "name": "smw-schema-validation-schema-title",
                "normalizedname": "smw-schema-validation-schema-title",
                "*": "JSON schema"
            },
            {
                "name": "smw-search-help-ask",
                "normalizedname": "smw-search-help-ask",
                "*": "The following links will explain how to use the <code>#ask</code> syntax.\n\n* [https://www.semantic-mediawiki.org/wiki/Help:Selecting_pages Selecting pages] describes how to select pages and build conditions\n\n* [https://www.semantic-mediawiki.org/wiki/Help:Search_operators Search operators] lists available search operators including those for range and wildcard queries"
            },
            {
                "name": "smw-search-help-input-assistance",
                "normalizedname": "smw-search-help-input-assistance",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:Input_assistance Input assistance] is provided for the input field and requires to use one of following prefixes:\n\n* <code>p:</code> to enable property suggestions (e.g. <code><nowiki>[[p:Has ...</nowiki></code>)\n\n* <code>c:</code> to enable category suggestions\n\n* <code>con:</code> to enable concept suggestions"
            },
            {
                "name": "smw-search-help-intro",
                "normalizedname": "smw-search-help-intro",
                "*": "A <code><nowiki>[[ ... ]]</nowiki></code> input will signal to the input processor to use the Semantic MediaWiki search back-end. It should be noted that combining <code><nowiki>[[ ... ]]</nowiki></code> with an unstructured text search such as <code><nowiki>[[ ... ]] OR Lorem ipsum</nowiki></code> is not supported."
            },
            {
                "name": "smw-search-help-proximity",
                "normalizedname": "smw-search-help-proximity",
                "*": "Proximity searches (a property being unknown, '''only''' available for those back-ends that provide a full-text search integration):\n\n* <code><nowiki>[[in:lorem ipsum]]</nowiki></code> (search in all documents for \"lorem\" and \"ipsum\" that have been indexed)\n\n* <code><nowiki>[[phrase:lorem ipsum]]</nowiki></code> (match \"lorem ipsum\" as phrase)"
            },
            {
                "name": "smw-search-help-structured",
                "normalizedname": "smw-search-help-structured",
                "*": "Structured searches:\n\n* <code><nowiki>[[Category:Lorem ipsum]]</nowiki></code>, <code><nowiki>[[Has number::123]]</nowiki></code> (as [https://www.semantic-mediawiki.org/wiki/Help:Search#Filter_context filtered context])\n\n* <code><nowiki>[[Has text::~*lorem*]]</nowiki></code> (with a [https://www.semantic-mediawiki.org/wiki/Help:Search#Query_context query context])"
            },
            {
                "name": "smw-search-hide",
                "normalizedname": "smw-search-hide",
                "*": "Hide"
            },
            {
                "name": "smw-search-input",
                "normalizedname": "smw-search-input",
                "*": "Input and search"
            },
            {
                "name": "smw-search-input-assistance",
                "normalizedname": "smw-search-input-assistance",
                "*": "The [https://www.semantic-mediawiki.org/wiki/Help:Input_assistance input assistant] is also enabled to ease the pre-selection of available properties and categories."
            },
            {
                "name": "smw-search-placeholder",
                "normalizedname": "smw-search-placeholder",
                "*": "Search..."
            },
            {
                "name": "smw-search-profile",
                "normalizedname": "smw-search-profile",
                "*": "Extended"
            },
            {
                "name": "smw-search-profile-extended-help-find-forms",
                "normalizedname": "smw-search-profile-extended-help-find-forms",
                "*": "available forms"
            },
            {
                "name": "smw-search-profile-extended-help-form",
                "normalizedname": "smw-search-profile-extended-help-form",
                "*": "Forms are provided (if maintained) to match specific use cases by exposing different property and value fields to narrow down the input process and make it easy for users to proceed with a search request. (see $1)"
            },
            {
                "name": "smw-search-profile-extended-help-intro",
                "normalizedname": "smw-search-profile-extended-help-intro",
                "*": "The Special:Search [https://www.semantic-mediawiki.org/wiki/Help:SMWSearch/Extended_profile extended profile] provides access to search functions specific to Semantic MediaWiki and its supported query backend."
            },
            {
                "name": "smw-search-profile-extended-help-namespace",
                "normalizedname": "smw-search-profile-extended-help-namespace",
                "*": "The namespace selection box will be hidden as soon as a form is selected but can be made visible with the help of the \"show/hide\" button."
            },
            {
                "name": "smw-search-profile-extended-help-query",
                "normalizedname": "smw-search-profile-extended-help-query",
                "*": "Used <code><nowiki>$1</nowiki></code> as query."
            },
            {
                "name": "smw-search-profile-extended-help-query-link",
                "normalizedname": "smw-search-profile-extended-help-query-link",
                "*": "For more details, please use the $1."
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax",
                "normalizedname": "smw-search-profile-extended-help-search-syntax",
                "*": "The search input field supports the use of the <code>#ask</code> syntax to define a Semantic MediaWiki specific search context. Useful expressions include:"
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-note",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-note",
                "*": "''Some of the listed operations are only useful in connection with an enabled full-text index or the ElasticStore.''"
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-prefix",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-prefix",
                "*": "* Additional custom prefixes are available and defined such as: $1"
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-reserved",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-reserved",
                "*": "* Some expressions are reserved such as: <nowiki>$1</nowiki>"
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-simplified-has",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-simplified-has",
                "*": "* <code>has:</code> to match any entity with a property \"...\" (e.g. <code>has:(Foo && Bar)</code> is equivalent to <code><nowiki>[[Foo::+]] && [[Bar::+]]</nowiki></code>)"
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-simplified-in",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-simplified-in",
                "*": "* <code>in:</code> to find anything that contains \"...\" and is especially useful when the search context or properties involved are unknown (e.g. <code>in:(lorem && ipsum)</code> is equivalent to <code><nowiki>[[~~*lorem*]] && [[~~*ipsum*]]</nowiki></code>)."
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-simplified-not",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-simplified-not",
                "*": "* <code>not:</code> to not match any entity that includes \"...\""
            },
            {
                "name": "smw-search-profile-extended-help-search-syntax-simplified-phrase",
                "normalizedname": "smw-search-profile-extended-help-search-syntax-simplified-phrase",
                "*": "* <code>phrase:</code> to find anything that contains \"...\" in the exact same order"
            },
            {
                "name": "smw-search-profile-extended-help-sort",
                "normalizedname": "smw-search-profile-extended-help-sort",
                "*": "Specifies a sorting preference for the result display with:"
            },
            {
                "name": "smw-search-profile-extended-help-sort-best",
                "normalizedname": "smw-search-profile-extended-help-sort-best",
                "*": "* \"Best match\" will sort entities by [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore/Relevancy relevancy] based on scores provided by the backend"
            },
            {
                "name": "smw-search-profile-extended-help-sort-recent",
                "normalizedname": "smw-search-profile-extended-help-sort-recent",
                "*": "* \"Most recent\" will show the most recent modified entities first (subobject entities will be suppressed as those entities are not annotated with a [[Property:Modification date|Modification date]])"
            },
            {
                "name": "smw-search-profile-extended-help-sort-title",
                "normalizedname": "smw-search-profile-extended-help-sort-title",
                "*": "* \"Title\" using the page title (or display title) as sort criteria"
            },
            {
                "name": "smw-search-profile-extended-section-form",
                "normalizedname": "smw-search-profile-extended-section-form",
                "*": "Forms"
            },
            {
                "name": "smw-search-profile-extended-section-namespace",
                "normalizedname": "smw-search-profile-extended-section-namespace",
                "*": "Namespace"
            },
            {
                "name": "smw-search-profile-extended-section-query",
                "normalizedname": "smw-search-profile-extended-section-query",
                "*": "Query"
            },
            {
                "name": "smw-search-profile-extended-section-search-syntax",
                "normalizedname": "smw-search-profile-extended-section-search-syntax",
                "*": "Search input"
            },
            {
                "name": "smw-search-profile-extended-section-sort",
                "normalizedname": "smw-search-profile-extended-section-sort",
                "*": "Sort by"
            },
            {
                "name": "smw-search-profile-link-caption-query",
                "normalizedname": "smw-search-profile-link-caption-query",
                "*": "query builder"
            },
            {
                "name": "smw-search-profile-sort-best",
                "normalizedname": "smw-search-profile-sort-best",
                "*": "Best match"
            },
            {
                "name": "smw-search-profile-sort-recent",
                "normalizedname": "smw-search-profile-sort-recent",
                "*": "Most recent"
            },
            {
                "name": "smw-search-profile-sort-title",
                "normalizedname": "smw-search-profile-sort-title",
                "*": "Title"
            },
            {
                "name": "smw-search-profile-tooltip",
                "normalizedname": "smw-search-profile-tooltip",
                "*": "Search functions in connection with Semantic MediaWiki"
            },
            {
                "name": "smw-search-show",
                "normalizedname": "smw-search-show",
                "*": "Show"
            },
            {
                "name": "smw-search-syntax",
                "normalizedname": "smw-search-syntax",
                "*": "Syntax"
            },
            {
                "name": "smw-search-syntax-support",
                "normalizedname": "smw-search-syntax-support",
                "*": "The search input supports the use of the semantic [https://www.semantic-mediawiki.org/wiki/Help:Semantic_search query syntax] to help match results using Semantic MediaWiki."
            },
            {
                "name": "smw-section-collapse",
                "normalizedname": "smw-section-collapse",
                "*": "Collapse the section"
            },
            {
                "name": "smw-section-expand",
                "normalizedname": "smw-section-expand",
                "*": "Expand the section"
            },
            {
                "name": "smw-semantics-not-enabled",
                "normalizedname": "smw-semantics-not-enabled",
                "*": "Semantic MediaWiki functionality was not enabled for this wiki."
            },
            {
                "name": "smw-showingresults",
                "normalizedname": "smw-showingresults",
                "*": "Showing below up to {{PLURAL:$1|<strong>1</strong> result|<strong>$1</strong> results}} starting with #<strong>$2</strong>."
            },
            {
                "name": "smw-smwadmin-refresh-title",
                "normalizedname": "smw-smwadmin-refresh-title",
                "*": "Data repair and update"
            },
            {
                "name": "smw-smwdoc-default-no-parameter-list",
                "normalizedname": "smw-smwdoc-default-no-parameter-list",
                "*": "This result format does not provide format specific parameters."
            },
            {
                "name": "smw-smwdoc-description",
                "normalizedname": "smw-smwdoc-description",
                "*": "Shows a table of all parameters that can be used for the specified result format together with default values and descriptions."
            },
            {
                "name": "smw-smwdoc-par-format",
                "normalizedname": "smw-smwdoc-par-format",
                "*": "The result format to display parameter documentation for."
            },
            {
                "name": "smw-smwdoc-par-parameters",
                "normalizedname": "smw-smwdoc-par-parameters",
                "*": "Which parameters to show. \"specific\" for those added by the format, \"base\" for those available in all formats, and \"all\" for both."
            },
            {
                "name": "smw-sp-admin-settings-button",
                "normalizedname": "smw-sp-admin-settings-button",
                "*": "Generate settings list"
            },
            {
                "name": "smw-sp-properties-cache-info",
                "normalizedname": "smw-sp-properties-cache-info",
                "*": "The listed data have been retrieved from [https://www.semantic-mediawiki.org/wiki/Caching cache], and were last updated $1."
            },
            {
                "name": "smw-sp-properties-docu",
                "normalizedname": "smw-sp-properties-docu",
                "*": "This page lists [https://www.semantic-mediawiki.org/wiki/Property properties] and their usage counts available for this wiki. For up-to-date count statistics it is recommended that the [https://www.semantic-mediawiki.org/wiki/rebuildPropertyStatistics property statistics] maintenance script is run on a regular basis. For a differentiated view, see the [[Special:UnusedProperties|unused]] or [[Special:WantedProperties|wanted properties]] special pages."
            },
            {
                "name": "smw-sp-properties-header-label",
                "normalizedname": "smw-sp-properties-header-label",
                "*": "List of properties"
            },
            {
                "name": "smw-sp-property-searchform",
                "normalizedname": "smw-sp-property-searchform",
                "*": "Display properties that contain:"
            },
            {
                "name": "smw-sp-property-searchform-inputinfo",
                "normalizedname": "smw-sp-property-searchform-inputinfo",
                "*": "The input is case sensitive and when used for filtering, only properties that match the condition are displayed."
            },
            {
                "name": "smw-sp-searchbyproperty-description",
                "normalizedname": "smw-sp-searchbyproperty-description",
                "*": "This page provides a simple [https://www.semantic-mediawiki.org/wiki/Help:Browsing_interfaces browsing interface] for finding entities described by a property and a named value. Other available search interfaces include the [[Special:PageProperty|page property search]], and the [[Special:Ask|ask query builder]]."
            },
            {
                "name": "smw-sp-searchbyproperty-nonvaluequery",
                "normalizedname": "smw-sp-searchbyproperty-nonvaluequery",
                "*": "A list of values that have the property \"$1\" assigned."
            },
            {
                "name": "smw-sp-searchbyproperty-resultlist-header",
                "normalizedname": "smw-sp-searchbyproperty-resultlist-header",
                "*": "List of results"
            },
            {
                "name": "smw-sp-searchbyproperty-valuequery",
                "normalizedname": "smw-sp-searchbyproperty-valuequery",
                "*": "A list of pages that have property \"$1\" with value \"$2\" annotated."
            },
            {
                "name": "smw-special-concept-count",
                "normalizedname": "smw-special-concept-count",
                "*": "The following {{PLURAL:$1|concept is|$1 concepts are}} being listed."
            },
            {
                "name": "smw-special-concept-docu",
                "normalizedname": "smw-special-concept-docu",
                "*": "A [https://www.semantic-mediawiki.org/wiki/Help:Concepts concept] can be viewed as \"dynamic category\", i.e. as a collection of pages that are not created manually, but that are computed by Semantic MediaWiki from a description of a given query."
            },
            {
                "name": "smw-special-concept-empty",
                "normalizedname": "smw-special-concept-empty",
                "*": "No concept was found."
            },
            {
                "name": "smw-special-concept-header",
                "normalizedname": "smw-special-concept-header",
                "*": "List of concepts"
            },
            {
                "name": "smw-special-pageproperty-description",
                "normalizedname": "smw-special-pageproperty-description",
                "*": "This page provides a browsing interface for finding all values of a property and a given page. Other available search interfaces include the [[Special:SearchByProperty|property search]], and the [[Special:Ask|ask query builder]]."
            },
            {
                "name": "smw-special-pageproperty-helplink",
                "normalizedname": "smw-special-pageproperty-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Special:PageProperty"
            },
            {
                "name": "smw-special-property-searchform",
                "normalizedname": "smw-special-property-searchform",
                "*": "Display properties that contain:"
            },
            {
                "name": "smw-special-property-searchform-inputinfo",
                "normalizedname": "smw-special-property-searchform-inputinfo",
                "*": "The input is case sensitive and when used for filtering, only properties that match the condition are displayed."
            },
            {
                "name": "smw-special-property-searchform-options",
                "normalizedname": "smw-special-property-searchform-options",
                "*": "Options"
            },
            {
                "name": "smw-special-types-no-such-type",
                "normalizedname": "smw-special-types-no-such-type",
                "*": "\"$1\" is unknown or has not been specified as valid datatype."
            },
            {
                "name": "smw-special-wantedproperties-docu",
                "normalizedname": "smw-special-wantedproperties-docu",
                "*": "This page lists [https://www.semantic-mediawiki.org/wiki/Wanted_properties wanted properties] that are used in the wiki but do not have a page describing them. For a differentiated view, see the [[Special:Properties|entire]] or [[Special:UnusedProperties|unused properties]] special pages."
            },
            {
                "name": "smw-special-wantedproperties-filter-label",
                "normalizedname": "smw-special-wantedproperties-filter-label",
                "*": "Filter:"
            },
            {
                "name": "smw-special-wantedproperties-filter-none",
                "normalizedname": "smw-special-wantedproperties-filter-none",
                "*": "None"
            },
            {
                "name": "smw-special-wantedproperties-filter-unapproved",
                "normalizedname": "smw-special-wantedproperties-filter-unapproved",
                "*": "Unapproved"
            },
            {
                "name": "smw-special-wantedproperties-filter-unapproved-desc",
                "normalizedname": "smw-special-wantedproperties-filter-unapproved-desc",
                "*": "Filter option used in connection with the authority mode."
            },
            {
                "name": "smw-special-wantedproperties-template",
                "normalizedname": "smw-special-wantedproperties-template",
                "*": "$1 ($2 {{PLURAL:$2|use|uses}})"
            },
            {
                "name": "smw-specials-browse-helplink",
                "normalizedname": "smw-specials-browse-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Special:Browse"
            },
            {
                "name": "smw-specials-bytype-helplink",
                "normalizedname": "smw-specials-bytype-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Type_$1"
            },
            {
                "name": "smw-specials-facetedsearch-helplink",
                "normalizedname": "smw-specials-facetedsearch-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Special:FacetedSearch"
            },
            {
                "name": "smw-specials-types-helplink",
                "normalizedname": "smw-specials-types-helplink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Types"
            },
            {
                "name": "smw-statistics",
                "normalizedname": "smw-statistics",
                "*": "Semantic statistics"
            },
            {
                "name": "smw-statistics-cached",
                "normalizedname": "smw-statistics-cached",
                "*": "Semantic statistics (cached)"
            },
            {
                "name": "smw-statistics-concept-count",
                "normalizedname": "smw-statistics-concept-count",
                "*": "[[Special:Concepts|{{PLURAL:$1|Concept|Concepts}}]]"
            },
            {
                "name": "smw-statistics-concept-count-legacy",
                "normalizedname": "smw-statistics-concept-count-legacy",
                "*": "{{PLURAL:$1|Concept|Concepts}}"
            },
            {
                "name": "smw-statistics-datatype-count",
                "normalizedname": "smw-statistics-datatype-count",
                "*": "[[Special:Types|{{PLURAL:$1|Datatype|Datatypes}}]]"
            },
            {
                "name": "smw-statistics-delete-count",
                "normalizedname": "smw-statistics-delete-count",
                "*": "[https://www.semantic-mediawiki.org/wiki/Help:Outdated_entities Outdated {{PLURAL:$1|entity|entities}}]"
            },
            {
                "name": "smw-statistics-delete-count-info",
                "normalizedname": "smw-statistics-delete-count-info",
                "*": "Entities that have been marked for removal should be disposed of regularly using the provided maintenance scripts."
            },
            {
                "name": "smw-statistics-entities-total",
                "normalizedname": "smw-statistics-entities-total",
                "*": "Entities (total)"
            },
            {
                "name": "smw-statistics-entities-total-info",
                "normalizedname": "smw-statistics-entities-total-info",
                "*": "An estimated row count of entities. It includes properties, concepts, or any other registered object representation that requires an ID assignment."
            },
            {
                "name": "smw-statistics-error-count",
                "normalizedname": "smw-statistics-error-count",
                "*": "{{PLURAL:$1|Property value|Property values}} ([[Special:ProcessingErrorList|{{PLURAL:$1|improper annotation|improper annotations}}]])"
            },
            {
                "name": "smw-statistics-error-count-legacy",
                "normalizedname": "smw-statistics-error-count-legacy",
                "*": "{{PLURAL:$1|Property value|Property values}} ({{PLURAL:$1|improper annotation|improper annotations}})"
            },
            {
                "name": "smw-statistics-property-instance",
                "normalizedname": "smw-statistics-property-instance",
                "*": "Property {{PLURAL:$1|value|values}} (total)"
            },
            {
                "name": "smw-statistics-property-page",
                "normalizedname": "smw-statistics-property-page",
                "*": "{{PLURAL:$1|Property|Properties}} (registered with a page)"
            },
            {
                "name": "smw-statistics-property-page-info",
                "normalizedname": "smw-statistics-property-page-info",
                "*": "Count for properties that have a dedicated page and description."
            },
            {
                "name": "smw-statistics-property-total",
                "normalizedname": "smw-statistics-property-total",
                "*": "[[Special:Properties|{{PLURAL:$1|Property|Properties}}]] (total)"
            },
            {
                "name": "smw-statistics-property-total-info",
                "normalizedname": "smw-statistics-property-total-info",
                "*": "The total of registered properties."
            },
            {
                "name": "smw-statistics-property-total-legacy",
                "normalizedname": "smw-statistics-property-total-legacy",
                "*": "{{PLURAL:$1|Property|Properties}} (total)"
            },
            {
                "name": "smw-statistics-property-type",
                "normalizedname": "smw-statistics-property-type",
                "*": "{{PLURAL:$1|Property|Properties}} (assigned to a datatype)"
            },
            {
                "name": "smw-statistics-property-used",
                "normalizedname": "smw-statistics-property-used",
                "*": "{{PLURAL:$1|Property|Properties}} (used with at least one value)"
            },
            {
                "name": "smw-statistics-query-format",
                "normalizedname": "smw-statistics-query-format",
                "*": "<code>$1</code> format"
            },
            {
                "name": "smw-statistics-query-inline",
                "normalizedname": "smw-statistics-query-inline",
                "*": "[[Property:Has query|{{PLURAL:$1|Query|Queries}}]] (embedded, total)"
            },
            {
                "name": "smw-statistics-query-inline-legacy",
                "normalizedname": "smw-statistics-query-inline-legacy",
                "*": "{{PLURAL:$1|Query|Queries}}"
            },
            {
                "name": "smw-statistics-query-size",
                "normalizedname": "smw-statistics-query-size",
                "*": "Query size"
            },
            {
                "name": "smw-statistics-subobject-count",
                "normalizedname": "smw-statistics-subobject-count",
                "*": "[[Property:Has subobject|{{PLURAL:$1|Subobject|Subobjects}}]]"
            },
            {
                "name": "smw-statistics-subobject-count-legacy",
                "normalizedname": "smw-statistics-subobject-count-legacy",
                "*": "{{PLURAL:$1|Subobject|Subobjects}}"
            },
            {
                "name": "smw-subobject-parser-invalid-naming-scheme",
                "normalizedname": "smw-subobject-parser-invalid-naming-scheme",
                "*": "A user-defined subobject contained an invalid naming scheme. The dot notation ($1) used within the first five characters is reserved for extensions. You may set a [https://www.semantic-mediawiki.org/wiki/Help:Adding_subobjects#Named_identifier named identifier]."
            },
            {
                "name": "smw-title",
                "normalizedname": "smw-title",
                "*": "Semantic MediaWiki"
            },
            {
                "name": "smw-type-anu",
                "normalizedname": "smw-type-anu",
                "*": "\"$1\" is a variant of the [[Special:Types/URL|URL]] datatype and is mostly used for a ''owl:AnnotationProperty'' export declaration."
            },
            {
                "name": "smw-type-boo",
                "normalizedname": "smw-type-boo",
                "*": "\"$1\" is a basic datatype to describe a true/false value."
            },
            {
                "name": "smw-type-cod",
                "normalizedname": "smw-type-cod",
                "*": "\"$1\" is a variant of the [[Special:Types/Text|Text]] datatype to be used for technical texts of arbitrary length, such as source code listings."
            },
            {
                "name": "smw-type-compound",
                "normalizedname": "smw-type-compound",
                "*": "Compound"
            },
            {
                "name": "smw-type-container",
                "normalizedname": "smw-type-container",
                "*": "Container"
            },
            {
                "name": "smw-type-contextual",
                "normalizedname": "smw-type-contextual",
                "*": "Contextual"
            },
            {
                "name": "smw-type-dat",
                "normalizedname": "smw-type-dat",
                "*": "\"$1\" is a basic datatype to represent points in time in a unified format."
            },
            {
                "name": "smw-type-eid",
                "normalizedname": "smw-type-eid",
                "*": "\"$1\" is a variant of the [[Special:Types/Text|Text]] datatype to describe external resources (URI based) and requires assigned properties to declare an [[Property:External formatter uri|External formatter URI]]."
            },
            {
                "name": "smw-type-ema",
                "normalizedname": "smw-type-ema",
                "*": "\"$1\" is a special datatype to represent an email."
            },
            {
                "name": "smw-type-extra-tem",
                "normalizedname": "smw-type-extra-tem",
                "*": "The conversion schema includes supported units such as Kelvin, Celsius, Fahrenheit, and Rankine."
            },
            {
                "name": "smw-type-geo",
                "normalizedname": "smw-type-geo",
                "*": "\"$1\" is a datatype that describes geographic locations and requires the [https://www.semantic-mediawiki.org/wiki/Extension:Maps \"Maps\"] extension to provide an extended functionality."
            },
            {
                "name": "smw-type-keyw",
                "normalizedname": "smw-type-keyw",
                "*": "\"$1\" is a variant of the [[Special:Types/Text|Text]] datatype that has a restricted character length with a normalized content representation."
            },
            {
                "name": "smw-type-mlt-rec",
                "normalizedname": "smw-type-mlt-rec",
                "*": "\"$1\" is a [https://www.semantic-mediawiki.org/wiki/Help:Container container] datatype that associates a text value with a specific [[Property:Language code|language code]]."
            },
            {
                "name": "smw-type-no-group",
                "normalizedname": "smw-type-no-group",
                "*": "Unclassified"
            },
            {
                "name": "smw-type-primitive",
                "normalizedname": "smw-type-primitive",
                "*": "Basic"
            },
            {
                "name": "smw-type-qty",
                "normalizedname": "smw-type-qty",
                "*": "\"$1\" is a datatype to describe quantities with a numeric representation and a unit of measurement."
            },
            {
                "name": "smw-type-rec",
                "normalizedname": "smw-type-rec",
                "*": "\"$1\" is a container datatype that specifies a list of typed properties in a fixed order."
            },
            {
                "name": "smw-type-ref-rec",
                "normalizedname": "smw-type-ref-rec",
                "*": "\"$1\" is a [https://www.semantic-mediawiki.org/wiki/Container container] type that allows to record additional information (e.g. provenance data) about a value assignment."
            },
            {
                "name": "smw-type-tab-errors",
                "normalizedname": "smw-type-tab-errors",
                "*": "Errors"
            },
            {
                "name": "smw-type-tab-properties",
                "normalizedname": "smw-type-tab-properties",
                "*": "Properties"
            },
            {
                "name": "smw-type-tab-type-ids",
                "normalizedname": "smw-type-tab-type-ids",
                "*": "Type IDs"
            },
            {
                "name": "smw-type-tab-types",
                "normalizedname": "smw-type-tab-types",
                "*": "Types"
            },
            {
                "name": "smw-type-tel",
                "normalizedname": "smw-type-tel",
                "*": "\"$1\" is a special datatype to describe international telephone numbers according to RFC 3966."
            },
            {
                "name": "smw-type-tem",
                "normalizedname": "smw-type-tem",
                "*": "\"$1\" is a special numeric datatype to represent a temperature."
            },
            {
                "name": "smw-type-txt",
                "normalizedname": "smw-type-txt",
                "*": "\"$1\" is a basic datatype to describe strings of arbitrary length."
            },
            {
                "name": "smw-types-default",
                "normalizedname": "smw-types-default",
                "*": "\"$1\" is a built-in datatype."
            },
            {
                "name": "smw-types-extra-geo-not-available",
                "normalizedname": "smw-types-extra-geo-not-available",
                "*": "[https://www.semantic-mediawiki.org/wiki/Extension:Maps Extension \"Maps\"] was not detected therefore \"$1\" is restricted in its capacity to operate."
            },
            {
                "name": "smw-types-extra-mlt-lcode",
                "normalizedname": "smw-types-extra-mlt-lcode",
                "*": "The datatype does {{PLURAL:$2|require|not require}} a language code (i.e. {{PLURAL:$2|a value annotation without a language code is not accepted|a value annotation without a language code is accepted}})."
            },
            {
                "name": "smw-types-help",
                "normalizedname": "smw-types-help",
                "*": "Further information and examples can be found on this [https://www.semantic-mediawiki.org/wiki/Help:Type_$1 help page]."
            },
            {
                "name": "smw-types-list",
                "normalizedname": "smw-types-list",
                "*": "List of datatypes"
            },
            {
                "name": "smw-types-title",
                "normalizedname": "smw-types-title",
                "*": "Type: $1"
            },
            {
                "name": "smw-ui-tooltip-title-error",
                "normalizedname": "smw-ui-tooltip-title-error",
                "*": "Error"
            },
            {
                "name": "smw-ui-tooltip-title-event",
                "normalizedname": "smw-ui-tooltip-title-event",
                "*": "Event"
            },
            {
                "name": "smw-ui-tooltip-title-info",
                "normalizedname": "smw-ui-tooltip-title-info",
                "*": "Information"
            },
            {
                "name": "smw-ui-tooltip-title-legend",
                "normalizedname": "smw-ui-tooltip-title-legend",
                "*": "Legend"
            },
            {
                "name": "smw-ui-tooltip-title-note",
                "normalizedname": "smw-ui-tooltip-title-note",
                "*": "Note"
            },
            {
                "name": "smw-ui-tooltip-title-parameter",
                "normalizedname": "smw-ui-tooltip-title-parameter",
                "*": "Parameter"
            },
            {
                "name": "smw-ui-tooltip-title-property",
                "normalizedname": "smw-ui-tooltip-title-property",
                "*": "Property"
            },
            {
                "name": "smw-ui-tooltip-title-quantity",
                "normalizedname": "smw-ui-tooltip-title-quantity",
                "*": "Unit conversion"
            },
            {
                "name": "smw-ui-tooltip-title-reference",
                "normalizedname": "smw-ui-tooltip-title-reference",
                "*": "Reference"
            },
            {
                "name": "smw-ui-tooltip-title-service",
                "normalizedname": "smw-ui-tooltip-title-service",
                "*": "Service links"
            },
            {
                "name": "smw-ui-tooltip-title-warning",
                "normalizedname": "smw-ui-tooltip-title-warning",
                "*": "Warning"
            },
            {
                "name": "smw-unusedproperties-docu",
                "normalizedname": "smw-unusedproperties-docu",
                "*": "This page lists [https://www.semantic-mediawiki.org/wiki/Unused_properties unused properties] that are declared although no other page makes use of them. For a differentiated view, see the [[Special:Properties|entire]] or [[Special:WantedProperties|wanted properties]] special pages."
            },
            {
                "name": "smw-unusedproperty-template",
                "normalizedname": "smw-unusedproperty-template",
                "*": "$1 of type $2"
            },
            {
                "name": "smw-updateentitycollation-incomplete",
                "normalizedname": "smw-updateentitycollation-incomplete",
                "*": "The <code>[https://www.semantic-mediawiki.org/wiki/Help:$smwgEntityCollation $smwgEntityCollation]</code> setting was recently altered and requires that the <code>[https://www.semantic-mediawiki.org/wiki/Help:updateEntityCollation.php updateEntityCollation.php]</code> script is executed so that entities are updated and contain the correct sort field value."
            },
            {
                "name": "smw-updateentitycountmap-incomplete",
                "normalizedname": "smw-updateentitycountmap-incomplete",
                "*": "The <code>smw_countmap</code> field was added in a recent release and requires that the <code>[https://www.semantic-mediawiki.org/wiki/Help:updateEntityCountMap.php updateEntityCountMap.php]</code> script is executed so that functions can access the content of this field."
            },
            {
                "name": "smw-upgrade-error",
                "normalizedname": "smw-upgrade-error",
                "*": "[https://www.semantic-mediawiki.org/ Semantic MediaWiki] was installed and enabled but is missing an appropriate [https://www.semantic-mediawiki.org/wiki/Help:Upgrade upgrade key]."
            },
            {
                "name": "smw-upgrade-error-how-explain-admin",
                "normalizedname": "smw-upgrade-error-how-explain-admin",
                "*": "An administrator (or any person with administrator rights) has to run either MediaWiki's [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Update.php update.php] or Semantic MediaWiki's [https://www.semantic-mediawiki.org/wiki/Help:SetupStore.php setupStore.php] maintenance script."
            },
            {
                "name": "smw-upgrade-error-how-explain-links",
                "normalizedname": "smw-upgrade-error-how-explain-links",
                "*": "You may also consult the following pages for further assistance:\n* [https://www.semantic-mediawiki.org/wiki/Help:Installation Installation] instructions\n* [https://www.semantic-mediawiki.org/wiki/Help:Installation/Troubleshooting Troubleshooting] help page"
            },
            {
                "name": "smw-upgrade-error-how-title",
                "normalizedname": "smw-upgrade-error-how-title",
                "*": "How do I fix this error?"
            },
            {
                "name": "smw-upgrade-error-title",
                "normalizedname": "smw-upgrade-error-title",
                "*": "Error \u00bb Semantic MediaWiki"
            },
            {
                "name": "smw-upgrade-error-why-explain",
                "normalizedname": "smw-upgrade-error-why-explain",
                "*": "Semantic MediaWiki's internal database structure has changed and requires some adjustments to be fully functional. There can be several reasons including:\n* Additional fixed properties (requires additional table setup) were added\n* An upgrade contains some changes to tables or indices making an interception obligatory before accessing the data\n* Changes to the storage or query engine"
            },
            {
                "name": "smw-upgrade-error-why-title",
                "normalizedname": "smw-upgrade-error-why-title",
                "*": "Why do I see this page?"
            },
            {
                "name": "smw-upgrade-maintenance-explain",
                "normalizedname": "smw-upgrade-maintenance-explain",
                "*": "The extension tries to minimize the impact and downtime by deferring most of its maintenance tasks to after the <code>update.php</code> but some database related changes are required to finish first to avoid data inconsistencies. It can include:\n* Changing table structures such as adding new or modify existing fields\n* Changing or adding table indices\n* Running table optimizations (when enabled)"
            },
            {
                "name": "smw-upgrade-maintenance-note",
                "normalizedname": "smw-upgrade-maintenance-note",
                "*": "The system is currently undergoing an [https://www.semantic-mediawiki.org/wiki/Help:Upgrade upgrade] of the [https://www.semantic-mediawiki.org/ Semantic MediaWiki] extension together with its data repository and we would like to ask you for your patience and allow the maintenance to continue before the wiki can be made accessible again."
            },
            {
                "name": "smw-upgrade-maintenance-title",
                "normalizedname": "smw-upgrade-maintenance-title",
                "*": "Maintenance \u00bb Semantic MediaWiki"
            },
            {
                "name": "smw-upgrade-maintenance-why-title",
                "normalizedname": "smw-upgrade-maintenance-why-title",
                "*": "Why do I see this page?"
            },
            {
                "name": "smw-upgrade-progress",
                "normalizedname": "smw-upgrade-progress",
                "*": "Progress"
            },
            {
                "name": "smw-upgrade-progress-create-tables",
                "normalizedname": "smw-upgrade-progress-create-tables",
                "*": "Creating (or updating) tables and indices..."
            },
            {
                "name": "smw-upgrade-progress-explain",
                "normalizedname": "smw-upgrade-progress-explain",
                "*": "An estimation as to when the upgrade is going to be finished is difficult to predict as it depends on the size of the data repository and the available hardware and can take a moment for larger wikis to complete.\n\nPlease contact your local administrator to get more information about the progress."
            },
            {
                "name": "smw-upgrade-progress-post-creation",
                "normalizedname": "smw-upgrade-progress-post-creation",
                "*": "Running post creation tasks..."
            },
            {
                "name": "smw-upgrade-progress-supplement-jobs",
                "normalizedname": "smw-upgrade-progress-supplement-jobs",
                "*": "Adding supplement jobs..."
            },
            {
                "name": "smw-upgrade-progress-table-optimization",
                "normalizedname": "smw-upgrade-progress-table-optimization",
                "*": "Running table optimizations..."
            },
            {
                "name": "smw-upgrade-release",
                "normalizedname": "smw-upgrade-release",
                "*": "Release"
            },
            {
                "name": "smw-wantedproperties-docu",
                "normalizedname": "smw-wantedproperties-docu",
                "*": "This page lists [https://www.semantic-mediawiki.org/wiki/Wanted_properties wanted properties] that are used in the wiki but do not have a page describing them. For a differentiated view, see the [[Special:Properties|entire]] or [[Special:UnusedProperties|unused properties]] special pages."
            },
            {
                "name": "smw-wantedproperty-template",
                "normalizedname": "smw-wantedproperty-template",
                "*": "$1 ($2 {{PLURAL:$2|use|uses}})"
            },
            {
                "name": "smw_add_sortcondition",
                "normalizedname": "smw_add_sortcondition",
                "*": "[Add sorting condition]"
            },
            {
                "name": "smw_adminlinks_datastructure",
                "normalizedname": "smw_adminlinks_datastructure",
                "*": "Data structure"
            },
            {
                "name": "smw_adminlinks_displayingdata",
                "normalizedname": "smw_adminlinks_displayingdata",
                "*": "Data display"
            },
            {
                "name": "smw_adminlinks_inlinequerieshelp",
                "normalizedname": "smw_adminlinks_inlinequerieshelp",
                "*": "Inline queries help"
            },
            {
                "name": "smw_allows_pattern",
                "normalizedname": "smw_allows_pattern",
                "*": "This page is expected to contain a list of references (followed by [https://en.wikipedia.org/wiki/Regular_expression regular expressions]) to be made available by the [[Property:Allows pattern|Allows pattern]] property. To edit this page, the <code>smw-patternedit</code> right is required."
            },
            {
                "name": "smw_ask_ascorder",
                "normalizedname": "smw_ask_ascorder",
                "*": "Ascending"
            },
            {
                "name": "smw_ask_defaultformat",
                "normalizedname": "smw_ask_defaultformat",
                "*": "default"
            },
            {
                "name": "smw_ask_descorder",
                "normalizedname": "smw_ask_descorder",
                "*": "Descending"
            },
            {
                "name": "smw_ask_doculink",
                "normalizedname": "smw_ask_doculink",
                "*": "https://www.semantic-mediawiki.org/wiki/Help:Semantic_search"
            },
            {
                "name": "smw_ask_editquery",
                "normalizedname": "smw_ask_editquery",
                "*": "Edit query"
            },
            {
                "name": "smw_ask_embed_instr",
                "normalizedname": "smw_ask_embed_instr",
                "*": "To embed this query inline into a wiki page use the code below."
            },
            {
                "name": "smw_ask_format_as",
                "normalizedname": "smw_ask_format_as",
                "*": "Format as:"
            },
            {
                "name": "smw_ask_help",
                "normalizedname": "smw_ask_help",
                "*": "Querying help"
            },
            {
                "name": "smw_ask_hide_embed",
                "normalizedname": "smw_ask_hide_embed",
                "*": "Hide embed code"
            },
            {
                "name": "smw_ask_hidequery",
                "normalizedname": "smw_ask_hidequery",
                "*": "Hide query (compact view)"
            },
            {
                "name": "smw_ask_otheroptions",
                "normalizedname": "smw_ask_otheroptions",
                "*": "Other options"
            },
            {
                "name": "smw_ask_printdesc",
                "normalizedname": "smw_ask_printdesc",
                "*": "(add one property name per line)"
            },
            {
                "name": "smw_ask_printhead",
                "normalizedname": "smw_ask_printhead",
                "*": "Printout selection"
            },
            {
                "name": "smw_ask_queryhead",
                "normalizedname": "smw_ask_queryhead",
                "*": "Condition"
            },
            {
                "name": "smw_ask_show_embed",
                "normalizedname": "smw_ask_show_embed",
                "*": "Show embed code"
            },
            {
                "name": "smw_ask_sortby",
                "normalizedname": "smw_ask_sortby",
                "*": "Sort by column (optional)"
            },
            {
                "name": "smw_ask_submit",
                "normalizedname": "smw_ask_submit",
                "*": "Find results"
            },
            {
                "name": "smw_attribute_header",
                "normalizedname": "smw_attribute_header",
                "*": "Pages using the property \"$1\""
            },
            {
                "name": "smw_attributearticlecount",
                "normalizedname": "smw_attributearticlecount",
                "*": "Showing $1 {{PLURAL:$1|page|pages}} using this property."
            },
            {
                "name": "smw_badqueryatom",
                "normalizedname": "smw_badqueryatom",
                "*": "Some part \"<nowiki>[[...]]</nowiki>\" of the query was not understood."
            },
            {
                "name": "smw_baduri",
                "normalizedname": "smw_baduri",
                "*": "URIs of the form \"$1\" are not allowed."
            },
            {
                "name": "smw_browse_article",
                "normalizedname": "smw_browse_article",
                "*": "Enter the name of the page to start browsing from."
            },
            {
                "name": "smw_browse_go",
                "normalizedname": "smw_browse_go",
                "*": "Go"
            },
            {
                "name": "smw_browse_hide_incoming",
                "normalizedname": "smw_browse_hide_incoming",
                "*": "Hide incoming properties"
            },
            {
                "name": "smw_browse_more",
                "normalizedname": "smw_browse_more",
                "*": "..."
            },
            {
                "name": "smw_browse_no_incoming",
                "normalizedname": "smw_browse_no_incoming",
                "*": "No properties link to this page."
            },
            {
                "name": "smw_browse_no_outgoing",
                "normalizedname": "smw_browse_no_outgoing",
                "*": "This page has no properties."
            },
            {
                "name": "smw_browse_show_incoming",
                "normalizedname": "smw_browse_show_incoming",
                "*": "Show incoming properties"
            },
            {
                "name": "smw_browselink",
                "normalizedname": "smw_browselink",
                "*": "Browse properties"
            },
            {
                "name": "smw_concept_cache_miss",
                "normalizedname": "smw_concept_cache_miss",
                "*": "The concept \"$1\" can not be used at the moment, since the wiki configuration requires it to be computed off-line.\nIf the problem does not go away after some time, ask your site administrator to make this concept available."
            },
            {
                "name": "smw_concept_description",
                "normalizedname": "smw_concept_description",
                "*": "Description of concept \"$1\""
            },
            {
                "name": "smw_concept_header",
                "normalizedname": "smw_concept_header",
                "*": "Pages of concept \"$1\""
            },
            {
                "name": "smw_conceptarticlecount",
                "normalizedname": "smw_conceptarticlecount",
                "*": "Showing below $1 {{PLURAL:$1|page|pages}}."
            },
            {
                "name": "smw_csv_link",
                "normalizedname": "smw_csv_link",
                "*": "CSV"
            },
            {
                "name": "smw_db_sparqlqueryincomplete",
                "normalizedname": "smw_db_sparqlqueryincomplete",
                "*": "Answering the query turned out to be too difficult and was aborted. Some results could be missing. If possible, try using a simpler query instead."
            },
            {
                "name": "smw_db_sparqlqueryproblem",
                "normalizedname": "smw_db_sparqlqueryproblem",
                "*": "The query result could not be obtained from the SPARQL database. This error might be temporary or indicate a bug in the database software."
            },
            {
                "name": "smw_decseparator",
                "normalizedname": "smw_decseparator",
                "*": "."
            },
            {
                "name": "smw_dsv_link",
                "normalizedname": "smw_dsv_link",
                "*": "DSV"
            },
            {
                "name": "smw_emptystring",
                "normalizedname": "smw_emptystring",
                "*": "Empty strings are not accepted."
            },
            {
                "name": "smw_emptysubquery",
                "normalizedname": "smw_emptysubquery",
                "*": "Some subquery has no valid condition."
            },
            {
                "name": "smw_exportrdf_backlinks",
                "normalizedname": "smw_exportrdf_backlinks",
                "*": "Also export all pages that refer to the exported pages.\nGenerates browsable RDF."
            },
            {
                "name": "smw_exportrdf_docu",
                "normalizedname": "smw_exportrdf_docu",
                "*": "This page allows you to obtain data from a page in RDF format.\nTo export pages, enter the titles in the text box below, one title per line."
            },
            {
                "name": "smw_exportrdf_lastdate",
                "normalizedname": "smw_exportrdf_lastdate",
                "*": "Do not export pages that were not changed since the given point in time."
            },
            {
                "name": "smw_exportrdf_recursive",
                "normalizedname": "smw_exportrdf_recursive",
                "*": "Recursively export all related pages.\nNote that the result could be large!"
            },
            {
                "name": "smw_exportrdf_submit",
                "normalizedname": "smw_exportrdf_submit",
                "*": "Export"
            },
            {
                "name": "smw_false_words",
                "normalizedname": "smw_false_words",
                "*": "false,f,no,n"
            },
            {
                "name": "smw_finallistconjunct",
                "normalizedname": "smw_finallistconjunct",
                "*": ", and"
            },
            {
                "name": "smw_infinite",
                "normalizedname": "smw_infinite",
                "*": "Numbers as large as \"$1\" are not supported."
            },
            {
                "name": "smw_inverse_label_default",
                "normalizedname": "smw_inverse_label_default",
                "*": "$1 of"
            },
            {
                "name": "smw_inverse_label_property",
                "normalizedname": "smw_inverse_label_property",
                "*": "Inverse property label"
            },
            {
                "name": "smw_iq_disabled",
                "normalizedname": "smw_iq_disabled",
                "*": "Semantic queries have been disabled for this wiki."
            },
            {
                "name": "smw_iq_moreresults",
                "normalizedname": "smw_iq_moreresults",
                "*": "... further results"
            },
            {
                "name": "smw_isspecprop",
                "normalizedname": "smw_isspecprop",
                "*": "This property is a special property in this wiki."
            },
            {
                "name": "smw_json_link",
                "normalizedname": "smw_json_link",
                "*": "JSON"
            },
            {
                "name": "smw_kiloseparator",
                "normalizedname": "smw_kiloseparator",
                "*": ","
            },
            {
                "name": "smw_manytypes",
                "normalizedname": "smw_manytypes",
                "*": "More than one type defined for property."
            },
            {
                "name": "smw_misplacedsubquery",
                "normalizedname": "smw_misplacedsubquery",
                "*": "Some subquery was used in a place where no subqueries are allowed."
            },
            {
                "name": "smw_misplacedsymbol",
                "normalizedname": "smw_misplacedsymbol",
                "*": "The symbol \"$1\" was used in a place where it is not useful."
            },
            {
                "name": "smw_multiple_concepts",
                "normalizedname": "smw_multiple_concepts",
                "*": "Each concept page can have only one concept definition."
            },
            {
                "name": "smw_no_concept_namespace",
                "normalizedname": "smw_no_concept_namespace",
                "*": "Concepts can only be defined on pages in the Concept: namespace."
            },
            {
                "name": "smw_noboolean",
                "normalizedname": "smw_noboolean",
                "*": "\"$1\" is not recognized as a Boolean (true/false) value."
            },
            {
                "name": "smw_noclosingbrackets",
                "normalizedname": "smw_noclosingbrackets",
                "*": "Some use of \"<nowiki>[[</nowiki>\" in your query was not closed by a matching \"]]\"."
            },
            {
                "name": "smw_noconjunctions",
                "normalizedname": "smw_noconjunctions",
                "*": "Conjunctions in queries are not supported in this wiki and part of the query was dropped ($1)."
            },
            {
                "name": "smw_nodatetime",
                "normalizedname": "smw_nodatetime",
                "*": "The date \"$1\" was not understood."
            },
            {
                "name": "smw_nodisjunctions",
                "normalizedname": "smw_nodisjunctions",
                "*": "Disjunctions in queries are not supported in this wiki and part of the query was dropped ($1)."
            },
            {
                "name": "smw_nofloat",
                "normalizedname": "smw_nofloat",
                "*": "\"$1\" is not a number."
            },
            {
                "name": "smw_noinvannot",
                "normalizedname": "smw_noinvannot",
                "*": "Values cannot be assigned to inverse properties."
            },
            {
                "name": "smw_noproperty",
                "normalizedname": "smw_noproperty",
                "*": "\"$1\" cannot be used as a property name in this wiki."
            },
            {
                "name": "smw_noqueryfeature",
                "normalizedname": "smw_noqueryfeature",
                "*": "Some query feature was not supported in this wiki and part of the query was dropped ($1)."
            },
            {
                "name": "smw_notemplategiven",
                "normalizedname": "smw_notemplategiven",
                "*": "Provide a value for the parameter \"template\" for this query format to work."
            },
            {
                "name": "smw_notinenum",
                "normalizedname": "smw_notinenum",
                "*": "\"$1\" is not in the list ($2) of [[Property:Allows value|allowed values]] for the \"$3\" property."
            },
            {
                "name": "smw_notitle",
                "normalizedname": "smw_notitle",
                "*": "\"$1\" cannot be used as a page name in this wiki."
            },
            {
                "name": "smw_nounitsdeclared",
                "normalizedname": "smw_nounitsdeclared",
                "*": "No units of measurement were declared for this property."
            },
            {
                "name": "smw_novalues",
                "normalizedname": "smw_novalues",
                "*": "No values specified."
            },
            {
                "name": "smw_parseerror",
                "normalizedname": "smw_parseerror",
                "*": "The given value was not understood."
            },
            {
                "name": "smw_pp_docu",
                "normalizedname": "smw_pp_docu",
                "*": "Either enter a page and property, or just a property to retrieve all assigned values."
            },
            {
                "name": "smw_pp_from",
                "normalizedname": "smw_pp_from",
                "*": "From page:"
            },
            {
                "name": "smw_pp_submit",
                "normalizedname": "smw_pp_submit",
                "*": "Find results"
            },
            {
                "name": "smw_pp_type",
                "normalizedname": "smw_pp_type",
                "*": "Property:"
            },
            {
                "name": "smw_printername_broadtable",
                "normalizedname": "smw_printername_broadtable",
                "*": "Broad table"
            },
            {
                "name": "smw_printername_category",
                "normalizedname": "smw_printername_category",
                "*": "Category"
            },
            {
                "name": "smw_printername_count",
                "normalizedname": "smw_printername_count",
                "*": "Count results"
            },
            {
                "name": "smw_printername_csv",
                "normalizedname": "smw_printername_csv",
                "*": "CSV export"
            },
            {
                "name": "smw_printername_debug",
                "normalizedname": "smw_printername_debug",
                "*": "Debug query (for experts)"
            },
            {
                "name": "smw_printername_dsv",
                "normalizedname": "smw_printername_dsv",
                "*": "DSV export"
            },
            {
                "name": "smw_printername_embedded",
                "normalizedname": "smw_printername_embedded",
                "*": "Embed page contents"
            },
            {
                "name": "smw_printername_json",
                "normalizedname": "smw_printername_json",
                "*": "JSON export"
            },
            {
                "name": "smw_printername_list",
                "normalizedname": "smw_printername_list",
                "*": "List"
            },
            {
                "name": "smw_printername_ol",
                "normalizedname": "smw_printername_ol",
                "*": "Numbered list"
            },
            {
                "name": "smw_printername_plainlist",
                "normalizedname": "smw_printername_plainlist",
                "*": "Plain list"
            },
            {
                "name": "smw_printername_rdf",
                "normalizedname": "smw_printername_rdf",
                "*": "RDF export"
            },
            {
                "name": "smw_printername_table",
                "normalizedname": "smw_printername_table",
                "*": "Table"
            },
            {
                "name": "smw_printername_template",
                "normalizedname": "smw_printername_template",
                "*": "Template"
            },
            {
                "name": "smw_printername_templatefile",
                "normalizedname": "smw_printername_templatefile",
                "*": "Template file"
            },
            {
                "name": "smw_printername_ul",
                "normalizedname": "smw_printername_ul",
                "*": "Bulleted list"
            },
            {
                "name": "smw_properties_docu",
                "normalizedname": "smw_properties_docu",
                "*": "The following properties are used in the wiki."
            },
            {
                "name": "smw_property_template",
                "normalizedname": "smw_property_template",
                "*": "$1 of type $2 ($3 {{PLURAL:$3|use|uses}})"
            },
            {
                "name": "smw_property_template_notype",
                "normalizedname": "smw_property_template_notype",
                "*": "$1 ($2)"
            },
            {
                "name": "smw_propertyhardlyused",
                "normalizedname": "smw_propertyhardlyused",
                "*": "This property is hardly used within the wiki!"
            },
            {
                "name": "smw_propertylackspage",
                "normalizedname": "smw_propertylackspage",
                "*": "All properties should be described by a page!"
            },
            {
                "name": "smw_propertylackstype",
                "normalizedname": "smw_propertylackstype",
                "*": "No type was specified for this property (assuming type $1 for now)."
            },
            {
                "name": "smw_propvalueproblem",
                "normalizedname": "smw_propvalueproblem",
                "*": "The value of property \"$1\" was not understood."
            },
            {
                "name": "smw_purge",
                "normalizedname": "smw_purge",
                "*": "Refresh"
            },
            {
                "name": "smw_querytoolarge",
                "normalizedname": "smw_querytoolarge",
                "*": "The following {{PLURAL:$2|query condition|$2 query conditions}} could not be considered due to this wiki's restrictions on query size or depth: <code>$1</code>."
            },
            {
                "name": "smw_rdf_link",
                "normalizedname": "smw_rdf_link",
                "*": "RDF"
            },
            {
                "name": "smw_result_next",
                "normalizedname": "smw_result_next",
                "*": "Next"
            },
            {
                "name": "smw_result_noresults",
                "normalizedname": "smw_result_noresults",
                "*": "No results."
            },
            {
                "name": "smw_result_prev",
                "normalizedname": "smw_result_prev",
                "*": "Previous"
            },
            {
                "name": "smw_result_results",
                "normalizedname": "smw_result_results",
                "*": "Results"
            },
            {
                "name": "smw_sbv_displayresultfuzzy",
                "normalizedname": "smw_sbv_displayresultfuzzy",
                "*": "A list of all pages that have property \"$1\" with value \"$2\".\nSince there have been only a few results, also nearby values are displayed."
            },
            {
                "name": "smw_sbv_docu",
                "normalizedname": "smw_sbv_docu",
                "*": "Search for all pages that have a given property and value."
            },
            {
                "name": "smw_sbv_novalue",
                "normalizedname": "smw_sbv_novalue",
                "*": "Enter a valid value for the property, or view all property values for \"$1\"."
            },
            {
                "name": "smw_sbv_property",
                "normalizedname": "smw_sbv_property",
                "*": "Property:"
            },
            {
                "name": "smw_sbv_submit",
                "normalizedname": "smw_sbv_submit",
                "*": "Find results"
            },
            {
                "name": "smw_sbv_value",
                "normalizedname": "smw_sbv_value",
                "*": "Value:"
            },
            {
                "name": "smw_smwadmin_datarefresh",
                "normalizedname": "smw_smwadmin_datarefresh",
                "*": "Data rebuild"
            },
            {
                "name": "smw_smwadmin_datarefreshbutton",
                "normalizedname": "smw_smwadmin_datarefreshbutton",
                "*": "Schedule data rebuild"
            },
            {
                "name": "smw_smwadmin_datarefreshdocu",
                "normalizedname": "smw_smwadmin_datarefreshdocu",
                "*": "It is possible to restore all Semantic MediaWiki data based on the current contents of the wiki.\nThis can be useful to repair broken data or to refresh the data if the internal format has changed due to some software upgrade.\nThe update is executed page by page and will not be completed immediately.\nThe following shows if an update is in progress and allows you to start or stop updates (unless this feature was disabled by the site administrator)."
            },
            {
                "name": "smw_smwadmin_datarefreshprogress",
                "normalizedname": "smw_smwadmin_datarefreshprogress",
                "*": "<strong>An update is already in progress.</strong>\nIt is normal that the update progresses only slowly since it only refreshes data in small chunks each time a user accesses the wiki.\nTo finish this update more quickly, you can invoke the MediaWiki maintenance script <code>runJobs.php</code> (use the option <code>--maxjobs 1000</code> to restrict the number of updates done in one batch).\nEstimated progress of current update:"
            },
            {
                "name": "smw_smwadmin_datarefreshstop",
                "normalizedname": "smw_smwadmin_datarefreshstop",
                "*": "Stop this update"
            },
            {
                "name": "smw_smwadmin_datarefreshstopconfirm",
                "normalizedname": "smw_smwadmin_datarefreshstopconfirm",
                "*": "Yes, I am {{GENDER:$1|sure}}."
            },
            {
                "name": "smw_smwadmin_return",
                "normalizedname": "smw_smwadmin_return",
                "*": "Return to $1"
            },
            {
                "name": "smw_smwadmin_updatenotstarted",
                "normalizedname": "smw_smwadmin_updatenotstarted",
                "*": "There is already an update process running.\nNot creating another one."
            },
            {
                "name": "smw_smwadmin_updatenotstopped",
                "normalizedname": "smw_smwadmin_updatenotstopped",
                "*": "To stop the running update process, you must activate the checkbox to indicate that you are really sure."
            },
            {
                "name": "smw_smwadmin_updatestarted",
                "normalizedname": "smw_smwadmin_updatestarted",
                "*": "A new update process for refreshing the semantic data was started.\nAll stored data will be rebuilt or repaired where needed.\nYou can follow the progress of the update on this special page."
            },
            {
                "name": "smw_smwadmin_updatestopped",
                "normalizedname": "smw_smwadmin_updatestopped",
                "*": "All existing update processes have been stopped."
            },
            {
                "name": "smw_toomanyclosing",
                "normalizedname": "smw_toomanyclosing",
                "*": "There appear to be too many occurrences of \"$1\" in the query."
            },
            {
                "name": "smw_true_words",
                "normalizedname": "smw_true_words",
                "*": "true,t,yes,y"
            },
            {
                "name": "smw_type_header",
                "normalizedname": "smw_type_header",
                "*": "Properties of type \"$1\""
            },
            {
                "name": "smw_typearticlecount",
                "normalizedname": "smw_typearticlecount",
                "*": "Showing $1 {{PLURAL:$1|property|properties}} using this type."
            },
            {
                "name": "smw_types_docu",
                "normalizedname": "smw_types_docu",
                "*": "List of [https://www.semantic-mediawiki.org/wiki/Help:List_of_datatypes available datatypes] with each [https://www.semantic-mediawiki.org/wiki/Help:Datatype type] representing a unique set of attributes to describe a value in terms of storage and display characteristics that are hereditary to an assigned property."
            },
            {
                "name": "smw_unexpectedpart",
                "normalizedname": "smw_unexpectedpart",
                "*": "The part \"$1\" of the query was not understood.\nResults might not be as expected."
            },
            {
                "name": "smw_unitnotallowed",
                "normalizedname": "smw_unitnotallowed",
                "*": "\"$1\" is not declared as a valid unit of measurement for this property."
            },
            {
                "name": "smw_unknowntype",
                "normalizedname": "smw_unknowntype",
                "*": "The \"$1\" type of this property is invalid"
            },
            {
                "name": "smw_uri_blacklist",
                "normalizedname": "smw_uri_blacklist",
                "*": "https://www.w3.org/1999/02/22-rdf-syntax-ns#\n https://www.w3.org/2000/01/rdf-schema#\n https://www.w3.org/2002/07/owl#"
            },
            {
                "name": "smw_uri_doc",
                "normalizedname": "smw_uri_doc",
                "*": "The URI resolver implements the [$1 W3C TAG finding on httpRange-14].\nIt ensures that an RDF representation (for machines) or a wiki page (for humans) is delivered depending on the request."
            },
            {
                "name": "smw_valuesubquery",
                "normalizedname": "smw_valuesubquery",
                "*": "Subqueries not supported for values of property \"$1\"."
            },
            {
                "name": "smw_viewasrdf",
                "normalizedname": "smw_viewasrdf",
                "*": "RDF feed"
            },
            {
                "name": "smw_wrong_namespace",
                "normalizedname": "smw_wrong_namespace",
                "*": "Only pages in namespace \"$1\" are allowed here."
            },
            {
                "name": "smwadmin",
                "normalizedname": "smwadmin",
                "*": "Semantic MediaWiki Dashboard"
            },
            {
                "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": "sort-initial",
                "normalizedname": "sort-initial",
                "*": "Sort initial"
            },
            {
                "name": "sort-rowspan-error",
                "normalizedname": "sort-rowspan-error",
                "*": "This page contains a table with a rowspan attribute that spans more rows than the table actually has. You can fix this by editing the page."
            },
            {
                "name": "sourcefilename",
                "normalizedname": "sourcefilename",
                "*": "Source filename:"
            },
            {
                "name": "sourceurl",
                "normalizedname": "sourceurl",
                "*": "Source URL:"
            },
            {
                "name": "sp-contributions-blocked-notice",
                "normalizedname": "sp-contributions-blocked-notice",
                "*": "This {{GENDER:$1|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-blocked-notice-anon-partial",
                "normalizedname": "sp-contributions-blocked-notice-anon-partial",
                "*": "This IP address is currently partially blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "sp-contributions-blocked-notice-partial",
                "normalizedname": "sp-contributions-blocked-notice-partial",
                "*": "This user is currently partially blocked.\nThe latest block log entry is provided below for reference:"
            },
            {
                "name": "sp-contributions-blocklog",
                "normalizedname": "sp-contributions-blocklog",
                "*": "block log"
            },
            {
                "name": "sp-contributions-concurrency-ip",
                "normalizedname": "sp-contributions-concurrency-ip",
                "*": "Sorry, too many requests are being made from your IP address. Please try again later."
            },
            {
                "name": "sp-contributions-concurrency-user",
                "normalizedname": "sp-contributions-concurrency-user",
                "*": "Sorry, too many requests are being made from your user account. Please try again later."
            },
            {
                "name": "sp-contributions-deleted",
                "normalizedname": "sp-contributions-deleted",
                "*": "deleted {{GENDER:$1|user}} contributions"
            },
            {
                "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-hideminor",
                "normalizedname": "sp-contributions-hideminor",
                "*": "Hide minor edits"
            },
            {
                "name": "sp-contributions-logs",
                "normalizedname": "sp-contributions-logs",
                "*": "logs"
            },
            {
                "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-blacklist",
                "normalizedname": "spam-blacklist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# External URLs matching this list will be blocked when added to a page.\n# This list affects only this wiki; refer also to the global block list.\n# For documentation see https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:SpamBlacklist\n#\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\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "name": "spam-blacklist-desc",
                "normalizedname": "spam-blacklist-desc",
                "*": "Regex-based anti-spam tool allowing to block list URLs in pages and email addresses for registered users"
            },
            {
                "name": "spam-blacklisted-email",
                "normalizedname": "spam-blacklisted-email",
                "*": "Forbidden email address"
            },
            {
                "name": "spam-blacklisted-email-signup",
                "normalizedname": "spam-blacklisted-email-signup",
                "*": "The given email address is currently forbidden from use."
            },
            {
                "name": "spam-blacklisted-email-text",
                "normalizedname": "spam-blacklisted-email-text",
                "*": "Your email address is currently forbidden from sending emails to other users."
            },
            {
                "name": "spam-blacklisted-link",
                "normalizedname": "spam-blacklisted-link",
                "*": "{{int:spamprotectiontext}}\n{{int:spamprotectionmatch|$1}}"
            },
            {
                "name": "spam-invalid-lines",
                "normalizedname": "spam-invalid-lines",
                "*": "The following spam block list {{PLURAL:$1|line is an|lines are}} invalid regular {{PLURAL:$1|expression|expressions}} and {{PLURAL:$1|needs|need}} to be corrected before saving the page:"
            },
            {
                "name": "spam-whitelist",
                "normalizedname": "spam-whitelist",
                "*": " #<!-- leave this line exactly as it is --> <pre>\n# External URLs matching this list will *not* be blocked even if they would\n# have been blocked by block list entries.\n#\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\n #</pre> <!-- leave this line exactly as it is -->"
            },
            {
                "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 publish was blocked by the spam filter.\nThis is probably caused by a link to a forbidden 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-runes",
                "normalizedname": "special-characters-group-runes",
                "*": "Runes"
            },
            {
                "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": "special-tab-contribute-short",
                "normalizedname": "special-tab-contribute-short",
                "*": "Contribute"
            },
            {
                "name": "special-tab-contributions-short",
                "normalizedname": "special-tab-contributions-short",
                "*": "View contributions"
            },
            {
                "name": "specialdeletepage-page",
                "normalizedname": "specialdeletepage-page",
                "*": "Target page"
            },
            {
                "name": "specialdeletepage-submit",
                "normalizedname": "specialdeletepage-submit",
                "*": "Go to page"
            },
            {
                "name": "specialeditpage-page",
                "normalizedname": "specialeditpage-page",
                "*": "Target page"
            },
            {
                "name": "specialeditpage-submit",
                "normalizedname": "specialeditpage-submit",
                "*": "Go to page"
            },
            {
                "name": "speciallogtitlelabel",
                "normalizedname": "speciallogtitlelabel",
                "*": "Target (title or {{ns:user}}:username for user):"
            },
            {
                "name": "specialloguserlabel",
                "normalizedname": "specialloguserlabel",
                "*": "Performer:"
            },
            {
                "name": "specialmute",
                "normalizedname": "specialmute",
                "*": "Mute"
            },
            {
                "name": "specialmute-email-footer",
                "normalizedname": "specialmute-email-footer",
                "*": "To manage email preferences for user {{BIDI:$2}} please visit <$1>."
            },
            {
                "name": "specialmute-error-email-disabled",
                "normalizedname": "specialmute-error-email-disabled",
                "*": "Mute features are unavailable, because the wiki administrator has disabled email features for this wiki."
            },
            {
                "name": "specialmute-error-invalid-user",
                "normalizedname": "specialmute-error-invalid-user",
                "*": "The username requested could not be found."
            },
            {
                "name": "specialmute-error-mutelist-disabled",
                "normalizedname": "specialmute-error-mutelist-disabled",
                "*": "Mute features are unavailable, because the wiki administrator has disabled the email mutelist features for this wiki."
            },
            {
                "name": "specialmute-error-no-email-set",
                "normalizedname": "specialmute-error-no-email-set",
                "*": "Mute features are unavailable, because you haven't confirmed your email address."
            },
            {
                "name": "specialmute-error-no-options",
                "normalizedname": "specialmute-error-no-options",
                "*": "Mute features are unavailable."
            },
            {
                "name": "specialmute-header",
                "normalizedname": "specialmute-header",
                "*": "Please select your mute preferences for user <b>{{BIDI:[[User:$1|$1]]}}</b>."
            },
            {
                "name": "specialmute-label-mute-email",
                "normalizedname": "specialmute-label-mute-email",
                "*": "Mute emails from this {{GENDER:$1|user}}"
            },
            {
                "name": "specialmute-login-required",
                "normalizedname": "specialmute-login-required",
                "*": "Please log in to change your mute preferences."
            },
            {
                "name": "specialmute-submit",
                "normalizedname": "specialmute-submit",
                "*": "Confirm"
            },
            {
                "name": "specialmute-success",
                "normalizedname": "specialmute-success",
                "*": "Your mute preferences have been updated. See all muted users in [[Special:Preferences|your preferences]]."
            },
            {
                "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": "specialpagehistory-page",
                "normalizedname": "specialpagehistory-page",
                "*": "Target page"
            },
            {
                "name": "specialpagehistory-submit",
                "normalizedname": "specialpagehistory-submit",
                "*": "Go to page"
            },
            {
                "name": "specialpageinfo-page",
                "normalizedname": "specialpageinfo-page",
                "*": "Target page"
            },
            {
                "name": "specialpageinfo-submit",
                "normalizedname": "specialpageinfo-submit",
                "*": "Go to page"
            },
            {
                "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",
                "*": "Account management"
            },
            {
                "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-oath",
                "normalizedname": "specialpages-group-oath",
                "*": "Two-factor authentication"
            },
            {
                "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-smw_group",
                "normalizedname": "specialpages-group-smw_group",
                "*": "Semantic MediaWiki"
            },
            {
                "name": "specialpages-group-smw_group-maintenance",
                "normalizedname": "specialpages-group-smw_group-maintenance",
                "*": "Maintenance"
            },
            {
                "name": "specialpages-group-smw_group-properties-concepts-types",
                "normalizedname": "specialpages-group-smw_group-properties-concepts-types",
                "*": "Properties, concepts, and types"
            },
            {
                "name": "specialpages-group-smw_group-search",
                "normalizedname": "specialpages-group-smw_group-search",
                "*": "Browse and search"
            },
            {
                "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": "specialprotectpage-page",
                "normalizedname": "specialprotectpage-page",
                "*": "Target page"
            },
            {
                "name": "specialprotectpage-submit",
                "normalizedname": "specialprotectpage-submit",
                "*": "Go to page"
            },
            {
                "name": "specialpurge-page",
                "normalizedname": "specialpurge-page",
                "*": "Target page"
            },
            {
                "name": "specialpurge-submit",
                "normalizedname": "specialpurge-submit",
                "*": "Go to page"
            },
            {
                "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-files-desc",
                "normalizedname": "statistics-files-desc",
                "*": ""
            },
            {
                "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 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": "subcategories",
                "normalizedname": "subcategories",
                "*": "Subcategories"
            },
            {
                "name": "subject",
                "normalizedname": "subject",
                "*": "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": "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": "syntaxhighlight-desc",
                "normalizedname": "syntaxhighlight-desc",
                "*": "Provides syntax highlighting <code>&lt;syntaxhighlight&gt;</code> using [http://pygments.org/ Pygments - Python syntax highlighter]"
            },
            {
                "name": "syntaxhighlight-enclose-category",
                "normalizedname": "syntaxhighlight-enclose-category",
                "*": "Pages using deprecated enclose attributes"
            },
            {
                "name": "syntaxhighlight-enclose-category-desc",
                "normalizedname": "syntaxhighlight-enclose-category-desc",
                "*": "The syntaxhighlighting on the page uses deprecated enclose syntax."
            },
            {
                "name": "syntaxhighlight-error-category",
                "normalizedname": "syntaxhighlight-error-category",
                "*": "Pages with syntax highlighting errors"
            },
            {
                "name": "syntaxhighlight-error-category-desc",
                "normalizedname": "syntaxhighlight-error-category-desc",
                "*": "There was an error when attempting to highlight code included on the page."
            },
            {
                "name": "syntaxhighlight-error-exceeds-size-limit",
                "normalizedname": "syntaxhighlight-error-exceeds-size-limit",
                "*": "Code size of $1 {{PLURAL:$1|bytes}} exceeds allowed maximum of $2 {{PLURAL:$2|bytes}}"
            },
            {
                "name": "syntaxhighlight-error-pygments-invocation-failure",
                "normalizedname": "syntaxhighlight-error-pygments-invocation-failure",
                "*": "Failed to invoke Pygments"
            },
            {
                "name": "syntaxhighlight-error-unknown-language",
                "normalizedname": "syntaxhighlight-error-unknown-language",
                "*": "Unknown language \"$1\""
            },
            {
                "name": "syntaxhighlight-source-category",
                "normalizedname": "syntaxhighlight-source-category",
                "*": "Pages using deprecated source tags"
            },
            {
                "name": "syntaxhighlight-source-category-desc",
                "normalizedname": "syntaxhighlight-source-category-desc",
                "*": "The syntaxhighlighting on the page uses deprecated source tags."
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-code",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-code",
                "*": "Code"
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-language",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-language",
                "*": "Language"
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-none",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-none",
                "*": "(None)"
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-showlines",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-showlines",
                "*": "Show line numbers"
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-startingline",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-startingline",
                "*": "Starting line number"
            },
            {
                "name": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-title",
                "normalizedname": "syntaxhighlight-visualeditor-mwsyntaxhighlightinspector-title",
                "*": "Code block"
            },
            {
                "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*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-block-ip|$3}}\n{{int:blockedtext-include-details-queries}}"
            },
            {
                "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-abusefilter-condition-limit",
                "normalizedname": "tag-abusefilter-condition-limit",
                "*": "condition limit reached"
            },
            {
                "name": "tag-abusefilter-condition-limit-description",
                "normalizedname": "tag-abusefilter-condition-limit-description",
                "*": "Edits or other events that couldn't be checked by all active [[Special:AbuseFilter|abuse filters]] ([[mw:Extension:AbuseFilter/Conditions|help]])."
            },
            {
                "name": "tag-discussiontools",
                "normalizedname": "tag-discussiontools",
                "*": "-"
            },
            {
                "name": "tag-discussiontools-added-comment",
                "normalizedname": "tag-discussiontools-added-comment",
                "*": "-"
            },
            {
                "name": "tag-discussiontools-added-comment-description",
                "normalizedname": "tag-discussiontools-added-comment-description",
                "*": "A talk page comment was added in this edit"
            },
            {
                "name": "tag-discussiontools-description",
                "normalizedname": "tag-discussiontools-description",
                "*": "Edit made using DiscussionTools"
            },
            {
                "name": "tag-discussiontools-edit",
                "normalizedname": "tag-discussiontools-edit",
                "*": "Edited comment"
            },
            {
                "name": "tag-discussiontools-edit-description",
                "normalizedname": "tag-discussiontools-edit-description",
                "*": "User edited an existing comment with DiscussionTools"
            },
            {
                "name": "tag-discussiontools-newtopic",
                "normalizedname": "tag-discussiontools-newtopic",
                "*": "[{{int:discussiontools-replywidget-newtopic-link}} New topic]"
            },
            {
                "name": "tag-discussiontools-newtopic-description",
                "normalizedname": "tag-discussiontools-newtopic-description",
                "*": "User added a new topic to the page with DiscussionTools"
            },
            {
                "name": "tag-discussiontools-reply",
                "normalizedname": "tag-discussiontools-reply",
                "*": "[{{int:discussiontools-replywidget-reply-link}} Reply]"
            },
            {
                "name": "tag-discussiontools-reply-description",
                "normalizedname": "tag-discussiontools-reply-description",
                "*": "User replied to a comment with DiscussionTools"
            },
            {
                "name": "tag-discussiontools-source",
                "normalizedname": "tag-discussiontools-source",
                "*": "-"
            },
            {
                "name": "tag-discussiontools-source-description",
                "normalizedname": "tag-discussiontools-source-description",
                "*": "DiscussionTools was in source mode"
            },
            {
                "name": "tag-discussiontools-source-enhanced",
                "normalizedname": "tag-discussiontools-source-enhanced",
                "*": ""
            },
            {
                "name": "tag-discussiontools-source-enhanced-description",
                "normalizedname": "tag-discussiontools-source-enhanced-description",
                "*": "DiscussionTools was in enhanced source mode with the toolbar"
            },
            {
                "name": "tag-discussiontools-visual",
                "normalizedname": "tag-discussiontools-visual",
                "*": "-"
            },
            {
                "name": "tag-discussiontools-visual-description",
                "normalizedname": "tag-discussiontools-visual-description",
                "*": "DiscussionTools was in visual mode"
            },
            {
                "name": "tag-editcheck-newcontent",
                "normalizedname": "tag-editcheck-newcontent",
                "*": "-"
            },
            {
                "name": "tag-editcheck-newcontent-description",
                "normalizedname": "tag-editcheck-newcontent-description",
                "*": "EditCheck thinks new content was added to the page"
            },
            {
                "name": "tag-editcheck-newreference",
                "normalizedname": "tag-editcheck-newreference",
                "*": "-"
            },
            {
                "name": "tag-editcheck-newreference-description",
                "normalizedname": "tag-editcheck-newreference-description",
                "*": "A reference was added to the page"
            },
            {
                "name": "tag-editcheck-reference-decline-common-knowledge",
                "normalizedname": "tag-editcheck-reference-decline-common-knowledge",
                "*": "Edit Check (references) declined (common knowledge)"
            },
            {
                "name": "tag-editcheck-reference-decline-common-knowledge-description",
                "normalizedname": "tag-editcheck-reference-decline-common-knowledge-description",
                "*": "EditCheck reference was declined as common knowledge"
            },
            {
                "name": "tag-editcheck-reference-decline-irrelevant",
                "normalizedname": "tag-editcheck-reference-decline-irrelevant",
                "*": "Edit Check (references) declined (irrelevant)"
            },
            {
                "name": "tag-editcheck-reference-decline-irrelevant-description",
                "normalizedname": "tag-editcheck-reference-decline-irrelevant-description",
                "*": "EditCheck reference was declined as irrelevant"
            },
            {
                "name": "tag-editcheck-reference-decline-other",
                "normalizedname": "tag-editcheck-reference-decline-other",
                "*": "Edit Check (references) declined (other)"
            },
            {
                "name": "tag-editcheck-reference-decline-other-description",
                "normalizedname": "tag-editcheck-reference-decline-other-description",
                "*": "EditCheck reference was declined for an unlisted reason"
            },
            {
                "name": "tag-editcheck-reference-decline-uncertain",
                "normalizedname": "tag-editcheck-reference-decline-uncertain",
                "*": "Edit Check (references) declined (uncertain)"
            },
            {
                "name": "tag-editcheck-reference-decline-uncertain-description",
                "normalizedname": "tag-editcheck-reference-decline-uncertain-description",
                "*": "EditCheck reference was declined as being uncertain"
            },
            {
                "name": "tag-editcheck-references",
                "normalizedname": "tag-editcheck-references",
                "*": "-"
            },
            {
                "name": "tag-editcheck-references-activated",
                "normalizedname": "tag-editcheck-references-activated",
                "*": "Edit Check (references) activated"
            },
            {
                "name": "tag-editcheck-references-activated-description",
                "normalizedname": "tag-editcheck-references-activated-description",
                "*": "EditCheck thinks a reference might have been needed, and the UI was shown"
            },
            {
                "name": "tag-editcheck-references-description",
                "normalizedname": "tag-editcheck-references-description",
                "*": "EditCheck thinks a reference might have been needed"
            },
            {
                "name": "tag-filter",
                "normalizedname": "tag-filter",
                "*": "[[Special:Tags|Tag]] filter:"
            },
            {
                "name": "tag-filter-submit",
                "normalizedname": "tag-filter-submit",
                "*": "Filter"
            },
            {
                "name": "tag-hidden",
                "normalizedname": "tag-hidden",
                "*": "$1 (hidden tag)"
            },
            {
                "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-manual-revert",
                "normalizedname": "tag-mw-manual-revert",
                "*": "Manual revert"
            },
            {
                "name": "tag-mw-manual-revert-description",
                "normalizedname": "tag-mw-manual-revert-description",
                "*": "Edits that manually restore the page to an exact previous state"
            },
            {
                "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-reverted",
                "normalizedname": "tag-mw-reverted",
                "*": "Reverted"
            },
            {
                "name": "tag-mw-reverted-description",
                "normalizedname": "tag-mw-reverted-description",
                "*": "Edits that were later reverted by a different edit"
            },
            {
                "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-server-side-upload",
                "normalizedname": "tag-mw-server-side-upload",
                "*": "Server-side upload"
            },
            {
                "name": "tag-mw-server-side-upload-description",
                "normalizedname": "tag-mw-server-side-upload-description",
                "*": "Media files that were uploaded via a maintenance script"
            },
            {
                "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": "tag-uploadwizard",
                "normalizedname": "tag-uploadwizard",
                "*": "Upload Wizard"
            },
            {
                "name": "tag-uploadwizard-description",
                "normalizedname": "tag-uploadwizard-description",
                "*": "Uploads made with Upload Wizard"
            },
            {
                "name": "tag-uploadwizard-flickr",
                "normalizedname": "tag-uploadwizard-flickr",
                "*": "Flickr"
            },
            {
                "name": "tag-uploadwizard-flickr-description",
                "normalizedname": "tag-uploadwizard-flickr-description",
                "*": "Flickr uploads made with Upload Wizard"
            },
            {
                "name": "tag-visualeditor",
                "normalizedname": "tag-visualeditor",
                "*": "[[{{MediaWiki:visualeditor-descriptionpagelink}}|Visual edit]]"
            },
            {
                "name": "tag-visualeditor-description",
                "normalizedname": "tag-visualeditor-description",
                "*": "Edit made using the [[{{MediaWiki:visualeditor-descriptionpagelink}}|visual editor]]"
            },
            {
                "name": "tag-visualeditor-needcheck",
                "normalizedname": "tag-visualeditor-needcheck",
                "*": "[[{{MediaWiki:visualeditor-descriptionpagelink}}|Visual edit: Check]]"
            },
            {
                "name": "tag-visualeditor-needcheck-description",
                "normalizedname": "tag-visualeditor-needcheck-description",
                "*": "Edit made using the [[{{MediaWiki:visualeditor-descriptionpagelink}}|visual editor]] where the system detected the wikitext possibly having unintended changes."
            },
            {
                "name": "tag-visualeditor-switched",
                "normalizedname": "tag-visualeditor-switched",
                "*": "[[{{MediaWiki:visualeditor-descriptionpagelink}}|Visual edit: Switched]]"
            },
            {
                "name": "tag-visualeditor-switched-description",
                "normalizedname": "tag-visualeditor-switched-description",
                "*": "User started to edit using the visual editor, then changed to the wikitext editor."
            },
            {
                "name": "tag-visualeditor-wikitext",
                "normalizedname": "tag-visualeditor-wikitext",
                "*": "2017 source edit"
            },
            {
                "name": "tag-visualeditor-wikitext-description",
                "normalizedname": "tag-visualeditor-wikitext-description",
                "*": "Edit made using the 2017 wikitext editor"
            },
            {
                "name": "tag-wikieditor",
                "normalizedname": "tag-wikieditor",
                "*": "-"
            },
            {
                "name": "tag-wikieditor-description",
                "normalizedname": "tag-wikieditor-description",
                "*": "Edit made using [[mw:Special:MyLanguage/Extension:WikiEditor|WikiEditor]] (2010 wikitext editor)"
            },
            {
                "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-hidden",
                "normalizedname": "tags-hidden",
                "*": "(hidden)"
            },
            {
                "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": "temp-user-banner-description",
                "normalizedname": "temp-user-banner-description",
                "*": "You are using a temporary account"
            },
            {
                "name": "temp-user-banner-tooltip-description-learn-more",
                "normalizedname": "temp-user-banner-tooltip-description-learn-more",
                "*": "This temporary account was created after an edit was made without an account on this browser and device. [[mw:Help:Temporary_accounts|Learn more]]."
            },
            {
                "name": "temp-user-banner-tooltip-description-login",
                "normalizedname": "temp-user-banner-tooltip-description-login",
                "*": "[[Special:UserLogin|Log in]] or [[Special:CreateAccount|create an account]] to get credit for future edits and access other features."
            },
            {
                "name": "temp-user-banner-tooltip-label",
                "normalizedname": "temp-user-banner-tooltip-label",
                "*": "More information on temporary accounts"
            },
            {
                "name": "temp-user-banner-tooltip-title",
                "normalizedname": "temp-user-banner-tooltip-title",
                "*": "Temporary account"
            },
            {
                "name": "template-equals-category",
                "normalizedname": "template-equals-category",
                "*": "Pages which use = as a template"
            },
            {
                "name": "template-equals-category-desc",
                "normalizedname": "template-equals-category-desc",
                "*": "The page contains <code><nowiki>{{=}}</nowiki></code> but on this wiki that does not expand to <code>=</code>. This usage is deprecated; a future MediaWiki version will implement <code><nowiki>{{=}}</nowiki></code> as a parser function."
            },
            {
                "name": "template-equals-warning",
                "normalizedname": "template-equals-warning",
                "*": "<strong>Warning:</strong> This page uses <code><nowiki>{{=}}</nowiki></code> but on this wiki that does not expand to <code>=</code>. This usage is deprecated; a future MediaWiki version will implement <code><nowiki>{{=}}</nowiki></code> as a parser function."
            },
            {
                "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": "templatedata-desc",
                "normalizedname": "templatedata-desc",
                "*": "Implements data storage for template parameters (using JSON)"
            },
            {
                "name": "templatedata-doc-desc-empty",
                "normalizedname": "templatedata-doc-desc-empty",
                "*": "No description."
            },
            {
                "name": "templatedata-doc-format-block",
                "normalizedname": "templatedata-doc-format-block",
                "*": "This template prefers block formatting of parameters."
            },
            {
                "name": "templatedata-doc-format-custom",
                "normalizedname": "templatedata-doc-format-custom",
                "*": "This template has custom formatting."
            },
            {
                "name": "templatedata-doc-format-inline",
                "normalizedname": "templatedata-doc-format-inline",
                "*": "This template prefers inline formatting of parameters."
            },
            {
                "name": "templatedata-doc-no-params-set",
                "normalizedname": "templatedata-doc-no-params-set",
                "*": "No parameters specified"
            },
            {
                "name": "templatedata-doc-param-autovalue",
                "normalizedname": "templatedata-doc-param-autovalue",
                "*": "Auto value"
            },
            {
                "name": "templatedata-doc-param-default",
                "normalizedname": "templatedata-doc-param-default",
                "*": "Default"
            },
            {
                "name": "templatedata-doc-param-desc",
                "normalizedname": "templatedata-doc-param-desc",
                "*": "Description"
            },
            {
                "name": "templatedata-doc-param-desc-empty",
                "normalizedname": "templatedata-doc-param-desc-empty",
                "*": "no description"
            },
            {
                "name": "templatedata-doc-param-example",
                "normalizedname": "templatedata-doc-param-example",
                "*": "Example"
            },
            {
                "name": "templatedata-doc-param-name",
                "normalizedname": "templatedata-doc-param-name",
                "*": "Parameter"
            },
            {
                "name": "templatedata-doc-param-status",
                "normalizedname": "templatedata-doc-param-status",
                "*": "Status"
            },
            {
                "name": "templatedata-doc-param-status-deprecated",
                "normalizedname": "templatedata-doc-param-status-deprecated",
                "*": "deprecated"
            },
            {
                "name": "templatedata-doc-param-status-optional",
                "normalizedname": "templatedata-doc-param-status-optional",
                "*": "optional"
            },
            {
                "name": "templatedata-doc-param-status-required",
                "normalizedname": "templatedata-doc-param-status-required",
                "*": "required"
            },
            {
                "name": "templatedata-doc-param-status-suggested",
                "normalizedname": "templatedata-doc-param-status-suggested",
                "*": "suggested"
            },
            {
                "name": "templatedata-doc-param-suggestedvalues",
                "normalizedname": "templatedata-doc-param-suggestedvalues",
                "*": "Suggested values"
            },
            {
                "name": "templatedata-doc-param-type",
                "normalizedname": "templatedata-doc-param-type",
                "*": "Type"
            },
            {
                "name": "templatedata-doc-param-type-boolean",
                "normalizedname": "templatedata-doc-param-type-boolean",
                "*": "Boolean"
            },
            {
                "name": "templatedata-doc-param-type-content",
                "normalizedname": "templatedata-doc-param-type-content",
                "*": "Content"
            },
            {
                "name": "templatedata-doc-param-type-date",
                "normalizedname": "templatedata-doc-param-type-date",
                "*": "Date"
            },
            {
                "name": "templatedata-doc-param-type-line",
                "normalizedname": "templatedata-doc-param-type-line",
                "*": "Line"
            },
            {
                "name": "templatedata-doc-param-type-number",
                "normalizedname": "templatedata-doc-param-type-number",
                "*": "Number"
            },
            {
                "name": "templatedata-doc-param-type-string",
                "normalizedname": "templatedata-doc-param-type-string",
                "*": "String"
            },
            {
                "name": "templatedata-doc-param-type-unbalanced-wikitext",
                "normalizedname": "templatedata-doc-param-type-unbalanced-wikitext",
                "*": "Unbalanced wikitext"
            },
            {
                "name": "templatedata-doc-param-type-unknown",
                "normalizedname": "templatedata-doc-param-type-unknown",
                "*": "Unknown"
            },
            {
                "name": "templatedata-doc-param-type-url",
                "normalizedname": "templatedata-doc-param-type-url",
                "*": "URL"
            },
            {
                "name": "templatedata-doc-param-type-wiki-file-name",
                "normalizedname": "templatedata-doc-param-type-wiki-file-name",
                "*": "File"
            },
            {
                "name": "templatedata-doc-param-type-wiki-page-name",
                "normalizedname": "templatedata-doc-param-type-wiki-page-name",
                "*": "Page name"
            },
            {
                "name": "templatedata-doc-param-type-wiki-template-name",
                "normalizedname": "templatedata-doc-param-type-wiki-template-name",
                "*": "Template"
            },
            {
                "name": "templatedata-doc-param-type-wiki-user-name",
                "normalizedname": "templatedata-doc-param-type-wiki-user-name",
                "*": "User"
            },
            {
                "name": "templatedata-doc-params",
                "normalizedname": "templatedata-doc-params",
                "*": "Template parameters"
            },
            {
                "name": "templatedata-doc-subpage",
                "normalizedname": "templatedata-doc-subpage",
                "*": "doc"
            },
            {
                "name": "templatedata-editbutton",
                "normalizedname": "templatedata-editbutton",
                "*": "Edit template data"
            },
            {
                "name": "templatedata-errormsg-insertblank",
                "normalizedname": "templatedata-errormsg-insertblank",
                "*": "Are you sure you want to insert template data with no information?"
            },
            {
                "name": "templatedata-errormsg-jsonbadformat",
                "normalizedname": "templatedata-errormsg-jsonbadformat",
                "*": "Bad JSON format. You can cancel this operation so you can correct it, delete the current <templatedata> tags and try again, or continue to replace the current template data with a new one."
            },
            {
                "name": "templatedata-exists-on-related-page",
                "normalizedname": "templatedata-exists-on-related-page",
                "*": "Please note: there is already a template data block on the related page \"[[$1]]\"."
            },
            {
                "name": "templatedata-helplink",
                "normalizedname": "templatedata-helplink",
                "*": "Information about template data"
            },
            {
                "name": "templatedata-helplink-target",
                "normalizedname": "templatedata-helplink-target",
                "*": "//www.mediawiki.org/wiki/Special:MyLanguage/Help:TemplateData"
            },
            {
                "name": "templatedata-invalid-duplicate-value",
                "normalizedname": "templatedata-invalid-duplicate-value",
                "*": "Property \"$1\" (\"$3\") is a duplicate of \"$2\"."
            },
            {
                "name": "templatedata-invalid-empty-array",
                "normalizedname": "templatedata-invalid-empty-array",
                "*": "Property \"$1\" must have at least one value in its array."
            },
            {
                "name": "templatedata-invalid-format",
                "normalizedname": "templatedata-invalid-format",
                "*": "Property \"$1\" is expected to be \"inline\", \"block\", or a valid format string."
            },
            {
                "name": "templatedata-invalid-length",
                "normalizedname": "templatedata-invalid-length",
                "*": "Data too large to save ($1 {{PLURAL:$1|byte|bytes}}, {{PLURAL:$2|limit is}} $2)"
            },
            {
                "name": "templatedata-invalid-missing",
                "normalizedname": "templatedata-invalid-missing",
                "*": "Required property \"$1\" not found."
            },
            {
                "name": "templatedata-invalid-param",
                "normalizedname": "templatedata-invalid-param",
                "*": "Invalid parameter \"$1\" for property \"$2\"."
            },
            {
                "name": "templatedata-invalid-parse",
                "normalizedname": "templatedata-invalid-parse",
                "*": "Syntax error in JSON."
            },
            {
                "name": "templatedata-invalid-type",
                "normalizedname": "templatedata-invalid-type",
                "*": "Property \"$1\" is expected to be of type \"$2\"."
            },
            {
                "name": "templatedata-invalid-unknown",
                "normalizedname": "templatedata-invalid-unknown",
                "*": "Unexpected property \"$1\"."
            },
            {
                "name": "templatedata-invalid-unnamed-parameter",
                "normalizedname": "templatedata-invalid-unnamed-parameter",
                "*": "Parameter names cannot be empty. To document unnamed parameters use their internal numbers \"1\", \"2\", and so on."
            },
            {
                "name": "templatedata-invalid-value",
                "normalizedname": "templatedata-invalid-value",
                "*": "Invalid value for property \"$1\"."
            },
            {
                "name": "templatedata-modal-button-add-language",
                "normalizedname": "templatedata-modal-button-add-language",
                "*": "Add language"
            },
            {
                "name": "templatedata-modal-button-addmap",
                "normalizedname": "templatedata-modal-button-addmap",
                "*": "Add new map"
            },
            {
                "name": "templatedata-modal-button-addparam",
                "normalizedname": "templatedata-modal-button-addparam",
                "*": "Add parameter"
            },
            {
                "name": "templatedata-modal-button-apply",
                "normalizedname": "templatedata-modal-button-apply",
                "*": "Apply"
            },
            {
                "name": "templatedata-modal-button-back",
                "normalizedname": "templatedata-modal-button-back",
                "*": "Back"
            },
            {
                "name": "templatedata-modal-button-cancel",
                "normalizedname": "templatedata-modal-button-cancel",
                "*": "Cancel"
            },
            {
                "name": "templatedata-modal-button-changelang",
                "normalizedname": "templatedata-modal-button-changelang",
                "*": "Change language"
            },
            {
                "name": "templatedata-modal-button-delparam",
                "normalizedname": "templatedata-modal-button-delparam",
                "*": "Remove parameter information"
            },
            {
                "name": "templatedata-modal-button-done",
                "normalizedname": "templatedata-modal-button-done",
                "*": "Done"
            },
            {
                "name": "templatedata-modal-button-importParams",
                "normalizedname": "templatedata-modal-button-importParams",
                "*": "Import parameters"
            },
            {
                "name": "templatedata-modal-button-map",
                "normalizedname": "templatedata-modal-button-map",
                "*": "Edit maps"
            },
            {
                "name": "templatedata-modal-button-removemap",
                "normalizedname": "templatedata-modal-button-removemap",
                "*": "Remove map"
            },
            {
                "name": "templatedata-modal-button-restoreparam",
                "normalizedname": "templatedata-modal-button-restoreparam",
                "*": "Restore parameter"
            },
            {
                "name": "templatedata-modal-button-saveparam",
                "normalizedname": "templatedata-modal-button-saveparam",
                "*": "Save"
            },
            {
                "name": "templatedata-modal-confirmcancel",
                "normalizedname": "templatedata-modal-confirmcancel",
                "*": "Are you sure you want to discard your changes?"
            },
            {
                "name": "templatedata-modal-current-language",
                "normalizedname": "templatedata-modal-current-language",
                "*": "Current language: $1"
            },
            {
                "name": "templatedata-modal-errormsg",
                "normalizedname": "templatedata-modal-errormsg",
                "*": "Errors found. Please make sure there are no empty or duplicate parameter names, and that the parameter name does not include \"$1\", \"$2\" or \"$3\"."
            },
            {
                "name": "templatedata-modal-errormsg-duplicate-name",
                "normalizedname": "templatedata-modal-errormsg-duplicate-name",
                "*": "Error found. The chosen name is already in use by another parameter."
            },
            {
                "name": "templatedata-modal-errormsg-import-noparams",
                "normalizedname": "templatedata-modal-errormsg-import-noparams",
                "*": "No new parameters found during import."
            },
            {
                "name": "templatedata-modal-format-block",
                "normalizedname": "templatedata-modal-format-block",
                "*": "Block"
            },
            {
                "name": "templatedata-modal-format-custom",
                "normalizedname": "templatedata-modal-format-custom",
                "*": "Custom"
            },
            {
                "name": "templatedata-modal-format-inline",
                "normalizedname": "templatedata-modal-format-inline",
                "*": "Inline"
            },
            {
                "name": "templatedata-modal-format-null",
                "normalizedname": "templatedata-modal-format-null",
                "*": "Unspecified"
            },
            {
                "name": "templatedata-modal-format-placeholder",
                "normalizedname": "templatedata-modal-format-placeholder",
                "*": "Template parameter format string"
            },
            {
                "name": "templatedata-modal-json-error-replace",
                "normalizedname": "templatedata-modal-json-error-replace",
                "*": "Replace"
            },
            {
                "name": "templatedata-modal-notice-import-numparams",
                "normalizedname": "templatedata-modal-notice-import-numparams",
                "*": "$1 new {{PLURAL:$1|parameter was|parameters were}} imported: $2"
            },
            {
                "name": "templatedata-modal-placeholder-add-new-map-input",
                "normalizedname": "templatedata-modal-placeholder-add-new-map-input",
                "*": "Adding new map..."
            },
            {
                "name": "templatedata-modal-placeholder-mapinfo",
                "normalizedname": "templatedata-modal-placeholder-mapinfo",
                "*": "This template has no maps object"
            },
            {
                "name": "templatedata-modal-placeholder-multiselect",
                "normalizedname": "templatedata-modal-placeholder-multiselect",
                "*": "Add value..."
            },
            {
                "name": "templatedata-modal-placeholder-paramkey",
                "normalizedname": "templatedata-modal-placeholder-paramkey",
                "*": "Parameter name"
            },
            {
                "name": "templatedata-modal-placeholder-prompt-map-name",
                "normalizedname": "templatedata-modal-placeholder-prompt-map-name",
                "*": "Enter map name"
            },
            {
                "name": "templatedata-modal-search-input-placeholder",
                "normalizedname": "templatedata-modal-search-input-placeholder",
                "*": "Search by language name or code"
            },
            {
                "name": "templatedata-modal-table-param-aliases",
                "normalizedname": "templatedata-modal-table-param-aliases",
                "*": "Aliases"
            },
            {
                "name": "templatedata-modal-table-param-autovalue",
                "normalizedname": "templatedata-modal-table-param-autovalue",
                "*": "Auto value"
            },
            {
                "name": "templatedata-modal-table-param-default",
                "normalizedname": "templatedata-modal-table-param-default",
                "*": "Default ($1)"
            },
            {
                "name": "templatedata-modal-table-param-deprecated",
                "normalizedname": "templatedata-modal-table-param-deprecated",
                "*": "Deprecated"
            },
            {
                "name": "templatedata-modal-table-param-deprecatedValue",
                "normalizedname": "templatedata-modal-table-param-deprecatedValue",
                "*": "Deprecated guidance"
            },
            {
                "name": "templatedata-modal-table-param-description",
                "normalizedname": "templatedata-modal-table-param-description",
                "*": "Description ($1)"
            },
            {
                "name": "templatedata-modal-table-param-example",
                "normalizedname": "templatedata-modal-table-param-example",
                "*": "Example ($1)"
            },
            {
                "name": "templatedata-modal-table-param-importoption",
                "normalizedname": "templatedata-modal-table-param-importoption",
                "*": "Add $1 suggested {{PLURAL:$1|parameter|parameters}}"
            },
            {
                "name": "templatedata-modal-table-param-importoption-subtitle",
                "normalizedname": "templatedata-modal-table-param-importoption-subtitle",
                "*": "Including: $1"
            },
            {
                "name": "templatedata-modal-table-param-label",
                "normalizedname": "templatedata-modal-table-param-label",
                "*": "Label ($1)"
            },
            {
                "name": "templatedata-modal-table-param-name",
                "normalizedname": "templatedata-modal-table-param-name",
                "*": "Name"
            },
            {
                "name": "templatedata-modal-table-param-required",
                "normalizedname": "templatedata-modal-table-param-required",
                "*": "Required"
            },
            {
                "name": "templatedata-modal-table-param-suggested",
                "normalizedname": "templatedata-modal-table-param-suggested",
                "*": "Suggested"
            },
            {
                "name": "templatedata-modal-table-param-suggestedvalues",
                "normalizedname": "templatedata-modal-table-param-suggestedvalues",
                "*": "Suggested values"
            },
            {
                "name": "templatedata-modal-table-param-type",
                "normalizedname": "templatedata-modal-table-param-type",
                "*": "Type"
            },
            {
                "name": "templatedata-modal-title",
                "normalizedname": "templatedata-modal-title",
                "*": "Template data editor"
            },
            {
                "name": "templatedata-modal-title-addparam",
                "normalizedname": "templatedata-modal-title-addparam",
                "*": "Add new parameter"
            },
            {
                "name": "templatedata-modal-title-choose-language",
                "normalizedname": "templatedata-modal-title-choose-language",
                "*": "Choose language"
            },
            {
                "name": "templatedata-modal-title-language",
                "normalizedname": "templatedata-modal-title-language",
                "*": "Language"
            },
            {
                "name": "templatedata-modal-title-paramorder",
                "normalizedname": "templatedata-modal-title-paramorder",
                "*": "Parameter order"
            },
            {
                "name": "templatedata-modal-title-templatedesc",
                "normalizedname": "templatedata-modal-title-templatedesc",
                "*": "Template description ($1)"
            },
            {
                "name": "templatedata-modal-title-templateformat",
                "normalizedname": "templatedata-modal-title-templateformat",
                "*": "Suggested wikitext formatting"
            },
            {
                "name": "templatedata-modal-title-templateformatstring",
                "normalizedname": "templatedata-modal-title-templateformatstring",
                "*": "Custom format string"
            },
            {
                "name": "templatedata-modal-title-templateparam-details",
                "normalizedname": "templatedata-modal-title-templateparam-details",
                "*": "Parameter details: $1"
            },
            {
                "name": "templatedata-modal-title-templateparams",
                "normalizedname": "templatedata-modal-title-templateparams",
                "*": "Template parameters"
            },
            {
                "name": "templatepage",
                "normalizedname": "templatepage",
                "*": "View template page"
            },
            {
                "name": "templatestyles",
                "normalizedname": "templatestyles",
                "*": "TemplateStyles"
            },
            {
                "name": "templatestyles-bad-src",
                "normalizedname": "templatestyles-bad-src",
                "*": "Page [[:$1|$2]] must have content model \"{{int:content-model-sanitized-css}}\" for TemplateStyles (current model is \"$3\")."
            },
            {
                "name": "templatestyles-bad-src-missing",
                "normalizedname": "templatestyles-bad-src-missing",
                "*": "Page [[:$1|$2]] has no content."
            },
            {
                "name": "templatestyles-desc",
                "normalizedname": "templatestyles-desc",
                "*": "Implement per-template style sheets"
            },
            {
                "name": "templatestyles-end-tag-injection",
                "normalizedname": "templatestyles-end-tag-injection",
                "*": "The supplied stylesheet contains <code>&lt;/style</code>, which is not allowed."
            },
            {
                "name": "templatestyles-error-at-rule-block-not-allowed",
                "normalizedname": "templatestyles-error-at-rule-block-not-allowed",
                "*": "Block not allowed for <code>@$3</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-at-rule-block-required",
                "normalizedname": "templatestyles-error-at-rule-block-required",
                "*": "Block required for <code>@$3</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-bad-character-in-url",
                "normalizedname": "templatestyles-error-bad-character-in-url",
                "*": "Invalid character in URL at line $1 character $2."
            },
            {
                "name": "templatestyles-error-bad-escape",
                "normalizedname": "templatestyles-error-bad-escape",
                "*": "Invalid character in escape at line $1 character $2."
            },
            {
                "name": "templatestyles-error-bad-value-for-property",
                "normalizedname": "templatestyles-error-bad-value-for-property",
                "*": "Invalid or unsupported value for property <code>$3</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-at-rule",
                "normalizedname": "templatestyles-error-expected-at-rule",
                "*": "Expected <code>@$3</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-colon",
                "normalizedname": "templatestyles-error-expected-colon",
                "*": "Expected a colon at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-declaration",
                "normalizedname": "templatestyles-error-expected-declaration",
                "*": "Expected a declaration at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-declaration-list",
                "normalizedname": "templatestyles-error-expected-declaration-list",
                "*": "Expected a declaration list at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-eof",
                "normalizedname": "templatestyles-error-expected-eof",
                "*": "Expected the end of the stylesheet at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-ident",
                "normalizedname": "templatestyles-error-expected-ident",
                "*": "Expected an identifier a line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-page-margin-at-rule",
                "normalizedname": "templatestyles-error-expected-page-margin-at-rule",
                "*": "Expected a <code>@page</code> margin at-rule at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-qualified-rule",
                "normalizedname": "templatestyles-error-expected-qualified-rule",
                "*": "Expected a style rule at line $1 character $2."
            },
            {
                "name": "templatestyles-error-expected-stylesheet",
                "normalizedname": "templatestyles-error-expected-stylesheet",
                "*": "Expected a stylesheet at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-font-face-at-rule",
                "normalizedname": "templatestyles-error-invalid-font-face-at-rule",
                "*": "<code>@font-face</code> does not allow anything before the block at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-font-feature-value",
                "normalizedname": "templatestyles-error-invalid-font-feature-value",
                "*": "<code>@$3</code> does not allow anything before the block at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-font-feature-value-declaration",
                "normalizedname": "templatestyles-error-invalid-font-feature-value-declaration",
                "*": "Invalid value for font feature value property at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-font-feature-values-font-list",
                "normalizedname": "templatestyles-error-invalid-font-feature-values-font-list",
                "*": "Invalid font list for <code>@font-feature-values</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-import-value",
                "normalizedname": "templatestyles-error-invalid-import-value",
                "*": "Invalid value for <code>@import</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-keyframe-name",
                "normalizedname": "templatestyles-error-invalid-keyframe-name",
                "*": "Invalid keyframe name at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-media-query",
                "normalizedname": "templatestyles-error-invalid-media-query",
                "*": "Invalid media query at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-namespace-value",
                "normalizedname": "templatestyles-error-invalid-namespace-value",
                "*": "Invalid value for <code>@namespace</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-page-margin-at-rule",
                "normalizedname": "templatestyles-error-invalid-page-margin-at-rule",
                "*": "<code>@$3</code> does not allow anything before the block at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-page-rule-content",
                "normalizedname": "templatestyles-error-invalid-page-rule-content",
                "*": "Invalid content for <code>@page</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-page-selector",
                "normalizedname": "templatestyles-error-invalid-page-selector",
                "*": "Invalid page selector at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-selector-list",
                "normalizedname": "templatestyles-error-invalid-selector-list",
                "*": "Invalid selector list at line $1 character $2."
            },
            {
                "name": "templatestyles-error-invalid-supports-condition",
                "normalizedname": "templatestyles-error-invalid-supports-condition",
                "*": "Invalid condition for <code>@supports</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-misordered-rule",
                "normalizedname": "templatestyles-error-misordered-rule",
                "*": "Misordered rule at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-font-feature-values-font-list",
                "normalizedname": "templatestyles-error-missing-font-feature-values-font-list",
                "*": "Missing font list for <code>@font-feature-values</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-import-source",
                "normalizedname": "templatestyles-error-missing-import-source",
                "*": "Missing source for <code>@import</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-keyframe-name",
                "normalizedname": "templatestyles-error-missing-keyframe-name",
                "*": "Missing name for <code>@keyframes</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-namespace-value",
                "normalizedname": "templatestyles-error-missing-namespace-value",
                "*": "Missing value for <code>@namespace</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-selector-list",
                "normalizedname": "templatestyles-error-missing-selector-list",
                "*": "Missing selector list at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-supports-condition",
                "normalizedname": "templatestyles-error-missing-supports-condition",
                "*": "Missing condition for <code>@supports</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-missing-value-for-property",
                "normalizedname": "templatestyles-error-missing-value-for-property",
                "*": "Missing value for property <code>$3</code> at line $1 character $2."
            },
            {
                "name": "templatestyles-error-newline-in-string",
                "normalizedname": "templatestyles-error-newline-in-string",
                "*": "Invalid newline in string at line $1 character $2."
            },
            {
                "name": "templatestyles-error-recursion-depth-exceeded",
                "normalizedname": "templatestyles-error-recursion-depth-exceeded",
                "*": "Too many nested blocks and/or functions at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unclosed-comment",
                "normalizedname": "templatestyles-error-unclosed-comment",
                "*": "Unclosed comment starting at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unclosed-string",
                "normalizedname": "templatestyles-error-unclosed-string",
                "*": "Unclosed string starting at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unclosed-url",
                "normalizedname": "templatestyles-error-unclosed-url",
                "*": "Unclosed URL at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unexpected-eof",
                "normalizedname": "templatestyles-error-unexpected-eof",
                "*": "Unexpected end of stylesheet at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unexpected-eof-in-block",
                "normalizedname": "templatestyles-error-unexpected-eof-in-block",
                "*": "Unexpected end of stylesheet in block at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unexpected-eof-in-function",
                "normalizedname": "templatestyles-error-unexpected-eof-in-function",
                "*": "Unexpected end of stylesheet in function at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unexpected-eof-in-rule",
                "normalizedname": "templatestyles-error-unexpected-eof-in-rule",
                "*": "Unexpected end of stylesheet in rule at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unexpected-token-in-declaration-list",
                "normalizedname": "templatestyles-error-unexpected-token-in-declaration-list",
                "*": "Unexpected token in declaration list at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unrecognized-property",
                "normalizedname": "templatestyles-error-unrecognized-property",
                "*": "Unrecognized or unsupported property at line $1 character $2."
            },
            {
                "name": "templatestyles-error-unrecognized-rule",
                "normalizedname": "templatestyles-error-unrecognized-rule",
                "*": "Unrecognized or unsupported rule at line $1 character $2."
            },
            {
                "name": "templatestyles-errorcomment",
                "normalizedname": "templatestyles-errorcomment",
                "*": "Errors processing stylesheet [[:$1]] (rev $2):\n$3"
            },
            {
                "name": "templatestyles-invalid-src",
                "normalizedname": "templatestyles-invalid-src",
                "*": "Invalid title for TemplateStyles' <code>src</code> attribute."
            },
            {
                "name": "templatestyles-invalid-wrapper",
                "normalizedname": "templatestyles-invalid-wrapper",
                "*": "Invalid value for TemplateStyles' <code>wrapper</code> attribute."
            },
            {
                "name": "templatestyles-missing-src",
                "normalizedname": "templatestyles-missing-src",
                "*": "TemplateStyles' <code>src</code> attribute must not be empty."
            },
            {
                "name": "templatestyles-page-error-category",
                "normalizedname": "templatestyles-page-error-category",
                "*": "Pages with TemplateStyles errors"
            },
            {
                "name": "templatestyles-page-error-category-desc",
                "normalizedname": "templatestyles-page-error-category-desc",
                "*": "There was an error when processing a <code><nowiki><templatestyles/></nowiki></code> tag on the page."
            },
            {
                "name": "templatestyles-size-exceeded",
                "normalizedname": "templatestyles-size-exceeded",
                "*": "The stylesheet is larger than the maximum size of $2."
            },
            {
                "name": "templatestyles-stylesheet-error-category",
                "normalizedname": "templatestyles-stylesheet-error-category",
                "*": "TemplateStyles stylesheets with errors"
            },
            {
                "name": "templatestyles-stylesheet-error-category-desc",
                "normalizedname": "templatestyles-stylesheet-error-category-desc",
                "*": "The TemplateStyles stylesheet has an error."
            },
            {
                "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": "templogout",
                "normalizedname": "templogout",
                "*": "Exit session"
            },
            {
                "name": "tempuser-helppage",
                "normalizedname": "tempuser-helppage",
                "*": "mw:Special:MyLanguage/Help:Temporary_accounts"
            },
            {
                "name": "textextracts-desc",
                "normalizedname": "textextracts-desc",
                "*": "Provides plain-text or limited HTML extracts of page content"
            },
            {
                "name": "textmatches",
                "normalizedname": "textmatches",
                "*": "Page text matches"
            },
            {
                "name": "thanks",
                "normalizedname": "thanks",
                "*": "Send thanks"
            },
            {
                "name": "thanks-button-action-cancel",
                "normalizedname": "thanks-button-action-cancel",
                "*": "Cancel"
            },
            {
                "name": "thanks-button-action-completed",
                "normalizedname": "thanks-button-action-completed",
                "*": "You {{GENDER:$1|{{GENDER:$2|thanked}}}} $1"
            },
            {
                "name": "thanks-button-action-queued",
                "normalizedname": "thanks-button-action-queued",
                "*": "{{GENDER:$1|{{GENDER:$2|Thanking}}}} $1\u2026"
            },
            {
                "name": "thanks-button-thank",
                "normalizedname": "thanks-button-thank",
                "*": "{{GENDER:$1|{{GENDER:$2|Thank}}}}"
            },
            {
                "name": "thanks-button-thanked",
                "normalizedname": "thanks-button-thanked",
                "*": "{{GENDER:$1|{{GENDER:$2|Thanked}}}}"
            },
            {
                "name": "thanks-confirmation-special-log",
                "normalizedname": "thanks-confirmation-special-log",
                "*": "Do you want to publicly send thanks for this log action?"
            },
            {
                "name": "thanks-confirmation-special-rev",
                "normalizedname": "thanks-confirmation-special-rev",
                "*": "Do you want to publicly send thanks for this edit?"
            },
            {
                "name": "thanks-confirmation2",
                "normalizedname": "thanks-confirmation2",
                "*": "Publicly {{GENDER:$1|send}} thanks?"
            },
            {
                "name": "thanks-desc",
                "normalizedname": "thanks-desc",
                "*": "Adds links for thanking users for edits, comments, etc."
            },
            {
                "name": "thanks-error-api-params",
                "normalizedname": "thanks-error-api-params",
                "*": "Either the 'revid' or the 'logid' parameter must be provided"
            },
            {
                "name": "thanks-error-invalid-log-id",
                "normalizedname": "thanks-error-invalid-log-id",
                "*": "Log entry not found"
            },
            {
                "name": "thanks-error-invalid-log-type",
                "normalizedname": "thanks-error-invalid-log-type",
                "*": "Log type '$1' is not in the list of permitted log types."
            },
            {
                "name": "thanks-error-invalidpostid",
                "normalizedname": "thanks-error-invalidpostid",
                "*": "Post ID is not valid."
            },
            {
                "name": "thanks-error-invalidrecipient",
                "normalizedname": "thanks-error-invalidrecipient",
                "*": "No valid recipient found"
            },
            {
                "name": "thanks-error-invalidrecipient-bot",
                "normalizedname": "thanks-error-invalidrecipient-bot",
                "*": "Bots cannot be thanked"
            },
            {
                "name": "thanks-error-invalidrecipient-self",
                "normalizedname": "thanks-error-invalidrecipient-self",
                "*": "You cannot thank yourself"
            },
            {
                "name": "thanks-error-invalidrevision",
                "normalizedname": "thanks-error-invalidrevision",
                "*": "Revision ID is not valid."
            },
            {
                "name": "thanks-error-log-deleted",
                "normalizedname": "thanks-error-log-deleted",
                "*": "The requested log entry has been deleted and thanks cannot be given for it."
            },
            {
                "name": "thanks-error-no-id-specified",
                "normalizedname": "thanks-error-no-id-specified",
                "*": "You must specify a revision or log ID to send thanks."
            },
            {
                "name": "thanks-error-notitle",
                "normalizedname": "thanks-error-notitle",
                "*": "Page title could not be retrieved"
            },
            {
                "name": "thanks-error-notloggedin",
                "normalizedname": "thanks-error-notloggedin",
                "*": "Anonymous users cannot send thanks"
            },
            {
                "name": "thanks-error-ratelimited",
                "normalizedname": "thanks-error-ratelimited",
                "*": "{{GENDER:$1|You}}'ve exceeded your rate limit. Please wait some time and try again."
            },
            {
                "name": "thanks-error-revdeleted",
                "normalizedname": "thanks-error-revdeleted",
                "*": "Unable to send thanks because the revision has been deleted."
            },
            {
                "name": "thanks-error-undefined",
                "normalizedname": "thanks-error-undefined",
                "*": "Thank action failed (error code: $1). Please try again."
            },
            {
                "name": "thanks-submit",
                "normalizedname": "thanks-submit",
                "*": "Send thanks"
            },
            {
                "name": "thanks-thank",
                "normalizedname": "thanks-thank",
                "*": "{{GENDER:$1|{{GENDER:$2|thank}}}}"
            },
            {
                "name": "thanks-thank-tooltip",
                "normalizedname": "thanks-thank-tooltip",
                "*": "{{GENDER:$1|Send}} a thank you notification to this {{GENDER:$2|user}}"
            },
            {
                "name": "thanks-thank-tooltip-no",
                "normalizedname": "thanks-thank-tooltip-no",
                "*": "{{GENDER:$1|Cancel}} the thank you notification"
            },
            {
                "name": "thanks-thank-tooltip-yes",
                "normalizedname": "thanks-thank-tooltip-yes",
                "*": "{{GENDER:$1|Send}} the thank you notification"
            },
            {
                "name": "thanks-thanked",
                "normalizedname": "thanks-thanked",
                "*": "{{GENDER:$1|{{GENDER:$2|thanked}}}}"
            },
            {
                "name": "thanks-thanked-notice",
                "normalizedname": "thanks-thanked-notice",
                "*": "{{GENDER:$3|You}} thanked {{GENDER:$2|$1}}."
            },
            {
                "name": "thisisdeleted",
                "normalizedname": "thisisdeleted",
                "*": "View or undelete $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": "timeline-compilererr",
                "normalizedname": "timeline-compilererr",
                "*": "Unable to compile EasyTimeline input:\n$1"
            },
            {
                "name": "timeline-desc",
                "normalizedname": "timeline-desc",
                "*": "Adds <code>&lt;timeline&gt;</code> tag to create timelines"
            },
            {
                "name": "timeline-error-command",
                "normalizedname": "timeline-error-command",
                "*": "Timeline error. Command was: $1"
            },
            {
                "name": "timeline-error-storage",
                "normalizedname": "timeline-error-storage",
                "*": "Timeline error. Could not store output files"
            },
            {
                "name": "timeline-error-temp",
                "normalizedname": "timeline-error-temp",
                "*": "Timeline error. Could not create temporary files"
            },
            {
                "name": "timeline-invalidmap",
                "normalizedname": "timeline-invalidmap",
                "*": "Invalid image map generated by EasyTimeline"
            },
            {
                "name": "timeline-perlnotexecutable",
                "normalizedname": "timeline-perlnotexecutable",
                "*": "Perl could not be executed: $1 is not an executable file. Make sure <code>$wgTimelinePerlCommand</code> is set correctly."
            },
            {
                "name": "timeline-ploticusnotexecutable",
                "normalizedname": "timeline-ploticusnotexecutable",
                "*": "Ploticus could not be executed: $1 is not an executable file. Make sure <code>$wgTimelinePloticusCommand</code> is set correctly."
            },
            {
                "name": "timeline-readerr",
                "normalizedname": "timeline-readerr",
                "*": "Unable to read file $1."
            },
            {
                "name": "timeline-rsvg-error",
                "normalizedname": "timeline-rsvg-error",
                "*": "Unable to convert SVG to PNG:\n$1"
            },
            {
                "name": "timeline-scripterr",
                "normalizedname": "timeline-scripterr",
                "*": "Unable to run remote script: $1 exited with status code $2\n$3"
            },
            {
                "name": "timeline-tracking-category",
                "normalizedname": "timeline-tracking-category",
                "*": "Pages using Timeline"
            },
            {
                "name": "timeline-tracking-category-desc",
                "normalizedname": "timeline-tracking-category-desc",
                "*": "The page includes a <code>&lt;timeline&gt;</code> tag"
            },
            {
                "name": "timeouterror",
                "normalizedname": "timeouterror",
                "*": "Server timed out"
            },
            {
                "name": "timeouterror-text",
                "normalizedname": "timeouterror-text",
                "*": "The maximum request time of $1 {{PLURAL:$1|second|seconds}} was exceeded."
            },
            {
                "name": "timezone-invalid",
                "normalizedname": "timezone-invalid",
                "*": "Invalid time zone or time offset."
            },
            {
                "name": "timezone-local",
                "normalizedname": "timezone-local",
                "*": "Local"
            },
            {
                "name": "timezone-useoffset-placeholder",
                "normalizedname": "timezone-useoffset-placeholder",
                "*": "Example values: \"-07:00\" or \"01:00\""
            },
            {
                "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 (time offset from UTC)"
            },
            {
                "name": "timezoneuseserverdefault",
                "normalizedname": "timezoneuseserverdefault",
                "*": "Use wiki default ($1)"
            },
            {
                "name": "title-invalid",
                "normalizedname": "title-invalid",
                "*": "The requested page title is invalid"
            },
            {
                "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 cannot 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": "titleblacklist",
                "normalizedname": "titleblacklist",
                "*": "# This is a disallowed titles list. Titles and usernames that match a regular expression here cannot be created.\n# Use \"#\" for comments.\n# This is case-insensitive by default"
            },
            {
                "name": "titleblacklist-desc",
                "normalizedname": "titleblacklist-desc",
                "*": "Allows administrators to forbid creation of pages and user accounts according to a [[MediaWiki:Titleblacklist|list of disallowed]] and [[MediaWiki:Titlewhitelist|allowed]] titles"
            },
            {
                "name": "titleblacklist-forbidden-edit",
                "normalizedname": "titleblacklist-forbidden-edit",
                "*": "The title \"$2\" has been banned from creation.\nIt matches the following disallowed titles list entry: <code>$1</code>"
            },
            {
                "name": "titleblacklist-forbidden-move",
                "normalizedname": "titleblacklist-forbidden-move",
                "*": "\"$2\" cannot be moved to \"$3\", because the title \"$3\" has been banned from creation.\nIt matches the following disallowed titles list entry: <code>$1</code>"
            },
            {
                "name": "titleblacklist-forbidden-new-account",
                "normalizedname": "titleblacklist-forbidden-new-account",
                "*": "The username \"$2\" has been banned from creation.\nIt matches the following disallowed titles list entry: <code>$1</code>"
            },
            {
                "name": "titleblacklist-forbidden-upload",
                "normalizedname": "titleblacklist-forbidden-upload",
                "*": "The filename \"$2\" has been banned from creation.\nIt matches the following disallowed titles list entry: <code>$1</code>"
            },
            {
                "name": "titleblacklist-invalid",
                "normalizedname": "titleblacklist-invalid",
                "*": "The following {{PLURAL:$1|line|lines}} in the disallowed titles list {{PLURAL:$1|is|are}} invalid;\nplease correct {{PLURAL:$1|it|them}} before saving:"
            },
            {
                "name": "titleblacklist-override",
                "normalizedname": "titleblacklist-override",
                "*": "Override the disallowed titles list if it matches"
            },
            {
                "name": "titleblacklist-override-help",
                "normalizedname": "titleblacklist-override-help",
                "*": "Users with sufficient privileges can set this to ignore the disallowed titles list checks."
            },
            {
                "name": "titleblacklist-warning",
                "normalizedname": "titleblacklist-warning",
                "*": "<strong>Warning: This page can only be edited by administrators and other users with the <code>tboverride</code> right because it matches the following disallowed titles list entry:</strong><br /><code>$1</code>"
            },
            {
                "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": "titlewhitelist",
                "normalizedname": "titlewhitelist",
                "*": "# This is an allowed titles list. Use \"#\" for comments.\n# This is case-insensitive by default"
            },
            {
                "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 to your user page)"
            },
            {
                "name": "tog-forceeditsummary",
                "normalizedname": "tog-forceeditsummary",
                "*": "Prompt me when entering a blank edit summary (or the default undo summary)"
            },
            {
                "name": "tog-forcesafemode",
                "normalizedname": "tog-forcesafemode",
                "*": "Always enable [[mw:Manual:Safemode|safe mode]]"
            },
            {
                "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-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 when starting to edit"
            },
            {
                "name": "tog-previewontop",
                "normalizedname": "tog-previewontop",
                "*": "Show preview before edit box"
            },
            {
                "name": "tog-requireemail",
                "normalizedname": "tog-requireemail",
                "*": "Send password reset emails only when both email address and username are provided."
            },
            {
                "name": "tog-showhiddencats",
                "normalizedname": "tog-showhiddencats",
                "*": "Show hidden categories"
            },
            {
                "name": "tog-shownumberswatching",
                "normalizedname": "tog-shownumberswatching",
                "*": "Show the number of watching users"
            },
            {
                "name": "tog-showrollbackconfirmation",
                "normalizedname": "tog-showrollbackconfirmation",
                "*": "Show a confirmation prompt when clicking on a rollback link"
            },
            {
                "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 preview 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": "tool-link-contributions",
                "normalizedname": "tool-link-contributions",
                "*": "{{GENDER:$1|User}} contributions"
            },
            {
                "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-create",
                "normalizedname": "tooltip-ca-create",
                "*": "Create this page"
            },
            {
                "name": "tooltip-ca-create-local",
                "normalizedname": "tooltip-ca-create-local",
                "*": "Create the local description page"
            },
            {
                "name": "tooltip-ca-createsource",
                "normalizedname": "tooltip-ca-createsource",
                "*": "Create the source code of this page"
            },
            {
                "name": "tooltip-ca-createsource-local",
                "normalizedname": "tooltip-ca-createsource-local",
                "*": "Create the source code of the local description page"
            },
            {
                "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-edit-local",
                "normalizedname": "tooltip-ca-edit-local",
                "*": "Edit the local description page"
            },
            {
                "name": "tooltip-ca-editsource",
                "normalizedname": "tooltip-ca-editsource",
                "*": "Edit the source code of this page"
            },
            {
                "name": "tooltip-ca-editsource-local",
                "normalizedname": "tooltip-ca-editsource-local",
                "*": "Edit the source code of the local description 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",
                "normalizedname": "tooltip-ca-nstab",
                "*": "View the subject page"
            },
            {
                "name": "tooltip-ca-nstab-category",
                "normalizedname": "tooltip-ca-nstab-category",
                "*": "View the category page"
            },
            {
                "name": "tooltip-ca-nstab-data",
                "normalizedname": "tooltip-ca-nstab-data",
                "*": "View the data 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-module",
                "normalizedname": "tooltip-ca-nstab-module",
                "*": "View the module page"
            },
            {
                "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",
                "*": "Undelete 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-unwatch-expiring",
                "normalizedname": "tooltip-ca-unwatch-expiring",
                "*": "{{PLURAL:$1|1 day|$1 days}} left in your watchlist. Click to remove it."
            },
            {
                "name": "tooltip-ca-unwatch-expiring-hours",
                "normalizedname": "tooltip-ca-unwatch-expiring-hours",
                "*": "A few hours left in your watchlist. Click to remove it."
            },
            {
                "name": "tooltip-ca-ve-create",
                "normalizedname": "tooltip-ca-ve-create",
                "*": "Create this page"
            },
            {
                "name": "tooltip-ca-ve-create-local",
                "normalizedname": "tooltip-ca-ve-create-local",
                "*": "Create the local description page"
            },
            {
                "name": "tooltip-ca-ve-edit",
                "normalizedname": "tooltip-ca-ve-edit",
                "*": "Edit this page"
            },
            {
                "name": "tooltip-ca-ve-edit-local",
                "normalizedname": "tooltip-ca-ve-edit-local",
                "*": "Edit the local description page"
            },
            {
                "name": "tooltip-ca-view",
                "normalizedname": "tooltip-ca-view",
                "*": ""
            },
            {
                "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-citethispage",
                "normalizedname": "tooltip-citethispage",
                "*": "Information on how to cite this page"
            },
            {
                "name": "tooltip-compareselectedversions",
                "normalizedname": "tooltip-compareselectedversions",
                "*": "See the differences between the two selected revisions of this page"
            },
            {
                "name": "tooltip-cur",
                "normalizedname": "tooltip-cur",
                "*": "Difference with latest revision"
            },
            {
                "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-last",
                "normalizedname": "tooltip-last",
                "*": "Difference with preceding revision"
            },
            {
                "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-help-mediawiki",
                "normalizedname": "tooltip-n-help-mediawiki",
                "*": ""
            },
            {
                "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-cactions",
                "normalizedname": "tooltip-p-cactions",
                "*": "More options"
            },
            {
                "name": "tooltip-p-lang",
                "normalizedname": "tooltip-p-lang",
                "*": ""
            },
            {
                "name": "tooltip-p-logo",
                "normalizedname": "tooltip-p-logo",
                "*": "Visit the main page"
            },
            {
                "name": "tooltip-p-namespaces",
                "normalizedname": "tooltip-p-namespaces",
                "*": ""
            },
            {
                "name": "tooltip-p-navigation",
                "normalizedname": "tooltip-p-navigation",
                "*": ""
            },
            {
                "name": "tooltip-p-personal",
                "normalizedname": "tooltip-p-personal",
                "*": "User menu"
            },
            {
                "name": "tooltip-p-tb",
                "normalizedname": "tooltip-p-tb",
                "*": ""
            },
            {
                "name": "tooltip-p-user-interface-preferences",
                "normalizedname": "tooltip-p-user-interface-preferences",
                "*": ""
            },
            {
                "name": "tooltip-p-user-page",
                "normalizedname": "tooltip-p-user-page",
                "*": ""
            },
            {
                "name": "tooltip-p-variants",
                "normalizedname": "tooltip-p-variants",
                "*": ""
            },
            {
                "name": "tooltip-p-views",
                "normalizedname": "tooltip-p-views",
                "*": ""
            },
            {
                "name": "tooltip-preferences-save",
                "normalizedname": "tooltip-preferences-save",
                "*": "Save preferences"
            },
            {
                "name": "tooltip-preview",
                "normalizedname": "tooltip-preview",
                "*": "Preview your changes. Please use this before publishing."
            },
            {
                "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-notifications-alert",
                "normalizedname": "tooltip-pt-notifications-alert",
                "*": "{{GENDER:|Your}} alerts"
            },
            {
                "name": "tooltip-pt-notifications-notice",
                "normalizedname": "tooltip-pt-notifications-notice",
                "*": "{{GENDER:|Your}} notices"
            },
            {
                "name": "tooltip-pt-preferences",
                "normalizedname": "tooltip-pt-preferences",
                "*": "{{GENDER:|Your}} preferences"
            },
            {
                "name": "tooltip-pt-tmpuserpage",
                "normalizedname": "tooltip-pt-tmpuserpage",
                "*": "Your auto-generated temporary username"
            },
            {
                "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 this 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-vector-anon-user-menu-title",
                "normalizedname": "tooltip-vector-anon-user-menu-title",
                "*": "More options"
            },
            {
                "name": "tooltip-watch",
                "normalizedname": "tooltip-watch",
                "*": "Add this page to your watchlist"
            },
            {
                "name": "tooltip-watchlist-expiry",
                "normalizedname": "tooltip-watchlist-expiry",
                "*": "Temporarily 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": "transaction-max-statement-time-exceeded",
                "normalizedname": "transaction-max-statement-time-exceeded",
                "*": "To avoid creating high database load, this query was aborted because the duration exceeded the limit.\nIf you are reading 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": "types",
                "normalizedname": "types",
                "*": "Types"
            },
            {
                "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": "unblocklog-showlog",
                "normalizedname": "unblocklog-showlog",
                "*": "The block log for this {{GENDER:$1|user}} is provided below for reference:"
            },
            {
                "name": "unblocklog-showsuppresslog",
                "normalizedname": "unblocklog-showsuppresslog",
                "*": "The suppress log for this {{GENDER:$1|user}} is provided below for reference:"
            },
            {
                "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-back-to-list",
                "normalizedname": "undelete-back-to-list",
                "*": "View all deleted revisions"
            },
            {
                "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-associated-alreadytalk",
                "normalizedname": "undelete-error-associated-alreadytalk",
                "*": "Cannot undelete associated talk page of a talk page."
            },
            {
                "name": "undelete-error-associated-notdeleted",
                "normalizedname": "undelete-error-associated-notdeleted",
                "*": "The associated talk page has no revisions that can be undeleted."
            },
            {
                "name": "undelete-fieldset-title",
                "normalizedname": "undelete-fieldset-title",
                "*": "Undelete 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-load-more-revisions",
                "normalizedname": "undelete-load-more-revisions",
                "*": "Load more revisions"
            },
            {
                "name": "undelete-missing-filearchive",
                "normalizedname": "undelete-missing-filearchive",
                "*": "Unable to undelete 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-talk-summary-prefix",
                "normalizedname": "undelete-talk-summary-prefix",
                "*": "Undeleted together with the associated page with reason: $1"
            },
            {
                "name": "undelete-undeletetalk",
                "normalizedname": "undelete-undeletetalk",
                "*": "Undelete all revisions of the associated talk page"
            },
            {
                "name": "undelete_short",
                "normalizedname": "undelete_short",
                "*": "Undelete {{PLURAL:$1|one edit|$1 edits}}"
            },
            {
                "name": "undeletebtn",
                "normalizedname": "undeletebtn",
                "*": "Undelete"
            },
            {
                "name": "undeletecomment",
                "normalizedname": "undeletecomment",
                "*": "Reason:"
            },
            {
                "name": "undeletedarticle",
                "normalizedname": "undeletedarticle",
                "*": "undeleted \"[[$1]]\""
            },
            {
                "name": "undeletedpage",
                "normalizedname": "undeletedpage",
                "*": "<strong>$1 has been undeleted</strong>\n\nConsult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations."
            },
            {
                "name": "undeleteextrahelp",
                "normalizedname": "undeleteextrahelp",
                "*": "To undelete the page's entire history, leave all checkboxes deselected and click <strong><em>{{int:undeletebtn}}</em></strong>.\nTo perform a selective undeletion, check the boxes corresponding to the revisions to be undeleted, and click <strong><em>{{int:undeletebtn}}</em></strong>."
            },
            {
                "name": "undeletehistory",
                "normalizedname": "undeletehistory",
                "*": "If you undelete the page, all revisions will be undeleted to the history.\nIf a new page with the same name has been created since the deletion, the undeleted 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 text of these deleted revisions is only available to administrators."
            },
            {
                "name": "undeleteinvert",
                "normalizedname": "undeleteinvert",
                "*": "Invert selection"
            },
            {
                "name": "undeletelink",
                "normalizedname": "undeletelink",
                "*": "view/undelete"
            },
            {
                "name": "undeletepage",
                "normalizedname": "undeletepage",
                "*": "View and undelete 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 undeleted.\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-missing",
                "normalizedname": "undeleterevision-missing",
                "*": "Invalid or missing revision.\nYou may have a bad link, or the revision may have been undeleted 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-main-slot-only",
                "normalizedname": "undo-main-slot-only",
                "*": "The edit could not be undone because it involves content outside the main slot."
            },
            {
                "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 publish the changes below to finish undoing the edit."
            },
            {
                "name": "undo-summary",
                "normalizedname": "undo-summary",
                "*": "Undo revision [[Special:Diff/$1|$1]] by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])"
            },
            {
                "name": "undo-summary-anon",
                "normalizedname": "undo-summary-anon",
                "*": "Undo revision [[Special:Diff/$1|$1]] by [[Special:Contributions/$2|$2]]"
            },
            {
                "name": "undo-summary-import",
                "normalizedname": "undo-summary-import",
                "*": "Undo imported revision [[Special:Diff/$1|$1]] by user [[:$2|$3]]"
            },
            {
                "name": "undo-summary-import2",
                "normalizedname": "undo-summary-import2",
                "*": "Undo imported revision [[Special:Diff/$1|$1]] by user $2"
            },
            {
                "name": "undo-summary-username-hidden",
                "normalizedname": "undo-summary-username-hidden",
                "*": "Undo revision [[Special:Diff/$1|$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 published."
            },
            {
                "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": "unprotected-js",
                "normalizedname": "unprotected-js",
                "*": "For security reasons JavaScript cannot be loaded from unprotected pages. Please only create javascript in the MediaWiki: namespace or as a User subpage"
            },
            {
                "name": "unprotectedarticle",
                "normalizedname": "unprotectedarticle",
                "*": "removed protection from \"[[$1]]\""
            },
            {
                "name": "unprotectedarticle-comment",
                "normalizedname": "unprotectedarticle-comment",
                "*": "{{GENDER:$2|Removed protection}} from \"[[$1]]\""
            },
            {
                "name": "unregistered-user-config",
                "normalizedname": "unregistered-user-config",
                "*": "For security reasons JavaScript, CSS and JSON user subpages cannot be loaded for unregistered users."
            },
            {
                "name": "unstrip-depth-category",
                "normalizedname": "unstrip-depth-category",
                "*": "Pages where the unstrip depth limit is exceeded"
            },
            {
                "name": "unstrip-depth-category-desc",
                "normalizedname": "unstrip-depth-category-desc",
                "*": "The page exceeds the unstrip depth limit."
            },
            {
                "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-category-desc",
                "normalizedname": "unstrip-size-category-desc",
                "*": "The page exceeds the unstrip size limit."
            },
            {
                "name": "unstrip-size-warning",
                "normalizedname": "unstrip-size-warning",
                "*": "Unstrip size limit exceeded ($1)"
            },
            {
                "name": "unsupported-content-diff",
                "normalizedname": "unsupported-content-diff",
                "*": "Diffs are not supported for content model $1."
            },
            {
                "name": "unsupported-content-diff2",
                "normalizedname": "unsupported-content-diff2",
                "*": "Diffs between the content models $1 and $2 are not supported on this wiki."
            },
            {
                "name": "unsupported-content-model",
                "normalizedname": "unsupported-content-model",
                "*": "<strong>Warning:</strong> Content model $1 is not supported on this wiki."
            },
            {
                "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 websites may link to a file with a direct URL, and so may still be listed here despite being in active use."
            },
            {
                "name": "unusedimagestext-categorizedimgisused",
                "normalizedname": "unusedimagestext-categorizedimgisused",
                "*": "The following files exist but are not embedded in any page. Categorized images are considered as used despite that they are not embedded in any page.\nPlease note that other websites may link to a file with a direct URL, and so may still be listed here despite being in active use."
            },
            {
                "name": "unusedproperties",
                "normalizedname": "unusedproperties",
                "*": "Unused properties"
            },
            {
                "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 your last visit"
            },
            {
                "name": "updatewatchlist",
                "normalizedname": "updatewatchlist",
                "*": "Update watchlist"
            },
            {
                "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 device)"
            },
            {
                "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": "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-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-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]]. Uploads and reuploads are also logged in the [[Special:Log/upload|upload log]]. Deletions are logged 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|Caption]]</nowiki></code></strong> to use a 200-pixel-wide rendition in a box in the left margin with the text \"Caption\" below\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": "uploadwizard",
                "normalizedname": "uploadwizard",
                "*": "Upload Wizard"
            },
            {
                "name": "uploadwizard-desc",
                "normalizedname": "uploadwizard-desc",
                "*": "Upload Wizard, a user-friendly tool for uploading multimedia"
            },
            {
                "name": "uriresolver",
                "normalizedname": "uriresolver",
                "*": "URIResolver"
            },
            {
                "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 published!</strong>"
            },
            {
                "name": "usercssyoucanpreview",
                "normalizedname": "usercssyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new CSS before publishing."
            },
            {
                "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 and .js pages use a lowercase title, e.g. {{ns:user}}:Foo/vector.css as opposed to {{ns:user}}:Foo/Vector.css."
            },
            {
                "name": "userjsdangerous",
                "normalizedname": "userjsdangerous",
                "*": "Please note: Scripts included on this page will be run any time you load a page. Malicious code added here could result in account compromise. The code will be executed when you preview your changes to this page."
            },
            {
                "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 published!</strong>"
            },
            {
                "name": "userjsonyoucanpreview",
                "normalizedname": "userjsonyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new JSON before publishing."
            },
            {
                "name": "userjspreview",
                "normalizedname": "userjspreview",
                "*": "<strong>Remember that you are only testing/previewing your user JavaScript.\nIt has not yet been published!</strong>"
            },
            {
                "name": "userjsyoucanpreview",
                "normalizedname": "userjsyoucanpreview",
                "*": "<strong>Tip:</strong> Use the \"{{int:showpreview}}\" button to test your new JavaScript before publishing."
            },
            {
                "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-continue",
                "normalizedname": "userlogout-continue",
                "*": "Do you want to log out?"
            },
            {
                "name": "userlogout-summary",
                "normalizedname": "userlogout-summary",
                "*": ""
            },
            {
                "name": "userlogout-temp",
                "normalizedname": "userlogout-temp",
                "*": "Are you sure you want to log out? There will be no way to log back in to your temporary account."
            },
            {
                "name": "usermaildisabled",
                "normalizedname": "usermaildisabled",
                "*": "User email disabled"
            },
            {
                "name": "usermaildisabledtext",
                "normalizedname": "usermaildisabledtext",
                "*": "You cannot send email to other users on this wiki"
            },
            {
                "name": "usermerge",
                "normalizedname": "usermerge",
                "*": "Merge and delete users"
            },
            {
                "name": "usermerge-autopagedelete",
                "normalizedname": "usermerge-autopagedelete",
                "*": "Automatically deleted page while merging users"
            },
            {
                "name": "usermerge-badnewuser",
                "normalizedname": "usermerge-badnewuser",
                "*": "Invalid new username."
            },
            {
                "name": "usermerge-badtoken",
                "normalizedname": "usermerge-badtoken",
                "*": "Invalid edit token."
            },
            {
                "name": "usermerge-delete-linkoncontribs",
                "normalizedname": "usermerge-delete-linkoncontribs",
                "*": "delete {{GENDER:$1|user}}"
            },
            {
                "name": "usermerge-deleteolduser",
                "normalizedname": "usermerge-deleteolduser",
                "*": "Delete old user"
            },
            {
                "name": "usermerge-desc",
                "normalizedname": "usermerge-desc",
                "*": "[[Special:UserMerge|Merges references from one user to another user]] in the wiki database - will also delete old users following merge. Requires ''usermerge'' privileges"
            },
            {
                "name": "usermerge-fieldset",
                "normalizedname": "usermerge-fieldset",
                "*": "Usernames to merge"
            },
            {
                "name": "usermerge-logpage",
                "normalizedname": "usermerge-logpage",
                "*": "User merge log"
            },
            {
                "name": "usermerge-logpagetext",
                "normalizedname": "usermerge-logpagetext",
                "*": "This is a log of user merge actions."
            },
            {
                "name": "usermerge-merge-linkoncontribs",
                "normalizedname": "usermerge-merge-linkoncontribs",
                "*": "merge {{GENDER:$1|user}}"
            },
            {
                "name": "usermerge-move-log",
                "normalizedname": "usermerge-move-log",
                "*": "Automatically moved page while merging the account \"$1\" to \"[[User:$2|$2]]\""
            },
            {
                "name": "usermerge-newuser",
                "normalizedname": "usermerge-newuser",
                "*": "New user (merge to):"
            },
            {
                "name": "usermerge-nonewuser",
                "normalizedname": "usermerge-nonewuser",
                "*": "Empty new username. Assuming merge to \"{{GENDER:$1|$1}}\".<br />\nClick \"{{int:usermerge-submit}}\" to accept."
            },
            {
                "name": "usermerge-noolduser",
                "normalizedname": "usermerge-noolduser",
                "*": "Empty old username."
            },
            {
                "name": "usermerge-noselfdelete",
                "normalizedname": "usermerge-noselfdelete",
                "*": "You cannot delete or merge from {{GENDER:$1|yourself}}!"
            },
            {
                "name": "usermerge-olduser",
                "normalizedname": "usermerge-olduser",
                "*": "Old user (merge from):"
            },
            {
                "name": "usermerge-page-unmoved",
                "normalizedname": "usermerge-page-unmoved",
                "*": "The page $1 could not be moved to $2."
            },
            {
                "name": "usermerge-protectedgroup",
                "normalizedname": "usermerge-protectedgroup",
                "*": "Unable to merge from {{GENDER:$1|user}}: user is in a protected group."
            },
            {
                "name": "usermerge-same-old-and-new-user",
                "normalizedname": "usermerge-same-old-and-new-user",
                "*": "The old and new usernames need to be distinct."
            },
            {
                "name": "usermerge-submit",
                "normalizedname": "usermerge-submit",
                "*": "Merge user"
            },
            {
                "name": "usermerge-success",
                "normalizedname": "usermerge-success",
                "*": "Merge from $1 ($2) to $3 ($4) is complete."
            },
            {
                "name": "usermerge-userdeleted",
                "normalizedname": "usermerge-userdeleted",
                "*": "$1 ($2) has been deleted."
            },
            {
                "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 username is already in progress.\nPlease wait."
            },
            {
                "name": "userpage-userdoesnotexist",
                "normalizedname": "userpage-userdoesnotexist",
                "*": "User account \"$1\" is not registered on this wiki.\nPlease check if you want to create/edit this page."
            },
            {
                "name": "userpage-userdoesnotexist-view",
                "normalizedname": "userpage-userdoesnotexist-view",
                "*": "User account \"$1\" is not registered on this wiki."
            },
            {
                "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 {{GENDER:$1|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-group",
                "normalizedname": "userrights-no-group",
                "*": "Temporary users do not have groups."
            },
            {
                "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-no-tempuser",
                "normalizedname": "userrights-no-tempuser",
                "*": "Temporary users cannot be added into groups."
            },
            {
                "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-systemuser",
                "normalizedname": "userrights-systemuser",
                "*": "{{GENDER:$1|This user}} is a system user"
            },
            {
                "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": "userrights-watchuser",
                "normalizedname": "userrights-watchuser",
                "*": "Watch this user's user and talk pages"
            },
            {
                "name": "uwcreatepage-desc",
                "normalizedname": "uwcreatepage-desc",
                "*": "Adds a [[Special:CreatePage|special page]] for creating new pages"
            },
            {
                "name": "validator-type-class-SMWParamSource",
                "normalizedname": "validator-type-class-SMWParamSource",
                "*": "text"
            },
            {
                "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-sh",
                "normalizedname": "variantname-sh",
                "*": "sh"
            },
            {
                "name": "variantname-sh-cyrl",
                "normalizedname": "variantname-sh-cyrl",
                "*": "sh-Cyrl"
            },
            {
                "name": "variantname-sh-latn",
                "normalizedname": "variantname-sh-latn",
                "*": "sh-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-cyrl",
                "normalizedname": "variantname-sr-cyrl",
                "*": "sr-Cyrl"
            },
            {
                "name": "variantname-sr-ec",
                "normalizedname": "variantname-sr-ec",
                "*": "sr-Cyrl"
            },
            {
                "name": "variantname-sr-el",
                "normalizedname": "variantname-sr-el",
                "*": "sr-Latn"
            },
            {
                "name": "variantname-sr-latn",
                "normalizedname": "variantname-sr-latn",
                "*": "sr-Latn"
            },
            {
                "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-tly",
                "normalizedname": "variantname-tly",
                "*": "tly"
            },
            {
                "name": "variantname-tly-cyrl",
                "normalizedname": "variantname-tly-cyrl",
                "*": "tly-Cyrl"
            },
            {
                "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-wuu",
                "normalizedname": "variantname-wuu",
                "*": "wuu"
            },
            {
                "name": "variantname-wuu-hans",
                "normalizedname": "variantname-wuu-hans",
                "*": "Hans"
            },
            {
                "name": "variantname-wuu-hant",
                "normalizedname": "variantname-wuu-hant",
                "*": "Hant"
            },
            {
                "name": "variantname-yue-hans",
                "normalizedname": "variantname-yue-hans",
                "*": "Hans"
            },
            {
                "name": "variantname-yue-hant",
                "normalizedname": "variantname-yue-hant",
                "*": "Hant"
            },
            {
                "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-2022-prefs-talkpage",
                "normalizedname": "vector-2022-prefs-talkpage",
                "*": "[[mw:Talk:Reading/Web/Desktop_Improvements|Discussion]]"
            },
            {
                "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-toggle-sidebar",
                "normalizedname": "vector-action-toggle-sidebar",
                "*": "Toggle sidebar"
            },
            {
                "name": "vector-action-undelete",
                "normalizedname": "vector-action-undelete",
                "*": "Undelete"
            },
            {
                "name": "vector-action-unprotect",
                "normalizedname": "vector-action-unprotect",
                "*": "Change protection"
            },
            {
                "name": "vector-anon-user-menu-pages",
                "normalizedname": "vector-anon-user-menu-pages",
                "*": "Pages for logged out editors"
            },
            {
                "name": "vector-anon-user-menu-pages-label",
                "normalizedname": "vector-anon-user-menu-pages-label",
                "*": "Learn more about editing"
            },
            {
                "name": "vector-anon-user-menu-pages-learn",
                "normalizedname": "vector-anon-user-menu-pages-learn",
                "*": "learn more"
            },
            {
                "name": "vector-client-preferences",
                "normalizedname": "vector-client-preferences",
                "*": "Reading settings"
            },
            {
                "name": "vector-feature-custom-font-size-disabled-label",
                "normalizedname": "vector-feature-custom-font-size-disabled-label",
                "*": "Small"
            },
            {
                "name": "vector-feature-custom-font-size-enabled-label",
                "normalizedname": "vector-feature-custom-font-size-enabled-label",
                "*": "Standard"
            },
            {
                "name": "vector-feature-custom-font-size-name",
                "normalizedname": "vector-feature-custom-font-size-name",
                "*": "Type size"
            },
            {
                "name": "vector-feature-limited-width-0-label",
                "normalizedname": "vector-feature-limited-width-0-label",
                "*": "Full width"
            },
            {
                "name": "vector-feature-limited-width-1-label",
                "normalizedname": "vector-feature-limited-width-1-label",
                "*": "Limited width"
            },
            {
                "name": "vector-feature-limited-width-name",
                "normalizedname": "vector-feature-limited-width-name",
                "*": "Column width"
            },
            {
                "name": "vector-intro-page",
                "normalizedname": "vector-intro-page",
                "*": "Help:Introduction"
            },
            {
                "name": "vector-jumptocontent",
                "normalizedname": "vector-jumptocontent",
                "*": "Jump to content"
            },
            {
                "name": "vector-jumptonavigation",
                "normalizedname": "vector-jumptonavigation",
                "*": "Jump to navigation"
            },
            {
                "name": "vector-jumptosearch",
                "normalizedname": "vector-jumptosearch",
                "*": "Jump to search"
            },
            {
                "name": "vector-language-button-aria-label",
                "normalizedname": "vector-language-button-aria-label",
                "*": "Go to an article in another language. Available in {{PLURAL:$1|$1 language|$1 languages}}"
            },
            {
                "name": "vector-language-button-label",
                "normalizedname": "vector-language-button-label",
                "*": "{{PLURAL:$1|$1 language|$1 languages}}"
            },
            {
                "name": "vector-language-redirect-to-top",
                "normalizedname": "vector-language-redirect-to-top",
                "*": "Language links are at the top of the page across from the title."
            },
            {
                "name": "vector-language-variant-switcher-label",
                "normalizedname": "vector-language-variant-switcher-label",
                "*": "Change language variant"
            },
            {
                "name": "vector-languages",
                "normalizedname": "vector-languages",
                "*": "Languages"
            },
            {
                "name": "vector-limited-width-toggle",
                "normalizedname": "vector-limited-width-toggle",
                "*": "Toggle limited content width"
            },
            {
                "name": "vector-limited-width-toggle-off-popup",
                "normalizedname": "vector-limited-width-toggle-off-popup",
                "*": "You can toggle between a limited width and full width by clicking this button."
            },
            {
                "name": "vector-limited-width-toggle-on-popup",
                "normalizedname": "vector-limited-width-toggle-on-popup",
                "*": "You have switched your layout to full width. To go back to limited width, press this button."
            },
            {
                "name": "vector-main-menu-label",
                "normalizedname": "vector-main-menu-label",
                "*": "Main menu"
            },
            {
                "name": "vector-main-menu-tooltip",
                "normalizedname": "vector-main-menu-tooltip",
                "*": "Main menu"
            },
            {
                "name": "vector-main-menu-unpinned-popup",
                "normalizedname": "vector-main-menu-unpinned-popup",
                "*": "The main menu has been moved here."
            },
            {
                "name": "vector-more-actions",
                "normalizedname": "vector-more-actions",
                "*": "More"
            },
            {
                "name": "vector-no-language-button-aria-label",
                "normalizedname": "vector-no-language-button-aria-label",
                "*": "This article exist only in this language. Add the article for other languages"
            },
            {
                "name": "vector-no-language-button-label",
                "normalizedname": "vector-no-language-button-label",
                "*": "Add languages"
            },
            {
                "name": "vector-opt-out",
                "normalizedname": "vector-opt-out",
                "*": "Switch to old look"
            },
            {
                "name": "vector-opt-out-tooltip",
                "normalizedname": "vector-opt-out-tooltip",
                "*": "Change your settings to go back to the old look of the skin (legacy Vector)"
            },
            {
                "name": "vector-page-tools-actions-label",
                "normalizedname": "vector-page-tools-actions-label",
                "*": "Actions"
            },
            {
                "name": "vector-page-tools-general-label",
                "normalizedname": "vector-page-tools-general-label",
                "*": "General"
            },
            {
                "name": "vector-page-tools-label",
                "normalizedname": "vector-page-tools-label",
                "*": "Tools"
            },
            {
                "name": "vector-page-tools-nav-label",
                "normalizedname": "vector-page-tools-nav-label",
                "*": "Page tools"
            },
            {
                "name": "vector-page-tools-unpinned-popup",
                "normalizedname": "vector-page-tools-unpinned-popup",
                "*": "The tools menu has been moved here."
            },
            {
                "name": "vector-pin-element-label",
                "normalizedname": "vector-pin-element-label",
                "*": "move to sidebar"
            },
            {
                "name": "vector-prefs-limited-width",
                "normalizedname": "vector-prefs-limited-width",
                "*": "Enable limited width mode"
            },
            {
                "name": "vector-prefs-limited-width-help",
                "normalizedname": "vector-prefs-limited-width-help",
                "*": "Enable limited width mode for improved reading experience."
            },
            {
                "name": "vector-readability-survey-description",
                "normalizedname": "vector-readability-survey-description",
                "*": "How does the text on Wikipedia look best for you? Use the sliders below to adjust the appearance. Learn more about the [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading|Accessibility for reading project]]."
            },
            {
                "name": "vector-readability-survey-fontSize",
                "normalizedname": "vector-readability-survey-fontSize",
                "*": "Font size"
            },
            {
                "name": "vector-readability-survey-lineHeight",
                "normalizedname": "vector-readability-survey-lineHeight",
                "*": "Line height"
            },
            {
                "name": "vector-readability-survey-optout",
                "normalizedname": "vector-readability-survey-optout",
                "*": "Press continue to send us your design and publish your feedback on the next page. [[#close-vector-survey|Remove this tool]]."
            },
            {
                "name": "vector-readability-survey-paragraphSpacing",
                "normalizedname": "vector-readability-survey-paragraphSpacing",
                "*": "Paragraph spacing"
            },
            {
                "name": "vector-readability-survey-randomize",
                "normalizedname": "vector-readability-survey-randomize",
                "*": "randomize"
            },
            {
                "name": "vector-readability-survey-reset",
                "normalizedname": "vector-readability-survey-reset",
                "*": "reset"
            },
            {
                "name": "vector-readability-survey-share",
                "normalizedname": "vector-readability-survey-share",
                "*": "continue"
            },
            {
                "name": "vector-readability-survey-title",
                "normalizedname": "vector-readability-survey-title",
                "*": "Wikimedia reading tool"
            },
            {
                "name": "vector-search-loader",
                "normalizedname": "vector-search-loader",
                "*": "Loading search suggestions"
            },
            {
                "name": "vector-searchsuggest-containing",
                "normalizedname": "vector-searchsuggest-containing",
                "*": "Search for pages containing <strong class=\"cdx-typeahead-search__search-footer__query\">$1</strong>"
            },
            {
                "name": "vector-site-nav-label",
                "normalizedname": "vector-site-nav-label",
                "*": "Site"
            },
            {
                "name": "vector-skin-desc",
                "normalizedname": "vector-skin-desc",
                "*": "Provides 2 Vector skins:\n* 2011 - The Modern version of MonoBook with fresh look and many usability improvements.\n* 2022 - The Vector built as part of the WMF [[mw:Desktop Improvements]] project."
            },
            {
                "name": "vector-specialversion-name",
                "normalizedname": "vector-specialversion-name",
                "*": "Vector"
            },
            {
                "name": "vector-toc-beginning",
                "normalizedname": "vector-toc-beginning",
                "*": "Beginning"
            },
            {
                "name": "vector-toc-collapsible-button-label",
                "normalizedname": "vector-toc-collapsible-button-label",
                "*": "Toggle the table of contents"
            },
            {
                "name": "vector-toc-label",
                "normalizedname": "vector-toc-label",
                "*": "Contents"
            },
            {
                "name": "vector-toc-menu-tooltip",
                "normalizedname": "vector-toc-menu-tooltip",
                "*": "Table of Contents"
            },
            {
                "name": "vector-toc-toggle-button-label",
                "normalizedname": "vector-toc-toggle-button-label",
                "*": "Toggle $1 subsection"
            },
            {
                "name": "vector-toc-unpinned-popup",
                "normalizedname": "vector-toc-unpinned-popup",
                "*": "The table of contents has been moved here."
            },
            {
                "name": "vector-unpin-element-label",
                "normalizedname": "vector-unpin-element-label",
                "*": "hide"
            },
            {
                "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",
                "*": "/* All CSS here will be loaded for users of the Vector skin */"
            },
            {
                "name": "vector.js",
                "normalizedname": "vector.js",
                "*": "/* All JavaScript here will be loaded for users of the Vector skin */"
            },
            {
                "name": "verification-error",
                "normalizedname": "verification-error",
                "*": "This file did not pass file verification."
            },
            {
                "name": "verifyoathforuser",
                "normalizedname": "verifyoathforuser",
                "*": "Verify two-factor authentication status"
            },
            {
                "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-mysql-url",
                "normalizedname": "version-db-mysql-url",
                "*": "https://www.mysql.com/"
            },
            {
                "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-rest-php",
                "normalizedname": "version-entrypoints-rest-php",
                "*": "[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:rest.php rest.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-extensions-no-ext",
                "normalizedname": "version-extensions-no-ext",
                "*": "No extensions currently installed."
            },
            {
                "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-client",
                "normalizedname": "version-libraries-client",
                "*": "Installed client-side libraries"
            },
            {
                "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-source",
                "normalizedname": "version-libraries-source",
                "*": "Source"
            },
            {
                "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-poweredby-various",
                "normalizedname": "version-poweredby-various",
                "*": "Various authors"
            },
            {
                "name": "version-semantic",
                "normalizedname": "version-semantic",
                "*": "Semantic extensions"
            },
            {
                "name": "version-skin-colheader-name",
                "normalizedname": "version-skin-colheader-name",
                "*": "Skin"
            },
            {
                "name": "version-skins",
                "normalizedname": "version-skins",
                "*": "Installed skins"
            },
            {
                "name": "version-skins-no-skin",
                "normalizedname": "version-skins-no-skin",
                "*": "No skins currently installed."
            },
            {
                "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-missing-pages",
                "normalizedname": "view-missing-pages",
                "*": "View missing pages"
            },
            {
                "name": "view-pool-contention",
                "normalizedname": "view-pool-contention",
                "*": "pool contention"
            },
            {
                "name": "view-pool-dirty-output",
                "normalizedname": "view-pool-dirty-output",
                "*": "parser cache is expired"
            },
            {
                "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": "view-pool-timeout",
                "normalizedname": "view-pool-timeout",
                "*": "pool overload"
            },
            {
                "name": "viewcontribs",
                "normalizedname": "viewcontribs",
                "*": "View contributions"
            },
            {
                "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 groups of {{GENDER:$1|user}} <strong>[[User:$1|$1]]</strong> $2"
            },
            {
                "name": "viewpagelogs",
                "normalizedname": "viewpagelogs",
                "*": "View logs for this page"
            },
            {
                "name": "viewpagelogs-lowercase",
                "normalizedname": "viewpagelogs-lowercase",
                "*": "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": "visualeditor",
                "normalizedname": "visualeditor",
                "*": "VisualEditor"
            },
            {
                "name": "visualeditor-advancedsettings-tool",
                "normalizedname": "visualeditor-advancedsettings-tool",
                "*": "Advanced settings"
            },
            {
                "name": "visualeditor-aliennode-tooltip",
                "normalizedname": "visualeditor-aliennode-tooltip",
                "*": "Sorry, this element can only be edited in source mode for now."
            },
            {
                "name": "visualeditor-align-desc-center",
                "normalizedname": "visualeditor-align-desc-center",
                "*": "center"
            },
            {
                "name": "visualeditor-align-desc-default",
                "normalizedname": "visualeditor-align-desc-default",
                "*": "default"
            },
            {
                "name": "visualeditor-align-desc-left",
                "normalizedname": "visualeditor-align-desc-left",
                "*": "left"
            },
            {
                "name": "visualeditor-align-desc-none",
                "normalizedname": "visualeditor-align-desc-none",
                "*": "none"
            },
            {
                "name": "visualeditor-align-desc-right",
                "normalizedname": "visualeditor-align-desc-right",
                "*": "right"
            },
            {
                "name": "visualeditor-align-widget-center",
                "normalizedname": "visualeditor-align-widget-center",
                "*": "Center"
            },
            {
                "name": "visualeditor-align-widget-default",
                "normalizedname": "visualeditor-align-widget-default",
                "*": "Default"
            },
            {
                "name": "visualeditor-align-widget-left",
                "normalizedname": "visualeditor-align-widget-left",
                "*": "Left"
            },
            {
                "name": "visualeditor-align-widget-right",
                "normalizedname": "visualeditor-align-widget-right",
                "*": "Right"
            },
            {
                "name": "visualeditor-alignablecontextitem-title",
                "normalizedname": "visualeditor-alignablecontextitem-title",
                "*": "Alignment"
            },
            {
                "name": "visualeditor-annotationbutton-big-tooltip",
                "normalizedname": "visualeditor-annotationbutton-big-tooltip",
                "*": "Big"
            },
            {
                "name": "visualeditor-annotationbutton-bold-tooltip",
                "normalizedname": "visualeditor-annotationbutton-bold-tooltip",
                "*": "Bold"
            },
            {
                "name": "visualeditor-annotationbutton-code-tooltip",
                "normalizedname": "visualeditor-annotationbutton-code-tooltip",
                "*": "Computer code"
            },
            {
                "name": "visualeditor-annotationbutton-italic-tooltip",
                "normalizedname": "visualeditor-annotationbutton-italic-tooltip",
                "*": "Italic"
            },
            {
                "name": "visualeditor-annotationbutton-language-tooltip",
                "normalizedname": "visualeditor-annotationbutton-language-tooltip",
                "*": "Language"
            },
            {
                "name": "visualeditor-annotationbutton-link-tooltip",
                "normalizedname": "visualeditor-annotationbutton-link-tooltip",
                "*": "Link"
            },
            {
                "name": "visualeditor-annotationbutton-small-tooltip",
                "normalizedname": "visualeditor-annotationbutton-small-tooltip",
                "*": "Small"
            },
            {
                "name": "visualeditor-annotationbutton-strikethrough-tooltip",
                "normalizedname": "visualeditor-annotationbutton-strikethrough-tooltip",
                "*": "Strikethrough"
            },
            {
                "name": "visualeditor-annotationbutton-subscript-tooltip",
                "normalizedname": "visualeditor-annotationbutton-subscript-tooltip",
                "*": "Subscript"
            },
            {
                "name": "visualeditor-annotationbutton-superscript-tooltip",
                "normalizedname": "visualeditor-annotationbutton-superscript-tooltip",
                "*": "Superscript"
            },
            {
                "name": "visualeditor-annotationbutton-underline-tooltip",
                "normalizedname": "visualeditor-annotationbutton-underline-tooltip",
                "*": "Underline"
            },
            {
                "name": "visualeditor-annotations-default-description",
                "normalizedname": "visualeditor-annotations-default-description",
                "*": "This part of the page is part of an annotation range."
            },
            {
                "name": "visualeditor-annotations-default-end",
                "normalizedname": "visualeditor-annotations-default-end",
                "*": "End of the annotated range"
            },
            {
                "name": "visualeditor-annotations-default-start",
                "normalizedname": "visualeditor-annotations-default-start",
                "*": "Start of the annotated range"
            },
            {
                "name": "visualeditor-annotations-extended-documentation",
                "normalizedname": "visualeditor-annotations-extended-documentation",
                "*": "This annotation range has been extended because the content it enclosed was not well-nested. It is recommended to ensure that the annotated content is well-nested before editing it; otherwise, a larger range than expected might get annotated."
            },
            {
                "name": "visualeditor-autosave-modified-prompt-accept",
                "normalizedname": "visualeditor-autosave-modified-prompt-accept",
                "*": "Resume edit"
            },
            {
                "name": "visualeditor-autosave-modified-prompt-message",
                "normalizedname": "visualeditor-autosave-modified-prompt-message",
                "*": "This page was edited since you last loaded it. Would {{GENDER:|you}} like to resume {{GENDER:|your}} edit of the old version, or start a new edit of the latest version?"
            },
            {
                "name": "visualeditor-autosave-modified-prompt-reject",
                "normalizedname": "visualeditor-autosave-modified-prompt-reject",
                "*": "Start a new edit"
            },
            {
                "name": "visualeditor-autosave-modified-prompt-title",
                "normalizedname": "visualeditor-autosave-modified-prompt-title",
                "*": "Resume {{GENDER:|your}} edit?"
            },
            {
                "name": "visualeditor-autosave-not-recovered-text",
                "normalizedname": "visualeditor-autosave-not-recovered-text",
                "*": "Your unsaved changes could not be recovered."
            },
            {
                "name": "visualeditor-autosave-not-recovered-title",
                "normalizedname": "visualeditor-autosave-not-recovered-title",
                "*": "Change recovery failed"
            },
            {
                "name": "visualeditor-autosave-recovered-text",
                "normalizedname": "visualeditor-autosave-recovered-text",
                "*": "Your unsaved changes have been automatically recovered."
            },
            {
                "name": "visualeditor-autosave-recovered-title",
                "normalizedname": "visualeditor-autosave-recovered-title",
                "*": "Changes recovered"
            },
            {
                "name": "visualeditor-backbutton-tooltip",
                "normalizedname": "visualeditor-backbutton-tooltip",
                "*": "Go back"
            },
            {
                "name": "visualeditor-browserwarning",
                "normalizedname": "visualeditor-browserwarning",
                "*": "You are using a browser which is not officially supported by this editor."
            },
            {
                "name": "visualeditor-ca-createlocaldescriptionsource",
                "normalizedname": "visualeditor-ca-createlocaldescriptionsource",
                "*": "Add local description source"
            },
            {
                "name": "visualeditor-ca-createsource",
                "normalizedname": "visualeditor-ca-createsource",
                "*": "Create source"
            },
            {
                "name": "visualeditor-ca-editlocaldescriptionsource",
                "normalizedname": "visualeditor-ca-editlocaldescriptionsource",
                "*": "Edit local description source"
            },
            {
                "name": "visualeditor-ca-editsource",
                "normalizedname": "visualeditor-ca-editsource",
                "*": "Edit source"
            },
            {
                "name": "visualeditor-ca-editsource-section",
                "normalizedname": "visualeditor-ca-editsource-section",
                "*": "edit source"
            },
            {
                "name": "visualeditor-ca-editsource-section-hint",
                "normalizedname": "visualeditor-ca-editsource-section-hint",
                "*": "Edit section's source code: $1"
            },
            {
                "name": "visualeditor-categories-tool",
                "normalizedname": "visualeditor-categories-tool",
                "*": "Categories"
            },
            {
                "name": "visualeditor-changedesc-align",
                "normalizedname": "visualeditor-changedesc-align",
                "*": "Alignment changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-changed",
                "normalizedname": "visualeditor-changedesc-changed",
                "*": "$1 changed from $2 to $3"
            },
            {
                "name": "visualeditor-changedesc-changed-diff",
                "normalizedname": "visualeditor-changedesc-changed-diff",
                "*": "$1 changed: $2"
            },
            {
                "name": "visualeditor-changedesc-comment",
                "normalizedname": "visualeditor-changedesc-comment",
                "*": "Comment changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-comment-diff",
                "normalizedname": "visualeditor-changedesc-comment-diff",
                "*": "Comment changed: $1"
            },
            {
                "name": "visualeditor-changedesc-direction",
                "normalizedname": "visualeditor-changedesc-direction",
                "*": "Direction override changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-image-size",
                "normalizedname": "visualeditor-changedesc-image-size",
                "*": "Size changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-language",
                "normalizedname": "visualeditor-changedesc-language",
                "*": "Language changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-link-added",
                "normalizedname": "visualeditor-changedesc-link-added",
                "*": "Link added: $1"
            },
            {
                "name": "visualeditor-changedesc-link-href",
                "normalizedname": "visualeditor-changedesc-link-href",
                "*": "Link target changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-link-href-diff",
                "normalizedname": "visualeditor-changedesc-link-href-diff",
                "*": "Link target changed: $1"
            },
            {
                "name": "visualeditor-changedesc-link-removed",
                "normalizedname": "visualeditor-changedesc-link-removed",
                "*": "Link removed: $1"
            },
            {
                "name": "visualeditor-changedesc-list-indent",
                "normalizedname": "visualeditor-changedesc-list-indent",
                "*": "List item indentation increased"
            },
            {
                "name": "visualeditor-changedesc-list-outdent",
                "normalizedname": "visualeditor-changedesc-list-outdent",
                "*": "List item indentation decreased"
            },
            {
                "name": "visualeditor-changedesc-mwcategory-sortkey-changed",
                "normalizedname": "visualeditor-changedesc-mwcategory-sortkey-changed",
                "*": "Sort key changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-mwcategory-sortkey-set",
                "normalizedname": "visualeditor-changedesc-mwcategory-sortkey-set",
                "*": "Sort key set to $1"
            },
            {
                "name": "visualeditor-changedesc-mwcategory-sortkey-unset",
                "normalizedname": "visualeditor-changedesc-mwcategory-sortkey-unset",
                "*": "Sort key unset from $1"
            },
            {
                "name": "visualeditor-changedesc-mwlanguagevariant",
                "normalizedname": "visualeditor-changedesc-mwlanguagevariant",
                "*": "Language variant markup changed"
            },
            {
                "name": "visualeditor-changedesc-mwredirect",
                "normalizedname": "visualeditor-changedesc-mwredirect",
                "*": "Redirect target changed from $1 to $2"
            },
            {
                "name": "visualeditor-changedesc-mwtransclusion",
                "normalizedname": "visualeditor-changedesc-mwtransclusion",
                "*": "Template parameters changed"
            },
            {
                "name": "visualeditor-changedesc-no-key",
                "normalizedname": "visualeditor-changedesc-no-key",
                "*": "$1 changed to $2"
            },
            {
                "name": "visualeditor-changedesc-set",
                "normalizedname": "visualeditor-changedesc-set",
                "*": "$1 set to $2"
            },
            {
                "name": "visualeditor-changedesc-textstyle-added",
                "normalizedname": "visualeditor-changedesc-textstyle-added",
                "*": "Text styling added: $1"
            },
            {
                "name": "visualeditor-changedesc-textstyle-removed",
                "normalizedname": "visualeditor-changedesc-textstyle-removed",
                "*": "Text styling removed: $1"
            },
            {
                "name": "visualeditor-changedesc-unknown",
                "normalizedname": "visualeditor-changedesc-unknown",
                "*": "$1 changed"
            },
            {
                "name": "visualeditor-changedesc-unset",
                "normalizedname": "visualeditor-changedesc-unset",
                "*": "$1 unset from $2"
            },
            {
                "name": "visualeditor-changedir",
                "normalizedname": "visualeditor-changedir",
                "*": "Change directionality"
            },
            {
                "name": "visualeditor-changedir-tool-ltr",
                "normalizedname": "visualeditor-changedir-tool-ltr",
                "*": "View as left-to-right"
            },
            {
                "name": "visualeditor-changedir-tool-rtl",
                "normalizedname": "visualeditor-changedir-tool-rtl",
                "*": "View as right-to-left"
            },
            {
                "name": "visualeditor-cite-tool-definition.json",
                "normalizedname": "visualeditor-cite-tool-definition.json",
                "*": "null"
            },
            {
                "name": "visualeditor-cite-tool-name-book",
                "normalizedname": "visualeditor-cite-tool-name-book",
                "*": "Book"
            },
            {
                "name": "visualeditor-cite-tool-name-journal",
                "normalizedname": "visualeditor-cite-tool-name-journal",
                "*": "Journal"
            },
            {
                "name": "visualeditor-cite-tool-name-news",
                "normalizedname": "visualeditor-cite-tool-name-news",
                "*": "News"
            },
            {
                "name": "visualeditor-cite-tool-name-web",
                "normalizedname": "visualeditor-cite-tool-name-web",
                "*": "Website"
            },
            {
                "name": "visualeditor-clearbutton-tooltip",
                "normalizedname": "visualeditor-clearbutton-tooltip",
                "*": "Remove"
            },
            {
                "name": "visualeditor-clipboard-copy",
                "normalizedname": "visualeditor-clipboard-copy",
                "*": "Copy"
            },
            {
                "name": "visualeditor-clipboard-copy-fail",
                "normalizedname": "visualeditor-clipboard-copy-fail",
                "*": "Failed to copy to clipboard."
            },
            {
                "name": "visualeditor-clipboard-copy-success",
                "normalizedname": "visualeditor-clipboard-copy-success",
                "*": "Copied to clipboard."
            },
            {
                "name": "visualeditor-clipboard-cut",
                "normalizedname": "visualeditor-clipboard-cut",
                "*": "Cut"
            },
            {
                "name": "visualeditor-clipboard-paste",
                "normalizedname": "visualeditor-clipboard-paste",
                "*": "Paste"
            },
            {
                "name": "visualeditor-clipboard-paste-special",
                "normalizedname": "visualeditor-clipboard-paste-special",
                "*": "Paste as plain text"
            },
            {
                "name": "visualeditor-command-dialog-cancel",
                "normalizedname": "visualeditor-command-dialog-cancel",
                "*": "Close / cancel change"
            },
            {
                "name": "visualeditor-command-dialog-confirm",
                "normalizedname": "visualeditor-command-dialog-confirm",
                "*": "Confirm change"
            },
            {
                "name": "visualeditor-command-dialog-focus-context",
                "normalizedname": "visualeditor-command-dialog-focus-context",
                "*": "Move focus to contextual popup"
            },
            {
                "name": "visualeditor-commentannotationcontextitem-comment",
                "normalizedname": "visualeditor-commentannotationcontextitem-comment",
                "*": "Comment"
            },
            {
                "name": "visualeditor-commentinspector-title",
                "normalizedname": "visualeditor-commentinspector-title",
                "*": "Comment"
            },
            {
                "name": "visualeditor-commentinspector-tooltip",
                "normalizedname": "visualeditor-commentinspector-tooltip",
                "*": "Comment"
            },
            {
                "name": "visualeditor-completionwidget-noresults",
                "normalizedname": "visualeditor-completionwidget-noresults",
                "*": "No results"
            },
            {
                "name": "visualeditor-content-select-all",
                "normalizedname": "visualeditor-content-select-all",
                "*": "Select all"
            },
            {
                "name": "visualeditor-contextitemwidget-label-close",
                "normalizedname": "visualeditor-contextitemwidget-label-close",
                "*": "Close"
            },
            {
                "name": "visualeditor-contextitemwidget-label-remove",
                "normalizedname": "visualeditor-contextitemwidget-label-remove",
                "*": "Delete"
            },
            {
                "name": "visualeditor-contextitemwidget-label-secondary",
                "normalizedname": "visualeditor-contextitemwidget-label-secondary",
                "*": "Edit"
            },
            {
                "name": "visualeditor-contextitemwidget-label-view",
                "normalizedname": "visualeditor-contextitemwidget-label-view",
                "*": "View"
            },
            {
                "name": "visualeditor-debugbar-close",
                "normalizedname": "visualeditor-debugbar-close",
                "*": "Close"
            },
            {
                "name": "visualeditor-debugbar-inputdebug",
                "normalizedname": "visualeditor-debugbar-inputdebug",
                "*": "Input debugging"
            },
            {
                "name": "visualeditor-debugbar-logrange",
                "normalizedname": "visualeditor-debugbar-logrange",
                "*": "Log selected"
            },
            {
                "name": "visualeditor-debugbar-showmodel",
                "normalizedname": "visualeditor-debugbar-showmodel",
                "*": "Show model"
            },
            {
                "name": "visualeditor-debugbar-showtransactions",
                "normalizedname": "visualeditor-debugbar-showtransactions",
                "*": "Show transactions"
            },
            {
                "name": "visualeditor-debugbar-startfilibuster",
                "normalizedname": "visualeditor-debugbar-startfilibuster",
                "*": "Filibuster"
            },
            {
                "name": "visualeditor-debugbar-stopfilibuster",
                "normalizedname": "visualeditor-debugbar-stopfilibuster",
                "*": "Stop Filibuster"
            },
            {
                "name": "visualeditor-debugbar-testsquasher",
                "normalizedname": "visualeditor-debugbar-testsquasher",
                "*": "Test squasher"
            },
            {
                "name": "visualeditor-debugbar-updatemodel",
                "normalizedname": "visualeditor-debugbar-updatemodel",
                "*": "Update on changes"
            },
            {
                "name": "visualeditor-desc",
                "normalizedname": "visualeditor-desc",
                "*": "Visual editor for MediaWiki"
            },
            {
                "name": "visualeditor-descriptionpagelink",
                "normalizedname": "visualeditor-descriptionpagelink",
                "*": "Project:VisualEditor"
            },
            {
                "name": "visualeditor-dialog-action-apply",
                "normalizedname": "visualeditor-dialog-action-apply",
                "*": "Apply changes"
            },
            {
                "name": "visualeditor-dialog-action-cancel",
                "normalizedname": "visualeditor-dialog-action-cancel",
                "*": "Cancel"
            },
            {
                "name": "visualeditor-dialog-action-done",
                "normalizedname": "visualeditor-dialog-action-done",
                "*": "Done"
            },
            {
                "name": "visualeditor-dialog-action-goback",
                "normalizedname": "visualeditor-dialog-action-goback",
                "*": "Go back"
            },
            {
                "name": "visualeditor-dialog-action-insert",
                "normalizedname": "visualeditor-dialog-action-insert",
                "*": "Insert"
            },
            {
                "name": "visualeditor-dialog-command-help-title",
                "normalizedname": "visualeditor-dialog-command-help-title",
                "*": "Keyboard shortcuts"
            },
            {
                "name": "visualeditor-dialog-error",
                "normalizedname": "visualeditor-dialog-error",
                "*": "Something went wrong\u2026"
            },
            {
                "name": "visualeditor-dialog-error-dismiss",
                "normalizedname": "visualeditor-dialog-error-dismiss",
                "*": "Go back"
            },
            {
                "name": "visualeditor-dialog-language-auto-direction",
                "normalizedname": "visualeditor-dialog-language-auto-direction",
                "*": "Auto"
            },
            {
                "name": "visualeditor-dialog-language-search-title",
                "normalizedname": "visualeditor-dialog-language-search-title",
                "*": "Select language"
            },
            {
                "name": "visualeditor-dialog-media-alttext-checkbox",
                "normalizedname": "visualeditor-dialog-media-alttext-checkbox",
                "*": "Use the caption as the alternative text"
            },
            {
                "name": "visualeditor-dialog-media-alttext-section",
                "normalizedname": "visualeditor-dialog-media-alttext-section",
                "*": "Alternative text"
            },
            {
                "name": "visualeditor-dialog-media-alttext-section-help",
                "normalizedname": "visualeditor-dialog-media-alttext-section-help",
                "*": "You can use this to write a text description for people who can't see the item. The description should be enough for them to understand the purpose and information given by the media item. This is vital for blind users and other people using screen-reader software or text-only browsers."
            },
            {
                "name": "visualeditor-dialog-media-change-image",
                "normalizedname": "visualeditor-dialog-media-change-image",
                "*": "Change image"
            },
            {
                "name": "visualeditor-dialog-media-choose-image",
                "normalizedname": "visualeditor-dialog-media-choose-image",
                "*": "Use this image"
            },
            {
                "name": "visualeditor-dialog-media-content-description-link",
                "normalizedname": "visualeditor-dialog-media-content-description-link",
                "*": "(description page)"
            },
            {
                "name": "visualeditor-dialog-media-content-filename",
                "normalizedname": "visualeditor-dialog-media-content-filename",
                "*": "File name"
            },
            {
                "name": "visualeditor-dialog-media-content-section",
                "normalizedname": "visualeditor-dialog-media-content-section",
                "*": "Caption"
            },
            {
                "name": "visualeditor-dialog-media-content-section-help",
                "normalizedname": "visualeditor-dialog-media-content-section-help",
                "*": "You can use this to show a label that shows next to the item for all readers. This is often used to explain why the item is relevant to the context in which it is shown. It should be succinct and informative."
            },
            {
                "name": "visualeditor-dialog-media-goback",
                "normalizedname": "visualeditor-dialog-media-goback",
                "*": "Back"
            },
            {
                "name": "visualeditor-dialog-media-info-artist",
                "normalizedname": "visualeditor-dialog-media-info-artist",
                "*": "Uploaded by $1"
            },
            {
                "name": "visualeditor-dialog-media-info-audiofile",
                "normalizedname": "visualeditor-dialog-media-info-audiofile",
                "*": "Audio file"
            },
            {
                "name": "visualeditor-dialog-media-info-created",
                "normalizedname": "visualeditor-dialog-media-info-created",
                "*": "Created: $1"
            },
            {
                "name": "visualeditor-dialog-media-info-ellipsis",
                "normalizedname": "visualeditor-dialog-media-info-ellipsis",
                "*": "\u2026"
            },
            {
                "name": "visualeditor-dialog-media-info-meta-artist",
                "normalizedname": "visualeditor-dialog-media-info-meta-artist",
                "*": "Author: $1"
            },
            {
                "name": "visualeditor-dialog-media-info-moreinfo",
                "normalizedname": "visualeditor-dialog-media-info-moreinfo",
                "*": "More information"
            },
            {
                "name": "visualeditor-dialog-media-info-readmore",
                "normalizedname": "visualeditor-dialog-media-info-readmore",
                "*": "Read more"
            },
            {
                "name": "visualeditor-dialog-media-info-separator",
                "normalizedname": "visualeditor-dialog-media-info-separator",
                "*": "\u00b7"
            },
            {
                "name": "visualeditor-dialog-media-info-uploaded",
                "normalizedname": "visualeditor-dialog-media-info-uploaded",
                "*": "Uploaded: $1"
            },
            {
                "name": "visualeditor-dialog-media-page-advanced",
                "normalizedname": "visualeditor-dialog-media-page-advanced",
                "*": "Advanced"
            },
            {
                "name": "visualeditor-dialog-media-page-general",
                "normalizedname": "visualeditor-dialog-media-page-general",
                "*": "General"
            },
            {
                "name": "visualeditor-dialog-media-position-checkbox",
                "normalizedname": "visualeditor-dialog-media-position-checkbox",
                "*": "Wrap text around this item"
            },
            {
                "name": "visualeditor-dialog-media-position-checkbox-help",
                "normalizedname": "visualeditor-dialog-media-position-checkbox-help",
                "*": "You can make this media item appear inline with the text of the page instead of floating. You should only do this rarely, as it will break up the flow of the text if you uncheck this box."
            },
            {
                "name": "visualeditor-dialog-media-position-section",
                "normalizedname": "visualeditor-dialog-media-position-section",
                "*": "Position"
            },
            {
                "name": "visualeditor-dialog-media-position-section-help",
                "normalizedname": "visualeditor-dialog-media-position-section-help",
                "*": "You can set where this media item appears on the page. This is sometimes used to break up a long line of images on one side of the page."
            },
            {
                "name": "visualeditor-dialog-media-save",
                "normalizedname": "visualeditor-dialog-media-save",
                "*": "Save"
            },
            {
                "name": "visualeditor-dialog-media-search-tab-search",
                "normalizedname": "visualeditor-dialog-media-search-tab-search",
                "*": "Search"
            },
            {
                "name": "visualeditor-dialog-media-search-tab-upload",
                "normalizedname": "visualeditor-dialog-media-search-tab-upload",
                "*": "Upload"
            },
            {
                "name": "visualeditor-dialog-media-size-section",
                "normalizedname": "visualeditor-dialog-media-size-section",
                "*": "Image size"
            },
            {
                "name": "visualeditor-dialog-media-size-section-help",
                "normalizedname": "visualeditor-dialog-media-size-section-help",
                "*": "You can set how large the media item appears on the page. This should almost always be the normal size, as a custom size will interfere with the layout of the page for readers and make it inconsistent."
            },
            {
                "name": "visualeditor-dialog-media-title",
                "normalizedname": "visualeditor-dialog-media-title",
                "*": "Media settings"
            },
            {
                "name": "visualeditor-dialog-media-type-border",
                "normalizedname": "visualeditor-dialog-media-type-border",
                "*": "Border"
            },
            {
                "name": "visualeditor-dialog-media-type-frame",
                "normalizedname": "visualeditor-dialog-media-type-frame",
                "*": "Frame"
            },
            {
                "name": "visualeditor-dialog-media-type-frameless",
                "normalizedname": "visualeditor-dialog-media-type-frameless",
                "*": "Frameless"
            },
            {
                "name": "visualeditor-dialog-media-type-none",
                "normalizedname": "visualeditor-dialog-media-type-none",
                "*": "Basic"
            },
            {
                "name": "visualeditor-dialog-media-type-section",
                "normalizedname": "visualeditor-dialog-media-type-section",
                "*": "Image type"
            },
            {
                "name": "visualeditor-dialog-media-type-section-help",
                "normalizedname": "visualeditor-dialog-media-type-section-help",
                "*": "You can set how the media item appears on the page. This should be the thumbnail format to be consistent with other pages in almost all cases."
            },
            {
                "name": "visualeditor-dialog-media-type-thumb",
                "normalizedname": "visualeditor-dialog-media-type-thumb",
                "*": "Thumbnail"
            },
            {
                "name": "visualeditor-dialog-media-upload",
                "normalizedname": "visualeditor-dialog-media-upload",
                "*": "Upload"
            },
            {
                "name": "visualeditor-dialog-meta-advancedsettings-label",
                "normalizedname": "visualeditor-dialog-meta-advancedsettings-label",
                "*": "Advanced settings"
            },
            {
                "name": "visualeditor-dialog-meta-advancedsettings-section",
                "normalizedname": "visualeditor-dialog-meta-advancedsettings-section",
                "*": "Advanced settings"
            },
            {
                "name": "visualeditor-dialog-meta-categories-addcategory-label",
                "normalizedname": "visualeditor-dialog-meta-categories-addcategory-label",
                "*": "Add a category to this page"
            },
            {
                "name": "visualeditor-dialog-meta-categories-category",
                "normalizedname": "visualeditor-dialog-meta-categories-category",
                "*": "Category"
            },
            {
                "name": "visualeditor-dialog-meta-categories-data-label",
                "normalizedname": "visualeditor-dialog-meta-categories-data-label",
                "*": "Categories"
            },
            {
                "name": "visualeditor-dialog-meta-categories-defaultsort-help",
                "normalizedname": "visualeditor-dialog-meta-categories-defaultsort-help",
                "*": "You can override how this page is sorted when displayed within a category by setting a different index to sort with instead. This is often used to make pages about people show by last name, but be named with their first name shown first."
            },
            {
                "name": "visualeditor-dialog-meta-categories-defaultsort-label",
                "normalizedname": "visualeditor-dialog-meta-categories-defaultsort-label",
                "*": "Sort this page by default as"
            },
            {
                "name": "visualeditor-dialog-meta-categories-hidden",
                "normalizedname": "visualeditor-dialog-meta-categories-hidden",
                "*": "This category is set not to show on pages to which it is added."
            },
            {
                "name": "visualeditor-dialog-meta-categories-input-hiddencategorieslabel",
                "normalizedname": "visualeditor-dialog-meta-categories-input-hiddencategorieslabel",
                "*": "Hidden categories"
            },
            {
                "name": "visualeditor-dialog-meta-categories-input-matchingcategorieslabel",
                "normalizedname": "visualeditor-dialog-meta-categories-input-matchingcategorieslabel",
                "*": "Matching categories"
            },
            {
                "name": "visualeditor-dialog-meta-categories-input-movecategorylabel",
                "normalizedname": "visualeditor-dialog-meta-categories-input-movecategorylabel",
                "*": "Move this category here"
            },
            {
                "name": "visualeditor-dialog-meta-categories-input-newcategorylabel",
                "normalizedname": "visualeditor-dialog-meta-categories-input-newcategorylabel",
                "*": "New category"
            },
            {
                "name": "visualeditor-dialog-meta-categories-input-placeholder",
                "normalizedname": "visualeditor-dialog-meta-categories-input-placeholder",
                "*": "Add a category"
            },
            {
                "name": "visualeditor-dialog-meta-categories-missing",
                "normalizedname": "visualeditor-dialog-meta-categories-missing",
                "*": "This category lacks a description page."
            },
            {
                "name": "visualeditor-dialog-meta-categories-options",
                "normalizedname": "visualeditor-dialog-meta-categories-options",
                "*": "Options"
            },
            {
                "name": "visualeditor-dialog-meta-categories-section",
                "normalizedname": "visualeditor-dialog-meta-categories-section",
                "*": "Categories"
            },
            {
                "name": "visualeditor-dialog-meta-categories-sortkey-label",
                "normalizedname": "visualeditor-dialog-meta-categories-sortkey-label",
                "*": "Sort this page as if it is called"
            },
            {
                "name": "visualeditor-dialog-meta-languages-code-label",
                "normalizedname": "visualeditor-dialog-meta-languages-code-label",
                "*": "Language code"
            },
            {
                "name": "visualeditor-dialog-meta-languages-label",
                "normalizedname": "visualeditor-dialog-meta-languages-label",
                "*": "Languages"
            },
            {
                "name": "visualeditor-dialog-meta-languages-link-label",
                "normalizedname": "visualeditor-dialog-meta-languages-link-label",
                "*": "Linked page"
            },
            {
                "name": "visualeditor-dialog-meta-languages-name-label",
                "normalizedname": "visualeditor-dialog-meta-languages-name-label",
                "*": "Language"
            },
            {
                "name": "visualeditor-dialog-meta-languages-readonlynote",
                "normalizedname": "visualeditor-dialog-meta-languages-readonlynote",
                "*": "This is a list of pages in other languages that are linked to this one. For now, it can only be edited in source mode or on Wikidata."
            },
            {
                "name": "visualeditor-dialog-meta-languages-section",
                "normalizedname": "visualeditor-dialog-meta-languages-section",
                "*": "Languages"
            },
            {
                "name": "visualeditor-dialog-meta-settings-displaytitle",
                "normalizedname": "visualeditor-dialog-meta-settings-displaytitle",
                "*": "Display title"
            },
            {
                "name": "visualeditor-dialog-meta-settings-displaytitle-help",
                "normalizedname": "visualeditor-dialog-meta-settings-displaytitle-help",
                "*": "You can override how this page's title is displayed by setting a different label to show instead."
            },
            {
                "name": "visualeditor-dialog-meta-settings-hiddencat-help",
                "normalizedname": "visualeditor-dialog-meta-settings-hiddencat-help",
                "*": "You can prevent this category from showing up in the list of categories on member pages. This is useful for categories that are of interest to editors but not most readers, like pages which need an illustration."
            },
            {
                "name": "visualeditor-dialog-meta-settings-hiddencat-label",
                "normalizedname": "visualeditor-dialog-meta-settings-hiddencat-label",
                "*": "Hidden category"
            },
            {
                "name": "visualeditor-dialog-meta-settings-index-default",
                "normalizedname": "visualeditor-dialog-meta-settings-index-default",
                "*": "Default"
            },
            {
                "name": "visualeditor-dialog-meta-settings-index-disable",
                "normalizedname": "visualeditor-dialog-meta-settings-index-disable",
                "*": "No"
            },
            {
                "name": "visualeditor-dialog-meta-settings-index-force",
                "normalizedname": "visualeditor-dialog-meta-settings-index-force",
                "*": "Yes"
            },
            {
                "name": "visualeditor-dialog-meta-settings-index-help",
                "normalizedname": "visualeditor-dialog-meta-settings-index-help",
                "*": "You can force search engines to list this page in their relevant results, or force them to not do so. This option does not affect in-site search."
            },
            {
                "name": "visualeditor-dialog-meta-settings-index-label",
                "normalizedname": "visualeditor-dialog-meta-settings-index-label",
                "*": "Let this page be indexed by search engines"
            },
            {
                "name": "visualeditor-dialog-meta-settings-label",
                "normalizedname": "visualeditor-dialog-meta-settings-label",
                "*": "Page settings"
            },
            {
                "name": "visualeditor-dialog-meta-settings-newsectioneditlink-default",
                "normalizedname": "visualeditor-dialog-meta-settings-newsectioneditlink-default",
                "*": "Default"
            },
            {
                "name": "visualeditor-dialog-meta-settings-newsectioneditlink-disable",
                "normalizedname": "visualeditor-dialog-meta-settings-newsectioneditlink-disable",
                "*": "No"
            },
            {
                "name": "visualeditor-dialog-meta-settings-newsectioneditlink-force",
                "normalizedname": "visualeditor-dialog-meta-settings-newsectioneditlink-force",
                "*": "Yes"
            },
            {
                "name": "visualeditor-dialog-meta-settings-newsectioneditlink-help",
                "normalizedname": "visualeditor-dialog-meta-settings-newsectioneditlink-help",
                "*": "You can force the display of an extra tab besides the \"$1\" tab on this page which will make it easy to add a new section, or force it to not appear if it otherwise would."
            },
            {
                "name": "visualeditor-dialog-meta-settings-newsectioneditlink-label",
                "normalizedname": "visualeditor-dialog-meta-settings-newsectioneditlink-label",
                "*": "Show a tab on this page to add a new section"
            },
            {
                "name": "visualeditor-dialog-meta-settings-nocontentconvert-help",
                "normalizedname": "visualeditor-dialog-meta-settings-nocontentconvert-help",
                "*": "You can prevent this page's contents being automatically converted into other scripts."
            },
            {
                "name": "visualeditor-dialog-meta-settings-nocontentconvert-label",
                "normalizedname": "visualeditor-dialog-meta-settings-nocontentconvert-label",
                "*": "Don't convert content between language variants"
            },
            {
                "name": "visualeditor-dialog-meta-settings-noeditsection-help",
                "normalizedname": "visualeditor-dialog-meta-settings-noeditsection-help",
                "*": "You can stop the edit links from appearing next to each section in the unusual case where that is appropriate."
            },
            {
                "name": "visualeditor-dialog-meta-settings-noeditsection-label",
                "normalizedname": "visualeditor-dialog-meta-settings-noeditsection-label",
                "*": "Disable the edit links next to each heading on this page."
            },
            {
                "name": "visualeditor-dialog-meta-settings-nogallery-help",
                "normalizedname": "visualeditor-dialog-meta-settings-nogallery-help",
                "*": "You can prevent this category from displaying member files as a gallery, if that is inappropriate in this case."
            },
            {
                "name": "visualeditor-dialog-meta-settings-nogallery-label",
                "normalizedname": "visualeditor-dialog-meta-settings-nogallery-label",
                "*": "Disable gallery"
            },
            {
                "name": "visualeditor-dialog-meta-settings-notitleconvert-help",
                "normalizedname": "visualeditor-dialog-meta-settings-notitleconvert-help",
                "*": "You can prevent this page's title being automatically converted into other scripts."
            },
            {
                "name": "visualeditor-dialog-meta-settings-notitleconvert-label",
                "normalizedname": "visualeditor-dialog-meta-settings-notitleconvert-label",
                "*": "Don't convert title between language variants"
            },
            {
                "name": "visualeditor-dialog-meta-settings-redirect-help",
                "normalizedname": "visualeditor-dialog-meta-settings-redirect-help",
                "*": "You can make this page into a redirect, a page which will automatically take readers to another page on this wiki. This is useful for mis-spellings and alternative names or concepts. If you do so, readers will not see the contents of this page."
            },
            {
                "name": "visualeditor-dialog-meta-settings-redirect-label",
                "normalizedname": "visualeditor-dialog-meta-settings-redirect-label",
                "*": "Redirect this page to"
            },
            {
                "name": "visualeditor-dialog-meta-settings-redirect-placeholder",
                "normalizedname": "visualeditor-dialog-meta-settings-redirect-placeholder",
                "*": "Target page for redirection"
            },
            {
                "name": "visualeditor-dialog-meta-settings-redirect-statichelp",
                "normalizedname": "visualeditor-dialog-meta-settings-redirect-statichelp",
                "*": "You can prevent this redirect from being updated automatically when the page to which it redirects is moved, in the very rare case that this is needed."
            },
            {
                "name": "visualeditor-dialog-meta-settings-redirect-staticlabel",
                "normalizedname": "visualeditor-dialog-meta-settings-redirect-staticlabel",
                "*": "Prevent this redirect from being updated when target page is moved."
            },
            {
                "name": "visualeditor-dialog-meta-settings-section",
                "normalizedname": "visualeditor-dialog-meta-settings-section",
                "*": "Page settings"
            },
            {
                "name": "visualeditor-dialog-meta-settings-toc-default",
                "normalizedname": "visualeditor-dialog-meta-settings-toc-default",
                "*": "If needed"
            },
            {
                "name": "visualeditor-dialog-meta-settings-toc-disable",
                "normalizedname": "visualeditor-dialog-meta-settings-toc-disable",
                "*": "Never"
            },
            {
                "name": "visualeditor-dialog-meta-settings-toc-force",
                "normalizedname": "visualeditor-dialog-meta-settings-toc-force",
                "*": "Always"
            },
            {
                "name": "visualeditor-dialog-meta-settings-toc-help",
                "normalizedname": "visualeditor-dialog-meta-settings-toc-help",
                "*": "You can force a table of contents that lists each heading on the page to appear on pages with fewer than four headings, or force it to not appear at all. By default, it will appear if the page has four or more headings."
            },
            {
                "name": "visualeditor-dialog-meta-settings-toc-label",
                "normalizedname": "visualeditor-dialog-meta-settings-toc-label",
                "*": "Show the Table of Contents"
            },
            {
                "name": "visualeditor-dialog-meta-templatesused-noresults",
                "normalizedname": "visualeditor-dialog-meta-templatesused-noresults",
                "*": "No templates found."
            },
            {
                "name": "visualeditor-dialog-meta-title",
                "normalizedname": "visualeditor-dialog-meta-title",
                "*": "Options"
            },
            {
                "name": "visualeditor-dialog-table-caption",
                "normalizedname": "visualeditor-dialog-table-caption",
                "*": "Caption"
            },
            {
                "name": "visualeditor-dialog-table-collapsed",
                "normalizedname": "visualeditor-dialog-table-collapsed",
                "*": "Collapsed initially"
            },
            {
                "name": "visualeditor-dialog-table-collapsible",
                "normalizedname": "visualeditor-dialog-table-collapsible",
                "*": "Collapsible"
            },
            {
                "name": "visualeditor-dialog-table-sortable",
                "normalizedname": "visualeditor-dialog-table-sortable",
                "*": "Sortable"
            },
            {
                "name": "visualeditor-dialog-table-title",
                "normalizedname": "visualeditor-dialog-table-title",
                "*": "Table properties"
            },
            {
                "name": "visualeditor-dialog-table-wikitable",
                "normalizedname": "visualeditor-dialog-table-wikitable",
                "*": "Styled (wikitable)"
            },
            {
                "name": "visualeditor-dialog-template-title",
                "normalizedname": "visualeditor-dialog-template-title",
                "*": "Template"
            },
            {
                "name": "visualeditor-dialog-transclusion-action-save",
                "normalizedname": "visualeditor-dialog-transclusion-action-save",
                "*": "Save"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-error-alias",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-error-alias",
                "*": "\"$1\" is already added as \"$2\". Please check the options in the sidebar. This is due to either the use of [//www.mediawiki.org/wiki/Special:MyLanguage/Help:TemplateData#aliases aliases] or [//www.mediawiki.org/wiki/Special:MyLanguage/Help:TemplateData#label labels]."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-error-deprecated",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-error-deprecated",
                "*": "\"$1\" cannot be added because the parameter has been marked as [//www.mediawiki.org/wiki/Special:MyLanguage/Help:TemplateData#deprecated deprecated]."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-error-exists-selected",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-error-exists-selected",
                "*": "Cannot add the parameter \"$2\" twice."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-error-exists-unselected",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-error-exists-unselected",
                "*": "The parameter \"$2\" is already available for use. Please check the options in the sidebar."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-error-forbidden-char",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-error-forbidden-char",
                "*": "$1 is a forbidden character. Please remove it to add the parameter."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-help",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-help",
                "*": "If known, enter [//www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/User_guide#Adding_undocumented_parameters undocumented parameter] names. Note that only parameters known by the template will have an effect. You may find information about existing parameters on the [[$1|template's page]]."
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-placeholder",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-placeholder",
                "*": "Parameter name"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-param-save",
                "normalizedname": "visualeditor-dialog-transclusion-add-param-save",
                "*": "Add"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-template",
                "normalizedname": "visualeditor-dialog-transclusion-add-template",
                "*": "Add template"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-template-button",
                "normalizedname": "visualeditor-dialog-transclusion-add-template-button",
                "*": "Add template"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-template-save",
                "normalizedname": "visualeditor-dialog-transclusion-add-template-save",
                "*": "Add"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-undocumented-param",
                "normalizedname": "visualeditor-dialog-transclusion-add-undocumented-param",
                "*": "Add undocumented parameter"
            },
            {
                "name": "visualeditor-dialog-transclusion-add-wikitext",
                "normalizedname": "visualeditor-dialog-transclusion-add-wikitext",
                "*": "Add wikitext"
            },
            {
                "name": "visualeditor-dialog-transclusion-back-confirmation-prompt",
                "normalizedname": "visualeditor-dialog-transclusion-back-confirmation-prompt",
                "*": "Go back to search? Your changes will be lost, and this cannot be undone."
            },
            {
                "name": "visualeditor-dialog-transclusion-close-confirmation-prompt",
                "normalizedname": "visualeditor-dialog-transclusion-close-confirmation-prompt",
                "*": "Close template editor? Your changes will be lost, and this cannot be undone."
            },
            {
                "name": "visualeditor-dialog-transclusion-collapse-options",
                "normalizedname": "visualeditor-dialog-transclusion-collapse-options",
                "*": "Hide options"
            },
            {
                "name": "visualeditor-dialog-transclusion-confirmation-discard",
                "normalizedname": "visualeditor-dialog-transclusion-confirmation-discard",
                "*": "Discard edits"
            },
            {
                "name": "visualeditor-dialog-transclusion-confirmation-reject",
                "normalizedname": "visualeditor-dialog-transclusion-confirmation-reject",
                "*": "Continue editing"
            },
            {
                "name": "visualeditor-dialog-transclusion-contextitem-description",
                "normalizedname": "visualeditor-dialog-transclusion-contextitem-description",
                "*": "Generated from: $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-contextitem-loading",
                "normalizedname": "visualeditor-dialog-transclusion-contextitem-loading",
                "*": "Loading\u2026"
            },
            {
                "name": "visualeditor-dialog-transclusion-deprecated-parameter",
                "normalizedname": "visualeditor-dialog-transclusion-deprecated-parameter",
                "*": "Deprecated field"
            },
            {
                "name": "visualeditor-dialog-transclusion-deprecated-parameter-description",
                "normalizedname": "visualeditor-dialog-transclusion-deprecated-parameter-description",
                "*": "Field is deprecated. $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-expand-options",
                "normalizedname": "visualeditor-dialog-transclusion-expand-options",
                "*": "Show options"
            },
            {
                "name": "visualeditor-dialog-transclusion-filter-hide-unused",
                "normalizedname": "visualeditor-dialog-transclusion-filter-hide-unused",
                "*": "Hide unused"
            },
            {
                "name": "visualeditor-dialog-transclusion-filter-no-match",
                "normalizedname": "visualeditor-dialog-transclusion-filter-no-match",
                "*": "No matches found"
            },
            {
                "name": "visualeditor-dialog-transclusion-filter-placeholder",
                "normalizedname": "visualeditor-dialog-transclusion-filter-placeholder",
                "*": "Find field"
            },
            {
                "name": "visualeditor-dialog-transclusion-filter-show-all",
                "normalizedname": "visualeditor-dialog-transclusion-filter-show-all",
                "*": "Show all"
            },
            {
                "name": "visualeditor-dialog-transclusion-filter-title",
                "normalizedname": "visualeditor-dialog-transclusion-filter-title",
                "*": "Parameter search for $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-help-message",
                "normalizedname": "visualeditor-dialog-transclusion-help-message",
                "*": "Templates provide formatting for content. This editor shows what options a template provides on the left and values can then be added to those options on the right."
            },
            {
                "name": "visualeditor-dialog-transclusion-help-page-help",
                "normalizedname": "visualeditor-dialog-transclusion-help-page-help",
                "*": "[//www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/User_guide#Editing_templates Help for editing templates]"
            },
            {
                "name": "visualeditor-dialog-transclusion-help-page-shortcuts",
                "normalizedname": "visualeditor-dialog-transclusion-help-page-shortcuts",
                "*": "[//www.mediawiki.org/wiki/Special:MyLanguage/VisualEditor/Portal/Keyboard_shortcuts#Template_editor_dialog_shortcuts_and_keyboard_interactions Keyboard shortcuts]"
            },
            {
                "name": "visualeditor-dialog-transclusion-help-title",
                "normalizedname": "visualeditor-dialog-transclusion-help-title",
                "*": "Template editing support"
            },
            {
                "name": "visualeditor-dialog-transclusion-loading",
                "normalizedname": "visualeditor-dialog-transclusion-loading",
                "*": "Loading..."
            },
            {
                "name": "visualeditor-dialog-transclusion-multipart-message",
                "normalizedname": "visualeditor-dialog-transclusion-multipart-message",
                "*": "You are currently editing a template and one or more pieces of [//www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/User_guide#Editing_multi-part_template_content connected content] (wikitext and/or additional templates)."
            },
            {
                "name": "visualeditor-dialog-transclusion-no-template-data-description",
                "normalizedname": "visualeditor-dialog-transclusion-no-template-data-description",
                "*": "This template is missing [//www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/User_guide#Template_parameters TemplateData], and its parameters have been [//www.mediawiki.org/wiki/Special:MyLanguage/Help:VisualEditor/User_guide#Autogenerated_parameters autogenerated]. As a result the template and its parameters lack descriptions. There might be additional information on the [[$1|template's page]]."
            },
            {
                "name": "visualeditor-dialog-transclusion-no-template-description",
                "normalizedname": "visualeditor-dialog-transclusion-no-template-description",
                "*": "The \"$1\" template doesn't yet have a description, but there might be some information on the [[$2|template's page]]."
            },
            {
                "name": "visualeditor-dialog-transclusion-no-template-parameters",
                "normalizedname": "visualeditor-dialog-transclusion-no-template-parameters",
                "*": "This template has no documented parameters and may be intended for use without them."
            },
            {
                "name": "visualeditor-dialog-transclusion-param-default",
                "normalizedname": "visualeditor-dialog-transclusion-param-default",
                "*": "Default: $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-param-example-long",
                "normalizedname": "visualeditor-dialog-transclusion-param-example-long",
                "*": "Example: $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-param-selection-aria-description",
                "normalizedname": "visualeditor-dialog-transclusion-param-selection-aria-description",
                "*": "Press Space to add or remove parameters. Press Enter to add a parameter and immediately edit its value. When a parameter is already selected, press Enter to edit the value."
            },
            {
                "name": "visualeditor-dialog-transclusion-param-selection-aria-label",
                "normalizedname": "visualeditor-dialog-transclusion-param-selection-aria-label",
                "*": "Parameters in $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-param-undocumented",
                "normalizedname": "visualeditor-dialog-transclusion-param-undocumented",
                "*": "(undocumented parameter)"
            },
            {
                "name": "visualeditor-dialog-transclusion-placeholder-input-placeholder",
                "normalizedname": "visualeditor-dialog-transclusion-placeholder-input-placeholder",
                "*": "Find template"
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter",
                "*": "Required field"
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter-description",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter-description",
                "*": "Field is required."
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter-dialog-cancel",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter-dialog-cancel",
                "*": "Go back"
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter-dialog-ok",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter-dialog-ok",
                "*": "Continue anyway"
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter-dialog-title",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter-dialog-title",
                "*": "Required {{PLURAL:$1|field|fields}} missing"
            },
            {
                "name": "visualeditor-dialog-transclusion-required-parameter-is-blank",
                "normalizedname": "visualeditor-dialog-transclusion-required-parameter-is-blank",
                "*": "Are you sure you want to continue without filling the $1 {{PLURAL:$2|field|fields}}?"
            },
            {
                "name": "visualeditor-dialog-transclusion-see-template",
                "normalizedname": "visualeditor-dialog-transclusion-see-template",
                "*": "Templates are user-generated and may lack complete descriptions. There might be additional information on this [[$2|template's page]]."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-search",
                "normalizedname": "visualeditor-dialog-transclusion-template-search",
                "*": "Template search"
            },
            {
                "name": "visualeditor-dialog-transclusion-template-search-help",
                "normalizedname": "visualeditor-dialog-transclusion-template-search-help",
                "*": "Find the template you want to insert by searching for an identifying keyword. Templates that have descriptions are more likely to work well with the visual editor."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-title-modifier",
                "normalizedname": "visualeditor-dialog-transclusion-template-title-modifier",
                "*": "Template documentation and [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Glossary#Parameter parameter] names (if existing) are not available when editing templates utilizing nested syntax or modifiers, such as [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Substitution subst]."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-title-nonexistent",
                "normalizedname": "visualeditor-dialog-transclusion-template-title-nonexistent",
                "*": "This template doesn't exist."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-widget-aria",
                "normalizedname": "visualeditor-dialog-transclusion-template-widget-aria",
                "*": "Press Space to select the template."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-widget-aria-selected",
                "normalizedname": "visualeditor-dialog-transclusion-template-widget-aria-selected",
                "*": "Press Ctrl+Del to delete the template, its parameters and their values. Press Ctrl+Shift+Arrows to move the template up or down."
            },
            {
                "name": "visualeditor-dialog-transclusion-template-widget-aria-selected-single",
                "normalizedname": "visualeditor-dialog-transclusion-template-widget-aria-selected-single",
                "*": "Press Ctrl+Del to delete the template, its parameters and their values."
            },
            {
                "name": "visualeditor-dialog-transclusion-title-edit-known-template",
                "normalizedname": "visualeditor-dialog-transclusion-title-edit-known-template",
                "*": "Edit: $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-title-edit-transclusion",
                "normalizedname": "visualeditor-dialog-transclusion-title-edit-transclusion",
                "*": "Template content"
            },
            {
                "name": "visualeditor-dialog-transclusion-title-insert-known-template",
                "normalizedname": "visualeditor-dialog-transclusion-title-insert-known-template",
                "*": "Insert: $1"
            },
            {
                "name": "visualeditor-dialog-transclusion-title-insert-template",
                "normalizedname": "visualeditor-dialog-transclusion-title-insert-template",
                "*": "Insert a template"
            },
            {
                "name": "visualeditor-dialog-transclusion-wikitext",
                "normalizedname": "visualeditor-dialog-transclusion-wikitext",
                "*": "Wikitext"
            },
            {
                "name": "visualeditor-dialog-transclusion-wikitext-widget-aria",
                "normalizedname": "visualeditor-dialog-transclusion-wikitext-widget-aria",
                "*": "Press Space to select the wikitext element. Press Enter to select and edit the wikitext."
            },
            {
                "name": "visualeditor-dialog-transclusion-wikitext-widget-aria-selected",
                "normalizedname": "visualeditor-dialog-transclusion-wikitext-widget-aria-selected",
                "*": "Press Ctrl+Del to delete the wikitext element. Press Ctrl+Shift+Arrows to move the element up or down."
            },
            {
                "name": "visualeditor-dialog-transclusion-wikitext-widget-aria-selected-single",
                "normalizedname": "visualeditor-dialog-transclusion-wikitext-widget-aria-selected-single",
                "*": "Press Ctrl+Del to delete the wikitext element."
            },
            {
                "name": "visualeditor-dialogbutton-media-tooltip",
                "normalizedname": "visualeditor-dialogbutton-media-tooltip",
                "*": "Images and media"
            },
            {
                "name": "visualeditor-dialogbutton-template-tooltip",
                "normalizedname": "visualeditor-dialogbutton-template-tooltip",
                "*": "Template"
            },
            {
                "name": "visualeditor-diff-moved-down",
                "normalizedname": "visualeditor-diff-moved-down",
                "*": "Moved down"
            },
            {
                "name": "visualeditor-diff-moved-up",
                "normalizedname": "visualeditor-diff-moved-up",
                "*": "Moved up"
            },
            {
                "name": "visualeditor-diff-no-changes",
                "normalizedname": "visualeditor-diff-no-changes",
                "*": "No changes"
            },
            {
                "name": "visualeditor-diff-timed-out",
                "normalizedname": "visualeditor-diff-timed-out",
                "*": "It took too long to compute your changes, so the description below may not be optimal."
            },
            {
                "name": "visualeditor-dimensionswidget-height",
                "normalizedname": "visualeditor-dimensionswidget-height",
                "*": "height"
            },
            {
                "name": "visualeditor-dimensionswidget-px",
                "normalizedname": "visualeditor-dimensionswidget-px",
                "*": "px"
            },
            {
                "name": "visualeditor-dimensionswidget-times",
                "normalizedname": "visualeditor-dimensionswidget-times",
                "*": "\u00d7"
            },
            {
                "name": "visualeditor-dimensionswidget-width",
                "normalizedname": "visualeditor-dimensionswidget-width",
                "*": "width"
            },
            {
                "name": "visualeditor-editconflict",
                "normalizedname": "visualeditor-editconflict",
                "*": "Your changes could not be saved because of an edit conflict. Would {{GENDER:|you}} like to resolve the conflict manually?"
            },
            {
                "name": "visualeditor-editingtabdialog-body",
                "normalizedname": "visualeditor-editingtabdialog-body",
                "*": "{{SITENAME}} now remembers which editor you prefer. You can switch edit modes as you edit, and change your preference later."
            },
            {
                "name": "visualeditor-editingtabdialog-ok",
                "normalizedname": "visualeditor-editingtabdialog-ok",
                "*": "Use the editor I used in my last edit"
            },
            {
                "name": "visualeditor-editingtabdialog-title",
                "normalizedname": "visualeditor-editingtabdialog-title",
                "*": "Editing tabs"
            },
            {
                "name": "visualeditor-editnotices-tool",
                "normalizedname": "visualeditor-editnotices-tool",
                "*": "$1 {{PLURAL:$1|notice|notices}}"
            },
            {
                "name": "visualeditor-editnotices-tooltip",
                "normalizedname": "visualeditor-editnotices-tooltip",
                "*": "Edit notices"
            },
            {
                "name": "visualeditor-editsummary",
                "normalizedname": "visualeditor-editsummary",
                "*": "Describe what you changed"
            },
            {
                "name": "visualeditor-editsummary-characters-remaining",
                "normalizedname": "visualeditor-editsummary-characters-remaining",
                "*": "The number of characters remaining"
            },
            {
                "name": "visualeditor-educationpopup-dismiss",
                "normalizedname": "visualeditor-educationpopup-dismiss",
                "*": "Okay, got it"
            },
            {
                "name": "visualeditor-expandable-less",
                "normalizedname": "visualeditor-expandable-less",
                "*": "Less"
            },
            {
                "name": "visualeditor-expandable-more",
                "normalizedname": "visualeditor-expandable-more",
                "*": "More"
            },
            {
                "name": "visualeditor-feedback-defaultmessage",
                "normalizedname": "visualeditor-feedback-defaultmessage",
                "*": "URL: $1"
            },
            {
                "name": "visualeditor-feedback-link",
                "normalizedname": "visualeditor-feedback-link",
                "*": "Project:VisualEditor/Feedback"
            },
            {
                "name": "visualeditor-feedback-source-link",
                "normalizedname": "visualeditor-feedback-source-link",
                "*": "{{int:visualeditor-feedback-link}}"
            },
            {
                "name": "visualeditor-feedback-tool",
                "normalizedname": "visualeditor-feedback-tool",
                "*": "Leave feedback about this software"
            },
            {
                "name": "visualeditor-find-and-replace-diacritic",
                "normalizedname": "visualeditor-find-and-replace-diacritic",
                "*": "Diacritic insensitive"
            },
            {
                "name": "visualeditor-find-and-replace-done",
                "normalizedname": "visualeditor-find-and-replace-done",
                "*": "Done"
            },
            {
                "name": "visualeditor-find-and-replace-find-text",
                "normalizedname": "visualeditor-find-and-replace-find-text",
                "*": "Find"
            },
            {
                "name": "visualeditor-find-and-replace-invalid-regex",
                "normalizedname": "visualeditor-find-and-replace-invalid-regex",
                "*": "Invalid regular expression"
            },
            {
                "name": "visualeditor-find-and-replace-match-case",
                "normalizedname": "visualeditor-find-and-replace-match-case",
                "*": "Match case"
            },
            {
                "name": "visualeditor-find-and-replace-next-button",
                "normalizedname": "visualeditor-find-and-replace-next-button",
                "*": "Find next"
            },
            {
                "name": "visualeditor-find-and-replace-previous-button",
                "normalizedname": "visualeditor-find-and-replace-previous-button",
                "*": "Find previous"
            },
            {
                "name": "visualeditor-find-and-replace-regular-expression",
                "normalizedname": "visualeditor-find-and-replace-regular-expression",
                "*": "Regular expression"
            },
            {
                "name": "visualeditor-find-and-replace-replace-all-button",
                "normalizedname": "visualeditor-find-and-replace-replace-all-button",
                "*": "Replace all"
            },
            {
                "name": "visualeditor-find-and-replace-replace-button",
                "normalizedname": "visualeditor-find-and-replace-replace-button",
                "*": "Replace"
            },
            {
                "name": "visualeditor-find-and-replace-replace-text",
                "normalizedname": "visualeditor-find-and-replace-replace-text",
                "*": "Replace"
            },
            {
                "name": "visualeditor-find-and-replace-results",
                "normalizedname": "visualeditor-find-and-replace-results",
                "*": "$1 of $2"
            },
            {
                "name": "visualeditor-find-and-replace-title",
                "normalizedname": "visualeditor-find-and-replace-title",
                "*": "Find and replace"
            },
            {
                "name": "visualeditor-find-and-replace-word",
                "normalizedname": "visualeditor-find-and-replace-word",
                "*": "Whole word"
            },
            {
                "name": "visualeditor-formatdropdown-format-blockquote",
                "normalizedname": "visualeditor-formatdropdown-format-blockquote",
                "*": "Block quote"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading-label",
                "normalizedname": "visualeditor-formatdropdown-format-heading-label",
                "*": "Heading (1-6)"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading1",
                "normalizedname": "visualeditor-formatdropdown-format-heading1",
                "*": "Heading 1"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading2",
                "normalizedname": "visualeditor-formatdropdown-format-heading2",
                "*": "Heading 2"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading3",
                "normalizedname": "visualeditor-formatdropdown-format-heading3",
                "*": "Heading 3"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading4",
                "normalizedname": "visualeditor-formatdropdown-format-heading4",
                "*": "Heading 4"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading5",
                "normalizedname": "visualeditor-formatdropdown-format-heading5",
                "*": "Heading 5"
            },
            {
                "name": "visualeditor-formatdropdown-format-heading6",
                "normalizedname": "visualeditor-formatdropdown-format-heading6",
                "*": "Heading 6"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading1",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading1",
                "*": "Page title"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading2",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading2",
                "*": "Heading"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading3",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading3",
                "*": "Sub-heading 1"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading4",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading4",
                "*": "Sub-heading 2"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading5",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading5",
                "*": "Sub-heading 3"
            },
            {
                "name": "visualeditor-formatdropdown-format-mw-heading6",
                "normalizedname": "visualeditor-formatdropdown-format-mw-heading6",
                "*": "Sub-heading 4"
            },
            {
                "name": "visualeditor-formatdropdown-format-paragraph",
                "normalizedname": "visualeditor-formatdropdown-format-paragraph",
                "*": "Paragraph"
            },
            {
                "name": "visualeditor-formatdropdown-format-preformatted",
                "normalizedname": "visualeditor-formatdropdown-format-preformatted",
                "*": "Preformatted"
            },
            {
                "name": "visualeditor-formatdropdown-title",
                "normalizedname": "visualeditor-formatdropdown-title",
                "*": "Change format"
            },
            {
                "name": "visualeditor-generating-wikitext-progress",
                "normalizedname": "visualeditor-generating-wikitext-progress",
                "*": "Generating wikitext"
            },
            {
                "name": "visualeditor-help-label",
                "normalizedname": "visualeditor-help-label",
                "*": "Read the user guide"
            },
            {
                "name": "visualeditor-help-link",
                "normalizedname": "visualeditor-help-link",
                "*": "mw:Special:MyLanguage/Help:VisualEditor/User guide"
            },
            {
                "name": "visualeditor-help-title",
                "normalizedname": "visualeditor-help-title",
                "*": "Guide for how to use the editor"
            },
            {
                "name": "visualeditor-help-tool",
                "normalizedname": "visualeditor-help-tool",
                "*": "Help"
            },
            {
                "name": "visualeditor-historybutton-redo-tooltip",
                "normalizedname": "visualeditor-historybutton-redo-tooltip",
                "*": "Redo"
            },
            {
                "name": "visualeditor-historybutton-undo-tooltip",
                "normalizedname": "visualeditor-historybutton-undo-tooltip",
                "*": "Undo"
            },
            {
                "name": "visualeditor-horizontalrule-tooltip",
                "normalizedname": "visualeditor-horizontalrule-tooltip",
                "*": "Horizontal rule"
            },
            {
                "name": "visualeditor-includes-documentation",
                "normalizedname": "visualeditor-includes-documentation",
                "*": "[//www.mediawiki.org/wiki/Special:MyLanguage/Transclusion#Partial_transclusion Learn more about partial transclusion]"
            },
            {
                "name": "visualeditor-includes-includeonly",
                "normalizedname": "visualeditor-includes-includeonly",
                "*": "Content for excerpts only"
            },
            {
                "name": "visualeditor-includes-includeonly-description",
                "normalizedname": "visualeditor-includes-includeonly-description",
                "*": "When content from this page is used by another page, the following additional content will be included here:"
            },
            {
                "name": "visualeditor-includes-noinclude-description",
                "normalizedname": "visualeditor-includes-noinclude-description",
                "*": "When content from this page is used by another page, content from here until the matching end marker will <strong>not</strong> be included. Be careful when editing the content outside these markers, as other pages may use it."
            },
            {
                "name": "visualeditor-includes-noinclude-end",
                "normalizedname": "visualeditor-includes-noinclude-end",
                "*": "End of content excluded from excerpts"
            },
            {
                "name": "visualeditor-includes-noinclude-start",
                "normalizedname": "visualeditor-includes-noinclude-start",
                "*": "Start of content excluded from excerpts"
            },
            {
                "name": "visualeditor-includes-onlyinclude-description",
                "normalizedname": "visualeditor-includes-onlyinclude-description",
                "*": "When content from this page is used by another page, <strong>only</strong> the content from here until the matching end marker will be included. Be careful when editing the content between these markers, as other pages may use it."
            },
            {
                "name": "visualeditor-includes-onlyinclude-end",
                "normalizedname": "visualeditor-includes-onlyinclude-end",
                "*": "End of content allowed in excerpts"
            },
            {
                "name": "visualeditor-includes-onlyinclude-start",
                "normalizedname": "visualeditor-includes-onlyinclude-start",
                "*": "Start of content allowed in excerpts"
            },
            {
                "name": "visualeditor-indentationbutton-indent-tooltip",
                "normalizedname": "visualeditor-indentationbutton-indent-tooltip",
                "*": "Increase indentation"
            },
            {
                "name": "visualeditor-indentationbutton-outdent-tooltip",
                "normalizedname": "visualeditor-indentationbutton-outdent-tooltip",
                "*": "Decrease indentation"
            },
            {
                "name": "visualeditor-inspector-close-tooltip",
                "normalizedname": "visualeditor-inspector-close-tooltip",
                "*": "Close"
            },
            {
                "name": "visualeditor-inspector-remove-tooltip",
                "normalizedname": "visualeditor-inspector-remove-tooltip",
                "*": "Remove"
            },
            {
                "name": "visualeditor-internal-list-diff-default-group-name-mwreference",
                "normalizedname": "visualeditor-internal-list-diff-default-group-name-mwreference",
                "*": "References"
            },
            {
                "name": "visualeditor-internal-list-diff-group-name-mwreference",
                "normalizedname": "visualeditor-internal-list-diff-group-name-mwreference",
                "*": "Reference group name: \"$1\""
            },
            {
                "name": "visualeditor-key-alt",
                "normalizedname": "visualeditor-key-alt",
                "*": "Alt"
            },
            {
                "name": "visualeditor-key-backspace",
                "normalizedname": "visualeditor-key-backspace",
                "*": "Backspace"
            },
            {
                "name": "visualeditor-key-ctrl",
                "normalizedname": "visualeditor-key-ctrl",
                "*": "Ctrl"
            },
            {
                "name": "visualeditor-key-delete",
                "normalizedname": "visualeditor-key-delete",
                "*": "Delete"
            },
            {
                "name": "visualeditor-key-down",
                "normalizedname": "visualeditor-key-down",
                "*": "Down"
            },
            {
                "name": "visualeditor-key-end",
                "normalizedname": "visualeditor-key-end",
                "*": "End"
            },
            {
                "name": "visualeditor-key-enter",
                "normalizedname": "visualeditor-key-enter",
                "*": "Enter"
            },
            {
                "name": "visualeditor-key-escape",
                "normalizedname": "visualeditor-key-escape",
                "*": "Escape"
            },
            {
                "name": "visualeditor-key-home",
                "normalizedname": "visualeditor-key-home",
                "*": "Home"
            },
            {
                "name": "visualeditor-key-insert",
                "normalizedname": "visualeditor-key-insert",
                "*": "Insert"
            },
            {
                "name": "visualeditor-key-left",
                "normalizedname": "visualeditor-key-left",
                "*": "Left"
            },
            {
                "name": "visualeditor-key-meta",
                "normalizedname": "visualeditor-key-meta",
                "*": "Meta"
            },
            {
                "name": "visualeditor-key-page-down",
                "normalizedname": "visualeditor-key-page-down",
                "*": "Page Down"
            },
            {
                "name": "visualeditor-key-page-up",
                "normalizedname": "visualeditor-key-page-up",
                "*": "Page Up"
            },
            {
                "name": "visualeditor-key-right",
                "normalizedname": "visualeditor-key-right",
                "*": "Right"
            },
            {
                "name": "visualeditor-key-shift",
                "normalizedname": "visualeditor-key-shift",
                "*": "Shift"
            },
            {
                "name": "visualeditor-key-space",
                "normalizedname": "visualeditor-key-space",
                "*": "Space"
            },
            {
                "name": "visualeditor-key-tab",
                "normalizedname": "visualeditor-key-tab",
                "*": "Tab"
            },
            {
                "name": "visualeditor-key-up",
                "normalizedname": "visualeditor-key-up",
                "*": "Up"
            },
            {
                "name": "visualeditor-language-search-input-placeholder",
                "normalizedname": "visualeditor-language-search-input-placeholder",
                "*": "Search by language name or code"
            },
            {
                "name": "visualeditor-languageannotation-description",
                "normalizedname": "visualeditor-languageannotation-description",
                "*": "$1"
            },
            {
                "name": "visualeditor-languageannotation-description-with-dir",
                "normalizedname": "visualeditor-languageannotation-description-with-dir",
                "*": "$1 ($2)"
            },
            {
                "name": "visualeditor-languagecontext-remove",
                "normalizedname": "visualeditor-languagecontext-remove",
                "*": "Remove language"
            },
            {
                "name": "visualeditor-languageinspector-title",
                "normalizedname": "visualeditor-languageinspector-title",
                "*": "Language"
            },
            {
                "name": "visualeditor-languageinspector-widget-changelang",
                "normalizedname": "visualeditor-languageinspector-widget-changelang",
                "*": "Find language"
            },
            {
                "name": "visualeditor-languageinspector-widget-label-direction",
                "normalizedname": "visualeditor-languageinspector-widget-label-direction",
                "*": "Direction"
            },
            {
                "name": "visualeditor-languageinspector-widget-label-langcode",
                "normalizedname": "visualeditor-languageinspector-widget-label-langcode",
                "*": "Language code"
            },
            {
                "name": "visualeditor-languageinspector-widget-label-language",
                "normalizedname": "visualeditor-languageinspector-widget-label-language",
                "*": "Language"
            },
            {
                "name": "visualeditor-languages-tool",
                "normalizedname": "visualeditor-languages-tool",
                "*": "Languages"
            },
            {
                "name": "visualeditor-linkcontext-label-change",
                "normalizedname": "visualeditor-linkcontext-label-change",
                "*": "Change text"
            },
            {
                "name": "visualeditor-linkcontext-label-fallback",
                "normalizedname": "visualeditor-linkcontext-label-fallback",
                "*": "No preview"
            },
            {
                "name": "visualeditor-linkcontext-label-label",
                "normalizedname": "visualeditor-linkcontext-label-label",
                "*": "Text"
            },
            {
                "name": "visualeditor-linkcontext-remove",
                "normalizedname": "visualeditor-linkcontext-remove",
                "*": "Remove link"
            },
            {
                "name": "visualeditor-linkinspector-button-link-external",
                "normalizedname": "visualeditor-linkinspector-button-link-external",
                "*": "External site"
            },
            {
                "name": "visualeditor-linkinspector-button-link-internal",
                "normalizedname": "visualeditor-linkinspector-button-link-internal",
                "*": "Search internal pages"
            },
            {
                "name": "visualeditor-linkinspector-convert-link-isbn",
                "normalizedname": "visualeditor-linkinspector-convert-link-isbn",
                "*": "Convert to ISBN link"
            },
            {
                "name": "visualeditor-linkinspector-convert-link-pmid",
                "normalizedname": "visualeditor-linkinspector-convert-link-pmid",
                "*": "Convert to PMID link"
            },
            {
                "name": "visualeditor-linkinspector-convert-link-rfc",
                "normalizedname": "visualeditor-linkinspector-convert-link-rfc",
                "*": "Convert to RFC link"
            },
            {
                "name": "visualeditor-linkinspector-educationpopup-text",
                "normalizedname": "visualeditor-linkinspector-educationpopup-text",
                "*": "Link important words to other wiki articles or even other websites. It will help readers understand the context."
            },
            {
                "name": "visualeditor-linkinspector-educationpopup-title",
                "normalizedname": "visualeditor-linkinspector-educationpopup-title",
                "*": "Links"
            },
            {
                "name": "visualeditor-linkinspector-illegal-title",
                "normalizedname": "visualeditor-linkinspector-illegal-title",
                "*": "Invalid page title"
            },
            {
                "name": "visualeditor-linkinspector-invalid-external",
                "normalizedname": "visualeditor-linkinspector-invalid-external",
                "*": "Enter a full URL, e.g. https://example.org"
            },
            {
                "name": "visualeditor-linkinspector-title",
                "normalizedname": "visualeditor-linkinspector-title",
                "*": "Link"
            },
            {
                "name": "visualeditor-linkinspector-title-add",
                "normalizedname": "visualeditor-linkinspector-title-add",
                "*": "Add a link"
            },
            {
                "name": "visualeditor-linkinspector-title-edit",
                "normalizedname": "visualeditor-linkinspector-title-edit",
                "*": "Edit link"
            },
            {
                "name": "visualeditor-linknodeinspector-add-label",
                "normalizedname": "visualeditor-linknodeinspector-add-label",
                "*": "Add label"
            },
            {
                "name": "visualeditor-linknodeinspector-title",
                "normalizedname": "visualeditor-linknodeinspector-title",
                "*": "Simple link"
            },
            {
                "name": "visualeditor-listbutton-bullet-tooltip",
                "normalizedname": "visualeditor-listbutton-bullet-tooltip",
                "*": "Bullet list"
            },
            {
                "name": "visualeditor-listbutton-check-tooltip",
                "normalizedname": "visualeditor-listbutton-check-tooltip",
                "*": "Check list"
            },
            {
                "name": "visualeditor-listbutton-number-tooltip",
                "normalizedname": "visualeditor-listbutton-number-tooltip",
                "*": "Numbered list"
            },
            {
                "name": "visualeditor-loaderror-revidconflict",
                "normalizedname": "visualeditor-loaderror-revidconflict",
                "*": "Revision IDs returned by the server do not match (document: $1, metadata: $2)."
            },
            {
                "name": "visualeditor-loaderror-wrongmode",
                "normalizedname": "visualeditor-loaderror-wrongmode",
                "*": "Tried to load the editor in wrong mode (data type: \"$1\", editor mode: \"$2\")."
            },
            {
                "name": "visualeditor-magiclinknodeinspector-convert-link",
                "normalizedname": "visualeditor-magiclinknodeinspector-convert-link",
                "*": "Convert to simple link"
            },
            {
                "name": "visualeditor-magiclinknodeinspector-title-isbn",
                "normalizedname": "visualeditor-magiclinknodeinspector-title-isbn",
                "*": "ISBN link"
            },
            {
                "name": "visualeditor-magiclinknodeinspector-title-pmid",
                "normalizedname": "visualeditor-magiclinknodeinspector-title-pmid",
                "*": "PMID link"
            },
            {
                "name": "visualeditor-magiclinknodeinspector-title-rfc",
                "normalizedname": "visualeditor-magiclinknodeinspector-title-rfc",
                "*": "RFC link"
            },
            {
                "name": "visualeditor-media-title-audio",
                "normalizedname": "visualeditor-media-title-audio",
                "*": "Audio"
            },
            {
                "name": "visualeditor-media-title-image",
                "normalizedname": "visualeditor-media-title-image",
                "*": "Image"
            },
            {
                "name": "visualeditor-media-title-video",
                "normalizedname": "visualeditor-media-title-video",
                "*": "Video"
            },
            {
                "name": "visualeditor-mediasizewidget-label-defaulterror",
                "normalizedname": "visualeditor-mediasizewidget-label-defaulterror",
                "*": "Size values are invalid."
            },
            {
                "name": "visualeditor-mediasizewidget-label-scale",
                "normalizedname": "visualeditor-mediasizewidget-label-scale",
                "*": "Scale"
            },
            {
                "name": "visualeditor-mediasizewidget-label-scale-percent",
                "normalizedname": "visualeditor-mediasizewidget-label-scale-percent",
                "*": "% of thumbnail size"
            },
            {
                "name": "visualeditor-mediasizewidget-sizeoptions-custom",
                "normalizedname": "visualeditor-mediasizewidget-sizeoptions-custom",
                "*": "Custom"
            },
            {
                "name": "visualeditor-mediasizewidget-sizeoptions-default",
                "normalizedname": "visualeditor-mediasizewidget-sizeoptions-default",
                "*": "Default"
            },
            {
                "name": "visualeditor-mediasizewidget-sizeoptions-scale",
                "normalizedname": "visualeditor-mediasizewidget-sizeoptions-scale",
                "*": "Scale"
            },
            {
                "name": "visualeditor-meta-tool",
                "normalizedname": "visualeditor-meta-tool",
                "*": "Options"
            },
            {
                "name": "visualeditor-mweditmode-tooltip",
                "normalizedname": "visualeditor-mweditmode-tooltip",
                "*": "Switch editor"
            },
            {
                "name": "visualeditor-mweditmodesource-progress",
                "normalizedname": "visualeditor-mweditmodesource-progress",
                "*": "Switching to source editing\u2026"
            },
            {
                "name": "visualeditor-mweditmodesource-tool-current",
                "normalizedname": "visualeditor-mweditmodesource-tool-current",
                "*": "Source editing"
            },
            {
                "name": "visualeditor-mweditmodesource-tool-unavailable",
                "normalizedname": "visualeditor-mweditmodesource-tool-unavailable",
                "*": "Source editing is not available here"
            },
            {
                "name": "visualeditor-mweditmodeve-popup-body",
                "normalizedname": "visualeditor-mweditmodeve-popup-body",
                "*": "You can switch back to visual editing at any time by clicking on this icon."
            },
            {
                "name": "visualeditor-mweditmodeve-popup-title",
                "normalizedname": "visualeditor-mweditmodeve-popup-title",
                "*": "You have switched to source editing"
            },
            {
                "name": "visualeditor-mweditmodeve-progress",
                "normalizedname": "visualeditor-mweditmodeve-progress",
                "*": "Switching to visual editing\u2026"
            },
            {
                "name": "visualeditor-mweditmodeve-showagain",
                "normalizedname": "visualeditor-mweditmodeve-showagain",
                "*": "Don't show this message again"
            },
            {
                "name": "visualeditor-mweditmodeve-tool-current",
                "normalizedname": "visualeditor-mweditmodeve-tool-current",
                "*": "Visual editing"
            },
            {
                "name": "visualeditor-mweditmodeve-tool-unavailable",
                "normalizedname": "visualeditor-mweditmodeve-tool-unavailable",
                "*": "Visual editing is not available here"
            },
            {
                "name": "visualeditor-mweditmodewt-popup-body",
                "normalizedname": "visualeditor-mweditmodewt-popup-body",
                "*": "You can switch back to source editing at any time by clicking on this icon."
            },
            {
                "name": "visualeditor-mweditmodewt-popup-title",
                "normalizedname": "visualeditor-mweditmodewt-popup-title",
                "*": "You have switched to visual editing"
            },
            {
                "name": "visualeditor-mwgallerycontext-description",
                "normalizedname": "visualeditor-mwgallerycontext-description",
                "*": "$1 {{PLURAL:$1|image|images}}"
            },
            {
                "name": "visualeditor-mwgallerydialog-caption-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-caption-field-label",
                "*": "Gallery caption"
            },
            {
                "name": "visualeditor-mwgallerydialog-card-images",
                "normalizedname": "visualeditor-mwgallerydialog-card-images",
                "*": "Images"
            },
            {
                "name": "visualeditor-mwgallerydialog-card-options",
                "normalizedname": "visualeditor-mwgallerydialog-card-options",
                "*": "Options"
            },
            {
                "name": "visualeditor-mwgallerydialog-classes-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-classes-field-label",
                "*": "CSS classes"
            },
            {
                "name": "visualeditor-mwgallerydialog-classes-input-placeholder",
                "normalizedname": "visualeditor-mwgallerydialog-classes-input-placeholder",
                "*": "Class names, space-separated"
            },
            {
                "name": "visualeditor-mwgallerydialog-empty-gallery-message",
                "normalizedname": "visualeditor-mwgallerydialog-empty-gallery-message",
                "*": "The gallery is empty."
            },
            {
                "name": "visualeditor-mwgallerydialog-heights-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-heights-field-label",
                "*": "Image height"
            },
            {
                "name": "visualeditor-mwgallerydialog-heights-input-placeholder",
                "normalizedname": "visualeditor-mwgallerydialog-heights-input-placeholder",
                "*": "Default height: $1 px"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-nolines",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-nolines",
                "*": "Traditional with no outlines"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-packed",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-packed",
                "*": "Packed"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-packed-hover",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-packed-hover",
                "*": "Packed with captions on hover"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-packed-overlay",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-packed-overlay",
                "*": "Packed with overlaid captions"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-slideshow",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-slideshow",
                "*": "Slideshow"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-dropdown-label-traditional",
                "normalizedname": "visualeditor-mwgallerydialog-mode-dropdown-label-traditional",
                "*": "Traditional"
            },
            {
                "name": "visualeditor-mwgallerydialog-mode-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-mode-field-label",
                "*": "Display mode"
            },
            {
                "name": "visualeditor-mwgallerydialog-perrow-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-perrow-field-label",
                "*": "Images per row"
            },
            {
                "name": "visualeditor-mwgallerydialog-remove-button-label",
                "normalizedname": "visualeditor-mwgallerydialog-remove-button-label",
                "*": "Remove image"
            },
            {
                "name": "visualeditor-mwgallerydialog-search-button-label",
                "normalizedname": "visualeditor-mwgallerydialog-search-button-label",
                "*": "Add new image"
            },
            {
                "name": "visualeditor-mwgallerydialog-show-filename-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-show-filename-field-label",
                "*": "Show filenames"
            },
            {
                "name": "visualeditor-mwgallerydialog-styles-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-styles-field-label",
                "*": "CSS styles"
            },
            {
                "name": "visualeditor-mwgallerydialog-styles-input-placeholder",
                "normalizedname": "visualeditor-mwgallerydialog-styles-input-placeholder",
                "*": "CSS rules, semicolon-separated"
            },
            {
                "name": "visualeditor-mwgallerydialog-title",
                "normalizedname": "visualeditor-mwgallerydialog-title",
                "*": "Gallery"
            },
            {
                "name": "visualeditor-mwgallerydialog-widths-field-label",
                "normalizedname": "visualeditor-mwgallerydialog-widths-field-label",
                "*": "Image width"
            },
            {
                "name": "visualeditor-mwgallerydialog-widths-input-placeholder",
                "normalizedname": "visualeditor-mwgallerydialog-widths-input-placeholder",
                "*": "Default width: $1 px"
            },
            {
                "name": "visualeditor-mwlanguagevariant-disabled",
                "normalizedname": "visualeditor-mwlanguagevariant-disabled",
                "*": "Variant conversion disabled"
            },
            {
                "name": "visualeditor-mwlanguagevariant-filter",
                "normalizedname": "visualeditor-mwlanguagevariant-filter",
                "*": "Variants filtered to $1"
            },
            {
                "name": "visualeditor-mwlanguagevariant-name",
                "normalizedname": "visualeditor-mwlanguagevariant-name",
                "*": "Language name: $1"
            },
            {
                "name": "visualeditor-mwlanguagevariant-oneway",
                "normalizedname": "visualeditor-mwlanguagevariant-oneway",
                "*": "One-way conversion: $1"
            },
            {
                "name": "visualeditor-mwlanguagevariant-twoway",
                "normalizedname": "visualeditor-mwlanguagevariant-twoway",
                "*": "Language conversion: $1"
            },
            {
                "name": "visualeditor-mwlanguagevariant-unknown",
                "normalizedname": "visualeditor-mwlanguagevariant-unknown",
                "*": "Language variant"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-flag-describe",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-flag-describe",
                "*": "This is a described rule."
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-flag-hidden",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-flag-hidden",
                "*": "This is a hidden rule."
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-flag-title",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-flag-title",
                "*": "This rule affects the page title."
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-code-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-code-label",
                "*": "Language code"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-invalid-language-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-invalid-language-label",
                "*": "<Invalid>"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-name-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-name-label",
                "*": "Language"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-text-from-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-text-from-label",
                "*": "Source"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-text-to-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-text-to-label",
                "*": "Destination"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-rule-text-twoway-label",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-rule-text-twoway-label",
                "*": "Text"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-disabled",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-disabled",
                "*": "Variant conversion disabled"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-filter",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-filter",
                "*": "Variant filter"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-name",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-name",
                "*": "Language name"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-oneway",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-oneway",
                "*": "One-way conversion rule"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-twoway",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-twoway",
                "*": "Language conversion rule"
            },
            {
                "name": "visualeditor-mwlanguagevariantcontextitem-title-unknown",
                "normalizedname": "visualeditor-mwlanguagevariantcontextitem-title-unknown",
                "*": "Language variant"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-disabled-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-disabled-placeholder",
                "*": "Text protected from variant conversion"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-filter-langs-label",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-filter-langs-label",
                "*": "Languages"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-filter-langs-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-filter-langs-placeholder",
                "*": "Language code"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-filter-text-label",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-filter-text-label",
                "*": "Contents"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-filter-text-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-filter-text-placeholder",
                "*": "Filtered text"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-oneway-add-button",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-oneway-add-button",
                "*": "Add new case"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-oneway-clear-button",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-oneway-clear-button",
                "*": "Remove case"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-oneway-from-text-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-oneway-from-text-placeholder",
                "*": "Source text"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-oneway-to-text-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-oneway-to-text-placeholder",
                "*": "Variant text"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-title-disabled",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-title-disabled",
                "*": "Variant conversion disabled"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-title-filter",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-title-filter",
                "*": "Variant filter"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-title-name",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-title-name",
                "*": "Language name"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-title-oneway",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-title-oneway",
                "*": "One-way conversion rule"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-title-twoway",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-title-twoway",
                "*": "Language conversion rule"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-twoway-add-button",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-twoway-add-button",
                "*": "Add new case"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-twoway-clear-button",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-twoway-clear-button",
                "*": "Remove case"
            },
            {
                "name": "visualeditor-mwlanguagevariantinspector-twoway-text-placeholder",
                "normalizedname": "visualeditor-mwlanguagevariantinspector-twoway-text-placeholder",
                "*": "Variant text"
            },
            {
                "name": "visualeditor-mwpredialog-convert",
                "normalizedname": "visualeditor-mwpredialog-convert",
                "*": "Allow text styling"
            },
            {
                "name": "visualeditor-mwpredialog-title",
                "normalizedname": "visualeditor-mwpredialog-title",
                "*": "Preformatted plain text"
            },
            {
                "name": "visualeditor-mwsignature-tool",
                "normalizedname": "visualeditor-mwsignature-tool",
                "*": "Your signature"
            },
            {
                "name": "visualeditor-pagemenu-tooltip",
                "normalizedname": "visualeditor-pagemenu-tooltip",
                "*": "Page options"
            },
            {
                "name": "visualeditor-preference-newwikitexteditor-enable",
                "normalizedname": "visualeditor-preference-newwikitexteditor-enable",
                "*": "Use the wikitext mode inside the visual editor, instead of a different wikitext editor"
            },
            {
                "name": "visualeditor-preference-newwikitexteditor-help",
                "normalizedname": "visualeditor-preference-newwikitexteditor-help",
                "*": "This is sometimes called the '2017 wikitext editor'."
            },
            {
                "name": "visualeditor-preference-tabs",
                "normalizedname": "visualeditor-preference-tabs",
                "*": "Editing mode:"
            },
            {
                "name": "visualeditor-preference-tabs-multi-tab",
                "normalizedname": "visualeditor-preference-tabs-multi-tab",
                "*": "Show me both editor tabs"
            },
            {
                "name": "visualeditor-preference-tabs-prefer-ve",
                "normalizedname": "visualeditor-preference-tabs-prefer-ve",
                "*": "Always give me the visual editor if possible"
            },
            {
                "name": "visualeditor-preference-tabs-prefer-wt",
                "normalizedname": "visualeditor-preference-tabs-prefer-wt",
                "*": "Always give me the source editor"
            },
            {
                "name": "visualeditor-preference-tabs-remember-last",
                "normalizedname": "visualeditor-preference-tabs-remember-last",
                "*": "Remember my last editor"
            },
            {
                "name": "visualeditor-preference-visualeditor",
                "normalizedname": "visualeditor-preference-visualeditor",
                "*": "Enable the visual editor"
            },
            {
                "name": "visualeditor-quick-access-characters.json",
                "normalizedname": "visualeditor-quick-access-characters.json",
                "*": "null"
            },
            {
                "name": "visualeditor-rebase-client-author-name",
                "normalizedname": "visualeditor-rebase-client-author-name",
                "*": "Name"
            },
            {
                "name": "visualeditor-rebase-client-connecting",
                "normalizedname": "visualeditor-rebase-client-connecting",
                "*": "Connecting..."
            },
            {
                "name": "visualeditor-rebase-client-document-create-edit",
                "normalizedname": "visualeditor-rebase-client-document-create-edit",
                "*": "Create/edit"
            },
            {
                "name": "visualeditor-rebase-client-document-name",
                "normalizedname": "visualeditor-rebase-client-document-name",
                "*": "Document name (optional)"
            },
            {
                "name": "visualeditor-rebase-client-export",
                "normalizedname": "visualeditor-rebase-client-export",
                "*": "Export"
            },
            {
                "name": "visualeditor-rebase-client-export-start",
                "normalizedname": "visualeditor-rebase-client-export-start",
                "*": "Export\u2026"
            },
            {
                "name": "visualeditor-rebase-client-import",
                "normalizedname": "visualeditor-rebase-client-import",
                "*": "Import"
            },
            {
                "name": "visualeditor-rebase-client-import-name",
                "normalizedname": "visualeditor-rebase-client-import-name",
                "*": "Page title"
            },
            {
                "name": "visualeditor-rebase-client-title-help",
                "normalizedname": "visualeditor-rebase-client-title-help",
                "*": "You will be able to review changes before saving."
            },
            {
                "name": "visualeditor-rebase-corrupted-document-error",
                "normalizedname": "visualeditor-rebase-corrupted-document-error",
                "*": "Document has become corrupted: $1"
            },
            {
                "name": "visualeditor-rebase-corrupted-document-title",
                "normalizedname": "visualeditor-rebase-corrupted-document-title",
                "*": "Corrupted document"
            },
            {
                "name": "visualeditor-rebase-missing-document-error",
                "normalizedname": "visualeditor-rebase-missing-document-error",
                "*": "Document missing on server. To avoid data loss, copy and paste the contents."
            },
            {
                "name": "visualeditor-rebase-missing-document-title",
                "normalizedname": "visualeditor-rebase-missing-document-title",
                "*": "Missing document"
            },
            {
                "name": "visualeditor-recreate",
                "normalizedname": "visualeditor-recreate",
                "*": "The page has been deleted since you started editing. Press \"$1\" to recreate it."
            },
            {
                "name": "visualeditor-redirect-description",
                "normalizedname": "visualeditor-redirect-description",
                "*": "Redirect to $1"
            },
            {
                "name": "visualeditor-savedialog-identify-anon",
                "normalizedname": "visualeditor-savedialog-identify-anon",
                "*": "You are no longer logged in. If you continue, <strong>your IP address will be recorded</strong> in this page's edit history."
            },
            {
                "name": "visualeditor-savedialog-identify-temp",
                "normalizedname": "visualeditor-savedialog-identify-temp",
                "*": "You are now using the temporary username <strong>$1</strong>. If you continue, your edit will be associated with this username."
            },
            {
                "name": "visualeditor-savedialog-identify-user",
                "normalizedname": "visualeditor-savedialog-identify-user",
                "*": "You are now logged in as <strong>[[User:$1|$1]]</strong>. If you continue, your edit will be associated with this account."
            },
            {
                "name": "visualeditor-savedialog-keyboard-shortcut-submit",
                "normalizedname": "visualeditor-savedialog-keyboard-shortcut-submit",
                "*": "You can press $1 to save your edit."
            },
            {
                "name": "visualeditor-savedialog-label-publish-short",
                "normalizedname": "visualeditor-savedialog-label-publish-short",
                "*": "Publish"
            },
            {
                "name": "visualeditor-savedialog-label-publish-short-start",
                "normalizedname": "visualeditor-savedialog-label-publish-short-start",
                "*": "Publish\u2026"
            },
            {
                "name": "visualeditor-savedialog-label-resolve-conflict",
                "normalizedname": "visualeditor-savedialog-label-resolve-conflict",
                "*": "Resolve conflict"
            },
            {
                "name": "visualeditor-savedialog-label-resume-editing",
                "normalizedname": "visualeditor-savedialog-label-resume-editing",
                "*": "Resume editing"
            },
            {
                "name": "visualeditor-savedialog-label-review",
                "normalizedname": "visualeditor-savedialog-label-review",
                "*": "Review your changes"
            },
            {
                "name": "visualeditor-savedialog-label-review-good",
                "normalizedname": "visualeditor-savedialog-label-review-good",
                "*": "Return to save form"
            },
            {
                "name": "visualeditor-savedialog-label-save-short",
                "normalizedname": "visualeditor-savedialog-label-save-short",
                "*": "Save"
            },
            {
                "name": "visualeditor-savedialog-label-save-short-start",
                "normalizedname": "visualeditor-savedialog-label-save-short-start",
                "*": "Save\u2026"
            },
            {
                "name": "visualeditor-savedialog-review-nosummary",
                "normalizedname": "visualeditor-savedialog-review-nosummary",
                "*": "No edit summary"
            },
            {
                "name": "visualeditor-savedialog-review-visual",
                "normalizedname": "visualeditor-savedialog-review-visual",
                "*": "Visual"
            },
            {
                "name": "visualeditor-savedialog-review-wikitext",
                "normalizedname": "visualeditor-savedialog-review-wikitext",
                "*": "Wikitext"
            },
            {
                "name": "visualeditor-savedialog-title-conflict",
                "normalizedname": "visualeditor-savedialog-title-conflict",
                "*": "Conflict"
            },
            {
                "name": "visualeditor-savedialog-title-preview",
                "normalizedname": "visualeditor-savedialog-title-preview",
                "*": "Preview your changes"
            },
            {
                "name": "visualeditor-savedialog-title-review",
                "normalizedname": "visualeditor-savedialog-title-review",
                "*": "Review your changes"
            },
            {
                "name": "visualeditor-savedialog-title-save",
                "normalizedname": "visualeditor-savedialog-title-save",
                "*": "Save your changes"
            },
            {
                "name": "visualeditor-section-body-placeholder",
                "normalizedname": "visualeditor-section-body-placeholder",
                "*": "New section"
            },
            {
                "name": "visualeditor-section-title-placeholder",
                "normalizedname": "visualeditor-section-title-placeholder",
                "*": "Subject"
            },
            {
                "name": "visualeditor-settings-tool",
                "normalizedname": "visualeditor-settings-tool",
                "*": "Page settings"
            },
            {
                "name": "visualeditor-shortcuts-clipboard",
                "normalizedname": "visualeditor-shortcuts-clipboard",
                "*": "Clipboard"
            },
            {
                "name": "visualeditor-shortcuts-dialog",
                "normalizedname": "visualeditor-shortcuts-dialog",
                "*": "Window controls"
            },
            {
                "name": "visualeditor-shortcuts-formatting",
                "normalizedname": "visualeditor-shortcuts-formatting",
                "*": "Paragraph formatting"
            },
            {
                "name": "visualeditor-shortcuts-history",
                "normalizedname": "visualeditor-shortcuts-history",
                "*": "History"
            },
            {
                "name": "visualeditor-shortcuts-insert",
                "normalizedname": "visualeditor-shortcuts-insert",
                "*": "Insert"
            },
            {
                "name": "visualeditor-shortcuts-other",
                "normalizedname": "visualeditor-shortcuts-other",
                "*": "Other"
            },
            {
                "name": "visualeditor-shortcuts-sequence-notice",
                "normalizedname": "visualeditor-shortcuts-sequence-notice",
                "*": "Type"
            },
            {
                "name": "visualeditor-shortcuts-text-style",
                "normalizedname": "visualeditor-shortcuts-text-style",
                "*": "Text styling"
            },
            {
                "name": "visualeditor-slug-insert",
                "normalizedname": "visualeditor-slug-insert",
                "*": "Insert paragraph"
            },
            {
                "name": "visualeditor-special-characters-group-other",
                "normalizedname": "visualeditor-special-characters-group-other",
                "*": "Often used"
            },
            {
                "name": "visualeditor-specialcharacter-button-tooltip",
                "normalizedname": "visualeditor-specialcharacter-button-tooltip",
                "*": "Special character"
            },
            {
                "name": "visualeditor-specialcharacter-group-label-accents",
                "normalizedname": "visualeditor-specialcharacter-group-label-accents",
                "*": "Accents"
            },
            {
                "name": "visualeditor-specialcharacter-group-label-mathematical",
                "normalizedname": "visualeditor-specialcharacter-group-label-mathematical",
                "*": "Mathematical"
            },
            {
                "name": "visualeditor-specialcharacter-group-label-symbols",
                "normalizedname": "visualeditor-specialcharacter-group-label-symbols",
                "*": "Symbols"
            },
            {
                "name": "visualeditor-specialcharacter-group-set-accents",
                "normalizedname": "visualeditor-specialcharacter-group-set-accents",
                "*": "{\"\u00c6\":\"\u00c6\",\"\u00e6\":\"\u00e6\",\"\u00c0\":\"\u00c0\",\"\u00e0\":\"\u00e0\",\"\u00c2\":\"\u00c2\",\"\u00e2\":\"\u00e2\",\"\u00c4\":\"\u00c4\",\"\u00e4\":\"\u00e4\",\"\u00c5\":\"\u00c5\",\"\u00e5\":\"\u00e5\",\"\u00c7\":\"\u00c7\",\"\u00e7\":\"\u00e7\",\"\u00c8\":\"\u00c8\",\"\u00e8\":\"\u00e8\",\"\u00c9\":\"\u00c9\",\"\u00e9\":\"\u00e9\",\"\u00ca\":\"\u00ca\",\"\u00ea\":\"\u00ea\",\"\u00cb\":\"\u00cb\",\"\u00eb\":\"\u00eb\",\"\u00ce\":\"\u00ce\",\"\u00ee\":\"\u00ee\",\"\u00cf\":\"\u00cf\",\"\u00ef\":\"\u00ef\",\"\u00d4\":\"\u00d4\",\"\u00f4\":\"\u00f4\",\"\u00d6\":\"\u00d6\",\"\u00f6\":\"\u00f6\",\"\u00d8\":\"\u00d8\",\"\u00f8\":\"\u00f8\",\"\u00d9\":\"\u00d9\",\"\u00f9\":\"\u00f9\",\"\u00db\":\"\u00db\",\"\u00fb\":\"\u00fb\",\"\u00dc\":\"\u00dc\",\"\u00fc\":\"\u00fc\",\"\u0178\":\"\u0178\",\"\u00ff\":\"\u00ff\",\"\u0152\":\"\u0152\",\"\u0153\":\"\u0153\"}"
            },
            {
                "name": "visualeditor-specialcharacter-group-set-mathematical",
                "normalizedname": "visualeditor-specialcharacter-group-set-mathematical",
                "*": "{\"\u2212\":\"\u2212\",\"\u00d7\":\"\u00d7\",\"\u00f7\":\"\u00f7\",\"\u2248\":\"\u2248\",\"\u2260\":\"\u2260\",\"\u2264\":\"\u2264\",\"\u2265\":\"\u2265\",\"\u00b1\":\"\u00b1\",\"\u00b9\":\"\u00b9\",\"\u00b2\":\"\u00b2\",\"\u00b3\":\"\u00b3\",\"\u2074\":\"\u2074\",\"\u2075\":\"\u2075\",\"\u2076\":\"\u2076\",\"\u2077\":\"\u2077\",\"\u2078\":\"\u2078\",\"\u2079\":\"\u2079\",\"\u2070\":\"\u2070\",\"\u00bd\":\"\u00bd\"}"
            },
            {
                "name": "visualeditor-specialcharacter-group-set-symbols",
                "normalizedname": "visualeditor-specialcharacter-group-set-symbols",
                "*": "{\"\u2212\":\"\u2212\",\"\u2014\":\"\u2014\",\"\u00b0\":\"\u00b0\",\"\u2032\":\"\u2032\",\"\u2033\":\"\u2033\",\"\u2190\":\"\u2190\",\"\u2192\":\"\u2192\",\"\u00ab \u00bb\":\"\u00ab \u00bb\",\"\u201c\u201d\":\"\u201c\u201d\",\"#\":\"#\",\"@\":\"@\",\"|\":\"|\",\"~\":\"~\",\"\u00a7\":\"\u00a7\",\"\u2022\":\"\u2022\",\"\u00b7\":\"\u00b7\",\"\u2026\":\"\u2026\",\"\u20ac\":\"\u20ac\"}"
            },
            {
                "name": "visualeditor-specialcharacterinspector-title",
                "normalizedname": "visualeditor-specialcharacterinspector-title",
                "*": "Special character"
            },
            {
                "name": "visualeditor-table-caption",
                "normalizedname": "visualeditor-table-caption",
                "*": "Caption"
            },
            {
                "name": "visualeditor-table-context-col",
                "normalizedname": "visualeditor-table-context-col",
                "*": "Column"
            },
            {
                "name": "visualeditor-table-context-row",
                "normalizedname": "visualeditor-table-context-row",
                "*": "Row"
            },
            {
                "name": "visualeditor-table-contextitem-properties",
                "normalizedname": "visualeditor-table-contextitem-properties",
                "*": "Properties"
            },
            {
                "name": "visualeditor-table-contextitem-selectionmode-cells",
                "normalizedname": "visualeditor-table-contextitem-selectionmode-cells",
                "*": "Select cells"
            },
            {
                "name": "visualeditor-table-contextitem-selectionmode-contents",
                "normalizedname": "visualeditor-table-contextitem-selectionmode-contents",
                "*": "Select contents"
            },
            {
                "name": "visualeditor-table-delete-col",
                "normalizedname": "visualeditor-table-delete-col",
                "*": "Delete {{PLURAL:$1|column|columns}}"
            },
            {
                "name": "visualeditor-table-delete-row",
                "normalizedname": "visualeditor-table-delete-row",
                "*": "Delete {{PLURAL:$1|row|rows}}"
            },
            {
                "name": "visualeditor-table-format-data",
                "normalizedname": "visualeditor-table-format-data",
                "*": "Content cell"
            },
            {
                "name": "visualeditor-table-format-header",
                "normalizedname": "visualeditor-table-format-header",
                "*": "Header cell"
            },
            {
                "name": "visualeditor-table-insert-col-after",
                "normalizedname": "visualeditor-table-insert-col-after",
                "*": "Insert after"
            },
            {
                "name": "visualeditor-table-insert-col-before",
                "normalizedname": "visualeditor-table-insert-col-before",
                "*": "Insert before"
            },
            {
                "name": "visualeditor-table-insert-row-after",
                "normalizedname": "visualeditor-table-insert-row-after",
                "*": "Insert below"
            },
            {
                "name": "visualeditor-table-insert-row-before",
                "normalizedname": "visualeditor-table-insert-row-before",
                "*": "Insert above"
            },
            {
                "name": "visualeditor-table-insert-table",
                "normalizedname": "visualeditor-table-insert-table",
                "*": "Table"
            },
            {
                "name": "visualeditor-table-merge-cells",
                "normalizedname": "visualeditor-table-merge-cells",
                "*": "Merge cells"
            },
            {
                "name": "visualeditor-table-merge-cells-merge",
                "normalizedname": "visualeditor-table-merge-cells-merge",
                "*": "Merge"
            },
            {
                "name": "visualeditor-table-merge-cells-unmerge",
                "normalizedname": "visualeditor-table-merge-cells-unmerge",
                "*": "Unmerge"
            },
            {
                "name": "visualeditor-table-move-col-after",
                "normalizedname": "visualeditor-table-move-col-after",
                "*": "Move after"
            },
            {
                "name": "visualeditor-table-move-col-before",
                "normalizedname": "visualeditor-table-move-col-before",
                "*": "Move before"
            },
            {
                "name": "visualeditor-table-move-row-after",
                "normalizedname": "visualeditor-table-move-row-after",
                "*": "Move below"
            },
            {
                "name": "visualeditor-table-move-row-before",
                "normalizedname": "visualeditor-table-move-row-before",
                "*": "Move above"
            },
            {
                "name": "visualeditor-table-sum",
                "normalizedname": "visualeditor-table-sum",
                "*": "Sum: $1, Average: $2"
            },
            {
                "name": "visualeditor-tablecell-contextitem",
                "normalizedname": "visualeditor-tablecell-contextitem",
                "*": "Table cell"
            },
            {
                "name": "visualeditor-tablecell-tooltip",
                "normalizedname": "visualeditor-tablecell-tooltip",
                "*": "Double click to edit cell"
            },
            {
                "name": "visualeditor-template-tools-definition.json",
                "normalizedname": "visualeditor-template-tools-definition.json",
                "*": "null"
            },
            {
                "name": "visualeditor-templatesused-tool",
                "normalizedname": "visualeditor-templatesused-tool",
                "*": "Templates used"
            },
            {
                "name": "visualeditor-title-error",
                "normalizedname": "visualeditor-title-error",
                "*": "Invalid title."
            },
            {
                "name": "visualeditor-toload",
                "normalizedname": "visualeditor-toload",
                "*": "The editor will now load. If you still see this message after a few seconds, please [$1 reload the page]."
            },
            {
                "name": "visualeditor-toolbar-format-tooltip",
                "normalizedname": "visualeditor-toolbar-format-tooltip",
                "*": "Format paragraph"
            },
            {
                "name": "visualeditor-toolbar-history",
                "normalizedname": "visualeditor-toolbar-history",
                "*": "History"
            },
            {
                "name": "visualeditor-toolbar-insert",
                "normalizedname": "visualeditor-toolbar-insert",
                "*": "Insert"
            },
            {
                "name": "visualeditor-toolbar-paragraph-format",
                "normalizedname": "visualeditor-toolbar-paragraph-format",
                "*": "Formatting"
            },
            {
                "name": "visualeditor-toolbar-search-help-label",
                "normalizedname": "visualeditor-toolbar-search-help-label",
                "*": "Toolbar search"
            },
            {
                "name": "visualeditor-toolbar-structure",
                "normalizedname": "visualeditor-toolbar-structure",
                "*": "Structure"
            },
            {
                "name": "visualeditor-toolbar-style-tooltip",
                "normalizedname": "visualeditor-toolbar-style-tooltip",
                "*": "Style text"
            },
            {
                "name": "visualeditor-toolbar-table",
                "normalizedname": "visualeditor-toolbar-table",
                "*": "Table"
            },
            {
                "name": "visualeditor-toolbar-text-style",
                "normalizedname": "visualeditor-toolbar-text-style",
                "*": "Styling"
            },
            {
                "name": "visualeditor-tooltip-non-breaking-space",
                "normalizedname": "visualeditor-tooltip-non-breaking-space",
                "*": "Non-breaking space"
            },
            {
                "name": "visualeditor-version-label",
                "normalizedname": "visualeditor-version-label",
                "*": "Version"
            },
            {
                "name": "visualeditor-welcomedialog-action",
                "normalizedname": "visualeditor-welcomedialog-action",
                "*": "Start editing"
            },
            {
                "name": "visualeditor-welcomedialog-content",
                "normalizedname": "visualeditor-welcomedialog-content",
                "*": "Anyone can edit, and every improvement helps."
            },
            {
                "name": "visualeditor-welcomedialog-content-thanks",
                "normalizedname": "visualeditor-welcomedialog-content-thanks",
                "*": "Thank you for helping the world discover more!"
            },
            {
                "name": "visualeditor-welcomedialog-switch",
                "normalizedname": "visualeditor-welcomedialog-switch",
                "*": "Switch to the source editor"
            },
            {
                "name": "visualeditor-welcomedialog-switch-ve",
                "normalizedname": "visualeditor-welcomedialog-switch-ve",
                "*": "Switch to the visual editor"
            },
            {
                "name": "visualeditor-welcomedialog-title",
                "normalizedname": "visualeditor-welcomedialog-title",
                "*": "{{GENDER:$1|Welcome}} to $2"
            },
            {
                "name": "visualeditor-wikitext-progress",
                "normalizedname": "visualeditor-wikitext-progress",
                "*": "Converting wikitext"
            },
            {
                "name": "visualeditor-wikitext-warning",
                "normalizedname": "visualeditor-wikitext-warning",
                "*": "You are using the visual editor - [[{{MediaWiki:visualeditor-wikitext-warning-link}}|wikitext]] does not work here. To switch to source editing at any time without losing your changes, click on the switch button."
            },
            {
                "name": "visualeditor-wikitext-warning-link",
                "normalizedname": "visualeditor-wikitext-warning-link",
                "*": "mediawikiwiki:Special:MyLanguage/Help:Formatting"
            },
            {
                "name": "visualeditor-wikitext-warning-title",
                "normalizedname": "visualeditor-wikitext-warning-title",
                "*": "Wikitext markup detected"
            },
            {
                "name": "visualeditor-wikitextconvert-convert",
                "normalizedname": "visualeditor-wikitextconvert-convert",
                "*": "Convert to wikitext"
            },
            {
                "name": "visualeditor-wikitextconvert-message",
                "normalizedname": "visualeditor-wikitextconvert-message",
                "*": "You pasted content with rich formatting. Would you like to convert this formatting to wikitext?"
            },
            {
                "name": "visualeditor-wikitextconvert-title",
                "normalizedname": "visualeditor-wikitextconvert-title",
                "*": "Convert formatting to wikitext?"
            },
            {
                "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": "wantedproperties",
                "normalizedname": "wantedproperties",
                "*": "Wanted properties"
            },
            {
                "name": "wantedtemplates",
                "normalizedname": "wantedtemplates",
                "*": "Wanted templates"
            },
            {
                "name": "wantedtemplates-summary",
                "normalizedname": "wantedtemplates-summary",
                "*": ""
            },
            {
                "name": "watch",
                "normalizedname": "watch",
                "*": "Watch"
            },
            {
                "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-expires-in-aria-label",
                "normalizedname": "watchlist-expires-in-aria-label",
                "*": "Expiring watchlist item"
            },
            {
                "name": "watchlist-expiring-days-full-text",
                "normalizedname": "watchlist-expiring-days-full-text",
                "*": "{{PLURAL:$1|1 day|$1 days}} left in your watchlist"
            },
            {
                "name": "watchlist-expiring-hours-full-text",
                "normalizedname": "watchlist-expiring-hours-full-text",
                "*": "A few hours left in your watchlist"
            },
            {
                "name": "watchlist-expiry-days-left",
                "normalizedname": "watchlist-expiry-days-left",
                "*": "{{PLURAL:$1|$1 day|$1 days}} left"
            },
            {
                "name": "watchlist-expiry-hours-left",
                "normalizedname": "watchlist-expiry-hours-left",
                "*": "A few hours left"
            },
            {
                "name": "watchlist-expiry-options",
                "normalizedname": "watchlist-expiry-options",
                "*": "Permanent:infinite,1 week:1 week,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year"
            },
            {
                "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-check-all",
                "normalizedname": "watchlistedit-normal-check-all",
                "*": "Check all"
            },
            {
                "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",
                "*": "Your watchlist has been updated. There are too many pages to display here."
            },
            {
                "name": "watchlistfor2",
                "normalizedname": "watchlistfor2",
                "*": "For $1"
            },
            {
                "name": "watchlistnotwatchable",
                "normalizedname": "watchlistnotwatchable",
                "*": "Page is not watchable."
            },
            {
                "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-count",
                "normalizedname": "whatlinkshere-count",
                "*": "Displayed $1 {{PLURAL:$1|item|items}}."
            },
            {
                "name": "whatlinkshere-hideimages",
                "normalizedname": "whatlinkshere-hideimages",
                "*": "Hide file links"
            },
            {
                "name": "whatlinkshere-hidelinks",
                "normalizedname": "whatlinkshere-hidelinks",
                "*": "Hide links"
            },
            {
                "name": "whatlinkshere-hideredirs",
                "normalizedname": "whatlinkshere-hideredirs",
                "*": "Hide redirects"
            },
            {
                "name": "whatlinkshere-hidetrans",
                "normalizedname": "whatlinkshere-hidetrans",
                "*": "Hide 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-sectionredir",
                "normalizedname": "whatlinkshere-sectionredir",
                "*": "redirect to section \"$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": "wikibase-listdatatypes-math-body",
                "normalizedname": "wikibase-listdatatypes-math-body",
                "*": "Literal data field for mathematical expressions, formula, equations and such, expressed in a variant of LaTeX."
            },
            {
                "name": "wikibase-listdatatypes-math-head",
                "normalizedname": "wikibase-listdatatypes-math-head",
                "*": "Mathematical expression"
            },
            {
                "name": "wikieditor",
                "normalizedname": "wikieditor",
                "*": "Advanced wikitext editing interface"
            },
            {
                "name": "wikieditor-desc",
                "normalizedname": "wikieditor-desc",
                "*": "Provides an advanced, extensible wikitext editing interface"
            },
            {
                "name": "wikieditor-realtimepreview-beta-desc",
                "normalizedname": "wikieditor-realtimepreview-beta-desc",
                "*": "See how wikitext changes will appear to readers inside the [[mw:Special:MyLanguage/Extension:WikiEditor|2010 editor]]."
            },
            {
                "name": "wikieditor-realtimepreview-beta-label",
                "normalizedname": "wikieditor-realtimepreview-beta-label",
                "*": "Realtime Preview"
            },
            {
                "name": "wikieditor-realtimepreview-error",
                "normalizedname": "wikieditor-realtimepreview-error",
                "*": "Preview not loading"
            },
            {
                "name": "wikieditor-realtimepreview-manual",
                "normalizedname": "wikieditor-realtimepreview-manual",
                "*": "Please reload now to manually preview your edits."
            },
            {
                "name": "wikieditor-realtimepreview-onboarding-body",
                "normalizedname": "wikieditor-realtimepreview-onboarding-body",
                "*": "See what your edits will look like to readers by previewing them in realtime."
            },
            {
                "name": "wikieditor-realtimepreview-onboarding-button",
                "normalizedname": "wikieditor-realtimepreview-onboarding-button",
                "*": "Okay, got it"
            },
            {
                "name": "wikieditor-realtimepreview-onboarding-title",
                "normalizedname": "wikieditor-realtimepreview-onboarding-title",
                "*": "Realtime Preview"
            },
            {
                "name": "wikieditor-realtimepreview-preview",
                "normalizedname": "wikieditor-realtimepreview-preview",
                "*": "Preview"
            },
            {
                "name": "wikieditor-realtimepreview-reload",
                "normalizedname": "wikieditor-realtimepreview-reload",
                "*": "Reload"
            },
            {
                "name": "wikieditor-realtimepreview-reload-title",
                "normalizedname": "wikieditor-realtimepreview-reload-title",
                "*": "Reload the realtime preview pane"
            },
            {
                "name": "wikieditor-toolbar",
                "normalizedname": "wikieditor-toolbar",
                "*": "Editing toolbar"
            },
            {
                "name": "wikieditor-toolbar-desc",
                "normalizedname": "wikieditor-toolbar-desc",
                "*": "Edit page toolbar with enhanced usability"
            },
            {
                "name": "wikieditor-toolbar-file-alt",
                "normalizedname": "wikieditor-toolbar-file-alt",
                "*": "Alternative text:"
            },
            {
                "name": "wikieditor-toolbar-file-alt-help",
                "normalizedname": "wikieditor-toolbar-file-alt-help",
                "*": "You can use this optional field to write a text description for people who cannot see the file.\nThe description should be enough for them to understand the purpose and information given by the media item. This is vital for blind users and other people using screen-reader software or text-only browsers."
            },
            {
                "name": "wikieditor-toolbar-file-alt-help-label",
                "normalizedname": "wikieditor-toolbar-file-alt-help-label",
                "*": "(Show help)"
            },
            {
                "name": "wikieditor-toolbar-file-caption",
                "normalizedname": "wikieditor-toolbar-file-caption",
                "*": "Caption:"
            },
            {
                "name": "wikieditor-toolbar-file-default",
                "normalizedname": "wikieditor-toolbar-file-default",
                "*": "(default)"
            },
            {
                "name": "wikieditor-toolbar-file-float",
                "normalizedname": "wikieditor-toolbar-file-float",
                "*": "Align:"
            },
            {
                "name": "wikieditor-toolbar-file-format",
                "normalizedname": "wikieditor-toolbar-file-format",
                "*": "Format:"
            },
            {
                "name": "wikieditor-toolbar-file-format-none",
                "normalizedname": "wikieditor-toolbar-file-format-none",
                "*": "none"
            },
            {
                "name": "wikieditor-toolbar-file-size",
                "normalizedname": "wikieditor-toolbar-file-size",
                "*": "Size:"
            },
            {
                "name": "wikieditor-toolbar-file-target",
                "normalizedname": "wikieditor-toolbar-file-target",
                "*": "Filename:"
            },
            {
                "name": "wikieditor-toolbar-group-format",
                "normalizedname": "wikieditor-toolbar-group-format",
                "*": "Format"
            },
            {
                "name": "wikieditor-toolbar-group-insert",
                "normalizedname": "wikieditor-toolbar-group-insert",
                "*": "Insert"
            },
            {
                "name": "wikieditor-toolbar-help-content-bold-description",
                "normalizedname": "wikieditor-toolbar-help-content-bold-description",
                "*": "Bold"
            },
            {
                "name": "wikieditor-toolbar-help-content-bold-example",
                "normalizedname": "wikieditor-toolbar-help-content-bold-example",
                "*": "Bold text"
            },
            {
                "name": "wikieditor-toolbar-help-content-bolditalic-description",
                "normalizedname": "wikieditor-toolbar-help-content-bolditalic-description",
                "*": "Bold & italic"
            },
            {
                "name": "wikieditor-toolbar-help-content-bolditalic-example",
                "normalizedname": "wikieditor-toolbar-help-content-bolditalic-example",
                "*": "Bold & italic text"
            },
            {
                "name": "wikieditor-toolbar-help-content-file-caption",
                "normalizedname": "wikieditor-toolbar-help-content-file-caption",
                "*": "Caption text"
            },
            {
                "name": "wikieditor-toolbar-help-content-file-description",
                "normalizedname": "wikieditor-toolbar-help-content-file-description",
                "*": "Embedded file"
            },
            {
                "name": "wikieditor-toolbar-help-content-file-syntax",
                "normalizedname": "wikieditor-toolbar-help-content-file-syntax",
                "*": "[[$1:Example.png|$2|$3]]"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading2-description",
                "normalizedname": "wikieditor-toolbar-help-content-heading2-description",
                "*": "2nd level heading"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading2-example",
                "normalizedname": "wikieditor-toolbar-help-content-heading2-example",
                "*": "Heading text"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading3-description",
                "normalizedname": "wikieditor-toolbar-help-content-heading3-description",
                "*": "3rd level heading"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading3-example",
                "normalizedname": "wikieditor-toolbar-help-content-heading3-example",
                "*": "Heading text"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading4-description",
                "normalizedname": "wikieditor-toolbar-help-content-heading4-description",
                "*": "4th level heading"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading4-example",
                "normalizedname": "wikieditor-toolbar-help-content-heading4-example",
                "*": "Heading text"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading5-description",
                "normalizedname": "wikieditor-toolbar-help-content-heading5-description",
                "*": "5th level heading"
            },
            {
                "name": "wikieditor-toolbar-help-content-heading5-example",
                "normalizedname": "wikieditor-toolbar-help-content-heading5-example",
                "*": "Heading text"
            },
            {
                "name": "wikieditor-toolbar-help-content-ilink-description",
                "normalizedname": "wikieditor-toolbar-help-content-ilink-description",
                "*": "Internal link"
            },
            {
                "name": "wikieditor-toolbar-help-content-ilink-example",
                "normalizedname": "wikieditor-toolbar-help-content-ilink-example",
                "*": "[[Page title]]\n[[Page title|Link label]]"
            },
            {
                "name": "wikieditor-toolbar-help-content-indent-description",
                "normalizedname": "wikieditor-toolbar-help-content-indent-description",
                "*": "Indent"
            },
            {
                "name": "wikieditor-toolbar-help-content-indent1",
                "normalizedname": "wikieditor-toolbar-help-content-indent1",
                "*": "Normal text"
            },
            {
                "name": "wikieditor-toolbar-help-content-indent2",
                "normalizedname": "wikieditor-toolbar-help-content-indent2",
                "*": "Indented text"
            },
            {
                "name": "wikieditor-toolbar-help-content-indent3",
                "normalizedname": "wikieditor-toolbar-help-content-indent3",
                "*": "Indented text"
            },
            {
                "name": "wikieditor-toolbar-help-content-italic-description",
                "normalizedname": "wikieditor-toolbar-help-content-italic-description",
                "*": "Italic"
            },
            {
                "name": "wikieditor-toolbar-help-content-italic-example",
                "normalizedname": "wikieditor-toolbar-help-content-italic-example",
                "*": "Italic text"
            },
            {
                "name": "wikieditor-toolbar-help-content-olist-description",
                "normalizedname": "wikieditor-toolbar-help-content-olist-description",
                "*": "Numbered list"
            },
            {
                "name": "wikieditor-toolbar-help-content-olist-example",
                "normalizedname": "wikieditor-toolbar-help-content-olist-example",
                "*": "List item"
            },
            {
                "name": "wikieditor-toolbar-help-content-signature-description",
                "normalizedname": "wikieditor-toolbar-help-content-signature-description",
                "*": "Signature"
            },
            {
                "name": "wikieditor-toolbar-help-content-signature-example",
                "normalizedname": "wikieditor-toolbar-help-content-signature-example",
                "*": "[[$1:$3|$3]] ([[$2:$3|talk]])"
            },
            {
                "name": "wikieditor-toolbar-help-content-signature-syntax",
                "normalizedname": "wikieditor-toolbar-help-content-signature-syntax",
                "*": "~~~"
            },
            {
                "name": "wikieditor-toolbar-help-content-signature-username",
                "normalizedname": "wikieditor-toolbar-help-content-signature-username",
                "*": "Username"
            },
            {
                "name": "wikieditor-toolbar-help-content-signaturetimestamp-description",
                "normalizedname": "wikieditor-toolbar-help-content-signaturetimestamp-description",
                "*": "Signature with timestamp"
            },
            {
                "name": "wikieditor-toolbar-help-content-signaturetimestamp-example",
                "normalizedname": "wikieditor-toolbar-help-content-signaturetimestamp-example",
                "*": "--[[$1:$3|$3]] ([[$2:$3|talk]]) 15:54, 29 June 2023 (UTC)"
            },
            {
                "name": "wikieditor-toolbar-help-content-signaturetimestamp-syntax",
                "normalizedname": "wikieditor-toolbar-help-content-signaturetimestamp-syntax",
                "*": "--~~~~"
            },
            {
                "name": "wikieditor-toolbar-help-content-ulist-description",
                "normalizedname": "wikieditor-toolbar-help-content-ulist-description",
                "*": "Bulleted list"
            },
            {
                "name": "wikieditor-toolbar-help-content-ulist-example",
                "normalizedname": "wikieditor-toolbar-help-content-ulist-example",
                "*": "List item"
            },
            {
                "name": "wikieditor-toolbar-help-content-xlink-description",
                "normalizedname": "wikieditor-toolbar-help-content-xlink-description",
                "*": "External link"
            },
            {
                "name": "wikieditor-toolbar-help-content-xlink-example-label",
                "normalizedname": "wikieditor-toolbar-help-content-xlink-example-label",
                "*": "Link label"
            },
            {
                "name": "wikieditor-toolbar-help-content-xlink-example-url",
                "normalizedname": "wikieditor-toolbar-help-content-xlink-example-url",
                "*": "https://example.org/"
            },
            {
                "name": "wikieditor-toolbar-help-content-xlink-example1",
                "normalizedname": "wikieditor-toolbar-help-content-xlink-example1",
                "*": "[$1 $2]\n[$1]\n$1"
            },
            {
                "name": "wikieditor-toolbar-help-content-xlink-example2",
                "normalizedname": "wikieditor-toolbar-help-content-xlink-example2",
                "*": "[$1 $2]\n[$1 <nowiki>[</nowiki>$3<nowiki>]</nowiki>]\n[$1 $1]"
            },
            {
                "name": "wikieditor-toolbar-help-heading-description",
                "normalizedname": "wikieditor-toolbar-help-heading-description",
                "*": "Description"
            },
            {
                "name": "wikieditor-toolbar-help-heading-result",
                "normalizedname": "wikieditor-toolbar-help-heading-result",
                "*": "What you get"
            },
            {
                "name": "wikieditor-toolbar-help-heading-syntax",
                "normalizedname": "wikieditor-toolbar-help-heading-syntax",
                "*": "What you type"
            },
            {
                "name": "wikieditor-toolbar-help-page-discussion",
                "normalizedname": "wikieditor-toolbar-help-page-discussion",
                "*": "Discussion"
            },
            {
                "name": "wikieditor-toolbar-help-page-file",
                "normalizedname": "wikieditor-toolbar-help-page-file",
                "*": "Files"
            },
            {
                "name": "wikieditor-toolbar-help-page-format",
                "normalizedname": "wikieditor-toolbar-help-page-format",
                "*": "Formatting"
            },
            {
                "name": "wikieditor-toolbar-help-page-heading",
                "normalizedname": "wikieditor-toolbar-help-page-heading",
                "*": "Headings"
            },
            {
                "name": "wikieditor-toolbar-help-page-link",
                "normalizedname": "wikieditor-toolbar-help-page-link",
                "*": "Links"
            },
            {
                "name": "wikieditor-toolbar-help-page-list",
                "normalizedname": "wikieditor-toolbar-help-page-list",
                "*": "Lists"
            },
            {
                "name": "wikieditor-toolbar-preference",
                "normalizedname": "wikieditor-toolbar-preference",
                "*": "Enable the editing toolbar"
            },
            {
                "name": "wikieditor-toolbar-preference-help",
                "normalizedname": "wikieditor-toolbar-preference-help",
                "*": "This is sometimes called the '2010 wikitext editor'."
            },
            {
                "name": "wikieditor-toolbar-section-advanced",
                "normalizedname": "wikieditor-toolbar-section-advanced",
                "*": "Advanced"
            },
            {
                "name": "wikieditor-toolbar-section-characters",
                "normalizedname": "wikieditor-toolbar-section-characters",
                "*": "Special characters"
            },
            {
                "name": "wikieditor-toolbar-section-help",
                "normalizedname": "wikieditor-toolbar-section-help",
                "*": "Help"
            },
            {
                "name": "wikieditor-toolbar-tool-big",
                "normalizedname": "wikieditor-toolbar-tool-big",
                "*": "Big"
            },
            {
                "name": "wikieditor-toolbar-tool-big-example",
                "normalizedname": "wikieditor-toolbar-tool-big-example",
                "*": "Big text"
            },
            {
                "name": "wikieditor-toolbar-tool-bold",
                "normalizedname": "wikieditor-toolbar-tool-bold",
                "*": "Bold"
            },
            {
                "name": "wikieditor-toolbar-tool-bold-example",
                "normalizedname": "wikieditor-toolbar-tool-bold-example",
                "*": "Bold text"
            },
            {
                "name": "wikieditor-toolbar-tool-file",
                "normalizedname": "wikieditor-toolbar-tool-file",
                "*": "Images and media"
            },
            {
                "name": "wikieditor-toolbar-tool-file-cancel",
                "normalizedname": "wikieditor-toolbar-tool-file-cancel",
                "*": "Cancel"
            },
            {
                "name": "wikieditor-toolbar-tool-file-example",
                "normalizedname": "wikieditor-toolbar-tool-file-example",
                "*": "Example.jpg"
            },
            {
                "name": "wikieditor-toolbar-tool-file-insert",
                "normalizedname": "wikieditor-toolbar-tool-file-insert",
                "*": "Insert"
            },
            {
                "name": "wikieditor-toolbar-tool-file-title",
                "normalizedname": "wikieditor-toolbar-tool-file-title",
                "*": "Insert file"
            },
            {
                "name": "wikieditor-toolbar-tool-file-upload",
                "normalizedname": "wikieditor-toolbar-tool-file-upload",
                "*": "Upload"
            },
            {
                "name": "wikieditor-toolbar-tool-gallery",
                "normalizedname": "wikieditor-toolbar-tool-gallery",
                "*": "Picture gallery"
            },
            {
                "name": "wikieditor-toolbar-tool-gallery-example",
                "normalizedname": "wikieditor-toolbar-tool-gallery-example",
                "*": "Example.jpg|Caption1\nExample.jpg|Caption2"
            },
            {
                "name": "wikieditor-toolbar-tool-heading",
                "normalizedname": "wikieditor-toolbar-tool-heading",
                "*": "Heading"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-1",
                "normalizedname": "wikieditor-toolbar-tool-heading-1",
                "*": "Level 1"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-2",
                "normalizedname": "wikieditor-toolbar-tool-heading-2",
                "*": "Level 2"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-3",
                "normalizedname": "wikieditor-toolbar-tool-heading-3",
                "*": "Level 3"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-4",
                "normalizedname": "wikieditor-toolbar-tool-heading-4",
                "*": "Level 4"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-5",
                "normalizedname": "wikieditor-toolbar-tool-heading-5",
                "*": "Level 5"
            },
            {
                "name": "wikieditor-toolbar-tool-heading-example",
                "normalizedname": "wikieditor-toolbar-tool-heading-example",
                "*": "Heading text"
            },
            {
                "name": "wikieditor-toolbar-tool-ilink",
                "normalizedname": "wikieditor-toolbar-tool-ilink",
                "*": "Internal link"
            },
            {
                "name": "wikieditor-toolbar-tool-ilink-example",
                "normalizedname": "wikieditor-toolbar-tool-ilink-example",
                "*": "Link title"
            },
            {
                "name": "wikieditor-toolbar-tool-italic",
                "normalizedname": "wikieditor-toolbar-tool-italic",
                "*": "Italic"
            },
            {
                "name": "wikieditor-toolbar-tool-italic-example",
                "normalizedname": "wikieditor-toolbar-tool-italic-example",
                "*": "Italic text"
            },
            {
                "name": "wikieditor-toolbar-tool-link",
                "normalizedname": "wikieditor-toolbar-tool-link",
                "*": "Link"
            },
            {
                "name": "wikieditor-toolbar-tool-link-cancel",
                "normalizedname": "wikieditor-toolbar-tool-link-cancel",
                "*": "Cancel"
            },
            {
                "name": "wikieditor-toolbar-tool-link-ext",
                "normalizedname": "wikieditor-toolbar-tool-link-ext",
                "*": "To an external web page"
            },
            {
                "name": "wikieditor-toolbar-tool-link-ext-target",
                "normalizedname": "wikieditor-toolbar-tool-link-ext-target",
                "*": "Link URL:"
            },
            {
                "name": "wikieditor-toolbar-tool-link-ext-text",
                "normalizedname": "wikieditor-toolbar-tool-link-ext-text",
                "*": "Link text:"
            },
            {
                "name": "wikieditor-toolbar-tool-link-insert",
                "normalizedname": "wikieditor-toolbar-tool-link-insert",
                "*": "Insert link"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int",
                "normalizedname": "wikieditor-toolbar-tool-link-int",
                "*": "To a wiki page"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-invalid",
                "normalizedname": "wikieditor-toolbar-tool-link-int-invalid",
                "*": "The title you specified is invalid."
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target",
                "*": "Target page or URL:"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-status-disambig",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-status-disambig",
                "*": "This page is not a content page, but a list of topics with similar names"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-status-exists",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-status-exists",
                "*": "This page exists on {{SITENAME}}"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-status-external",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-status-external",
                "*": "External link"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-status-invalid",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-status-invalid",
                "*": "The title you specified is invalid"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-status-notexists",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-status-notexists",
                "*": "This page does not exist on {{SITENAME}}"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-target-tooltip",
                "normalizedname": "wikieditor-toolbar-tool-link-int-target-tooltip",
                "*": "Page title or URL"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-text",
                "normalizedname": "wikieditor-toolbar-tool-link-int-text",
                "*": "Text to display:"
            },
            {
                "name": "wikieditor-toolbar-tool-link-int-text-tooltip",
                "normalizedname": "wikieditor-toolbar-tool-link-int-text-tooltip",
                "*": "Text to be displayed"
            },
            {
                "name": "wikieditor-toolbar-tool-link-lookslikeinternal",
                "normalizedname": "wikieditor-toolbar-tool-link-lookslikeinternal",
                "*": "The URL you specified looks like it was intended as a link to another wiki page.\nDo you want to make it an internal link?"
            },
            {
                "name": "wikieditor-toolbar-tool-link-lookslikeinternal-ext",
                "normalizedname": "wikieditor-toolbar-tool-link-lookslikeinternal-ext",
                "*": "External link"
            },
            {
                "name": "wikieditor-toolbar-tool-link-lookslikeinternal-int",
                "normalizedname": "wikieditor-toolbar-tool-link-lookslikeinternal-int",
                "*": "Internal link"
            },
            {
                "name": "wikieditor-toolbar-tool-link-title",
                "normalizedname": "wikieditor-toolbar-tool-link-title",
                "*": "Insert link"
            },
            {
                "name": "wikieditor-toolbar-tool-newline",
                "normalizedname": "wikieditor-toolbar-tool-newline",
                "*": "New line"
            },
            {
                "name": "wikieditor-toolbar-tool-nowiki",
                "normalizedname": "wikieditor-toolbar-tool-nowiki",
                "*": "No wiki formatting"
            },
            {
                "name": "wikieditor-toolbar-tool-nowiki-example",
                "normalizedname": "wikieditor-toolbar-tool-nowiki-example",
                "*": "Insert non-formatted text here"
            },
            {
                "name": "wikieditor-toolbar-tool-olist",
                "normalizedname": "wikieditor-toolbar-tool-olist",
                "*": "Numbered list"
            },
            {
                "name": "wikieditor-toolbar-tool-olist-example",
                "normalizedname": "wikieditor-toolbar-tool-olist-example",
                "*": "Numbered list item"
            },
            {
                "name": "wikieditor-toolbar-tool-redirect",
                "normalizedname": "wikieditor-toolbar-tool-redirect",
                "*": "Redirect"
            },
            {
                "name": "wikieditor-toolbar-tool-redirect-example",
                "normalizedname": "wikieditor-toolbar-tool-redirect-example",
                "*": "Target page name"
            },
            {
                "name": "wikieditor-toolbar-tool-replace",
                "normalizedname": "wikieditor-toolbar-tool-replace",
                "*": "Search and replace"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-button-findnext",
                "normalizedname": "wikieditor-toolbar-tool-replace-button-findnext",
                "*": "Find next"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-button-replace",
                "normalizedname": "wikieditor-toolbar-tool-replace-button-replace",
                "*": "Replace"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-button-replaceall",
                "normalizedname": "wikieditor-toolbar-tool-replace-button-replaceall",
                "*": "Replace all"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-case",
                "normalizedname": "wikieditor-toolbar-tool-replace-case",
                "*": "Match case"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-close",
                "normalizedname": "wikieditor-toolbar-tool-replace-close",
                "*": "Close"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-emptysearch",
                "normalizedname": "wikieditor-toolbar-tool-replace-emptysearch",
                "*": "You did not enter anything to search for."
            },
            {
                "name": "wikieditor-toolbar-tool-replace-invalidregex",
                "normalizedname": "wikieditor-toolbar-tool-replace-invalidregex",
                "*": "The regular expression you entered is invalid: $1"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-nomatch",
                "normalizedname": "wikieditor-toolbar-tool-replace-nomatch",
                "*": "Your search did not match anything."
            },
            {
                "name": "wikieditor-toolbar-tool-replace-regex",
                "normalizedname": "wikieditor-toolbar-tool-replace-regex",
                "*": "Treat search string as a regular expression"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-replace",
                "normalizedname": "wikieditor-toolbar-tool-replace-replace",
                "*": "Replace with:"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-search",
                "normalizedname": "wikieditor-toolbar-tool-replace-search",
                "*": "Search for:"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-success",
                "normalizedname": "wikieditor-toolbar-tool-replace-success",
                "*": "$1 {{PLURAL:$1|replacement|replacements}} made."
            },
            {
                "name": "wikieditor-toolbar-tool-replace-title",
                "normalizedname": "wikieditor-toolbar-tool-replace-title",
                "*": "Search and replace"
            },
            {
                "name": "wikieditor-toolbar-tool-replace-word",
                "normalizedname": "wikieditor-toolbar-tool-replace-word",
                "*": "Match whole word"
            },
            {
                "name": "wikieditor-toolbar-tool-signature",
                "normalizedname": "wikieditor-toolbar-tool-signature",
                "*": "Signature and timestamp"
            },
            {
                "name": "wikieditor-toolbar-tool-small",
                "normalizedname": "wikieditor-toolbar-tool-small",
                "*": "Small"
            },
            {
                "name": "wikieditor-toolbar-tool-small-example",
                "normalizedname": "wikieditor-toolbar-tool-small-example",
                "*": "Small text"
            },
            {
                "name": "wikieditor-toolbar-tool-subscript",
                "normalizedname": "wikieditor-toolbar-tool-subscript",
                "*": "Subscript"
            },
            {
                "name": "wikieditor-toolbar-tool-subscript-example",
                "normalizedname": "wikieditor-toolbar-tool-subscript-example",
                "*": "Subscript text"
            },
            {
                "name": "wikieditor-toolbar-tool-superscript",
                "normalizedname": "wikieditor-toolbar-tool-superscript",
                "*": "Superscript"
            },
            {
                "name": "wikieditor-toolbar-tool-superscript-example",
                "normalizedname": "wikieditor-toolbar-tool-superscript-example",
                "*": "Superscript text"
            },
            {
                "name": "wikieditor-toolbar-tool-table",
                "normalizedname": "wikieditor-toolbar-tool-table",
                "*": "Table"
            },
            {
                "name": "wikieditor-toolbar-tool-table-cancel",
                "normalizedname": "wikieditor-toolbar-tool-table-cancel",
                "*": "Cancel"
            },
            {
                "name": "wikieditor-toolbar-tool-table-dimensions-columns",
                "normalizedname": "wikieditor-toolbar-tool-table-dimensions-columns",
                "*": "Columns"
            },
            {
                "name": "wikieditor-toolbar-tool-table-dimensions-header",
                "normalizedname": "wikieditor-toolbar-tool-table-dimensions-header",
                "*": "Add header row"
            },
            {
                "name": "wikieditor-toolbar-tool-table-dimensions-rows",
                "normalizedname": "wikieditor-toolbar-tool-table-dimensions-rows",
                "*": "Rows"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example",
                "normalizedname": "wikieditor-toolbar-tool-table-example",
                "*": "Example"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example-caption",
                "normalizedname": "wikieditor-toolbar-tool-table-example-caption",
                "*": "Caption text"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example-cell-text",
                "normalizedname": "wikieditor-toolbar-tool-table-example-cell-text",
                "*": "Cell text"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example-header",
                "normalizedname": "wikieditor-toolbar-tool-table-example-header",
                "*": "Header text"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example-old",
                "normalizedname": "wikieditor-toolbar-tool-table-example-old",
                "*": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"
            },
            {
                "name": "wikieditor-toolbar-tool-table-example-text",
                "normalizedname": "wikieditor-toolbar-tool-table-example-text",
                "*": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod."
            },
            {
                "name": "wikieditor-toolbar-tool-table-insert",
                "normalizedname": "wikieditor-toolbar-tool-table-insert",
                "*": "Insert"
            },
            {
                "name": "wikieditor-toolbar-tool-table-invalidnumber",
                "normalizedname": "wikieditor-toolbar-tool-table-invalidnumber",
                "*": "You have not entered a valid number of rows or columns."
            },
            {
                "name": "wikieditor-toolbar-tool-table-preview",
                "normalizedname": "wikieditor-toolbar-tool-table-preview",
                "*": "Preview"
            },
            {
                "name": "wikieditor-toolbar-tool-table-sortable",
                "normalizedname": "wikieditor-toolbar-tool-table-sortable",
                "*": "Make table sortable"
            },
            {
                "name": "wikieditor-toolbar-tool-table-title",
                "normalizedname": "wikieditor-toolbar-tool-table-title",
                "*": "Insert table"
            },
            {
                "name": "wikieditor-toolbar-tool-table-toomany",
                "normalizedname": "wikieditor-toolbar-tool-table-toomany",
                "*": "Inserting a table with more than $1 {{PLURAL:$1|cell|cells}} is not possible with this dialog."
            },
            {
                "name": "wikieditor-toolbar-tool-table-wikitable",
                "normalizedname": "wikieditor-toolbar-tool-table-wikitable",
                "*": "Style with borders"
            },
            {
                "name": "wikieditor-toolbar-tool-table-zero",
                "normalizedname": "wikieditor-toolbar-tool-table-zero",
                "*": "You cannot insert a table with zero rows or columns."
            },
            {
                "name": "wikieditor-toolbar-tool-ulist",
                "normalizedname": "wikieditor-toolbar-tool-ulist",
                "*": "Bulleted list"
            },
            {
                "name": "wikieditor-toolbar-tool-ulist-example",
                "normalizedname": "wikieditor-toolbar-tool-ulist-example",
                "*": "Bulleted list item"
            },
            {
                "name": "wikieditor-toolbar-tool-xlink",
                "normalizedname": "wikieditor-toolbar-tool-xlink",
                "*": "External link (remember http:// prefix)"
            },
            {
                "name": "wikieditor-toolbar-tool-xlink-example",
                "normalizedname": "wikieditor-toolbar-tool-xlink-example",
                "*": "http://www.example.com link title"
            },
            {
                "name": "wikieditor-wikitext-tab",
                "normalizedname": "wikieditor-wikitext-tab",
                "*": "Wikitext"
            },
            {
                "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": "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": "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."
            }
        ]
    }
}