summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/AbuseFilter/i18n/en.json
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/AbuseFilter/i18n/en.json')
-rw-r--r--www/wiki/extensions/AbuseFilter/i18n/en.json527
1 files changed, 527 insertions, 0 deletions
diff --git a/www/wiki/extensions/AbuseFilter/i18n/en.json b/www/wiki/extensions/AbuseFilter/i18n/en.json
new file mode 100644
index 00000000..bfc6e400
--- /dev/null
+++ b/www/wiki/extensions/AbuseFilter/i18n/en.json
@@ -0,0 +1,527 @@
+{
+ "@metadata": {
+ "authors": [
+ "Andrew Garrett",
+ "Kunal Mehta"
+ ]
+ },
+ "abusefilter-desc": "Applies automatic heuristics to edits",
+ "abusefilter": "Abuse filter configuration",
+ "abuselog": "Abuse log",
+ "abusefilter-intro": "Welcome to the Abuse Filter management interface.\nThe Abuse Filter is an automated software mechanism of applying automatic heuristics to all actions.\nThis interface shows a list of defined filters, and allows them to be modified.",
+ "abusefilter-mustbeeditor": "For security reasons, only users with the right to modify abuse filters may use this interface.",
+ "abusefilter-warning": "'''Warning:''' This action has been automatically identified as harmful.\nUnconstructive actions will be quickly reverted,\nand egregious or repeated unconstructive editing will result in your account or IP address being blocked.\nIf you believe this action to be constructive, you may submit it again to confirm it.\nA brief description of the abuse rule which your action matched is: $1",
+ "abusefilter-disallowed": "This action has been automatically identified as harmful, and therefore disallowed.\nIf you believe your action was constructive, please inform an administrator of what you were trying to do.\nA brief description of the abuse rule which your action matched is: $1",
+ "abusefilter-blocked-display": "This action has been automatically identified as harmful,\nand you have been prevented from executing it.\nIn addition, to protect {{SITENAME}}, your user account and all associated IP addresses have been blocked from editing.\nIf this has occurred in error, please contact an administrator.\nA brief description of the abuse rule which your action matched is: $1",
+ "abusefilter-degrouped": "This action has been automatically identified as harmful.\nConsequently, it has been disallowed, and, since your account is suspected of being compromised, all rights have been revoked.\nIf you believe this to have been in error, please contact a bureaucrat with an explanation of this action, and your rights may be restored.\nA brief description of the abuse rule which your action matched is: $1",
+ "abusefilter-autopromote-blocked": "This action has been automatically identified as harmful, and it has been disallowed.\nIn addition, as a security measure, some privileges routinely granted to established accounts have been temporarily revoked from your account.\nA brief description of the abuse rule which your action matched is: $1",
+ "abusefilter-blocker": "Abuse filter",
+ "abusefilter-blockreason": "Automatically blocked by abuse filter.\nDescription of matched rule: $1",
+ "abusefilter-degroupreason": "Rights automatically stripped by abuse filter.\nRule description: $1",
+ "abusefilter-accountreserved": "This account name is reserved for use by the abuse filter.",
+ "right-abusefilter-modify": "Modify abuse filters",
+ "right-abusefilter-view": "View abuse filters",
+ "right-abusefilter-log": "View the abuse log",
+ "right-abusefilter-log-detail": "View detailed abuse log entries",
+ "right-abusefilter-private": "View private data in the abuse log",
+ "right-abusefilter-private-log": "View the AbuseFilter private details access log",
+ "right-abusefilter-modify-restricted": "Modify abuse filters with restricted actions",
+ "right-abusefilter-revert": "Revert all changes by a given abuse filter",
+ "right-abusefilter-view-private": "View abuse filters marked as private",
+ "right-abusefilter-log-private": "View log entries of abuse filters marked as private",
+ "right-abusefilter-hide-log": "Hide entries in the abuse log",
+ "right-abusefilter-hidden-log": "View hidden abuse log entries",
+ "right-abusefilter-modify-global": "Create or modify global abuse filters",
+ "action-abusefilter-modify": "modify abuse filters",
+ "action-abusefilter-view": "view abuse filters",
+ "action-abusefilter-log": "view the abuse log",
+ "action-abusefilter-log-detail": "view detailed abuse log entries",
+ "action-abusefilter-private": "view private data in the abuse log",
+ "action-abusefilter-private-log": "view the AbuseFilter private details access log",
+ "action-abusefilter-modify-restricted": "modify abuse filters with restricted actions",
+ "action-abusefilter-revert": "revert all changes by a given abuse filter",
+ "action-abusefilter-view-private": "view abuse filters marked as private",
+ "action-abusefilter-log-private": "view logs of abuse filters marked as private",
+ "abusefilter-log": "Abuse filter log",
+ "abusefilter-log-summary": "This log shows a list of all actions caught by the filters.",
+ "abusefilter-log-search": "Search the abuse log",
+ "abusefilter-log-search-user": "User:",
+ "abusefilter-log-search-filter": "Filter IDs (separate with pipes):",
+ "abusefilter-log-search-title": "Title:",
+ "abusefilter-log-search-wiki": "Wiki:",
+ "abusefilter-log-search-impact": "Impact:",
+ "abusefilter-log-search-impact-all": "All actions",
+ "abusefilter-log-search-impact-saved": "Saved changes only",
+ "abusefilter-log-search-impact-not-saved": "Without saved changes",
+ "abusefilter-log-search-entries-label": "Visibility:",
+ "abusefilter-log-search-entries-all": "All entries",
+ "abusefilter-log-search-entries-hidden": "Hidden entries only",
+ "abusefilter-log-search-entries-visible": "Visible entries only",
+ "abusefilter-log-search-action-taken-label": "Action taken:",
+ "abusefilter-log-search-action-taken-any": "Any",
+ "abusefilter-log-search-submit": "Search",
+ "abusefilter-log-entry": "$1: $2 {{GENDER:$8|triggered}} an abuse filter, {{GENDER:$8|performing}} the action \"$3\" on $4.\nActions taken: $5;\nFilter description: $6",
+ "abusefilter-log-entry-withdiff": "$1: $2 {{GENDER:$8|triggered}} an abuse filter, {{GENDER:$8|performing}} the action \"$3\" on $4.\nActions taken: $5;\nFilter description: $6 ($7)",
+ "abusefilter-log-detailedentry-meta": "$1: $2 {{GENDER:$9|triggered}} $3, {{GENDER:$9|performing}} the action \"$4\" on $5.\nActions taken: $6;\nFilter description: $7 ($8)",
+ "abusefilter-log-detailedentry-global": "global filter $1",
+ "abusefilter-log-detailedentry-local": "filter $1",
+ "abusefilter-log-detailslink": "details",
+ "abusefilter-log-diff": "diff",
+ "abusefilter-log-hidelink": "adjust visibility",
+ "abusefilter-log-details-legend": "Details for log entry $1",
+ "abusefilter-log-details-var": "Variable",
+ "abusefilter-log-details-val": "Value",
+ "abusefilter-log-details-vars": "Action parameters",
+ "abusefilter-log-details-private": "Private log details",
+ "abusefilter-log-details-ip": "Originating IP address",
+ "abusefilter-log-details-checkuser": "Check user",
+ "abusefilter-log-noactions": "none",
+ "abusefilter-log-details-diff": "Changes made in edit",
+ "abusefilter-log-linkoncontribs": "abuse log",
+ "abusefilter-log-linkoncontribs-text": "Abuse log for {{GENDER:$1|this user}}",
+ "abusefilter-log-hidden": "(entry hidden)",
+ "abusefilter-log-hidden-implicit": "(hidden because revision has been deleted)",
+ "abusefilter-log-cannot-see-details": "You do not have permission to see details of this entry.",
+ "abusefilter-log-cannot-see-private-details": "You do not have permission to see private details of this entry.",
+ "abusefilter-log-nonexistent": "An entry with the provided ID does not exist.",
+ "abusefilter-log-details-hidden": "You cannot view the details for this entry because it is hidden from public view.",
+ "abusefilter-log-private-not-included": "One or more of the filter IDs you specified are private. Because you are not allowed to view details of private filters, these filters have not been searched for.",
+ "abusefilter-log-hide-legend": "Hide log entry",
+ "abusefilter-log-hide-id": "Log entry ID:",
+ "abusefilter-log-hide-hidden": "Hide this entry from public view",
+ "abusefilter-log-hide-reason": "Reason:",
+ "abusefilter-log-hide-reason-other": "Other/additional reason:",
+ "abusefilter-log-hide-forbidden": "You do not have permission to hide abuse log entries.",
+ "abusefilter-logentry-suppress": "hid \"[[$1]]\"",
+ "abusefilter-logentry-unsuppress": "unhid \"[[$1]]\"",
+ "logentry-abusefilter-hit": "$1 {{GENDER:$2|triggered}} $4, {{GENDER:$2|performing}} the action \"$5\" on $3. Actions taken: $6 ($7)",
+ "log-action-filter-abusefilter": "Type of filter change:",
+ "log-action-filter-abusefilter-create": "New filter creation",
+ "log-action-filter-abusefilter-modify": "Filter modification",
+ "logentry-abusefilterprivatedetails-access": "$1 {{GENDER:$2|accessed}} private details for $3",
+ "abusefilterprivatedetails-log-name": "AbuseFilter private details access log",
+ "abusefilter-management": "Abuse filter management",
+ "abusefilter-list": "All filters",
+ "abusefilter-list-id": "Filter ID",
+ "abusefilter-list-pattern": "Pattern",
+ "abusefilter-list-status": "Status",
+ "abusefilter-list-public": "Public description",
+ "abusefilter-list-consequences": "Consequences",
+ "abusefilter-list-visibility": "Visibility",
+ "abusefilter-list-hitcount": "Hit count",
+ "abusefilter-list-edit": "Edit",
+ "abusefilter-list-details": "Details",
+ "abusefilter-list-limit": "Number per page:",
+ "abusefilter-list-lastmodified": "Last modified",
+ "abusefilter-list-group": "Filter group",
+ "abusefilter-hidden": "Private",
+ "abusefilter-unhidden": "Public",
+ "abusefilter-enabled": "Enabled",
+ "abusefilter-deleted": "Deleted",
+ "abusefilter-disabled": "Disabled",
+ "abusefilter-hitcount": "$1 {{PLURAL:$1|hit|hits}}",
+ "abusefilter-new": "Create a new filter",
+ "abusefilter-return": "Return to filter management",
+ "abusefilter-status-global": "Global",
+ "abusefilter-list-options": "Options",
+ "abusefilter-list-options-deleted": "Deleted filters:",
+ "abusefilter-list-options-deleted-only": "Show only deleted filters",
+ "abusefilter-list-options-deleted-hide": "Hide deleted filters",
+ "abusefilter-list-options-deleted-show": "Include deleted filters",
+ "abusefilter-list-options-scope": "Show filters:",
+ "abusefilter-list-options-scope-local": "Local rules only",
+ "abusefilter-list-options-scope-global": "Global rules only",
+ "abusefilter-list-options-scope-all": "Local and global rules",
+ "abusefilter-list-options-disabled": "Disabled filters:",
+ "abusefilter-list-options-hidedisabled": "Hide disabled filters",
+ "abusefilter-list-options-searchfield": "Search within rules:",
+ "abusefilter-list-options-searchpattern": "Insert a pattern",
+ "abusefilter-list-options-searchoptions": "Search mode:",
+ "abusefilter-list-options-search-like": "Plain query",
+ "abusefilter-list-options-search-rlike": "Regular expression",
+ "abusefilter-list-options-search-irlike": "Case-insensitive regular expression",
+ "abusefilter-list-regexerror": "An error has occurred while searching: Regular expression syntax error.",
+ "abusefilter-list-options-submit": "Update",
+ "abusefilter-tools-text": "Here are some tools which may be useful in formulating and debugging abuse filters.",
+ "abusefilter-tools-expr": "Expression tester",
+ "abusefilter-tools-submitexpr": "Evaluate",
+ "abusefilter-tools-reautoconfirm": "Restore autoconfirmed status",
+ "abusefilter-tools-reautoconfirm-user": "User:",
+ "abusefilter-tools-reautoconfirm-submit": "Re-autoconfirm",
+ "abusefilter-reautoconfirm-none": "That user has not had {{GENDER:$1|his|her|their}} autoconfirmed status suspended.",
+ "abusefilter-reautoconfirm-notallowed": "You are not allowed to restore autoconfirmed status.",
+ "abusefilter-reautoconfirm-done": "Account's autoconfirmed status has been restored",
+ "abusefilter-status": "Of the last $1 {{PLURAL:$1|action|actions}}, $2 ($3%) {{PLURAL:$2|has|have}} reached the condition limit of $4, and $5 ($6%) {{PLURAL:$5|has|have}} matched one of the filters currently enabled.",
+ "abusefilter-edit": "Editing abuse filter",
+ "abusefilter-edit-subtitle": "Editing filter $1",
+ "abusefilter-edit-subtitle-new": "Creating filter",
+ "abusefilter-edit-oldwarning": "<strong>You are editing an old version of this filter.\nThe statistics quoted are for the most recent version of the filter.\nIf you save your changes, you will overwrite all changes since the revision you are editing.</strong> &bull;\n[[Special:AbuseFilter/history/$2|Return to this filter's history]].",
+ "abusefilter-edit-status-label": "Statistics:",
+ "abusefilter-edit-status": "Of the last $1 {{PLURAL:$1|action|actions}}, this filter has matched $2 ($3%).",
+ "abusefilter-edit-status-profile": "Of the last $1 {{PLURAL:$1|action|actions}}, this filter has matched $2 ($3%).\nOn average, its run time is $4 ms, and it consumes $5 {{PLURAL:$5|condition|conditions}} of the condition limit.",
+ "abusefilter-edit-throttled-warning": "'''Warning:''' This filter was automatically flagged as harmful. As a safety measure, the following actions will not execute ($1). Please review and [[mw:Extension:AbuseFilter/Conditions|optimize]] your conditions to remove this restriction",
+ "abusefilter-edit-new": "New filter",
+ "abusefilter-edit-save": "Save filter",
+ "abusefilter-edit-id": "Filter ID:",
+ "abusefilter-edit-switch-editor": "Switch editor",
+ "abusefilter-edit-description": "Description:\n:''(publicly viewable)''",
+ "abusefilter-edit-field-description": "description",
+ "abusefilter-edit-group": "Filter group:",
+ "abusefilter-edit-flags": "Flags:",
+ "abusefilter-edit-enabled": "Enable this filter",
+ "abusefilter-edit-deleted": "Mark as deleted",
+ "abusefilter-edit-hidden": "Hide details of this filter from public view",
+ "abusefilter-edit-global": "Global filter",
+ "abusefilter-edit-rules": "Conditions:",
+ "abusefilter-edit-field-conditions": "conditions",
+ "abusefilter-edit-notes": "Notes:",
+ "abusefilter-edit-lastmod": "Filter last modified:",
+ "abusefilter-edit-lastmod-text": "$1 by $2",
+ "abusefilter-edit-hitcount": "Filter hits:",
+ "abusefilter-edit-consequences": "Actions to take when matched",
+ "abusefilter-edit-action-warn": "Trigger these actions after giving the user a warning",
+ "abusefilter-edit-action-disallow": "Prevent the user from performing the action in question",
+ "abusefilter-edit-action-blockautopromote": "Revoke the user's autoconfirmed status",
+ "abusefilter-edit-action-degroup": "Remove the user from all privileged groups",
+ "abusefilter-edit-action-block": "Block the user and/or IP address from editing",
+ "abusefilter-edit-action-blocktalk": "Block the user and/or IP address from editing their own talk page",
+ "abusefilter-edit-action-throttle": "Trigger actions only if the user trips a rate limit",
+ "abusefilter-edit-action-rangeblock": "Block the respective IP range from which the user originates",
+ "abusefilter-edit-action-tag": "Tag the edit for further review",
+ "abusefilter-edit-throttle-count": "Number of actions to allow:",
+ "abusefilter-edit-throttle-period": "Period of time:",
+ "abusefilter-edit-throttle-seconds": "$1 {{PLURAL:$1|second|seconds}}",
+ "abusefilter-edit-throttle-groups": "Group throttle by:\n:''(one per line, combine with commas)''",
+ "abusefilter-edit-warn-message": "System message to use for warning:",
+ "abusefilter-edit-warn-other": "Other message",
+ "abusefilter-edit-warn-other-label": "Page name of other message:\n:''(without MediaWiki prefix)''",
+ "abusefilter-edit-warn-actions": "Actions:",
+ "abusefilter-edit-warn-preview": "Preview selected message",
+ "abusefilter-edit-warn-edit": "Create/Edit selected message",
+ "abusefilter-edit-tag-tag": "[[Special:Tags|Tags]] to apply (one per line):",
+ "abusefilter-edit-block-anon-durations": "Block duration for anonymous users:",
+ "abusefilter-edit-block-user-durations": "Block duration for registered users:",
+ "abusefilter-block-anon": "anonymous users",
+ "abusefilter-block-user": "registered users",
+ "abusefilter-edit-denied": "You may not view details of this filter, because it is hidden from public view.",
+ "abusefilter-edit-main": "Filter parameters",
+ "abusefilter-edit-done-subtitle": "Filter edited",
+ "abusefilter-edit-done": "[[Special:AbuseFilter/history/$1/diff/prev/$2|Your changes]] to [[Special:AbuseFilter/$1|filter $3]] have been saved.",
+ "abusefilter-edit-badsyntax": "There is a syntax error in the filter you specified.\nThe output from the parser was: <pre>$1</pre>",
+ "abusefilter-edit-missingfields": "The following fields are required and must be filled: $1",
+ "abusefilter-edit-restricted": "You cannot edit this filter, because it contains one or more restricted actions.\nPlease ask a user with permission to add restricted actions to make the change for you.",
+ "abusefilter-edit-viewhistory": "View this filter's history",
+ "abusefilter-edit-history": "History:",
+ "abusefilter-edit-check": "Check syntax",
+ "abusefilter-edit-badfilter": "The filter you specified does not exist",
+ "abusefilter-edit-revert": "Revert actions taken by this filter",
+ "abusefilter-edit-tools": "Tools:",
+ "abusefilter-edit-test-link": "Test this filter against recent edits",
+ "abusefilter-edit-export": "Export this filter to another wiki",
+ "abusefilter-edit-syntaxok": "No syntax errors detected.",
+ "abusefilter-edit-syntaxerr": "Syntax error detected: $1",
+ "abusefilter-edit-bad-tags": "One or more of the tags you specified is not valid.\nTags should be short, they must not contain special characters, and they must not be reserved by other software. Try choosing a new tag name.",
+ "abusefilter-edit-notallowed": "You are not permitted to create or edit abuse filters",
+ "abusefilter-edit-notallowed-global": "You are not permitted to create or edit global abuse filters",
+ "abusefilter-edit-notallowed-global-custom-msg": "Custom warning messages are not supported for global filters",
+ "abusefilter-edit-builder-select": "Select an option to add it at the cursor",
+ "abusefilter-edit-builder-group-op-arithmetic": "Arithmetic operators",
+ "abusefilter-edit-builder-op-arithmetic-addition": "Addition (+)",
+ "abusefilter-edit-builder-op-arithmetic-subtraction": "Subtraction (-)",
+ "abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplication (*)",
+ "abusefilter-edit-builder-op-arithmetic-divide": "Division (/)",
+ "abusefilter-edit-builder-op-arithmetic-modulo": "Modulo (%)",
+ "abusefilter-edit-builder-op-arithmetic-pow": "Power (**)",
+ "abusefilter-edit-builder-group-op-comparison": "Comparison operators",
+ "abusefilter-edit-builder-op-comparison-equal": "Value equal to (==)",
+ "abusefilter-edit-builder-op-comparison-equal-strict": "Value and type equal to (===)",
+ "abusefilter-edit-builder-op-comparison-notequal": "Value not equal to (!=)",
+ "abusefilter-edit-builder-op-comparison-notequal-strict": "Value and type not equal to (!==)",
+ "abusefilter-edit-builder-op-comparison-lt": "Less than (<)",
+ "abusefilter-edit-builder-op-comparison-gt": "Greater than (>)",
+ "abusefilter-edit-builder-op-comparison-lte": "Less than or equal to (<=)",
+ "abusefilter-edit-builder-op-comparison-gte": "Greater than or equal to (>=)",
+ "abusefilter-edit-builder-group-op-bool": "Boolean operators",
+ "abusefilter-edit-builder-op-bool-not": "Not (!)",
+ "abusefilter-edit-builder-op-bool-and": "And (&)",
+ "abusefilter-edit-builder-op-bool-or": "Or (|)",
+ "abusefilter-edit-builder-op-bool-xor": "XOR (^)",
+ "abusefilter-edit-builder-group-misc": "Miscellaneous",
+ "abusefilter-edit-builder-misc-in": "contained in string (in)",
+ "abusefilter-edit-builder-misc-like": "Matches pattern (like)",
+ "abusefilter-edit-builder-misc-rlike": "Matches regex (rlike)",
+ "abusefilter-edit-builder-misc-irlike": "Matches regex, case insensitive (irlike)",
+ "abusefilter-edit-builder-misc-contains": "Left string contains right string (contains)",
+ "abusefilter-edit-builder-misc-stringlit": "String literal (\"\")",
+ "abusefilter-edit-builder-misc-tern": "Ternary operator (X ? Y : Z)",
+ "abusefilter-edit-builder-misc-cond": "Conditional (if X then Y else Z)",
+ "abusefilter-edit-builder-group-funcs": "Functions",
+ "abusefilter-edit-builder-funcs-length": "String length (length)",
+ "abusefilter-edit-builder-funcs-lcase": "To lower case (lcase)",
+ "abusefilter-edit-builder-funcs-ucase": "To upper case (ucase)",
+ "abusefilter-edit-builder-funcs-ccnorm": "Normalize confusable characters (ccnorm)",
+ "abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normalize and search a string for multiple substrings in OR mode (ccnorm_contains_any)",
+ "abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normalize and search a string for multiple substrings in AND mode (ccnorm_contains_all)",
+ "abusefilter-edit-builder-funcs-rmdoubles": "Remove double-characters (rmdoubles)",
+ "abusefilter-edit-builder-funcs-specialratio": "Special characters / total characters (specialratio)",
+ "abusefilter-edit-builder-funcs-norm": "Normalize (norm)",
+ "abusefilter-edit-builder-funcs-count": "Number of times string X appears in string Y (count)",
+ "abusefilter-edit-builder-funcs-rcount": "Number of times regex X appears in string Y (rcount)",
+ "abusefilter-edit-builder-funcs-get_matches": "Array of regex matches within a text for each capturing group (get_matches)",
+ "abusefilter-edit-builder-funcs-rmwhitespace": "Remove whitespace (rmwhitespace)",
+ "abusefilter-edit-builder-funcs-rmspecials": "Remove special characters (rmspecials)",
+ "abusefilter-edit-builder-funcs-ip_in_range": "Is IP in range? (ip_in_range)",
+ "abusefilter-edit-builder-funcs-contains-any": "Search string for multiple substrings in OR mode. (contains_any)",
+ "abusefilter-edit-builder-funcs-contains-all": "Search string for multiple substrings in AND mode. (contains_all)",
+ "abusefilter-edit-builder-funcs-substr": "Substring (substr)",
+ "abusefilter-edit-builder-funcs-strpos": "Position of substring in string (strpos)",
+ "abusefilter-edit-builder-funcs-str_replace": "Replace substring with string (str_replace)",
+ "abusefilter-edit-builder-funcs-rescape": "Escape string as literal in regex (rescape)",
+ "abusefilter-edit-builder-funcs-set_var": "Set variable (set_var)",
+ "abusefilter-edit-builder-group-vars": "Variables",
+ "abusefilter-edit-builder-vars-accountname": "Account name (on account creation)",
+ "abusefilter-edit-builder-vars-timestamp": "Unix timestamp of change",
+ "abusefilter-edit-builder-vars-timestamp-expanded": "Timestamp of the log",
+ "abusefilter-edit-builder-vars-action": "Action",
+ "abusefilter-edit-builder-vars-addedlines": "Lines added in edit",
+ "abusefilter-edit-builder-vars-delta": "Size change in edit",
+ "abusefilter-edit-builder-vars-diff": "Unified diff of changes made by edit",
+ "abusefilter-edit-builder-vars-newsize": "New page size",
+ "abusefilter-edit-builder-vars-oldsize": "Old page size",
+ "abusefilter-edit-builder-vars-old-content-model": "Old content model",
+ "abusefilter-edit-builder-vars-new-content-model": "New content model",
+ "abusefilter-edit-builder-vars-removedlines": "Lines removed in edit",
+ "abusefilter-edit-builder-vars-summary": "Edit summary/reason",
+ "abusefilter-edit-builder-vars-article-id": "Page ID",
+ "abusefilter-edit-builder-vars-article-ns": "Page namespace",
+ "abusefilter-edit-builder-vars-article-text": "Page title (without namespace)",
+ "abusefilter-edit-builder-vars-article-prefixedtext": "Full page title",
+ "abusefilter-edit-builder-vars-article-views": "Page views",
+ "abusefilter-edit-builder-vars-movedfrom-id": "Page ID of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-ns": "Namespace of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-text": "Title of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-prefixedtext": "Full title of move source page",
+ "abusefilter-edit-builder-vars-movedto-id": "Page ID of move destination page",
+ "abusefilter-edit-builder-vars-movedto-ns": "Namespace of move destination page",
+ "abusefilter-edit-builder-vars-movedto-text": "Title of move destination page",
+ "abusefilter-edit-builder-vars-movedto-prefixedtext": "Full title of move destination page",
+ "abusefilter-edit-builder-vars-user-editcount": "Edit count of the user",
+ "abusefilter-edit-builder-vars-user-age": "Age of the user account",
+ "abusefilter-edit-builder-vars-user-name": "Name of the user account",
+ "abusefilter-edit-builder-vars-user-groups": "Groups (including implicit) the user is in",
+ "abusefilter-edit-builder-vars-user-rights": "Rights that the user has",
+ "abusefilter-edit-builder-vars-user-blocked": "Whether the user is blocked",
+ "abusefilter-edit-builder-vars-user-emailconfirm": "Time email address was confirmed",
+ "abusefilter-edit-builder-vars-recent-contributors": "Last ten users to contribute to the page",
+ "abusefilter-edit-builder-vars-first-contributor": "First user to contribute to the page",
+ "abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Last ten users to contribute to move source page",
+ "abusefilter-edit-builder-vars-movedfrom-first-contributor": "First user to contribute to move source page",
+ "abusefilter-edit-builder-vars-movedto-recent-contributors": "Last ten users to contribute to move destination page",
+ "abusefilter-edit-builder-vars-movedto-first-contributor": "First user to contribute to move destination page",
+ "abusefilter-edit-builder-vars-all-links": "All external links in the new text",
+ "abusefilter-edit-builder-vars-added-links": "All external links added in the edit",
+ "abusefilter-edit-builder-vars-removed-links": "All external links removed in the edit",
+ "abusefilter-edit-builder-vars-old-text": "Old page wikitext, before the edit",
+ "abusefilter-edit-builder-vars-new-text": "New page wikitext, after the edit",
+ "abusefilter-edit-builder-vars-new-pst": "New page wikitext, pre-save transformed",
+ "abusefilter-edit-builder-vars-diff-pst": "Unified diff of changes made by edit, pre-save transformed",
+ "abusefilter-edit-builder-vars-addedlines-pst": "Lines added in edit, pre-save transformed",
+ "abusefilter-edit-builder-vars-new-text-stripped": "New page text, stripped of any markup",
+ "abusefilter-edit-builder-vars-new-html": "Parsed HTML source of the new revision",
+ "abusefilter-edit-builder-vars-restrictions-edit": "Edit protection level of the page",
+ "abusefilter-edit-builder-vars-restrictions-move": "Move protection level of the page",
+ "abusefilter-edit-builder-vars-restrictions-create": "Create protection of the page",
+ "abusefilter-edit-builder-vars-restrictions-upload": "Upload protection of the file",
+ "abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Edit protection level of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Move protection level of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Create protection of move source page",
+ "abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Upload protection of move source file",
+ "abusefilter-edit-builder-vars-movedto-restrictions-edit": "Edit protection level of move destination page",
+ "abusefilter-edit-builder-vars-movedto-restrictions-move": "Move protection level of move destination page",
+ "abusefilter-edit-builder-vars-movedto-restrictions-create": "Create protection of move destination page",
+ "abusefilter-edit-builder-vars-movedto-restrictions-upload": "Upload protection of move destination file",
+ "abusefilter-edit-builder-vars-old-text-stripped": "Old page text, stripped of any markup",
+ "abusefilter-edit-builder-vars-old-links": "Links in the page, before the edit",
+ "abusefilter-edit-builder-vars-old-html": "Old page wikitext, parsed into HTML",
+ "abusefilter-edit-builder-vars-minor-edit": "Whether or not the edit is marked as minor",
+ "abusefilter-edit-builder-vars-file-sha1": "SHA1 hash of file contents",
+ "abusefilter-edit-builder-vars-file-size": "Size of the file in bytes",
+ "abusefilter-edit-builder-vars-file-mime": "MIME type of the file",
+ "abusefilter-edit-builder-vars-file-mediatype": "Media type of the file",
+ "abusefilter-edit-builder-vars-file-width": "Width of the file in pixels",
+ "abusefilter-edit-builder-vars-file-height": "Height of the file in pixels",
+ "abusefilter-edit-builder-vars-file-bits-per-channel": "Bits per color channel of the file",
+ "abusefilter-edit-block-options": "Block options:",
+ "abusefilter-filter-log": "Recent filter changes",
+ "abusefilter-history": "Change history for Abuse Filter #$1",
+ "abusefilter-history-foruser": "Changes by $1",
+ "abusefilter-history-hidden": "Hidden",
+ "abusefilter-history-enabled": "Enabled",
+ "abusefilter-history-global": "Global",
+ "abusefilter-history-timestamp": "Time",
+ "abusefilter-history-user": "User",
+ "abusefilter-history-public": "Public filter description",
+ "abusefilter-history-flags": "Flags",
+ "abusefilter-history-filter": "Filter rule",
+ "abusefilter-history-comments": "Comments",
+ "abusefilter-history-actions": "Actions",
+ "abusefilter-history-backedit": "Back to filter editor",
+ "abusefilter-history-deleted": "Deleted",
+ "abusefilter-history-filterid": "Filter",
+ "abusefilter-history-select-legend": "Refine search",
+ "abusefilter-history-select-user": "User:",
+ "abusefilter-history-select-filter": "Filter ID:",
+ "abusefilter-history-select-submit": "Refine",
+ "abusefilter-history-diff": "Changes",
+ "abusefilter-history-error-hidden": "The filter you requested is hidden, and you cannot view its history.",
+ "abusefilter-exception-unexpectedatend": "Unexpected \"$2\" at character $1.",
+ "abusefilter-exception-expectednotfound": "Expected a $2 at character $1, not found (found $3 $4 instead).",
+ "abusefilter-exception-unrecognisedkeyword": "Unrecognized keyword $2 at character $1.",
+ "abusefilter-exception-unexpectedtoken": "Unexpected token \"$3\" (of type $2) at character $1.",
+ "abusefilter-exception-unclosedstring": "Unclosed string starting at character $1.",
+ "abusefilter-exception-invalidoperator": "Invalid operator \"$2\" at character $1.",
+ "abusefilter-exception-unrecognisedtoken": "Unrecognized token \"$2\" at character $1.",
+ "abusefilter-exception-noparams": "No parameters given to function \"$2\" at character $1.",
+ "abusefilter-exception-dividebyzero": "Illegal attempt to divide $2 by zero at character $1.",
+ "abusefilter-exception-unrecognisedvar": "Unrecognized variable $2 at character $1.",
+ "abusefilter-exception-notenoughargs": "Not enough arguments to function $2 called at character $1.\nExpected $3 {{PLURAL:$3|argument|arguments}}, got $4",
+ "abusefilter-exception-regexfailure": "Error in regular expression \"$3\" at character $1: \"$2\"",
+ "abusefilter-exception-overridebuiltin": "Illegal overriding of built-in variable \"$2\" at character $1.",
+ "abusefilter-exception-outofbounds": "Requesting non-existent list item $2 (list size = $3) at character $1.",
+ "abusefilter-exception-notlist": "Requesting array item of non-array at character $1.",
+ "abusefilter-exception-unclosedcomment": "Unclosed comment at character $1.",
+ "abusefilter-action-tag": "Tag",
+ "abusefilter-action-throttle": "Throttle",
+ "abusefilter-action-warn": "Warn",
+ "abusefilter-action-blockautopromote": "Block autopromote",
+ "abusefilter-action-block": "Block",
+ "abusefilter-action-degroup": "Remove from groups",
+ "abusefilter-action-rangeblock": "Range-block",
+ "abusefilter-action-disallow": "Disallow",
+ "abusefilter-revert-title": "Revert all changes by filter $1",
+ "abusefilter-revert-intro": "This form allows you to revert all changes made by the abuse filter due to filter $1.\nPlease exercise care in using this tool.",
+ "abusefilter-revert-preview-item": "$1: $2 {{GENDER:$7|made}} a $3 on $4.\nActions to be reverted: $5 ($6)",
+ "abusefilter-revert-search-legend": "Select abuse filter actions to be reverted",
+ "abusefilter-revert-periodstart": "Period start:",
+ "abusefilter-revert-periodend": "Period end:",
+ "abusefilter-revert-search": "Select actions",
+ "abusefilter-revert-filter": "Filter ID:",
+ "abusefilter-revert-preview-intro": "Below are the actions taken by the abuse filter that will be reverted by this action.\nPlease check them carefully, and click \"{{int:abusefilter-revert-confirm}}\" to confirm your selection.",
+ "abusefilter-revert-confirm-legend": "Confirm the revert",
+ "abusefilter-revert-confirm": "Confirm",
+ "abusefilter-revert-success": "You have reverted all actions taken by the abuse filter due to [[Special:AbuseFilter/$1|filter $2]].",
+ "abusefilter-revert-reason": "Automatic revert of all actions taken by the abuse filter due to filter $1.\nReason given: $2",
+ "abusefilter-revert-reasonfield": "Reason:",
+ "abusefilter-test": "Test a filter against previous edits",
+ "abusefilter-test-intro": "This page allows you to check a filter entered in the box below against the last $1 {{PLURAL:$1|change|changes}}.\nTo load an existing filter, type its filter ID into the box below the edit textbox, and click the \"{{int:abusefilter-test-load}}\" button.",
+ "abusefilter-test-legend": "Filter testing",
+ "abusefilter-test-load-filter": "Load filter ID:",
+ "abusefilter-test-submit": "Test",
+ "abusefilter-test-load": "Load",
+ "abusefilter-test-user": "Changes by user:",
+ "abusefilter-test-period-start": "Changes made after:",
+ "abusefilter-test-period-end": "Changes made before:",
+ "abusefilter-test-page": "Changes made to page:",
+ "abusefilter-test-shownegative": "Show changes that do not match the filter",
+ "abusefilter-test-syntaxerr": "The filter you entered contained a syntax error.\nYou can receive a full explanation by clicking the \"{{int:abusefilter-edit-check}}\" button.",
+ "abusefilter-test-badtitle": "The page title you entered was invalid. It may contain one or more characters that cannot be used in titles.",
+ "abusefilter-changeslist-examine": "examine",
+ "abusefilter-examine": "Examine individual changes",
+ "abusefilter-examine-intro": "This page allows you to examine the variables generated by the Abuse Filter for an individual change, and test it against filters.",
+ "abusefilter-examine-legend": "Select changes",
+ "abusefilter-examine-diff": "Diff URL:",
+ "abusefilter-examine-user": "User:",
+ "abusefilter-examine-title": "Page title:",
+ "abusefilter-examine-submit": "Search",
+ "abusefilter-examine-vars": "Variables generated for this change",
+ "abusefilter-examine-test": "Test this change against a filter",
+ "abusefilter-examine-test-button": "Test filter",
+ "abusefilter-examine-match": "The filter matched this change.",
+ "abusefilter-examine-nomatch": "The filter did not match this change.",
+ "abusefilter-examine-syntaxerror": "The filter has invalid syntax",
+ "abusefilter-examine-notfound": "The change you requested could not be found.",
+ "abusefilter-examine-incompatible": "The change you requested is not supported by the Abuse Filter",
+ "abusefilter-examine-noresults": "No results were found for the search parameters you provided.",
+ "abusefilter-topnav": "'''Abuse Filter navigation'''",
+ "abusefilter-topnav-home": "Home",
+ "abusefilter-topnav-test": "Batch testing",
+ "abusefilter-topnav-examine": "Examine past edits",
+ "abusefilter-topnav-log": "Abuse log",
+ "abusefilter-topnav-tools": "Debugging tools",
+ "abusefilter-topnav-import": "Import filter",
+ "abusefilter-log-name": "Abuse filter log",
+ "abusefilter-log-header": "This log shows a summary of changes made to filters.\nFor full details, see [[Special:AbuseFilter/history|the list]] of recent filter changes.",
+ "abusefilter-logentry-create": "$1 {{GENDER:$2|created}} $4 ($5)",
+ "abusefilter-logentry-modify": "$1 {{GENDER:$2|modified}} $4 ($5)",
+ "abusefilter-log-noresults": "No results",
+ "abusefilter-diff-title": "Differences between versions",
+ "abusefilter-diff-item": "Item",
+ "abusefilter-diff-version": "Version from $1 {{GENDER:$3|by}} $2",
+ "abusefilter-diff-info": "Basic information",
+ "abusefilter-diff-pattern": "Filter conditions",
+ "abusefilter-diff-invalid": "Unable to fetch the requested versions",
+ "abusefilter-diff-backhistory": "Back to filter history",
+ "abusefilter-diff-prev": "Older change",
+ "abusefilter-diff-next": "Newer change",
+ "abusefilter-import-intro": "You can use this interface to import filters from other wikis.\nOn the source wiki, click \"{{int:abusefilter-edit-export}}\" under \"{{int:abusefilter-edit-tools}}\" on the editing interface.\nCopy from the textbox that appears, and paste it into this textbox, then click \"{{int:abusefilter-import-submit}}\".",
+ "abusefilter-import-submit": "Import data",
+ "abusefilter-group-default": "Default",
+ "abusefilter-http-error": "An HTTP error occurred: $1.",
+ "abusefilter-view-private-submit": "View private details",
+ "abusefilter-view-private": "View private details",
+ "abusefilter-view-private-reason": "Reason for accessing private details:",
+ "abusefilter-log-details-id": "Log ID",
+ "abusefilter-invalid-request": "Invalid request! You must access private log details through the form on [[Special:AbuseLog/$1]] and provide a reason.",
+ "abusefilter-invalid-request-noid": "Invalid request! You must access private log details through the form on the abuse log details page and provide a reason.",
+ "log-description-abusefilterprivatedetails": "This log shows a list of times when a user accessed the private details of an abuse log.",
+ "abusefilter-noreason": "Warning: To see the private details of this log, you must provide a reason.",
+ "abusefilter-log-ip-not-available": "Not Available",
+ "tag-abusefilter-condition-limit": "condition limit reached",
+ "tag-abusefilter-condition-limit-description": "Edits or other events that couldn't be checked by all active [[Special:AbuseFilter|abuse filters]] ([[mw:Extension:AbuseFilter/Conditions|help]]).",
+ "apihelp-abusefiltercheckmatch-description": "Check to see if an AbuseFilter matches a set of variables, editor logged AbuseFilter event.\n\nvars, rcid or logid is required however only one may be used.",
+ "apihelp-abusefiltercheckmatch-summary": "Check to see if an AbuseFilter matches a set of variables, editor logged AbuseFilter event.",
+ "apihelp-abusefiltercheckmatch-extended-description": "vars, rcid or logid is required however only one may be used.",
+ "apihelp-abusefiltercheckmatch-param-filter": "The full filter text to check for a match.",
+ "apihelp-abusefiltercheckmatch-param-vars": "JSON encoded array of variables to test against.",
+ "apihelp-abusefiltercheckmatch-param-rcid": "Recent change ID to check against.",
+ "apihelp-abusefiltercheckmatch-param-logid": "Abuse filter log ID to check against.",
+ "apihelp-abusefiltercheckmatch-example-1": "Test if recent change ID 15 matches a simple filter",
+ "apihelp-abusefilterchecksyntax-description": "Check syntax of an AbuseFilter filter.",
+ "apihelp-abusefilterchecksyntax-summary": "Check syntax of an AbuseFilter filter.",
+ "apihelp-abusefilterchecksyntax-param-filter": "The full filter text to check syntax on.",
+ "apihelp-abusefilterchecksyntax-example-1": "Check syntax of a valid filter",
+ "apihelp-abusefilterchecksyntax-example-2": "Check syntax of an invalid filter",
+ "apihelp-abusefilterevalexpression-description": "Evaluates an AbuseFilter expression.",
+ "apihelp-abusefilterevalexpression-summary": "Evaluates an AbuseFilter expression.",
+ "apihelp-abusefilterevalexpression-param-expression": "The expression to evaluate.",
+ "apihelp-abusefilterevalexpression-example-1": "Evaluate a simple expression",
+ "apihelp-abusefilterunblockautopromote-description": "Unblocks a user from receiving autopromotions due to an abusefilter consequence.",
+ "apihelp-abusefilterunblockautopromote-summary": "Unblocks a user from receiving autopromotions due to an abusefilter consequence.",
+ "apihelp-abusefilterunblockautopromote-param-user": "Username of the user you want to unblock.",
+ "apihelp-abusefilterunblockautopromote-example-1": "Remove the block on [[User:Example]]'s autopromotion",
+ "apihelp-query+abusefilters-description": "Show details of the abuse filters.",
+ "apihelp-query+abusefilters-summary": "Show details of the abuse filters.",
+ "apihelp-query+abusefilters-param-startid": "The filter ID to start enumerating from.",
+ "apihelp-query+abusefilters-param-endid": "The filter ID to stop enumerating at.",
+ "apihelp-query+abusefilters-param-show": "Show only filters which meet these criteria.",
+ "apihelp-query+abusefilters-param-limit": "The maximum number of filters to list.",
+ "apihelp-query+abusefilters-param-prop": "Which properties to get.",
+ "apihelp-query+abusefilters-example-1": "List enabled public filters",
+ "apihelp-query+abusefilters-example-2": "Show some details about filters",
+ "apihelp-query+abuselog-description": "Show events that were caught by one of the abuse filters.",
+ "apihelp-query+abuselog-summary": "Show events that were caught by one of the abuse filters.",
+ "apihelp-query+abuselog-param-start": "The timestamp to start enumerating from.",
+ "apihelp-query+abuselog-param-end": "The timestamp to stop enumerating at.",
+ "apihelp-query+abuselog-param-user": "Show only entries done by a given user or IP address.",
+ "apihelp-query+abuselog-param-title": "Show only entries occurring on a given page.",
+ "apihelp-query+abuselog-param-filter": "Show only entries that were caught by a given filter ID.",
+ "apihelp-query+abuselog-param-limit": "The maximum amount of entries to list.",
+ "apihelp-query+abuselog-param-prop": "Which properties to get.",
+ "apihelp-query+abuselog-param-wiki": "Wiki to show hits from.",
+ "apihelp-query+abuselog-example-1": "Show recent log entries",
+ "apihelp-query+abuselog-example-2": "Show recent log entries for [[API]]",
+ "apierror-abusefilter-canttest": "You don't have permission to test abuse filters.",
+ "apierror-abusefilter-cantcheck": "You don't have permission to check syntax of abuse filters.",
+ "apierror-abusefilter-nosuchlogid": "There is no abuselog entry with the id $1.",
+ "apierror-abusefilter-badsyntax": "The filter has invalid syntax."
+}