Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/sql/ArticleFeedbackv5.sql |
— | — | @@ -54,6 +54,7 @@ |
55 | 55 | af_is_unhidden boolean NOT NULL DEFAULT FALSE, |
56 | 56 | af_is_undeleted boolean NOT NULL DEFAULT FALSE, |
57 | 57 | af_is_declined boolean NOT NULL DEFAULT FALSE, |
| 58 | + af_is_unrequested boolean NOT NULL DEFAULT FALSE, |
58 | 59 | -- keep track of "this has a comment" for filtering purposes (avoids a join) |
59 | 60 | af_has_comment boolean NOT NULL DEFAULT FALSE, |
60 | 61 | -- Keep track of number of activities (hide/show/flag/unflag) |
— | — | @@ -61,13 +62,14 @@ |
62 | 63 | -- should be equivalent to counting rows in logging table |
63 | 64 | af_activity_count integer unsigned NOT NULL DEFAULT 0, |
64 | 65 | af_suppress_count integer unsigned NOT NULL DEFAULT 0, |
65 | | - -- keep the user id of the last hider and/or oversighter of the feedback |
| 66 | + -- keep the user id of the status event of the feedback |
66 | 67 | -- only registered users can do this, which is why no ips |
67 | | - -- data used on the overlay of hidden/oversighted items |
68 | | - af_hide_user_id integer unsigned NOT NULL DEFAULT 0, |
69 | | - af_hide_timestamp binary(14) NOT NULL DEFAULT '', |
70 | | - af_oversight_user_id integer unsigned NOT NULL DEFAULT 0, |
71 | | - af_oversight_timestamp binary(14) NOT NULL DEFAULT '' |
| 68 | + -- data used on the overlay status line |
| 69 | + af_last_status varchar(16) NULL, |
| 70 | + af_last_status_user_id integer unsigned NOT NULL DEFAULT 0, |
| 71 | + af_last_status_timestamp binary(14) NOT NULL DEFAULT '', |
| 72 | + -- flag if this was an autohide operation |
| 73 | + af_is_autohide boolean NOT NULL DEFAULT FALSE |
72 | 74 | ) /*$wgDBTableOptions*/; |
73 | 75 | CREATE INDEX /*i*/af_page_user_token_id ON /*_*/aft_article_feedback (af_page_id, af_user_id, af_user_anon_token, af_id); |
74 | 76 | CREATE INDEX /*i*/af_revision_id ON /*_*/aft_article_feedback (af_revision_id); |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/sql/alter.sql |
— | — | @@ -158,6 +158,27 @@ |
159 | 159 | UPDATE /*_*/aft_article_feedback SET af_experiment = CONCAT(af_form_id, 'E') WHERE DATE(af_created) > '2012-03-21' AND af_link_id = 5; |
160 | 160 | UPDATE /*_*/aft_article_feedback SET af_experiment = CONCAT(af_form_id, '?') WHERE DATE(af_created) > '2012-03-21' AND af_link_id = 0; |
161 | 161 | |
162 | | - |
163 | 162 | -- Added 3/30 (emsmith) |
164 | 163 | ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_suppress_count integer unsigned NOT NULL DEFAULT 0; |
| 164 | + |
| 165 | +-- Added 4/3 (emsmith) |
| 166 | +ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_last_status enum('hidden', 'autohide', 'unhidden', 'deleted', 'undeleted', 'request', 'unrequest', 'declined', 'autoflag') NULL; |
| 167 | +ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_last_status_user_id integer unsigned NOT NULL DEFAULT 0; |
| 168 | +ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_last_status_timestamp binary(14) NOT NULL DEFAULT ''; |
| 169 | + |
| 170 | +UPDATE /*_*/aft_article_feedback SET af_last_status_timestamp = af_oversight_timestamp, af_last_status_user_id = af_oversight_user_id, af_last_status = 'deleted' WHERE af_is_deleted IS TRUE; |
| 171 | +UPDATE /*_*/aft_article_feedback SET af_last_status_timestamp = af_hide_timestamp, af_last_status_user_id = af_hide_user_id, af_last_status = 'hidden' WHERE af_is_hidden IS TRUE; |
| 172 | + |
| 173 | +ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_is_autohide BOOLEAN NOT NULL DEFAULT FALSE; |
| 174 | +ALTER TABLE /*_*/aft_article_feedback ADD COLUMN af_is_unrequested BOOLEAN NOT NULL DEFAULT FALSE; |
| 175 | +UPDATE /*_*/aft_article_feedback SET af_is_autohide = 1 WHERE af_is_hidden IS TRUE AND af_hide_user_id < 1; |
| 176 | +UPDATE /*_*/aft_article_feedback SET af_last_status = 'autohide' WHERE af_is_autohide IS TRUE; |
| 177 | + |
| 178 | +ALTER TABLE /*_*/aft_article_feedback DROP COLUMN af_hide_timestamp; |
| 179 | +ALTER TABLE /*_*/aft_article_feedback DROP COLUMN af_hide_user_id; |
| 180 | +ALTER TABLE /*_*/aft_article_feedback DROP COLUMN af_oversight_timestamp; |
| 181 | +ALTER TABLE /*_*/aft_article_feedback DROP COLUMN af_oversight_user_id; |
| 182 | + |
| 183 | +-- Added 4/17 (reha) |
| 184 | +ALTER TABLE /*_*/aft_article_feedback CHANGE COLUMN af_last_status af_last_status varchar(16) NULL; |
| 185 | + |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/sql/filter_count.sql |
— | — | @@ -1,35 +1,46 @@ |
2 | 2 | DELETE FROM aft_article_filter_count; |
3 | 3 | |
4 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 GROUP BY af_page_id; |
| 4 | +-- visible-comment |
| 5 | +UPDATE aft_article_feedback, aft_article_answer SET af_has_comment = TRUE WHERE af_form_id = 1 AND af_id = aa_feedback_id AND aa_response_text IS NOT NULL; |
| 6 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible-comment', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_has_comment IS TRUE AND af_is_deleted IS FALSE AND af_is_hidden IS FALSE GROUP BY af_page_id; |
5 | 7 | |
6 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 8 | +-- helpful |
| 9 | +UPDATE aft_article_feedback SET af_net_helpfulness = CONVERT(af_helpful_count, SIGNED) - CONVERT(af_unhelpful_count, SIGNED); |
| 10 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible-helpful', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_net_helpfulness > 0 AND af_is_deleted IS FALSE AND af_is_hidden IS FALSE GROUP BY af_page_id; |
7 | 11 | |
8 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'comment', COUNT(*) FROM aft_article_feedback, aft_article_answer WHERE af_form_id = 1 AND af_id = aa_feedback_id AND aa_response_text IS NOT NULL AND af_is_hidden IS FALSE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 12 | +-- unhelpful |
| 13 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible-unhelpful', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_net_helpfulness > 0 AND af_is_deleted IS FALSE AND af_is_hidden IS FALSE GROUP BY af_page_id; |
9 | 14 | |
10 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'deleted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS TRUE GROUP BY af_page_id; |
11 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'undeleted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS FALSE AND af_is_undeleted IS TRUE GROUP BY af_page_id; |
| 15 | +-- abusive |
| 16 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible-abusive', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_abuse_count > 0 AND af_is_deleted IS FALSE AND af_is_hidden IS FALSE GROUP BY af_page_id; |
12 | 17 | |
13 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_hidden IS FALSE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
14 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'invisible', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_hidden IS TRUE GROUP BY af_page_id; |
15 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'unhidden', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_hidden IS FALSE AND af_is_unhidden IS TRUE GROUP BY af_page_id; |
| 18 | +-- hidden |
| 19 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted-hidden', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_hidden IS TRUE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 20 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-hidden', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_hidden IS TRUE GROUP BY af_page_id; |
16 | 21 | |
17 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'abusive', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_abuse_count > 0 AND af_is_hidden IS FALSE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 22 | +-- unhidden |
| 23 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted-unhidden', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_unhidden IS TRUE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 24 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-unhidden', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_unhidden IS TRUE GROUP BY af_page_id; |
18 | 25 | |
19 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'needsoversight', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_oversight_count > 0 GROUP BY af_page_id; |
| 26 | +-- requested |
| 27 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted-requested', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_oversight_count > 0 AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 28 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-requested', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_oversight_count > 0 GROUP BY af_page_id; |
20 | 29 | |
21 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'declined', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_declined IS TRUE GROUP BY af_page_id; |
| 30 | +-- unrequested |
| 31 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted-unrequested', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_unrequested IS TRUE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 32 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-unrequested', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_unrequested IS TRUE GROUP BY af_page_id; |
22 | 33 | |
23 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'helpful', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND CONVERT(af_helpful_count, SIGNED) - CONVERT(af_unhelpful_count, SIGNED) > 0 AND af_is_hidden IS FALSE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
24 | | -INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'unhelpful', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND CONVERT(af_helpful_count, SIGNED) - CONVERT(af_unhelpful_count, SIGNED) < 0 AND af_is_hidden IS FALSE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 34 | +-- declined |
| 35 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted-declined', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_declined IS TRUE AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 36 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-declined', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_declined IS TRUE GROUP BY af_page_id; |
| 37 | + |
| 38 | +-- oversighted |
| 39 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-oversighted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS TRUE GROUP BY af_page_id; |
| 40 | + |
| 41 | +-- unoversighted |
| 42 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all-unoversighted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_undeleted IS TRUE GROUP BY af_page_id; |
| 43 | + |
| 44 | +-- all/notdeleted/visible |
| 45 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'visible', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS FALSE AND af_is_hidden IS FALSE GROUP BY af_page_id; |
| 46 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'notdeleted', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 AND af_is_deleted IS FALSE GROUP BY af_page_id; |
| 47 | +INSERT INTO aft_article_filter_count(afc_page_id, afc_filter_name, afc_filter_count) SELECT af_page_id, 'all', COUNT(*) FROM aft_article_feedback WHERE af_form_id = 1 GROUP BY af_page_id; |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/ArticleFeedbackv5.flagging.php |
— | — | @@ -76,13 +76,11 @@ |
77 | 77 | $filters = array(); |
78 | 78 | $update = array(); |
79 | 79 | $results = array(); |
| 80 | + $log = array(); |
80 | 81 | |
81 | 82 | // start |
82 | 83 | $where = array( 'af_id' => $this->feedbackId ); |
83 | 84 | |
84 | | - // we may not actually use this, but don't want to repeat this a million times |
85 | | - $default_user = wfMessage( 'articlefeedbackv5-default-user' )->text(); |
86 | | - |
87 | 85 | // we use ONE db connection that talks to master |
88 | 86 | $dbw = wfGetDB( DB_MASTER ); |
89 | 87 | $dbw->begin(); |
— | — | @@ -94,103 +92,264 @@ |
95 | 93 | if ( $record === false || !$record->af_id ) { |
96 | 94 | // no-op, because this is already broken |
97 | 95 | $error = 'articlefeedbackv5-invalid-feedback-id'; |
98 | | - |
| 96 | + // deleting means to "mark as oversighted" and "delete" it |
99 | 97 | } elseif ( 'delete' == $flag && $this->isAllowed( 'aftv5-delete-feedback' ) ) { |
| 98 | + // oversight and optional autohide (if not hidden) |
| 99 | + if ( $direction == 'increase' && !$record->af_is_deleted ) { |
| 100 | + $update['af_is_deleted'] = true; |
| 101 | + $update['af_is_undeleted'] = false; |
100 | 102 | |
101 | | - // deleting means to "mark as oversighted" and "delete" it |
102 | | - // oversighting also auto-hides the item |
| 103 | + $log[] = array('oversight', $notes, $this->isSystemCall()); |
103 | 104 | |
104 | | - // increase means "oversight this" |
105 | | - if ( $direction == 'increase' ) { |
106 | | - $activity = 'oversight'; |
| 105 | + // always increment oversighted count and decrement notdeleted |
| 106 | + $filters = array('all-oversighted' => 1, |
| 107 | + 'notdeleted' => -1); |
107 | 108 | |
108 | | - // delete |
109 | | - $update['af_is_deleted'] = true; |
110 | | - $update['af_is_undeleted'] = false; |
111 | | - // only store the oversighter on delete/oversight |
112 | | - $update['af_oversight_user_id'] = $this->getUserId(); |
113 | | - $update['af_oversight_timestamp'] = $timestamp; |
114 | | - // delete specific filters |
115 | | - $filters['deleted'] = 1; |
116 | | - $filters['notdeleted'] = -1; |
117 | | - if ( true == $record->af_is_undeleted ) { |
118 | | - $filters['undeleted'] = -1; |
| 109 | + // if this was previously visible, adjust counts |
| 110 | + $filters = $this->visibleCounts( $record, $filters, 'invisible' ); |
| 111 | + |
| 112 | + // adjust notdeleted counts |
| 113 | + if( $record->af_is_hidden ) { |
| 114 | + $filters['notdeleted-hidden'] = -1; |
119 | 115 | } |
| 116 | + if( $record->af_is_unhidden ) { |
| 117 | + $filters['notdeleted-unhidden'] = -1; |
| 118 | + } |
| 119 | + if( $record->af_oversight_count > 0 ) { |
| 120 | + $filters['notdeleted-requested'] = -1; |
| 121 | + } |
| 122 | + if( $record->af_is_unrequested ) { |
| 123 | + $filters['notdeleted-unrequested'] = -1; |
| 124 | + } |
| 125 | + if( $record->af_is_declined ) { |
| 126 | + $filters['notdeleted-declined'] = -1; |
| 127 | + } |
120 | 128 | |
121 | | - // This is data for the "hidden by, oversighted by" red line |
122 | | - $results['oversight-user'] = $this->getUserLink(); |
123 | | - $results['oversight-timestamp'] = wfTimestamp( TS_RFC2822, $timestamp ); |
| 129 | + // adjust undeleted count if necessary |
| 130 | + if( $record->af_is_undeleted ) { |
| 131 | + $filters['all-unoversighted'] = -1; |
| 132 | + } |
124 | 133 | |
125 | 134 | // autohide if not hidden |
126 | 135 | if ( false == $record->af_is_hidden ) { |
| 136 | + // we must tell the helper method this record is deleted for filter purposes |
| 137 | + $record->af_is_deleted = true; |
| 138 | + |
127 | 139 | $update['af_is_hidden'] = true; |
128 | 140 | $update['af_is_unhidden'] = false; |
129 | | - $filters = $this->changeFilterCounts( $record, $filters, 'hide' ); |
130 | | - // 0 is used for "autohidden" purposes, we'll explicitly set it to overwrite last hider |
131 | | - $update['af_hide_user_id'] = 0; |
132 | | - $update['af_hide_timestamp'] = $timestamp; |
133 | | - $implicit_hide = true; // for logging |
134 | | - // tell front-end autohiding was done |
| 141 | + $update['af_is_autohide'] = true; |
| 142 | + |
| 143 | + $update['af_last_status'] = 'autohide'; |
| 144 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 145 | + $update['af_last_status_timestamp'] = $timestamp; |
| 146 | + |
| 147 | + $log[] = array( 'autohide', '', $this->getUserId ); |
| 148 | + |
135 | 149 | $results['autohidden'] = 1; |
136 | | - // This is data for the "hidden by, oversighted by" red line |
137 | | - $results['hide-user'] = ApiArticleFeedbackv5Utils::getUserLink( null, $default_user ); |
138 | | - $results['hide-timestamp'] = wfTimestamp( TS_RFC2822, $timestamp ); |
| 150 | + $results['status-line'] = $this->createStatusLine( 'autohide', $this->getUserId(), $timestamp ); |
| 151 | + |
| 152 | + // NOTE: we've already adjusted all visiblity counts above so we only do hide specific ones |
| 153 | + $filters = $this->hideCounts( $record, $filters, 'hide' ); |
| 154 | + |
| 155 | + } else { |
| 156 | + |
| 157 | + $update['af_last_status'] = 'deleted'; |
| 158 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 159 | + $update['af_last_status_timestamp'] = $timestamp; |
| 160 | + |
| 161 | + $results['status-line'] = $this->createStatusLine( 'deleted', $this->getUserId(), $timestamp ); |
139 | 162 | } |
140 | 163 | |
141 | | - } else { |
142 | | - // decrease means "unoversight this" but does NOT auto-unhide |
143 | | - $activity = 'unoversight'; |
| 164 | + // unoversight (no autohide) |
| 165 | + } elseif( $direction == 'decrease' && $record->af_is_deleted ) { |
| 166 | + |
144 | 167 | $update['af_is_deleted'] = false; |
145 | 168 | $update['af_is_undeleted'] = true; |
146 | | - // increment "undeleted", decrement "deleted" |
147 | | - // NOTE: we do not touch visible, since hidden controls visiblity |
148 | | - $filters['deleted'] = -1; |
149 | | - $filters['undeleted'] = 1; |
150 | | - // increment "notdeleted" for count of everything but oversighted |
151 | | - $filters['notdeleted'] = 1; |
152 | | - } |
153 | 169 | |
154 | | - } elseif ( 'hide' == $flag && $this->isAllowed( 'aftv5-hide-feedback' ) ) { |
| 170 | + $update['af_last_status'] = 'undeleted'; |
| 171 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 172 | + $update['af_last_status_timestamp'] = $timestamp; |
155 | 173 | |
156 | | - // increase means "hide this" |
157 | | - if ( $direction == 'increase' ) { |
158 | | - $activity = 'hidden'; |
| 174 | + $log[] = array('unoversight', $notes, $this->isSystemCall()); |
| 175 | + $results['status-line'] = $this->createStatusLine( 'undeleted', $this->getUserId(), $timestamp ); |
159 | 176 | |
160 | | - // hide |
| 177 | + $filters = array('all-unoversighted' => 1, |
| 178 | + 'all-oversighted' => -1); |
| 179 | + |
| 180 | + $filters = $this->visibleCounts( $record, $filters, 'visible' ); |
| 181 | + |
| 182 | + // adjust notdeleted counts |
| 183 | + if( $record->af_is_hidden ) { |
| 184 | + $filters['notdeleted-hidden'] = 1; |
| 185 | + } |
| 186 | + if( $record->af_is_unhidden ) { |
| 187 | + $filters['notdeleted-unhidden'] = 1; |
| 188 | + } |
| 189 | + if( $record->af_oversight_count > 0 ) { |
| 190 | + $filters['notdeleted-requested'] = 1; |
| 191 | + } |
| 192 | + if( $record->af_is_unrequested ) { |
| 193 | + $filters['notdeleted-unrequested'] = 1; |
| 194 | + } |
| 195 | + if( $record->af_is_declined ) { |
| 196 | + $filters['notdeleted-declined'] = 1; |
| 197 | + } |
| 198 | + |
| 199 | + } else { |
| 200 | + $error = 'articlefeedbackv5-invalid-feedback-state'; |
| 201 | + } |
| 202 | + // hidden is only visible to monitors or oversighters |
| 203 | + } elseif ( 'hide' == $flag && $this->isAllowed( 'aftv5-hide-feedback' ) ) { |
| 204 | + if ( $direction == 'increase' && !$record->af_is_hidden ) { |
161 | 205 | $update['af_is_hidden'] = true; |
162 | 206 | $update['af_is_unhidden'] = false; |
163 | | - // only store the hider on hide not show |
164 | | - $update['af_hide_user_id'] = $this->getUserId(); |
165 | | - $update['af_hide_timestamp'] = $timestamp; |
166 | | - $filters = $this->changeFilterCounts( $record, $filters, 'hide' ); |
167 | 207 | |
168 | | - // This is data for the "hidden by, oversighted by" red line |
169 | | - $results['hide-user'] = $this->getUserLink(); |
170 | | - $results['hide-timestamp'] = wfTimestamp( TS_RFC2822, $timestamp ); |
| 208 | + $update['af_last_status'] = 'hidden'; |
| 209 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 210 | + $update['af_last_status_timestamp'] = $timestamp; |
171 | 211 | |
172 | | - } else { |
173 | | - // decrease means "unhide this" |
174 | | - $activity = 'unhidden'; |
| 212 | + $filters = array(); |
175 | 213 | |
| 214 | + $filters = $this->hideCounts( $record, $filters, 'hide' ); |
| 215 | + $filters = $this->visibleCounts( $record, $filters, 'invisible' ); |
| 216 | + |
| 217 | + $log[] = array('hidden', $notes, $this->isSystemCall()); |
| 218 | + $results['status-line'] = $this->createStatusLine( 'hidden', $this->getUserId(), $timestamp ); |
| 219 | + |
| 220 | + } elseif( $direction == 'decrease' && $record->af_is_hidden ) { |
| 221 | + |
176 | 222 | $update['af_is_hidden'] = false; |
177 | 223 | $update['af_is_unhidden'] = true; |
178 | 224 | |
179 | | - $filters = $this->changeFilterCounts( $record, $filters, 'show' ); |
| 225 | + $update['af_last_status'] = 'unhidden'; |
| 226 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 227 | + $update['af_last_status_timestamp'] = $timestamp; |
| 228 | + |
| 229 | + $filters = array(); |
| 230 | + |
| 231 | + $filters = $this->hideCounts( $record, $filters, 'show' ); |
| 232 | + $filters = $this->visibleCounts( $record, $filters, 'visible' ); |
| 233 | + |
| 234 | + $log[] = array('unhidden', $notes, $this->isSystemCall()); |
| 235 | + $results['status-line'] = $this->createStatusLine( 'unhidden', $this->getUserId(), $timestamp ); |
| 236 | + |
| 237 | + } else { |
| 238 | + $error = 'articlefeedbackv5-invalid-feedback-state'; |
180 | 239 | } |
| 240 | + // request/unrequest oversight |
| 241 | + } elseif ( 'oversight' === $flag && $this->isAllowed( 'aftv5-hide-feedback' ) ) { |
| 242 | + if ( $direction == 'increase' ) { |
181 | 243 | |
| 244 | + $log[] = array('request', $notes, $this->isSystemCall()); |
| 245 | + |
| 246 | + // NOTE: we are bypassing traditional sql escaping here |
| 247 | + $update[] = "af_oversight_count = af_oversight_count + 1"; |
| 248 | + |
| 249 | + // we do not increment anything by default |
| 250 | + $filters = array(); |
| 251 | + |
| 252 | + // if this is a NEW request, increment our counters |
| 253 | + if ( $record->af_oversight_count < 1 ) { |
| 254 | + $filters['all-requested'] = 1; |
| 255 | + if ( $record->af_is_deleted == false ) { |
| 256 | + $filters['notdeleted-requested'] = 1; |
| 257 | + } |
| 258 | + } |
| 259 | + |
| 260 | + // turn off unrequested if necessary |
| 261 | + if( $record->af_is_unrequested ) { |
| 262 | + $filters['all-unrequested'] = -1; |
| 263 | + $update['af_is_unrequested'] = false; |
| 264 | + if ( $record->af_is_deleted == false ) { |
| 265 | + $filters['notdeleted-unrequested'] = -1; |
| 266 | + } |
| 267 | + } |
| 268 | + |
| 269 | + if ( false == $record->af_is_hidden ) { |
| 270 | + |
| 271 | + $update['af_is_hidden'] = true; |
| 272 | + $update['af_is_unhidden'] = false; |
| 273 | + $update['af_is_autohide'] = true; |
| 274 | + |
| 275 | + $update['af_last_status'] = 'autohide'; |
| 276 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 277 | + $update['af_last_status_timestamp'] = $timestamp; |
| 278 | + |
| 279 | + $log[] = array( 'autohide', '', $this->getUserId ); |
| 280 | + |
| 281 | + $results['autohidden'] = 1; |
| 282 | + $results['status-line'] = $this->createStatusLine( 'autohide', $this->getUserId(), $timestamp ); |
| 283 | + |
| 284 | + $filters = $this->hideCounts( $record, $filters, 'hide' ); |
| 285 | + // NOTE: unlike autohide after oversight, we must do the visiblity filter |
| 286 | + $filters = $this->visibleCounts( $record, $filters, 'invisible' ); |
| 287 | + |
| 288 | + } else { |
| 289 | + $update['af_last_status'] = 'request'; |
| 290 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 291 | + $update['af_last_status_timestamp'] = $timestamp; |
| 292 | + $results['status-line'] = $this->createStatusLine( 'request', $this->getUserId(), $timestamp ); |
| 293 | + } |
| 294 | + |
| 295 | + // IF the previous setting was 0, send an email |
| 296 | + if ( $record->af_oversight_count < 1 ) { |
| 297 | + $this->sendOversightEmail(); |
| 298 | + } |
| 299 | + |
| 300 | + } elseif ( $direction == 'decrease' ) { |
| 301 | + |
| 302 | + $log[] = array('unrequest', $notes, $this->isSystemCall()); |
| 303 | + $filters = array(); |
| 304 | + |
| 305 | + if( ( $record->af_oversight_count - 1 ) < 1) { |
| 306 | + $update['af_is_unrequested'] = true; |
| 307 | + $filters['all-unrequested'] = 1; |
| 308 | + $filters['all-requested'] = -1; |
| 309 | + if ( $record->af_is_deleted == false ) { |
| 310 | + $filters['notdeleted-unrequested'] = 1; |
| 311 | + $filters['notdeleted-requested'] = -1; |
| 312 | + } |
| 313 | + } |
| 314 | + |
| 315 | + // NOTE: we are bypassing traditional sql escaping here |
| 316 | + $update[] = "af_oversight_count = GREATEST(CONVERT(af_oversight_count, SIGNED) - 1, 0)"; |
| 317 | + $update['af_last_status'] = 'unrequest'; |
| 318 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 319 | + $update['af_last_status_timestamp'] = $timestamp; |
| 320 | + $results['status-line'] = $this->createStatusLine( 'unrequest', $this->getUserId(), $timestamp ); |
| 321 | + |
| 322 | + } else { |
| 323 | + $error = 'articlefeedbackv5-invalid-feedback-state'; |
| 324 | + } |
| 325 | + // this is "decline oversight" which unsets all request/unrequest on a piece of feedback |
182 | 326 | } elseif ( 'resetoversight' === $flag && $this->isAllowed( 'aftv5-delete-feedback' ) ) { |
183 | 327 | |
184 | | - $activity = 'decline'; |
| 328 | + $log[] = array('decline', $notes, $this->isSystemCall()); |
| 329 | + |
185 | 330 | // oversight request count becomes 0 |
186 | 331 | $update['af_oversight_count'] = 0; |
187 | | - // declined oversight is flagged |
188 | 332 | $update['af_is_declined'] = true; |
189 | | - $filters['declined'] = 1; |
190 | | - // if the oversight count was greater then 1 |
191 | | - if ( 0 < $record->af_oversight_count ) { |
192 | | - $filters['needsoversight'] = -1; |
| 333 | + $update['af_last_status'] = 'declined'; |
| 334 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 335 | + $update['af_last_status_timestamp'] = $timestamp; |
| 336 | + |
| 337 | + // always increment our all declined |
| 338 | + $filters = array('all-declined' => 1); |
| 339 | + if ( $record->af_oversight_count > 0 ) { |
| 340 | + $filters['all-requested'] = -1; |
193 | 341 | } |
194 | 342 | |
| 343 | + // if this is NOT deleted, change our notdeleted request items |
| 344 | + if( $record->af_is_deleted == false) { |
| 345 | + $filters['notdeleted-declined'] = 1; |
| 346 | + if ( $record->af_oversight_count > 0 ) { |
| 347 | + $filters['notdeleted-requested'] = -1; |
| 348 | + } |
| 349 | + } |
| 350 | + |
| 351 | + $results['status-line'] = $this->createStatusLine( 'declined', $this->getUserId(), $timestamp ); |
| 352 | + |
| 353 | + // this is flag/unflag for abuse |
195 | 354 | } elseif ( 'abuse' === $flag ) { |
196 | 355 | |
197 | 356 | // Conditional formatting for abuse flag |
— | — | @@ -198,6 +357,7 @@ |
199 | 358 | $wgArticleFeedbackv5HideAbuseThreshold; |
200 | 359 | |
201 | 360 | $results['abuse_count'] = $record->af_abuse_count; |
| 361 | + $filters = array(); |
202 | 362 | |
203 | 363 | // Make the abuse count in the result reflect this vote. |
204 | 364 | if ( $direction == 'increase' ) { |
— | — | @@ -213,95 +373,74 @@ |
214 | 374 | $results['abusive'] = 1; |
215 | 375 | } |
216 | 376 | |
217 | | - // Adding a new abuse flag: abusive++ |
| 377 | + if ( $this->isSystemCall() ) { |
| 378 | + $log[] = array('autoflag', $notes, $this->isSystemCall()); |
| 379 | + } else { |
| 380 | + $log[] = array('flag', $notes, $this->isSystemCall()); |
| 381 | + } |
| 382 | + |
218 | 383 | if ( $direction == 'increase' ) { |
219 | | - $activity = 'flag'; |
220 | | - $filters['abusive'] = 1; |
221 | | - // NOTE: we are bypassing traditional sql escaping here |
| 384 | + |
222 | 385 | $update[] = "af_abuse_count = af_abuse_count + 1"; |
223 | 386 | |
| 387 | + if ( $results['abuse_count'] > 0 |
| 388 | + && $record->af_is_hidden == false && $record->af_is_deleted == false ) { |
| 389 | + $filters['visible-abusive'] = 1; |
| 390 | + } |
| 391 | + |
224 | 392 | // Auto-hide after threshold flags |
225 | 393 | if ( $record->af_abuse_count > $wgArticleFeedbackv5HideAbuseThreshold |
226 | 394 | && false == $record->af_is_hidden ) { |
227 | | - // hide |
| 395 | + |
228 | 396 | $update['af_is_hidden'] = true; |
229 | 397 | $update['af_is_unhidden'] = false; |
230 | | - // 0 is used for "autohidden" purposes, we'll explicitly set it to overwrite last hider |
231 | | - $update['af_hide_user_id'] = 0; |
232 | | - $update['af_hide_timestamp'] = $timestamp; |
| 398 | + $update['af_is_autohide'] = true; |
233 | 399 | |
234 | | - $filters = $this->changeFilterCounts( $record, $filters, 'hide' ); |
235 | | - $results['abuse-hidden'] = 1; |
236 | | - $implicit_hide = true; |
| 400 | + $update['af_last_status'] = 'autohide'; |
| 401 | + $update['af_last_status_user_id'] = $this->getUserId(); |
| 402 | + $update['af_last_status_timestamp'] = $timestamp; |
237 | 403 | |
238 | | - // tell front-end autohiding was done |
| 404 | + $log[] = array( 'autohide', '', $this->getUserId ); |
| 405 | + |
239 | 406 | $results['autohidden'] = 1; |
240 | | - // This is data for the "hidden by, oversighted by" red line |
241 | | - $results['hide-user'] = ApiArticleFeedbackv5Utils::getUserLink( null, $default_user ); |
242 | | - $results['hide-timestamp'] = wfTimestamp( TS_RFC2822, $timestamp ); |
| 407 | + $results['status-line'] = $this->createStatusLine( 'autohide', $this->getUserId(), $timestamp ); |
| 408 | + |
| 409 | + $filters = $this->hideCounts( $record, $filters, 'hide' ); |
| 410 | + // NOTE: unlike autohide after oversight, we must do the visiblity filter |
| 411 | + $filters = $this->visibleCounts( $record, $filters, 'invisible' ); |
| 412 | + |
| 413 | + } elseif ( $this->getUserId() < 1 ) { |
| 414 | + $update['af_last_status'] = 'autoflag'; |
| 415 | + $update['af_last_status_user_id'] = 0; |
| 416 | + $update['af_last_status_timestamp'] = $timestamp; |
| 417 | + $results['status-line'] = $this->createStatusLine( 'autoflag', 0, $timestamp ); |
243 | 418 | } |
244 | | - } |
245 | 419 | |
246 | | - // Removing the last abuse flag: abusive-- |
247 | | - elseif ( $direction == 'decrease' ) { |
248 | | - $activity = 'unflag'; |
249 | | - $filters['abusive'] = -1; |
| 420 | + } elseif ( $direction == 'decrease' ) { |
| 421 | + |
| 422 | + $log[] = array('unflag', $notes, $this->isSystemCall()); |
| 423 | + |
250 | 424 | // NOTE: we are bypassing traditional sql escaping here |
251 | 425 | $update[] = "af_abuse_count = GREATEST(CONVERT(af_abuse_count, SIGNED) -1, 0)"; |
252 | 426 | |
253 | | - // Un-hide if we don't have 5 flags anymore |
254 | | - if ( $record->af_abuse_count == 5 && true == $record->af_is_hidden ) { |
| 427 | + if ( $results['abuse_count'] < 1 |
| 428 | + && $record->af_is_hidden == false && $record->af_is_deleted == false ) { |
| 429 | + $filters['visible-abusive'] = -1; |
| 430 | + } |
| 431 | + |
| 432 | + // Un-hide if we don't have threshold flags anymore |
| 433 | + if ( $record->af_abuse_count < $wgArticleFeedbackv5AbusiveThreshold && true == $record->af_is_autohide ) { |
255 | 434 | $update['af_is_hidden'] = false; |
256 | 435 | $update['af_is_unhidden'] = true; |
257 | 436 | |
258 | | - $filters = $this->changeFilterCounts( $record, $filters, 'show' ); |
| 437 | + $filters = $this->hideCounts( $record, $filters, 'show' ); |
| 438 | + $filters = $this->visibleCounts( $record, $filters, 'visible' ); |
259 | 439 | |
260 | | - $implicit_unhide = true; |
| 440 | + $log[] = array( 'unhidden', 'Automatic un-hide', 0 ); |
261 | 441 | } |
262 | | - } else { |
263 | | - // TODO: real error here? |
264 | | - $error = 'articlefeedbackv5-invalid-feedback-flag'; |
265 | | - } |
266 | 442 | |
267 | | - // NOTE: this is actually request/unrequest oversight and works similar to abuse |
268 | | - } elseif ( 'oversight' === $flag && $this->isAllowed( 'aftv5-hide-feedback' ) ) { |
269 | | - |
270 | | - if ( $direction == 'increase' ) { |
271 | | - $activity = 'request'; |
272 | | - $filters['needsoversight'] = 1; |
273 | | - // NOTE: we are bypassing traditional sql escaping here |
274 | | - $update[] = "af_oversight_count = af_oversight_count + 1"; |
275 | | - |
276 | | - // autohide if not hidden |
277 | | - if ( false == $record->af_is_hidden ) { |
278 | | - $update['af_is_hidden'] = true; |
279 | | - $update['af_is_unhidden'] = false; |
280 | | - // 0 is used for "autohidden" purposes, we'll explicitly set it to overwrite last hider |
281 | | - $update['af_hide_user_id'] = 0; |
282 | | - $update['af_hide_timestamp'] = $timestamp; |
283 | | - |
284 | | - $filters = $this->changeFilterCounts( $record, $filters, 'hide' ); |
285 | | - $implicit_hide = true; // for logging |
286 | | - // tell front-end autohiding was done |
287 | | - $results['autohidden'] = 1; |
288 | | - // This is data for the "hidden by, oversighted by" red line |
289 | | - $results['hide-user'] = ApiArticleFeedbackv5Utils::getUserLink( null, $default_user ); |
290 | | - $results['hide-timestamp'] = wfTimestamp( TS_RFC2822, $timestamp ); |
291 | | - } |
292 | | - |
293 | | - // IF the previous setting was 0, send an email |
294 | | - if ( $record->af_oversight_count < 1 ) { |
295 | | - $this->sendOversightEmail(); |
296 | | - } |
297 | | - |
298 | | - } elseif ( $direction == 'decrease' ) { |
299 | | - $activity = 'unrequest'; |
300 | | - $filters['needsoversight'] = -1; |
301 | | - // NOTE: we are bypassing traditional sql escaping here |
302 | | - $update[] = "af_oversight_count = GREATEST(CONVERT(af_oversight_count, SIGNED) - 1, 0)"; |
303 | 443 | } else { |
304 | | - // TODO: real error here? |
305 | | - $error = 'articlefeedbackv5-invalid-feedback-flag'; |
| 444 | + $error = 'articlefeedbackv5-invalid-feedback-state'; |
306 | 445 | } |
307 | 446 | |
308 | 447 | // helpful and unhelpful flagging |
— | — | @@ -310,6 +449,7 @@ |
311 | 450 | $results['toggle'] = $toggle; |
312 | 451 | $helpful = $record->af_helpful_count; |
313 | 452 | $unhelpful = $record->af_unhelpful_count; |
| 453 | + $filters = array(); |
314 | 454 | |
315 | 455 | // if toggle is on, we are decreasing one and increasing the other atomically |
316 | 456 | // means one less http request and the counts don't mess up |
— | — | @@ -321,8 +461,9 @@ |
322 | 462 | // NOTE: we are bypassing traditional sql escaping here |
323 | 463 | $update[] = "af_helpful_count = af_helpful_count + 1"; |
324 | 464 | $update[] = "af_unhelpful_count = GREATEST(0, CONVERT(af_unhelpful_count, SIGNED) - 1)"; |
| 465 | + |
325 | 466 | $helpful++; |
326 | | - $unhelpful--; |
| 467 | + $unhelpful = max(0, --$unhelpful); |
327 | 468 | |
328 | 469 | } elseif ( ( ( $flag == 'unhelpful' && $direction == 'increase' ) |
329 | 470 | || ( $flag == 'helpful' && $direction == 'decrease' ) ) |
— | — | @@ -330,7 +471,7 @@ |
331 | 472 | // NOTE: we are bypassing traditional sql escaping here |
332 | 473 | $update[] = "af_unhelpful_count = af_unhelpful_count + 1"; |
333 | 474 | $update[] = "af_helpful_count = GREATEST(0, CONVERT(af_helpful_count, SIGNED) - 1)"; |
334 | | - $helpful--; |
| 475 | + $helpful = max(0, --$helpful); |
335 | 476 | $unhelpful++; |
336 | 477 | } |
337 | 478 | |
— | — | @@ -343,7 +484,7 @@ |
344 | 485 | } elseif ( 'unhelpful' === $flag && $direction == 'decrease' ) { |
345 | 486 | // NOTE: we are bypassing traditional sql escaping here |
346 | 487 | $update[] = "af_unhelpful_count = GREATEST(0, CONVERT(af_unhelpful_count, SIGNED) - 1)"; |
347 | | - $unhelpful--; |
| 488 | + $unhelpful = max(0, --$unhelpful); |
348 | 489 | } elseif ( $flag == 'helpful' && $direction == 'increase' ) { |
349 | 490 | // NOTE: we are bypassing traditional sql escaping here |
350 | 491 | $update[] = "af_helpful_count = af_helpful_count + 1"; |
— | — | @@ -351,41 +492,42 @@ |
352 | 493 | } elseif ( $flag == 'helpful' && $direction == 'decrease' ) { |
353 | 494 | // NOTE: we are bypassing traditional sql escaping here |
354 | 495 | $update[] = "af_helpful_count = GREATEST(0, CONVERT(af_helpful_count, SIGNED) - 1)"; |
355 | | - $helpful--; |
| 496 | + $helpful = max(0, --$helpful); |
356 | 497 | } |
357 | 498 | |
358 | 499 | } |
359 | 500 | |
| 501 | + // note this is signed - no max/min needed here |
360 | 502 | $netHelpfulness = $helpful - $unhelpful; |
361 | 503 | |
362 | | - // increase helpful OR decrease unhelpful |
363 | | - if ( ( ( $flag == 'helpful' && $direction == 'increase' ) |
364 | | - || ( $flag == 'unhelpful' && $direction == 'decrease' ) ) |
365 | | - ) { |
366 | | - // net was -1: no longer unhelpful |
367 | | - if ( $netHelpfulness == -1 ) { |
368 | | - $filters['unhelpful'] = -1; |
| 504 | + // If net == 0 neither helpful nor unhelpful |
| 505 | + if ( $netHelpfulness == 0 ) { |
| 506 | + // if it WAS unhelpful or helpful undo |
| 507 | + if ( $record->af_net_helpfulness < 0 ) { |
| 508 | + $filters['visible-unhelpful'] = -1; |
| 509 | + } elseif ( $record->af_net_helpfulness > 0 ) { |
| 510 | + $filters['visible-helpful'] = -1; |
369 | 511 | } |
370 | | - |
371 | | - // net was 0: now helpful |
372 | | - if ( $netHelpfulness == 0 ) { |
373 | | - $filters['helpful'] = 1; |
| 512 | + // if net > 0 we are now helpful |
| 513 | + } elseif ( $netHelpfulness > 0 ) { |
| 514 | + // if it WAS unhelpful undo |
| 515 | + if ( $record->af_net_helpfulness < 0 ) { |
| 516 | + $filters['visible-unhelpful'] = -1; |
374 | 517 | } |
375 | | - } |
376 | | - |
377 | | - // increase unhelpful OR decrease unhelpful |
378 | | - if ( ( ( $flag == 'unhelpful' && $direction == 'increase' ) |
379 | | - || ( $flag == 'helpful' && $direction == 'decrease' ) ) |
380 | | - ) { |
381 | | - // net was 1: no longer helpful |
382 | | - if ( $netHelpfulness == 1 ) { |
383 | | - $filters['helpful'] = -1; |
| 518 | + // if it didn't use to be helpful but now is, bump it |
| 519 | + if ( $record->af_net_helpfulness < 1 ) { |
| 520 | + $filters['visible-helpful'] = 1; |
384 | 521 | } |
385 | | - |
386 | | - // net was 0: now unhelpful |
387 | | - if ( $netHelpfulness == 0 ) { |
388 | | - $filters['unhelpful'] = 1; |
| 522 | + // if net < 0 we are now unhelpful |
| 523 | + } elseif ( $netHelpfulness < 0 ) { |
| 524 | + // if it WAS helpful undo |
| 525 | + if ( $record->af_net_helpfulness > 0 ) { |
| 526 | + $filters['visible-helpful'] = -1; |
389 | 527 | } |
| 528 | + // if it didn't use to be unhelpful but now is, bump it |
| 529 | + if ( $record->af_net_helpfulness > -1 ) { |
| 530 | + $filters['visible-unhelpful'] = 1; |
| 531 | + } |
390 | 532 | } |
391 | 533 | |
392 | 534 | } else { |
— | — | @@ -405,19 +547,7 @@ |
406 | 548 | // Update the filter count rollups. |
407 | 549 | ApiArticleFeedbackv5Utils::updateFilterCounts( $dbw, $this->pageId, $filters ); |
408 | 550 | |
409 | | - $dbw->commit(); // everything went well, so we commit our db changes |
410 | | - |
411 | | - // helpfulness counts are NOT logged, no activity is set |
412 | | - if ( isset( $activity ) ) { |
413 | | - ApiArticleFeedbackv5Utils::logActivity( $activity, $this->pageId, $this->feedbackId, $notes, $this->isSystemCall() ); |
414 | | - } |
415 | | - |
416 | | - // handle implicit hide/show logging |
417 | | - if ( isset( $implicit_hide ) && $implicit_hide ) { |
418 | | - ApiArticleFeedbackv5Utils::logActivity( 'hidden' , $this->pageId, $this->feedbackId, '', true ); |
419 | | - } |
420 | | - |
421 | | - // Update helpful/unhelpful display count after submission. |
| 551 | + // Update helpful/unhelpful display count after submission but BEFORE db commit to stay in the transaction |
422 | 552 | if ( $flag == 'helpful' || $flag == 'unhelpful' ) { |
423 | 553 | |
424 | 554 | // no negative numbers please |
— | — | @@ -434,11 +564,19 @@ |
435 | 565 | 'aft_article_feedback', |
436 | 566 | array( 'af_net_helpfulness = CONVERT(af_helpful_count, SIGNED) - CONVERT(af_unhelpful_count, SIGNED)' ), |
437 | 567 | array( |
438 | | - 'af_id' => $params['feedbackid'], |
| 568 | + 'af_id' => $this->feedbackId, |
439 | 569 | ), |
440 | 570 | __METHOD__ |
441 | 571 | ); |
442 | 572 | } |
| 573 | + |
| 574 | + $dbw->commit(); // everything went well, so we commit our db changes |
| 575 | + |
| 576 | + // activity logging |
| 577 | + foreach( $log as $entry ) { |
| 578 | + ApiArticleFeedbackv5Utils::logActivity( $entry[0], $this->pageId, $this->feedbackId, $entry[1], $entry[2] ); |
| 579 | + } |
| 580 | + |
443 | 581 | } |
444 | 582 | |
445 | 583 | if ( isset( $error ) ) { |
— | — | @@ -493,7 +631,7 @@ |
494 | 632 | */ |
495 | 633 | public function getUserLink() { |
496 | 634 | if ( $this->isSystemCall() ) { |
497 | | - return ApiArticleFeedbackv5Utils::getUserLink( null, $default_user ); |
| 635 | + return ApiArticleFeedbackv5Utils::getUserLink( 0, null ); |
498 | 636 | } |
499 | 637 | return ApiArticleFeedbackv5Utils::getUserLink( $this->user ); |
500 | 638 | } |
— | — | @@ -522,64 +660,101 @@ |
523 | 661 | 'af_is_undeleted', |
524 | 662 | 'af_is_declined', |
525 | 663 | 'af_has_comment', |
526 | | - 'af_oversight_count' ), |
| 664 | + 'af_oversight_count', |
| 665 | + 'af_is_unrequested', |
| 666 | + 'af_is_autohide'), |
527 | 667 | array( 'af_id' => $id ) |
528 | 668 | ); |
529 | 669 | return $record; |
530 | 670 | } |
531 | 671 | |
532 | 672 | /** |
533 | | - * Helper function to manipulate all flags when hiding/showing a piece of feedback |
| 673 | + * Helper function - if an item is deleted OR it is hidden, then |
| 674 | + * all visible items need to be adjusted |
534 | 675 | * |
| 676 | + * Just pass in a record, if it is already hidden or deleted no changes are made |
| 677 | + * to filters, otherwise all visible items are changed |
| 678 | + * |
535 | 679 | * @param object $record existing feedback database record |
536 | 680 | * @param array $filters existing filters |
537 | | - * @param string $action 'hide' or 'show' |
| 681 | + * @param string $action visible or invisible |
538 | 682 | * @return array the filter array with new filter choices added |
539 | 683 | */ |
540 | | - protected function changeFilterCounts( $record, $filters, $action ) { |
541 | | - // only filters that hide shouldn't manipulate are |
542 | | - // all, deleted, undeleted, and notdeleted |
| 684 | + protected function visibleCounts( $record, $filters, $action = 'invisible' ) { |
543 | 685 | |
544 | | - // use -1 (decrement) for hide, 1 for increment (show) - default is hide |
545 | | - switch( $action ) { |
546 | | - case 'show': |
547 | | - $int = 1; |
548 | | - // if we're showing, this will increment |
549 | | - $filters['unhidden'] = 1; |
550 | | - break; |
551 | | - default: |
552 | | - // if we're hiding, and was unhidden, decrement |
553 | | - if ( true == $record->af_is_unhidden ) { |
554 | | - $filters['unhidden'] = -1; |
555 | | - } |
556 | | - $int = -1; |
557 | | - break; |
| 686 | + if( $action === 'visible' ) { |
| 687 | + if ( $record->af_is_hidden == false && $record->af_is_deleted == false) { |
| 688 | + return $filters; |
| 689 | + } |
| 690 | + $int = 1; |
| 691 | + } else { |
| 692 | + if ( $record->af_is_hidden == true || $record->af_is_deleted == true) { |
| 693 | + return $filters; |
| 694 | + } |
| 695 | + $int = -1; |
558 | 696 | } |
559 | 697 | |
560 | | - // visible, invisible, unhidden |
| 698 | + // visible is only decremented for hide or delete |
561 | 699 | $filters['visible'] = $int; |
562 | | - $filters['invisible'] = -$int; // opposite of int |
563 | 700 | |
564 | | - // comment |
565 | | - if ( true == $record->af_has_comment ) { |
566 | | - $filters['comment'] = $int; |
| 701 | + // all can see |
| 702 | + if( $record->af_has_comment ) { |
| 703 | + $filters['visible-comment'] = $int; |
567 | 704 | } |
| 705 | + if( $record->af_net_helpfulness > 0 ) { |
| 706 | + $filters['visible-helpful'] = $int; |
| 707 | + } |
568 | 708 | |
569 | | - // abusive |
570 | | - if ( $record->af_abuse_count > 1 ) { |
571 | | - $filters['abusive'] = $int; |
| 709 | + // monitors can see |
| 710 | + if( $record->af_net_helpfulness < 0 ) { |
| 711 | + $filters['visible-unhelpful'] = $int; |
572 | 712 | } |
573 | | - // helpful and unhelpful |
574 | | - if ( $record->af_net_helpfulness > 1 ) { |
575 | | - $filters['helpful'] = $int; |
576 | | - } elseif ( $record->af_net_helpfulness < 1 ) { |
577 | | - $filters['unhelpful'] = $int; |
| 713 | + if( $record->af_abuse_count > 0 ) { |
| 714 | + $filters['visible-abusive'] = $int; |
578 | 715 | } |
579 | 716 | |
580 | 717 | return $filters; |
581 | 718 | } |
582 | 719 | |
583 | 720 | /** |
| 721 | + * Helper function - all filter changes for hiding a row because autohide |
| 722 | + * will use this |
| 723 | + * |
| 724 | + * @param object $record existing feedback database record |
| 725 | + * @param array $filters existing filters |
| 726 | + * @return array the filter array with new filter choices added |
| 727 | + */ |
| 728 | + protected function hideCounts( $record, $filters, $action = 'hide' ) { |
| 729 | + |
| 730 | + if( $action === 'show' ) { |
| 731 | + // we always increment total unhidden count, and if it's not deleted increment notdeleted count |
| 732 | + if ( !$record->af_is_deleted ) { |
| 733 | + $filters['notdeleted-unhidden'] = 1; |
| 734 | + $filters['notdeleted-hidden'] = -1; |
| 735 | + } |
| 736 | + |
| 737 | + $filters['all-unhidden'] = 1; |
| 738 | + $filters['all-hidden'] = -1; |
| 739 | + |
| 740 | + } else { |
| 741 | + // we always increment total hidden count, and if it's not deleted increment notdeleted count |
| 742 | + if ( !$record->af_is_deleted ) { |
| 743 | + $filters['notdeleted-hidden'] = 1; |
| 744 | + if( $record->af_is_unhidden ) { |
| 745 | + $filters['notdeleted-unhidden'] = -1; |
| 746 | + } |
| 747 | + } |
| 748 | + $filters['all-hidden'] = 1; |
| 749 | + |
| 750 | + if( $record->af_is_unhidden ) { |
| 751 | + $filters['all-unhidden'] = -1; |
| 752 | + } |
| 753 | + } |
| 754 | + |
| 755 | + return $filters; |
| 756 | + } |
| 757 | + |
| 758 | + /** |
584 | 759 | * Helper function to dig out page url and title, feedback permalink, and |
585 | 760 | * requestor page url and name - if all this data can be retrieved properly |
586 | 761 | * it shoves an email job into the queue for sending to the oversighters' |
— | — | @@ -623,5 +798,21 @@ |
624 | 799 | $job->insert(); |
625 | 800 | } |
626 | 801 | |
| 802 | + /** |
| 803 | + * Helper function to create a new red status line based on the last status line created |
| 804 | + * action performed |
| 805 | + */ |
| 806 | + protected function createStatusLine( $last_status, $last_status_user_id, $last_status_timestamp ) { |
| 807 | + global $wgLang; |
| 808 | + |
| 809 | + return Html::rawElement( 'span', array( |
| 810 | + 'class' => 'articleFeedbackv5-feedback-status-marker' |
| 811 | + ), |
| 812 | + wfMessage( 'articlefeedbackv5-status-' . $last_status ) |
| 813 | + ->rawParams( ApiArticleFeedbackv5Utils::getUserLink( $last_status_user_id ) ) |
| 814 | + ->params( $wgLang->date( $last_status_timestamp ), |
| 815 | + $wgLang->time( $last_status_timestamp ) ) |
| 816 | + ->escaped() |
| 817 | + ); |
| 818 | + } |
627 | 819 | } |
628 | | - |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/ArticleFeedbackv5.i18n.php |
— | — | @@ -47,6 +47,7 @@ |
48 | 48 | 'articlefeedbackv5-error-nofeedback' => 'Please enter your feedback.', |
49 | 49 | 'articlefeedbackv5-error-flagging' => 'Error flagging feedback.', |
50 | 50 | |
| 51 | + |
51 | 52 | /* Special Page */ |
52 | 53 | 'articlefeedbackv5-form-tools-label' => 'Tools', |
53 | 54 | 'articlefeedbackv5-form-helpful-label' => 'Is this feedback helpful?', |
— | — | @@ -55,17 +56,18 @@ |
56 | 57 | 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 yes|$1 yes}} / {{PLURAL:$2|1 no|$2 no}}', |
57 | 58 | 'articlefeedbackv5-special-add-feedback' => 'Add your feedback', |
58 | 59 | 'articlefeedbackv5-special-filter-all' => 'All (oversight) ($1)', |
59 | | - 'articlefeedbackv5-special-filter-notdeleted' => 'All ($1)', |
| 60 | + 'articlefeedbackv5-special-filter-notdeleted' => 'All (hidden) ($1)', |
60 | 61 | 'articlefeedbackv5-special-filter-comment' => 'Comments only ($1)', |
61 | 62 | 'articlefeedbackv5-special-filter-abusive' => 'Flagged as abuse ($1)', |
62 | 63 | 'articlefeedbackv5-special-filter-helpful' => 'Helpful ($1)', |
63 | 64 | 'articlefeedbackv5-special-filter-unhelpful' => 'Unhelpful ($1)', |
64 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Oversight requested ($1)', |
| 65 | + 'articlefeedbackv5-special-filter-requested' => 'Oversight requested ($1)', |
| 66 | + 'articlefeedbackv5-special-filter-unrequested' => 'Oversight unrequested ($1)', |
65 | 67 | 'articlefeedbackv5-special-filter-visible' => 'All visible ($1)', |
66 | | - 'articlefeedbackv5-special-filter-invisible' => 'Hidden ($1)', |
67 | | - 'articlefeedbackv5-special-filter-deleted' => 'Oversighted ($1)', |
68 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Un-oversighted ($1)', |
69 | | - 'articlefeedbackv5-special-filter-declined' => 'Oversight Declined ($1)', |
| 68 | + 'articlefeedbackv5-special-filter-hidden' => 'Hidden ($1)', |
| 69 | + 'articlefeedbackv5-special-filter-oversighted' => 'Oversighted ($1)', |
| 70 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Un-oversighted ($1)', |
| 71 | + 'articlefeedbackv5-special-filter-declined' => 'Oversight declined ($1)', |
70 | 72 | 'articlefeedbackv5-special-filter-unhidden' => 'Un-hidden ($1)', |
71 | 73 | 'articlefeedbackv5-special-sort-age' => 'Date', |
72 | 74 | 'articlefeedbackv5-special-sort-helpful' => 'Helpful', |
— | — | @@ -81,8 +83,15 @@ |
82 | 84 | 'articlefeedbackv5-special-more' => 'Show more posts', |
83 | 85 | 'articlefeedbackv5-special-pagetitle' => 'Feedback: $1', |
84 | 86 | 'articlefeedbackv5-form-optionid' => 'Option $1', |
85 | | - 'articlefeedbackv5-hidden' => 'This post was hidden by $1 on $2', |
86 | | - 'articlefeedbackv5-deleted' => 'This post was deleted by $1 on $2', |
| 87 | + 'articlefeedbackv5-status-hidden' => 'This post was hidden by $1 on $2 at $3', |
| 88 | + 'articlefeedbackv5-status-unhidden' => 'This post was unhidden by $1 on $2 at $3', |
| 89 | + 'articlefeedbackv5-status-request' => 'Oversight for this post was requested by $1 on $2 at $3', |
| 90 | + 'articlefeedbackv5-status-unrequest' => 'Oversight for this post was un-requested by $1 on $2 at $3', |
| 91 | + 'articlefeedbackv5-status-declined' => 'Oversight for this post was declined by $1 on $2 at $3', |
| 92 | + 'articlefeedbackv5-status-autohide' => 'This post was auto-hidden by $1 on $2 at $3', |
| 93 | + 'articlefeedbackv5-status-deleted' => 'This post was oversighted by $1 on $2 at $3', |
| 94 | + 'articlefeedbackv5-status-undeleted' => 'This post was un-oversighted by $1 on $2 at $3', |
| 95 | + 'articlefeedbackv5-status-autoflag' => 'This post was auto-flagged by $1 on $2 at $3', |
87 | 96 | 'articlefeedbackv5-form-hide' => 'Hide this post', |
88 | 97 | 'articlefeedbackv5-form-unhide' => 'Unhide this post', |
89 | 98 | 'articlefeedbackv5-form-helpful' => 'Mark as helpful ($1)', |
— | — | @@ -113,6 +122,7 @@ |
114 | 123 | 'articlefeedbackv5-error-loading-feedback' => 'Error loading feedback', |
115 | 124 | 'articlefeedbackv5-invalid-feedback-id' => 'Invalid feedback ID', |
116 | 125 | 'articlefeedbackv5-invalid-feedback-flag' => 'Invalid feedback flag', |
| 126 | + 'articlefeedbackv5-invalid-feedback-state' => 'Invalid feedback flag state', |
117 | 127 | 'articlefeedbackv5-go-to-article' => 'View article', |
118 | 128 | 'articlefeedbackv5-discussion-page' => 'Talk', |
119 | 129 | 'articlefeedbackv5-whats-this' => 'Help', |
— | — | @@ -249,6 +259,10 @@ |
250 | 260 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'Learn how to edit', |
251 | 261 | 'articlefeedbackv5-bucket4-form-submit' => 'Edit this page', |
252 | 262 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Wikipedia wants to know what you think. Help improve this page by becoming an editor.', |
| 263 | + 'articlefeedbackv5-bucket4-noedit-title' => 'Help improve Wikipedia', |
| 264 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1' => 'This website is created by people like you.', |
| 265 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2' => 'Can you give us a hand?', |
| 266 | + 'articlefeedbackv5-bucket4-noedit-form-submit' => 'Learn more', |
253 | 267 | |
254 | 268 | /* Option 5 (just like AFTv4, but ported to work with v5) */ |
255 | 269 | 'articlefeedbackv5-bucket5-form-switch-label' => 'Rate this page', |
— | — | @@ -341,11 +355,13 @@ |
342 | 356 | 'articlefeedbackv5-log-unoversight' => 'removed the oversight [[$1]] status from feedback', |
343 | 357 | 'articlefeedbackv5-log-hidden' => 'hid the feedback [[$1]]', |
344 | 358 | 'articlefeedbackv5-log-unhidden' => 'unhid the feedback [[$1]]', |
345 | | - 'articlefeedbackv5-log-decline' => 'declined oversight request from the feedback [[$1]]', |
346 | | - 'articlefeedbackv5-log-request' => 'requested oversight on the feedback [[$1]]', |
347 | | - 'articlefeedbackv5-log-unrequest' => 'removed the requested oversight on the feedback [[$1]]', |
| 359 | + 'articlefeedbackv5-log-decline' => 'declined oversight for the feedback [[$1]]', |
| 360 | + 'articlefeedbackv5-log-request' => 'requested oversight for [[$1]]', |
| 361 | + 'articlefeedbackv5-log-unrequest' => 'un-requested oversight for [[$1]]', |
348 | 362 | 'articlefeedbackv5-log-flag' => 'flagged the feedback [[$1]] as abuse', |
349 | 363 | 'articlefeedbackv5-log-unflag' => 'unflagged the feedback [[$1]] as abuse', |
| 364 | + 'articlefeedbackv5-log-autohide' => 'auto-hid the feedback [[$1]] as abuse', |
| 365 | + 'articlefeedbackv5-log-autoflag' => 'auto-flagged the feedback [[$1]] as abuse', |
350 | 366 | |
351 | 367 | /* Activity Pane phrases */ |
352 | 368 | 'articlefeedbackv5-activity-pane-header' => 'Activity Log', |
— | — | @@ -485,11 +501,10 @@ |
486 | 502 | 'articlefeedbackv5-special-filter-abusive' => '{{Identical|Abusive}}', |
487 | 503 | 'articlefeedbackv5-special-filter-helpful' => 'Feedback that has been marked as helpful', |
488 | 504 | 'articlefeedbackv5-special-filter-unhelpful' => 'Feedback that has been marked as unhelpful', |
489 | | - 'articlefeedbackv5-special-filter-invisible' => '{{Identical|Hidden}}', |
490 | | - 'articlefeedbackv5-special-filter-deleted' => '{{Identical|Deleted}}', |
| 505 | + 'articlefeedbackv5-special-filter-hidden' => '{{Identical|Hidden}}', |
| 506 | + 'articlefeedbackv5-special-filter-oversighted' => '{{Identical|Deleted}}', |
491 | 507 | 'articlefeedbackv5-special-sort-age' => '{{Identical|Date}}', |
492 | 508 | 'articlefeedbackv5-special-sort-rating' => '{{Identical|Rating}}', |
493 | | - 'articlefeedbackv5-special-goback' => 'Link to take a user from a feedback permalink back to the listing of all feedback', |
494 | 509 | 'articlefeedbackv5-special-sort-label-before' => 'Place to put a label before the sort options', |
495 | 510 | 'articlefeedbackv5-special-filter-label-before' => 'Place to put a label before the filter select box', |
496 | 511 | 'articlefeedbackv5-special-showing' => 'Text to show how many feedback psots have been posted to this article. $1 is the number of posts (needs plural support)', |
— | — | @@ -499,12 +514,42 @@ |
500 | 515 | 'articlefeedbackv5-special-more' => '{{Identical|More}}', |
501 | 516 | 'articlefeedbackv5-special-pagetitle' => 'Page title for [[Special:ArticleFeedbackv5]]. Parameters: |
502 | 517 | * $1 is the title of the article for which we show the feedback', |
503 | | - 'articlefeedbackv5-hidden' => 'The marker that appears on a comment if it has been hidden by a monitor. |
| 518 | + 'articlefeedbackv5-status-hidden' => 'The marker that appears on a comment if it has been hidden by a monitor. |
504 | 519 | * $1 is the name of the monitor who performed the hide |
505 | | -* $2 is the timestamp for when the hide occurred', |
506 | | - 'articlefeedbackv5-deleted' => 'The marker that appears on a comment if it has been deleted by an oversighter. |
| 520 | +* $2 is the date when the hide occurred |
| 521 | +* $3 is the time when the hide occurred', |
| 522 | + 'articlefeedbackv5-status-unhidden' => 'The marker that appears on a comment if it has been unhidden by a user. |
| 523 | +* $1 is the name of the monitor who performed the unhide |
| 524 | +* $2 is the date when the unhide occurred |
| 525 | +* $3 is the time when the unhide occurred', |
| 526 | + 'articlefeedbackv5-status-request' => 'The marker that appears on a comment if a user has requested oversight. |
| 527 | +* $1 is the name of the monitor who requested oversight |
| 528 | +* $2 is the date when the request occurred |
| 529 | +* $3 is the time when the request occurred', |
| 530 | + 'articlefeedbackv5-status-unrequest' => 'The marker that appears on a comment if a user has canceled an oversight request. |
| 531 | +* $1 is the name of the monitor who canceled the oversight request |
| 532 | +* $2 is the date when the cancelation request occurred |
| 533 | +* $3 is the time when the cancelation request occurred', |
| 534 | + 'articlefeedbackv5-status-declined' => 'The marker that appears on a comment if a user has declined an oversight request. |
| 535 | +* $1 is the name of the oversighter who declined the oversight request |
| 536 | +* $2 is the date when the decline occurred |
| 537 | +* $3 is the time when the decline occurred', |
| 538 | + 'articlefeedbackv5-status-autohide' => 'The marker that appears on a comment if it has been autohidden by the extension. |
| 539 | +* $1 is the name of the monitor who performed the hide |
| 540 | +* $2 is the date when the hide occurred |
| 541 | +* $3 is the time when the hide occurred', |
| 542 | + 'articlefeedbackv5-status-deleted' => 'The marker that appears on a comment if it has been deleted by an oversighter. |
507 | 543 | * $1 is the name of the oversighter who performed the delete |
508 | | -* $2 is the timestamp for when the deletion occurred', |
| 544 | +* $2 is the date when the deletion occurred |
| 545 | +* $3 is the time when the deletion occurred', |
| 546 | + 'articlefeedbackv5-status-undeleted' => 'The marker that appears on a comment if a user has un-oversighted. |
| 547 | +* $1 is the name of the oversighter who un-oversighted |
| 548 | +* $2 is the date when the unoversight occurred |
| 549 | +* $3 is the time when the unoversight occurred', |
| 550 | + 'articlefeedbackv5-status-autoflag' => 'The marker that appears on a comment if it has been automatically flagged as abuse. |
| 551 | +* $1 is a link to the faq about how autoflagging works |
| 552 | +* $2 is the date when the autoflag occurred |
| 553 | +* $3 is the time when the autoflag occurred', |
509 | 554 | 'articlefeedbackv5-form-abuse' => 'Link text allowing the user to flag feedback as abuse. $1 is the number of times the feedback has been flagged previously.', |
510 | 555 | 'articlefeedbackv5-form-abuse-masked' => 'Link text allowing the user to flag feedback as abuse, without the count included in {{msg-mw|articlefeedbackv5-form-abuse}}', |
511 | 556 | 'articlefeedbackv5-form-delete' => '{{Identical|Delete}}', |
— | — | @@ -560,7 +605,8 @@ |
561 | 606 | 'articlefeedbackv5-mask-text-hidden' => 'Text to be displayed on the hidden post mask', |
562 | 607 | 'articlefeedbackv5-mask-text-oversight' => 'Text to be displayed on the oversighted post mask', |
563 | 608 | 'articlefeedbackv5-mask-postnumber' => 'Template for post number, to be displayed on the hidden post mask', |
564 | | - 'articlefeedbackv5-special-disclaimer' => 'Cautionary text that is displayed in red at the top of the feedback dashboard. This will be removed when the requirements and design of this feature are more final.', |
| 609 | + 'articlefeedbackv5-special-disclaimer' => 'Cautionary text that is displayed in red at the top of the feedback dashboard. This will be removed when the requirements and design of this feature are more final.', |
| 610 | + 'articlefeedbackv5-special-goback' => 'Link to take a user from a feedback permalink back to the listing of all feedback', |
565 | 611 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Hide post note flyover panel - panel caption', |
566 | 612 | 'articlefeedbackv5-noteflyover-hide-label' => 'Hide post note flyover panel - text area label', |
567 | 613 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Hide post note flyover panel - text area placeholder text', |
— | — | @@ -636,6 +682,10 @@ |
637 | 683 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'The text for the "Learn how to edit" link', |
638 | 684 | 'articlefeedbackv5-bucket4-form-submit' => 'The text for the big edit button', |
639 | 685 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Overrides {{msg-mw|articlefeedbackv5-help-tooltip-info}} for option 4.', |
| 686 | + 'articlefeedbackv5-bucket4-noedit-title' => 'This is the title of the feedback panel for option 4, when the user cannot edit the article', |
| 687 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1' => 'The first line of the teaser text for option 4, when the user cannot edit the article', |
| 688 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2' => 'The second line of the teaser text for option 4, when the user cannot edit the article', |
| 689 | + 'articlefeedbackv5-bucket4-noedit-form-submit' => 'The text for the big button, when the user cannot edit the article', |
640 | 690 | 'articlefeedbackv5-bucket5-form-panel-explanation' => '{{Identical|What is this}}', |
641 | 691 | 'articlefeedbackv5-bucket5-form-panel-explanation-link' => 'Do not translate "Project:". Also translate the "ArticleFeedback" special page name at [[Special:AdvancedTranslate]].', |
642 | 692 | 'articlefeedbackv5-bucket5-form-panel-helpimprove' => 'This message may not use <nowiki>{{SITENAME}}</nowiki>.', |
— | — | @@ -682,6 +732,8 @@ |
683 | 733 | 'articlefeedbackv5-log-unrequest' => 'Un-request oversight action log string (an oversight request asks an oversighter to delete feedback)', |
684 | 734 | 'articlefeedbackv5-log-flag' => 'Flag post as abuse action log string', |
685 | 735 | 'articlefeedbackv5-log-unflag' => 'Unflag post as abuse action log string', |
| 736 | + 'articlefeedbackv5-log-autohide' => 'Hide a post automatically (for example, when requesting oversight, oversighting, too many abuse flags)', |
| 737 | + 'articlefeedbackv5-log-autoflag' => 'Flag a post as abuse automatically (for example, spam and abuse filtering mechanisms may do this)', |
686 | 738 | 'articlefeedbackv5-activity-pane-header' => 'Flyover panel caption', |
687 | 739 | 'articlefeedbackv5-activity-feedback-info' => 'Post information template. Parameters: |
688 | 740 | * $1 is the feedback post ID, |
— | — | @@ -718,13 +770,12 @@ |
719 | 771 | 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'The emphasis text for {{msg-mw|articlefeedbackv5-disable-flyover-help}} (the name of the tool)', |
720 | 772 | 'articlefeedbackv5-disable-flyover-help-location' => 'A short indication of where to go to change your Article Feedback preferences, inside {{msg-mw|articlefeedbackv5-disable-flyover-help}}', |
721 | 773 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'The text of the big glossy button used to send the user to their preferences in the tooltip that pops up when you click the close button on a feedback trigger link, explaining how to remove the Article Feedback tool', |
| 774 | + 'abusefilter-edit-action-aftv5flagabuse' => 'The text for the checkbox used by Special:AbuseFilter to indicate that a rule should result in the feedback being auto-flagged as abuse', |
722 | 775 | 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'The note to add to the activity log when auto-flagging a new feedback post as abuse (<code>$1</code> is the name of the filter)', |
723 | | - 'abusefilter-edit-action-aftv5flagabuse' => 'The text for the checkbox used by Special:AbuseFilter to indicate that a rule should result in the feedback being auto-flagged as abuse', |
724 | 776 | 'abusefilter-edit-action-aftv5hide' => 'The text for the checkbox used by Special:AbuseFilter to indicate that a rule should result in the feedback being auto-hidden', |
| 777 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'The note to add to the activity log when auto-hiding a new feedback post (<code>$1</code> is the name of the filter)', |
725 | 778 | 'abusefilter-edit-action-aftv5requestoversight' => 'The text for the checkbox used by Special:AbuseFilter to indicate that a rule should result in oversight being automatically requested for the feedback', |
726 | | - 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'The note to add to the activity log when auto-hiding a new feedback post (<code>$1</code> is the name of the filter)', |
727 | 779 | 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'The note to add to the activity log when automatically requesting oversight for a new feedback post (<code>$1</code> is the name of the filter)', |
728 | | - 'articlefeedbackv5-warning-abuse' => 'A basic warning message that may be used by Special:AbuseFilter to let the user know their comment has violated policy (<code>$1</code> is the name of the filter)', |
729 | 780 | ); |
730 | 781 | |
731 | 782 | /** Afrikaans (Afrikaans) |
— | — | @@ -1068,10 +1119,10 @@ |
1069 | 1120 | 'articlefeedbackv5-special-filter-abusive' => 'Пазначаныя як злоўжываньне ($1)', |
1070 | 1121 | 'articlefeedbackv5-special-filter-helpful' => 'Карысныя ($1)', |
1071 | 1122 | 'articlefeedbackv5-special-filter-unhelpful' => 'Некарысныя ($1)', |
1072 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Запытаныя на назіраньне ($1)', |
| 1123 | + 'articlefeedbackv5-special-filter-requested' => 'Запытаныя на назіраньне ($1)', |
1073 | 1124 | 'articlefeedbackv5-special-filter-visible' => 'Усе бачныя ($1)', |
1074 | | - 'articlefeedbackv5-special-filter-invisible' => 'Схаваны ($1)', |
1075 | | - 'articlefeedbackv5-special-filter-deleted' => 'Рэвізаваныя ($1)', |
| 1125 | + 'articlefeedbackv5-special-filter-hidden' => 'Схаваны ($1)', |
| 1126 | + 'articlefeedbackv5-special-filter-oversighted' => 'Рэвізаваныя ($1)', |
1076 | 1127 | 'articlefeedbackv5-special-sort-age' => 'Дата', |
1077 | 1128 | 'articlefeedbackv5-special-sort-helpful' => 'Карыснасьць', |
1078 | 1129 | 'articlefeedbackv5-special-sort-rating' => 'Адзнака', |
— | — | @@ -1084,8 +1135,6 @@ |
1085 | 1136 | 'articlefeedbackv5-special-more' => 'Паказаць болей паведамленьняў', |
1086 | 1137 | 'articlefeedbackv5-special-pagetitle' => 'Водгук: $1', |
1087 | 1138 | 'articlefeedbackv5-form-optionid' => 'Варыянт $1', |
1088 | | - 'articlefeedbackv5-hidden' => 'Гэтае паведамленьне было схаванае аўтарызаваным рэдактарам', |
1089 | | - 'articlefeedbackv5-deleted' => 'Гэтае паведамленьне было выдаленае назіраючымі', |
1090 | 1139 | 'articlefeedbackv5-form-hide' => 'Схаваць гэтае паведамленьне', |
1091 | 1140 | 'articlefeedbackv5-form-unhide' => 'Паказаць гэтае паведамленьне', |
1092 | 1141 | 'articlefeedbackv5-form-helpful' => 'Пазначаныя як карысныя ($1)', |
— | — | @@ -1467,11 +1516,11 @@ |
1468 | 1517 | 'articlefeedbackv5-special-filter-abusive' => 'Merket evel dizereat ($1)', |
1469 | 1518 | 'articlefeedbackv5-special-filter-helpful' => 'Talvoudus ($1)', |
1470 | 1519 | 'articlefeedbackv5-special-filter-unhelpful' => 'Didalvez ($1)', |
1471 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Ezhomm da evezhiañ ($1)', |
| 1520 | + 'articlefeedbackv5-special-filter-requested' => 'Ezhomm da evezhiañ ($1)', |
1472 | 1521 | 'articlefeedbackv5-special-filter-visible' => 'Gwelus an holl ($1)', |
1473 | | - 'articlefeedbackv5-special-filter-invisible' => 'Kuzhet ($1)', |
1474 | | - 'articlefeedbackv5-special-filter-deleted' => 'Evezhiet ($1)', |
1475 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Paouezet da evezhiañ ($1)', |
| 1522 | + 'articlefeedbackv5-special-filter-hidden' => 'Kuzhet ($1)', |
| 1523 | + 'articlefeedbackv5-special-filter-oversighted' => 'Evezhiet ($1)', |
| 1524 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Paouezet da evezhiañ ($1)', |
1476 | 1525 | 'articlefeedbackv5-special-filter-declined' => 'Evezhiañ distaolet ($1)', |
1477 | 1526 | 'articlefeedbackv5-special-filter-unhidden' => 'Anguzhet ($1)', |
1478 | 1527 | 'articlefeedbackv5-special-sort-age' => 'Deiziad', |
— | — | @@ -1486,10 +1535,8 @@ |
1487 | 1536 | 'articlefeedbackv5-special-more' => 'Diskouez evezhiadennoù all', |
1488 | 1537 | 'articlefeedbackv5-special-pagetitle' => 'Soñj: $1', |
1489 | 1538 | 'articlefeedbackv5-form-optionid' => 'Dibarzh $1', |
1490 | | - 'articlefeedbackv5-hidden' => 'Kuzhet eo bet an evezhiadenn-mañ gant ur skridaozer aotreet', |
1491 | | - 'articlefeedbackv5-deleted' => 'Diverket eo bet an evezhiadenn-mañ gant an evezhierien', |
1492 | 1539 | 'articlefeedbackv5-form-hide' => 'Kuzhat ar gemennadenn-mañ', |
1493 | | - 'articlefeedbackv5-form-unhide' => 'Diskouez an evezhiadenn-mañ', |
| 1540 | + 'articlefeedbackv5-form-unhide' => 'Diguzhat an notenn-mañ', |
1494 | 1541 | 'articlefeedbackv5-form-helpful' => 'Merkañ evel talvoudus ($1)', |
1495 | 1542 | 'articlefeedbackv5-form-abuse' => 'Merkañ evel dizereat ($1)', |
1496 | 1543 | 'articlefeedbackv5-form-abuse-masked' => 'Merkañ evel dizereat', |
— | — | @@ -1546,16 +1593,18 @@ |
1547 | 1594 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL: $1|$1 miz|$1 miz}}', |
1548 | 1595 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL: $1|$1 sizhunvezh|$1 sizhunvezh}}', |
1549 | 1596 | 'articlefeedbackv5-timestamp-seconds' => "nebeutoc'h eget ur vunutenn", |
| 1597 | + 'articlefeedbackv5-mask-text-hidden' => 'Kuzhet eo bet an notenn-mañ gant ur skridaozer aotreet', |
| 1598 | + 'articlefeedbackv5-mask-text-oversight' => 'Evezhiet eo bet an notenn-mañ gant ur skridaozer aotreet', |
1550 | 1599 | 'articlefeedbackv5-mask-postnumber' => 'Kemennadenn #$1', |
1551 | 1600 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Kuzhat ar gemennadenn-mañ', |
1552 | 1601 | 'articlefeedbackv5-noteflyover-hide-label' => 'Ouzhpennañ un notenn', |
1553 | 1602 | 'articlefeedbackv5-noteflyover-hide-placeholder' => "Perak 'ta kuzhat an notenn-mañ ?", |
1554 | 1603 | 'articlefeedbackv5-noteflyover-hide-submit' => 'Kuzhat ar gemennadenn-mañ', |
1555 | 1604 | 'articlefeedbackv5-noteflyover-hide-help' => "Gouzout hiroc'h", |
1556 | | - 'articlefeedbackv5-noteflyover-show-caption' => 'Diskouez an evezhiadenn-mañ', |
| 1605 | + 'articlefeedbackv5-noteflyover-show-caption' => 'Diguzhat an notenn-mañ', |
1557 | 1606 | 'articlefeedbackv5-noteflyover-show-label' => 'Ouzhpennañ un notenn', |
1558 | | - 'articlefeedbackv5-noteflyover-show-placeholder' => "Perak 'ta diskouez an notenn-mañ ?", |
1559 | | - 'articlefeedbackv5-noteflyover-show-submit' => 'Diskouez an evezhiadenn-mañ', |
| 1607 | + 'articlefeedbackv5-noteflyover-show-placeholder' => 'Perak diguzhat an notenn-mañ ?', |
| 1608 | + 'articlefeedbackv5-noteflyover-show-submit' => 'Diguzhat an notenn-mañ', |
1560 | 1609 | 'articlefeedbackv5-noteflyover-show-help' => "Gouzout hiroc'h", |
1561 | 1610 | 'articlefeedbackv5-noteflyover-requestoversight-caption' => 'Goulenn ma vo evezhiet', |
1562 | 1611 | 'articlefeedbackv5-noteflyover-requestoversight-label' => 'Ouzhpennañ un notenn', |
— | — | @@ -1700,7 +1749,7 @@ |
1701 | 1750 | 'articlefeedbackv5-log-flag' => 'merket an evezhiadenn [[$1]] evel dizereat', |
1702 | 1751 | 'articlefeedbackv5-log-unflag' => 'diverket dizereadegezh an evezhiadenn [[$1]]', |
1703 | 1752 | 'articlefeedbackv5-activity-pane-header' => 'Marilh obererezh', |
1704 | | - 'articlefeedbackv5-activity-feedback-info' => 'Evezhiadenn postet gant #$1', |
| 1753 | + 'articlefeedbackv5-activity-feedback-info' => 'Evezhiadenn bost #$1 gant $2', |
1705 | 1754 | 'articlefeedbackv5-activity-feedback-date' => 'Postet war $1', |
1706 | 1755 | 'articlefeedbackv5-activity-permalink' => 'Peurliamm', |
1707 | 1756 | 'articlefeedbackv5-activity-request' => 'Evezhiañ goulennet war', |
— | — | @@ -1712,7 +1761,7 @@ |
1713 | 1762 | 'articlefeedbackv5-activity-unflag' => 'na verkañ an notenn-mañ ken war', |
1714 | 1763 | 'articlefeedbackv5-activity-oversight' => 'evezhiañ an notenn-mañ war', |
1715 | 1764 | 'articlefeedbackv5-activity-unoversight' => 'lemel an evezhiañ evit an notenn-mañ war', |
1716 | | - 'articlefeedbackv5-activity-count' => '$1 oberiadenn war an notenn-mañ', |
| 1765 | + 'articlefeedbackv5-activity-count' => '{{PLURAL:$1|$1 oberiadenn war an notenn-mañ|$1 oberiadenn war an notenn-mañ}}', |
1717 | 1766 | 'articlefeedbackv5-activity-more' => "Diskouez muioc'h a obererezh", |
1718 | 1767 | 'articlefeedbackv5-emailcapture-response-body' => "Demat deoc'h ! |
1719 | 1768 | |
— | — | @@ -1736,6 +1785,10 @@ |
1737 | 1786 | |
1738 | 1787 | A wir galon ganeoc'h ha trugarez deoc'h, |
1739 | 1788 | Skipailh {{SITENAME}}", |
| 1789 | + 'articlefeedbackv5-disable-flyover-title' => 'Lemel kuit an ostilh-mañ ?', |
| 1790 | + 'articlefeedbackv5-disable-flyover-help-location' => 'Ma fenndibaboù > Neuz', |
| 1791 | + 'articlefeedbackv5-disable-flyover-prefbutton' => "Mont da'm fenndibaboù", |
| 1792 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Kuzhet ent emgefre. Reolenn : $1', |
1740 | 1793 | ); |
1741 | 1794 | |
1742 | 1795 | /** Bosnian (Bosanski) |
— | — | @@ -2203,8 +2256,8 @@ |
2204 | 2257 | 'articlefeedbackv5-error-email' => 'Diese E-Mail-Adresse ist ungültig.', |
2205 | 2258 | 'articlefeedbackv5-error-blocked' => 'Gesperrte Benutzer können keine Rückmeldung geben.', |
2206 | 2259 | 'articlefeedbackv5-error-validation' => 'Fehler beim Validieren.', |
2207 | | - 'articlefeedbackv5-error-abuse' => 'Dein Kommentar verstößt gegen die $1. Bitte ändere ihn.', |
2208 | | - 'articlefeedbackv5-error-abuse-linktext' => 'Richtlinie bezüglich des Missbrauchs einer Rückmeldung', |
| 2260 | + 'articlefeedbackv5-error-abuse' => 'Dein Beitrag wurde vom Softwarefilter zurückgewiesen, der nahelegt, dass er möglicherweise Wikipedias $1 verletzt. Bitte überarbeite deinen Beitrag und versuche es noch einmal.', |
| 2261 | + 'articlefeedbackv5-error-abuse-linktext' => 'Richtlinien zu Rückmeldungen', |
2209 | 2262 | 'articlefeedbackv5-error-unknown' => 'Unbekannter Fehler.', |
2210 | 2263 | 'articlefeedbackv5-error-submit' => 'Fehler beim Speichern.', |
2211 | 2264 | 'articlefeedbackv5-error-nofeedback' => 'Bitte gib Deine Rückmeldung ein.', |
— | — | @@ -2216,16 +2269,16 @@ |
2217 | 2270 | 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 x Ja|$1 x Ja}} / {{PLURAL:$2|1 x Nein|$2 x Nein}}', |
2218 | 2271 | 'articlefeedbackv5-special-add-feedback' => 'Gib eine Rückmeldung', |
2219 | 2272 | 'articlefeedbackv5-special-filter-all' => 'Alle ($1)', |
2220 | | - 'articlefeedbackv5-special-filter-notdeleted' => 'Alle ($1)', |
| 2273 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Alle (versteckt) ($1)', |
2221 | 2274 | 'articlefeedbackv5-special-filter-comment' => 'Nur Kommentare ($1)', |
2222 | 2275 | 'articlefeedbackv5-special-filter-abusive' => 'Als Missbrauch gekennzeichnet ($1)', |
2223 | 2276 | 'articlefeedbackv5-special-filter-helpful' => 'Hilfreich ($1)', |
2224 | 2277 | 'articlefeedbackv5-special-filter-unhelpful' => 'Nicht hilfreich ($1)', |
2225 | | - 'articlefeedbackv5-special-filter-needsoversight' => "Löschung (''„oversight“'') gefordert ($1)", |
| 2278 | + 'articlefeedbackv5-special-filter-requested' => "Löschung (''„oversight“'') gefordert ($1)", |
2226 | 2279 | 'articlefeedbackv5-special-filter-visible' => 'Alle sichtbaren ($1)', |
2227 | | - 'articlefeedbackv5-special-filter-invisible' => 'Versteckt ($1)', |
2228 | | - 'articlefeedbackv5-special-filter-deleted' => 'Gelöscht ($1)', |
2229 | | - 'articlefeedbackv5-special-filter-undeleted' => "Löschung (''„oversight“'') zurückgenommen ($1)", |
| 2280 | + 'articlefeedbackv5-special-filter-hidden' => 'Versteckt ($1)', |
| 2281 | + 'articlefeedbackv5-special-filter-oversighted' => 'Gelöscht ($1)', |
| 2282 | + 'articlefeedbackv5-special-filter-unoversighted' => "Löschung (''„oversight“'') zurückgenommen ($1)", |
2230 | 2283 | 'articlefeedbackv5-special-filter-declined' => "Löschung (''„oversight“'') abgelehnt ($1)", |
2231 | 2284 | 'articlefeedbackv5-special-filter-unhidden' => 'Sichtbar gemacht ($1)', |
2232 | 2285 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
— | — | @@ -2240,8 +2293,9 @@ |
2241 | 2294 | 'articlefeedbackv5-special-more' => 'Weitere Rückmeldungen anzeigen', |
2242 | 2295 | 'articlefeedbackv5-special-pagetitle' => 'Rückmeldung: $1', |
2243 | 2296 | 'articlefeedbackv5-form-optionid' => 'Option $1', |
2244 | | - 'articlefeedbackv5-hidden' => 'Dieser Beitrag wurde von $1 am $2 ausgeblendet', |
2245 | | - 'articlefeedbackv5-deleted' => 'Dieser Beitrag wurde von $1 am $2 gelöscht', |
| 2297 | + 'articlefeedbackv5-status-hidden' => 'Dieser Beitrag wurde von $1 am $2 um $3 versteckt', |
| 2298 | + 'articlefeedbackv5-status-autohide' => 'Dieser Beitrag wurde von $1 am $2 um $3 automatisch versteckt', |
| 2299 | + 'articlefeedbackv5-status-autoflag' => 'Dieser Beitrag wurde von $1 am $2 um $3 automatisch gekennzeichnet', |
2246 | 2300 | 'articlefeedbackv5-form-hide' => 'Diese Rückmeldung ausblenden', |
2247 | 2301 | 'articlefeedbackv5-form-unhide' => 'Diesen Beitrag einblenden', |
2248 | 2302 | 'articlefeedbackv5-form-helpful' => 'Als hilfreich markieren ($1)', |
— | — | @@ -2272,6 +2326,7 @@ |
2273 | 2327 | 'articlefeedbackv5-error-loading-feedback' => 'Fehler beim Laden der Rückmeldung', |
2274 | 2328 | 'articlefeedbackv5-invalid-feedback-id' => 'Ungültige Rückmeldungskennung', |
2275 | 2329 | 'articlefeedbackv5-invalid-feedback-flag' => 'Ungültige Rückmeldungskennzeichnung', |
| 2330 | + 'articlefeedbackv5-invalid-feedback-state' => 'Ungültiger Kennzeichnungsstatus zur Rückmeldung', |
2276 | 2331 | 'articlefeedbackv5-go-to-article' => 'Seite ansehen', |
2277 | 2332 | 'articlefeedbackv5-discussion-page' => 'Diskussion', |
2278 | 2333 | 'articlefeedbackv5-whats-this' => 'Hilfe', |
— | — | @@ -2303,7 +2358,8 @@ |
2304 | 2359 | 'articlefeedbackv5-mask-text-hidden' => 'Dieser Beitrag wurde von einem dazu berechtigten Benutzer ausgeblendet.', |
2305 | 2360 | 'articlefeedbackv5-mask-text-oversight' => 'Dieser Beitrag wurde von einem dazu berechtigten Benutzer versteckt.', |
2306 | 2361 | 'articlefeedbackv5-mask-postnumber' => 'Beitrag Nr. $1', |
2307 | | - 'articlefeedbackv5-special-disclaimer' => 'Es handelt sich um einen Prototypen. Nutze ihn nicht, es sei denn, du wirst dazu eingeladen es zu tun.', |
| 2362 | + 'articlefeedbackv5-special-disclaimer' => 'Dies ist ein Prototyp. Nutze ihn nicht; es sei denn, du wirst dazu eingeladen, es zu tun.', |
| 2363 | + 'articlefeedbackv5-special-goback' => 'Zurück zur Liste der Rückmeldungen', |
2308 | 2364 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Diese Rückmeldung ausblenden', |
2309 | 2365 | 'articlefeedbackv5-noteflyover-hide-label' => 'Eine Anmerkung hinzufügen', |
2310 | 2366 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Warum blendest du diese Rückmeldung aus?', |
— | — | @@ -2311,7 +2367,7 @@ |
2312 | 2368 | 'articlefeedbackv5-noteflyover-hide-help' => 'Weitere Informationen', |
2313 | 2369 | 'articlefeedbackv5-noteflyover-show-caption' => 'Diesen Beitrag einblenden', |
2314 | 2370 | 'articlefeedbackv5-noteflyover-show-label' => 'Eine Anmerkung hinzufügen', |
2315 | | - 'articlefeedbackv5-noteflyover-show-placeholder' => 'Warum blendest du diese Rückmeldung ein?', |
| 2371 | + 'articlefeedbackv5-noteflyover-show-placeholder' => 'Warum stellst du diese Rückmeldung wieder her?', |
2316 | 2372 | 'articlefeedbackv5-noteflyover-show-submit' => 'Diesen Beitrag einblenden', |
2317 | 2373 | 'articlefeedbackv5-noteflyover-show-help' => 'Weitere Informationen', |
2318 | 2374 | 'articlefeedbackv5-noteflyover-requestoversight-caption' => 'Löschung beantragen', |
— | — | @@ -2375,6 +2431,10 @@ |
2376 | 2432 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'Lerne, wie man Seiten bearbeitet', |
2377 | 2433 | 'articlefeedbackv5-bucket4-form-submit' => 'Diese Seite bearbeiten', |
2378 | 2434 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Wikipedia möchte wissen, was du denkst. Hilf mit, diese Seite zu verbessern, indem du ein Autor wirst.', |
| 2435 | + 'articlefeedbackv5-bucket4-noedit-title' => 'Hilf die Wikipedia zu verbessern', |
| 2436 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1' => 'Diese Website wird von Menschen wie dir erstellt.', |
| 2437 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2' => 'Kannst du uns helfen?', |
| 2438 | + 'articlefeedbackv5-bucket4-noedit-form-submit' => 'Weitere Informationen', |
2379 | 2439 | 'articlefeedbackv5-bucket5-form-switch-label' => 'Diese Seite einschätzen', |
2380 | 2440 | 'articlefeedbackv5-bucket5-form-panel-title' => 'Diese Seite einschätzen', |
2381 | 2441 | 'articlefeedbackv5-bucket5-form-panel-explanation' => 'Worum handelt es sich?', |
— | — | @@ -2453,7 +2513,7 @@ |
2454 | 2514 | 'articlefeedbackv5-log-hidden' => 'versteckte die Rückmeldung [[$1]]', |
2455 | 2515 | 'articlefeedbackv5-log-unhidden' => 'blendete die Rückmeldung [[$1]] wieder ein', |
2456 | 2516 | 'articlefeedbackv5-log-decline' => 'lehnte den Löschantrag zur Rückmeldung [[$1]] ab', |
2457 | | - 'articlefeedbackv5-log-request' => 'beantragte die Löschung der Rückmeldung [[$1]]', |
| 2517 | + 'articlefeedbackv5-log-request' => 'beantragte die Löschung von [[$1]]', |
2458 | 2518 | 'articlefeedbackv5-log-unrequest' => 'entfernte den Löschantrag zur Rückmeldung [[$1]]', |
2459 | 2519 | 'articlefeedbackv5-log-flag' => 'kennzeichnete die Rückmeldung [[$1]] als Missbrauch', |
2460 | 2520 | 'articlefeedbackv5-log-unflag' => 'entfernte die Missbrauchskennzeichnung der Rückmeldung [[$1]]', |
— | — | @@ -2521,9 +2581,14 @@ |
2522 | 2582 | 'articlefeedbackv5-disable-flyover-title' => 'Diese Funktion entfernen?', |
2523 | 2583 | 'articlefeedbackv5-disable-flyover-help-goto' => 'Um die $1 zu entfernen, geh zu', |
2524 | 2584 | 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'Rückmeldungen zu Artikeln', |
2525 | | - 'articlefeedbackv5-disable-flyover-help-location' => 'Einstellungen > Aussehen', |
2526 | | - 'articlefeedbackv5-disable-flyover-help-direction' => 'und klicke auf', |
| 2585 | + 'articlefeedbackv5-disable-flyover-help-location' => 'Meine Einstellungen > Aussehen', |
2527 | 2586 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Zu meinen Einstellungen', |
| 2587 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Seiteneinschätzung) Automatisch als Missbrauch kennzeichnen', |
| 2588 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Automatisch als Missbrauch gekennzeichnet. Regel: $1', |
| 2589 | + 'abusefilter-edit-action-aftv5hide' => '(Seiteneinschätzung) Automatisch verstecken', |
| 2590 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Automatisch versteckt. Regel: $1', |
| 2591 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Seiteneinschätzung) Automatisch Löschung beantragen', |
| 2592 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Automatisch Löschung beantragt. Regel: $1', |
2528 | 2593 | ); |
2529 | 2594 | |
2530 | 2595 | /** German (formal address) (Deutsch (Sie-Form)) |
— | — | @@ -2541,12 +2606,12 @@ |
2542 | 2607 | 'articlefeedbackv5-cta2-confirmation-call' => 'Diese Website wird von Menschen wie Ihnen erstellt. Können Sie uns helfen?', |
2543 | 2608 | 'articlefeedbackv5-cta3-confirmation-title' => 'Bitte nehmen Sie an einer kurzen Umfrage teil', |
2544 | 2609 | 'articlefeedbackv5-error' => 'Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.', |
2545 | | - 'articlefeedbackv5-error-abuse' => 'Ihr Kommentar verstößt gegen die $1. Bitte ändern Sie ihn.', |
| 2610 | + 'articlefeedbackv5-error-abuse' => 'Ihr Beitrag wurde vom Softwarefilter zurückgewiesen, der nahelegt, dass er möglicherweise Wikipedias $1 verletzt. Bitte überarbeiten Sie Ihren Beitrag und versuchen es noch einmal.', |
2546 | 2611 | 'articlefeedbackv5-error-nofeedback' => 'Bitte geben Sie Ihre Rückmeldung ein.', |
2547 | 2612 | 'articlefeedbackv5-special-add-feedback' => 'Geben Sie ein Rückmeldung', |
2548 | | - 'articlefeedbackv5-special-disclaimer' => 'Es handelt sich um einen Prototypen. Nutzen Sie ihn nicht, es sei denn, Sie werden dazu eingeladen es zu tun.', |
| 2613 | + 'articlefeedbackv5-special-disclaimer' => 'Dies ist ein Prototyp. Nutzen Sie ihn nicht; es sei denn, Sie werden dazu eingeladen, es zu tun.', |
2549 | 2614 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Warum blenden Sie diese Rückmeldung aus?', |
2550 | | - 'articlefeedbackv5-noteflyover-show-placeholder' => 'Warum blenden Sie diese Rückmeldung ein?', |
| 2615 | + 'articlefeedbackv5-noteflyover-show-placeholder' => 'Warum stellen Sie diese Rückmeldung wieder her?', |
2551 | 2616 | 'articlefeedbackv5-noteflyover-requestoversight-placeholder' => 'Warum beantragen Sie die Löschung?', |
2552 | 2617 | 'articlefeedbackv5-noteflyover-unrequestoversight-placeholder' => 'Warum nehmen Sie den Antrag zur Löschung zurück?', |
2553 | 2618 | 'articlefeedbackv5-noteflyover-oversight-placeholder' => 'Warum verstecken Sie diese Rückmeldung?', |
— | — | @@ -2570,6 +2635,9 @@ |
2571 | 2636 | 'articlefeedbackv5-bucket4-teaser-line2' => 'Nur zu, versuchen Sie es und seien Sie mutig!', |
2572 | 2637 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'Lernen Sie wie man Seiten bearbeitet', |
2573 | 2638 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Wikipedia möchte wissen, was Sie denken. Helfen Sie mit, diese Seite zu verbessern, indem Sie ein Autor werden.', |
| 2639 | + 'articlefeedbackv5-bucket4-noedit-title' => 'Helfen Sie die Wikipedia zu verbessern', |
| 2640 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1' => 'Diese Website wird von Menschen wie Ihnen erstellt.', |
| 2641 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2' => 'Können Sie uns helfen?', |
2574 | 2642 | 'articlefeedbackv5-bucket5-form-panel-helpimprove' => 'Ich möchte dabei helfen, Wikipedia zu verbessern. Senden Sie mir bitte eine E-Mail. (optional)', |
2575 | 2643 | 'articlefeedbackv5-bucket5-form-panel-helpimprove-note' => 'Wir werden Ihnen eine Bestätigungs-E-Mail senden. Wir geben Ihre E-Mail-Adresse, gemäß unserer $1, nicht an Dritte weiter.', |
2576 | 2644 | 'articlefeedbackv5-bucket5-form-panel-pending' => 'Ihre Bewertung wurde noch nicht übertragen', |
— | — | @@ -2657,8 +2725,8 @@ |
2658 | 2726 | 'articlefeedbackv5-error-email' => 'Toś ta e-mailowa adresa njejo płaśiwa.', |
2659 | 2727 | 'articlefeedbackv5-error-blocked' => 'Zablokěrowane wužywarje njamógu komentary pósłaś.', |
2660 | 2728 | 'articlefeedbackv5-error-validation' => 'Pśekontrolěrowańska zmólka.', |
2661 | | - 'articlefeedbackv5-error-abuse' => 'Twój komentar pśejźo se pśeśiwo $1. Pšosym změń jen.', |
2662 | | - 'articlefeedbackv5-error-abuse-linktext' => 'Pšawidła za znjewužywanje komentarow', |
| 2729 | + 'articlefeedbackv5-error-abuse' => 'Twój komentar jo se pśez softwarowy filter wótpokazał, kótaryž měni, až wón jo pśeśiwo $1 Wikipedije pśejšeł. Pšosym pśeglědaj swój komentar a wopytaj hyšći raz.', |
| 2730 | + 'articlefeedbackv5-error-abuse-linktext' => 'směrnicam za komentary', |
2663 | 2731 | 'articlefeedbackv5-error-unknown' => 'Njeznata zmólka.', |
2664 | 2732 | 'articlefeedbackv5-error-submit' => 'Zmólka pśi wótesćełanju formulara.', |
2665 | 2733 | 'articlefeedbackv5-error-nofeedback' => 'Pšosym zapódaj swój komentar.', |
— | — | @@ -2675,10 +2743,10 @@ |
2676 | 2744 | 'articlefeedbackv5-special-filter-abusive' => 'Ako znjewužywanje wóznamjenjony ($1)', |
2677 | 2745 | 'articlefeedbackv5-special-filter-helpful' => 'Pomocniwy ($1)', |
2678 | 2746 | 'articlefeedbackv5-special-filter-unhelpful' => 'Njepomocniwy ($1)', |
2679 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Doglědowanje pominane ($1)', |
| 2747 | + 'articlefeedbackv5-special-filter-requested' => 'Doglědowanje pominane ($1)', |
2680 | 2748 | 'articlefeedbackv5-special-filter-visible' => 'Wšykne widobne ($1)', |
2681 | | - 'articlefeedbackv5-special-filter-invisible' => 'Schowany ($1)', |
2682 | | - 'articlefeedbackv5-special-filter-deleted' => 'Doglědowany ($1)', |
| 2749 | + 'articlefeedbackv5-special-filter-hidden' => 'Schowany ($1)', |
| 2750 | + 'articlefeedbackv5-special-filter-oversighted' => 'Doglědowany ($1)', |
2683 | 2751 | 'articlefeedbackv5-special-filter-declined' => 'Doglědowanje wótpokazane ($1)', |
2684 | 2752 | 'articlefeedbackv5-special-filter-unhidden' => 'Zasej pokazany ($1)', |
2685 | 2753 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
— | — | @@ -2693,8 +2761,6 @@ |
2694 | 2762 | 'articlefeedbackv5-special-more' => 'Dalšne powěsći pokazaś', |
2695 | 2763 | 'articlefeedbackv5-special-pagetitle' => 'Komentary: $1', |
2696 | 2764 | 'articlefeedbackv5-form-optionid' => 'Opcija $1', |
2697 | | - 'articlefeedbackv5-hidden' => 'Toś ten pśinosk jo se wót $1 dnja $2 schował', |
2698 | | - 'articlefeedbackv5-deleted' => 'Toś ten pśinosk jo se wót $1 dnja $2 wulašował', |
2699 | 2765 | 'articlefeedbackv5-form-hide' => 'Toś ten pśinosk schowaś', |
2700 | 2766 | 'articlefeedbackv5-form-unhide' => 'Toś tu powěsć pokazaś', |
2701 | 2767 | 'articlefeedbackv5-form-helpful' => 'Ako pomocniwy markěrowaś ($1)', |
— | — | @@ -3068,7 +3134,7 @@ |
3069 | 3135 | 'articlefeedbackv5-special-filter-notdeleted' => 'Ĉio ($1)', |
3070 | 3136 | 'articlefeedbackv5-special-filter-abusive' => 'Marki kiel misuzon ($1)', |
3071 | 3137 | 'articlefeedbackv5-special-filter-visible' => 'Ĉio videbla ($1)', |
3072 | | - 'articlefeedbackv5-special-filter-invisible' => 'Kaŝita ($1)', |
| 3138 | + 'articlefeedbackv5-special-filter-hidden' => 'Kaŝita ($1)', |
3073 | 3139 | 'articlefeedbackv5-special-sort-age' => 'Dato', |
3074 | 3140 | 'articlefeedbackv5-special-sort-rating' => 'Takso', |
3075 | 3141 | 'articlefeedbackv5-special-sort-label-before' => 'Ordigi laŭ:', |
— | — | @@ -3273,8 +3339,8 @@ |
3274 | 3340 | 'articlefeedbackv5-error-email' => 'La dirección de correo electrónico no es válida.', |
3275 | 3341 | 'articlefeedbackv5-error-blocked' => 'Los usuarios bloqueados no pueden enviar comentarios.', |
3276 | 3342 | 'articlefeedbackv5-error-validation' => 'Error de validación', |
3277 | | - 'articlefeedbackv5-error-abuse' => 'Su comentario viola la $1. Por favor revíselo.', |
3278 | | - 'articlefeedbackv5-error-abuse-linktext' => 'política de abuso de los comentarios', |
| 3343 | + 'articlefeedbackv5-error-abuse' => 'Su mensaje (post) ha sido rechazado por un filtro de software que sugiere que puede haber violado $1 de Wikipedia. Revise su post e inténtelo de nuevo.', |
| 3344 | + 'articlefeedbackv5-error-abuse-linktext' => 'guía para los comentarios', |
3279 | 3345 | 'articlefeedbackv5-error-unknown' => 'Error desconocido.', |
3280 | 3346 | 'articlefeedbackv5-error-submit' => 'Error de envío de formulario.', |
3281 | 3347 | 'articlefeedbackv5-error-nofeedback' => 'Introduce tus comentarios.', |
— | — | @@ -3286,16 +3352,17 @@ |
3287 | 3353 | 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 sí|$1 sí}} / {{PLURAL:$2|1 no|$2 no}}', |
3288 | 3354 | 'articlefeedbackv5-special-add-feedback' => 'Envíe su comentario', |
3289 | 3355 | 'articlefeedbackv5-special-filter-all' => 'Todos (supervisión) ($1)', |
3290 | | - 'articlefeedbackv5-special-filter-notdeleted' => 'Todos ($1)', |
| 3356 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Todos (ocultos) ($1)', |
3291 | 3357 | 'articlefeedbackv5-special-filter-comment' => 'Sólo comentarios ($1)', |
3292 | 3358 | 'articlefeedbackv5-special-filter-abusive' => 'Marcado como inadecuado ($1)', |
3293 | 3359 | 'articlefeedbackv5-special-filter-helpful' => 'Útil ($1)', |
3294 | 3360 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inútil ($1)', |
3295 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Supervisión solicitada ($1)', |
| 3361 | + 'articlefeedbackv5-special-filter-requested' => 'Supervisión solicitada ($1)', |
| 3362 | + 'articlefeedbackv5-special-filter-unrequested' => 'Supervisión no solicitada ($1)', |
3296 | 3363 | 'articlefeedbackv5-special-filter-visible' => 'Todo visible ($1)', |
3297 | | - 'articlefeedbackv5-special-filter-invisible' => 'Oculto ($1)', |
3298 | | - 'articlefeedbackv5-special-filter-deleted' => 'Supervisado ($1)', |
3299 | | - 'articlefeedbackv5-special-filter-undeleted' => 'No supervisado ($1)', |
| 3364 | + 'articlefeedbackv5-special-filter-hidden' => 'Oculto ($1)', |
| 3365 | + 'articlefeedbackv5-special-filter-oversighted' => 'Supervisado ($1)', |
| 3366 | + 'articlefeedbackv5-special-filter-unoversighted' => 'No supervisado ($1)', |
3300 | 3367 | 'articlefeedbackv5-special-filter-declined' => 'Supervisión rechazada ($1)', |
3301 | 3368 | 'articlefeedbackv5-special-filter-unhidden' => 'No ocultado ($1)', |
3302 | 3369 | 'articlefeedbackv5-special-sort-age' => 'Fecha', |
— | — | @@ -3310,8 +3377,15 @@ |
3311 | 3378 | 'articlefeedbackv5-special-more' => 'Mostrar más entradas', |
3312 | 3379 | 'articlefeedbackv5-special-pagetitle' => 'Comentarios:$1', |
3313 | 3380 | 'articlefeedbackv5-form-optionid' => 'Opción $1', |
3314 | | - 'articlefeedbackv5-hidden' => 'Esta entrada (post) fue ocultada por $1 en $2', |
3315 | | - 'articlefeedbackv5-deleted' => 'Esta entrada (post) fue eliminada por $1 en $2', |
| 3381 | + 'articlefeedbackv5-status-hidden' => 'Esta entrada (post) fue ocultada por $1 en $2 el $3', |
| 3382 | + 'articlefeedbackv5-status-unhidden' => 'Esta entrada (post) fue desocultada por $1 en $2 el $3', |
| 3383 | + 'articlefeedbackv5-status-request' => 'La supervisión para esta entrada (post) fue solicitada por $1 en $2 el $3', |
| 3384 | + 'articlefeedbackv5-status-unrequest' => 'La anulación de la solicitud de supervisión para esta entrada (post) fue realizada por $1 en $2 el $3', |
| 3385 | + 'articlefeedbackv5-status-declined' => 'La supervisión para esta entrada (post) fue rechazada por $1 en $2 el $3', |
| 3386 | + 'articlefeedbackv5-status-autohide' => 'Esta entrada (post) fue auto-ocultada por $1 en $2 el $3', |
| 3387 | + 'articlefeedbackv5-status-deleted' => 'Esta entrada (post) fue supervisada por $1 en $2 el $3', |
| 3388 | + 'articlefeedbackv5-status-undeleted' => 'Se anuló la supervisión de esta entrada (post) por $1 en $2 el $3', |
| 3389 | + 'articlefeedbackv5-status-autoflag' => 'Esta entrada (post) fue desmarcada por $1 en $2 el $3', |
3316 | 3390 | 'articlefeedbackv5-form-hide' => 'Ocultar esta entrada (post)', |
3317 | 3391 | 'articlefeedbackv5-form-unhide' => 'Descubrir esta entrada (post)', |
3318 | 3392 | 'articlefeedbackv5-form-helpful' => 'Marcar como útil ($1)', |
— | — | @@ -3374,6 +3448,7 @@ |
3375 | 3449 | 'articlefeedbackv5-mask-text-oversight' => 'Esta entrada (post) fue supervisada por un editor autorizado', |
3376 | 3450 | 'articlefeedbackv5-mask-postnumber' => "Mensaje (''post'') #$1", |
3377 | 3451 | 'articlefeedbackv5-special-disclaimer' => 'Esto es un prototipo. Por favor no lo utilice a menos que ha sido invitado para hacerlo.', |
| 3452 | + 'articlefeedbackv5-special-goback' => 'volver a la lista de comentarios', |
3378 | 3453 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Ocultar esta entrada (post)', |
3379 | 3454 | 'articlefeedbackv5-noteflyover-hide-label' => 'Agregar una nota', |
3380 | 3455 | 'articlefeedbackv5-noteflyover-hide-placeholder' => '¿Por qué está ocultando esta entrada de blog (post)?', |
— | — | @@ -3522,9 +3597,9 @@ |
3523 | 3598 | 'articlefeedbackv5-log-unoversight' => 'eliminado el estado de supervisión [[$1]] del comentario', |
3524 | 3599 | 'articlefeedbackv5-log-hidden' => 'ocultar el comentario [[$1]]', |
3525 | 3600 | 'articlefeedbackv5-log-unhidden' => 'desocultar el comentario [[$1]]', |
3526 | | - 'articlefeedbackv5-log-decline' => 'rechazada la petición de supervisión del comentario [[$1]]', |
3527 | | - 'articlefeedbackv5-log-request' => 'solicitada supervisión del comentario [[$1]]', |
3528 | | - 'articlefeedbackv5-log-unrequest' => 'eliminada la supervisión solicitada del comentario [[$1]]', |
| 3601 | + 'articlefeedbackv5-log-decline' => 'rechazada la supervisión del comentario [[$1]]', |
| 3602 | + 'articlefeedbackv5-log-request' => 'solicitada supervisión de [[$1]]', |
| 3603 | + 'articlefeedbackv5-log-unrequest' => 'Anulada la supervisión del comentario [[$1]]', |
3529 | 3604 | 'articlefeedbackv5-log-flag' => 'marcado el comentario [[$1]] como abusivo', |
3530 | 3605 | 'articlefeedbackv5-log-unflag' => 'desmarcado el comentario [[$1]] como abusivo', |
3531 | 3606 | 'articlefeedbackv5-activity-pane-header' => 'Registro de actividad', |
— | — | @@ -3590,6 +3665,12 @@ |
3591 | 3666 | 'articlefeedbackv5-disable-flyover-help-location' => 'Mis preferencias > Aspecto', |
3592 | 3667 | 'articlefeedbackv5-disable-flyover-help-direction' => 'y verifique', |
3593 | 3668 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Ir a Mis preferencias', |
| 3669 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Comentarios del artículo) Marcado automático como abusivo', |
| 3670 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Marcado automáticamente como abuso. Regla: $1', |
| 3671 | + 'abusefilter-edit-action-aftv5hide' => '(Comentarios del artículo) Ocultar automáticamente', |
| 3672 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Ocultado automáticamente. Regla: $1', |
| 3673 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Comentarios del artículo) Solicitud de supervisión automática', |
| 3674 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Supervisión solicitada automáticamente. Regla: $1', |
3594 | 3675 | ); |
3595 | 3676 | |
3596 | 3677 | /** Estonian (Eesti) |
— | — | @@ -3771,6 +3852,7 @@ |
3772 | 3853 | 'articlefeedbackv5-error-unknown' => 'خطای ناشناخته.', |
3773 | 3854 | 'articlefeedbackv5-error-submit' => 'خطای در فرستادن فرم.', |
3774 | 3855 | 'articlefeedbackv5-error-nofeedback' => 'خواهشمندیم بازخورد خود را وارد کنید.', |
| 3856 | + 'articlefeedbackv5-error-flagging' => 'خطا در پرچمدارکردن بازخورد.', |
3775 | 3857 | 'articlefeedbackv5-form-tools-label' => 'ابزارها', |
3776 | 3858 | 'articlefeedbackv5-form-helpful-yes-label' => 'بله', |
3777 | 3859 | 'articlefeedbackv5-form-helpful-no-label' => 'خیر', |
— | — | @@ -3778,8 +3860,10 @@ |
3779 | 3861 | 'articlefeedbackv5-special-filter-all' => 'همه (نظارت) ($1)', |
3780 | 3862 | 'articlefeedbackv5-special-filter-notdeleted' => 'همه ($1)', |
3781 | 3863 | 'articlefeedbackv5-special-filter-comment' => 'فقط نظرات ($1)', |
| 3864 | + 'articlefeedbackv5-special-filter-helpful' => 'مفید ($1)', |
| 3865 | + 'articlefeedbackv5-special-filter-unhelpful' => 'غیرمفید ($1)', |
3782 | 3866 | 'articlefeedbackv5-special-filter-visible' => 'همگی قابل دیدن ($1)', |
3783 | | - 'articlefeedbackv5-special-filter-invisible' => 'پنهان ($1)', |
| 3867 | + 'articlefeedbackv5-special-filter-hidden' => 'پنهان ($1)', |
3784 | 3868 | 'articlefeedbackv5-special-sort-age' => 'تاریخ', |
3785 | 3869 | 'articlefeedbackv5-special-sort-helpful' => 'سودمند', |
3786 | 3870 | 'articlefeedbackv5-special-sort-rating' => 'ارزشدهی', |
— | — | @@ -3835,9 +3919,13 @@ |
3836 | 3920 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|$1 ماه|$1 ماه}}', |
3837 | 3921 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|$1 هفته|$1 هفته}}', |
3838 | 3922 | 'articlefeedbackv5-timestamp-seconds' => 'کمتر از ۱ دقیقه', |
| 3923 | + 'articlefeedbackv5-mask-postnumber' => 'پست #$1', |
3839 | 3924 | 'articlefeedbackv5-noteflyover-hide-caption' => 'پنهان کردن این پست', |
3840 | 3925 | 'articlefeedbackv5-noteflyover-hide-label' => 'افزودن یادداشت', |
| 3926 | + 'articlefeedbackv5-noteflyover-hide-submit' => 'پنهانکردن این پست', |
3841 | 3927 | 'articlefeedbackv5-noteflyover-hide-help' => 'اطلاعات بیشتر', |
| 3928 | + 'articlefeedbackv5-noteflyover-show-caption' => 'آشکارکردن این پست', |
| 3929 | + 'articlefeedbackv5-noteflyover-show-label' => 'افزودن یادداشت', |
3842 | 3930 | 'articlefeedbackv5-noteflyover-show-help' => 'اطلاعات بیشتر', |
3843 | 3931 | 'articlefeedbackv5-noteflyover-requestoversight-label' => 'افزودن یادداشت', |
3844 | 3932 | 'articlefeedbackv5-noteflyover-requestoversight-help' => 'اطلاعات بیشتر', |
— | — | @@ -3950,7 +4038,11 @@ |
3951 | 4039 | 'articlefeedbackv5-toolbox-linktext' => 'بهبود این صفحه', |
3952 | 4040 | 'articlefeedbackv5-disable-preference' => 'ابزار بازخورد مقاله را در صفحهها نشان نده', |
3953 | 4041 | 'right-aftv5-hide-feedback' => 'پنهانکردن بازخورد', |
| 4042 | + 'right-aftv5-delete-feedback' => 'حذف بازخورد', |
| 4043 | + 'right-aftv5-see-deleted-feedback' => 'نمایش بازخورد حذفشده', |
| 4044 | + 'right-aftv5-see-hidden-feedback' => 'نمایش بازخورد پنهان', |
3954 | 4045 | 'articlefeedbackv5-activity-pane-header' => 'سیاههٔ فعالیت', |
| 4046 | + 'articlefeedbackv5-activity-more' => 'نمایش فعالیت بیشتر', |
3955 | 4047 | 'articlefeedbackv5-emailcapture-response-body' => 'سلام! |
3956 | 4048 | |
3957 | 4049 | از شما برای ابراز علاقه در بهبود {{SITENAME}} تشکر میکنم. |
— | — | @@ -3973,6 +4065,8 @@ |
3974 | 4066 | |
3975 | 4067 | با تشکر از شما، بهترین آرزوها را برایتان داریم، |
3976 | 4068 | گروه {{SITENAME}}', |
| 4069 | + 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'ارزیابی مقالهها', |
| 4070 | + 'articlefeedbackv5-disable-flyover-prefbutton' => 'رفتن به ترجیحات من', |
3977 | 4071 | ); |
3978 | 4072 | |
3979 | 4073 | /** Finnish (Suomi) |
— | — | @@ -4180,7 +4274,9 @@ |
4181 | 4275 | ); |
4182 | 4276 | |
4183 | 4277 | /** French (Français) |
| 4278 | + * @author Cquoi |
4184 | 4279 | * @author Crochet.david |
| 4280 | + * @author Dereckson |
4185 | 4281 | * @author Faure.thomas |
4186 | 4282 | * @author Gomoko |
4187 | 4283 | * @author Grondin |
— | — | @@ -4212,8 +4308,8 @@ |
4213 | 4309 | 'articlefeedbackv5-error-email' => 'Cette adresse de courriel n’est pas valide.', |
4214 | 4310 | 'articlefeedbackv5-error-blocked' => 'Les utilisateurs bloqués ne doivent pas pouvoir envoyer de commentaires.', |
4215 | 4311 | 'articlefeedbackv5-error-validation' => 'Erreur de validation.', |
4216 | | - 'articlefeedbackv5-error-abuse' => 'Votre commentaire viole la $1. Veuillez le revoir.', |
4217 | | - 'articlefeedbackv5-error-abuse-linktext' => "politique d'abus sur les commentaires", |
| 4312 | + 'articlefeedbackv5-error-abuse' => "Votre publication a été rejetée par un logiciel de filtrage qui suggère qu'elle peut violer $1 de Wikipédia. Veuillez revoir votre proposition et essayer de nouveau.", |
| 4313 | + 'articlefeedbackv5-error-abuse-linktext' => 'lignes de conduite sur les commentaires', |
4218 | 4314 | 'articlefeedbackv5-error-unknown' => 'Erreur inconnue.', |
4219 | 4315 | 'articlefeedbackv5-error-submit' => 'Erreur lors de la soumission du formulaire.', |
4220 | 4316 | 'articlefeedbackv5-error-nofeedback' => 'Veuillez entrer votre avis.', |
— | — | @@ -4225,16 +4321,17 @@ |
4226 | 4322 | 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 oui|$1 oui}} / {{PLURAL:$2|1 non|$2 non}}', |
4227 | 4323 | 'articlefeedbackv5-special-add-feedback' => 'Ajouter votre avis', |
4228 | 4324 | 'articlefeedbackv5-special-filter-all' => 'Tous (surveillance) ($1)', |
4229 | | - 'articlefeedbackv5-special-filter-notdeleted' => 'Tous ($1)', |
| 4325 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Tous (caché) ( $1 )', |
4230 | 4326 | 'articlefeedbackv5-special-filter-comment' => 'Commentaires seulement ($1)', |
4231 | 4327 | 'articlefeedbackv5-special-filter-abusive' => 'Marqué comme abusif ($1)', |
4232 | 4328 | 'articlefeedbackv5-special-filter-helpful' => 'Utile ($1)', |
4233 | 4329 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inutile ($1)', |
4234 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Surveillance demandée ($1)', |
| 4330 | + 'articlefeedbackv5-special-filter-requested' => 'Surveillance demandée ($1)', |
| 4331 | + 'articlefeedbackv5-special-filter-unrequested' => 'Surveillance non demandée ($1)', |
4235 | 4332 | 'articlefeedbackv5-special-filter-visible' => 'Tous visibles ($1)', |
4236 | | - 'articlefeedbackv5-special-filter-invisible' => 'Caché ($1)', |
4237 | | - 'articlefeedbackv5-special-filter-deleted' => 'Surveillé ($1)', |
4238 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Plus surveillé ($1)', |
| 4333 | + 'articlefeedbackv5-special-filter-hidden' => 'Caché ($1)', |
| 4334 | + 'articlefeedbackv5-special-filter-oversighted' => 'Surveillé ($1)', |
| 4335 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Plus surveillé ($1)', |
4239 | 4336 | 'articlefeedbackv5-special-filter-declined' => 'Surveillance refusée ($1)', |
4240 | 4337 | 'articlefeedbackv5-special-filter-unhidden' => 'Non-masqué ($1)', |
4241 | 4338 | 'articlefeedbackv5-special-sort-age' => 'Date', |
— | — | @@ -4249,8 +4346,9 @@ |
4250 | 4347 | 'articlefeedbackv5-special-more' => 'Afficher davantage de notes', |
4251 | 4348 | 'articlefeedbackv5-special-pagetitle' => 'Avis: $1', |
4252 | 4349 | 'articlefeedbackv5-form-optionid' => 'Option $1', |
4253 | | - 'articlefeedbackv5-hidden' => 'Cette note a été masquée par $1 sur $2', |
4254 | | - 'articlefeedbackv5-deleted' => 'Cette note a été supprimée par $1 sur $2', |
| 4350 | + 'articlefeedbackv5-status-hidden' => 'Ce commentaire a été masqué par $1 le $2 à $3', |
| 4351 | + 'articlefeedbackv5-status-unhidden' => 'Ce commentaire a été ré-affiché par $1 le $2', |
| 4352 | + 'articlefeedbackv5-status-request' => 'La surveillance de ce commentaire a été demandée par $1 le $2 à $3', |
4255 | 4353 | 'articlefeedbackv5-form-hide' => 'Masquer cette publication', |
4256 | 4354 | 'articlefeedbackv5-form-unhide' => 'Ne plus cacher ce mot', |
4257 | 4355 | 'articlefeedbackv5-form-helpful' => 'Marquer comme utile ($1)', |
— | — | @@ -4313,6 +4411,7 @@ |
4314 | 4412 | 'articlefeedbackv5-mask-text-oversight' => 'Cette note a été surveillée par un éditeur agréé', |
4315 | 4413 | 'articlefeedbackv5-mask-postnumber' => 'Note #$1', |
4316 | 4414 | 'articlefeedbackv5-special-disclaimer' => "Il s'agit d'un prototype. Veuillez ne pas l'utiliser sauf si vous y avez été invités.", |
| 4415 | + 'articlefeedbackv5-special-goback' => 'Revenir à la liste des commentaires', |
4317 | 4416 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Cacher cette note', |
4318 | 4417 | 'articlefeedbackv5-noteflyover-hide-label' => 'Ajouter une note', |
4319 | 4418 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Pourquoi cachez-vous cette note?', |
— | — | @@ -4529,6 +4628,12 @@ |
4530 | 4629 | 'articlefeedbackv5-disable-flyover-help-location' => 'Mes Préférences > Apparence', |
4531 | 4630 | 'articlefeedbackv5-disable-flyover-help-direction' => 'et cocher', |
4532 | 4631 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Aller à mes préférences', |
| 4632 | + 'abusefilter-edit-action-aftv5flagabuse' => "(Commentaires de l'article) Marquage automatique comme abusif", |
| 4633 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Automatiquement marqué comme abusif. Règle: $1', |
| 4634 | + 'abusefilter-edit-action-aftv5hide' => "(Commentaires de l'article) Masquage automatique", |
| 4635 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Automatiquement caché. Règle: $1', |
| 4636 | + 'abusefilter-edit-action-aftv5requestoversight' => "(Commentaires de l'article) Surveillance demandée automatiquement", |
| 4637 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Surveillance automatiquement demandée. Règle: $1', |
4533 | 4638 | ); |
4534 | 4639 | |
4535 | 4640 | /** Franco-Provençal (Arpetan) |
— | — | @@ -4745,8 +4850,8 @@ |
4746 | 4851 | 'articlefeedbackv5-error-email' => 'O enderezo de correo electrónico é incorrecto.', |
4747 | 4852 | 'articlefeedbackv5-error-blocked' => 'Os usuarios bloqueados non poden enviar comentarios.', |
4748 | 4853 | 'articlefeedbackv5-error-validation' => 'Erro de validación.', |
4749 | | - 'articlefeedbackv5-error-abuse' => 'O seu comentario incumpre a $1. Revise as súas palabras.', |
4750 | | - 'articlefeedbackv5-error-abuse-linktext' => 'política de abuso', |
| 4854 | + 'articlefeedbackv5-error-abuse' => 'O filtro do software rexeitou o seu comentario porque incumpre as $1 da Wikipedia. Revise as súas palabras e inténteo de novo.', |
| 4855 | + 'articlefeedbackv5-error-abuse-linktext' => 'normas sobre comentarios', |
4751 | 4856 | 'articlefeedbackv5-error-unknown' => 'Erro descoñecido.', |
4752 | 4857 | 'articlefeedbackv5-error-submit' => 'Erro no envío do formulario.', |
4753 | 4858 | 'articlefeedbackv5-error-nofeedback' => 'Dea a súa opinión.', |
— | — | @@ -4763,11 +4868,11 @@ |
4764 | 4869 | 'articlefeedbackv5-special-filter-abusive' => 'Marcado como abusivo ($1)', |
4765 | 4870 | 'articlefeedbackv5-special-filter-helpful' => 'Útil ($1)', |
4766 | 4871 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inútil ($1)', |
4767 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Supervisión solicitada ($1)', |
| 4872 | + 'articlefeedbackv5-special-filter-requested' => 'Supervisión solicitada ($1)', |
4768 | 4873 | 'articlefeedbackv5-special-filter-visible' => 'Todos os visibles ($1)', |
4769 | | - 'articlefeedbackv5-special-filter-invisible' => 'Agochado ($1)', |
4770 | | - 'articlefeedbackv5-special-filter-deleted' => 'Supervisado ($1)', |
4771 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Supervisión retirada ($1)', |
| 4874 | + 'articlefeedbackv5-special-filter-hidden' => 'Agochado ($1)', |
| 4875 | + 'articlefeedbackv5-special-filter-oversighted' => 'Supervisado ($1)', |
| 4876 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Supervisión retirada ($1)', |
4772 | 4877 | 'articlefeedbackv5-special-filter-declined' => 'Supervisión rexeitada ($1)', |
4773 | 4878 | 'articlefeedbackv5-special-filter-unhidden' => 'Descuberto ($1)', |
4774 | 4879 | 'articlefeedbackv5-special-sort-age' => 'Data', |
— | — | @@ -4782,8 +4887,6 @@ |
4783 | 4888 | 'articlefeedbackv5-special-more' => 'Mostrar máis mensaxes', |
4784 | 4889 | 'articlefeedbackv5-special-pagetitle' => 'Comentarios: $1', |
4785 | 4890 | 'articlefeedbackv5-form-optionid' => 'Opción $1', |
4786 | | - 'articlefeedbackv5-hidden' => '$1 agochou esta mensaxe o $2', |
4787 | | - 'articlefeedbackv5-deleted' => '$1 borrou esta mensaxe o $2', |
4788 | 4891 | 'articlefeedbackv5-form-hide' => 'Agochar esta mensaxe', |
4789 | 4892 | 'articlefeedbackv5-form-unhide' => 'Descubrir esta mensaxe', |
4790 | 4893 | 'articlefeedbackv5-form-helpful' => 'Marcar como útil ($1)', |
— | — | @@ -4846,6 +4949,7 @@ |
4847 | 4950 | 'articlefeedbackv5-mask-text-oversight' => 'Un editor autorizado supervisou esta mensaxe', |
4848 | 4951 | 'articlefeedbackv5-mask-postnumber' => 'Mensaxe nº$1', |
4849 | 4952 | 'articlefeedbackv5-special-disclaimer' => 'Isto é un prototipo. Non o use a menos que o convidasen a facelo.', |
| 4953 | + 'articlefeedbackv5-special-goback' => 'Volver á lista de comentarios', |
4850 | 4954 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Agochar esta mensaxe', |
4851 | 4955 | 'articlefeedbackv5-noteflyover-hide-label' => 'Engadir unha nota', |
4852 | 4956 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Por que agocha esta mensaxe?', |
— | — | @@ -5066,11 +5170,17 @@ |
5067 | 5171 | está en probas na Wikipedia en inglés e que a páxina de comentarios |
5068 | 5172 | non a pode ver a comunidade durante este período de probas.', |
5069 | 5173 | 'articlefeedbackv5-disable-flyover-title' => 'Quere eliminar a ferramenta?', |
5070 | | - 'articlefeedbackv5-disable-flyover-help-goto' => 'Para eliminar a $1, vaia a', |
| 5174 | + 'articlefeedbackv5-disable-flyover-help' => 'Para eliminar a $1, vaia ata $2 e marque a caixa "$3"', |
5071 | 5175 | 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'ferramenta de avaliación de artigos', |
5072 | 5176 | 'articlefeedbackv5-disable-flyover-help-location' => 'As miñas preferencias > Aparencia', |
5073 | 5177 | 'articlefeedbackv5-disable-flyover-help-direction' => 'e seleccione', |
5074 | 5178 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Ir ás preferencias', |
| 5179 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Avaliación de artigos) Marcado automaticamente como abusivo', |
| 5180 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Marcado automaticamente como abusivo. Regra: $1', |
| 5181 | + 'abusefilter-edit-action-aftv5hide' => '(Avaliación de artigos) Agochado automaticamente', |
| 5182 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Agochado automaticamente. Regra: $1', |
| 5183 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Avaliación de artigos) Supervisión solicitada automaticamente', |
| 5184 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Supervisión solicitada automaticamente. Regra: $1', |
5075 | 5185 | ); |
5076 | 5186 | |
5077 | 5187 | /** Swiss German (Alemannisch) |
— | — | @@ -5195,7 +5305,7 @@ |
5196 | 5306 | 'articlefeedbackv5-error-email' => 'כתובת דוא"ל זו אינה תקינה.', |
5197 | 5307 | 'articlefeedbackv5-error-blocked' => 'משתמשים חסומים אינם יכולים לשלוח משוב.', |
5198 | 5308 | 'articlefeedbackv5-error-validation' => 'שגיאת אימות.', |
5199 | | - 'articlefeedbackv5-error-abuse' => 'ההערה שלך מפרה את $1. נא לתקן אותה.', |
| 5309 | + 'articlefeedbackv5-error-abuse' => 'תוכנת סינון דחתה את ההערה שלך, כי נראה שהיא מפרה את ה$1 של ויקיפדיה. נא לשנות את ההערה ולנסות שוב.', |
5200 | 5310 | 'articlefeedbackv5-error-abuse-linktext' => 'מדיניות השימוש לרעה במשוב', |
5201 | 5311 | 'articlefeedbackv5-error-unknown' => 'שגיאה לא מוכרת.', |
5202 | 5312 | 'articlefeedbackv5-error-submit' => 'שגיאה בהזנת הטופס.', |
— | — | @@ -5213,11 +5323,11 @@ |
5214 | 5324 | 'articlefeedbackv5-special-filter-abusive' => 'סומן כפוגעני ($1)', |
5215 | 5325 | 'articlefeedbackv5-special-filter-helpful' => 'מועיל ($1)', |
5216 | 5326 | 'articlefeedbackv5-special-filter-unhelpful' => 'לא מועיל ($1)', |
5217 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'נדרשת ביקורת ($1)', |
| 5327 | + 'articlefeedbackv5-special-filter-requested' => 'נדרשת ביקורת ($1)', |
5218 | 5328 | 'articlefeedbackv5-special-filter-visible' => 'הכול גלוי ($1)', |
5219 | | - 'articlefeedbackv5-special-filter-invisible' => 'מוסתר ($1)', |
5220 | | - 'articlefeedbackv5-special-filter-deleted' => 'הוסתר לאחר ביקורת ($1)', |
5221 | | - 'articlefeedbackv5-special-filter-undeleted' => 'הסתרה לאחר ביקורת בוטלה ($1)', |
| 5329 | + 'articlefeedbackv5-special-filter-hidden' => 'מוסתר ($1)', |
| 5330 | + 'articlefeedbackv5-special-filter-oversighted' => 'הוסתר לאחר ביקורת ($1)', |
| 5331 | + 'articlefeedbackv5-special-filter-unoversighted' => 'הסתרה לאחר ביקורת בוטלה ($1)', |
5222 | 5332 | 'articlefeedbackv5-special-filter-declined' => 'בקשת ביקורת והסתרה נדתחה ($1)', |
5223 | 5333 | 'articlefeedbackv5-special-filter-unhidden' => 'ההסתרה בוטלה ($1)', |
5224 | 5334 | 'articlefeedbackv5-special-sort-age' => 'תאריך', |
— | — | @@ -5232,8 +5342,6 @@ |
5233 | 5343 | 'articlefeedbackv5-special-more' => 'רשומות נוספות', |
5234 | 5344 | 'articlefeedbackv5-special-pagetitle' => 'משוב: $1', |
5235 | 5345 | 'articlefeedbackv5-form-optionid' => 'אפשרות $1', |
5236 | | - 'articlefeedbackv5-hidden' => 'הרשומה הזאת הוסתרה על־ידי עורך מורשה', |
5237 | | - 'articlefeedbackv5-deleted' => 'הרשומה הזאת נמחקה על־ידי $1 ב־$2', |
5238 | 5346 | 'articlefeedbackv5-form-hide' => 'הסתרת הרשומה הזאת', |
5239 | 5347 | 'articlefeedbackv5-form-unhide' => 'לבטל את הסתרת הרשומה הזאת', |
5240 | 5348 | 'articlefeedbackv5-form-helpful' => 'סימון כיעילה ($1)', |
— | — | @@ -5292,7 +5400,10 @@ |
5293 | 5401 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|חודש אחד|$1 חודשים|חודשיים}}', |
5294 | 5402 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|שבוע אחד|$1 שבועות|שבועיים}}', |
5295 | 5403 | 'articlefeedbackv5-timestamp-seconds' => 'פחות מדקה', |
| 5404 | + 'articlefeedbackv5-mask-text-hidden' => 'הרשומה הזאת הוסתרה על־ידי עורך מורשה', |
5296 | 5405 | 'articlefeedbackv5-mask-postnumber' => 'רשומה מס׳ $1', |
| 5406 | + 'articlefeedbackv5-special-disclaimer' => 'זה רק אבטיפוס. נא לא להשתמש בו אלא אם הוזמנת במפורש לעשות את זה.', |
| 5407 | + 'articlefeedbackv5-special-goback' => 'חזרה לרשימת משובים.', |
5297 | 5408 | 'articlefeedbackv5-noteflyover-hide-caption' => 'הסתרת הרשומה הזאת', |
5298 | 5409 | 'articlefeedbackv5-noteflyover-hide-label' => 'הוספת הערה', |
5299 | 5410 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'למה ביקשת להסתיר את הרשומה הזאת?', |
— | — | @@ -5733,8 +5844,8 @@ |
5734 | 5845 | 'articlefeedbackv5-error-email' => 'Tuta e-mejlowa adresa płaćiwa njeje.', |
5735 | 5846 | 'articlefeedbackv5-error-blocked' => 'Zablokowani wužiwarjo njemóža komentary pósłać.', |
5736 | 5847 | 'articlefeedbackv5-error-validation' => 'Přepruwowanski zmylk', |
5737 | | - 'articlefeedbackv5-error-abuse' => 'Twój komentar přeńdźe so přećiwo $1. Prošu změń jón.', |
5738 | | - 'articlefeedbackv5-error-abuse-linktext' => 'Prawidła za znjewužiwanje komentarow', |
| 5848 | + 'articlefeedbackv5-error-abuse' => 'Twój komentar je so přez softwarowy filter wotpokazał, kotryž měni, zo wón je přećiwo $1 Wikipedije přešoł. Prošu přepruwuj swój komentar a spytaj hišće raz.', |
| 5849 | + 'articlefeedbackv5-error-abuse-linktext' => 'směrnicam za komentary', |
5739 | 5850 | 'articlefeedbackv5-error-unknown' => 'Njeznaty zmylk.', |
5740 | 5851 | 'articlefeedbackv5-error-submit' => 'Zmylk při wotesyłanju formulara.', |
5741 | 5852 | 'articlefeedbackv5-error-nofeedback' => 'Prošu zapodaj swój komentar.', |
— | — | @@ -5751,11 +5862,11 @@ |
5752 | 5863 | 'articlefeedbackv5-special-filter-abusive' => 'Jako znjewužiwanje woznamjeny ($1)', |
5753 | 5864 | 'articlefeedbackv5-special-filter-helpful' => 'Pomocliwy ($1)', |
5754 | 5865 | 'articlefeedbackv5-special-filter-unhelpful' => 'Njepomocliwy ($1)', |
5755 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Dohladowanje požadane ($1)', |
| 5866 | + 'articlefeedbackv5-special-filter-requested' => 'Dohladowanje požadane ($1)', |
5756 | 5867 | 'articlefeedbackv5-special-filter-visible' => 'Wšě widźomne ($1)', |
5757 | | - 'articlefeedbackv5-special-filter-invisible' => 'Schowany ($1)', |
5758 | | - 'articlefeedbackv5-special-filter-deleted' => 'Dohladowany ($1)', |
5759 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Dohladowanje wotstronjene ($1)', |
| 5868 | + 'articlefeedbackv5-special-filter-hidden' => 'Schowany ($1)', |
| 5869 | + 'articlefeedbackv5-special-filter-oversighted' => 'Dohladowany ($1)', |
| 5870 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Dohladowanje wotstronjene ($1)', |
5760 | 5871 | 'articlefeedbackv5-special-filter-declined' => 'Dohladowanje wotpokazane ($1)', |
5761 | 5872 | 'articlefeedbackv5-special-filter-unhidden' => 'Zaso pokazany ($1)', |
5762 | 5873 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
— | — | @@ -5770,8 +5881,6 @@ |
5771 | 5882 | 'articlefeedbackv5-special-more' => 'Dalše powěsće pokazać', |
5772 | 5883 | 'articlefeedbackv5-special-pagetitle' => 'Komentary: $1', |
5773 | 5884 | 'articlefeedbackv5-form-optionid' => 'Opcija $1', |
5774 | | - 'articlefeedbackv5-hidden' => 'Tutón přinošk je so wot $1 dnja $2 schował', |
5775 | | - 'articlefeedbackv5-deleted' => 'Tutón přinošk je so wot $1 dnja $2 zhašał', |
5776 | 5885 | 'articlefeedbackv5-form-hide' => 'Tutón komentar schować', |
5777 | 5886 | 'articlefeedbackv5-form-unhide' => 'Tutu powěsć pokazać', |
5778 | 5887 | 'articlefeedbackv5-form-helpful' => 'Jako pomocliwy markěrować ($1)', |
— | — | @@ -5834,6 +5943,7 @@ |
5835 | 5944 | 'articlefeedbackv5-mask-text-oversight' => 'Tutón přinošk je so wot awtorizowaneho wužiwarja dohladował', |
5836 | 5945 | 'articlefeedbackv5-mask-postnumber' => 'Přinošk čo. $1', |
5837 | 5946 | 'articlefeedbackv5-special-disclaimer' => 'To je prototyp. Prošu njewužij jón, chibazo će přeprošeja to činić.', |
| 5947 | + 'articlefeedbackv5-special-goback' => 'Wróćo k lisćinje komentarow', |
5838 | 5948 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Tutón komentar schować', |
5839 | 5949 | 'articlefeedbackv5-noteflyover-hide-label' => 'Přispomnjenku přidać', |
5840 | 5950 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Čehodla chowaš tutón komentar?', |
— | — | @@ -6049,6 +6159,12 @@ |
6050 | 6160 | 'articlefeedbackv5-disable-flyover-help-location' => 'Nastajenja > Napohlad', |
6051 | 6161 | 'articlefeedbackv5-disable-flyover-help-direction' => 'a klikń na', |
6052 | 6162 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'K nastajenjam', |
| 6163 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Article Feedback) Awtomatisce jako znjewužiće woznamjenić', |
| 6164 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Awtomatisce jako znjewužiće woznamjenjeny. Prawidło: $1', |
| 6165 | + 'abusefilter-edit-action-aftv5hide' => '(Article Feedback) Awtomatisce schować', |
| 6166 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Awtomatisce schowany. Prawidło: $1', |
| 6167 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Article Feedback) Awtomatisce dohladowanje požadać', |
| 6168 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Dohladowanje je so awtomatisce požadało. Prawidło: $1', |
6053 | 6169 | ); |
6054 | 6170 | |
6055 | 6171 | /** Hungarian (Magyar) |
— | — | @@ -6302,8 +6418,8 @@ |
6303 | 6419 | 'articlefeedbackv5-error-email' => 'Iste adresse de e-mail non es valide.', |
6304 | 6420 | 'articlefeedbackv5-error-blocked' => 'Usatores blocate non pote submitter commentarios.', |
6305 | 6421 | 'articlefeedbackv5-error-validation' => 'Error de validation.', |
6306 | | - 'articlefeedbackv5-error-abuse' => 'Iste commento viola le $1. Per favor revide lo.', |
6307 | | - 'articlefeedbackv5-error-abuse-linktext' => 'politica sur le abuso de evalutation', |
| 6422 | + 'articlefeedbackv5-error-abuse' => 'Iste message ha essite rejectate per un filtro de software que suggere que illo pote haber violate le $1 de Wikipedia. Per favor revide le message e reproba.', |
| 6423 | + 'articlefeedbackv5-error-abuse-linktext' => 'directivas de evalutation', |
6308 | 6424 | 'articlefeedbackv5-error-unknown' => 'Error incognite.', |
6309 | 6425 | 'articlefeedbackv5-error-submit' => 'Error durante le submission del formulario.', |
6310 | 6426 | 'articlefeedbackv5-error-nofeedback' => 'Per favor insere tu commentario.', |
— | — | @@ -6320,11 +6436,11 @@ |
6321 | 6437 | 'articlefeedbackv5-special-filter-abusive' => 'Marcate como abuso ($1)', |
6322 | 6438 | 'articlefeedbackv5-special-filter-helpful' => 'Utile ($1)', |
6323 | 6439 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inutile ($1)', |
6324 | | - 'articlefeedbackv5-special-filter-needsoversight' => ' Supervision requestate ($1)', |
| 6440 | + 'articlefeedbackv5-special-filter-requested' => ' Supervision requestate ($1)', |
6325 | 6441 | 'articlefeedbackv5-special-filter-visible' => 'Totes visibile ($1)', |
6326 | | - 'articlefeedbackv5-special-filter-invisible' => 'Celate ($1)', |
6327 | | - 'articlefeedbackv5-special-filter-deleted' => 'Supervisate ($1)', |
6328 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Non plus supervisate ($1)', |
| 6442 | + 'articlefeedbackv5-special-filter-hidden' => 'Celate ($1)', |
| 6443 | + 'articlefeedbackv5-special-filter-oversighted' => 'Supervisate ($1)', |
| 6444 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Non plus supervisate ($1)', |
6329 | 6445 | 'articlefeedbackv5-special-filter-declined' => 'Supervision declinate ($1)', |
6330 | 6446 | 'articlefeedbackv5-special-filter-unhidden' => 'Revelate ($1)', |
6331 | 6447 | 'articlefeedbackv5-special-sort-age' => 'Data', |
— | — | @@ -6339,8 +6455,6 @@ |
6340 | 6456 | 'articlefeedbackv5-special-more' => 'Monstrar plus messages', |
6341 | 6457 | 'articlefeedbackv5-special-pagetitle' => 'Evalutation: $1', |
6342 | 6458 | 'articlefeedbackv5-form-optionid' => 'Option $1', |
6343 | | - 'articlefeedbackv5-hidden' => 'Iste message esseva celate per $1 le $2', |
6344 | | - 'articlefeedbackv5-deleted' => 'Iste message ha essite delite per $1 le $2', |
6345 | 6459 | 'articlefeedbackv5-form-hide' => 'Celar iste message', |
6346 | 6460 | 'articlefeedbackv5-form-unhide' => 'Revelar iste message', |
6347 | 6461 | 'articlefeedbackv5-form-helpful' => 'Marcar como utile ($1)', |
— | — | @@ -6403,6 +6517,7 @@ |
6404 | 6518 | 'articlefeedbackv5-mask-text-oversight' => 'Iste message esseva mittite sub supervision per un redactor autorisate', |
6405 | 6519 | 'articlefeedbackv5-mask-postnumber' => 'Message №$1', |
6406 | 6520 | 'articlefeedbackv5-special-disclaimer' => 'Isto es un prototypo. Per favor non usa lo a minus que tu ha essite invitate a facer lo.', |
| 6521 | + 'articlefeedbackv5-special-goback' => 'Retornar al lista de evalutationes', |
6407 | 6522 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Celar iste message', |
6408 | 6523 | 'articlefeedbackv5-noteflyover-hide-label' => 'Adder un nota', |
6409 | 6524 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Proque cela tu iste message?', |
— | — | @@ -6620,6 +6735,12 @@ |
6621 | 6736 | 'articlefeedbackv5-disable-flyover-help-location' => 'Mi preferentias > Apparentia', |
6622 | 6737 | 'articlefeedbackv5-disable-flyover-help-direction' => 'e marca', |
6623 | 6738 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Vader a mi preferentias', |
| 6739 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Evalutation de articulos) Marcar automaticamente como abuso', |
| 6740 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Marcate automaticamente como abuso. Regula: $1', |
| 6741 | + 'abusefilter-edit-action-aftv5hide' => '(Evalutation de articulos) Celar automaticamente', |
| 6742 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Celate automaticamente. Regula: $1', |
| 6743 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Evalutation de articulos) Requestar supervision automaticamente', |
| 6744 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Supervision requestate automaticamente. Regula: $1', |
6624 | 6745 | ); |
6625 | 6746 | |
6626 | 6747 | /** Indonesian (Bahasa Indonesia) |
— | — | @@ -6798,10 +6919,10 @@ |
6799 | 6920 | 'articlefeedbackv5-special-filter-abusive' => 'Namarkaan a kaala agab-abuso ($1)', |
6800 | 6921 | 'articlefeedbackv5-special-filter-helpful' => 'Tumultulong ($1)', |
6801 | 6922 | 'articlefeedbackv5-special-filter-unhelpful' => 'Saan a makatulong ($1)', |
6802 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Agkiddaw ti pinagilasin ($1)', |
| 6923 | + 'articlefeedbackv5-special-filter-requested' => 'Agkiddaw ti pinagilasin ($1)', |
6803 | 6924 | 'articlefeedbackv5-special-filter-visible' => 'Makita amin ($1)', |
6804 | | - 'articlefeedbackv5-special-filter-invisible' => 'Nailemmeng ($1)', |
6805 | | - 'articlefeedbackv5-special-filter-deleted' => 'Nailasinan ($1)', |
| 6925 | + 'articlefeedbackv5-special-filter-hidden' => 'Nailemmeng ($1)', |
| 6926 | + 'articlefeedbackv5-special-filter-oversighted' => 'Nailasinan ($1)', |
6806 | 6927 | 'articlefeedbackv5-special-sort-age' => 'Petsa', |
6807 | 6928 | 'articlefeedbackv5-special-sort-helpful' => 'Nakatulong', |
6808 | 6929 | 'articlefeedbackv5-special-sort-label-before' => 'Agbilin babaen ti:', |
— | — | @@ -7173,19 +7294,38 @@ |
7174 | 7295 | * @author Marine-Blue |
7175 | 7296 | * @author Ohgi |
7176 | 7297 | * @author Schu |
| 7298 | + * @author Shirayuki |
7177 | 7299 | * @author Whym |
7178 | 7300 | * @author Yanajin66 |
7179 | 7301 | * @author 青子守歌 |
7180 | 7302 | */ |
7181 | 7303 | $messages['ja'] = array( |
| 7304 | + 'articlefeedbackv5-cta1-edit-linktext' => 'このページを編集', |
7182 | 7305 | 'articlefeedbackv5-error' => 'エラーが発生しました。後でもう一度試してください。', |
| 7306 | + 'articlefeedbackv5-form-helpful-yes-label' => 'はい', |
| 7307 | + 'articlefeedbackv5-form-helpful-no-label' => 'いいえ', |
| 7308 | + 'articlefeedbackv5-special-add-feedback' => 'あなたのフィードバックを追加', |
| 7309 | + 'articlefeedbackv5-special-filter-notdeleted' => 'すべて ($1)', |
| 7310 | + 'articlefeedbackv5-special-filter-comment' => 'コメントのみ ($1)', |
| 7311 | + 'articlefeedbackv5-special-filter-hidden' => '非表示 ($1)', |
| 7312 | + 'articlefeedbackv5-special-sort-age' => '日付', |
| 7313 | + 'articlefeedbackv5-special-sort-rating' => '評価', |
| 7314 | + 'articlefeedbackv5-special-filter-label-before' => '表示中:', |
| 7315 | + 'articlefeedbackv5-form-optionid' => 'オプション $1', |
| 7316 | + 'articlefeedbackv5-form-delete' => 'オーバーサイト', |
| 7317 | + 'articlefeedbackv5-discussion-page' => '会話', |
| 7318 | + 'articlefeedbackv5-whats-this' => 'ヘルプ', |
7183 | 7319 | 'articleFeedbackv5-table-caption-dailyhighsandlows' => '今日の最高値と最低値', |
7184 | 7320 | 'articleFeedbackv5-table-caption-dailyhighs' => '最も高い評価があるページ:$1', |
7185 | 7321 | 'articleFeedbackv5-table-caption-dailylows' => '最も低い評価があるページ:$1', |
7186 | 7322 | 'articleFeedbackv5-table-heading-page' => 'ページ', |
7187 | 7323 | 'articleFeedbackv5-table-heading-average' => '平均', |
7188 | 7324 | 'articlefeedbackv5' => '記事のフィードバックのダッシュボード', |
7189 | | - 'articlefeedbackv5-desc' => '記事の評価', |
| 7325 | + 'articlefeedbackv5-desc' => '記事のフィードバック', |
| 7326 | + 'articlefeedbackv5-beta-notice' => 'ベータ', |
| 7327 | + 'articlefeedbackv5-viewactivity' => '活動を表示', |
| 7328 | + 'articlefeedbackv5-bucket1-toggle-found-yes' => 'はい', |
| 7329 | + 'articlefeedbackv5-bucket1-toggle-found-no' => 'いいえ', |
7190 | 7330 | 'articlefeedbackv5-bucket5-form-switch-label' => 'このページを評価', |
7191 | 7331 | 'articlefeedbackv5-bucket5-form-panel-title' => 'このページを評価', |
7192 | 7332 | 'articlefeedbackv5-bucket5-form-panel-explanation' => 'これは何?', |
— | — | @@ -7195,7 +7335,7 @@ |
7196 | 7336 | 'articlefeedbackv5-bucket5-form-panel-expertise-profession' => '自分の職業の一部である', |
7197 | 7337 | 'articlefeedbackv5-bucket5-form-panel-expertise-hobby' => '個人的に深い情熱を注いでいる', |
7198 | 7338 | 'articlefeedbackv5-bucket5-form-panel-expertise-other' => '自分の知識源はこの中にない', |
7199 | | - 'articlefeedbackv5-bucket5-form-panel-helpimprove' => 'ウィキペディアを改善するための電子メールを受信する(自由選択)', |
| 7339 | + 'articlefeedbackv5-bucket5-form-panel-helpimprove' => 'Wikipedia の改善を手伝いたいので、私にメールを送信してください (任意)', |
7200 | 7340 | 'articlefeedbackv5-bucket5-form-panel-helpimprove-privacy' => 'プライバシー・ポリシー', |
7201 | 7341 | 'articlefeedbackv5-bucket5-form-panel-submit' => '評価を送信', |
7202 | 7342 | 'articlefeedbackv5-bucket5-form-panel-pending' => 'あなたの評価がまだ送信されていません', |
— | — | @@ -7254,6 +7394,7 @@ |
7255 | 7395 | 'articlefeedbackv5-cta2-confirmation-title' => 'დაგვეხმარეთ ვიკიპედიის გაუმჯობესებაში', |
7256 | 7396 | 'articlefeedbackv5-cta2-button-text' => 'გაიგეთ მეტი', |
7257 | 7397 | 'articlefeedbackv5-error' => 'წარმოიშვა რაღაც შეცდომა. გთხოვთ სცადეთ მოგვიანებით.', |
| 7398 | + 'articlefeedbackv5-error-validation' => 'შემოწმების შეცდომა.', |
7258 | 7399 | 'articlefeedbackv5-error-unknown' => 'უცნობი შეცდომა.', |
7259 | 7400 | 'articlefeedbackv5-form-tools-label' => 'ხელსაწყოები', |
7260 | 7401 | 'articlefeedbackv5-form-helpful-yes-label' => 'დიახ', |
— | — | @@ -7263,7 +7404,9 @@ |
7264 | 7405 | 'articlefeedbackv5-special-filter-comment' => 'მხოლოდ კომენტარები ($1)', |
7265 | 7406 | 'articlefeedbackv5-special-filter-abusive' => 'მონიშნული როგორც ბოროტად გამოყენება ($1)', |
7266 | 7407 | 'articlefeedbackv5-special-filter-visible' => 'ყველა ხილული ($1)', |
7267 | | - 'articlefeedbackv5-special-filter-invisible' => 'დამალული ($1)', |
| 7408 | + 'articlefeedbackv5-special-filter-hidden' => 'დამალული ($1)', |
| 7409 | + 'articlefeedbackv5-special-sort-age' => 'თარიღი', |
| 7410 | + 'articleFeedbackv5-comment-ago' => '$1 წინ', |
7268 | 7411 | 'articlefeedbackv5-go-to-article' => 'სტატიის ხილვა', |
7269 | 7412 | 'articlefeedbackv5-discussion-page' => 'განხილვა', |
7270 | 7413 | 'articlefeedbackv5-whats-this' => 'დახმარება', |
— | — | @@ -7306,6 +7449,7 @@ |
7307 | 7450 | 'articlefeedbackv5-bucket2-problem-label' => 'პრობლემა', |
7308 | 7451 | 'articlefeedbackv5-bucket5-form-switch-label' => 'ამ გვერდის შეფასება', |
7309 | 7452 | 'articlefeedbackv5-bucket5-form-panel-title' => 'ამ გვერდის შეფასება', |
| 7453 | + 'articlefeedbackv5-bucket5-form-panel-explanation' => 'რა არის ეს?', |
7310 | 7454 | 'articlefeedbackv5-bucket5-form-panel-clear' => 'შეფასება წაიშალა', |
7311 | 7455 | 'articlefeedbackv5-bucket5-form-panel-expertise' => 'მე მაქვს წინასწარი ცოდნა ამ თემის შესახებ (არასავალდებულო)', |
7312 | 7456 | 'articlefeedbackv5-bucket5-form-panel-expertise-studies' => 'მე ეს კოლეჯში/უმაღლეს სასწავლებელში ვისწავლე', |
— | — | @@ -7332,6 +7476,7 @@ |
7333 | 7477 | 'articlefeedbackv5-bucket5-wellwritten-tooltip-2' => 'გასაგებად ძნელი', |
7334 | 7478 | 'articlefeedbackv5-help-tooltip-title' => 'რა არის ეს?', |
7335 | 7479 | 'articlefeedbackv5-transparency-terms-linktext' => 'პირობები', |
| 7480 | + 'articlefeedbackv5-disable-flyover-title' => 'წავშალო ეს ხელსაწყო?', |
7336 | 7481 | ); |
7337 | 7482 | |
7338 | 7483 | /** Korean (한국어) |
— | — | @@ -7587,7 +7732,7 @@ |
7588 | 7733 | 'articlefeedbackv5-error-email' => 'Déi Mailadress ass net valabel.', |
7589 | 7734 | 'articlefeedbackv5-error-blocked' => 'Gespaarte Benotzer kënne kee Feedback ginn.', |
7590 | 7735 | 'articlefeedbackv5-error-validation' => 'Feeler beim Validéieren.', |
7591 | | - 'articlefeedbackv5-error-abuse-linktext' => 'Mëssbrauchs-Richtlinne vum Feedback', |
| 7736 | + 'articlefeedbackv5-error-abuse-linktext' => 'Richtlinne vum Feedback', |
7592 | 7737 | 'articlefeedbackv5-error-unknown' => 'Onbekannte Feeler.', |
7593 | 7738 | 'articlefeedbackv5-error-nofeedback' => 'Gitt w.e.g. Äre Feedback an.', |
7594 | 7739 | 'articlefeedbackv5-error-flagging' => 'Feeler beim Markéiere vum Feedback', |
— | — | @@ -7603,10 +7748,10 @@ |
7604 | 7749 | 'articlefeedbackv5-special-filter-abusive' => 'Als Mëssbrauch markéiert ($1)', |
7605 | 7750 | 'articlefeedbackv5-special-filter-helpful' => 'Hëllefräich ($1)', |
7606 | 7751 | 'articlefeedbackv5-special-filter-unhelpful' => 'Net-hëllefräich ($1)', |
7607 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Iwwerwaachung gefrot ($1)', |
| 7752 | + 'articlefeedbackv5-special-filter-requested' => 'Iwwerwaachung gefrot ($1)', |
7608 | 7753 | 'articlefeedbackv5-special-filter-visible' => 'Alles visibel ($1)', |
7609 | | - 'articlefeedbackv5-special-filter-invisible' => 'Verstoppt ($1)', |
7610 | | - 'articlefeedbackv5-special-filter-deleted' => 'Iwwerwaacht ($1)', |
| 7754 | + 'articlefeedbackv5-special-filter-hidden' => 'Verstoppt ($1)', |
| 7755 | + 'articlefeedbackv5-special-filter-oversighted' => 'Iwwerwaacht ($1)', |
7611 | 7756 | 'articlefeedbackv5-special-filter-unhidden' => 'Net-verstoppt ($1)', |
7612 | 7757 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
7613 | 7758 | 'articlefeedbackv5-special-sort-helpful' => 'Hëllefräich', |
— | — | @@ -7618,8 +7763,6 @@ |
7619 | 7764 | 'articlefeedbackv5-special-more' => 'Méi Réckmeldunge weisen', |
7620 | 7765 | 'articlefeedbackv5-special-pagetitle' => 'Feedback: $1', |
7621 | 7766 | 'articlefeedbackv5-form-optionid' => 'Optioun $1', |
7622 | | - 'articlefeedbackv5-hidden' => 'Dëse Beitrag gouf vum $1 de(n) $2 verstoppt', |
7623 | | - 'articlefeedbackv5-deleted' => 'Dës Réckmeldung gouf vum $1 de(n) $2 geläscht', |
7624 | 7767 | 'articlefeedbackv5-form-hide' => 'Verstoppt dës Réckmeldung', |
7625 | 7768 | 'articlefeedbackv5-form-unhide' => 'Dës Réckmeldung nees weisen', |
7626 | 7769 | 'articlefeedbackv5-form-helpful' => 'als hëllefräich markéieren ($1)', |
— | — | @@ -7663,6 +7806,7 @@ |
7664 | 7807 | 'articlefeedbackv5-comment-more' => 'Méi', |
7665 | 7808 | 'articlefeedbackv5-comment-less' => 'Manner', |
7666 | 7809 | 'articlefeedbackv5-beta-notice' => 'Beta', |
| 7810 | + 'articlefeedbackv5-viewactivity' => 'Aktivitéit weisen', |
7667 | 7811 | 'articlefeedbackv5-timestamp-years' => '{{PLURAL:$1|engem Joer|$1 Joer}}', |
7668 | 7812 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|engem Mount|$1 Méint}}', |
7669 | 7813 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL: $1|enger Woch|$1 Wochen}}', |
— | — | @@ -7820,6 +7964,11 @@ |
7821 | 7965 | |
7822 | 7966 | E schéine Bonjour a villmools Merci, |
7823 | 7967 | Är {{SITENAME}}-Equipe', |
| 7968 | + 'articlefeedbackv5-disable-flyover-title' => 'Dës Fonctioun ewechhuelen?', |
| 7969 | + 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'Artikel Feedback', |
| 7970 | + 'articlefeedbackv5-disable-flyover-help-location' => 'Meng Astellungen > Ausgesinn', |
| 7971 | + 'articlefeedbackv5-disable-flyover-prefbutton' => 'Op meng Astellunge goen', |
| 7972 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Automatesch verstoppt. Regel: $1', |
7824 | 7973 | ); |
7825 | 7974 | |
7826 | 7975 | /** Limburgish (Limburgs) |
— | — | @@ -8308,8 +8457,8 @@ |
8309 | 8458 | 'articlefeedbackv5-error-email' => 'Таа е-пошта е неважечка.', |
8310 | 8459 | 'articlefeedbackv5-error-blocked' => 'Блокираните корисници не можат да даваат мислења.', |
8311 | 8460 | 'articlefeedbackv5-error-validation' => 'Грешка при проверката.', |
8312 | | - 'articlefeedbackv5-error-abuse' => 'Вашиот коментар ги крши $1. Изменете го.', |
8313 | | - 'articlefeedbackv5-error-abuse-linktext' => 'правилата за злоупотреба во мислењата', |
| 8461 | + 'articlefeedbackv5-error-abuse' => 'Вашиот коментар е одбиен од програмскиот филтер бидејќи смета дека со тоа ги прекршувате $1 на Википедија. Изменете го коментарот и обидете се повторно.', |
| 8462 | + 'articlefeedbackv5-error-abuse-linktext' => 'правилата за искажување на мислења', |
8314 | 8463 | 'articlefeedbackv5-error-unknown' => 'Непозната грешка.', |
8315 | 8464 | 'articlefeedbackv5-error-submit' => 'Грешка при поднесување на образецот.', |
8316 | 8465 | 'articlefeedbackv5-error-nofeedback' => 'Внесете мислење.', |
— | — | @@ -8321,16 +8470,17 @@ |
8322 | 8471 | 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 да|$1 да}} / {{PLURAL:$2|1 не|$2 не}}', |
8323 | 8472 | 'articlefeedbackv5-special-add-feedback' => 'Дајте ваше мислење', |
8324 | 8473 | 'articlefeedbackv5-special-filter-all' => 'Сите (заверка) ($1)', |
8325 | | - 'articlefeedbackv5-special-filter-notdeleted' => 'Сите ($1)', |
| 8474 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Сите (скриени) ($1)', |
8326 | 8475 | 'articlefeedbackv5-special-filter-comment' => 'Само коментари ($1)', |
8327 | 8476 | 'articlefeedbackv5-special-filter-abusive' => 'Означени како навредливи ($1)', |
8328 | 8477 | 'articlefeedbackv5-special-filter-helpful' => 'Корисни ($1)', |
8329 | 8478 | 'articlefeedbackv5-special-filter-unhelpful' => 'Некорисни ($1)', |
8330 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Побарана заверка ($1)', |
| 8479 | + 'articlefeedbackv5-special-filter-requested' => 'Побарана заверка ($1)', |
| 8480 | + 'articlefeedbackv5-special-filter-unrequested' => 'Откажано барање за заверка ($1)', |
8331 | 8481 | 'articlefeedbackv5-special-filter-visible' => 'Сите видливи ($1)', |
8332 | | - 'articlefeedbackv5-special-filter-invisible' => 'Скриени ($1)', |
8333 | | - 'articlefeedbackv5-special-filter-deleted' => 'Заверени ($1)', |
8334 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Поништени заверки ($1)', |
| 8482 | + 'articlefeedbackv5-special-filter-hidden' => 'Скриени ($1)', |
| 8483 | + 'articlefeedbackv5-special-filter-oversighted' => 'Заверени ($1)', |
| 8484 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Поништени заверки ($1)', |
8335 | 8485 | 'articlefeedbackv5-special-filter-declined' => 'Одбиени заверки ($1)', |
8336 | 8486 | 'articlefeedbackv5-special-filter-unhidden' => 'Откриени ($1)', |
8337 | 8487 | 'articlefeedbackv5-special-sort-age' => 'Датум', |
— | — | @@ -8345,8 +8495,15 @@ |
8346 | 8496 | 'articlefeedbackv5-special-more' => 'Повеќе објави', |
8347 | 8497 | 'articlefeedbackv5-special-pagetitle' => 'Мислење: $1', |
8348 | 8498 | 'articlefeedbackv5-form-optionid' => 'Можност $1', |
8349 | | - 'articlefeedbackv5-hidden' => 'Оваа објава е скриена од $1 на $2', |
8350 | | - 'articlefeedbackv5-deleted' => 'Објавата е избришана од $1 на $2', |
| 8499 | + 'articlefeedbackv5-status-hidden' => 'Оваа објава е скриена од $1 на $2 во $3', |
| 8500 | + 'articlefeedbackv5-status-unhidden' => 'Оваа објава е откриена од $1 на $2 во $3', |
| 8501 | + 'articlefeedbackv5-status-request' => '$1 побара заверка на објавава на $2 во $3', |
| 8502 | + 'articlefeedbackv5-status-unrequest' => '$1 го откажа барањето за заверка на објавава на $2 во $3', |
| 8503 | + 'articlefeedbackv5-status-declined' => '$1 ја одби заверката на објавава на $2 во $3', |
| 8504 | + 'articlefeedbackv5-status-autohide' => 'Оваа објава е автоскриена од $1 на $2 во $3', |
| 8505 | + 'articlefeedbackv5-status-deleted' => 'Оваа објава е заверена од $1 на $2 во $3', |
| 8506 | + 'articlefeedbackv5-status-undeleted' => 'На оваа објава ѝ е отстранета заверката од $1 на $2 во $3', |
| 8507 | + 'articlefeedbackv5-status-autoflag' => 'Оваа објава е автоозначена од $1 на $2 во $3', |
8351 | 8508 | 'articlefeedbackv5-form-hide' => 'Скриј го мислењево', |
8352 | 8509 | 'articlefeedbackv5-form-unhide' => 'Откриј ја објавата', |
8353 | 8510 | 'articlefeedbackv5-form-helpful' => 'Означи како корисно ($1)', |
— | — | @@ -8377,6 +8534,7 @@ |
8378 | 8535 | 'articlefeedbackv5-error-loading-feedback' => 'Грешка при вчитувањето на мислењето', |
8379 | 8536 | 'articlefeedbackv5-invalid-feedback-id' => 'Неважечка назнака на мислењето', |
8380 | 8537 | 'articlefeedbackv5-invalid-feedback-flag' => 'Неважечка ознака за мислење', |
| 8538 | + 'articlefeedbackv5-invalid-feedback-state' => 'Ознаката е во неважечка состојба', |
8381 | 8539 | 'articlefeedbackv5-go-to-article' => 'Погл. статијата', |
8382 | 8540 | 'articlefeedbackv5-discussion-page' => 'Разговор', |
8383 | 8541 | 'articlefeedbackv5-whats-this' => 'Помош', |
— | — | @@ -8410,6 +8568,7 @@ |
8411 | 8569 | 'articlefeedbackv5-mask-text-oversight' => 'Оваа објава е заверена од овластен уредник', |
8412 | 8570 | 'articlefeedbackv5-mask-postnumber' => 'Објава бр. $1', |
8413 | 8571 | 'articlefeedbackv5-special-disclaimer' => 'Ова е прототип. Не користете го доколку немате посебна покана.', |
| 8572 | + 'articlefeedbackv5-special-goback' => 'Назад на Списокот на мислења', |
8414 | 8573 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Скриј ја објавава', |
8415 | 8574 | 'articlefeedbackv5-noteflyover-hide-label' => 'Додај белешка', |
8416 | 8575 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Зошто ја криете објавава?', |
— | — | @@ -8481,6 +8640,10 @@ |
8482 | 8641 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'Дознајте како да уредувате', |
8483 | 8642 | 'articlefeedbackv5-bucket4-form-submit' => 'Уреди ја страницава', |
8484 | 8643 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Википедија би сакала да знае што мислите. Помогнете ни да ја подобриме страницата -- станете уредник.', |
| 8644 | + 'articlefeedbackv5-bucket4-noedit-title' => 'Помогнете ни да ја подобриме Википедија', |
| 8645 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1' => 'Ова мрежно место го создаваат луѓе како Вас.', |
| 8646 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2' => 'Би сакале ли да ни помогнете?', |
| 8647 | + 'articlefeedbackv5-bucket4-noedit-form-submit' => 'Дознајте повеќе', |
8485 | 8648 | 'articlefeedbackv5-bucket5-form-switch-label' => 'Оценете ја страницава', |
8486 | 8649 | 'articlefeedbackv5-bucket5-form-panel-title' => 'Оценете ја страницава', |
8487 | 8650 | 'articlefeedbackv5-bucket5-form-panel-explanation' => 'Што е ова?', |
— | — | @@ -8561,11 +8724,13 @@ |
8562 | 8725 | 'articlefeedbackv5-log-unoversight' => 'отстранет прегледниот статус на [[$1]] од мислењето', |
8563 | 8726 | 'articlefeedbackv5-log-hidden' => 'скриено мислењето [[$1]]', |
8564 | 8727 | 'articlefeedbackv5-log-unhidden' => 'откриено мислењето [[$1]]', |
8565 | | - 'articlefeedbackv5-log-decline' => 'одбиено барањето за заверка на мислењето [[$1]]', |
8566 | | - 'articlefeedbackv5-log-request' => 'побарана заверка на мислењето [[$1]]', |
8567 | | - 'articlefeedbackv5-log-unrequest' => 'отстранета побараната заверка на мислењето [[$1]]', |
| 8728 | + 'articlefeedbackv5-log-decline' => 'одбиена заверката на мислењето [[$1]]', |
| 8729 | + 'articlefeedbackv5-log-request' => 'побара заверка на [[$1]]', |
| 8730 | + 'articlefeedbackv5-log-unrequest' => 'отстранета заверката на [[$1]]', |
8568 | 8731 | 'articlefeedbackv5-log-flag' => 'означено мислењето [[$1]] како злоупотреба', |
8569 | 8732 | 'articlefeedbackv5-log-unflag' => 'тргната ознаката за злоупотреба од мислењето [[$1]]', |
| 8733 | + 'articlefeedbackv5-log-autohide' => 'автоскриено мислењето [[$1]] како злоупотреба', |
| 8734 | + 'articlefeedbackv5-log-autoflag' => 'автоозначено мислењето [[$1]] како злоупотреба', |
8570 | 8735 | 'articlefeedbackv5-activity-pane-header' => 'Дневник на активности', |
8571 | 8736 | 'articlefeedbackv5-activity-feedback-info' => 'Мислење бр. $1 од $2', |
8572 | 8737 | 'articlefeedbackv5-activity-feedback-date' => 'Објавено на $1', |
— | — | @@ -8632,6 +8797,12 @@ |
8633 | 8798 | 'articlefeedbackv5-disable-flyover-help-location' => '„мои нагодувања > Изглед“', |
8634 | 8799 | 'articlefeedbackv5-disable-flyover-help-direction' => 'и штиклирајте го', |
8635 | 8800 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Одете на вашите нагодувања', |
| 8801 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Мислење за статија) Автоматски означи како злоупотреба', |
| 8802 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Автоматски означено како злоупотреба. Правило: $1', |
| 8803 | + 'abusefilter-edit-action-aftv5hide' => '(Мислење за статија) Автоматски криј', |
| 8804 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Автоматски скриено. Правило: $1', |
| 8805 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Мислење за статија) Автоматски побарај заверка', |
| 8806 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Автоматски побарана заверка. Правило: $1', |
8636 | 8807 | ); |
8637 | 8808 | |
8638 | 8809 | /** Malayalam (മലയാളം) |
— | — | @@ -8660,10 +8831,11 @@ |
8661 | 8832 | 'articlefeedbackv5-special-filter-helpful' => 'സഹായകരം ($1)', |
8662 | 8833 | 'articlefeedbackv5-special-filter-unhelpful' => 'സഹായകരമല്ല ($1)', |
8663 | 8834 | 'articlefeedbackv5-special-filter-visible' => 'എല്ലാം ദൃശ്യം ($1)', |
8664 | | - 'articlefeedbackv5-special-filter-invisible' => 'മറയ്ക്കപ്പെട്ടത് ($1)', |
8665 | | - 'articlefeedbackv5-special-filter-deleted' => 'മായ്ച്ചവ ($1)', |
| 8835 | + 'articlefeedbackv5-special-filter-hidden' => 'മറയ്ക്കപ്പെട്ടത് ($1)', |
| 8836 | + 'articlefeedbackv5-special-filter-oversighted' => 'മായ്ച്ചവ ($1)', |
8666 | 8837 | 'articlefeedbackv5-special-sort-age' => 'തീയതി', |
8667 | 8838 | 'articlefeedbackv5-special-sort-helpful' => 'സഹായകരം', |
| 8839 | + 'articlefeedbackv5-special-sort-rating' => 'നിലവാരമിടൽ', |
8668 | 8840 | 'articlefeedbackv5-special-sort-label-before' => 'ക്രമീകരിക്കേണ്ടത്:', |
8669 | 8841 | 'articlefeedbackv5-special-filter-label-before' => 'പ്രദർശിപ്പിക്കുന്നവ:', |
8670 | 8842 | 'articleFeedbackv5-comment-ago' => '$1 മുമ്പ്', |
— | — | @@ -8687,7 +8859,7 @@ |
8688 | 8860 | 'articlefeedbackv5' => 'ലേഖനത്തിന്റെ മൂല്യനിർണ്ണയ നിയന്ത്രണോപാധികൾ', |
8689 | 8861 | 'articlefeedbackv5-desc' => 'ലേഖനത്തിന്റെ മൂല്യനിർണ്ണയം (പ്രാരംഭ പതിപ്പ്)', |
8690 | 8862 | 'articlefeedbackv5-comment-more' => 'കൂടുതൽ', |
8691 | | - 'articlefeedbackv5-comment-less' => 'സംഗ്രഹം', |
| 8863 | + 'articlefeedbackv5-comment-less' => 'കുറവ്', |
8692 | 8864 | 'articlefeedbackv5-beta-notice' => 'ബീറ്റ', |
8693 | 8865 | 'articlefeedbackv5-timestamp-years' => '{{PLURAL:$1|ഒരു വർഷം|$1 വർഷം}}', |
8694 | 8866 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|ഒരു മാസം|$1 മാസം}}', |
— | — | @@ -8840,8 +9012,9 @@ |
8841 | 9013 | 'articlefeedbackv5-error-email' => 'Alamat e-mel itu tidak sah.', |
8842 | 9014 | 'articlefeedbackv5-error-blocked' => 'Pengguna yang disekat tidak boleh menyerahkan maklum balas.', |
8843 | 9015 | 'articlefeedbackv5-error-validation' => 'Ralat pengesahan.', |
8844 | | - 'articlefeedbackv5-error-abuse' => 'Ulasan anda menyalahi $1. Sila semak dan betulkannya.', |
8845 | | - 'articlefeedbackv5-error-abuse-linktext' => 'dasar salah guna maklum balas', |
| 9016 | + 'articlefeedbackv5-error-abuse' => 'Pos anda telah ditolak oleh penapis perisian yang percaya bahawa pos itu telah melanggar $1 Wikipedia. |
| 9017 | +Sila semak pos anda dan cuba lagi', |
| 9018 | + 'articlefeedbackv5-error-abuse-linktext' => 'garis panduan maklum balas', |
8846 | 9019 | 'articlefeedbackv5-error-unknown' => 'Ralat yang tidak diketahui.', |
8847 | 9020 | 'articlefeedbackv5-error-submit' => 'Ralat ketika menyerahkan borang.', |
8848 | 9021 | 'articlefeedbackv5-error-nofeedback' => 'Sila isikan maklum balas anda.', |
— | — | @@ -8858,11 +9031,11 @@ |
8859 | 9032 | 'articlefeedbackv5-special-filter-abusive' => 'Dibenderakan sebagai salah guna ($1)', |
8860 | 9033 | 'articlefeedbackv5-special-filter-helpful' => 'Membantu ($1)', |
8861 | 9034 | 'articlefeedbackv5-special-filter-unhelpful' => 'Tidak membantu ($1)', |
8862 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Penghapusan dipohon ($1)', |
| 9035 | + 'articlefeedbackv5-special-filter-requested' => 'Penghapusan dipohon ($1)', |
8863 | 9036 | 'articlefeedbackv5-special-filter-visible' => 'Semua yang tampak ($1)', |
8864 | | - 'articlefeedbackv5-special-filter-invisible' => 'Tersorok ($1)', |
8865 | | - 'articlefeedbackv5-special-filter-deleted' => 'Dihapuskan ($1)', |
8866 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Dinyahhapuskan ($1)', |
| 9037 | + 'articlefeedbackv5-special-filter-hidden' => 'Tersorok ($1)', |
| 9038 | + 'articlefeedbackv5-special-filter-oversighted' => 'Dihapuskan ($1)', |
| 9039 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Dinyahhapuskan ($1)', |
8867 | 9040 | 'articlefeedbackv5-special-filter-declined' => 'Penghapusan Ditolak ($1)', |
8868 | 9041 | 'articlefeedbackv5-special-filter-unhidden' => 'Ditunjukkan semula ($1)', |
8869 | 9042 | 'articlefeedbackv5-special-sort-age' => 'Tarikh', |
— | — | @@ -8877,8 +9050,6 @@ |
8878 | 9051 | 'articlefeedbackv5-special-more' => 'Tunjukkan banyak lagi pos', |
8879 | 9052 | 'articlefeedbackv5-special-pagetitle' => 'Maklum balas: $1', |
8880 | 9053 | 'articlefeedbackv5-form-optionid' => 'Pilihan $1', |
8881 | | - 'articlefeedbackv5-hidden' => 'Pos ini disorokkan oleh $1 di $2', |
8882 | | - 'articlefeedbackv5-deleted' => 'Pos ini telah dihapuskan oleh $1 pada $2', |
8883 | 9054 | 'articlefeedbackv5-form-hide' => 'Sorokkan pos ini', |
8884 | 9055 | 'articlefeedbackv5-form-unhide' => 'Dedahkan pos ini', |
8885 | 9056 | 'articlefeedbackv5-form-helpful' => 'Tanda sebagai membantu ($1)', |
— | — | @@ -8940,6 +9111,8 @@ |
8941 | 9112 | 'articlefeedbackv5-mask-text-hidden' => 'Pos ini disorokkan oleh seorang penyunting yang berizin', |
8942 | 9113 | 'articlefeedbackv5-mask-text-oversight' => 'Pos ini dihapuskan oleh seorang penyunting yang berizin', |
8943 | 9114 | 'articlefeedbackv5-mask-postnumber' => 'Pos #$1', |
| 9115 | + 'articlefeedbackv5-special-disclaimer' => 'Ini ialah prototaip. Tolong jangan gunakannya melainkan anda dijemput.', |
| 9116 | + 'articlefeedbackv5-special-goback' => 'Kembali ke senarai maklum balas', |
8944 | 9117 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Sorokkan pos ini', |
8945 | 9118 | 'articlefeedbackv5-noteflyover-hide-label' => 'Tulis catatan', |
8946 | 9119 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Mengapakah anda menyorokkan pos ini?', |
— | — | @@ -9157,6 +9330,12 @@ |
9158 | 9331 | 'articlefeedbackv5-disable-flyover-help-location' => 'Keutamaan saya > Penampilan', |
9159 | 9332 | 'articlefeedbackv5-disable-flyover-help-direction' => 'dan raitkan', |
9160 | 9333 | 'articlefeedbackv5-disable-flyover-prefbutton' => 'Pergi ke keutamaan saya', |
| 9334 | + 'abusefilter-edit-action-aftv5flagabuse' => '(Maklum Balas Rencana) Tanda sebagai salah guna secara automatik', |
| 9335 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Ditandai secara automatik sebagai salah guna. Peraturan: $1', |
| 9336 | + 'abusefilter-edit-action-aftv5hide' => '(Maklum Balas Rencana) Sorokkan secara automatik', |
| 9337 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Disorokkan secara automatik. Peraturan: $1', |
| 9338 | + 'abusefilter-edit-action-aftv5requestoversight' => '(Maklum Balas Rencana) Pohon penghapusan secara automatik', |
| 9339 | + 'articlefeedbackv5-abusefilter-note-aftv5requestoversight' => 'Penghapusan dipohon secara automatik. Peraturan: $1', |
9161 | 9340 | ); |
9162 | 9341 | |
9163 | 9342 | /** Maltese (Malti) |
— | — | @@ -9554,8 +9733,8 @@ |
9555 | 9734 | 'articlefeedbackv5-error-email' => 'Dat e-mailadres is niet geldig.', |
9556 | 9735 | 'articlefeedbackv5-error-blocked' => 'Geblokkeerde gebruikers mogen geen terugkoppeling verzenden.', |
9557 | 9736 | 'articlefeedbackv5-error-validation' => 'Validatiefout.', |
9558 | | - 'articlefeedbackv5-error-abuse' => 'Uw opmerking in strijd met de $1. Pas uw opmerking alstublieft aan.', |
9559 | | - 'articlefeedbackv5-error-abuse-linktext' => 'beleid voor terugkoppelingsmisbruik', |
| 9737 | + 'articlefeedbackv5-error-abuse' => 'Uw bericht is afgewezen door een softwarefilter die aangeeft dat de $1 van Wikipedia mogelijk geschonden zouden worden. Pas uw opmerking alstublieft aan en probeer het opnieuw.', |
| 9738 | + 'articlefeedbackv5-error-abuse-linktext' => 'richtlijnen voor terugkoppeling', |
9560 | 9739 | 'articlefeedbackv5-error-unknown' => 'Onbekende fout.', |
9561 | 9740 | 'articlefeedbackv5-error-submit' => 'Fout bij het opslaan van het formulier.', |
9562 | 9741 | 'articlefeedbackv5-error-nofeedback' => 'Geef uw terugkoppeling.', |
— | — | @@ -9572,11 +9751,11 @@ |
9573 | 9752 | 'articlefeedbackv5-special-filter-abusive' => 'Gemarkeerd als misbruik ($1)', |
9574 | 9753 | 'articlefeedbackv5-special-filter-helpful' => 'Nuttig ($1)', |
9575 | 9754 | 'articlefeedbackv5-special-filter-unhelpful' => 'Niet nuttig ($1)', |
9576 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Toezicht aangevraagd ($1)', |
| 9755 | + 'articlefeedbackv5-special-filter-requested' => 'Toezicht aangevraagd ($1)', |
9577 | 9756 | 'articlefeedbackv5-special-filter-visible' => 'Alle zichtbaar ($1)', |
9578 | | - 'articlefeedbackv5-special-filter-invisible' => 'Verborgen ($1)', |
9579 | | - 'articlefeedbackv5-special-filter-deleted' => 'Verwijderd ($1)', |
9580 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Toezicht ongedaan gemaakt ($1)', |
| 9757 | + 'articlefeedbackv5-special-filter-hidden' => 'Verborgen ($1)', |
| 9758 | + 'articlefeedbackv5-special-filter-oversighted' => 'Verwijderd ($1)', |
| 9759 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Toezicht ongedaan gemaakt ($1)', |
9581 | 9760 | 'articlefeedbackv5-special-filter-declined' => 'Verwijdering verworpen ($1)', |
9582 | 9761 | 'articlefeedbackv5-special-filter-unhidden' => 'Opnieuw weergegeven ($1)', |
9583 | 9762 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
— | — | @@ -9591,8 +9770,6 @@ |
9592 | 9771 | 'articlefeedbackv5-special-more' => 'Meer berichten weergeven', |
9593 | 9772 | 'articlefeedbackv5-special-pagetitle' => 'Terugkoppeling: $1', |
9594 | 9773 | 'articlefeedbackv5-form-optionid' => 'Optie $1', |
9595 | | - 'articlefeedbackv5-hidden' => 'Dit bericht is verborgen door $1 op $2', |
9596 | | - 'articlefeedbackv5-deleted' => 'Dit bericht is verwijderd door $1 op $2', |
9597 | 9774 | 'articlefeedbackv5-form-hide' => 'Bericht verbergen', |
9598 | 9775 | 'articlefeedbackv5-form-unhide' => 'Bericht niet langer verbergen', |
9599 | 9776 | 'articlefeedbackv5-form-helpful' => 'Markeren als nuttig ($1)', |
— | — | @@ -9654,6 +9831,7 @@ |
9655 | 9832 | 'articlefeedbackv5-mask-text-hidden' => 'Dit bericht is verborgen door een daartoe gerechtigde gebruiker', |
9656 | 9833 | 'articlefeedbackv5-mask-text-oversight' => 'Dit bericht staat onder toezicht na een beslissing van een daartoe gerechtigde gebruiker', |
9657 | 9834 | 'articlefeedbackv5-mask-postnumber' => 'Bericht #$1', |
| 9835 | + 'articlefeedbackv5-special-disclaimer' => 'Dit is een prototype. Gebruik het niet als u niet bent uitgenodigd.', |
9658 | 9836 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Dit bericht verbergen', |
9659 | 9837 | 'articlefeedbackv5-noteflyover-hide-label' => 'Opmerking toevoegen', |
9660 | 9838 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Waarom verbergt u dit bericht?', |
— | — | @@ -9867,6 +10045,13 @@ |
9868 | 10046 | $4 |
9869 | 10047 | |
9870 | 10048 | Bedenk u dat "paginaterugkoppeling v5" nog steeds in een vroeg stadium van ontwikkeling is en wordt getest in de Engelstalige Wikipedia. De pagina voor terugkoppeling wordt nog niet beschikbaar gesteld aan de gemeenschap gedurende deze testperiode.', |
| 10049 | + 'articlefeedbackv5-disable-flyover-title' => 'Dit hulpprogramma verwijderen?', |
| 10050 | + 'articlefeedbackv5-disable-flyover-help' => 'Ga naar $2 en vink $3 aan om $1 te verwijderen', |
| 10051 | + 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'Paginabeoordeling', |
| 10052 | + 'articlefeedbackv5-disable-flyover-help-location' => 'Mijn voorkeuren > Uiterlijk', |
| 10053 | + 'articlefeedbackv5-disable-flyover-prefbutton' => 'Ga naar mijn voorkeuren', |
| 10054 | + 'articlefeedbackv5-abusefilter-note-aftv5flagabuse' => 'Automatisch gemarkeerd als misbruik. Regel: $1', |
| 10055 | + 'articlefeedbackv5-abusefilter-note-aftv5hide' => 'Automatisch verborgen. Regel: $1', |
9871 | 10056 | ); |
9872 | 10057 | |
9873 | 10058 | /** Nederlands (informeel) (Nederlands (informeel)) |
— | — | @@ -10086,6 +10271,7 @@ |
10087 | 10272 | |
10088 | 10273 | /** Polish (Polski) |
10089 | 10274 | * @author BeginaFelicysym |
| 10275 | + * @author Odder |
10090 | 10276 | * @author Olgak85 |
10091 | 10277 | * @author Sp5uhe |
10092 | 10278 | */ |
— | — | @@ -10100,9 +10286,15 @@ |
10101 | 10287 | 'articlefeedbackv5-cta2-confirmation-call' => 'Ta strona jest tworzona przez ludzi jak Ty. Pomożesz nam?', |
10102 | 10288 | 'articlefeedbackv5-cta2-button-text' => 'Dowiedz się więcej', |
10103 | 10289 | 'articlefeedbackv5-cta3-confirmation-title' => 'Poświęć chwilę czasu na wypełnienie krótkiej ankiety', |
| 10290 | + 'articlefeedbackv5-cta3-confirmation-call' => 'To zajmie tylko minutę a pomoże w ulepszeniu Wikipedii.', |
| 10291 | + 'articlefeedbackv5-cta3-button-text' => 'Początek ankiety', |
10104 | 10292 | 'articlefeedbackv5-error' => 'Wystąpił błąd. Proszę spróbować ponownie później.', |
| 10293 | + 'articlefeedbackv5-page-disabled' => 'Strona opinii o artykule nie została aktywowana dla tego artykułu.', |
10105 | 10294 | 'articlefeedbackv5-error-email' => 'Adres e-mail nie jest prawidłowy.', |
| 10295 | + 'articlefeedbackv5-error-blocked' => 'Zablokowani użytkownicy nie mogą przesyłać opinii.', |
10106 | 10296 | 'articlefeedbackv5-error-validation' => 'Błąd sprawdzania poprawności.', |
| 10297 | + 'articlefeedbackv5-error-abuse' => 'Twój wpis został odrzucony przez oprogramowanie filtrujące z sugestią naruszenia zapisów $1 Wikipedii. Zweryfikuj wpis i spróbuj ponownie.', |
| 10298 | + 'articlefeedbackv5-error-abuse-linktext' => 'wytyczne odnośnie opinii', |
10107 | 10299 | 'articlefeedbackv5-error-unknown' => 'Nieznany błąd.', |
10108 | 10300 | 'articlefeedbackv5-error-submit' => 'Błąd przesyłania formularza.', |
10109 | 10301 | 'articlefeedbackv5-error-nofeedback' => 'Proszę wprowadzić swoje opinie.', |
— | — | @@ -10119,11 +10311,11 @@ |
10120 | 10312 | 'articlefeedbackv5-special-filter-abusive' => 'Oznaczone jako nadużycie ($1)', |
10121 | 10313 | 'articlefeedbackv5-special-filter-helpful' => 'Pomocne ($1)', |
10122 | 10314 | 'articlefeedbackv5-special-filter-unhelpful' => 'Nieprzydatne ($1)', |
10123 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Wymagany nadzór ( $1 )', |
| 10315 | + 'articlefeedbackv5-special-filter-requested' => 'Wymagany nadzór ( $1 )', |
10124 | 10316 | 'articlefeedbackv5-special-filter-visible' => 'Wszystkie widoczne ($1)', |
10125 | | - 'articlefeedbackv5-special-filter-invisible' => 'Niewidoczne ($1)', |
10126 | | - 'articlefeedbackv5-special-filter-deleted' => 'Ocenzurowano ($1)', |
10127 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Usunięto cenzurę ($1)', |
| 10317 | + 'articlefeedbackv5-special-filter-hidden' => 'Niewidoczne ($1)', |
| 10318 | + 'articlefeedbackv5-special-filter-oversighted' => 'Ocenzurowano ($1)', |
| 10319 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Usunięto cenzurę ($1)', |
10128 | 10320 | 'articlefeedbackv5-special-filter-declined' => 'Cenzura odrzucona ($1)', |
10129 | 10321 | 'articlefeedbackv5-special-filter-unhidden' => 'Odkryto ($1)', |
10130 | 10322 | 'articlefeedbackv5-special-sort-age' => 'Data', |
— | — | @@ -10138,8 +10330,6 @@ |
10139 | 10331 | 'articlefeedbackv5-special-more' => 'Pokaż więcej wpisów', |
10140 | 10332 | 'articlefeedbackv5-special-pagetitle' => 'Informacje zwrotne: $1', |
10141 | 10333 | 'articlefeedbackv5-form-optionid' => 'Opcja $1', |
10142 | | - 'articlefeedbackv5-hidden' => 'Ten wpis został ukryty $2 przez $1', |
10143 | | - 'articlefeedbackv5-deleted' => 'Ten post został usunięty $2 przez $1', |
10144 | 10334 | 'articlefeedbackv5-form-hide' => 'Ukryj ten wpis', |
10145 | 10335 | 'articlefeedbackv5-form-unhide' => 'Odkryj ten wpis', |
10146 | 10336 | 'articlefeedbackv5-form-helpful' => 'Oznacz jako przydatny ($1)', |
— | — | @@ -10201,6 +10391,8 @@ |
10202 | 10392 | 'articlefeedbackv5-mask-text-hidden' => 'Ten post wpis ukryty przez upoważnionego edytora', |
10203 | 10393 | 'articlefeedbackv5-mask-text-oversight' => 'Ten wpis został zweryfikowany przez upoważnionego edytora', |
10204 | 10394 | 'articlefeedbackv5-mask-postnumber' => 'Wpis #$1', |
| 10395 | + 'articlefeedbackv5-special-disclaimer' => 'To jest prototyp. Można go używać wyłącznie na specjalne zaproszenie.', |
| 10396 | + 'articlefeedbackv5-special-goback' => 'Wróć do listy opinii', |
10205 | 10397 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Ukryj ten wpis', |
10206 | 10398 | 'articlefeedbackv5-noteflyover-hide-label' => 'Dodaj notatkę', |
10207 | 10399 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Dlaczego ukrywasz ten wpis?', |
— | — | @@ -10346,7 +10538,9 @@ |
10347 | 10539 | 'articlefeedbackv5-log-header' => 'Jest to dziennik aktywności na elementach ocen zebranych dla artykułów przy użyciu narzędzia Opinie artykułu.', |
10348 | 10540 | 'articlefeedbackv5-log-oversight' => 'zmieniono status opinii [[$1]] na ocenzurowany', |
10349 | 10541 | 'articlefeedbackv5-log-unoversight' => 'usunięto cenzurę statusu [[$1]] z opinii', |
10350 | | - 'articlefeedbackv5-activity-pane-header' => 'Dziennik aktywności', |
| 10542 | + 'articlefeedbackv5-log-hidden' => 'ukryj opinię [[$1]]', |
| 10543 | + 'articlefeedbackv5-log-unhidden' => 'pokaż opinię [[$1]]', |
| 10544 | + 'articlefeedbackv5-activity-pane-header' => 'Rejestr aktywności', |
10351 | 10545 | 'articlefeedbackv5-activity-feedback-info' => 'Ocena wpisu #$1 przez $2', |
10352 | 10546 | 'articlefeedbackv5-activity-feedback-date' => 'Zamieszczono $1', |
10353 | 10547 | 'articlefeedbackv5-activity-permalink' => 'permalink', |
— | — | @@ -10592,7 +10786,7 @@ |
10593 | 10787 | 'articlefeedbackv5-special-filter-helpful' => 'ګټور ($1)', |
10594 | 10788 | 'articlefeedbackv5-special-filter-unhelpful' => 'ناګټور ($1)', |
10595 | 10789 | 'articlefeedbackv5-special-filter-visible' => 'ټول ښکاره ($1)', |
10596 | | - 'articlefeedbackv5-special-filter-invisible' => 'پټ ($1)', |
| 10790 | + 'articlefeedbackv5-special-filter-hidden' => 'پټ ($1)', |
10597 | 10791 | 'articlefeedbackv5-special-sort-age' => 'نېټه', |
10598 | 10792 | 'articlefeedbackv5-special-sort-helpful' => 'ګټور', |
10599 | 10793 | 'articlefeedbackv5-special-sort-rating' => 'ارزونه', |
— | — | @@ -10688,9 +10882,9 @@ |
10689 | 10883 | 'articlefeedbackv5-special-filter-abusive' => 'Marcado como abusivo ($1)', |
10690 | 10884 | 'articlefeedbackv5-special-filter-helpful' => 'Útil ($1)', |
10691 | 10885 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inútil ($1)', |
10692 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Supervisão solicitada ($1)', |
| 10886 | + 'articlefeedbackv5-special-filter-requested' => 'Supervisão solicitada ($1)', |
10693 | 10887 | 'articlefeedbackv5-special-filter-visible' => 'Todos visíveis ($1)', |
10694 | | - 'articlefeedbackv5-special-filter-invisible' => 'Oculto ($1)', |
| 10888 | + 'articlefeedbackv5-special-filter-hidden' => 'Oculto ($1)', |
10695 | 10889 | 'articlefeedbackv5-special-sort-age' => 'Data', |
10696 | 10890 | 'articlefeedbackv5-form2-header-praise' => '{{GENDER:$1|$1}} teve um elogio:', |
10697 | 10891 | 'articlefeedbackv5-form2-header-problem' => '{{GENDER:$1|$1}} teve um problema:', |
— | — | @@ -10834,11 +11028,11 @@ |
10835 | 11029 | 'articlefeedbackv5-special-filter-abusive' => 'Marcado como abusivo ($1)', |
10836 | 11030 | 'articlefeedbackv5-special-filter-helpful' => 'Útil ($1)', |
10837 | 11031 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inútil ($1)', |
10838 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Supervisão solicitada ($1)', |
| 11032 | + 'articlefeedbackv5-special-filter-requested' => 'Supervisão solicitada ($1)', |
10839 | 11033 | 'articlefeedbackv5-special-filter-visible' => 'Todos visíveis ($1)', |
10840 | | - 'articlefeedbackv5-special-filter-invisible' => 'Oculto ($1)', |
10841 | | - 'articlefeedbackv5-special-filter-deleted' => 'Supervisado ($1)', |
10842 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Não supervisado ($1)', |
| 11034 | + 'articlefeedbackv5-special-filter-hidden' => 'Oculto ($1)', |
| 11035 | + 'articlefeedbackv5-special-filter-oversighted' => 'Supervisado ($1)', |
| 11036 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Não supervisado ($1)', |
10843 | 11037 | 'articlefeedbackv5-special-filter-declined' => 'Supervisão rejeitada ($1)', |
10844 | 11038 | 'articlefeedbackv5-special-filter-unhidden' => 'Não ocultado ($1)', |
10845 | 11039 | 'articlefeedbackv5-special-sort-age' => 'Data', |
— | — | @@ -10853,8 +11047,6 @@ |
10854 | 11048 | 'articlefeedbackv5-special-more' => 'Mostrar mais comentários', |
10855 | 11049 | 'articlefeedbackv5-special-pagetitle' => 'Comentários: $1', |
10856 | 11050 | 'articlefeedbackv5-form-optionid' => 'Opção $1', |
10857 | | - 'articlefeedbackv5-hidden' => 'Este comentário foi ocultado por um editor autorizado', |
10858 | | - 'articlefeedbackv5-deleted' => 'Este comentário foi excluído por oversighters', |
10859 | 11051 | 'articlefeedbackv5-form-hide' => 'Ocultar este post', |
10860 | 11052 | 'articlefeedbackv5-form-unhide' => 'Mostrar este comentário', |
10861 | 11053 | 'articlefeedbackv5-form-helpful' => 'Marcar como útil ($1)', |
— | — | @@ -11063,17 +11255,28 @@ |
11064 | 11256 | 'articlefeedbackv5-cta2-button-text' => 'Aflați mai multe', |
11065 | 11257 | 'articlefeedbackv5-error' => 'A apărut o eroare. Vă rugăm să reîncercați mai târziu.', |
11066 | 11258 | 'articlefeedbackv5-error-email' => 'Această adresă de e-mail nu este validă.', |
| 11259 | + 'articlefeedbackv5-error-blocked' => 'Utilizatorii blocați nu pot trimite păreri.', |
11067 | 11260 | 'articlefeedbackv5-error-validation' => 'Eroare de validare.', |
| 11261 | + 'articlefeedbackv5-error-abuse' => 'Mesajul dumneavoastră a fost respins de un filtru software, sugerând că acesta ar fi încălcat $1 ale Wikipediei. Vă rugăm să-l revizuiți și să încercați din nou.', |
| 11262 | + 'articlefeedbackv5-error-abuse-linktext' => 'normele de conduită pentru comentarii', |
11068 | 11263 | 'articlefeedbackv5-error-unknown' => 'Eroare necunoscută.', |
11069 | 11264 | 'articlefeedbackv5-error-submit' => 'Eroare la trimiterea formularului.', |
11070 | 11265 | 'articlefeedbackv5-error-nofeedback' => 'Vă rugăm să vă scrieți părerea.', |
11071 | 11266 | 'articlefeedbackv5-error-flagging' => 'Eroare la semnalizarea părerii.', |
| 11267 | + 'articlefeedbackv5-form-tools-label' => 'Unelte', |
| 11268 | + 'articlefeedbackv5-form-helpful-yes-label' => 'Da', |
| 11269 | + 'articlefeedbackv5-form-helpful-no-label' => 'Nu', |
| 11270 | + 'articlefeedbackv5-form-helpful-votes' => '{{PLURAL:$1|1 „da”|$1 de „da”}} / {{PLURAL:$2|1 „nu”|$2 de „nu”}}', |
11072 | 11271 | 'articlefeedbackv5-special-filter-all' => 'Toate (supraveghere) ($1)', |
| 11272 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Toate (ascunse) ($1)', |
| 11273 | + 'articlefeedbackv5-special-filter-comment' => 'Doar comentarii ($1)', |
11073 | 11274 | 'articlefeedbackv5-special-filter-visible' => 'Toate vizibile ($1)', |
11074 | | - 'articlefeedbackv5-special-filter-invisible' => 'Ascunsă ($1)', |
11075 | | - 'articlefeedbackv5-special-sort-label-before' => 'Ordonați după:', |
| 11275 | + 'articlefeedbackv5-special-filter-hidden' => 'Ascunsă ($1)', |
| 11276 | + 'articlefeedbackv5-special-sort-age' => 'Dată', |
| 11277 | + 'articlefeedbackv5-special-sort-label-before' => 'Sortare după:', |
11076 | 11278 | 'articlefeedbackv5-special-filter-label-before' => 'Se afișează:', |
11077 | 11279 | 'articlefeedbackv5-special-showing' => '{{PLURAL:$1|1 mesaj de feedback|$1 mesaje de feedback|$1 de mesaje de feedback}} pentru acest articol', |
| 11280 | + 'articleFeedbackv5-comment-ago' => '$1 în urmă', |
11078 | 11281 | 'articlefeedbackv5-special-more' => 'Arată mai multe postări', |
11079 | 11282 | 'articlefeedbackv5-form-optionid' => 'Opțiunea $1', |
11080 | 11283 | 'articlefeedbackv5-form-hide' => 'Ascunde această postare', |
— | — | @@ -11110,6 +11313,14 @@ |
11111 | 11314 | * Recent scăzute: articole care au primit cel puțin 70% calificative slabe (2 stele sau mai puțin) în orice categorie în ultimele 24 de ore. Numai articolele care au primit cel puțin 10 evaluări în ultimele 24 de ore sunt incluse.", |
11112 | 11315 | 'articlefeedbackv5' => 'Panou de control evaluare articol', |
11113 | 11316 | 'articlefeedbackv5-desc' => 'Evaluare articol', |
| 11317 | + 'articlefeedbackv5-comment-more' => 'Mai mult', |
| 11318 | + 'articlefeedbackv5-comment-less' => 'Mai puțin', |
| 11319 | + 'articlefeedbackv5-beta-notice' => 'Beta', |
| 11320 | + 'articlefeedbackv5-viewactivity' => 'Vizualizare activitate', |
| 11321 | + 'articlefeedbackv5-timestamp-years' => '{{PLURAL:$1|$1 an|$1 ani|$1 de ani}}', |
| 11322 | + 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|$1 lună|$1 luni|$1 de luni}}', |
| 11323 | + 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|$1 săptămână|$1 săptămâni|$1 de săptămâni}}', |
| 11324 | + 'articlefeedbackv5-timestamp-seconds' => 'mai puțin de 1 minut', |
11114 | 11325 | 'articlefeedbackv5-bucket1-title' => 'Ajutați la îmbunătățirea paginii', |
11115 | 11326 | 'articlefeedbackv5-bucket1-question-toggle' => 'Ați găsit ceea ce ați căutat?', |
11116 | 11327 | 'articlefeedbackv5-bucket1-toggle-found-yes' => 'Da', |
— | — | @@ -11142,7 +11353,7 @@ |
11143 | 11354 | 'articlefeedbackv5-bucket4-title' => 'Ajutați la îmbunătățirea acestei pagini', |
11144 | 11355 | 'articlefeedbackv5-bucket4-subhead' => 'Știați că puteți modifica această pagină?', |
11145 | 11356 | 'articlefeedbackv5-bucket4-teaser-line1' => 'Wikipedia funcționează deoarece oricine poate modifica paginile ei.', |
11146 | | - 'articlefeedbackv5-bucket4-teaser-line2' => 'Dați-i drumul, faceți o încercare. Îndrăzniți!', |
| 11357 | + 'articlefeedbackv5-bucket4-teaser-line2' => 'Dați-i drumul, faceți o încercare. Fiți îndrăzneț!', |
11147 | 11358 | 'articlefeedbackv5-bucket4-learn-to-edit' => 'Aflați cum să modificați o pagină', |
11148 | 11359 | 'articlefeedbackv5-bucket4-form-submit' => 'Modificați această pagină', |
11149 | 11360 | 'articlefeedbackv5-bucket4-help-tooltip-info' => 'Wikipedia dorește să știe ce gândiți. Ajutați la îmbunătățirea acestei pagini devenind un editor.', |
— | — | @@ -11202,8 +11413,10 @@ |
11203 | 11414 | 'articlefeedbackv5-help-tooltip-linktext' => 'Aflați mai multe', |
11204 | 11415 | 'articlefeedbackv5-transparency-terms' => 'Prin trimitere, sunteți de acord cu acești $1.', |
11205 | 11416 | 'articlefeedbackv5-transparency-terms-linktext' => 'termeni', |
| 11417 | + 'articlefeedbackv5-sitesub-linktext' => 'Îmbunătățiți această pagină', |
11206 | 11418 | 'articlefeedbackv5-titlebar-linktext' => 'Ajutați la îmbunătățirea acestei pagini >>', |
11207 | 11419 | 'articlefeedbackv5-fixedtab-linktext' => 'Îmbunătățiți această pagină', |
| 11420 | + 'articlefeedbackv5-bottomrighttab-linktext' => 'Îmbunătățiți această pagină', |
11208 | 11421 | 'articlefeedbackv5-section-linktext' => 'părere', |
11209 | 11422 | 'articlefeedbackv5-toolbox-linktext' => 'Îmbunătățiți această pagină', |
11210 | 11423 | 'articlefeedbackv5-disable-preference' => 'Nu afișa widgetul pentru evaluarea articolelor în cadrul paginilor', |
— | — | @@ -11229,6 +11442,7 @@ |
11230 | 11443 | |
11231 | 11444 | Vă mulțumim și vă urăm toate cele bune, |
11232 | 11445 | Echipa proiectului {{SITENAME}}', |
| 11446 | + 'articlefeedbackv5-disable-flyover-title' => 'Eliminați acest instrument?', |
11233 | 11447 | ); |
11234 | 11448 | |
11235 | 11449 | /** Tarandíne (Tarandíne) |
— | — | @@ -11256,10 +11470,13 @@ |
11257 | 11471 | 'articlefeedbackv5-form-tools-label' => 'Struminde', |
11258 | 11472 | 'articlefeedbackv5-form-helpful-yes-label' => 'Sìne', |
11259 | 11473 | 'articlefeedbackv5-form-helpful-no-label' => 'None', |
| 11474 | + 'articlefeedbackv5-special-add-feedback' => "Manne 'a segnalaziona toje", |
11260 | 11475 | 'articlefeedbackv5-special-filter-all' => 'Tutte (sorveglie) ($1)', |
11261 | 11476 | 'articlefeedbackv5-special-filter-notdeleted' => 'Tutte ($1)', |
11262 | 11477 | 'articlefeedbackv5-special-filter-visible' => 'Tutte Vesibbile ($1)', |
11263 | | - 'articlefeedbackv5-special-filter-invisible' => 'Scunnute ($1)', |
| 11478 | + 'articlefeedbackv5-special-filter-hidden' => 'Scunnute ($1)', |
| 11479 | + 'articlefeedbackv5-special-sort-age' => 'Date', |
| 11480 | + 'articlefeedbackv5-special-sort-helpful' => 'Utile', |
11264 | 11481 | 'articlefeedbackv5-special-sort-label-before' => 'Urdenate pe:', |
11265 | 11482 | 'articlefeedbackv5-special-filter-label-before' => 'Ste face vedè:', |
11266 | 11483 | 'articlefeedbackv5-special-showing' => '{{PLURAL:$1|1 messàgge de segnalazione|$1 messàgge de segnalazione}} sus a sta pàgene', |
— | — | @@ -11268,20 +11485,21 @@ |
11269 | 11486 | 'articlefeedbackv5-form-optionid' => 'Opzione $1', |
11270 | 11487 | 'articlefeedbackv5-form-hide' => 'Scunne stu messagge', |
11271 | 11488 | 'articlefeedbackv5-form-abuse' => 'Signale cumme abuse ($1)', |
11272 | | - 'articlefeedbackv5-form-delete' => 'Scangille (sorveglianze)', |
| 11489 | + 'articlefeedbackv5-form-abuse-masked' => 'Signe cumme abbuse', |
| 11490 | + 'articlefeedbackv5-form-delete' => 'Supervisione', |
11273 | 11491 | 'articlefeedbackv5-form-header' => 'Feedback #$1, a $2', |
11274 | | - 'articlefeedbackv5-form1-header-found' => '{{GENDER:$1|$1}} honne acchjate quidde ca stavane cercanne', |
11275 | | - 'articlefeedbackv5-form1-header-not-found' => "{{GENDER:$1|$1}} non g'honne acchjate quidde ca stavane cercanne", |
11276 | | - 'articlefeedbackv5-form2-header-praise' => "{{GENDER:$1|$1}} have 'nu commende:", |
11277 | | - 'articlefeedbackv5-form2-header-problem' => "{{GENDER:$1|$1}} ave 'na lode:", |
| 11492 | + 'articlefeedbackv5-form1-header-found' => '{{GENDER:$1|$2 onne acchiate quidde ca ste cercavane}}', |
| 11493 | + 'articlefeedbackv5-form1-header-not-found' => "{{GENDER:$1|$2 non g'onne acchiate quidde ca ste cercavane}}", |
| 11494 | + 'articlefeedbackv5-form2-header-praise' => '{{GENDER:$1|$1}} ave na lode:', |
| 11495 | + 'articlefeedbackv5-form2-header-problem' => "{{GENDER:$1|$1}} ave 'nu probbleme:", |
11278 | 11496 | 'articlefeedbackv5-form2-header-question' => "{{GENDER:$1|$1}} ave 'na domande:", |
11279 | 11497 | 'articlefeedbackv5-form2-header-suggestion' => "{{GENDER:$1|$1}} ave 'nu suggerimende:", |
11280 | | - 'articlefeedbackv5-form3-header' => "$1 valute 'stà pàgene $2/5", |
11281 | | - 'articlefeedbackv5-form4-header' => "L'utine jè state presendate c'u module CTA-only.", |
11282 | | - 'articlefeedbackv5-form5-header' => "$1 valute 'stà pàgene:", |
| 11498 | + 'articlefeedbackv5-form3-header' => '{{GENDER:$1|$1}} valute stà pàgene $2/5', |
| 11499 | + 'articlefeedbackv5-form4-header' => "{{GENDER:$1|$1}} ha state presendate c'u module CTA-only.", |
| 11500 | + 'articlefeedbackv5-form5-header' => '{{GENDER:$1|$1}} valute stà pàgene:', |
11283 | 11501 | 'articlefeedbackv5-form-not-shown' => "{{GENDER:$1|$1}} non g'ha fatte vedè 'nu module de segnalazione.", |
11284 | 11502 | 'articlefeedbackv5-form-invalid' => "'U module ID d'u feedback non g'ète valide.", |
11285 | | - 'articlefeedbackv5-abuse-saved' => "Abuse de l'assignazione salvate", |
| 11503 | + 'articlefeedbackv5-abuse-saved' => 'Signate cumme abbuse ($1)', |
11286 | 11504 | 'articlefeedbackv5-error-loading-feedback' => "Errore d'u carecamènde feedback.", |
11287 | 11505 | 'articlefeedbackv5-invalid-feedback-id' => "L' ID d'u feedback non g'ète valide.", |
11288 | 11506 | 'articlefeedbackv5-invalid-feedback-flag' => "L'assignazione d'u feedback non g'ète valide.", |
— | — | @@ -11289,7 +11507,7 @@ |
11290 | 11508 | 'articlefeedbackv5-discussion-page' => "'Ngazzamende", |
11291 | 11509 | 'articlefeedbackv5-whats-this' => 'Ajute', |
11292 | 11510 | 'articlefeedbackv5-invalid-page-id' => 'Pàgene ID invalide', |
11293 | | - 'articlefeedbackv5-percent-found' => '$1 de utinde honne acchijate quidde ca stavane cercanne.', |
| 11511 | + 'articlefeedbackv5-percent-found' => '$1 onne acchiate quidde ca ste cercavane.', |
11294 | 11512 | 'articlefeedbackv5-overall-rating' => 'Valutazione: $1/5', |
11295 | 11513 | 'articlefeedbackv5-special-title' => '== Segnalazione ==', |
11296 | 11514 | 'articleFeedbackv5-table-caption-dailyhighsandlows' => 'Le megghie e le pesce de osce', |
— | — | @@ -11306,6 +11524,9 @@ |
11307 | 11525 | 'articlefeedbackv5-comment-more' => 'De cchiù', |
11308 | 11526 | 'articlefeedbackv5-comment-less' => 'De mene', |
11309 | 11527 | 'articlefeedbackv5-beta-notice' => 'Beta', |
| 11528 | + 'articlefeedbackv5-timestamp-years' => '{{PLURAL:$1|$1 anne|$1 anne}}', |
| 11529 | + 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|$1 mese|$1 mise}}', |
| 11530 | + 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|$1 sumane|$1 sumane}}', |
11310 | 11531 | 'articlefeedbackv5-bucket1-title' => "Danne 'na màne a migliorà sta pàgene", |
11311 | 11532 | 'articlefeedbackv5-bucket1-question-toggle' => 'Hagghie acchijate quidde ca stave cercanne?', |
11312 | 11533 | 'articlefeedbackv5-bucket1-toggle-found-yes' => 'Sìne', |
— | — | @@ -11411,6 +11632,7 @@ |
11412 | 11633 | 'articlefeedbackv5-section-linktext' => 'feedback', |
11413 | 11634 | 'articlefeedbackv5-toolbox-linktext' => 'Perfezione sta pàgene', |
11414 | 11635 | 'articlefeedbackv5-privacyurl' => '//wikimediafoundation.org/wiki/Feedback_privacy_statement', |
| 11636 | + 'articlefeedbackv5-activity-pane-header' => 'Archivije de le attività', |
11415 | 11637 | 'articlefeedbackv5-emailcapture-response-body' => "Cià! |
11416 | 11638 | |
11417 | 11639 | Grazie purcé è avute inderesse a dà 'na màne pe migliorà {{SITENAME}}. |
— | — | @@ -11469,8 +11691,8 @@ |
11470 | 11692 | 'articlefeedbackv5-error-email' => 'Недопустимый адрес электронной почты.', |
11471 | 11693 | 'articlefeedbackv5-error-blocked' => 'Заблокированные пользователи не могут представлять отзыв.', |
11472 | 11694 | 'articlefeedbackv5-error-validation' => 'Ошибка проверки.', |
11473 | | - 'articlefeedbackv5-error-abuse' => 'Ваш комментарий нарушает $1. Просьба пересмотреть его.', |
11474 | | - 'articlefeedbackv5-error-abuse-linktext' => 'политику злоупотребления в отзывах', |
| 11695 | + 'articlefeedbackv5-error-abuse' => 'Ваше сообщение было отвергнуто программным фильтром, который определил, что оно может нарушить $1 Википедии. Пожалуйста скорректируйте своё сообщение и повторите попытку.', |
| 11696 | + 'articlefeedbackv5-error-abuse-linktext' => 'правила написания отзывов', |
11475 | 11697 | 'articlefeedbackv5-error-unknown' => 'Неизвестная ошибка.', |
11476 | 11698 | 'articlefeedbackv5-error-submit' => 'Ошибка при отправке данных формы.', |
11477 | 11699 | 'articlefeedbackv5-error-nofeedback' => 'Введите, пожалуйста, ваш отзыв.', |
— | — | @@ -11487,11 +11709,11 @@ |
11488 | 11710 | 'articlefeedbackv5-special-filter-abusive' => 'Помечено как злоупотребление ($1)', |
11489 | 11711 | 'articlefeedbackv5-special-filter-helpful' => 'Полезный ($1)', |
11490 | 11712 | 'articlefeedbackv5-special-filter-unhelpful' => 'Бесполезный ($1)', |
11491 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Запрошен надзор ($1)', |
| 11713 | + 'articlefeedbackv5-special-filter-requested' => 'Запрошен надзор ($1)', |
11492 | 11714 | 'articlefeedbackv5-special-filter-visible' => 'Все видимые ( $1 )', |
11493 | | - 'articlefeedbackv5-special-filter-invisible' => 'Скрытые ( $1 )', |
11494 | | - 'articlefeedbackv5-special-filter-deleted' => 'Под надзором ($1)', |
11495 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Без надзора ($1)', |
| 11715 | + 'articlefeedbackv5-special-filter-hidden' => 'Скрытые ( $1 )', |
| 11716 | + 'articlefeedbackv5-special-filter-oversighted' => 'Под надзором ($1)', |
| 11717 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Без надзора ($1)', |
11496 | 11718 | 'articlefeedbackv5-special-filter-declined' => 'Надзор отклонен ( $1 )', |
11497 | 11719 | 'articlefeedbackv5-special-filter-unhidden' => 'Нескрытый ($1)', |
11498 | 11720 | 'articlefeedbackv5-special-sort-age' => 'Дата', |
— | — | @@ -11506,8 +11728,6 @@ |
11507 | 11729 | 'articlefeedbackv5-special-more' => 'Показать больше отзывов', |
11508 | 11730 | 'articlefeedbackv5-special-pagetitle' => 'Отзыв: $1', |
11509 | 11731 | 'articlefeedbackv5-form-optionid' => 'Вариант $1', |
11510 | | - 'articlefeedbackv5-hidden' => 'Этот отзыв скрыт авторизованным редактором', |
11511 | | - 'articlefeedbackv5-deleted' => 'Этот отзыв был удален надзирателями', |
11512 | 11732 | 'articlefeedbackv5-form-hide' => 'Скрыть это сообщение', |
11513 | 11733 | 'articlefeedbackv5-form-unhide' => 'Показать этот отзыв', |
11514 | 11734 | 'articlefeedbackv5-form-helpful' => 'Пометить как полезную ($1)', |
— | — | @@ -11567,7 +11787,11 @@ |
11568 | 11788 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|$1 месяц|$1 месяца|$1 месяцев}}', |
11569 | 11789 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|$1 неделя|$1 недели|$1 недель}}', |
11570 | 11790 | 'articlefeedbackv5-timestamp-seconds' => 'менее 1 минуты', |
| 11791 | + 'articlefeedbackv5-mask-text-hidden' => 'Этот отзыв скрыт авторизованным редактором', |
| 11792 | + 'articlefeedbackv5-mask-text-oversight' => 'Этот отзыв скрыт от всех авторизованным редактором', |
11571 | 11793 | 'articlefeedbackv5-mask-postnumber' => 'Отзыв #$1', |
| 11794 | + 'articlefeedbackv5-special-disclaimer' => 'Это прототип. Не используйте его, если вас специально не приглашали.', |
| 11795 | + 'articlefeedbackv5-special-goback' => 'Вернуться к списку отзывов', |
11572 | 11796 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Скрыть этот отзыв', |
11573 | 11797 | 'articlefeedbackv5-noteflyover-hide-label' => 'Добавить примечание', |
11574 | 11798 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Почему вы скрыли этот отзыв?', |
— | — | @@ -11732,9 +11956,9 @@ |
11733 | 11957 | 'articlefeedbackv5-activity-flag' => 'поставил отметку о злоупотреблении в', |
11734 | 11958 | 'articlefeedbackv5-activity-unhidden' => 'убрал скрытие отзыва в', |
11735 | 11959 | 'articlefeedbackv5-activity-unflag' => 'убрал отметку о злоупотреблении в', |
11736 | | - 'articlefeedbackv5-activity-oversight' => 'надзирает этот отзыв с', |
11737 | | - 'articlefeedbackv5-activity-unoversight' => 'убрал надзор с', |
11738 | | - 'articlefeedbackv5-activity-count' => '$1 действий на этот отзыв', |
| 11960 | + 'articlefeedbackv5-activity-oversight' => 'скрыл этот отзыв с', |
| 11961 | + 'articlefeedbackv5-activity-unoversight' => 'раскрыл этот отзыв с', |
| 11962 | + 'articlefeedbackv5-activity-count' => '{{PLURAL:$1|$1 действие на этот отзыв|$1 действия на этот отзыв|$1 действий на этот отзыв}}', |
11739 | 11963 | 'articlefeedbackv5-activity-more' => 'Показать дополнительные действия', |
11740 | 11964 | 'articlefeedbackv5-emailcapture-response-body' => 'Здравствуйте! |
11741 | 11965 | |
— | — | @@ -11758,7 +11982,7 @@ |
11759 | 11983 | |
11760 | 11984 | С наилучшими пожеланиями и благодарностью |
11761 | 11985 | Команда проекта {{SITENAME}}', |
11762 | | - 'articlefeedbackv5-email-request-oversight-subject' => '$1 запросил скрытие $2', |
| 11986 | + 'articlefeedbackv5-email-request-oversight-subject' => 'Запрошено сокрытие для страницы отзыва', |
11763 | 11987 | ); |
11764 | 11988 | |
11765 | 11989 | /** Rusyn (Русиньскый) |
— | — | @@ -12186,8 +12410,8 @@ |
12187 | 12411 | 'articlefeedbackv5-error-email' => 'Ta elektronski naslov ni veljaven.', |
12188 | 12412 | 'articlefeedbackv5-error-blocked' => 'Blokirani uporabniki ne smejo objavljati povratnih informacij.', |
12189 | 12413 | 'articlefeedbackv5-error-validation' => 'Napaka pri preverjanju.', |
12190 | | - 'articlefeedbackv5-error-abuse' => 'Vaš komentar krši $1. Prosimo, popravite ga.', |
12191 | | - 'articlefeedbackv5-error-abuse-linktext' => 'Politika zlorabe povratnih informacij', |
| 12414 | + 'articlefeedbackv5-error-abuse' => 'Vašo objavo je zavrnil programski filter, ki sumi, da objava morda krši Wikipedijine $1. Prosimo, popravite vašo objavo in poskusite znova.', |
| 12415 | + 'articlefeedbackv5-error-abuse-linktext' => 'smernice povratnih informacij', |
12192 | 12416 | 'articlefeedbackv5-error-unknown' => 'Neznana napaka.', |
12193 | 12417 | 'articlefeedbackv5-error-submit' => 'Napaka pri predložitvi obrazca.', |
12194 | 12418 | 'articlefeedbackv5-error-nofeedback' => 'Prosimo, vnesite svoj odziv.', |
— | — | @@ -12204,11 +12428,11 @@ |
12205 | 12429 | 'articlefeedbackv5-special-filter-abusive' => 'Označeno kot zloraba ($1)', |
12206 | 12430 | 'articlefeedbackv5-special-filter-helpful' => 'V pomoč ($1)', |
12207 | 12431 | 'articlefeedbackv5-special-filter-unhelpful' => 'Nekoristno ($1)', |
12208 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'Nadzor (brisanje) zahtevan ($1)', |
| 12432 | + 'articlefeedbackv5-special-filter-requested' => 'Nadzor (brisanje) zahtevan ($1)', |
12209 | 12433 | 'articlefeedbackv5-special-filter-visible' => 'Vsi vidni ($1)', |
12210 | | - 'articlefeedbackv5-special-filter-invisible' => 'Skriti ($1)', |
12211 | | - 'articlefeedbackv5-special-filter-deleted' => 'Izbrisano ($1)', |
12212 | | - 'articlefeedbackv5-special-filter-undeleted' => 'Izbris razveljavljen ($1)', |
| 12434 | + 'articlefeedbackv5-special-filter-hidden' => 'Skriti ($1)', |
| 12435 | + 'articlefeedbackv5-special-filter-oversighted' => 'Izbrisano ($1)', |
| 12436 | + 'articlefeedbackv5-special-filter-unoversighted' => 'Izbris razveljavljen ($1)', |
12213 | 12437 | 'articlefeedbackv5-special-filter-declined' => 'Izbris zavrnjen ($1)', |
12214 | 12438 | 'articlefeedbackv5-special-filter-unhidden' => 'Razkrito ($1)', |
12215 | 12439 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
— | — | @@ -12223,8 +12447,6 @@ |
12224 | 12448 | 'articlefeedbackv5-special-more' => 'Prikaži več objav', |
12225 | 12449 | 'articlefeedbackv5-special-pagetitle' => 'Povratna informacija: $1', |
12226 | 12450 | 'articlefeedbackv5-form-optionid' => 'Možnost $1', |
12227 | | - 'articlefeedbackv5-hidden' => 'Objavo je {{GENDER:skril|skrila|skril}} $1 ob $2.', |
12228 | | - 'articlefeedbackv5-deleted' => 'Objavo je {{GENDER:|izbrisal|izbrisala|izbrisal}} $1 ob $2.', |
12229 | 12451 | 'articlefeedbackv5-form-hide' => 'Skrij objavo', |
12230 | 12452 | 'articlefeedbackv5-form-unhide' => 'Razkrij objavo', |
12231 | 12453 | 'articlefeedbackv5-form-helpful' => 'Označi kot koristno ($1)', |
— | — | @@ -12286,6 +12508,7 @@ |
12287 | 12509 | 'articlefeedbackv5-mask-text-hidden' => 'Ta komentar je skril pooblaščeni urednik.', |
12288 | 12510 | 'articlefeedbackv5-mask-text-oversight' => 'Ta komentar je eden od pooblaščenih urednikov izbrisal.', |
12289 | 12511 | 'articlefeedbackv5-mask-postnumber' => 'Objavi $1', |
| 12512 | + 'articlefeedbackv5-special-disclaimer' => 'To je prototip. Prosimo, da ga ne uporabljate, razen v primeru, če ste bili povabljeni.', |
12290 | 12513 | 'articlefeedbackv5-noteflyover-hide-caption' => 'Skrij objavo', |
12291 | 12514 | 'articlefeedbackv5-noteflyover-hide-label' => 'Dodaj opombo', |
12292 | 12515 | 'articlefeedbackv5-noteflyover-hide-placeholder' => 'Zakaj skrivate objavo?', |
— | — | @@ -12501,6 +12724,11 @@ |
12502 | 12725 | Prosimo, upoštevajte, daje orodje za povratna sporočila v5 še vedno v zgodnjih |
12503 | 12726 | fazah razvoja in da stran s povratnimi sporočili za obdobje preizkušanja ni na |
12504 | 12727 | razpolago celotnemu občestvu.', |
| 12728 | + 'articlefeedbackv5-disable-flyover-title' => 'Odstranim orodje?', |
| 12729 | + 'articlefeedbackv5-disable-flyover-help' => 'Za odstranitev $1 pojdite na $2 in odkljukajte $3', |
| 12730 | + 'articlefeedbackv5-disable-flyover-help-emphasis-text' => 'Povratna informacija članka', |
| 12731 | + 'articlefeedbackv5-disable-flyover-help-location' => 'Nastavitve > Videz', |
| 12732 | + 'articlefeedbackv5-disable-flyover-prefbutton' => 'Pojdi na moje nastavitve', |
12505 | 12733 | ); |
12506 | 12734 | |
12507 | 12735 | /** Serbian (Cyrillic script) (Српски (ћирилица)) |
— | — | @@ -12814,7 +13042,7 @@ |
12815 | 13043 | 'articlefeedbackv5-special-filter-helpful' => 'Användbart ($1)', |
12816 | 13044 | 'articlefeedbackv5-special-filter-unhelpful' => 'Inte användbart ($1)', |
12817 | 13045 | 'articlefeedbackv5-special-filter-visible' => 'Alla synliga ($1)', |
12818 | | - 'articlefeedbackv5-special-filter-invisible' => 'Osynlig', |
| 13046 | + 'articlefeedbackv5-special-filter-hidden' => 'Dold ($1)', |
12819 | 13047 | 'articlefeedbackv5-special-sort-age' => 'Datum', |
12820 | 13048 | 'articlefeedbackv5-special-sort-helpful' => 'Användbar', |
12821 | 13049 | 'articlefeedbackv5-special-sort-rating' => 'Betyg', |
— | — | @@ -12827,8 +13055,6 @@ |
12828 | 13056 | 'articlefeedbackv5-special-more' => 'Visa fler inlägg', |
12829 | 13057 | 'articlefeedbackv5-special-pagetitle' => 'Feedback: $1', |
12830 | 13058 | 'articlefeedbackv5-form-optionid' => 'Alternativ $1', |
12831 | | - 'articlefeedbackv5-hidden' => 'Denna post doldes av $1 den $2', |
12832 | | - 'articlefeedbackv5-deleted' => 'Denna post har tog bort av $1 den $2', |
12833 | 13059 | 'articlefeedbackv5-form-hide' => 'Dölj detta inlägg', |
12834 | 13060 | 'articlefeedbackv5-form-unhide' => 'Ta fram denna post', |
12835 | 13061 | 'articlefeedbackv5-form-helpful' => 'Markera som användbar ($1)', |
— | — | @@ -12847,7 +13073,7 @@ |
12848 | 13074 | 'articlefeedbackv5-discussion-page' => 'Diskussion', |
12849 | 13075 | 'articlefeedbackv5-whats-this' => 'Vad är detta?', |
12850 | 13076 | 'articlefeedbackv5-invalid-page-id' => 'Ogiltigt sid-ID', |
12851 | | - 'articlefeedbackv5-percent-found' => '$1 av användarna hittade vad de letade efter.', |
| 13077 | + 'articlefeedbackv5-percent-found' => '$1 hittade vad de letade efter', |
12852 | 13078 | 'articlefeedbackv5-overall-rating' => 'Betyg: $1/5', |
12853 | 13079 | 'articlefeedbackv5-special-title' => '==Feedback==', |
12854 | 13080 | 'articleFeedbackv5-table-caption-dailyhighsandlows' => 'Dagens toppar och dalar', |
— | — | @@ -13238,6 +13464,7 @@ |
13239 | 13465 | |
13240 | 13466 | /** Turkish (Türkçe) |
13241 | 13467 | * @author 82-145 |
| 13468 | + * @author Bilalokms |
13242 | 13469 | * @author Cekli829 |
13243 | 13470 | * @author CnkALTDS |
13244 | 13471 | * @author Emperyan |
— | — | @@ -13260,6 +13487,7 @@ |
13261 | 13488 | 'articlefeedbackv5-cta3-button-text' => 'Ankete başla', |
13262 | 13489 | 'articlefeedbackv5-error' => 'Bir hata meydana geldi. Lütfen daha sonra tekrar deneyin.', |
13263 | 13490 | 'articlefeedbackv5-error-email' => 'Bu e-posta adresi geçerli değil.', |
| 13491 | + 'articlefeedbackv5-error-blocked' => 'Engellenmiş kullanıcılar geri bildirim gönderemez.', |
13264 | 13492 | 'articlefeedbackv5-error-validation' => 'Doğrulama hatası.', |
13265 | 13493 | 'articlefeedbackv5-error-abuse' => 'Yorumunuz $1 ilkesini ihlal ediyor. Lütfen bunu düzeltin.', |
13266 | 13494 | 'articlefeedbackv5-error-abuse-linktext' => 'geri bildirim kötüye kullanım ilkesi', |
— | — | @@ -13271,22 +13499,30 @@ |
13272 | 13500 | 'articlefeedbackv5-form-helpful-yes-label' => 'Evet', |
13273 | 13501 | 'articlefeedbackv5-form-helpful-no-label' => 'Hayır', |
13274 | 13502 | 'articlefeedbackv5-special-add-feedback' => 'Geri bildirim ekleyin', |
13275 | | - 'articlefeedbackv5-special-filter-all' => 'Hepsi ($1)', |
| 13503 | + 'articlefeedbackv5-special-filter-all' => 'Hepsi (gözetim) ($1)', |
| 13504 | + 'articlefeedbackv5-special-filter-notdeleted' => 'Hepsi ($1)', |
13276 | 13505 | 'articlefeedbackv5-special-filter-comment' => 'Sadece yorumlar ($1)', |
13277 | | - 'articlefeedbackv5-special-filter-invisible' => '($1) gizlendi', |
13278 | | - 'articlefeedbackv5-special-filter-deleted' => '($1) silindi', |
| 13506 | + 'articlefeedbackv5-special-filter-abusive' => 'İstismar olarak bayraklandı ($1)', |
| 13507 | + 'articlefeedbackv5-special-filter-hidden' => '($1) gizlendi', |
| 13508 | + 'articlefeedbackv5-special-filter-oversighted' => '($1) silindi', |
13279 | 13509 | 'articlefeedbackv5-special-sort-age' => 'Tarih', |
| 13510 | + 'articlefeedbackv5-special-filter-label-before' => 'Gösteriliyor:', |
13280 | 13511 | 'articleFeedbackv5-comment-ago' => '$1 önce', |
13281 | 13512 | 'articlefeedbackv5-revision-link' => 'Özgün sürümü görüntüle', |
13282 | 13513 | 'articlefeedbackv5-special-more' => 'Daha fazla', |
13283 | 13514 | 'articlefeedbackv5-special-pagetitle' => 'Geri bildirim: $1', |
13284 | 13515 | 'articlefeedbackv5-form-optionid' => 'Seçenek $1', |
13285 | | - 'articlefeedbackv5-hidden' => 'Gizli', |
13286 | | - 'articlefeedbackv5-form-delete' => 'Sil', |
| 13516 | + 'articlefeedbackv5-form-hide' => 'Bu yazıyı gizle', |
| 13517 | + 'articlefeedbackv5-form-unhide' => 'Bu yazıyı göster', |
| 13518 | + 'articlefeedbackv5-form-abuse' => 'İstismar olarak bayraklayın ($1)', |
| 13519 | + 'articlefeedbackv5-form-abuse-masked' => 'İstismar olarak bayraklayın', |
| 13520 | + 'articlefeedbackv5-form-delete' => 'Gözetim', |
| 13521 | + 'articlefeedbackv5-abuse-saved' => 'İstismar olarak bayraklandı ($1)', |
| 13522 | + 'articlefeedbackv5-abuse-saved-masked' => 'İstismar olarak bayraklandı', |
13287 | 13523 | 'articlefeedbackv5-go-to-article' => 'Maddeyi görüntüle', |
13288 | 13524 | 'articlefeedbackv5-discussion-page' => 'Tartışma', |
13289 | 13525 | 'articlefeedbackv5-whats-this' => 'Yardım', |
13290 | | - 'articlefeedbackv5-overall-rating' => 'Oran', |
| 13526 | + 'articlefeedbackv5-overall-rating' => 'Oran: $1/5', |
13291 | 13527 | 'articlefeedbackv5-special-title' => '==Geri bildirim==', |
13292 | 13528 | 'articleFeedbackv5-table-heading-page' => 'Madde', |
13293 | 13529 | 'articleFeedbackv5-table-heading-average' => 'Ortalama', |
— | — | @@ -13313,6 +13549,7 @@ |
13314 | 13550 | 'articlefeedbackv5-noteflyover-unrequestoversight-submit' => 'İsteği iptal et', |
13315 | 13551 | 'articlefeedbackv5-noteflyover-unrequestoversight-help' => 'Daha fazla bilgi', |
13316 | 13552 | 'articlefeedbackv5-noteflyover-oversight-label' => 'Not ekle', |
| 13553 | + 'articlefeedbackv5-noteflyover-oversight-help' => 'Daha fazla bilgi', |
13317 | 13554 | 'articlefeedbackv5-noteflyover-unoversight-label' => 'Not ekle', |
13318 | 13555 | 'articlefeedbackv5-noteflyover-unoversight-help' => 'Daha fazla bilgi', |
13319 | 13556 | 'articlefeedbackv5-noteflyover-declineoversight-label' => 'Not ekle', |
— | — | @@ -13781,15 +14018,18 @@ |
13782 | 14019 | */ |
13783 | 14020 | $messages['yi'] = array( |
13784 | 14021 | 'articlefeedbackv5-cta-thanks' => 'אַ דאַנק', |
13785 | | - 'articlefeedbackv5-special-filter-all' => 'אַלע', |
| 14022 | + 'articlefeedbackv5-special-filter-all' => 'אַלע (קאנטראל) ($1)', |
13786 | 14023 | 'articlefeedbackv5-special-filter-notdeleted' => 'אלע ($1)', |
13787 | 14024 | 'articlefeedbackv5-special-filter-comment' => 'נאר הערות ($1)', |
13788 | 14025 | 'articlefeedbackv5-special-filter-abusive' => 'געצייכנט ווי קרומבאניץ', |
13789 | 14026 | 'articlefeedbackv5-special-filter-helpful' => 'העלפֿיק ($1)', |
13790 | 14027 | 'articlefeedbackv5-special-filter-unhelpful' => 'נישט העלפיק ($1)', |
13791 | | - 'articlefeedbackv5-special-filter-needsoversight' => 'רעצענזיע געפאדערט ($1)', |
| 14028 | + 'articlefeedbackv5-special-filter-requested' => 'רעצענזיע געפאדערט ($1)', |
13792 | 14029 | 'articlefeedbackv5-special-filter-visible' => 'אלע זעבאר ($1)', |
13793 | | - 'articlefeedbackv5-special-filter-invisible' => 'באהאלטן ($1)', |
| 14030 | + 'articlefeedbackv5-special-filter-hidden' => 'באהאלטן ($1)', |
| 14031 | + 'articlefeedbackv5-special-sort-age' => 'דאַטע', |
| 14032 | + 'articlefeedbackv5-special-sort-label-before' => 'סארטירן לויט:', |
| 14033 | + 'articleFeedbackv5-comment-ago' => 'פֿאַר $1', |
13794 | 14034 | 'articlefeedbackv5-special-more' => 'ווייזן נאך מעלדונגען', |
13795 | 14035 | 'articlefeedbackv5-special-pagetitle' => 'פֿידבעק: $1', |
13796 | 14036 | 'articlefeedbackv5-form-optionid' => 'ברירה $1', |
— | — | @@ -13808,9 +14048,10 @@ |
13809 | 14049 | 'articlefeedbackv5-discussion-page' => 'שמועס', |
13810 | 14050 | 'articlefeedbackv5-whats-this' => 'הילף', |
13811 | 14051 | 'articlefeedbackv5-invalid-page-id' => 'אומגילטיקער בלאט אידענטיפיצירער', |
13812 | | - 'articlefeedbackv5-percent-found' => '$1 פון באניצער האבן געטראפן וואס זיי האבן געזוכט.', |
| 14052 | + 'articlefeedbackv5-percent-found' => '$1 האבן געטראפֿן וואס זיי האבן געזוכט.', |
13813 | 14053 | 'articlefeedbackv5-overall-rating' => 'שאַצונג: $1/5', |
13814 | 14054 | 'articlefeedbackv5-special-title' => '==פֿידבעק==', |
| 14055 | + 'articleFeedbackv5-table-caption-dailyhighsandlows' => 'היינטיקע הויכן און טיפן', |
13815 | 14056 | 'articleFeedbackv5-table-heading-page' => 'אַרטיקל', |
13816 | 14057 | 'articleFeedbackv5-table-heading-average' => 'דורכשניט', |
13817 | 14058 | 'articlefeedbackv5' => 'ארטיקל פֿידבעק טאוול', |
— | — | @@ -13838,6 +14079,7 @@ |
13839 | 14080 | * @author Anakmalaysia |
13840 | 14081 | * @author Bencmq |
13841 | 14082 | * @author Breawycker |
| 14083 | + * @author Dimension |
13842 | 14084 | * @author Hydra |
13843 | 14085 | * @author Hzy980512 |
13844 | 14086 | * @author Liangent |
— | — | @@ -13845,6 +14087,7 @@ |
13846 | 14088 | * @author PhiLiP |
13847 | 14089 | * @author Shizhao |
13848 | 14090 | * @author Xiaomingyan |
| 14091 | + * @author Yfdyh000 |
13849 | 14092 | * @author 阿pp |
13850 | 14093 | */ |
13851 | 14094 | $messages['zh-hans'] = array( |
— | — | @@ -13865,7 +14108,7 @@ |
13866 | 14109 | 'articlefeedbackv5-error-email' => '此电子邮件地址无效。', |
13867 | 14110 | 'articlefeedbackv5-error-blocked' => '被阻止的用户不能提交反馈。', |
13868 | 14111 | 'articlefeedbackv5-error-validation' => '验证错误。', |
13869 | | - 'articlefeedbackv5-error-abuse' => '您的评论违反了$1,请修改之。', |
| 14112 | + 'articlefeedbackv5-error-abuse' => '您的评论被软件过滤器拒绝,它可能违反了维基百科的$1。请修改您的评论再试。', |
13870 | 14113 | 'articlefeedbackv5-error-abuse-linktext' => '反馈滥用政策', |
13871 | 14114 | 'articlefeedbackv5-error-unknown' => '未知错误。', |
13872 | 14115 | 'articlefeedbackv5-error-submit' => '表单提交错误。', |
— | — | @@ -13883,11 +14126,11 @@ |
13884 | 14127 | 'articlefeedbackv5-special-filter-abusive' => '标记为滥用($1)', |
13885 | 14128 | 'articlefeedbackv5-special-filter-helpful' => '有帮助($1)', |
13886 | 14129 | 'articlefeedbackv5-special-filter-unhelpful' => '无益($1)', |
13887 | | - 'articlefeedbackv5-special-filter-needsoversight' => '请求删除($1)', |
| 14130 | + 'articlefeedbackv5-special-filter-requested' => '请求删除($1)', |
13888 | 14131 | 'articlefeedbackv5-special-filter-visible' => '所有可见($1)', |
13889 | | - 'articlefeedbackv5-special-filter-invisible' => '隐藏($1)', |
13890 | | - 'articlefeedbackv5-special-filter-deleted' => '已删除($1)', |
13891 | | - 'articlefeedbackv5-special-filter-undeleted' => '尚未监督( $1 )', |
| 14132 | + 'articlefeedbackv5-special-filter-hidden' => '隐藏($1)', |
| 14133 | + 'articlefeedbackv5-special-filter-oversighted' => '已删除($1)', |
| 14134 | + 'articlefeedbackv5-special-filter-unoversighted' => '尚未监督( $1 )', |
13892 | 14135 | 'articlefeedbackv5-special-filter-declined' => '拒绝监督 ( $1 )', |
13893 | 14136 | 'articlefeedbackv5-special-filter-unhidden' => '取消隐藏($1)', |
13894 | 14137 | 'articlefeedbackv5-special-sort-age' => '日期', |
— | — | @@ -13902,8 +14145,6 @@ |
13903 | 14146 | 'articlefeedbackv5-special-more' => '显示更多帖子', |
13904 | 14147 | 'articlefeedbackv5-special-pagetitle' => '反馈:$1', |
13905 | 14148 | 'articlefeedbackv5-form-optionid' => '选项$1', |
13906 | | - 'articlefeedbackv5-hidden' => '$1在$2之上隐藏了该帖', |
13907 | | - 'articlefeedbackv5-deleted' => '$1在$2之上删除了该帖', |
13908 | 14149 | 'articlefeedbackv5-form-hide' => '隐藏这篇文章', |
13909 | 14150 | 'articlefeedbackv5-form-unhide' => '取消隐藏该帖', |
13910 | 14151 | 'articlefeedbackv5-form-helpful' => '标记为有帮助($1)', |
— | — | @@ -13962,7 +14203,9 @@ |
13963 | 14204 | 'articlefeedbackv5-timestamp-months' => '{{PLURAL:$1|$1个月|$1个月}}', |
13964 | 14205 | 'articlefeedbackv5-timestamp-weeks' => '{{PLURAL:$1|$1周|$1周}}', |
13965 | 14206 | 'articlefeedbackv5-timestamp-seconds' => '不到1分钟', |
| 14207 | + 'articlefeedbackv5-mask-text-hidden' => '此评论被一名已授权编者隐藏', |
13966 | 14208 | 'articlefeedbackv5-mask-postnumber' => '帖子#$1', |
| 14209 | + 'articlefeedbackv5-special-goback' => '回到反馈列表', |
13967 | 14210 | 'articlefeedbackv5-noteflyover-hide-caption' => '隐藏该帖', |
13968 | 14211 | 'articlefeedbackv5-noteflyover-hide-label' => '添加注释', |
13969 | 14212 | 'articlefeedbackv5-noteflyover-hide-placeholder' => '您为什么隐藏该帖?', |
— | — | @@ -14105,6 +14348,8 @@ |
14106 | 14349 | 'right-aftv5-see-deleted-feedback' => '查看已删除的反馈', |
14107 | 14350 | 'right-aftv5-see-hidden-feedback' => '查看隐藏的反馈', |
14108 | 14351 | 'articlefeedbackv5-log-name' => '文章反馈活动日志', |
| 14352 | + 'articlefeedbackv5-activity-pane-header' => '活动日志', |
| 14353 | + 'articlefeedbackv5-activity-more' => '显示更多活动', |
14109 | 14354 | 'articlefeedbackv5-emailcapture-response-body' => '您好! |
14110 | 14355 | |
14111 | 14356 | 谢谢您表示愿意帮助我们改善{{SITENAME}}。 |
— | — | @@ -14127,6 +14372,10 @@ |
14128 | 14373 | |
14129 | 14374 | 祝好,致谢, |
14130 | 14375 | {{SITENAME}}团队', |
| 14376 | + 'articlefeedbackv5-disable-flyover-title' => '移除此工具吗?', |
| 14377 | + 'articlefeedbackv5-disable-flyover-help' => '若要删除 $1,请转至 $2,并勾选 $3', |
| 14378 | + 'articlefeedbackv5-disable-flyover-help-location' => '参数设置 > 外观', |
| 14379 | + 'articlefeedbackv5-disable-flyover-prefbutton' => '转至参数设置', |
14131 | 14380 | ); |
14132 | 14381 | |
14133 | 14382 | /** Traditional Chinese (中文(繁體)) |
— | — | @@ -14174,8 +14423,8 @@ |
14175 | 14424 | 'articlefeedbackv5-special-filter-helpful' => '有幫助($1)', |
14176 | 14425 | 'articlefeedbackv5-special-filter-unhelpful' => '無益($1)', |
14177 | 14426 | 'articlefeedbackv5-special-filter-visible' => '所有可見($1)', |
14178 | | - 'articlefeedbackv5-special-filter-invisible' => '隱藏($1)', |
14179 | | - 'articlefeedbackv5-special-filter-deleted' => '已刪除($1)', |
| 14427 | + 'articlefeedbackv5-special-filter-hidden' => '隱藏($1)', |
| 14428 | + 'articlefeedbackv5-special-filter-oversighted' => '已刪除($1)', |
14180 | 14429 | 'articlefeedbackv5-special-sort-age' => '日期', |
14181 | 14430 | 'articlefeedbackv5-special-sort-helpful' => '有幫助', |
14182 | 14431 | 'articlefeedbackv5-special-sort-rating' => '評級', |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.special.css |
— | — | @@ -489,8 +489,7 @@ |
490 | 490 | opacity : 0.4; |
491 | 491 | filter: alpha(opacity=40); |
492 | 492 | } |
493 | | -#articleFeedbackv5-show-feedback .articleFeedbackv5-feedback-hidden .articleFeedbackv5-feedback-hidden-marker, |
494 | | -#articleFeedbackv5-show-feedback .articleFeedbackv5-feedback-deleted .articleFeedbackv5-feedback-deleted-marker { |
| 493 | +#articleFeedbackv5-show-feedback .articleFeedbackv5-feedback-status-marker { |
495 | 494 | font-weight: bold; |
496 | 495 | color: red; |
497 | 496 | display: block; |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.css |
— | — | @@ -485,7 +485,7 @@ |
486 | 486 | right: -105px; |
487 | 487 | font-size: 12px; |
488 | 488 | width: 234px; |
489 | | - color: #000; |
| 489 | + color: #000; |
490 | 490 | } |
491 | 491 | |
492 | 492 | .articleFeedbackv5-tooltip .tooltip-top { |
— | — | @@ -804,8 +804,8 @@ |
805 | 805 | } |
806 | 806 | |
807 | 807 | /*** Option 4 ***/ |
808 | | -.articleFeedbackv5-option-4 .articleFeedbackv5-submit { |
809 | | - float: right; |
| 808 | +.articleFeedbackv5-option-4.articleFeedbackv5-ui .articleFeedbackv5-cta-button { |
| 809 | + margin-top: 10px !important; |
810 | 810 | } |
811 | 811 | .articleFeedbackv5-option-4 .articleFeedbackv5-disclosure { |
812 | 812 | float: left; |
— | — | @@ -826,7 +826,14 @@ |
827 | 827 | .articleFeedbackv5-option-4 .articleFeedbackv5-submit span { |
828 | 828 | margin: 8px 0 0; |
829 | 829 | } |
| 830 | +.articleFeedbackv5-option-4 .articleFeedbackv5-tooltip { |
| 831 | + top: -350px; |
| 832 | +} |
830 | 833 | |
| 834 | +.articleFeedbackv5-option-4-noedit .articleFeedbackv5-tooltip { |
| 835 | + top: -310px; |
| 836 | +} |
| 837 | + |
831 | 838 | /*** Option 5 ***/ |
832 | 839 | #articleFeedbackv5-option-5 .articleFeedbackv5-submit { |
833 | 840 | float: right; |
— | — | @@ -1058,7 +1065,7 @@ |
1059 | 1066 | } |
1060 | 1067 | .articleFeedbackv5-fixedtabbox { |
1061 | 1068 | position: relative; |
1062 | | - /*-moz-transform:rotate(90deg); |
| 1069 | + /*-moz-transform:rotate(90deg); |
1063 | 1070 | -moz-transform-origin: top left; |
1064 | 1071 | -webkit-transform: rotate(90deg); |
1065 | 1072 | -webkit-transform-origin: top left; |
— | — | @@ -1087,7 +1094,7 @@ |
1088 | 1095 | /*padding: 5px 10px; |
1089 | 1096 | color: #fff; |
1090 | 1097 | text-align: center; |
1091 | | - writing-mode: tb-rl;*/ |
| 1098 | + writing-mode: tb-rl;*/ |
1092 | 1099 | position: absolute; |
1093 | 1100 | z-index: 999; |
1094 | 1101 | } |
— | — | @@ -1183,7 +1190,7 @@ |
1184 | 1191 | .articleFeedbackv5-flyover-header { |
1185 | 1192 | -moz-border-radius: 3px 3px 0 0; |
1186 | 1193 | -webkit-border-radius: 3px 3px 0 0; |
1187 | | - border-radius: 3px 3px 0 0; |
| 1194 | + border-radius: 3px 3px 0 0; |
1188 | 1195 | -khtml-border-radius: 3px 3px 0 0; |
1189 | 1196 | } |
1190 | 1197 | .articleFeedbackv5-flyover-header h3 { |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.special.js |
— | — | @@ -28,6 +28,8 @@ |
29 | 29 | |
30 | 30 | // {{{ articleFeedbackv5special definition |
31 | 31 | |
| 32 | + // TODO: jam sort/filter options into URL anchors, and use them as defaults if present. |
| 33 | + |
32 | 34 | $.articleFeedbackv5special = {}; |
33 | 35 | |
34 | 36 | // {{{ Properties |
— | — | @@ -46,7 +48,7 @@ |
47 | 49 | * Controls for the list: sort, filter, continue flag, etc |
48 | 50 | */ |
49 | 51 | $.articleFeedbackv5special.listControls = { |
50 | | - filter: 'comment', |
| 52 | + filter: 'visible-comment', |
51 | 53 | filterValue: undefined, // Permalinks require a feedback ID |
52 | 54 | sort: 'age', |
53 | 55 | sortDirection: 'desc', |
— | — | @@ -480,24 +482,22 @@ |
481 | 483 | /** |
482 | 484 | * Utility method: Marks a feedback row hidden |
483 | 485 | * |
484 | | - * @param $row element the feedback row |
485 | | - * @param hide_user string the user's name, linked to their user page |
486 | | - * @param hide_timestamp string the timestamp |
| 486 | + * @param $row element the feedback row |
| 487 | + * @param $status_line element the status line |
487 | 488 | */ |
488 | | - $.articleFeedbackv5special.markHidden = function ( $row, hide_user, hide_timestamp ) { |
489 | | - if ( $row.data( 'deleted' ) ) { |
| 489 | + $.articleFeedbackv5special.markHidden = function ( $row, $status_line ) { |
| 490 | + if ( $status_line ) { |
490 | 491 | $.articleFeedbackv5special.unmarkDeleted( $row ); |
491 | | - } |
492 | | - if ( $row.data( 'hidden' ) ) { |
493 | 492 | $.articleFeedbackv5special.unmarkHidden( $row ); |
494 | 493 | } |
495 | 494 | $row.addClass( 'articleFeedbackv5-feedback-hidden' ) |
496 | 495 | .data( 'hidden', true ); |
497 | | - $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
498 | | - $( '<span class="articleFeedbackv5-feedback-hidden-marker"></span>' ) |
499 | | - // this is on purpose html not text- hide_user is a link |
500 | | - .html( mw.msg( 'articlefeedbackv5-hidden', hide_user, hide_timestamp) ) |
501 | | - .insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 496 | + var $marker = $row.find('articleFeedbackv5-feedback-status-marker'); |
| 497 | + |
| 498 | + if ( 0 == $marker.length ) { |
| 499 | + $( $status_line).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 500 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
| 501 | + } |
502 | 502 | $.articleFeedbackv5special.maskPost( $row, 'hidden'); |
503 | 503 | }; |
504 | 504 | |
— | — | @@ -512,7 +512,7 @@ |
513 | 513 | $.articleFeedbackv5special.unmarkHidden = function ( $row ) { |
514 | 514 | $row.removeClass( 'articleFeedbackv5-feedback-hidden' ) |
515 | 515 | .data( 'hidden', false ); |
516 | | - $row.find( '.articleFeedbackv5-feedback-hidden-marker' ).remove(); |
| 516 | + $row.find( '.articleFeedbackv5-feedback-status-marker' ).remove(); |
517 | 517 | $row.find( '.articleFeedbackv5-comment-wrap' ).removeClass( 'articleFeedbackv5-h3-push'); |
518 | 518 | }; |
519 | 519 | |
— | — | @@ -526,12 +526,12 @@ |
527 | 527 | * @param $row element the feedback row |
528 | 528 | * @param type string the mask type |
529 | 529 | */ |
530 | | - $.articleFeedbackv5special.maskPost = function( $row, type ) { |
| 530 | + $.articleFeedbackv5special.maskPost = function( $row, $type ) { |
531 | 531 | var $screen = $row.find( '.articleFeedbackv5-post-screen' ); |
532 | 532 | if( 0 == $screen.length ) { |
533 | 533 | $screen = $( $.articleFeedbackv5special.maskHtmlTemplate ); |
534 | 534 | $screen.find( '.articleFeedbackv5-mask-text' ) |
535 | | - .text( mw.msg( 'articlefeedbackv5-mask-text-' + type ) ); |
| 535 | + .text( mw.msg( 'articlefeedbackv5-mask-text-' + $type ) ); |
536 | 536 | $screen.find( '.articleFeedbackv5-mask-postid' ) |
537 | 537 | .text( mw.msg( 'articlefeedbackv5-mask-postnumber', $row.attr( 'rel' ) ) ); |
538 | 538 | $row.prepend( $screen ); |
— | — | @@ -551,24 +551,22 @@ |
552 | 552 | /** |
553 | 553 | * Utility method: Marks a feedback row deleted |
554 | 554 | * |
555 | | - * @param $row element the feedback row |
556 | | - * @param oversight_user string the user's name, linked to their user page |
557 | | - * @param oversight_timestamp string the timestamp |
| 555 | + * @param $row element the feedback row |
| 556 | + * @param $status_line element the status line |
558 | 557 | */ |
559 | | - $.articleFeedbackv5special.markDeleted = function ( $row, oversight_user, oversight_timestamp ) { |
560 | | - if ( $row.data( 'deleted' ) ) { |
| 558 | + $.articleFeedbackv5special.markDeleted = function ( $row, $status_line ) { |
| 559 | + if ( $status_line ) { |
561 | 560 | $.articleFeedbackv5special.unmarkDeleted( $row ); |
562 | | - } |
563 | | - if ( $row.data( 'hidden' ) ) { |
564 | 561 | $.articleFeedbackv5special.unmarkHidden( $row ); |
565 | 562 | } |
566 | 563 | $row.addClass( 'articleFeedbackv5-feedback-deleted' ) |
567 | 564 | .data( 'deleted', true ); |
568 | | - var $marker = $( '<span class="articleFeedbackv5-feedback-deleted-marker"></span>' ) |
569 | | - // this is on purpose html not text- oversight_user is a link |
570 | | - .html( mw.msg( 'articlefeedbackv5-deleted', oversight_user, oversight_timestamp ) ) |
571 | | - .insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
572 | | - $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
| 565 | + var $marker = $row.find('articleFeedbackv5-feedback-status-marker'); |
| 566 | + |
| 567 | + if ( 0 == $marker.length ) { |
| 568 | + $( $status_line).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 569 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
| 570 | + } |
573 | 571 | $.articleFeedbackv5special.maskPost( $row, 'oversight' ); |
574 | 572 | }; |
575 | 573 | |
— | — | @@ -583,7 +581,7 @@ |
584 | 582 | $.articleFeedbackv5special.unmarkDeleted = function ( $row ) { |
585 | 583 | $row.removeClass( 'articleFeedbackv5-feedback-deleted' ) |
586 | 584 | .data( 'deleted', false ); |
587 | | - $row.find( '.articleFeedbackv5-feedback-deleted-marker' ).remove(); |
| 585 | + $row.find( '.articleFeedbackv5-feedback-status-marker' ).remove(); |
588 | 586 | $row.find( '.articleFeedbackv5-comment-wrap' ).removeClass( 'articleFeedbackv5-h3-push'); |
589 | 587 | }; |
590 | 588 | |
— | — | @@ -815,9 +813,9 @@ |
816 | 814 | .css( 'top', $screen.innerHeight() / 2 - 12 ); |
817 | 815 | |
818 | 816 | } else if ( $( this ).hasClass( 'articleFeedbackv5-feedback-deleted' ) ) { |
819 | | - $.articleFeedbackv5special.markDeleted( $( this ), $( this ).attr('oversight-user'), $( this ).attr('oversight-timestamp')); |
| 817 | + $.articleFeedbackv5special.markDeleted( $( this ) ); |
820 | 818 | } else if ( $( this ).hasClass( 'articleFeedbackv5-feedback-hidden' ) ) { |
821 | | - $.articleFeedbackv5special.markHidden( $( this ), $( this ).attr('hide-user'), $( this ).attr('hide-timestamp')); |
| 819 | + $.articleFeedbackv5special.markHidden( $( this ) ); |
822 | 820 | } |
823 | 821 | |
824 | 822 | |
— | — | @@ -1044,8 +1042,7 @@ |
1045 | 1043 | } |
1046 | 1044 | if ( data['articlefeedbackv5-flag-feedback']['abuse-hidden'] ) { |
1047 | 1045 | $.articleFeedbackv5special.markHidden( $link.closest( '.articleFeedbackv5-feedback' ), |
1048 | | - data['articlefeedbackv5-flag-feedback']['hide-user'], |
1049 | | - data['articlefeedbackv5-flag-feedback']['hide-timestamp']); |
| 1046 | + data['articlefeedbackv5-flag-feedback']['status-line']); |
1050 | 1047 | } |
1051 | 1048 | $link.attr( 'id', 'articleFeedbackv5-unabuse-link-' + id ) |
1052 | 1049 | .removeClass( 'articleFeedbackv5-abuse-link' ) |
— | — | @@ -1083,8 +1080,7 @@ |
1084 | 1081 | } |
1085 | 1082 | if ( data['articlefeedbackv5-flag-feedback']['abuse-hidden'] ) { |
1086 | 1083 | $.articleFeedbackv5special.markHidden( $link.closest( '.articleFeedbackv5-feedback' ), |
1087 | | - data['articlefeedbackv5-flag-feedback']['hide-user'], |
1088 | | - data['articlefeedbackv5-flag-feedback']['hide-timestamp']); |
| 1084 | + data['articlefeedbackv5-flag-feedback']['status-line']); |
1089 | 1085 | } |
1090 | 1086 | $link.attr( 'id', 'articleFeedbackv5-abuse-link-' + id ) |
1091 | 1087 | .removeClass( 'articleFeedbackv5-unabuse-link' ) |
— | — | @@ -1109,8 +1105,7 @@ |
1110 | 1106 | .addClass( 'articleFeedbackv5-show-link' ); |
1111 | 1107 | |
1112 | 1108 | $.articleFeedbackv5special.markHidden( $link.closest( '.articleFeedbackv5-feedback' ), |
1113 | | - data['articlefeedbackv5-flag-feedback']['hide-user'], |
1114 | | - data['articlefeedbackv5-flag-feedback']['hide-timestamp']); |
| 1109 | + data['articlefeedbackv5-flag-feedback']['status-line']); |
1115 | 1110 | $.articleFeedbackv5special.setActivityFlag( id, 'hide', true ); |
1116 | 1111 | } |
1117 | 1112 | }, |
— | — | @@ -1129,7 +1124,11 @@ |
1130 | 1125 | .text( mw.msg( 'articlefeedbackv5-form-hide' ) ) |
1131 | 1126 | .removeClass( 'articleFeedbackv5-show-link' ) |
1132 | 1127 | .addClass( 'articleFeedbackv5-hide-link' ); |
1133 | | - $.articleFeedbackv5special.unmarkHidden( $link.closest( '.articleFeedbackv5-feedback' )); |
| 1128 | + |
| 1129 | + var $row = $link.closest( '.articleFeedbackv5-feedback' ); |
| 1130 | + $.articleFeedbackv5special.unmarkHidden( $row ); |
| 1131 | + $( data['articlefeedbackv5-flag-feedback']['status-line'] ).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 1132 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
1134 | 1133 | $.articleFeedbackv5special.setActivityFlag( id, 'hide', false ); |
1135 | 1134 | } |
1136 | 1135 | }, |
— | — | @@ -1158,9 +1157,14 @@ |
1159 | 1158 | .addClass( 'articleFeedbackv5-show-link' ); |
1160 | 1159 | |
1161 | 1160 | $.articleFeedbackv5special.markHidden( $new_link.closest( '.articleFeedbackv5-feedback' ), |
1162 | | - data['articlefeedbackv5-flag-feedback']['hide-user'], |
1163 | | - data['articlefeedbackv5-flag-feedback']['hide-timestamp']); |
| 1161 | + data['articlefeedbackv5-flag-feedback']['status-line']); |
1164 | 1162 | $.articleFeedbackv5special.setActivityFlag( id, 'hide', true ); |
| 1163 | + } else { |
| 1164 | + var $row = $link.closest( '.articleFeedbackv5-feedback' ); |
| 1165 | + $row.find( '.articleFeedbackv5-feedback-status-marker' ).remove(); |
| 1166 | + |
| 1167 | + $( data['articlefeedbackv5-flag-feedback']['status-line'] ).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 1168 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
1165 | 1169 | } |
1166 | 1170 | } |
1167 | 1171 | }, |
— | — | @@ -1173,12 +1177,19 @@ |
1174 | 1178 | 'apiFlagType': 'oversight', |
1175 | 1179 | 'apiFlagDir': -1, |
1176 | 1180 | 'onSuccess': function( id, data ) { |
| 1181 | + var $row = $( '#articleFeedbackv5-unrequestoversight-link-' + id ).closest( '.articleFeedbackv5-feedback' ); |
| 1182 | + |
1177 | 1183 | $( '#articleFeedbackv5-unrequestoversight-link-' + id ) |
1178 | 1184 | .attr( 'action', 'requestoversight' ) |
1179 | 1185 | .attr( 'id', 'articleFeedbackv5-requestoversight-link-' + id ) |
1180 | 1186 | .text( mw.msg( 'articlefeedbackv5-form-oversight' ) ) |
1181 | 1187 | .removeClass( 'articleFeedbackv5-unrequestoversight-link' ) |
1182 | 1188 | .addClass( 'articleFeedbackv5-requestoversight-link'); |
| 1189 | + |
| 1190 | + $row.find( '.articleFeedbackv5-feedback-status-marker' ).remove(); |
| 1191 | + |
| 1192 | + $( data['articlefeedbackv5-flag-feedback']['status-line'] ).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 1193 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
1183 | 1194 | } |
1184 | 1195 | }, |
1185 | 1196 | |
— | — | @@ -1209,8 +1220,7 @@ |
1210 | 1221 | .addClass( 'articleFeedbackv5-unoversight-link' ); |
1211 | 1222 | |
1212 | 1223 | $.articleFeedbackv5special.markDeleted( $link.closest( '.articleFeedbackv5-feedback' ) , |
1213 | | - data['articlefeedbackv5-flag-feedback']['oversight-user'], |
1214 | | - data['articlefeedbackv5-flag-feedback']['oversight-timestamp']); |
| 1224 | + data['articlefeedbackv5-flag-feedback']['status-line']); |
1215 | 1225 | $.articleFeedbackv5special.setActivityFlag( id, 'delete', true ); |
1216 | 1226 | } |
1217 | 1227 | }, |
— | — | @@ -1232,7 +1242,11 @@ |
1233 | 1243 | .text( mw.msg( 'articlefeedbackv5-form-delete' ) ) |
1234 | 1244 | .removeClass( 'articleFeedbackv5-unoversight-link' ) |
1235 | 1245 | .addClass( 'articleFeedbackv5-oversight-link' ); |
1236 | | - $.articleFeedbackv5special.unmarkDeleted( $link.closest( '.articleFeedbackv5-feedback' ) ); |
| 1246 | + |
| 1247 | + var $row = $link.closest( '.articleFeedbackv5-feedback' ); |
| 1248 | + $.articleFeedbackv5special.unmarkDeleted( $row ); |
| 1249 | + $( data['articlefeedbackv5-flag-feedback']['status-line'] ).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 1250 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
1237 | 1251 | $.articleFeedbackv5special.setActivityFlag( id, 'delete', false ); |
1238 | 1252 | } |
1239 | 1253 | }, |
— | — | @@ -1245,7 +1259,12 @@ |
1246 | 1260 | 'apiFlagType': 'resetoversight', |
1247 | 1261 | 'apiFlagDir': 1, |
1248 | 1262 | 'onSuccess': function( id, data ) { |
1249 | | - $( '#articleFeedbackv5-declineoversight-link-' + id ).remove(); |
| 1263 | + var $row = $( '#articleFeedbackv5-declineoversight-link-' + id ) |
| 1264 | + .closest( '.articleFeedbackv5-feedback' ); |
| 1265 | + $row.find( '.articleFeedbackv5-feedback-status-marker' ).remove(); |
| 1266 | + |
| 1267 | + $( data['articlefeedbackv5-flag-feedback']['status-line'] ).insertBefore( $row.find( '.articleFeedbackv5-comment-wrap' ) ); |
| 1268 | + $row.find( '.articleFeedbackv5-comment-wrap' ).addClass( 'articleFeedbackv5-h3-push'); |
1250 | 1269 | } |
1251 | 1270 | }, |
1252 | 1271 | |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js |
— | — | @@ -452,8 +452,6 @@ |
453 | 453 | $block.find( '.articleFeedbackv5-submit' ) |
454 | 454 | .click( function ( e ) { |
455 | 455 | e.preventDefault(); |
456 | | - $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + '-submit-' + |
457 | | - ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ) ); |
458 | 456 | $.articleFeedbackv5.submitForm(); |
459 | 457 | } ); |
460 | 458 | }, |
— | — | @@ -506,6 +504,134 @@ |
507 | 505 | |
508 | 506 | // }}} |
509 | 507 | |
| 508 | + }, |
| 509 | + |
| 510 | + // }}} |
| 511 | + // {{{ Bucket 4 |
| 512 | + |
| 513 | + /** |
| 514 | + * Bucket 4: Help Improve This Article |
| 515 | + */ |
| 516 | + '4': { |
| 517 | + |
| 518 | + // {{{ templates |
| 519 | + |
| 520 | + /** |
| 521 | + * Pull out the markup so it's easy to find |
| 522 | + */ |
| 523 | + templates: { |
| 524 | + |
| 525 | + /** |
| 526 | + * The template for the whole block, if the user can edit the |
| 527 | + * article |
| 528 | + */ |
| 529 | + editable: '\ |
| 530 | + <div>\ |
| 531 | + <div class="form-row articleFeedbackv5-bucket4-toggle">\ |
| 532 | + <p class="sub-header"><strong><html:msg key="bucket4-subhead" /></strong></p>\ |
| 533 | + <p class="instructions-left"><html:msg key="bucket4-teaser-line1" /><br />\ |
| 534 | + <html:msg key="bucket4-teaser-line2" /></p>\ |
| 535 | + </div>\ |
| 536 | + <div class="articleFeedbackv5-disclosure">\ |
| 537 | + <p><a class="articleFeedbackv5-learn-to-edit" target="_blank"><html:msg key="bucket4-learn-to-edit" /> »</a></p>\ |
| 538 | + </div>\ |
| 539 | + <a class="articleFeedbackv5-cta-button" id="articleFeedbackv5-submit-bttn"><html:msg key="bucket4-form-submit" /></a>\ |
| 540 | + <div class="clear"></div>\ |
| 541 | + </div>\ |
| 542 | + ', |
| 543 | + |
| 544 | + /** |
| 545 | + * The template for the whole block, if the user cannot edit the |
| 546 | + * article |
| 547 | + */ |
| 548 | + noneditable: '\ |
| 549 | + <div>\ |
| 550 | + <div class="form-row articleFeedbackv5-bucket4-toggle">\ |
| 551 | + <p class="instructions-left"><html:msg key="bucket4-noedit-teaser-line1" /><br />\ |
| 552 | + <html:msg key="bucket4-noedit-teaser-line2" /></p>\ |
| 553 | + </div>\ |
| 554 | + <div class="articleFeedbackv5-disclosure">\ |
| 555 | + <p> </p>\ |
| 556 | + </div>\ |
| 557 | + <a class="articleFeedbackv5-cta-button" id="articleFeedbackv5-submit-bttn"><html:msg key="bucket4-noedit-form-submit" /></a>\ |
| 558 | + <div class="clear"></div>\ |
| 559 | + </div>\ |
| 560 | + ' |
| 561 | + |
| 562 | + }, |
| 563 | + |
| 564 | + // }}} |
| 565 | + // {{{ getTitle |
| 566 | + |
| 567 | + /** |
| 568 | + * Gets the title |
| 569 | + * |
| 570 | + * @return string the title |
| 571 | + */ |
| 572 | + getTitle: function () { |
| 573 | + return mw.msg( $.articleFeedbackv5.editable ? 'articlefeedbackv5-bucket4-title' : 'articlefeedbackv5-bucket4-noedit-title' ); |
| 574 | + }, |
| 575 | + |
| 576 | + // }}} |
| 577 | + // {{{ buildForm |
| 578 | + |
| 579 | + /** |
| 580 | + * Builds the empty form |
| 581 | + * |
| 582 | + * @return Element the form |
| 583 | + */ |
| 584 | + buildForm: function () { |
| 585 | + |
| 586 | + // Start up the block to return |
| 587 | + var $block = $( $.articleFeedbackv5.editable ? $.articleFeedbackv5.currentBucket().templates.editable : $.articleFeedbackv5.currentBucket().templates.noneditable ); |
| 588 | + |
| 589 | + // Fill in the learn to edit link |
| 590 | + $block.find( '.articleFeedbackv5-learn-to-edit' ) |
| 591 | + .attr( 'href', mw.msg( 'articlefeedbackv5-cta1-learn-how-url' ) ); |
| 592 | + |
| 593 | + // Fill in the button link |
| 594 | + var track_id = $.articleFeedbackv5.experiment() + '-button_click-' + |
| 595 | + ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ); |
| 596 | + if ( $.articleFeedbackv5.editable ) { |
| 597 | + $block.find( '.articleFeedbackv5-cta-button' ) |
| 598 | + .attr( 'href', $.articleFeedbackv5.editUrl( track_id ) ); |
| 599 | + } else { |
| 600 | + var learn_url = mw.msg( 'articlefeedbackv5-cta1-learn-how-url' ); |
| 601 | + $block.find( '.articleFeedbackv5-cta-button' ) |
| 602 | + .attr( 'href', $.articleFeedbackv5.trackingUrl( learn_url, track_id ) ); |
| 603 | + } |
| 604 | + |
| 605 | + // Turn the submit into a slick button |
| 606 | + $block.find( '.articleFeedbackv5-cta-button' ) |
| 607 | + .button() |
| 608 | + .addClass( 'ui-button-blue' ) |
| 609 | + |
| 610 | + return $block; |
| 611 | + }, |
| 612 | + |
| 613 | + // }}} |
| 614 | + // {{{ afterBuild |
| 615 | + |
| 616 | + /** |
| 617 | + * Handles any setup that has to be done once the markup is in the |
| 618 | + * holder |
| 619 | + */ |
| 620 | + afterBuild: function () { |
| 621 | + // Set a custom message |
| 622 | + $.articleFeedbackv5.$holder |
| 623 | + .add( $.articleFeedbackv5.$dialog) |
| 624 | + .find( '.articleFeedbackv5-tooltip-info' ) |
| 625 | + .text( mw.msg( 'articlefeedbackv5-bucket4-help-tooltip-info' ) ); |
| 626 | + // Add a class so we can drop the tooltip down a bit for the |
| 627 | + // learn-more version |
| 628 | + if ( !$.articleFeedbackv5.editable ) { |
| 629 | + $.articleFeedbackv5.find( '.articleFeedbackv5-ui' ) |
| 630 | + .addClass( 'articleFeedbackv5-option-4-noedit' ); |
| 631 | + } |
| 632 | + } |
| 633 | + |
| 634 | + // }}} |
| 635 | + |
510 | 636 | } |
511 | 637 | |
512 | 638 | // }}} |
— | — | @@ -592,18 +718,7 @@ |
593 | 719 | * @return bool whether the CTA can be displayed |
594 | 720 | */ |
595 | 721 | verify: function () { |
596 | | - // An empty restrictions array means anyone can edit |
597 | | - var restrictions = mw.config.get( 'wgRestrictionEdit', [] ); |
598 | | - if ( restrictions.length ) { |
599 | | - var groups = mw.config.get( 'wgUserGroups' ); |
600 | | - // Verify that each restriction exists in the user's groups |
601 | | - for ( var i = 0; i < restrictions.length; i++ ) { |
602 | | - if ( $.inArray( restrictions[i], groups ) < 0 ) { |
603 | | - return false; |
604 | | - } |
605 | | - } |
606 | | - } |
607 | | - return true; |
| 722 | + return $.articleFeedbackv5.editable; |
608 | 723 | }, |
609 | 724 | |
610 | 725 | // }}} |
— | — | @@ -1398,8 +1513,12 @@ |
1399 | 1514 | $.articleFeedbackv5.clickTracking = $.articleFeedbackv5.checkClickTracking(); |
1400 | 1515 | // Has the user already submitted ratings for this page at this revision? |
1401 | 1516 | $.articleFeedbackv5.alreadySubmitted = $.cookie( $.articleFeedbackv5.prefix( 'submitted' ) ) === 'true'; |
| 1517 | + // Can the user edit the page? |
| 1518 | + $.articleFeedbackv5.editable = $.articleFeedbackv5.userCanEdit(); |
1402 | 1519 | // Go ahead and bucket right away |
1403 | 1520 | $.articleFeedbackv5.selectBucket(); |
| 1521 | + // Select the trigger link(s) |
| 1522 | + $.articleFeedbackv5.selectTriggerLinks(); |
1404 | 1523 | // Anything the bucket needs to do? |
1405 | 1524 | if ( 'init' in $.articleFeedbackv5.currentBucket() ) { |
1406 | 1525 | $.articleFeedbackv5.currentBucket().init(); |
— | — | @@ -1413,12 +1532,16 @@ |
1414 | 1533 | } ); |
1415 | 1534 | // Keep track of links that must be removed after a successful submission |
1416 | 1535 | $.articleFeedbackv5.$toRemove = $( [] ); |
1417 | | - // Select the trigger link(s) |
1418 | | - $.articleFeedbackv5.selectTriggerLinks(); |
| 1536 | + // Add them |
1419 | 1537 | $.articleFeedbackv5.addTriggerLinks(); |
1420 | 1538 | // Track init at 1% |
1421 | 1539 | if ( Math.random() * 100 < 1 ) { |
1422 | | - $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + '-init' ); |
| 1540 | + var exp = $.articleFeedbackv5.experiment(); |
| 1541 | + if ( $.articleFeedbackv5.bucketId == 4 ) { |
| 1542 | + exp = exp.replace('_edit', ''); |
| 1543 | + exp = exp.replace('_learn_more', '-noedit'); |
| 1544 | + } |
| 1545 | + $.articleFeedbackv5.trackClick( exp + '-init' ); |
1423 | 1546 | } |
1424 | 1547 | }; |
1425 | 1548 | |
— | — | @@ -1437,7 +1560,7 @@ |
1438 | 1561 | // 1. Requested in query string (debug only) |
1439 | 1562 | // 2. From cookie (see below) |
1440 | 1563 | // 3. Core bucketing |
1441 | | - var knownBuckets = { '0': true, '1': true }; |
| 1564 | + var knownBuckets = { '0': true, '1': true, '4': true }; |
1442 | 1565 | var requested = mw.util.getParamValue( 'aftv5_form' ); |
1443 | 1566 | var cookieval = $.cookie( $.articleFeedbackv5.prefix( 'display-bucket' ) ); |
1444 | 1567 | if ( requested in knownBuckets ) { |
— | — | @@ -1449,7 +1572,7 @@ |
1450 | 1573 | 'ext.articleFeedbackv5-display', |
1451 | 1574 | mw.config.get( 'wgArticleFeedbackv5DisplayBuckets' ) |
1452 | 1575 | ); |
1453 | | - var nameMap = { zero: '0', one: '1' }; |
| 1576 | + var nameMap = { zero: '0', one: '1', four: '4' }; |
1454 | 1577 | $.articleFeedbackv5.bucketId = nameMap[bucketName]; |
1455 | 1578 | } |
1456 | 1579 | // Drop in a cookie to keep track of their display bucket; |
— | — | @@ -1461,7 +1584,7 @@ |
1462 | 1585 | { 'expires': cfg.expires, 'path': '/' } |
1463 | 1586 | ); |
1464 | 1587 | if ( $.articleFeedbackv5.debug ) { |
1465 | | - aft5_debug( 'Using bucket #' + $.articleFeedbackv5.bucketId ); |
| 1588 | + aft5_debug( 'Using form option #' + $.articleFeedbackv5.bucketId ); |
1466 | 1589 | } |
1467 | 1590 | }; |
1468 | 1591 | |
— | — | @@ -1497,11 +1620,12 @@ |
1498 | 1621 | */ |
1499 | 1622 | $.articleFeedbackv5.selectTriggerLinks = function () { |
1500 | 1623 | // The bucketed link: |
1501 | | - // 1. Display buckets 0 or 5? Always no link. |
| 1624 | + // 1. Display bucket 0 or 4-not-editable? Always no link. |
1502 | 1625 | // 2. Requested in query string (debug only) |
1503 | 1626 | // 3. Random bucketing |
1504 | 1627 | var bucketedLink = 'X'; |
1505 | | - if ( '5' != $.articleFeedbackv5.bucketId && '0' != $.articleFeedbackv5.bucketId ) { |
| 1628 | + if ( ! ( '0' == $.articleFeedbackv5.bucketId |
| 1629 | + || ( '4' == $.articleFeedbackv5.bucketId && !$.articleFeedbackv5.editable ) ) ) { |
1506 | 1630 | var cfg = mw.config.get( 'wgArticleFeedbackv5LinkBuckets' ); |
1507 | 1631 | if ( 'buckets' in cfg ) { |
1508 | 1632 | var knownBuckets = cfg.buckets; |
— | — | @@ -1525,8 +1649,29 @@ |
1526 | 1650 | }; |
1527 | 1651 | |
1528 | 1652 | // }}} |
| 1653 | + // {{{ userCanEdit |
1529 | 1654 | |
| 1655 | + /** |
| 1656 | + * Returns whether the user can edit the article |
| 1657 | + */ |
| 1658 | + $.articleFeedbackv5.userCanEdit = function () { |
| 1659 | + // An empty restrictions array means anyone can edit |
| 1660 | + var restrictions = mw.config.get( 'wgRestrictionEdit', [] ); |
| 1661 | + if ( restrictions.length ) { |
| 1662 | + var groups = mw.config.get( 'wgUserGroups' ); |
| 1663 | + // Verify that each restriction exists in the user's groups |
| 1664 | + for ( var i = 0; i < restrictions.length; i++ ) { |
| 1665 | + if ( $.inArray( restrictions[i], groups ) < 0 ) { |
| 1666 | + return false; |
| 1667 | + } |
| 1668 | + } |
| 1669 | + } |
| 1670 | + return true; |
| 1671 | + }; |
| 1672 | + |
1530 | 1673 | // }}} |
| 1674 | + |
| 1675 | + // }}} |
1531 | 1676 | // {{{ Utility methods |
1532 | 1677 | |
1533 | 1678 | // {{{ prefix |
— | — | @@ -1680,7 +1825,15 @@ |
1681 | 1826 | * @return string the experiment (e.g. "option1A") |
1682 | 1827 | */ |
1683 | 1828 | $.articleFeedbackv5.experiment = function () { |
1684 | | - return 'option' + $.articleFeedbackv5.bucketId + $.articleFeedbackv5.floatingLinkId; |
| 1829 | + var exp = 'optionSE_' + $.articleFeedbackv5.bucketId + $.articleFeedbackv5.floatingLinkId; |
| 1830 | + if ( $.articleFeedbackv5.bucketId == 4 ) { |
| 1831 | + if ( $.articleFeedbackv5.editable ) { |
| 1832 | + exp += '_edit'; |
| 1833 | + } else { |
| 1834 | + exp += '_learn_more'; |
| 1835 | + } |
| 1836 | + } |
| 1837 | + return exp; |
1685 | 1838 | }; |
1686 | 1839 | |
1687 | 1840 | // }}} |
— | — | @@ -1737,12 +1890,13 @@ |
1738 | 1891 | 'articleFeedbackv5_click_tracking': $.articleFeedbackv5.clickTracking ? '1' : '0', |
1739 | 1892 | }; |
1740 | 1893 | if ( $.articleFeedbackv5.clickTracking ) { |
1741 | | - params.articleFeedbackv5_ct_token = $.cookie( 'clicktracking-session' ); |
1742 | | - params.articleFeedbackv5_bucket_id = $.articleFeedbackv5.bucketId; |
1743 | | - params.articleFeedbackv5_cta_id = $.articleFeedbackv5.ctaId; |
1744 | | - params.articleFeedbackv5_f_link_id = $.articleFeedbackv5.floatingLinkId; |
1745 | | - params.articleFeedbackv5_link_id = $.articleFeedbackv5.submittedLinkId; |
1746 | | - params.articleFeedbackv5_location = $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom'; |
| 1894 | + params.articleFeedbackv5_ct_token = $.cookie( 'clicktracking-session' ); |
| 1895 | + params.articleFeedbackv5_bucket_id = $.articleFeedbackv5.bucketId; |
| 1896 | + params.articleFeedbackv5_cta_id = $.articleFeedbackv5.ctaId; |
| 1897 | + params.articleFeedbackv5_link_id = $.articleFeedbackv5.submittedLinkId; |
| 1898 | + params.articleFeedbackv5_f_link_id = $.articleFeedbackv5.floatingLinkId; |
| 1899 | + params.articleFeedbackv5_experiment = $.articleFeedbackv5.experiment(); |
| 1900 | + params.articleFeedbackv5_location = $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom'; |
1747 | 1901 | } |
1748 | 1902 | var url = mw.config.get( 'wgScript' ) + '?' + $.param( params ); |
1749 | 1903 | if ( trackingId ) { |
— | — | @@ -1965,6 +2119,10 @@ |
1966 | 2120 | 'link': $.articleFeedbackv5.submittedLinkId |
1967 | 2121 | } ); |
1968 | 2122 | |
| 2123 | + // Track the submit click |
| 2124 | + $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + '-submit_attempt-' + |
| 2125 | + ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ) ); |
| 2126 | + |
1969 | 2127 | // Send off the ajax request |
1970 | 2128 | $.ajax( { |
1971 | 2129 | 'url': $.articleFeedbackv5.apiUrl, |
— | — | @@ -1986,17 +2144,25 @@ |
1987 | 2145 | // the trigger link replacing the form. _SWITCH_CLEAR_ |
1988 | 2146 | $.articleFeedbackv5.$toRemove.remove(); |
1989 | 2147 | $.articleFeedbackv5.$toRemove = $( [] ); |
| 2148 | + // Track the success |
| 2149 | + $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + '-submit_success-' + |
| 2150 | + ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ) ); |
1990 | 2151 | } else { |
| 2152 | + var code = 'unknown'; |
1991 | 2153 | var msg; |
1992 | 2154 | if ( 'error' in data ) { |
1993 | 2155 | if ( typeof( data.error ) == 'object' ) { |
1994 | 2156 | msg = data.error; |
| 2157 | + if ( 'code' in data.error ) { |
| 2158 | + code = data.error.code; |
| 2159 | + } |
1995 | 2160 | } else if ( 'articlefeedbackv5-error-abuse' == data.error ) { |
1996 | 2161 | msg = $.articleFeedbackv5.buildLink( data.error, { |
1997 | 2162 | href: mw.msg( 'articlefeedbackv5-error-abuse-link' ), |
1998 | 2163 | text: 'articlefeedbackv5-error-abuse-linktext', |
1999 | 2164 | target: '_blank' |
2000 | 2165 | }); |
| 2166 | + code = 'afreject'; |
2001 | 2167 | } else { |
2002 | 2168 | msg = mw.msg( data.error ); |
2003 | 2169 | } |
— | — | @@ -2004,9 +2170,15 @@ |
2005 | 2171 | // NB: Warnings come from the AbuseFilter and are |
2006 | 2172 | // already translated. |
2007 | 2173 | msg = data.warning; |
| 2174 | + code = 'afwarn'; |
2008 | 2175 | } else { |
2009 | 2176 | msg = { info: mw.msg( 'articlefeedbackv5-error-unknown' ) }; |
2010 | 2177 | } |
| 2178 | + // Track the error |
| 2179 | + $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + |
| 2180 | + '-submit_error_' + code + '-' + |
| 2181 | + ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ) ); |
| 2182 | + // Set up error state |
2011 | 2183 | $.articleFeedbackv5.markFormErrors( { _api : msg } ); |
2012 | 2184 | $.articleFeedbackv5.unlockForm(); |
2013 | 2185 | if ( $.articleFeedbackv5.inDialog ) { |
— | — | @@ -2014,7 +2186,12 @@ |
2015 | 2187 | } |
2016 | 2188 | } |
2017 | 2189 | }, |
2018 | | - 'error': function () { |
| 2190 | + 'error': function (xhr, tstatus, error) { |
| 2191 | + // Track the error |
| 2192 | + $.articleFeedbackv5.trackClick( $.articleFeedbackv5.experiment() + |
| 2193 | + '-submit_error_jquery-' + |
| 2194 | + ( $.articleFeedbackv5.inDialog ? 'overlay' : 'bottom' ) ); |
| 2195 | + // Set up error state |
2019 | 2196 | var err = { _api: { info: mw.msg( 'articlefeedbackv5-error-submit' ) } }; |
2020 | 2197 | $.articleFeedbackv5.markFormErrors( err ); |
2021 | 2198 | $.articleFeedbackv5.unlockForm(); |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/ArticleFeedbackv5.php |
— | — | @@ -21,6 +21,9 @@ |
22 | 22 | // Help link for oversight email |
23 | 23 | $wgArticleFeedbackv5OversightEmailHelp = 'http://en.wikipedia.org/wiki/Wikipedia:Article_Feedback_Tool/Version_5/Help/Feedback_page_Oversighters'; |
24 | 24 | |
| 25 | +// Help link for auto flag/hide etc |
| 26 | +$wgArticleFeedbackv5AutoHelp = 'http://en.wikipedia.org/wiki/Wikipedia:Article_Feedback_Tool/Version_5/Help'; |
| 27 | + |
25 | 28 | // How long text-based feedback is allowed to be before returning an error. |
26 | 29 | // Set to 0 to disable length checking entirely. |
27 | 30 | $wgArticleFeedbackv5MaxCommentLength = 0; |
— | — | @@ -80,17 +83,17 @@ |
81 | 84 | // the new odds are applied to everyone, not just people who have yet to be |
82 | 85 | // placed in a bucket. |
83 | 86 | 'buckets' => array( |
84 | | - 'zero' => 0, |
85 | | - 'one' => 100, |
86 | | - 'two' => 0, |
| 87 | + 'zero' => 33, |
| 88 | + 'one' => 33, |
| 89 | + 'two' => 0, |
87 | 90 | 'three' => 0, |
88 | | - 'four' => 0, |
89 | | - 'five' => 0, |
| 91 | + 'four' => 33, |
| 92 | + 'five' => 0, |
90 | 93 | ), |
91 | 94 | // This version number is added to all tracking event names, so that |
92 | 95 | // changes in the software don't corrupt the data being collected. Bump |
93 | 96 | // this when you want to start a new "experiment". |
94 | | - 'version' => 1, |
| 97 | + 'version' => 2, |
95 | 98 | // Let users be tracked for a month, and then rebucket them, allowing some |
96 | 99 | // churn. |
97 | 100 | 'expires' => 30, |
— | — | @@ -113,7 +116,7 @@ |
114 | 117 | ), |
115 | 118 | // This version number is added to all tracking event names, so that changes in the software |
116 | 119 | // don't corrupt the data being collected. Bump this when you want to start a new "experiment". |
117 | | - 'version' => 1, |
| 120 | + 'version' => 2, |
118 | 121 | // Let users be tracked for a month, and then rebucket them, allowing some churn |
119 | 122 | 'expires' => 30, |
120 | 123 | // Track the event of users being bucketed - so we can be sure the odds |
— | — | @@ -313,19 +316,16 @@ |
314 | 317 | $wgLogTypes[] = 'articlefeedbackv5'; |
315 | 318 | $wgLogNames['articlefeedbackv5'] = 'articlefeedbackv5-log-name'; |
316 | 319 | $wgLogHeaders['articlefeedbackv5'] = 'articlefeedbackv5-log-header'; |
317 | | -$wgLogActions['suppress/oversight'] = 'articlefeedbackv5-log-oversight'; |
318 | | -$wgLogActions['suppress/unoversight'] = 'articlefeedbackv5-log-unoversight'; |
319 | | -$wgLogActions['articlefeedbackv5/hidden'] = 'articlefeedbackv5-log-hidden'; |
320 | | -$wgLogActions['articlefeedbackv5/unhidden'] = 'articlefeedbackv5-log-unhidden'; |
321 | | -$wgLogActions['suppress/decline'] = 'articlefeedbackv5-log-decline'; |
322 | | -$wgLogActions['suppress/request'] = 'articlefeedbackv5-log-request'; |
323 | | -$wgLogActions['suppress/unrequest'] = 'articlefeedbackv5-log-unrequest'; |
324 | | -$wgLogActions['articlefeedbackv5/flag'] = 'articlefeedbackv5-log-flag'; |
325 | | -$wgLogActions['articlefeedbackv5/unflag'] = 'articlefeedbackv5-log-unflag'; |
| 320 | +foreach ( array( 'hidden', 'unhidden', 'flag', 'unflag', 'autoflag', 'autohide' ) as $t) { |
| 321 | + $wgLogActionsHandlers["articlefeedbackv5/$t"] = 'ArticleFeedbackv5Hooks::formatActivityLogEntry'; |
| 322 | +} |
| 323 | +foreach ( array( 'oversight', 'unoversight', 'decline', 'request', 'unrequest' ) as $t) { |
| 324 | + $wgLogActionsHandlers["suppress/$t"] = 'ArticleFeedbackv5Hooks::formatActivityLogEntry'; |
| 325 | +} |
326 | 326 | |
327 | 327 | // Add custom action handlers for AbuseFilter |
| 328 | +$wgAbuseFilterAvailableActions[] = 'aftv5flagabuse'; |
328 | 329 | // Not for this release |
329 | | -// $wgAbuseFilterAvailableActions[] = 'aftv5flagabuse'; |
330 | 330 | // $wgAbuseFilterAvailableActions[] = 'aftv5hide'; |
331 | 331 | // $wgAbuseFilterAvailableActions[] = 'aftv5requestoversight'; |
332 | 332 | |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/api/ApiArticleFeedbackv5.php |
— | — | @@ -25,6 +25,9 @@ |
26 | 26 | // Warn for abuse? |
27 | 27 | private $warnForAbuse = false; |
28 | 28 | |
| 29 | + // filters incremented on creation |
| 30 | + protected $filters = array( 'visible' => 1, 'notdeleted' => 1, 'all' => 1); |
| 31 | + |
29 | 32 | /** |
30 | 33 | * Constructor |
31 | 34 | */ |
— | — | @@ -268,6 +271,7 @@ |
269 | 272 | * @param $pageId int the page ID |
270 | 273 | */ |
271 | 274 | private function findAbuse( &$value, $pageId ) { |
| 275 | + |
272 | 276 | // Respect $wgSpamRegex |
273 | 277 | global $wgSpamRegex; |
274 | 278 | if ( ( is_array( $wgSpamRegex ) && count( $wgSpamRegex ) > 0 ) |
— | — | @@ -313,8 +317,8 @@ |
314 | 318 | // Add custom action handlers |
315 | 319 | global $wgAbuseFilterCustomActionsHandlers; |
316 | 320 | $flagCallback = array( $this, 'callbackAbuseActionFlag' ); |
| 321 | + $wgAbuseFilterCustomActionsHandlers['aftv5flagabuse'] = $flagCallback; |
317 | 322 | // Not for this release |
318 | | - // $wgAbuseFilterCustomActionsHandlers['aftv5flagabuse'] = $flagCallback; |
319 | 323 | // $wgAbuseFilterCustomActionsHandlers['aftv5hide'] = $flagCallback; |
320 | 324 | // $wgAbuseFilterCustomActionsHandlers['aftv5requestoversight'] = $flagCallback; |
321 | 325 | |
— | — | @@ -398,15 +402,14 @@ |
399 | 403 | |
400 | 404 | public function updateFilterCounts( $dbw, $pageId, $answers ) { |
401 | 405 | |
402 | | - // a new item should be in all and visible by default, increment those counters |
403 | | - $filters = array( 'all' => 1, 'visible' => 1, 'notdeleted' => 1 ); |
| 406 | + $filters = $this->filters; |
404 | 407 | |
405 | 408 | // if this record has a comment attached then increment comment as well |
406 | 409 | // notice we do not need to walk the entire array, since any one hit |
407 | 410 | // counts - aa_response_text is "comment" in the values |
408 | 411 | foreach ( $answers as $a ) { |
409 | 412 | if ( $a['aa_response_text'] !== null ) { |
410 | | - $filters['comment'] = 1; |
| 413 | + $filters['visible-comment'] = 1; |
411 | 414 | break; |
412 | 415 | } |
413 | 416 | } |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/api/ApiViewFeedbackArticleFeedbackv5.php |
— | — | @@ -30,6 +30,7 @@ |
31 | 31 | * Execute the API call: Pull the requested feedback |
32 | 32 | */ |
33 | 33 | public function execute() { |
| 34 | + global $wgLang; |
34 | 35 | $params = $this->extractRequestParams(); |
35 | 36 | $result = $this->getResult(); |
36 | 37 | $pageId = $params['pageid']; |
— | — | @@ -53,7 +54,6 @@ |
54 | 55 | |
55 | 56 | if ( $this->isPermalink ) { |
56 | 57 | $page_title = Title::newFromRow($record[0])->getPrefixedText(); |
57 | | - |
58 | 58 | $html .= Linker::link( |
59 | 59 | SpecialPage::getTitleFor( 'ArticleFeedbackv5', $page_title ), |
60 | 60 | wfMessage( 'articlefeedbackv5-special-goback' )->escaped()); |
— | — | @@ -224,10 +224,9 @@ |
225 | 225 | 'af_net_helpfulness', 'af_revision_id', |
226 | 226 | 'page_latest', 'page_title', 'page_namespace', |
227 | 227 | 'rating.aa_response_boolean AS yes_no', |
228 | | - 'af_hide_user_id', |
229 | | - 'af_hide_timestamp', |
230 | | - 'af_oversight_user_id', |
231 | | - 'af_oversight_timestamp' |
| 228 | + 'af_last_status', |
| 229 | + 'af_last_status_user_id', |
| 230 | + 'af_last_status_timestamp' |
232 | 231 | ), |
233 | 232 | array( 'af_id' => $ids ), |
234 | 233 | __METHOD__, |
— | — | @@ -275,9 +274,13 @@ |
276 | 275 | |
277 | 276 | private function getFilterCriteria( $filter, $filterValue = null ) { |
278 | 277 | global $wgUser; |
| 278 | + |
279 | 279 | $where = array(); |
280 | | - $hiddenFilters = array( 'id', 'invisible', 'notdeleted', 'all', 'deleted', 'needsoversight', 'declined' ); |
281 | | - $deletedFilters = array( 'id', 'all', 'deleted' ); |
| 280 | + $hiddenFilters = array( 'all-hidden', 'notdeleted-hidden', 'all-unhidden', 'notdeleted-unhidden', |
| 281 | + 'all-requested', 'notdeleted-requested', 'all-unrequested', 'notdeleted-unrequested', |
| 282 | + 'all-declined', 'notdeleted-declined', 'all-oversighted', 'all-unoversighted', 'notdeleted', 'all' ); |
| 283 | + $deletedFilters = array( 'all', 'all-unoversighted', 'all-oversighted', 'all-hidden', 'all-unhidden', 'all-requested', |
| 284 | + 'all-unrequested', 'all-declined'); |
282 | 285 | |
283 | 286 | // Never show hidden or deleted posts unless specifically requested |
284 | 287 | // and user has access. |
— | — | @@ -292,45 +295,52 @@ |
293 | 296 | } |
294 | 297 | |
295 | 298 | switch ( $filter ) { |
296 | | - case 'needsoversight': |
297 | | - $where[] = 'af_oversight_count > 0'; |
298 | | - break; |
| 299 | + // special case - doesn't get any hidden/deleted filtering and is used for permalinks |
299 | 300 | case 'id': |
300 | | - # Used for permalinks. |
| 301 | + // overwrite any and all where conditions |
301 | 302 | $where = array('af_id' => $filterValue); |
302 | 303 | $this->isPermalink = true; |
303 | 304 | break; |
304 | | - case 'visible': |
305 | | - $where[] = 'af_is_deleted IS FALSE'; |
306 | | - $where[] = 'af_is_hidden IS FALSE'; |
| 305 | + |
| 306 | + // regular filters |
| 307 | + case 'visible-comment': |
| 308 | + $where[] = 'af_has_comment IS TRUE'; |
307 | 309 | break; |
308 | | - case 'invisible': |
| 310 | + case 'visible-helpful': |
| 311 | + $where[] = 'af_net_helpfulness > 0'; |
| 312 | + break; |
| 313 | + case 'visible-unhelpful': |
| 314 | + $where[] = 'af_net_helpfulness < 0'; |
| 315 | + break; |
| 316 | + case 'visible-abusive': |
| 317 | + $where[] = 'af_abuse_count > 0'; |
| 318 | + break; |
| 319 | + case 'notdeleted-hidden': |
| 320 | + case 'all-hidden': |
309 | 321 | $where[] = 'af_is_hidden IS TRUE'; |
310 | 322 | break; |
311 | | - case 'unhidden': |
| 323 | + case 'notdeleted-unhidden': |
| 324 | + case 'all-unhidden': |
312 | 325 | $where[] = 'af_is_unhidden IS TRUE'; |
313 | 326 | break; |
314 | | - case 'abusive': |
315 | | - $where[] = 'af_abuse_count > 0'; |
| 327 | + case 'notdeleted-requested': |
| 328 | + case 'all-requested': |
| 329 | + $where[] = 'af_oversight_count > 0'; |
316 | 330 | break; |
317 | | - case 'helpful': |
318 | | - $where[] = 'af_net_helpfulness > 0'; |
| 331 | + case 'notdeleted-unrequested': |
| 332 | + case 'all-unrequested': |
| 333 | + $where[] = 'af_is_unrequested IS TRUE'; |
319 | 334 | break; |
320 | | - case 'unhelpful': |
321 | | - $where[] = 'af_net_helpfulness < 0'; |
| 335 | + case 'notdeleted-declined': |
| 336 | + case 'all-declined': |
| 337 | + $where[] = 'af_is_declined IS TRUE'; |
322 | 338 | break; |
323 | | - case 'comment': |
324 | | - $where[] = 'comment.aa_response_text IS NOT NULL'; |
325 | | - break; |
326 | | - case 'deleted': |
| 339 | + case 'all-oversighted': |
327 | 340 | $where[] = 'af_is_deleted IS TRUE'; |
328 | 341 | break; |
329 | | - case 'undeleted': |
| 342 | + case 'all-unoversighted': |
330 | 343 | $where[] = 'af_is_undeleted IS TRUE'; |
331 | 344 | break; |
332 | | - case 'declined': |
333 | | - $where[] = 'af_is_declined'; |
334 | | - break; |
335 | 345 | default: |
336 | 346 | break; |
337 | 347 | } |
— | — | @@ -341,6 +351,7 @@ |
342 | 352 | protected function renderFeedback( $record ) { |
343 | 353 | global $wgUser, $wgLang; |
344 | 354 | $id = $record[0]->af_id; |
| 355 | + $content = ''; |
345 | 356 | |
346 | 357 | switch( $record[0]->af_form_id ) { |
347 | 358 | case 1: $content .= $this->renderBucket1( $record ); break; |
— | — | @@ -358,7 +369,6 @@ |
359 | 370 | $can_vote = !$wgUser->isBlocked(); |
360 | 371 | $can_hide = $wgUser->isAllowed( 'aftv5-hide-feedback' ); |
361 | 372 | $can_delete = $wgUser->isAllowed( 'aftv5-delete-feedback' ); |
362 | | - $default_user = wfMessage( 'articlefeedbackv5-default-user' )->text(); |
363 | 373 | |
364 | 374 | // if this is permalinked - if oversighted or hidden we might be doing empty gray mask |
365 | 375 | if ( ( $this->isPermalink && $record[0]->af_is_deleted |
— | — | @@ -368,20 +378,11 @@ |
369 | 379 | |
370 | 380 | // hide or oversight? |
371 | 381 | if ( $record[0]->af_is_deleted ) { |
372 | | - $user = $record[0]->af_oversight_user_id; |
373 | | - $timestamp = $record[0]->af_oversight_timestamp; |
374 | 382 | $class = 'oversight'; |
375 | | - $msg_string = 'deleted'; |
376 | 383 | } else { |
377 | | - $user = $record[0]->af_hide_user_id; |
378 | | - $timestamp = $record[0]->af_hide_timestamp; |
379 | 384 | $class = 'hidden'; |
380 | | - $msg_string = $class; |
381 | 385 | } |
382 | 386 | |
383 | | - $user_link = ApiArticleFeedbackv5Utils::getUserLink( $user, $default_user ); |
384 | | - $user_timestamp = wfTimestamp( TS_RFC2822, $timestamp ); |
385 | | - |
386 | 387 | return Html::openElement( 'div', array( |
387 | 388 | 'class' => 'articleFeedbackv5-feedback articleFeedbackv5-feedback-' . $class . ' articleFeedbackv5-feedback-emptymask' |
388 | 389 | ) ) |
— | — | @@ -404,10 +405,12 @@ |
405 | 406 | . Html::closeElement( 'div' ) |
406 | 407 | |
407 | 408 | . Html::rawElement( 'span', array( |
408 | | - 'class' => 'articleFeedbackv5-feedback-' . $msg_string . '-marker' |
| 409 | + 'class' => 'articleFeedbackv5-feedback-status-marker' |
409 | 410 | ), |
410 | | - wfMessage( 'articlefeedbackv5-' . $msg_string) |
411 | | - ->rawParams($user_link, $user_timestamp ) |
| 411 | + wfMessage( 'articlefeedbackv5-status-' . $record[0]->af_last_status ) |
| 412 | + ->rawParams( ApiArticleFeedbackv5Utils::getUserLink( $record[0]->af_last_status_user_id ) ) |
| 413 | + ->params( $wgLang->date( $record[0]->af_last_status_timestamp ), |
| 414 | + $wgLang->time( $record[0]->af_last_status_timestamp ) ) |
412 | 415 | ->escaped() |
413 | 416 | ) |
414 | 417 | |
— | — | @@ -423,7 +426,7 @@ |
424 | 427 | 'class' => 'articleFeedbackv5-vote-wrapper' |
425 | 428 | ) ) |
426 | 429 | . Html::openElement( 'div', array( 'class' => 'articleFeedbackv5-comment-foot' ) ); |
427 | | - |
| 430 | + |
428 | 431 | if ( $can_vote ) { |
429 | 432 | $footer_links .= Html::element( 'span', array( |
430 | 433 | 'class' => 'articleFeedbackv5-helpful-caption' |
— | — | @@ -462,7 +465,7 @@ |
463 | 466 | ), wfMessage( $msg, $wgLang->formatNum( $record[0]->af_abuse_count ) )->text() ); |
464 | 467 | } |
465 | 468 | $footer_links .= Html::closeElement( 'div' ); |
466 | | - |
| 469 | + |
467 | 470 | /*$footer_links .= Html::element( 'span', array( |
468 | 471 | 'class' => 'articleFeedbackv5-helpful-votes' |
469 | 472 | ), wfMessage( 'articlefeedbackv5-form-helpful-votes', ( $record[0]->af_helpful_count + $record[0]->af_unhelpful_count ), $record[0]->af_helpful_count, $record[0]->af_unhelpful_count ) ) |
— | — | @@ -473,7 +476,7 @@ |
474 | 477 | 'class' => 'articleFeedbackv5-abuse-link' |
475 | 478 | ), wfMessage( 'articlefeedbackv5-form-abuse', $record[0]->af_abuse_count )->text() ) ) : '' ) |
476 | 479 | . Html::closeElement( 'div' );*/ |
477 | | - |
| 480 | + |
478 | 481 | // Don't render the toolbox if they can't do anything with it. |
479 | 482 | $tools = null; |
480 | 483 | if ( $can_hide || $can_delete ) { |
— | — | @@ -502,7 +505,7 @@ |
503 | 506 | 'href' => '#', |
504 | 507 | ), wfMessage( "articlefeedbackv5-form-" . $msg )->text() ) ); |
505 | 508 | } |
506 | | - |
| 509 | + |
507 | 510 | // !can delete == request oversight |
508 | 511 | if ( $can_hide && !$can_delete ) { |
509 | 512 | if ( $record[0]->af_oversight_count > 0 ) { |
— | — | @@ -518,10 +521,10 @@ |
519 | 522 | 'href' => '#', |
520 | 523 | ), wfMessage( "articlefeedbackv5-form-" . $msg )->text() ) ); |
521 | 524 | } |
522 | | - |
| 525 | + |
523 | 526 | // can delete == do oversight |
524 | 527 | if ( $can_delete ) { |
525 | | - |
| 528 | + |
526 | 529 | // if we have oversight requested, add "decline oversight" link |
527 | 530 | if ( $record[0]->af_oversight_count > 0 ) { |
528 | 531 | $tools .= Html::rawElement( 'li', array(), Html::element( 'a', array( |
— | — | @@ -530,7 +533,7 @@ |
531 | 534 | 'href' => '#', |
532 | 535 | ), wfMessage( "articlefeedbackv5-form-decline" )->text() ) ); |
533 | 536 | } |
534 | | - |
| 537 | + |
535 | 538 | if ( $record[0]->af_is_deleted > 0 ) { |
536 | 539 | $msg = 'undelete'; |
537 | 540 | $class = 'unoversight'; |
— | — | @@ -544,18 +547,18 @@ |
545 | 548 | 'href' => '#', |
546 | 549 | ), wfMessage( "articlefeedbackv5-form-" . $msg )->text() ) ); |
547 | 550 | } |
548 | | - |
| 551 | + |
549 | 552 | // view activity link |
550 | 553 | $tools .= Html::rawElement( 'li', array(), Html::element( 'a', array( |
551 | 554 | 'id' => "articleFeedbackv5-activity-link-$id", |
552 | 555 | 'class' => "articleFeedbackv5-activity-link", |
553 | 556 | 'href' => '#', |
554 | 557 | ), wfMessage( "articlefeedbackv5-viewactivity" )->text() ) ); |
555 | | - |
| 558 | + |
556 | 559 | $tools .= Html::closeElement( 'ul' ) |
557 | 560 | . Html::closeElement( 'div' ); |
558 | 561 | } |
559 | | - |
| 562 | + |
560 | 563 | $topClass = 'articleFeedbackv5-feedback'; |
561 | 564 | if ( $record[0]->af_is_hidden ) { |
562 | 565 | $topClass .= ' articleFeedbackv5-feedback-hidden'; |
— | — | @@ -563,26 +566,33 @@ |
564 | 567 | if ( $record[0]->af_is_deleted ) { |
565 | 568 | $topClass .= ' articleFeedbackv5-feedback-deleted'; |
566 | 569 | } |
567 | | - |
568 | | - $attributes = array( |
569 | | - 'class' => $topClass, |
570 | | - 'rel' => $id |
571 | | - ); |
572 | | - if ( $record[0]->af_is_hidden ) { |
573 | | - |
574 | | - $attributes['hide-user'] = ApiArticleFeedbackv5Utils::getUserLink( $record[0]->af_hide_user_id, $default_user ); |
575 | | - $attributes['hide-timestamp'] = wfTimestamp( TS_RFC2822, $record[0]->af_hide_timestamp ); |
| 570 | + |
| 571 | + $status_line = ''; |
| 572 | + $extra_class = ''; |
| 573 | + |
| 574 | + // order of status to show |
| 575 | + if ( $record[0]->af_last_status ) { |
| 576 | + $status_line = Html::rawElement( 'span', array( |
| 577 | + 'class' => 'articleFeedbackv5-feedback-status-marker' |
| 578 | + ), |
| 579 | + wfMessage( 'articlefeedbackv5-status-' . $record[0]->af_last_status ) |
| 580 | + ->rawParams( ApiArticleFeedbackv5Utils::getUserLink( $record[0]->af_last_status_user_id ) ) |
| 581 | + ->params( $wgLang->date( $record[0]->af_last_status_timestamp ), |
| 582 | + $wgLang->time( $record[0]->af_last_status_timestamp ) ) |
| 583 | + ->escaped() |
| 584 | + ); |
| 585 | + |
| 586 | + |
| 587 | + $extra_class = ' articleFeedbackv5-h3-push'; |
576 | 588 | } |
577 | | - if ( $record[0]->af_is_deleted ) { |
578 | | - |
579 | | - $attributes['oversight-user'] = ApiArticleFeedbackv5Utils::getUserLink( $record[0]->af_oversight_user_id, $default_user ); |
580 | | - $attributes['oversight-timestamp'] = wfTimestamp( TS_RFC2822, $record[0]->af_oversight_timestamp ); |
581 | | - } |
582 | 589 | } |
583 | 590 | |
584 | | - return Html::openElement( 'div', $attributes ) |
| 591 | + return Html::openElement( 'div', array( |
| 592 | + 'class' => $topClass, |
| 593 | + 'rel' => $id ) ) |
| 594 | + . $status_line |
585 | 595 | . Html::openElement( 'div', array( |
586 | | - 'class' => "articleFeedbackv5-comment-wrap" |
| 596 | + 'class' => "articleFeedbackv5-comment-wrap" . $extra_class |
587 | 597 | ) ) |
588 | 598 | . $content |
589 | 599 | . $footer_links |
— | — | @@ -658,10 +668,10 @@ |
659 | 669 | |
660 | 670 | |
661 | 671 | private function renderBucket1( $record ) { |
662 | | - if ( $record['found']->aa_response_boolean == 1 ) { |
| 672 | + if ( isset( $record['found'] ) && $record['found']->aa_response_boolean == 1 ) { |
663 | 673 | $msg = 'articlefeedbackv5-form1-header-found'; |
664 | 674 | $class = 'positive'; |
665 | | - } elseif ( $record['found']->aa_response_boolean !== null ) { |
| 675 | + } elseif ( isset( $record['found'] ) && $record['found']->aa_response_boolean !== null ) { |
666 | 676 | $msg = 'articlefeedbackv5-form1-header-not-found'; |
667 | 677 | $class = 'negative'; |
668 | 678 | } else { |
— | — | @@ -854,11 +864,17 @@ |
855 | 865 | ApiBase::PARAM_REQUIRED => false, |
856 | 866 | ApiBase::PARAM_ISMULTI => false, |
857 | 867 | ApiBase::PARAM_TYPE => array( |
858 | | - 'all', 'notdeleted', |
859 | | - 'invisible', 'visible', 'unhidden', |
860 | | - 'comment', 'id', |
861 | | - 'helpful', 'unhelpful', 'abusive', |
862 | | - 'deleted', 'undeleted', 'needsoversight', 'declined' ) |
| 868 | + // permalinks |
| 869 | + 'id', |
| 870 | + // basic |
| 871 | + 'visible-comment', 'visible-helpful', 'visible-comments', 'visible', |
| 872 | + // autoconfirmed |
| 873 | + 'visible-unhelpful', 'visible-abusive', |
| 874 | + // monitors |
| 875 | + 'notdeleted-hidden', 'notdeleted-unhidden', 'notdeleted-requested', 'notdeleted-unrequested', 'notdeleted-declined', 'notdeleted', |
| 876 | + // oversighters |
| 877 | + 'all-hidden', 'all-unhidden', 'all-requested', 'all-unrequested', 'all-declined', |
| 878 | + 'all-oversighted', 'all-unoversighted', 'all') |
863 | 879 | ), |
864 | 880 | 'filtervalue' => array( |
865 | 881 | ApiBase::PARAM_REQUIRED => false, |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/api/ApiArticleFeedbackv5Utils.php |
— | — | @@ -207,13 +207,14 @@ |
208 | 208 | * @param $pageId int the id of the page so we can look it up |
209 | 209 | * @param $itemId int the id of the feedback item, used to build permalinks |
210 | 210 | * @param $notes string any notes that were stored with the activity |
211 | | - * @param $auto boolean true if this was an "automatic" action, if so the log doer is changed |
| 211 | + * @param $doer int id of user who did the action, null will use currently logged in user |
| 212 | + * @param $params array of parameters that can be passed into the msg thing - used for "perpetrator" for log entry |
212 | 213 | */ |
213 | | - public static function logActivity( $type, $pageId, $itemId, $notes, $auto = false ) { |
| 214 | + public static function logActivity( $type, $pageId, $itemId, $notes, $doer = null, $params = array() ) { |
214 | 215 | |
215 | 216 | // These are our valid activity log actions |
216 | 217 | $valid = array( 'oversight', 'unoversight', 'hidden', 'unhidden', |
217 | | - 'decline', 'request', 'unrequest', 'flag', 'unflag' ); |
| 218 | + 'decline', 'request', 'unrequest', 'flag', 'unflag', 'autoflag', 'autohide' ); |
218 | 219 | |
219 | 220 | // suppress |
220 | 221 | $suppress = array( 'oversight', 'unoversight', 'decline', 'request', 'unrequest'); |
— | — | @@ -252,9 +253,13 @@ |
253 | 254 | $notes = $wgLang->truncate( $notes, $wgArticleFeedbackv5MaxActivityNoteLength ); |
254 | 255 | |
255 | 256 | // if this is an automatic action, we create our special extension doer and send |
256 | | - if ( $auto ) { |
257 | | - $default_user = wfMessage( 'articlefeedbackv5-default-user' )->text(); |
258 | | - $doer = User::newFromName( $default_user ); |
| 257 | + if ( $doer ) { |
| 258 | + if ( $doer > 0) { |
| 259 | + $default_user = wfMessage( 'articlefeedbackv5-default-user' )->text(); |
| 260 | + $doer = User::newFromName( $default_user ); |
| 261 | + } else { |
| 262 | + $doer = User::newFromId( $doer ); |
| 263 | + } |
259 | 264 | // I cannot see how this could fail, but if it does do not log |
260 | 265 | if ( !$doer ) { |
261 | 266 | return; |
— | — | @@ -265,7 +270,7 @@ |
266 | 271 | |
267 | 272 | $log = new LogPage( $logtype, false ); |
268 | 273 | // comments become the notes section from the feedback |
269 | | - $log->addEntry( $type, $permalink, $notes, array(), $doer ); |
| 274 | + $log->addEntry( $type, $permalink, $notes, $params, $doer ); |
270 | 275 | |
271 | 276 | // update our log count by 1 |
272 | 277 | $dbw = wfGetDB( DB_MASTER ); |
— | — | @@ -296,6 +301,12 @@ |
297 | 302 | $userId = (int) $user_id; |
298 | 303 | if ( $userId !== 0 ) { // logged-in users |
299 | 304 | $user = User::newFromId( $userId ); |
| 305 | + } elseif ( is_null($user_ip) || $userId == 0 ) { // magic user |
| 306 | + global $wgArticleFeedbackv5AutoHelp; |
| 307 | + $element = Linker::makeExternalLink( |
| 308 | + $wgArticleFeedbackv5AutoHelp, |
| 309 | + wfMessage( 'articlefeedbackv5-default-user' )->text()); |
| 310 | + return $element; |
300 | 311 | } else { // IP users |
301 | 312 | $userText = $user_ip; |
302 | 313 | $user = User::newFromName( $userText, false ); |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/SpecialArticleFeedbackv5.php |
— | — | @@ -16,8 +16,8 @@ |
17 | 17 | */ |
18 | 18 | class SpecialArticleFeedbackv5 extends UnlistedSpecialPage { |
19 | 19 | private $filters = array( |
20 | | - 'comment', |
21 | | - 'helpful', |
| 20 | + 'visible-comment', |
| 21 | + 'visible-helpful', |
22 | 22 | 'visible' |
23 | 23 | ); |
24 | 24 | private $sorts = array( |
— | — | @@ -26,6 +26,10 @@ |
27 | 27 | 'rating' |
28 | 28 | ); |
29 | 29 | |
| 30 | + protected $showHidden; |
| 31 | + protected $showDeleted; |
| 32 | + protected $defaultFilters; |
| 33 | + |
30 | 34 | /** |
31 | 35 | * Constructor |
32 | 36 | */ |
— | — | @@ -33,32 +37,22 @@ |
34 | 38 | global $wgUser; |
35 | 39 | parent::__construct( 'ArticleFeedbackv5' ); |
36 | 40 | |
37 | | - $showHidden = $wgUser->isAllowed( 'aftv5-see-hidden-feedback' ); |
38 | | - $showDeleted = $wgUser->isAllowed( 'aftv5-see-deleted-feedback' ); |
| 41 | + $this->showHidden = $wgUser->isAllowed( 'aftv5-see-hidden-feedback' ); |
| 42 | + $this->showDeleted = $wgUser->isAllowed( 'aftv5-see-deleted-feedback' ); |
| 43 | + $this->defaultFilters = $this->filters; |
39 | 44 | |
40 | | - if ( $showDeleted ) { |
| 45 | + if ( $this->showDeleted ) { |
41 | 46 | array_push( $this->filters, |
42 | | - 'unhelpful', 'abusive', 'invisible', 'unhidden', 'needsoversight', 'deleted', 'undeleted', 'declined' |
| 47 | + 'visible-unhelpful', 'visible-abusive', 'all-hidden', 'all-unhidden', |
| 48 | + 'all-requested', 'all-unrequested', 'all-declined', |
| 49 | + 'all-oversighted', 'all-unoversighted', 'all' |
43 | 50 | ); |
44 | | - } elseif ( $showHidden ) { |
| 51 | + } elseif ( $this->showHidden ) { |
45 | 52 | array_push( $this->filters, |
46 | | - 'unhelpful', 'abusive', 'invisible', 'unhidden', 'needsoversight', 'undeleted', 'declined' |
| 53 | + 'visible-unhelpful', 'visible-abusive', 'notdeleted-hidden', 'notdeleted-unhidden', |
| 54 | + 'notdeleted-requested', 'notdeleted-unrequested', 'notdeleted-declined','notdeleted' |
47 | 55 | ); |
48 | 56 | } |
49 | | - |
50 | | - // NOTE: The 'all' option actually displays different things |
51 | | - // based on the users role, which is handled in the filter: |
52 | | - // - deleter's all is actually everything |
53 | | - // - hidder's all is 'visible + hidden' |
54 | | - // - regular non-admin only has 'all visible' not 'all' |
55 | | - |
56 | | - // The all option, if any, is only added once, at the end of the list, |
57 | | - // which is why it's down here instead. |
58 | | - if ( $showDeleted ) { |
59 | | - $this->filters[] = 'all'; |
60 | | - } elseif( $showHidden ) { |
61 | | - $this->filters[] = 'notdeleted'; |
62 | | - } |
63 | 57 | } |
64 | 58 | |
65 | 59 | /** |
— | — | @@ -263,9 +257,11 @@ |
264 | 258 | $opts = array(); |
265 | 259 | $counts = $this->getFilterCounts( $pageId ); |
266 | 260 | foreach ( $this->filters as $filter ) { |
| 261 | + |
267 | 262 | $count = array_key_exists( $filter, $counts ) ? $counts[$filter] : 0; |
268 | | - $key = $this->msg( 'articlefeedbackv5-special-filter-'.$filter, $count )->escaped(); |
269 | | - if( in_array( $filter, array( 'comment', 'helpful', 'visible' ) ) ) { |
| 263 | + $msg_key = str_replace(array('all-', 'visible-', 'notdeleted-'), '', $filter); |
| 264 | + $key = $this->msg( 'articlefeedbackv5-special-filter-' . $msg_key, $count )->escaped(); |
| 265 | + if( in_array( $filter, $this->defaultFilters ) ) { |
270 | 266 | $opts[ (string) $key ] = $filter; |
271 | 267 | } else { |
272 | 268 | $opts[ '---------' ][ (string) $key ] = $filter; |
Index: branches/wmf/1.19wmf1/extensions/ArticleFeedbackv5/ArticleFeedbackv5.hooks.php |
— | — | @@ -113,6 +113,10 @@ |
114 | 114 | 'articlefeedbackv5-bucket4-learn-to-edit', |
115 | 115 | 'articlefeedbackv5-bucket4-form-submit', |
116 | 116 | 'articlefeedbackv5-bucket4-help-tooltip-info', |
| 117 | + 'articlefeedbackv5-bucket4-noedit-title', |
| 118 | + 'articlefeedbackv5-bucket4-noedit-teaser-line1', |
| 119 | + 'articlefeedbackv5-bucket4-noedit-teaser-line2', |
| 120 | + 'articlefeedbackv5-bucket4-noedit-form-submit', |
117 | 121 | 'articlefeedbackv5-bucket5-form-switch-label', |
118 | 122 | 'articlefeedbackv5-bucket5-form-panel-title', |
119 | 123 | 'articlefeedbackv5-bucket5-form-panel-explanation', |
— | — | @@ -183,8 +187,6 @@ |
184 | 188 | 'articlefeedbackv5-form-undelete', |
185 | 189 | 'articlefeedbackv5-form-oversight', |
186 | 190 | 'articlefeedbackv5-form-unoversight', |
187 | | - 'articlefeedbackv5-hidden', |
188 | | - 'articlefeedbackv5-deleted', |
189 | 191 | 'articlefeedbackv5-comment-more', |
190 | 192 | 'articlefeedbackv5-comment-less', |
191 | 193 | 'articlefeedbackv5-error-loading-feedback', |
— | — | @@ -385,6 +387,42 @@ |
386 | 388 | } |
387 | 389 | |
388 | 390 | /** |
| 391 | + * Formats an activity log entry |
| 392 | + * |
| 393 | + * @param $type string the log type |
| 394 | + * @param $action string the action (usually, but not always, the flag) |
| 395 | + * @param $title Title the title |
| 396 | + * @param $skin Skin the skin |
| 397 | + * @param $params array any extra params |
| 398 | + * @param $filterWikilinks bool whether to filter links |
| 399 | + * @return string the log entry |
| 400 | + */ |
| 401 | + public static function formatActivityLogEntry( $type, $action, $title, $skin, $params, $filterWikilinks = false ) { |
| 402 | + |
| 403 | + if ( preg_match( '|^ArticleFeedbackv5/(.*)/(\d+)$|', $title->getDBKey(), $matches ) ) { |
| 404 | + $page = Title::newFromDBKey( $matches[1] ); |
| 405 | + $fbid = $matches[2]; |
| 406 | + } else { |
| 407 | + $fbid = '?'; |
| 408 | + } |
| 409 | + |
| 410 | + $fbtext = wfMessage( 'articlefeedbackv5-log-feedback-linktext', |
| 411 | + $fbid )->escaped(); |
| 412 | + $fblink = Message::rawParam( Linker::makeLinkObj( $title, $fbtext ) ); |
| 413 | + |
| 414 | + if ( $page ) { |
| 415 | + $pagelink = Message::rawParam( Linker::makeLinkObj( $page ) ); |
| 416 | + } else { |
| 417 | + $pagelink = '?'; |
| 418 | + } |
| 419 | + |
| 420 | + global $wgLang, $wgContLang; |
| 421 | + $language = $skin === null ? $wgContLang : $wgLang; |
| 422 | + return wfMessage( "articlefeedbackv5-log-$action" )->params( |
| 423 | + array( $fblink, $pagelink ) )->inLanguage( $language )->text(); |
| 424 | + } |
| 425 | + |
| 426 | + /** |
389 | 427 | * Pushes the tracking fields into the edit page |
390 | 428 | * |
391 | 429 | * @see http://www.mediawiki.org/wiki/Manual:Hooks/EditPage::showEditForm:fields |
— | — | @@ -394,18 +432,20 @@ |
395 | 433 | */ |
396 | 434 | public static function pushTrackingFieldsToEdit( $editPage, $output ) { |
397 | 435 | $request = $output->getRequest(); |
398 | | - $tracking = $request->getVal( 'articleFeedbackv5_click_tracking' ); |
399 | | - $bucketId = $request->getVal( 'articleFeedbackv5_bucket_id' ); |
400 | | - $ctaId = $request->getVal( 'articleFeedbackv5_cta_id' ); |
401 | | - $flinkId = $request->getVal( 'articleFeedbackv5_f_link_id' ); |
402 | | - $location = $request->getVal( 'articleFeedbackv5_location' ); |
403 | | - $token = $request->getVal( 'articleFeedbackv5_ct_token' ); |
404 | | - $ctEvent = $request->getVal( 'articleFeedbackv5_ct_event' ); |
| 436 | + $tracking = $request->getVal( 'articleFeedbackv5_click_tracking' ); |
| 437 | + $bucketId = $request->getVal( 'articleFeedbackv5_bucket_id' ); |
| 438 | + $ctaId = $request->getVal( 'articleFeedbackv5_cta_id' ); |
| 439 | + $flinkId = $request->getVal( 'articleFeedbackv5_f_link_id' ); |
| 440 | + $experiment = $request->getVal( 'articleFeedbackv5_experiment' ); |
| 441 | + $location = $request->getVal( 'articleFeedbackv5_location' ); |
| 442 | + $token = $request->getVal( 'articleFeedbackv5_ct_token' ); |
| 443 | + $ctEvent = $request->getVal( 'articleFeedbackv5_ct_event' ); |
405 | 444 | |
406 | 445 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_click_tracking', $tracking ); |
407 | 446 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_bucket_id', $bucketId ); |
408 | 447 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_cta_id', $ctaId ); |
409 | 448 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_f_link_id', $flinkId ); |
| 449 | + $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_experiment', $experiment ); |
410 | 450 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_location', $location ); |
411 | 451 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_ct_token', $token ); |
412 | 452 | $editPage->editFormTextAfterContent .= Html::hidden( 'articleFeedbackv5_ct_event', $ctEvent ); |
— | — | @@ -468,20 +508,25 @@ |
469 | 509 | return; |
470 | 510 | } |
471 | 511 | |
472 | | - $version = $wgArticleFeedbackv5Tracking['version']; |
473 | | - $bucketId = $request->getVal( 'articleFeedbackv5_bucket_id' ); |
474 | | - $ctaId = $request->getVal( 'articleFeedbackv5_cta_id' ); |
475 | | - $flinkId = $request->getVal( 'articleFeedbackv5_f_link_id' ); |
476 | | - $location = $request->getVal( 'articleFeedbackv5_location' ); |
477 | | - $token = $request->getVal( 'articleFeedbackv5_ct_token' ); |
478 | | - $ctEvent = $request->getVal( 'articleFeedbackv5_ct_event' ); |
| 512 | + $version = $wgArticleFeedbackv5Tracking['version']; |
| 513 | + $bucketId = $request->getVal( 'articleFeedbackv5_bucket_id' ); |
| 514 | + $ctaId = $request->getVal( 'articleFeedbackv5_cta_id' ); |
| 515 | + $flinkId = $request->getVal( 'articleFeedbackv5_f_link_id' ); |
| 516 | + $experiment = $request->getVal( 'articleFeedbackv5_experiment' ); |
| 517 | + $location = $request->getVal( 'articleFeedbackv5_location' ); |
| 518 | + $token = $request->getVal( 'articleFeedbackv5_ct_token' ); |
| 519 | + $ctEvent = $request->getVal( 'articleFeedbackv5_ct_event' ); |
479 | 520 | |
480 | 521 | if ( $ctEvent ) { |
481 | 522 | $trackingId = $ctEvent . '-' . $event; |
482 | 523 | } else { |
483 | | - $trackingId = 'ext.articleFeedbackv5@' . $version |
484 | | - . '-option' . $bucketId . $flinkId |
485 | | - . '-cta_' . ( isset( $ctas[$ctaId] ) ? $ctas[$ctaId] : 'unknown' ) |
| 524 | + $trackingId = 'ext.articleFeedbackv5@' . $version; |
| 525 | + if ( $experiment ) { |
| 526 | + $trackingId .= '-' . $experiment; // Stage 3 or greater |
| 527 | + } else { |
| 528 | + $trackingId .= '-option' . $bucketId . $flinkId; // Prior to stage 3; handles cached js |
| 529 | + } |
| 530 | + $trackingId .= '-cta_' . ( isset( $ctas[$ctaId] ) ? $ctas[$ctaId] : 'unknown' ) |
486 | 531 | . '-' . $event |
487 | 532 | . '-' . $location; |
488 | 533 | } |