mediawiki-extensions-AbuseF.../i18n/qqq.json

670 lines
98 KiB
JSON
Raw Normal View History

{
"@metadata": {
"authors": [
"Amire80",
"Ankam",
"Aotake",
"BadDog",
"Bdijkstra",
"Bennylin",
"Chadyka",
"ChrisiPK",
"Daimona Eaytoy",
"Darth Kule",
"EugeneZelenko",
"Fryed-peach",
"H78c67c",
"Hamilton Abreu",
"Hello903hello",
"Huji",
"Iwan Novirion",
"Jon Harald Søby",
"Krenair",
"Krinkle",
"Kwj2772",
"Legoktm",
"Lejonel",
"Liuxinyu970226",
"Lloffiwr",
"McDutchie",
"Meno25",
"Mormegil",
"MuratTheTurkish",
"MusikAnimal",
"Nemo bis",
"Patriot Kur",
"Phjtieudoc",
"Pikne",
"Praveenp",
"Purodha",
"Pxos",
"Raymond",
"Robby",
"SaldırganSincap",
"Shirayuki",
"Siebrand",
"The Evil IP address",
"Translationista",
"Umherirrender",
"Verdy p",
"Yekrats"
]
},
"abusefilter-desc": "{{desc|name=Abuse Filter|url=https://www.mediawiki.org/wiki/Extension:AbuseFilter}}",
"abusefilter": "Title of [[Special:AbuseFilter]]",
"abuselog": "Caption of [[Special:AbuseLog]]",
"abusefilter-intro": "Introduction text for the list of filter rules.",
"abusefilter-mustviewprivateoredit": "\"No access\" message shown when a user does not have access rights.",
"abusefilter-warning": "A warning message shown when a user tries to save an edit which matches some abuse filter rule. Parameters:\n* $1 is a short description of the abuse filter rule which triggered this action\n* $2 is the filter id",
"abusefilter-disallowed": "Message given to user because of a triggered filter. Parameters:\n* $1 is a filter description\n* $2 is the filter id",
"abusefilter-blocked-display": "Message given to user because of a triggered filter. Parameters:\n* $1 is a filter description\n* $2 is the filter id",
"abusefilter-degrouped": "Message given to user because of a triggered filter. Parameters:\n* $1 is a filter description\n* $2 is the filter id",
"abusefilter-autopromote-blocked": "Message given to user because of a triggered filter. Parameters:\n* $1 is a filter description\n* $2 is the filter id",
"abusefilter-blocker": "Username of reserved user for abuse filter actions.",
"abusefilter-blockreason": "Message given to user because of a triggered filter. Parameters:\n* $1 is a filter description\n* $2 is the filter id",
"abusefilter-degroupreason": "Used as log entry when removal of the user from all privileged groups performed by Abuse filter. Parameters:\n* $1 is the filter description (reason)\n* $2 is the filter id",
"abusefilter-blockautopromotereason": "Used as log entry when delaying the autopromotion of a user. Parameters:\n* $1 is the filter description (reason)\n* $2 is the filter id",
"abusefilter-accountreserved": "Message given when trying to register a reserved account name for AbuseFilter actions.",
"right-abusefilter-modify": "{{doc-right|abusefilter-modify}}",
"right-abusefilter-view": "{{doc-right|abusefilter-view}}",
"right-abusefilter-log": "{{doc-right|abusefilter-log}}",
"right-abusefilter-log-detail": "{{doc-right|abusefilter-log-detail}}",
"right-abusefilter-privatedetails": "{{doc-right|abusefilter-privatedetails}}",
"right-abusefilter-privatedetails-log": "{{doc-right|abusefilter-privatedetails-log}}",
"right-abusefilter-modify-restricted": "{{doc-right|abusefilter-modify-restricted}}",
"right-abusefilter-revert": "{{doc-right|abusefilter-revert}}",
"right-abusefilter-view-private": "{{doc-right|abusefilter-view-private}}",
"right-abusefilter-log-private": "{{doc-right|abusefilter-log-private}}",
"right-abusefilter-hide-log": "{{doc-right|abusefilter-hide-log}}",
"right-abusefilter-hidden-log": "{{doc-right|abusefilter-hidden-log}}",
"right-abusefilter-modify-global": "{{doc-right|abusefilter-modify-global}}",
"action-abusefilter-modify": "{{doc-action|abusefilter-modify}}",
"action-abusefilter-view": "{{doc-action|abusefilter-view}}",
"action-abusefilter-log": "{{doc-action|abusefilter-log}}",
"action-abusefilter-log-detail": "{{doc-action|abusefilter-log-detail}}",
"action-abusefilter-privatedetails": "{{doc-action|abusefilter-privatedetails}}",
"action-abusefilter-privatedetails-log": "{{doc-action|abusefilter-privatedetails-log}}",
"action-abusefilter-modify-restricted": "{{doc-action|abusefilter-modify-restricted}}",
"action-abusefilter-revert": "{{doc-action|abusefilter-revert}}",
"action-abusefilter-view-private": "{{doc-action|abusefilter-view-private}}",
"action-abusefilter-log-private": "{{doc-action|abusefilter-log-private}}",
"action-abusefilter-log-protected": "{{doc-action|abusefilter-access-protected-vars}}",
"action-abusefilter-hide-log": "{{doc-action|abusefilter-hide-log}}",
"action-abusefilter-hidden-log": "{{doc-action|abusefilter-hidden-log}}",
"action-abusefilter-modify-global": "{{doc-action|abusefilter-modify-global}}",
"abusefilter-log-summary": "This message is displayed at the top of the log overview page for extension AbuseFilter.",
"abusefilter-log-search": "Caption of a fieldset for filter definition on [[Special:AbuseLog]]",
"abusefilter-log-search-user": "Field label in abuse filter log page.\n{{Identical|User}}",
"abusefilter-log-search-group": "Field label in abuse filter log page.",
"abusefilter-log-search-group-any": "Option allowing to find entries from any group in abuse log.\n{{Identical|Any}}",
"abusefilter-log-search-filter": "Field label in abuse filter log page.",
"abusefilter-log-search-filter-help": "Help text, see {{msg-mw|abusefilter-log-search-filter}}. Parameters:\n* $1 - The prefix used by global filters.\n\nSee also {{msg-mw|abusefilter-log-search-filter-help-central}}",
"abusefilter-log-search-filter-help-central": "Help text, see {{msg-mw|abusefilter-log-search-filter}}.\n\nSee also {{msg-mw|abusefilter-log-search-filter-help}}",
"abusefilter-log-search-title": "Field label in abuse filter log page.\n{{Identical|Title}}",
"abusefilter-log-search-wiki": "Label for text field that allows the user to limit search results to a specific wiki, by name.\n{{Identical|Wiki}}",
"abusefilter-log-search-impact": "Label for options allowing to filter abuse log by whether the action was actually saved.\n{{Identical|Impact}}",
"abusefilter-log-search-impact-all": "Option allowing to find all actions in abuse log.",
"abusefilter-log-search-impact-saved": "Option allowing to find saved changes only in abuse log.",
"abusefilter-log-search-impact-not-saved": "Option allowing to filter saved changes out from abuse log.",
"abusefilter-log-search-entries-label": "Label for options allowing to find entries with specified visibility.\n{{Identical|Visibility}}",
"abusefilter-log-search-entries-all": "Option allowing to find all entries in abuse log.",
"abusefilter-log-search-entries-hidden": "Option allowing to find hidden entries only in abuse log.",
"abusefilter-log-search-entries-visible": "Option allowing to find visible entries only in abuse log.",
"abusefilter-log-search-action-label": "Label for options allowing to find entries with specified action that triggered abuse filters.",
"abusefilter-log-search-action-other": "Option allowing to find all entries triggered by an unspecified action in abuse log.\n{{Identical|Other}}",
"abusefilter-log-search-action-any": "Option allowing to find any entry in abuse log.\n{{Identical|Any}}",
"abusefilter-log-search-action-taken-label": "Label for options allowing to find entries with specified action taken by abuse filters.",
"abusefilter-log-search-action-taken-any": "Option allowing to find any entry in abuse log.\n{{Identical|Any}}",
"abusefilter-log-search-submit": "Button text to search log in abuse filter log page.\n{{Identical|Search}}",
"abusefilter-log-entry": "This message is for a log entry. Parameters:\n* $1 - timestamp\n* $2 - user\n* $3 - action by user\n* $4 - link to page the action that triggered the filter was made on\n* $5 - actions taken by the filter\n* $6 - comments in filter description\n* $8 - raw username, for GENDER support\n{{Related|Abusefilter-log}}",
"abusefilter-log-entry-withdiff": "This message is for a log entry. Parameters:\n* $1 - timestamp\n* $2 - user\n* $3 - action by user\n* $4 - link to page the action that triggered the filter was made on\n* $5 - actions taken by the filter\n* $6 - comments in filter description\n* $7 - link to diff\n* $8 - raw username, for GENDER support\n{{Related|Abusefilter-log}}",
"abusefilter-log-detailedentry-meta": "This message is for a log entry. Parameters:\n* $1 - timestamp\n* $2 - user\n* $3 - link to filter\n* $4 - action by user\n* $5 - link to page the action that triggered the filter was made on\n* $6 - actions taken by the filter\n* $7 - comments in filter description\n* $8 - link to action details, examine, and optional diff\n* $9 - raw username, for GENDER support\n{{Related|Abusefilter-log}}",
"abusefilter-log-detailedentry-global": "Addition in the abuse filter log detail when a filter rule is a global rule. Parameters:\n* $1 is a global filter ID.",
"abusefilter-log-detailedentry-local": "Addition in the abuse filter log detail when a filter rule is a local rule. Parameters:\n* $1 is a local filter ID.\n{{Identical|Filter}}",
"abusefilter-log-detailslink": "Link text for a link to abuse filter log details.\n{{Identical|Detail}}",
"abusefilter-log-diff": "Diff link text to a revision associated with an AbuseFilter log entry\n{{Identical|Diff}}",
"abusefilter-log-hidelink": "Link text in abuse filter log line to hide (when visible) or show (when hidden) a link to the log entry details.",
"abusefilter-log-hide-entries": "Text for a button which allows the user to delete the selected AbuseLog entries.\n\nSee also:\n* {{msg-mw|showhideselectedlogentries}}",
"abusefilter-log-description-not-available": "Placeholder text for when a filter description could not be shown. Used as parameter $7 in {{msg-mw|Abusefilter-log-detailedentry-meta}}.",
"abusefilter-log-details-legend": "Legend for abuse filter log entry details. Parameters:\n* $1 is a filter ID.",
"abusefilter-log-details-var": "Caption of a column on a detail view of [[Special:AbuseLog]]\n{{Identical|Variable}}",
"abusefilter-log-details-val": "Caption of a column on a detail view of [[Special:AbuseLog]]\n{{Identical|Value}}",
"abusefilter-log-details-vars": "Caption on a detail view of [[Special:AbuseLog]]",
"abusefilter-log-details-privatedetails": "Header for private log details.",
"abusefilter-log-details-ip": "Row label in private log details.",
"abusefilter-log-details-checkuser": "Text to use as link to [[Special:Checkuser]] for the given IP.\n{{Identical|Check user}}",
"abusefilter-log-noactions": "Text displayed in Special:AbuseLog when a rule was triggered, but no action was taken.\n{{Identical|None}}",
"abusefilter-log-noactions-filter": "Text displayed in the dropdown menu on Special:AbuseLog when a user tries fo filter the logs for those where a rule was triggered, but no action was taken.\n{{Identical|None}}",
"abusefilter-log-details-diff": "Header for differences between two edits in log details.",
"abusefilter-log-linkoncontribs": "Link text added on [[Special:Contributions]] and other relevant special pages.\n{{Identical|Abuse log}}",
"abusefilter-log-linkoncontribs-text": "Title for link added on [[Special:Contributions]] and other relevant special pages. Parameters:\n* $1 is the target username used for GENDER.",
"abusefilter-log-linkonhistory": "Link text added to the subtitle of the revision history page.",
"abusefilter-log-linkonhistory-text": "Tooltip for the link added to the subtitle of the revision history page.",
"abusefilter-log-linkonundelete": "Link text added to the subtitle of the undelete page.",
"abusefilter-log-linkonundelete-text": "Title for link added to the subtitle of the undelete page.",
"abusefilter-log-hidden-implicit": "Explanatory text to be shown beside an abuse filter log entry if it cannot be viewed due to its corresponding revision being hidden",
"abusefilter-log-cannot-see-details": "Message shown instead of log row details for users without permissions to see them.",
"abusefilter-log-cannot-see-privatedetails": "Message shown instead of log row private details for users without permissions to see them.",
"abusefilter-log-nonexistent": "Message shown instead of log row details when the provided log ID does not exist.",
"abusefilter-log-details-hidden": "Message shown instead of log row details when those are hidden.",
"abusefilter-log-details-hidden-implicit": "Message shown instead of log row details when their associated revision is hidden.",
"abusefilter-log-private-not-included": "Message shown when an unauthorized user searches by ID for private filters.",
"abusefilter-log-hide-no-selected": "Error message when a user tries to enter the form for changing AbuseLog entries visibility without having selected any entry.",
"abusefilter-log-hide-selected": "Legend for a list of selected AbuseLog entries. See also {{msg-mw|logdelete-selected}}.\nParameters:\n* $1 - number of selected AbuseLog entries.",
"abusefilter-log-hide-legend": "Legend for a form to hide or show AbuseLog entries.",
"abusefilter-log-hide-set-visibility": "Description of a form field where users can specify how to change the visibility of selected AbuseLog entries",
"abusefilter-log-hide-reason": "{{Identical|Reason}}",
"abusefilter-log-hide-reason-other": "{{Identical|Other/additional reason}}",
"abusefilter-log-hide-forbidden": "Message shown instead of a \"hide log entry\" form when not having the correct user rights.",
"abusefilter-log-hide-show": "Option allowing to show the selected AbuseLog entries\n{{identical|Show}}",
"abusefilter-log-hide-hide": "Option allowing to hide the selected AbuseLog entries\n{{identical|Hide}}",
"abusefilter-log-hide-no-change": "Error message informing the user that he cannot change visibility for the selected entries because they already have the desired visibility.",
"abusefilter-log-hide-done": "Success message informing the user that AbuseLog entries correctly had their visibility updated.Parameters:\n*$1 The amount of updated entries\n* $2 - Either {{msg-mw|abusefilter-log-hide-done-hide}} or {{msg-mw|abusefilter-log-hide-done-show}}.",
"abusefilter-log-hide-done-hide": "Verb used to indicate that the entries have been hidden.\nUsed in {{msg-mw|abusefilter-log-hide-done}}.\nParameters:\n* $1 - Amount of affected entries for PLURAL",
"abusefilter-log-hide-done-show": "Verb used to indicate that the entries have been unhidden.\nUsed in {{msg-mw|abusefilter-log-hide-done}}.\nParameters:\n* $1 - Amount of affected entries for PLURAL",
"abusefilter-log-entry-suppress": "Log entry when hiding an abuse filter log entry. Parameters:\n* $1 - a link to a user page with a username as link text, followed by a series of related links\n* $2 - raw username, for GENDER support\n* $3 a link to the log ID.",
"abusefilter-log-entry-unsuppress": "Log entry when unhiding an abuse filter log entry. Parameters:\n* $1 - a link to a user page with a username as link text, followed by a series of related links\n* $2 - raw username, for GENDER support\n* $3 a link to the log ID.",
"logentry-abusefilter-hit": "This message is for a log entry. Parameters:\n* $1 - user who performed the action\n* $2 - user who performed the action (to be used with GENDER)\n* $3 - link to the page, that the action that triggered the filter was made on\n* $4 - link to filter\n* $5 - action by user, like 'edit', 'move', 'create' etc.\n* $6 - actions taken by the filter\n* $7 - action details link",
"log-action-filter-abusefilter": "{{doc-log-action-filter-action|abusefilter}}",
"log-action-filter-abusefilter-create": "{{doc-log-action-filter-action|abusefilter|create}}",
"log-action-filter-abusefilter-modify": "{{doc-log-action-filter-action|abusefilter|modify}}",
"log-action-filter-suppress-abuselog": "{{doc-log-action-filter-action|suppress|abuselog}}",
"log-action-filter-rights-blockautopromote": "{{doc-log-action-filter-action|rights|blockautopromote}}",
"log-action-filter-rights-restoreautopromote": "{{doc-log-action-filter-action|rights|restoreautopromote}}",
"logentry-abusefilterprivatedetails-access": "This message is for a log entry. Parameters:\n* $1 User who accessed the private logs\n* $2 User who accessed the private logs (used for gender)\n* $3 The log entry of which private details were accessed",
"logentry-rights-blockautopromote": "Message used in rights log entries when AbuseFilter delayed the autopromotion of a user. Parameters:\n* $1 The filter user\n* $2 Same as $1 but for gender support\n* $3 User whose autopromotion was delayed\n* $4 Same user as $3, but used for gender\n*$5 The period for which autopromotion has been blocked",
"logentry-rights-restoreautopromote": "Message used in rights log entries when autopromotion capability of a user. Parameters:\n* $1 The user who restored the rights\n* $2 Same as $1 but for gender support\n* $3 User whose autopromotion status was restored\n* $4 Same user as $3, but used for gender",
"logentry-abusefilterblockeddomainhit-hit": "Message used when a user attempts to add a link to a blocked domain. Parameters:\n* $1 The user who attempted to add links\n* $2 Same as $1 but for gender support\n* $3 Page it was attempted\n* $4 blocked domain that triggered the filter",
"abusefilterprivatedetails-log-name": "Log name",
"log-name-abusefilterblockeddomainhit": "Log name",
"abusefilter-list": "Used as HTML <code><nowiki><h2></nowiki></code> heading.\n\nFollowed by the fieldset label {{msg-mw|Abusefilter-list-options}}.",
"abusefilter-list-id": "Column header in abuse filter overview for the filter identifier.\n{{Identical|Filter ID}}",
"abusefilter-list-pattern": "Column header in abuse filter overview for the filter pattern.\n{{Identical|Pattern}}",
"abusefilter-list-status": "Column header in abuse filter overview for the filter status.\n{{Identical|Status}}",
"abusefilter-list-public": "Column header in abuse filter overview for the public filter description.",
"abusefilter-list-consequences": "Column header in abuse filter overview for the filter consequences.",
"abusefilter-list-visibility": "Column header in abuse filter overview for the public filter visibility.\n{{Identical|Visibility}}",
"abusefilter-list-hitcount": "Column header in abuse filter overview for the number of times the filter was triggered.",
"abusefilter-list-limit": "Used as label for the Limit selector in the form.",
"abusefilter-list-lastmodified": "Column header in abuse filter overview for the last modified timestamp for a filter.\n{{Identical|Last modified}}",
"abusefilter-list-group": "The filter group the edit filter is in.",
"abusefilter-hidden": "Abuse filter status.\n{{Identical|Private}}",
"abusefilter-protected": "Abuse filter status.\n{{Identical|Protected}}",
"abusefilter-unhidden": "Abuse filter status.\n{{Identical|Public}}",
"abusefilter-enabled": "Abuse filter status.\n{{Identical|Enabled}}",
"abusefilter-deleted": "Abuse filter status.\n{{Identical|Deleted}}",
"abusefilter-disabled": "Abuse filter status.\n{{Identical|Disabled}}",
"abusefilter-throttled": "Abuse filter status where the filter is matching many edits. See {{msg-mw|abusefilter-edit-throttled-warning}} and {{msg-mw|abusefilter-edit-throttled-warning-no-actions}}.",
"abusefilter-hitcount": "Indicates number of times an abuse filter was triggered. Parameters:\n* $1 is the number of hits.",
"abusefilter-new": "Button text for creating a new abuse filter.",
"abusefilter-import-button": "Used as link text in the navigation toolbar.\n\nThe link points to [[Special:AbuseLog]].",
"abusefilter-return": "Link displayed when filtering abuse filters without results.",
"abusefilter-status-global": "Abuse filter status. Means that it is active on all wikis in a farm.\n{{Identical|Global}}",
"abusefilter-list-options": "Fieldset legend for abuse filter filter options.\n{{Identical|Search options}}",
"abusefilter-list-options-deleted": "Field label in filter form.",
"abusefilter-list-options-deleted-only": "Radio button label in filter form.",
"abusefilter-list-options-deleted-hide": "Radio button label in filter form.",
"abusefilter-list-options-deleted-show": "Radio button label in filter form.",
"abusefilter-list-options-scope": "Field label in the filter form, for radio buttons selecting which category of filters to show",
"abusefilter-list-options-scope-local": "Radio button indicating that local rules should be shown.",
"abusefilter-list-options-scope-global": "Radio button indicating that global rules should be shown",
"abusefilter-list-options-scope-all": "Radio button indicating that local and global rules should be shown",
"abusefilter-list-options-further-options": "Field label in filter form.",
"abusefilter-list-options-hidedisabled": "Checkbox label in filter form.",
"abusefilter-list-options-hideprivate": "Checkbox label in filter form.\n\n(Filters marked as private can only be viewed by users with either the abusefilter-modify or abusefilter-view-private permission.)",
"abusefilter-list-options-searchfield": "Field label in filter form.",
"abusefilter-list-options-searchpattern": "Text input for search pattern",
"abusefilter-list-options-searchoptions": "Field label in filter form.",
"abusefilter-list-options-search-like": "Radio button label in filter form.",
"abusefilter-list-options-search-rlike": "Radio button label in filter form. See [[w:en:regular expression]]",
"abusefilter-list-options-search-irlike": "Radio button label in filter form. See [[w:en:regular expression]]",
"abusefilter-list-invalid-searchmode": "Error message text.",
"abusefilter-list-regexerror": "Error message text.",
"abusefilter-list-options-submit": "Submit button text in filter form to update a filtered list.\n{{Identical|Update}}",
"abusefilter-tools-text": "Introduction test for abuse filter tools.",
"abusefilter-tools-expr": "Fieldset legend for form to test a filter expression.",
"abusefilter-tools-submitexpr": "Submit button label to test a filter expression.",
"abusefilter-tools-syntax-error": "Message error shown to the user when they try to evaluate an expression with a syntax error.",
"abusefilter-tools-reautoconfirm": "Fieldset legend for a form to add a user to the autoconfirmed group again.",
"abusefilter-tools-reautoconfirm-user": "Field label. See {{msg-mw|group-autoconfirmed}} for concept translation.\n{{Identical|User}}",
"abusefilter-tools-reautoconfirm-submit": "Submit button text to add a user to the autoconfirmed user group. See {{msg-mw|group-autoconfirmed}} for concept translation.",
"abusefilter-tools-restoreautopromote": "Message displayed in the logs when a user restores the autopromotion status of another user using the form on Special:AbuseFilter/tools.",
"abusefilter-reautoconfirm-none": "{{doc-singularthey}}\nError text in case a user has not had their autoconfirmed status revoked. See {{msg-mw|group-autoconfirmed}} for concept translation.\n\nParameters:\n* $1 - the target username used for GENDER",
"abusefilter-reautoconfirm-notallowed": "Error text when trying to perform an action the user cannot perform. See {{msg-mw|group-autoconfirmed}} for concept translation.",
"abusefilter-reautoconfirm-done": "See {{msg-mw|group-autoconfirmed}} for concept translation.\n* $1 is the target username (optional, used for GENDER).",
"abusefilter-status": "Status information displayed on top of [[Special:AbuseFilter]]. Parameters:\n* $1 is the number of recent actions\n* $2 is the number of filter runs that reached the limit of $4 conditions (and have had to be terminated)\n* $3 is a percentage: $2 / $1 * 100\n* $4 is the maximum number of conditions allowed\n* $5 is the number of matched actions\n* $6 is a percentage: $5 / $1 * 100",
"abusefilter-add": "Page title when creating an abuse filter.",
"abusefilter-edit": "Page title when editing an abuse filter. Is mainly shown in error messages.",
"abusefilter-edit-specific": "Page title when editing an abuse filter. $1 is the abuse filter number. $2 is the abuse filter name.",
"abusefilter-view-specific": "Page title when viewing an abuse filter. $1 is the abuse filter number. $2 is the abuse filter name.",
"abusefilter-edit-subtitle": "Page subtitle when editing an abuse filter. Parameters:\n* $1 - filter ID\n* $2 - (Unused) history ID\nSee also:\n* {{msg-mw|Abusefilter-edit-subtitle-new}} - if the filter ID is \"new\".",
"abusefilter-edit-subtitle-new": "Page subtitle when creating an abuse filter. Parameters:\n* $1 - (Unused) filter ID\n* $2 - (Unused) history ID\nSee also:\n* {{msg-mw|Abusefilter-edit-subtitle}} - if editing the existing filter",
"abusefilter-edit-token-not-match": "Warning displayed when saving the filter didn't succeed.",
"abusefilter-edit-oldwarning": "Warning displayed when editing an older version of a filter. Parameters:\n* $1 - (Unused) history ID\n* $2 - filter ID\nSee also {{msg-mw|AbuseFilter-edit-oldwarning-view}}",
"abusefilter-edit-oldwarning-view": "Warning displayed when viewing an older version of a filter. Parameters:\n* $1 - (Unused) history ID\n* $2 - filter ID\nSee also {{msg-mw|AbuseFilter-edit-oldwarning}}",
"abusefilter-edit-status-label": "Field label for abuse filter statistics.\n{{Identical|Statistics}}",
"abusefilter-edit-status": "Parameters:\n* $1 - number of actions\n* $2 - matched count\n* $3 - matched percentage\n* $4 - time (in milliseconds)\n* $5 - number of conditions",
"abusefilter-edit-throttled-warning": "Used as warning message when the filter is throttled and actions will not execute. Parameters:\n* $1 - is a string containing the actions that will not execute\n* $2 - number of disabled actions, for PLURAL",
"abusefilter-edit-throttled-warning-no-actions": "Used as warning message when the filter is throttled but no actions were disabled.",
"abusefilter-edit-new": "Field value in case an edited filter is new.",
"abusefilter-edit-save": "Submit button text to save a filter.",
"abusefilter-edit-id": "Field label for filter identifier.\n{{Identical|Filter ID}}",
"abusefilter-edit-switch-editor": "Button to switch between classic editor and Ace editor",
"abusefilter-edit-description": "Field label for publicly viewable abuse filter description.",
"abusefilter-edit-field-description": "Name of the filter public description, to be used in error message.",
"abusefilter-edit-group": "\"Filter group\" a filter is in. Filters can be grouped, and only one group is run per action. The default group, \"default\", will be used in 99% of cases.",
"abusefilter-edit-flags": "Field label for abuse filter flags (checkboxes for \"hidden\", \"enabled\" and \"deleted\").\n{{Identical|Flag}}",
"abusefilter-edit-enabled": "Checkbox label for a filter flag.",
"abusefilter-edit-deleted": "Checkbox label for a filter flag.",
"abusefilter-edit-hidden": "Checkbox label for a filter flag.",
"abusefilter-edit-global": "Checkbox label for a filter flag.",
"abusefilter-edit-rules": "Field label for filter rules.\n{{Identical|Condition}}",
"abusefilter-edit-field-conditions": "Description for filter rules, to be used in error message.\n{{Identical|Condition}}",
"abusefilter-edit-notes": "Field label for filter notes.\n{{Identical|Note}}",
"abusefilter-edit-lastmod": "Field label for filter's last modified timestamp.",
"abusefilter-edit-lastmod-text": "This message is used on [[Special:AbuseFilter]] to indicate the last modified date, time and user for existing rules.\n\nParameters:\n* $1 - a time and date (duplicated in $3 and $4), with link to the latest change\n* $2 - a link to a user page with a username as link text, followed by a series of related links\n* $3 - (Optional) the date\n* $4 - (Optional) the time\n* $5 - (Optional) the username, for GENDER support",
"abusefilter-edit-hitcount": "Field label in edit rule form after which the number of filter hits is displayed.",
"abusefilter-edit-consequences": "Shown as the header of a section on the filter editing page, showing a list of checkboxes with different action names, and as the table header on the filter version differences page. Refers to a list of actions that will be triggered when an edit matches the filter.",
"abusefilter-edit-action-warn": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-disallow": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-blockautopromote": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-degroup": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-block": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-blocktalk": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-throttle": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-rangeblock": "{{doc-abusefilter-action}}",
"abusefilter-edit-action-tag": "{{doc-abusefilter-action}}",
"abusefilter-edit-throttle-count": "Field label for entering the number of allowed hits before triggering the filter consequences.",
"abusefilter-edit-throttle-period": "Field label for entering a time period in seconds.\n{{Identical|Second}}",
"abusefilter-edit-throttle-groups": "Field label for properties to group throttle counts by (for example IP address and username). Throttling is the concept of limiting occurrences of a certain action in a given time frame.",
"abusefilter-edit-throttle-groups-help": "Message for a help tooltip next to the throttle groups field. Parameters:\n* $1 - A help link, pointing to mediawiki.org.\n\nSee also:\n* {{msg-mw|abusefilter-edit-throttle-groups-help-text}}",
"abusefilter-edit-throttle-groups-help-text": "Text for a help link next to the throttle groups field.\n\nSee also:\n* {{msg-mw|abusefilter-edit-throttle-groups-help}}",
"abusefilter-edit-throttle-hidden-placeholder": "Label for a textarea where users may insert throttling criteria.",
"abusefilter-edit-throttle-placeholder": "Label for an input field where users may insert throttling criteria.",
"abusefilter-throttle-ip": "Throttle option. The first letter is meant to be lowercase.",
"abusefilter-throttle-user": "Throttle option.",
"abusefilter-throttle-range": "Throttle option. The first letter is meant to be lowercase (e.g. if you need to translate it as a \"range of IP addresses\")",
"abusefilter-throttle-creationdate": "Throttle option.",
"abusefilter-throttle-editcount": "Throttle option.",
"abusefilter-throttle-site": "Throttle option.",
"abusefilter-throttle-page": "Throttle option.",
"abusefilter-throttle-none": "Bogus throttle option, means that no options are enabled.",
"abusefilter-throttle-details": "Description for Special:AbuseFilter/history with a detailed description for throttle action. Parameters:\n* $1 is the number of allowed actions, $2 is the time in seconds to use before resetting the action count, $3 is a list of throttled groups",
"abusefilter-edit-warn-message": "Field label for dropdown list with system messages.",
"abusefilter-edit-warn-other": "Option in dropdown menu to specify no item from the list should be used.\n\nSee also:\n* {{msg-mw|abusefilter-edit-disallow-other}}",
"abusefilter-edit-warn-other-label": "Field label for entering a system message key to use as warning text.\n\nSee also:\n* {{msg-mw|abusefilter-edit-disallow-other-label}}",
"abusefilter-edit-warn-actions": "Field label for two action buttons in abuse filter editor. The button texts are {{msg-mw|abusefilter-edit-warn-preview}} and {{msg-mw|abusefilter-edit-warn-edit}}.\n{{Identical|Action}}",
"abusefilter-edit-warn-preview": "Button text for actions relating to a warning message for an abuse filter.\n\nSee also:\n* {{msg-mw|Abusefilter-edit-warn-actions}}\n* {{msg-mw|Abusefilter-edit-warn-edit}}",
"abusefilter-edit-warn-edit": "Button text for actions relating to a warning message for an abuse filter.\n\nSee also:\n* {{msg-mw|Abusefilter-edit-warn-actions}}\n* {{msg-mw|Abusefilter-edit-warn-preview}}\n* {{msg-mw|Abusefilter-edit-disallow-edit}}",
"abusefilter-edit-disallow-message": "Field label for dropdown list with system messages.\n\nSee also:\n* {{msg-mw|abusefilter-edit-warn-message}}",
"abusefilter-edit-disallow-other": "Option in dropdown menu to specify no item from the list should be used.\n\nSee also:\n* {{msg-mw|abusefilter-edit-warn-other}}",
"abusefilter-edit-disallow-other-label": "Field label for entering a system message key to use as disallow text.\n\nSee also:\n* {{msg-mw|Abusefilter-edit-warn-other-label}}",
"abusefilter-edit-disallow-actions": "Field label for two action buttons in abuse filter editor. The button texts are {{msg-mw|abusefilter-edit-disallow-preview}} and {{msg-mw|abusefilter-edit-disallow-edit}}.\n{{Identical|Action}}\nSee also:\n* {{msg-mw|abusefilter-edit-warn-actions}}",
"abusefilter-edit-disallow-preview": "Button text for actions relating to a warning message for an abuse filter.\n\nSee also:\n* {{msg-mw|Abusefilter-edit-disallow-actions}}\n* {{msg-mw|Abusefilter-edit-disallow-edit}}",
"abusefilter-edit-disallow-edit": "Button text for actions relating to a disallow message for an abuse filter.\n\nSee also:\n* {{msg-mw|Abusefilter-edit-disallow-actions}}\n* {{msg-mw|Abusefilter-edit-disallow-preview}}\n* {{msg-mw|Abusefilter-edit-warn-edit}}",
"abusefilter-edit-tag-tag": "Field label for a field in which tags can be added for a revision in case the abuse filter applies.",
"abusefilter-edit-tag-placeholder": "Placeholder for a field where the user may insert tags.",
"abusefilter-edit-tag-hidden-placeholder": "Placeholder for a field where the user may insert tags.",
"abusefilter-edit-block-anon-durations": "Field label for select element allowing to select block duration for anonymous or temporary users",
"abusefilter-edit-block-user-durations": "Field label for select element allowing to select block duration for registered users",
"abusefilter-block-anon": "Specification for type of block. 'Block' is a verb.\n{{Identical|Block}}",
"abusefilter-block-user": "Specification for type of block 'Block' is a verb.",
"abusefilter-block-talk": "Specification for type of block. See {{msg-mw|Blocklist-nousertalk}}",
"abusefilter-edit-denied": "Text used when a user has to access to filter details.",
"abusefilter-edit-denied-protected-vars": "Text used when a user is denied access to filter details because they don't have the viewing right.",
"abusefilter-edit-main": "Fieldset legend for edit filter form.",
"abusefilter-edit-done-subtitle": "Page subtitle when as filter was edited and saved.",
"abusefilter-edit-done": "Text displayed to a user after editing a filter. Parameters:\n* $1 - a filter ID\n* $2 - the ID of the change itself\n* $3 - localized filter ID",
"abusefilter-edit-badsyntax": "Message to warn a user that a filter could not be edited for a given reason. Parameters:\n* $1 is a parser error text.",
"abusefilter-edit-missingfields": "Message to warn a user that a filter could not be edited for a given reason. Parameters:\n* $1 is a list of missing fields.",
"abusefilter-edit-deleting-enabled": "Message to warn a user that an active filter can't be marked as deleted",
"abusefilter-edit-restricted": "Message to warn a user that a filter could not be edited for a given reason.",
"abusefilter-edit-protected-variable": "Message to warn a user that a filter could not be edited for a given reason. Parameters:\n* $1 is the variable that raised the error.",
"abusefilter-edit-viewhistory": "Link description for link that leads to a revision overview for a filter.",
"abusefilter-edit-history": "Field label for {{msg-mw|abusefilter-edit-viewhistory}}.\n{{Identical|History}}",
"abusefilter-edit-check": "Button text for checking abuse filter syntax.\n\nUsed in {{msg-mw|Abusefilter-test-syntaxerr}}.",
"abusefilter-edit-badfilter": "User warning when referencing a filter ID that does not exist.",
"abusefilter-edit-revert": "Link text for reverting to an older version of a filter.",
"abusefilter-edit-tools": "Field label for a list of tool links.\n\nUsed in:\n* {{msg-mw|Abusefilter-import-intro}}\n{{Identical|Tool}}",
"abusefilter-edit-test-link": "Link text for link to a form to test a filter. Accompanying label is {{msg-mw|abusefilter-edit-tools}}.",
"abusefilter-edit-export": "Link text for link to create filter. Accompanying label is {{msg-mw|abusefilter-edit-tools}}.\n\nUsed in:\n* {{msg-mw|Abusefilter-import-intro}}",
"abusefilter-edit-syntaxok": "Status message for filter test.",
"abusefilter-edit-syntaxerr": "Status message for filter test. Parameters:\n* $1 is the reported error.",
"abusefilter-edit-warn-leave": "Warning message shown when the user tries to leave the page with unsaved changes to a filter.",
"abusefilter-edit-bad-tags": "Status message for filter test.",
"abusefilter-edit-notallowed": "Error message when trying to modify a filter while not allowed.",
"abusefilter-edit-notallowed-global": "Error message when trying to modify a global filter while not allowed.",
"abusefilter-edit-notallowed-global-custom-msg": "Error message when trying to add a custom warning or disallow message to a global filter, which is not allowed.",
"abusefilter-edit-invalid-warn-message": "Error message when trying to provide an empty message for \"warn\" action.",
"abusefilter-edit-invalid-disallow-message": "Error message when trying to provide an empty message for \"disallow\" action.",
"abusefilter-edit-invalid-throttlecount": "Error message when trying to provide an invalid action count for \"throttle\" action.",
"abusefilter-edit-invalid-throttleperiod": "Error message when trying to provide an invalid time period for \"throttle\" action.",
"abusefilter-edit-empty-throttlegroups": "Error message when trying to save a filter with \"throttle\" action enabled but no throttle groups selected.",
"abusefilter-edit-duplicated-throttlegroups": "Error message when trying to save a filter with \"throttle\" action enabled and duplicated throttle groups.",
"abusefilter-edit-invalid-throttlegroups": "Error message when trying to save a filter with \"throttle\" action enabled and invalid throttle groups.",
"abusefilter-edit-invalid-group": "Error message when trying to save a filter with an invalid group. Parameters:\n* $1 - the group\n\nSee also {{msg-mw|Abusefilter-edit-group}}.",
"abusefilter-edit-builder-select": "Default value for dropdown menu that allows inserting abuse filter syntax in the filter definition field.",
"abusefilter-edit-builder-group-op-arithmetic": "Group entry in dropdown menu.",
"abusefilter-edit-builder-op-arithmetic-addition": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-arithmetic-subtraction": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-arithmetic-multiplication": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-arithmetic-divide": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-arithmetic-modulo": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-arithmetic-pow": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-group-op-comparison": "Group entry in dropdown menu.",
"abusefilter-edit-builder-op-comparison-equal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-comparison-equal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-comparison-notequal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-comparison-notequal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-comparison-lt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Less than}}",
"abusefilter-edit-builder-op-comparison-gt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Greater than}}",
"abusefilter-edit-builder-op-comparison-lte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-comparison-gte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-group-op-bool": "Group entry in dropdown menu.",
"abusefilter-edit-builder-op-bool-not": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-bool-and": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-bool-or": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-op-bool-xor": "{{optional}}\nAbuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. ($1 is the text that will be inserted into the filter code editor.)",
"abusefilter-edit-builder-group-misc": "Group entry in dropdown menu.\n{{Identical|Miscellaneous}}",
"abusefilter-edit-builder-misc-in": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-contains": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-like": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-stringlit": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-rlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-irlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-tern": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-cond": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-misc-cond-short": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-group-funcs": "Group entry in dropdown menu.\n{{Identical|Function}}",
"abusefilter-edit-builder-funcs-length": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-lcase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ucase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ccnorm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-rmdoubles": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nFunctional explanation: rmdoubles removes repeated characters in the argument, and returns the result. For example: \"foobybboo\" will return \"fobybo\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-specialratio": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-norm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-count": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-rcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-get_matches": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-rmwhitespace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-rmspecials": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ip_in_range": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-ip_in_ranges": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-contains-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-contains-all": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-equals-to-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-substr": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-strpos": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-str_replace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-str_replace_regexp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regexp\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-rescape": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-set_var": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-funcs-sanitize": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-group-vars": "Group entry in dropdown menu.\n{{Identical|Variable}}",
"abusefilter-edit-builder-vars-timestamp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-accountname": "This variable is used only during account creation and contains the username of the newly created account. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-action": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Action}}",
"abusefilter-edit-builder-vars-addedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-delta": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-diff": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-newsize": "New size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-oldsize": "Old size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-new-content-model": "New content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-old-content-model": "Old content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-removedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-summary": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-page-id": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Page ID}}",
"abusefilter-edit-builder-vars-page-ns": "The namespace that the page for the trigger is supposed to be in. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-page-title": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-page-prefixedtitle": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-page-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-page-last-edit-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-id": "Paraphrase: The page ID of the page to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-ns": "Paraphrase: Namespace of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-title": "Paraphrase: Name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Paraphrase: Full name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-age": "Paraphrase: The number of seconds since the first revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-id": "Paraphrased: Page ID of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-ns": "Paraphrased: Namespace of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-title": "Paraphrased: Name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Paraphrased: Full name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-age": "Paraphrase: The number of seconds since the first revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-editcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-unnamed-ip": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-type": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-groups": "Parameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also:\n* {{msg-mw|Abusefilter-edit-builder-vars-global-user-groups}}",
"abusefilter-edit-builder-vars-user-rights": "Paraphrased: List of rights that the user has. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-blocked": "Paraphrased: Boolean value on whether the user is blocked. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-user-emailconfirm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-old-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-new-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-added-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-removed-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-all-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-new-pst": "Paraphrased: The output wikitext after pre-save transform is applied to new_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-diff-pst": "Paraphrased: Edit diff of new_pst against old_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-addedlines-pst": "Paraphrased: Added lines in edit_diff_pst. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-new-text": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-new-html": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-restrictions-edit": "This variable contains the level of protection required to edit the page. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
"abusefilter-edit-builder-vars-restrictions-move": "This variable contains the level of protection required to move the page. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
"abusefilter-edit-builder-vars-restrictions-create": "This variable contains the level of protection required to create the page. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
"abusefilter-edit-builder-vars-restrictions-upload": "This variable contains the level of protection required to upload a file. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}.",
"abusefilter-edit-builder-vars-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-first-contributor": "Paraphrased: The user who created the earliest revision of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.",
"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.",
"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}.",
"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
"abusefilter-edit-builder-vars-movedto-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
"abusefilter-edit-builder-vars-movedto-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
"abusefilter-edit-builder-vars-movedto-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}.",
"abusefilter-edit-builder-vars-movedto-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-movedto-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-old-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-sha1": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-size": "This variable contains the size of the uploaded file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-mime": "This variable contains the MIME type of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-mediatype": "This variable contains the media type of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-width": "This variable contains the width of the file in pixels.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-height": "This variable contains the height of the file in pixels.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-file-bits-per-channel": "This variable contains the number of bits per color channel of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-wiki-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-wiki-language": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
"abusefilter-edit-builder-vars-old-text": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
"abusefilter-edit-builder-vars-old-html": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
"abusefilter-edit-builder-vars-minor-edit": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
"abusefilter-edit-builder-vars-timestamp-expanded": "Label for the log timestamp (in expanded, human-readable form), shown in the private details of a log.",
"abusefilter-filter-log": "Used as page title.",
"abusefilter-history": "Used as page title.\n\n\"Change history\" is the \"history of changes\"\n\nParameters:\n* $1 - filter ID\n\nIf the filter ID is not specified, {{msg-mw|Abusefilter-filter-log}} will be used.",
"abusefilter-history-foruser": "Parameters:\n* $1 - a link to the changing user's page\n* $2 - (Optional) the plain text username",
"abusefilter-history-hidden": "{{Identical|Hidden}}",
"abusefilter-history-protected": "{{Identical|Protected}}",
"abusefilter-history-enabled": "{{Identical|Enabled}}",
"abusefilter-history-global": "{{Identical|Global}}",
"abusefilter-history-timestamp": "Used as table column header in history page of a filter.\n\nTranslate \"Time\" as \"Timestamp\" (time and date).\n{{Identical|Time}}",
"abusefilter-history-user": "{{Identical|User}}",
"abusefilter-history-public": "Used as table header on [[Special:AbuseFilter]]",
"abusefilter-history-flags": "{{Identical|Flag}}",
"abusefilter-history-filter": "Used as table header on [[Special:AbuseFilter/history]]",
"abusefilter-history-comments": "{{Identical|Comment}}",
"abusefilter-history-actions": "{{Identical|Action}}",
"abusefilter-history-backedit": "Used as label on [[Special:AbuseFilter/history]]",
"abusefilter-history-deleted": "{{Identical|Deleted}}",
"abusefilter-history-filterid": "{{Identical|Filter}}",
"abusefilter-history-select-legend": "Used as legend on [[Special:AbuseFilter/history]]",
"abusefilter-history-select-user": "Used as label for the \"User\" input box. Field takes a username to filter events by.\n{{Identical|User}}",
"abusefilter-history-select-filter": "Used as label for the \"Filter ID\" input box. Field takes a filter id to filter events by.",
"abusefilter-history-select-submit": "Used as submit button on [[Special:AbuseFilter/history]]",
"abusefilter-history-diff": "{{Identical|Change}}",
"abusefilter-history-error-hidden": "Error message shown to user if the filter they are trying to view is hidden and they do not have permission to view it.",
"abusefilter-exception-unexpectedatend": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Unexpected code, i.e. <code>else, then, end, :, '</code>",
"abusefilter-exception-expectednotfound": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Expected code, i.e. <code>else, then, end, :, '</code>\n* $3 - Type of the found code\n* $4 - Value of the type",
"abusefilter-exception-unrecognisedkeyword": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Unrecognized keyword",
"abusefilter-exception-unexpectedtoken": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Type\n* $3 - Unexpected token",
"abusefilter-exception-unclosedstring": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string",
"abusefilter-exception-invalidoperator": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Invalid operator",
"abusefilter-exception-unrecognisedtoken": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Unrecognized token",
"abusefilter-exception-noparams": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - Function\n* $3 - the number of expected arguments",
"abusefilter-exception-dividebyzero": "Error message from the abuse filter parser.\nParameters:\n* $1 - Position in the string\n* $2 - AFPData (integer or float?)",
"abusefilter-exception-unrecognisedvar": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Unrecognized variable",
"abusefilter-exception-notenoughargs": "Error message from the abuse filter parser. Parameters:\n* $1 - position in the string (numeral)\n* $2 - a function name\n* $3 - the number of expected arguments\n* $4 - the number of passed arguments (also supports PLURAL)",
"abusefilter-exception-toomanyargs": "Error message from the abuse filter parser. Parameters:\n* $1 - position in the string (numeral)\n* $2 - a function name\n* $3 - the number of expected arguments\n* $4 - the number of passed arguments (also supports PLURAL)",
"abusefilter-exception-regexfailure": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Regular expression",
"abusefilter-exception-overridebuiltin": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Built-in identifier",
Add a static analyzer for the filter language This commit adds a class AFPSyntaxChecker which can statically analyze a filter code to detect the following errors: - unbound variables (which comes in two modes: conservative and liberal, default to conservative) - unused variables (disabled by default for compatibilty) - assignment on built-in identifiers - function application's arity mismatch - function application's invalid function name - non-string literal in the first argument of set / set_var The existing parser and evaluator are modified as follows: - The new (caching) evaluator no longer needs to perform variable hoisting at runtime. - Note that for array assignment, this changes the semantics. - The new parser is more lenient, reducing parsing errors. The static analyzer will catch these errors instead, allowing us to give a much better error message and reduces the complexity of the parser. * The parser now allows function name to be any identifier. * The parser now allows arity mismatch to occur. * The parser now allows the first argument of set to be any expression. Concretely, obvious changes that users will see are: 1. a := [1]; false & (a[] := 2); a[0] === 1 would evaluate to true, while it used to evaluate to the undefined value due to hoisting 2. f(1) will now error with 'f is not a valid function' as opposed to 'Unexpected "T_BRACE"' 3. length will now error with 'Illegal use of built-in identifier "length"' as opposed to 'Expected a (' Appendix: conservative and liberal mode The conservative mode is completely compatible with the current evaluator. That is, false & (a := 1); a will not deem `a` as unbound, though this is actually undesirable because `a` would then be bound to the troublesome undefined value. The liberal mode rejects the above pattern by deeming `a` as unbound. However, it also rejects true & (a := 1); a even though (a := 1) is always executed. Since there are several filters in Wikimedia projects that rely on this behavior, we default the mode to conservative for now. Note that even the liberal mode doesn't really respect lexical scope appeared in some other programming languages (see also T234690). For instance: (if true then (a := 1) else (a := 2) end); a would be accepted by the liberal checker, even though under lexical scope, `a` would be unbound. However, it is unlikely that lexical scope will be suitable for the filter language, as most filters in Wikimedia projects that have user-defined variable do violate lexical scope. Bug: T260903 Bug: T238709 Bug: T237610 Bug: T234690 Bug: T231536 Change-Id: Ic6d030503e554933f8d220c6f87b680505918ae2
2019-11-20 07:09:41 +00:00
"abusefilter-exception-usebuiltin": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Built-in identifier",
"abusefilter-exception-outofbounds": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Index\n* $3 - Number of items in array",
"abusefilter-exception-negativeindex": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Index",
"abusefilter-exception-notarray": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string",
"abusefilter-exception-unclosedcomment": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string",
"abusefilter-exception-invalidiprange": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - String provided as an argument to a function",
"abusefilter-exception-disabledvar": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Name of the disabled variable",
"abusefilter-exception-variablevariable": "{{doc-important|Do not translate \"'''set'''\" and \"'''set_var'''\".}} Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string",
Add a static analyzer for the filter language This commit adds a class AFPSyntaxChecker which can statically analyze a filter code to detect the following errors: - unbound variables (which comes in two modes: conservative and liberal, default to conservative) - unused variables (disabled by default for compatibilty) - assignment on built-in identifiers - function application's arity mismatch - function application's invalid function name - non-string literal in the first argument of set / set_var The existing parser and evaluator are modified as follows: - The new (caching) evaluator no longer needs to perform variable hoisting at runtime. - Note that for array assignment, this changes the semantics. - The new parser is more lenient, reducing parsing errors. The static analyzer will catch these errors instead, allowing us to give a much better error message and reduces the complexity of the parser. * The parser now allows function name to be any identifier. * The parser now allows arity mismatch to occur. * The parser now allows the first argument of set to be any expression. Concretely, obvious changes that users will see are: 1. a := [1]; false & (a[] := 2); a[0] === 1 would evaluate to true, while it used to evaluate to the undefined value due to hoisting 2. f(1) will now error with 'f is not a valid function' as opposed to 'Unexpected "T_BRACE"' 3. length will now error with 'Illegal use of built-in identifier "length"' as opposed to 'Expected a (' Appendix: conservative and liberal mode The conservative mode is completely compatible with the current evaluator. That is, false & (a := 1); a will not deem `a` as unbound, though this is actually undesirable because `a` would then be bound to the troublesome undefined value. The liberal mode rejects the above pattern by deeming `a` as unbound. However, it also rejects true & (a := 1); a even though (a := 1) is always executed. Since there are several filters in Wikimedia projects that rely on this behavior, we default the mode to conservative for now. Note that even the liberal mode doesn't really respect lexical scope appeared in some other programming languages (see also T234690). For instance: (if true then (a := 1) else (a := 2) end); a would be accepted by the liberal checker, even though under lexical scope, `a` would be unbound. However, it is unlikely that lexical scope will be suitable for the filter language, as most filters in Wikimedia projects that have user-defined variable do violate lexical scope. Bug: T260903 Bug: T238709 Bug: T237610 Bug: T234690 Bug: T231536 Change-Id: Ic6d030503e554933f8d220c6f87b680505918ae2
2019-11-20 07:09:41 +00:00
"abusefilter-exception-unknownfunction": "Error message from the abuse filter parser. Parameters:\n* $1 - Position in the string\n* $2 - Name of the unknown function",
"abusefilter-exception-unusedvars": "Error message from the abuse filter parser. Parameters:\n* $1 - (unused)\n* $2 - Names of unused variables",
"abusefilter-parser-warning-match-empty-regex": "Warning message from the abuse filter parser. Parameters:\n* $1 - Position in the string",
"abusefilter-action-tag": "{{doc-abusefilter-action}}\n\nThe edit or change can be 'tagged' with a particular tag, which will be shown on Recent Changes, contributions, logs, new pages, history, and everywhere else. \n\nThis is a verb in the imperative form.\n\n{{Identical|Tag}}",
"abusefilter-action-throttle": "{{doc-abusefilter-action}}",
"abusefilter-action-warn": "{{doc-abusefilter-action}}",
"abusefilter-action-blockautopromote": "{{doc-abusefilter-action}}\n\n'''Revoking auto-promoted groups'''\n\nTo '''block autopromote''' means that actions matching the filter will cause the user in question to be barred from receiving any extra groups from $wgAutoPromote for 5 days. \nAdditional information available: https://www.mediawiki.org/wiki/Extension:AbuseFilter/Actions",
"abusefilter-action-block": "{{doc-abusefilter-action}}\n\nUsers matching the filter will be blocked indefinitely, with a descriptive block summary indicating the rule that was triggered.\n\nThis is a verb.\n{{Identical|Block}}",
"abusefilter-action-degroup": "{{doc-abusefilter-action}}\n\n'''Removing from privileged groups'''\n\nUsers matching the filter will be '''removed from all privileged groups''' (sysop, bureaucrat, etc). A descriptive summary will be used, detailing the rule that was triggered. \nAdditional information: https://www.mediawiki.org/wiki/Extension:AbuseFilter/Actions",
"abusefilter-action-rangeblock": "{{doc-abusefilter-action}}\n\n'''Range-block'''\n\nSomewhat of a 'nuclear option', the entire /16 range from which the rule was triggered will be blocked for 24 hours.\n\nThis is a verb in the imperative form.",
"abusefilter-action-disallow": "{{doc-abusefilter-action}}\n\nTo '''disallow''' actions means that actions matching the filter will be '''prevented''', and a descriptive error message will be shown. Additional information: https://www.mediawiki.org/wiki/Extension:AbuseFilter/Actions\n{{Identical|Disallow}}",
"abusefilter-revert-title": "Used as page title of [[Special:AbuseFilter/revert/1]] (go to [[Special:AbuseFilter]], open a filter, click \"Revert actions taken by this filter\").\n\nParameters:\n* $1 - filter ID",
"abusefilter-revert-intro": "Parameters:\n* $1 - filter",
"abusefilter-revert-preview-item": "Parameters:\n* $1 is a localised time and date\n* $2 is the linked user that made a change\n* $3 is the action (one of block, blockautopromote or degroup)\n* $4 is the page title of the page that was changed\n* $5 is a (localised) comma-separated list of actions\n* $6 is link to the log details with {{msg-mw|abusefilter-log-detailslink}} as link description.\n* $7 is a raw username, which can be used for GENDER.",
"abusefilter-revert-search-legend": "Used as label on [[Special:AbuseFilter/revert]]",
"abusefilter-revert-periodstart": "Used as label on [[Special:AbuseFilter/revert]]",
"abusefilter-revert-periodend": "Used as label on [[Special:AbuseFilter/revert]]",
"abusefilter-revert-search": "Used as label on [[Special:AbuseFilter/revert]]",
"abusefilter-revert-filter": "{{Identical|Filter ID}}",
"abusefilter-revert-preview-no-results": "Shown on [[Special:AbuseFilter/revert]] when the query for filter actions to be reverted returned no results.",
"abusefilter-revert-preview-intro": "Refers to {{msg-mw|Abusefilter-revert-confirm}}.",
"abusefilter-revert-confirm-legend": "Form fieldset for [[Special:AbuseFilter/revert]] asking the user to confirm the revert. Refers to {{msg-mw|Abusefilter-revert-confirm}}.",
"abusefilter-revert-confirm": "This is also used in {{msg-mw|Abusefilter-revert-preview-intro}}. When changing this message, please also remember to change that one.\n{{Identical|Confirm}}",
"abusefilter-revert-success": "Parameters:\n* $1 - a filter ID\n* $2 - localized filter ID",
"abusefilter-revert-reason": "Parameters:\n* $1 is a filter ID\n* $2 is a reason",
"abusefilter-revert-reasonfield": "{{Identical|Reason}}",
"abusefilter-test": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-intro": "Used as intro text.\n\nThe page title is {{msg-mw|Abusefilter-test}}.\n\nRefers to {{msg-mw|Abusefilter-test-load}}.\n\nParameters:\n* $1 - limit of changes; 100 (hard-coded)",
"abusefilter-test-rules-section": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-options-section": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-legend": "Caption of the fieldset on [[Special:AbuseFilter/test]]",
"abusefilter-test-load-filter": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-submit": "Caption of the submit button on [[Special:AbuseFilter/test]].\n{{Identical|Test}}",
"abusefilter-test-load": "Text on a button, and referred to in {{msg-mw|abusefilter-test-intro}}\n{{Identical|Load}}",
"abusefilter-test-user": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-nobots": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-period-start": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-period-end": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-page": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-shownegative": "Used as label on [[Special:AbuseFilter/test]]",
"abusefilter-test-syntaxerr": "Refers to {{msg-mw|Abusefilter-edit-check}}.",
"abusefilter-test-action": "Used as label on [[Special:AbuseFilter/test]]\n{{Identical|Type of action}}",
"abusefilter-test-search-type-all": "Option allowing to show every type of action.",
"abusefilter-test-search-type-edit": "Option allowing to only show edits.",
"abusefilter-test-search-type-move": "Option allowing to only show moves.",
"abusefilter-test-search-type-delete": "Option allowing to only show deletions.",
"abusefilter-test-search-type-upload": "Option allowing to only show uploads.",
"abusefilter-test-search-type-createaccount": "Option allowing to only show account creations.",
"abusefilter-changeslist-examine": "Used as link text on [[Special:AbuseFilter]]",
"abusefilter-examine": "Used as special page label",
"abusefilter-examine-intro": "Used as intro on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-intro-examine-only": "Used as intro on [[Special:AbuseFilter/examine]]. See also {{msg-mw|abusefilter-examine-intro}}",
"abusefilter-examine-legend": "Used as legend on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-submit": "Used as submit button on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-vars": "Used as header on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-test": "Used as header on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-test-button": "Used as button text on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-match": "Used as message on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-nomatch": "Used as message on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-syntaxerror": "Error message shown when the user's input has a syntax error.",
"abusefilter-examine-notfound": "Used as warning on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-incompatible": "Used as error message on [[Special:AbuseFilter/examine]]",
"abusefilter-examine-noresults": "Used as warning on [[Special:AbuseFilter/examine]]",
"abusefilter-topnav": "Used as header for navigation links which have the following link texts:\n* {{msg-mw|Abusefilter-topnav-home}}\n* {{msg-mw|Abusefilter-topnav-test}}\n* {{msg-mw|Abusefilter-topnav-examine}}\n* {{msg-mw|Abusefilter-topnav-log}}\n* {{msg-mw|Abusefilter-topnav-tools}}\n* {{msg-mw|Abusefilter-topnav-import}}",
"abusefilter-topnav-home": "Used as link text. The link points to [[Special:AbuseFilter]].\n{{Identical|Home}}",
"abusefilter-topnav-recentchanges": "Used as link text in the navigation toolbar. The link points to the page that shows recent changes in all the filters. [[Special:AbuseFilter/history]].\nSee {{msg-mw|abusefilter-filter-log}}.",
"abusefilter-topnav-test": "Used as link text in the navigation toolbar.",
"abusefilter-topnav-examine": "Used as link text in the navigation toolbar.\n\nThe link points to [[Special:AbuseFilter/examine]].",
"abusefilter-topnav-log": "Used as link text in the navigation toolbar.\n\nThe link points to [[Special:AbuseFilter/history]].\n{{Identical|Abuse log}}",
"abusefilter-topnav-tools": "Used as link text in the navigation toolbar.",
"abusefilter-log-name": "{{doc-logpage}}",
"abusefilter-log-header": "Used as description on [[Special:Log/abusefilter]]",
"abusefilter-logentry-create": "Parameters:\n* $1 - a link to a user page with a username as link text, followed by a series of related links\n* $2 - raw username, for GENDER support\n* $3 - (unused)\n* $4 - text {{msg-mw|abusefilter-log-detailedentry-local}} linked to the filter created\n* $5 - text {{msg-mw|abusefilter-log-detailslink}} linked to the filter change details\n{{Identical|Created}}",
"abusefilter-logentry-modify": "Parameters:\n* $1 - a link to a user page with a username as link text, followed by a series of related links\n* $2 - raw username, for GENDER support\n* $3 - (unused)\n* $4 - text {{msg-mw|abusefilter-log-detailedentry-local}} linked to the modified filter\n* $5 - text {{msg-mw|abusefilter-log-detailslink}} linked to the filter change details",
"abusefilter-log-invalid-filter": "Warning message shown above search results in the AbuseLog.",
"abusefilter-log-noresults": "{{Identical|No result}}",
"abusefilter-diff-title": "Header for the diff view on [[Special:AbuseFilter/history]]",
"abusefilter-diff-item": "{{Identical|Item}}",
"abusefilter-diff-version": "Message is used in two scenarios.\n* $1 is a timestamp, which links to the old version or the new version.\n* $2 is a link to a username.\n* $3 is a raw username, which can be used for GENDER.",
"abusefilter-diff-info": "Header for the box containing the basic information about a user account, displayed on the 'user profile' tab of the [[Special:Preferences|user preferences]] special page.\n{{Identical|Basic information}}",
"abusefilter-diff-pattern": "Used as table row on diff view under [[Special:AbuseFilter/history]]",
"abusefilter-diff-invalid": "Used as error message on diff view under [[Special:AbuseFilter/history]]",
"abusefilter-diff-backhistory": "Used as label on diff view on [[Special:AbuseFilter/history]]",
"abusefilter-diff-prev": "Link to the diff view for the previous change to this filter.\n\nSee also:\n* {{msg-mw|Abusefilter-diff-next}}\n* {{msg-mw|Previousdiff}} and {{msg-mw|Nextdiff}}",
"abusefilter-diff-next": "Link to the diff view for the next change to this filter.\n\nSee also:\n* {{msg-mw|Abusefilter-diff-prev}}\n* {{msg-mw|Previousdiff}} and {{msg-mw|Nextdiff}}",
"abusefilter-import-intro": "{{doc-important|Do not translate <code><nowiki>{{int:abusefilter-edit-export}}</nowiki></code>, <code><nowiki>{{int:abusefilter-tools-subtitle}}</nowiki></code>, and <code><nowiki>{{int:abusefilter-import-submit}}</nowiki></code> unless you absolute must substitute any of them.}}\n\nRefers to:\n* {{msg-mw|Abusefilter-edit-export}}\n* {{msg-mw|Abusefilter-edit-tools}}\n* {{msg-mw|Abusefilter-import-submit}}",
"abusefilter-import-submit": "Used as label for the Submit button.\n\nPreceded by the textarea.\n\nUsed in:\n* {{msg-mw|Abusefilter-import-intro}}.",
"abusefilter-import-invalid-data": "Error message shown when provided data is invalid.",
"abusefilter-group-default": "The name for the default filter group. Most filters will be in this group.\n{{Identical|Default}}",
"abusefilter-http-error": "Error message for HTTP requests. Parameters:\n* $1 - HTTP response code.",
"abusefilter-view-privatedetails-submit": "Submit button label for viewing private details of an abuse log",
"abusefilter-view-privatedetails-legend": "Legend for abuse filter log entry private details form.",
"abusefilter-view-privatedetails-reason": "Label for the textbox where the user enters the reason they are accessing private log details.",
"abusefilter-log-details-id": "Row label in private log details.",
"abusefilter-invalid-request": "Warning shown when accessing the private details page without submitting the form properly. Parameters:\n* $1 is the ID of the log requested.",
"abusefilter-invalid-request-noid": "Warning shown when accessing the private details page without a log ID parameter.",
"blockedexternaldomains": "Link to the special page that lets users see and edit what domains are blocked.",
"abusefilter-blocked-domains-title": "Title of the special page that lets users see and edit what domains are blocked.",
"abusefilter-blocked-domains-intro": "Basic explanation of the special page",
"abusefilter-blocked-domains-add-heading": "Heading when the user can add a domain to the blocked list",
"abusefilter-blocked-domains-add-explanation": "Explanationwhen the user can add a domain to the blocked list",
"abusefilter-blocked-domains-domain": "Label for domain to be blocked",
"abusefilter-blocked-domains-notes": "Label for notes section",
"abusefilter-blocked-domains-add-submit": "Submit button",
"abusefilter-blocked-domains-domain-header": "Domain header in the table",
"abusefilter-blocked-domains-notes-header": "Notes header in the table",
"abusefilter-blocked-domains-actions-header": "Actions header in the table",
"abusefilter-blocked-domains-addedby-header": "Header for added by username in the table",
"abusefilter-blocked-domains-remove": "Link to remove a domain from blocked list",
"abusefilter-blocked-domains-remove-title": "Title of the special page on removing the domain from blocked list",
"abusefilter-blocked-domains-remove-explanation-initial": "Explanation of the special page on removing the domain from blocked list",
"abusefilter-blocked-domains-remove-reason": "Reason given for removal",
"abusefilter-blocked-domains-remove-submit": "Submit button",
"abusefilter-blocked-domains-attempted": "The error message when adding a blocked domain has been attempted.",
"abusefilter-blocked-domains-json-error": "The error message when editing the JSON page to no longer be an array",
"abusefilter-blocked-domains-invalid-entry": "The error message when adding an invalid entry to the JSON array. Parameters:\n* $1 - the serial number of the entry which is invalid.",
"abusefilter-blocked-domains-domain-added-comment": "Edit summary when a user adds a blocked domain. Parameters\n* $1 - the domain that is blocked \n* $2 - notes and reasoning of the block.",
"abusefilter-blocked-domains-domain-removed-comment": "Edit summary when a user removes a domain from the blocked list. Parameters\n* $1 - the domain that is now removed \n* $2 - notes and reasoning of the removal.",
"log-description-abusefilterprivatedetails": "The description of the abuse filter private details access log.",
"log-description-abusefilterblockeddomainhit": "The description of the log of attempted adding of blocked domains.",
"abusefilter-noreason": "Warning message shown when no reasons is given to access the private details of an abuse log.",
"abusefilter-log-ip-not-available": "Text shown when IP address is not available.\n{{Identical|Not available}}",
"abusefilter-tag-reserved": "Error message displayed on [[Special:Tags]] when a user attempts to manually create a change tag reserved by AbuseFilter.",
"tag-abusefilter-condition-limit": "Change tag for edits that reached the condition limit",
"tag-abusefilter-condition-limit-description": "Description for \"condition limit reached\" change tag",
"notification-header-throttle-filter": "Header text for a notification when an abuse filter was throttled after the user edited it. Parameters:\n* $1 - the username of the viewing user, for use in GENDER\n* $2 - filter ID",
"notification-header-throttle-filter-actions": "Header text for a notification when an abuse filter was throttled after the user edited it and some actions were automatically disabled. Parameters:\n* $1 - the username of the viewing user, for use in GENDER\n* $2 - filter ID\n* $3 - list of actions that were disabled\n* $4 - number of disabled actions, for PLURAL",
"notification-header-throttle-filter-no-actions": "Header text for a notification when an abuse filter was throttled after the user edited it but no actions were automatically disabled. Parameters:\n* $1 - the username of the viewing user, for use in GENDER\n* $2 - filter ID",
"notification-subject-throttle-filter": "Email subject line for email notice when an abuse filter was throttled after the user edited it. Parameters:\n* $1 - the username of the receiving user, for use in GENDER",
"notification-link-text-show-filter": "Label for button that links to the filter that was throttled.",
"right-abusefilter-modify-blocked-external-domains": "{{doc-right|abusefilter-modify-blocked-external-domains}}",
"action-abusefilter-modify-blocked-external-domains": "{{doc-action|abusefilter-modify-blocked-external-domains}}",
"right-abusefilter-bypass-blocked-external-domains": "{{doc-right|abusefilter-bypass-blocked-external-domains}}",
"action-abusefilter-bypass-blocked-external-domains": "{{doc-action|abusefilter-bypass-blocked-external-domains}}",
"abusefilter-blocked-domains-cannot-edit-directly": "Error message shown when someone tries to edit the list of blocked domains directly and bypass the Special page.",
"right-abusefilter-access-protected-vars": "{{doc-right|abusefilter-access-protected-vars}}",
"action-abusefilter-access-protected-vars": "{{doc-action|abusefilter-access-protected-vars}}"
}