Index: branches/REL1_14/extensions/DynamicPageList/DynamicPageList2.i18n.php |
— | — | @@ -145,6 +145,96 @@ |
146 | 146 | */ |
147 | 147 | 'dpl2_articlecount' => 'There {{PLURAL:$1|is one article|are $1 articles}} in this heading.' |
148 | 148 | ); |
| 149 | + self::$messages['fr'] = array( |
| 150 | + /* |
| 151 | + Log |
| 152 | + */ |
| 153 | + // FATAL |
| 154 | + /** |
| 155 | + * $0: 'namespace' or 'notnamespace' |
| 156 | + * $1: wrong parameter given by user |
| 157 | + * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
| 158 | + */ |
| 159 | + 'dpl2_log_' . self::FATAL_WRONGNS => "ERREUR : Mauvais paramètre '$0' : '$1'! Aide : <code>$0= <i>chaîne vide</i> (Principal)$3</code>. (Les équivalents avec des mots magiques sont aussi autorisés.)", |
| 160 | + /** |
| 161 | + * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
| 162 | + * $1: wrong parameter given by user |
| 163 | + */ |
| 164 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "ERREUR : Mauvais paramètre '$0' : '$1'! Aide : <code>$0= <i>Nom complet de la page</i></code>. (Les mots magiques sont autorisés.)", |
| 165 | + /** |
| 166 | + * $0: max number of categories that can be included |
| 167 | + */ |
| 168 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'ERREUR : Trop de catégories ! Maximum : $0. Aide : accroître <code>ExtDynamicPageList2::$maxCategoryCount</code> pour autoriser plus de catégories ou régler <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> pour aucune limite. (À régler dans <code>LocalSettings.php</code>, après avoir inclus <code>DynamicPageList2.php</code>.)', |
| 169 | + /** |
| 170 | + * $0: min number of categories that have to be included |
| 171 | + */ |
| 172 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'ERREUR : Pas assez de catégories ! Minimum : $0. Aide : décroître <code>ExtDynamicPageList2::$minCategoryCount</code> pour autoriser moins de catégories. (À régler dans <code>LocalSettings.php</code> de préférence, après avoir inclus <code>DynamicPageList2.php</code>.)', |
| 173 | + 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
| 174 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "ERREUR : Vous devez inclure au moins une catégorie si vous voulez utiliser 'addfirstcategorydate=true' ou 'ordermethod=categoryadd' !", |
| 175 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "ERREUR : Si vous incluez plus d’une catégorie, vous ne pouvez pas utiliser 'addfirstcategorydate=true' ou 'ordermethod=categoryadd' !", |
| 176 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'ERREUR : Vous ne pouvez pas utiliser plus d’un type de date à la fois !', |
| 177 | + /** |
| 178 | + * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
| 179 | + * $1: last 'ordermethod' parameter required for $0 |
| 180 | + */ |
| 181 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "ERREUR : Vous ne pouvez utiliser '$0' qu’avec 'ordermethod=[...,]$1' !", |
| 182 | + /** |
| 183 | + * $0: the number of arguments in includepage |
| 184 | + */ |
| 185 | + 'dpl2_log_' . self::FATAL_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", |
| 186 | + /** |
| 187 | + * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
| 188 | + * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
| 189 | + */ |
| 190 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "ERREUR : Ne peut pas effectuer d’opérations logiques sur les pages sans catégories (avec la paramètre 'category') car la vue $0 n’existe pas dans la base de données ! Aide : demander à un administrateur de la base de données d'effectuer : <code>$1</code>.", |
| 191 | + 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
| 192 | + |
| 193 | + // WARN |
| 194 | + /** |
| 195 | + * $0: unknown parameter given by user |
| 196 | + * $1: list of DPL2 available parameters separated by ', ' |
| 197 | + */ |
| 198 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "AVERTISSEMENT : Le paramètre inconnu '$0' est ignoré. Aide : paramètres disponibles : <code>$1</code>.", |
| 199 | + /** |
| 200 | + * $3: list of valid param values separated by ' | ' |
| 201 | + */ |
| 202 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "AVERTISSEMENT : Mauvais paramètre '$0' : '$1'! Utilisation de la valeur par défaut : '$2'. Aide : <code>$0= $3</code>.", |
| 203 | + /** |
| 204 | + * $0: param name |
| 205 | + * $1: wrong param value given by user |
| 206 | + * $2: default param value used instead by program |
| 207 | + */ |
| 208 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "AVERTISSEMENT : Mauvais paramètre '$0' : '$1'! Utilisattion de la valeur par défaut : '$2' (aucune limite). Aide : <code>$0= <i>chaîne vide</i> (aucune limite) | n</code>, avec <code>n</code> un entier positif.", |
| 209 | + 'dpl2_log_' . self::WARN_NORESULTS => 'AVERTISSEMENT : Aucun résultat !', |
| 210 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "AVERTISSEMENT : Les paramètres Add* ('adduser', 'addeditdate', etc.)' et 'includepage' n’ont aucun effet avec 'mode=category'. Seuls l’espace de nom et le titre de la page peuvent être vus dans ce mode..", |
| 211 | + /** |
| 212 | + * $0: 'headingmode' value given by user |
| 213 | + * $1: value used instead by program (which means no heading) |
| 214 | + */ |
| 215 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "AVERTISSEMENT : 'headingmode=$0' n'a aucun effet avec 'ordermethod' sur une simple composante. Utiliser : '$1'. Aide : vous pouvez utiliser not-$1 sur les valeurs de 'headingmode' avec 'ordermethod' sur plusieurs composantes. La première composante est utilisée pour les en-têtes. Exemple : 'ordermethod=category,<i>comp</i>' (<i>comp</i> est une autre composante) pour les en-têtes de catégorie.", |
| 216 | + /** |
| 217 | + * $0: 'log' value |
| 218 | + */ |
| 219 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "AVERTISSEMENT : 'debug=$0' n’est pas en première position dans l’élément DPL. Les nouveaux réglages de débogage ne seront appliqués qu’après que les paramètres précédents aient été vérifiés.", |
| 220 | + /** |
| 221 | + * $0: title of page that creates an infinite transclusion loop |
| 222 | + */ |
| 223 | + 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "AVERTISSEMENT : Une boucle d’inclusion infinie est créée par la page '$0'.", |
| 224 | + |
| 225 | + // DEBUG |
| 226 | + /** |
| 227 | + * $0: SQL query executed to generate the dynamic page list |
| 228 | + */ |
| 229 | + 'dpl2_log_' . self::DEBUG_QUERY => 'REQUÊTE : <code>$0</code>', |
| 230 | + |
| 231 | + /* |
| 232 | + Output formatting |
| 233 | + */ |
| 234 | + /** |
| 235 | + * $1: number of articles |
| 236 | + */ |
| 237 | + 'dpl2_articlecount' => 'Il y a {{PLURAL:$1|un article|$1 articles}} dans cette section.' |
| 238 | + ); |
149 | 239 | self::$messages['he'] = array( |
150 | 240 | /* |
151 | 241 | Log |
— | — | @@ -155,24 +245,24 @@ |
156 | 246 | * $1: wrong parameter given by user |
157 | 247 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
158 | 248 | */ |
159 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "?????: ????? '$0' ????: '$1'! ????: <code>$0= <i>?????? ????</i> (????)$3</code>. (???? ?????? ?? ????? ??? ??????? ????? ???.)", |
| 249 | + 'dpl2_log_' . self::FATAL_WRONGNS => "שגיאה: פרמטר '$0' שגוי: '$1'! עזרה: <code>$0= <i>מחרוזת ריקה</i> (ראשי)$3</code>. (ניתן להשתמש גם בשווי ערך באמצעות מילות קסם.)", |
160 | 250 | /** |
161 | 251 | * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
162 | 252 | * $1: wrong parameter given by user |
163 | 253 | */ |
164 | | - 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "?????: ????? '$0' ????: '$1'! ????: <code>$0= <i>?? ??? ????</i></code>. (???? ?????? ?????? ???.)", |
| 254 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "שגיאה: פרמטר '$0' שגוי: '$1'! עזרה: <code>$0= <i>שם הדף המלא</i></code>. (ניתן להשתמש במילות קסם.)", |
165 | 255 | /** |
166 | 256 | * $0: max number of categories that can be included |
167 | 257 | */ |
168 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => '?????: ???????? ???? ???! ???????: $0. ????: ???? ?? <code>ExtDynamicPageList2::$maxCategoryCount</code> ??? ????? ??? ???????? ?? ?????? <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> ??? ???? ?? ??????. (?????? ?? ?????? ????? <code>LocalSettings.php</code>, ???? ????? <code>DynamicPageList2.php</code>.)', |
| 258 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'שגיאה: קטגוריות רבות מדי! מקסימום: $0. עזרה: העלו את <code>ExtDynamicPageList2::$maxCategoryCount</code> כדי לציין עוד קטגוריות או הגדירו <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> כדי לבטל את ההגבלה. (הגידרו את המשתנה בקובץ <code>LocalSettings.php</code>, לאחר הכללת <code>DynamicPageList2.php</code>.)', |
169 | 259 | /** |
170 | 260 | * $0: min number of categories that have to be included |
171 | 261 | */ |
172 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => '?????: ???????? ????? ???! ???????: $0. ????: ?????? ?? <code>ExtDynamicPageList2::$minCategoryCount</code> ??? ????? ???? ????????. (?????? ?? ?????? ????? <code>LocalSettings.php</code>, ???? ????? <code>DynamicPageList2.php</code>.)', |
| 262 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'שגיאה: קטגוריות מעטות מדי! מינימום: $0. עזרה: הורידו את <code>ExtDynamicPageList2::$minCategoryCount</code> כדי לציין פחות קטגוריות. (הגידרו את המשתנה בקובץ <code>LocalSettings.php</code>, לאחר הכללת <code>DynamicPageList2.php</code>.)', |
173 | 263 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
174 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "?????: ????? ?????? ????? ??????? ??? ?? ??????? ?????? ??'addfirstcategorydate=true' ?? ??'ordermethod=categoryadd'!", |
175 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "?????: ?? ??? ??????? ???? ???????? ???, ????? ?????? ?????? ??'addfirstcategorydate=true' ?? ??'ordermethod=categoryadd'!", |
176 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '?????: ????? ?????? ?????? ???? ???? ??? ?? ????? ?? ?????!', |
| 264 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "שגיאה: עליכם להכליל לפחות קטגוריה אחת אם ברצונכם להשתמש ב־'addfirstcategorydate=true' או ב־'ordermethod=categoryadd'!", |
| 265 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "שגיאה: אם אתם מכלילים יותר מקטגוריה אחת, אינכם יכולים להשתמש ב־'addfirstcategorydate=true' או ב־'ordermethod=categoryadd'!", |
| 266 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'שגיאה: אינכם יכולים להוסיף יותר מסוג אחד של תאריך בו זמנית!', |
177 | 267 | /** |
178 | 268 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
179 | 269 | * $1: last 'ordermethod' parameter required for $0 |
— | — | @@ -186,7 +276,7 @@ |
187 | 277 | * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
188 | 278 | * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
189 | 279 | */ |
190 | | - 'dpl2_log_' . self::FATAL_NOCLVIEW => "?????: ?? ???? ???? ?????? ?????? ?? ???? ??? ???????? (????, ?? ?????? '???????') ????? ?????? $0 ???? ????? ???? ???????! ????: ???? ??? ??????? ???? ????? ?? ???????: <code>$1</code>.", |
| 280 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "שגיאה: לא ניתן לבצע פעולות לוגיות על דפים ללא קטגוריות (למשל, עם הפרמטר 'קטגוריה') כיוון שתצוגת $0 אינה קיימת במסד הנתונים! עזרה: מנהל מסד הנתונים צריך להריץ את השאילתה: <code>$1</code>.", |
191 | 281 | 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
192 | 282 | |
193 | 283 | // WARN |
— | — | @@ -194,38 +284,38 @@ |
195 | 285 | * $0: unknown parameter given by user |
196 | 286 | * $1: list of DPL2 available parameters separated by ', ' |
197 | 287 | */ |
198 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "?????: ????? ??????? ??????? ??? ???? '$0'. ????: ??????? ??????: <code>$1</code>.", |
| 288 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "אזהרה: בוצעה התעלמות מהפרמטר הלא ידוע '$0'. עזרה: פרמטרים זמינים: <code>$1</code>.", |
199 | 289 | /** |
200 | 290 | * $3: list of valid param values separated by ' | ' |
201 | 291 | */ |
202 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "?????: ????? '$0' ????: '$1'! ????? ?????? ?????: '$2'. ????: <code>$0= $3</code>.", |
| 292 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "אזהרה: פרמטר '$0' שגוי: '$1'! משתמש בברירת המחדל: '$2'. עזרה: <code>$0= $3</code>.", |
203 | 293 | /** |
204 | 294 | * $0: param name |
205 | 295 | * $1: wrong param value given by user |
206 | 296 | * $2: default param value used instead by program |
207 | 297 | */ |
208 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "?????: ????? '$0' ????: '$1'! ????? ?????? ?????: '$2' (??? ?????). ????: <code>$0= <i>?????? ????</i> (??? ?????) | n</code>, ?? <code>n</code> ????? ??? ??????.", |
| 298 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "אזהרה: פרמטר '$0' שגוי: '$1'! משתמש בברירת המחדל: '$2' (ללא הגבלה). עזרה: <code>$0= <i>מחרוזת ריקה</i> (ללא הגבלה) | n</code>, עם <code>n</code> כמספר שלם וחיובי.", |
209 | 299 | 'dpl2_log_' . self::WARN_NORESULTS => '?????: ??? ??????!', |
210 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "?????: ??????* ???????? ('adduser',? 'addeditdate' ??????) ??? ??'includepage' ??? ????? ?? 'mode=category'. ???? ????? ?? ????? ??? ?? ?????? ??? ???? ??.", |
| 300 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "אזהרה: להוספת* הפרמטרים ('adduser', 'addeditdate' וכדומה) וכן ל־'includepage' אין השפעה עם 'mode=category'. ניתן לצפות רק במרחב השם או בכותרת הדף במצב זה.", |
211 | 301 | /** |
212 | 302 | * $0: 'headingmode' value given by user |
213 | 303 | * $1: value used instead by program (which means no heading) |
214 | 304 | */ |
215 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "?????: ??'headingmode=$0' ??? ????? ?? 'ordermethod' ?? ???? ????. ????? ?: '$1'. ????: ????????? ?????? ?????? ?? 'headingmode' ????? $1 ?? 'ordermethod' ?? ?????? ??????. ??????? ????? ?????? ??????. ????, 'ordermethod=category,<i>comp</i>' (<i>comp</i> ??? ???? ???) ??????? ????????.", |
| 305 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "אזהרה: ל־'headingmode=$0' אין השפעה עם 'ordermethod' על פריט יחיד. משתמש ב: '$1'. עזרה: באפשרותכם להשתמש בערכים של 'headingmode' שאינם $1 עם 'ordermethod' על פריטים מרובים. משתמשים בפריט הראשון לכותרת. למשל, 'ordermethod=category,<i>comp</i>' (<i>comp</i> הוא פריט אחר) לכותרות הקטגוריה.", |
216 | 306 | /** |
217 | 307 | * $0: 'debug' value |
218 | 308 | */ |
219 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "?????: 'debug=$0w ??? ?? ????? ?????? ????? ??DPL. ?????? ????? ??????? ?????? ?? ????? ???? ??? ???????? ??????? ?????? ???????.", |
| 309 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "אזהרה: 'debug=$0w הוא לא במקום הראשון ברכיב ה־DPL. הגדרות ניפוי השגיאות החדשות לא יחולו לפני שכל הפרמטרים הקודמים ינותחו וייבדקו.", |
220 | 310 | /** |
221 | 311 | * $0: title of page that creates an infinite transclusion loop |
222 | 312 | */ |
223 | | - 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "?????: ????? ????? ???????? ????? ??? '$0'.", |
| 313 | + 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "אזהרה: לולאת הכללה אינסופית נוצרה בדף '$0'.", |
224 | 314 | |
225 | 315 | // DEBUG |
226 | 316 | /** |
227 | 317 | * $0: SQL query executed to generate the dynamic page list |
228 | 318 | */ |
229 | | - 'dpl2_log_' . self::DEBUG_QUERY => '??????: <code>$0</code>', |
| 319 | + 'dpl2_log_' . self::DEBUG_QUERY => 'שאילתה: <code>$0</code>', |
230 | 320 | |
231 | 321 | /* |
232 | 322 | Output formatting |
— | — | @@ -233,8 +323,98 @@ |
234 | 324 | /** |
235 | 325 | * $1: number of articles |
236 | 326 | */ |
237 | | - 'dpl2_articlecount' => '{{plural:$1|???? $1 ????|???? ?? ???}} ??? ????? ??.' |
| 327 | + 'dpl2_articlecount' => '{{PLURAL:$1|ישנם $1 דפים|ישנו דף אחד}} תחת כותרת זו.' |
238 | 328 | ); |
| 329 | + self::$messages['id'] = array( |
| 330 | + /* |
| 331 | + Log |
| 332 | + */ |
| 333 | + // FATAL |
| 334 | + /** |
| 335 | + * $0: 'namespace' or 'notnamespace' |
| 336 | + * $1: wrong parameter given by user |
| 337 | + * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
| 338 | + */ |
| 339 | + 'dpl2_log_' . self::FATAL_WRONGNS => "KESALAHAN: Parameter '$0' salah: '$1'! Bantuan: <code>$0= <i>string kosong</i> (Utama)$3</code>. (Ekivalen kata kunci juga diizinkan.)", |
| 340 | + /** |
| 341 | + * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
| 342 | + * $1: wrong parameter given by user |
| 343 | + */ |
| 344 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "KESALAHAN: Parameter '$0' salah: '$1'! Bantuan: <code>$0= <i>nama lengkap halaman</i></code>. (Kata kunci diizinkan.)", |
| 345 | + /** |
| 346 | + * $0: max number of categories that can be included |
| 347 | + */ |
| 348 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'KESALAHAN: Kategori terlalu banyak! Maksimum: $0. Bantuan: perbesar <code>ExtDynamicPageList2::$maxCategoryCount</code> untuk memberikan lebih banyak kategori atau atur <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> untuk menghapus batasan. (Atur variabel tersebut di <code>LocalSettings.php</code>, setelah mencantumkan <code>DynamicPageList2.php</code>.)', |
| 349 | + /** |
| 350 | + * $0: min number of categories that have to be included |
| 351 | + */ |
| 352 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'KESALAHAN: Kategori terlalu sedikit! Minimum: $0. Bantuan: kurangi <code>ExtDynamicPageList2::$minCategoryCount</code> untuk mengurangi kategori. (Atur variabel tersebut di <code>LocalSettings.php</code>, setelah mencantumkan <code>DynamicPageList2.php</code>.)', |
| 353 | + 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
| 354 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "KESALAHAN: Anda harus memberikan paling tidak satu kategori jika menggunakan 'addfirstcategorydate=true' atau 'ordermethod=categoryadd'!", |
| 355 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "KESALAHAN: Jika Anda memberikan lebih dari satu kategori, Anda tidak dapat menggunakan 'addfirstcategorydate=true' atau 'ordermethod=categoryadd'!", |
| 356 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'KESALAHAN: Anda tidak dapat memberikan lebih dari satu jenis tanggal dalam satu waktu!', |
| 357 | + /** |
| 358 | + * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
| 359 | + * $1: last 'ordermethod' parameter required for $0 |
| 360 | + */ |
| 361 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "KESALAHAN: Anda dapat menggunakan '$0' hanya dengan 'ordermethod=[...,]$1'!", |
| 362 | + /** |
| 363 | + * $0: the number of arguments in includepage |
| 364 | + */ |
| 365 | + 'dpl2_log_' . self::FATAL_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", |
| 366 | + /** |
| 367 | + * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
| 368 | + * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
| 369 | + */ |
| 370 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "KESALAHAN: Tidak dapat melakukan operasi logika pada halaman yang tak terkategori (misalnya dengan parameter 'kategori') karena view $0 tidak ada di basis data! Bantuan: mintalah admin basis data untuk menjalankan kueri berikut: <code>$1</code>.", |
| 371 | + 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
| 372 | + |
| 373 | + // WARN |
| 374 | + /** |
| 375 | + * $0: unknown parameter given by user |
| 376 | + * $1: list of DPL2 available parameters separated by ', ' |
| 377 | + */ |
| 378 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "KESALAHAN: Paramater yang tak dikenal '$0' diabaikan. Bantuan: parameter yang tersedia: <code>$1</code>.", |
| 379 | + /** |
| 380 | + * $3: list of valid param values separated by ' | ' |
| 381 | + */ |
| 382 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "KESALAHAN: Parameter '$0' salah: '$1'! Menggunakan konfigurasi baku: '$2'. Bantuan: <code>$0= $3</code>.", |
| 383 | + /** |
| 384 | + * $0: param name |
| 385 | + * $1: wrong param value given by user |
| 386 | + * $2: default param value used instead by program |
| 387 | + */ |
| 388 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "KESALAHAN: Parameter '$0' salah: '$1'! Menggunakan konfigurasi baku: '$2' (tanpa limitasi). Bantuan: <code>$0= <i>string kosong</i> (tanpa limitasi) | n</code>, dengan <code>n</code> suatu bilangan positif.", |
| 389 | + 'dpl2_log_' . self::WARN_NORESULTS => 'KESALAHAN: Hasil tak ditemukan!', |
| 390 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "KESALAHAN: Menambahkan * parameter ('adduser', 'addeditdate', dll.)' dan 'includepage' tidak berpengaruh pada 'mode=category'. Hanya ruang nama/judul halaman yang dapat ditampilkan dengan mode ini.", |
| 391 | + /** |
| 392 | + * $0: 'headingmode' value given by user |
| 393 | + * $1: value used instead by program (which means no heading) |
| 394 | + */ |
| 395 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "KESALAHAN: 'headingmode=$0' tidak berpengaruh dengan 'ordermethod' pada suatu komponen tunggal. Menggunakan: '$1'. Bantuan: Anda dapat menggunakan nilai not-$1 'headingmode' dengan 'ordermethod' terhadap beberapa komponen. Komponen pertama digunakan sebagai judul. Misalnya 'ordermethod=category,<i>comp</i>' (<i>comp</i> adalah komponen lain) untuk judul kategori.", |
| 396 | + /** |
| 397 | + * $0: 'log' value |
| 398 | + */ |
| 399 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "KESALAHAN: 'debug=$0' tidak pada posisi pertama pada elemen DPL. Aturan debug tidak diterapkan sebelum semua variabel sebelumnya telah diparsing dan dicek.", |
| 400 | + /** |
| 401 | + * $0: title of page that creates an infinite transclusion loop |
| 402 | + */ |
| 403 | + 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "KESALAHAN: Suatu lingkaran transklusi tak hingga ditimbulkan oleh halaman '$0'.", |
| 404 | + |
| 405 | + // DEBUG |
| 406 | + /** |
| 407 | + * $0: SQL query executed to generate the dynamic page list |
| 408 | + */ |
| 409 | + 'dpl2_log_' . self::DEBUG_QUERY => 'KUERI: <code>$0</code>', |
| 410 | + |
| 411 | + /* |
| 412 | + Output formatting |
| 413 | + */ |
| 414 | + /** |
| 415 | + * $1: number of articles |
| 416 | + */ |
| 417 | + 'dpl2_articlecount' => 'Terdapat {{PLURAL:$1|artikel|artikel}} dalam judul ini.' |
| 418 | + ); |
239 | 419 | self::$messages['it'] = array( |
240 | 420 | /* |
241 | 421 | Log |
— | — | @@ -260,14 +440,14 @@ |
261 | 441 | */ |
262 | 442 | 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'ERRORE: Categorie insufficienti (minimo $0). Suggerimento: diminuire il valore di <code>ExtDynamicPageList2::$minCategoryCount</code> per indicare un numero minore di categorie. (Impostare la variabile nel file <code>LocalSettings.php</code>, dopo l\'inclusione di <code>DynamicPageList2.php</code>.)', |
263 | 443 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
264 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "ERRORE: L'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd' richiede l'inserimento di una o pi� categorie.", |
265 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "ERRORE: L'inserimento di pi� categorie impedisce l'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd'.", |
266 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'ERRORE: Non � consentito l\'uso contemporaneo di pi� tipi di data.', |
| 444 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "ERRORE: L'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd' richiede l'inserimento di una o più categorie.", |
| 445 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "ERRORE: L'inserimento di più categorie impedisce l'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd'.", |
| 446 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'ERRORE: Non è consentito l\'uso contemporaneo di più tipi di data.', |
267 | 447 | /** |
268 | 448 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
269 | 449 | * $1: last 'ordermethod' parameter required for $0 |
270 | 450 | */ |
271 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "ERRORE: L'uso del parametro '$0' � consentito unicamente con 'ordermethod=[...,]$1'.", |
| 451 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "ERRORE: L'uso del parametro '$0' è consentito unicamente con 'ordermethod=[...,]$1'.", |
272 | 452 | /** |
273 | 453 | * $0: the number of arguments in includepage |
274 | 454 | */ |
— | — | @@ -284,28 +464,28 @@ |
285 | 465 | * $0: unknown parameter given by user |
286 | 466 | * $1: list of DPL2 available parameters separated by ', ' |
287 | 467 | */ |
288 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "ATTENZIONE: Il parametro non riconosciuto '$0' � stato ignorato. Suggerimento: i parametri disponibili sono: <code>$1</code>.", |
| 468 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "ATTENZIONE: Il parametro non riconosciuto '$0' è stato ignorato. Suggerimento: i parametri disponibili sono: <code>$1</code>.", |
289 | 469 | /** |
290 | 470 | * $3: list of valid param values separated by ' | ' |
291 | 471 | */ |
292 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "ATTENZIONE: Errore nel parametro '$0': '$1'. � stato usato il valore predefinito '$2'. Suggerimento: <code>$0= $3</code>.", |
| 472 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "ATTENZIONE: Errore nel parametro '$0': '$1'. È stato usato il valore predefinito '$2'. Suggerimento: <code>$0= $3</code>.", |
293 | 473 | /** |
294 | 474 | * $0: param name |
295 | 475 | * $1: wrong param value given by user |
296 | 476 | * $2: default param value used instead by program |
297 | 477 | */ |
298 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "ATTENZIONE: errore nel parametro '$0': '$1'. � stato usato il valore predefinito '$2' (nessun limite). Suggerimento: <code>$0= <i>stringa vuota</i> (nessun limite) | n</code>, con <code>n</code> intero positivo.", |
| 478 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "ATTENZIONE: errore nel parametro '$0': '$1'. È stato usato il valore predefinito '$2' (nessun limite). Suggerimento: <code>$0= <i>stringa vuota</i> (nessun limite) | n</code>, con <code>n</code> intero positivo.", |
299 | 479 | 'dpl2_log_' . self::WARN_NORESULTS => 'ATTENZIONE: Nessun risultato.', |
300 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "ATTENZIONE: I parametri add* ('adduser', 'addeditdate', ecc.)' non hanno alcun effetto quando � specificato 'mode=category'. In tale modalit� vengono visualizzati unicamente il namespace e il titolo della pagina.", |
| 480 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "ATTENZIONE: I parametri add* ('adduser', 'addeditdate', ecc.)' non hanno alcun effetto quando è specificato 'mode=category'. In tale modalità vengono visualizzati unicamente il namespace e il titolo della pagina.", |
301 | 481 | /** |
302 | 482 | * $0: 'headingmode' value given by user |
303 | 483 | * $1: value used instead by program (which means no heading) |
304 | 484 | */ |
305 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "ATTENZIONE: Il parametro 'headingmode=$0' non ha alcun effetto quando � specificato 'ordermethod' su un solo componente. Verr� utilizzato il valore '$1'. Suggerimento: � posibile utilizzare i valori diversi da $1 per il parametro 'headingmode' nel caso di 'ordermethod' su pi� componenti. Il primo componente viene usato per generare i titoli di sezione. Ad es. 'ordermethod=category,<i>comp</i>' (dove <i>comp</i> � un altro componente) per avere titoli di sezione basati sulla categoria.", |
| 485 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "ATTENZIONE: Il parametro 'headingmode=$0' non ha alcun effetto quando è specificato 'ordermethod' su un solo componente. Verrà utilizzato il valore '$1'. Suggerimento: è posibile utilizzare i valori diversi da $1 per il parametro 'headingmode' nel caso di 'ordermethod' su più componenti. Il primo componente viene usato per generare i titoli di sezione. Ad es. 'ordermethod=category,<i>comp</i>' (dove <i>comp</i> è un altro componente) per avere titoli di sezione basati sulla categoria.", |
306 | 486 | /** |
307 | 487 | * $0: 'debug' value |
308 | 488 | */ |
309 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "ATTENZIONE: Il parametro 'debug=$0' non � il primo elemento della sezione DPL. Le nuove impostazioni di debug non verranno applicate prima di aver completato il parsing e la verifica di tutti i parametri che lo precedono.", |
| 489 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "ATTENZIONE: Il parametro 'debug=$0' non è il primo elemento della sezione DPL. Le nuove impostazioni di debug non verranno applicate prima di aver completato il parsing e la verifica di tutti i parametri che lo precedono.", |
310 | 490 | |
311 | 491 | // DEBUG |
312 | 492 | /** |
— | — | @@ -335,15 +515,15 @@ |
336 | 516 | /** |
337 | 517 | * $0: max number of categories that can be included |
338 | 518 | */ |
339 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'FOUT: Te veel categori�n! Maximum: $0. Hulp: verhoog <code>ExtDynamicPageList2::$maxCategoryCount</code> om meer categorie�n op te kunnen geven of stel geen limiet in met <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code>. (Neem deze variabele op in <code>LocalSettings.php</code>, na het toevoegen van <code>DynamicPageList2.php</code>.)', |
| 519 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'FOUT: Te veel categoriën! Maximum: $0. Hulp: verhoog <code>ExtDynamicPageList2::$maxCategoryCount</code> om meer categorieën op te kunnen geven of stel geen limiet in met <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code>. (Neem deze variabele op in <code>LocalSettings.php</code>, na het toevoegen van <code>DynamicPageList2.php</code>.)', |
340 | 520 | /** |
341 | 521 | * $0: min number of categories that have to be included |
342 | 522 | */ |
343 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'FOUT: Te weinig categorie�n! Minimum: $0. Hulp: verlaag <code>ExtDynamicPageList2::$minCategoryCount</code> om minder categorie�n aan te hoeven geven. (Stel de variabele bij voorkeur in via <code>LocalSettings.php</code>, na het toevoegen van <code>DynamicPageList2.php</code>.)', |
| 523 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'FOUT: Te weinig categorieën! Minimum: $0. Hulp: verlaag <code>ExtDynamicPageList2::$minCategoryCount</code> om minder categorieën aan te hoeven geven. (Stel de variabele bij voorkeur in via <code>LocalSettings.php</code>, na het toevoegen van <code>DynamicPageList2.php</code>.)', |
344 | 524 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
345 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "FOUT: U dient tenminste ��n categorie op te nemen als u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' wilt gebruiken!", |
346 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "FOUT: Als u meer dan ��n categorie opneemt, kunt u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' niet gebruiken!", |
347 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'FOUT: U kunt niet meer dan ��n type of datum tegelijk gebruiken!', |
| 525 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "FOUT: U dient tenminste één categorie op te nemen als u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' wilt gebruiken!", |
| 526 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "FOUT: Als u meer dan één categorie opneemt, kunt u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' niet gebruiken!", |
| 527 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'FOUT: U kunt niet meer dan één type of datum tegelijk gebruiken!', |
348 | 528 | /** |
349 | 529 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
350 | 530 | * $1: last 'ordermethod' parameter required for $0 |
— | — | @@ -400,7 +580,7 @@ |
401 | 581 | /** |
402 | 582 | * $1: number of articles |
403 | 583 | */ |
404 | | - 'dpl2_articlecount' => 'Er {{PLURAL:$1|is ��n pagina|zijn $1 pagina\'s}} onder deze kop.' |
| 584 | + 'dpl2_articlecount' => 'Er {{PLURAL:$1|is één pagina|zijn $1 pagina\'s}} onder deze kop.' |
405 | 585 | ); |
406 | 586 | self::$messages['ru'] = array( |
407 | 587 | /* |
— | — | @@ -412,24 +592,24 @@ |
413 | 593 | * $1: wrong parameter given by user |
414 | 594 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
415 | 595 | */ |
416 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "??????: ???????????? �$0�-????????: �$1�! ?????????: <code>$0= <i>?????? ??????</i> (????????)$3</code>.", |
| 596 | + 'dpl2_log_' . self::FATAL_WRONGNS => "ОШИБКА: неправильный «$0»-параметр: «$1»! Подсказка: <code>$0= <i>пустая строка</i> (Основное)$3</code>.", |
417 | 597 | /** |
418 | 598 | * $0: max number of categories that can be included |
419 | 599 | */ |
420 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => '??????: ??????? ????? ?????????! ????????: $0. ?????????: ???????? <code>ExtDynamicPageList2::$maxCategoryCount</code> ????? ????????? ?????? ????????? ??? ?????????? <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> ??? ?????? ???????????. (?????????????? ?????????? ? <code>LocalSettings.php</code>, ????? ??????????? <code>DynamicPageList2.php</code>.)', |
| 600 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'ОШИБКА: слишком много категорий! Максимум: $0. Подсказка: увеличте <code>ExtDynamicPageList2::$maxCategoryCount</code> чтобы разрешить больше категорий или установите <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> для снятия ограничения. (Устанавливайте переменные в <code>LocalSettings.php</code>, после подключения <code>DynamicPageList2.php</code>.)', |
421 | 601 | /** |
422 | 602 | * $0: min number of categories that have to be included |
423 | 603 | */ |
424 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => '??????: ??????? ???? ?????????! ???????: $0. ?????????: ????????? <code>ExtDynamicPageList2::$minCategoryCount</code> ????? ????????? ?????? ?????????. (?????????????? ?????????? ? <code>LocalSettings.php</code>, ????? ??????????? <code>DynamicPageList2.php</code>.)', |
| 604 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'ОШИБКА: слишком мало категорий! Минимум: $0. Подсказка: уменьшите <code>ExtDynamicPageList2::$minCategoryCount</code> чтобы разрешить меньше категорий. (Устанавливайте переменную в <code>LocalSettings.php</code>, после подключения <code>DynamicPageList2.php</code>.)', |
425 | 605 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
426 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "??????: ?? ?????? ???????? ???? ?? ???? ?????????, ???? ?? ?????? ???????????? �addfirstcategorydate=true� ??? �ordermethod=categoryadd�!", |
427 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "??????: ???? ?? ????????? ?????? ????? ?????????, ?? ?? ?? ?????? ???????????? �addfirstcategorydate=true� ??? �ordermethod=categoryadd�!", |
428 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '??????: ?? ?? ?????? ???????? ????? ?????? ???? ?????? ?? ???!', |
| 606 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "ОШИБКА: вы должны включить хотя бы одну категорию, если вы хотите использовать «addfirstcategorydate=true» или «ordermethod=categoryadd»!", |
| 607 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "ОШИБКА: если вы включаете больше одной категории, то вы не можете использовать «addfirstcategorydate=true» или «ordermethod=categoryadd»!", |
| 608 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'ОШИБКА: вы не можете добавить более одного типа данных за раз!', |
429 | 609 | /** |
430 | 610 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
431 | 611 | * $1: last 'ordermethod' parameter required for $0 |
432 | 612 | */ |
433 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "??????: ?? ?????? ???????????? �$0� ?????? ? �ordermethod=[...,]$1�!", |
| 613 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "ОШИБКА: вы можете использовать «$0» только с «ordermethod=[...,]$1»!", |
434 | 614 | /** |
435 | 615 | * $0: the number of arguments in includepage |
436 | 616 | */ |
— | — | @@ -446,34 +626,34 @@ |
447 | 627 | * $0: unknown parameter given by user |
448 | 628 | * $1: list of DPL2 available parameters separated by ', ' |
449 | 629 | */ |
450 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "??????????????: ??????????? ???????? �$0� ??????????????. ?????????: ????????? ?????????: <code>$1</code>.", |
| 630 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "ПРЕДУПРЕЖДЕНИЕ: неизвестный параметр «$0» проигнорирован. Подсказка: доступные параметры: <code>$1</code>.", |
451 | 631 | /** |
452 | 632 | * $3: list of valid param values separated by ' | ' |
453 | 633 | */ |
454 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "??????????????: ???????????? ???????? �$0�: �$1�! ????????????? ????????? ?? ?????????: �$2�. ?????????: <code>$0= $3</code>.", |
| 634 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "ПРЕДУПРЕЖДЕНИЕ: неправильный параметр «$0»: «$1»! Использование параметра по умолчанию: «$2». Подсказка: <code>$0= $3</code>.", |
455 | 635 | /** |
456 | 636 | * $0: param name |
457 | 637 | * $1: wrong param value given by user |
458 | 638 | * $2: default param value used instead by program |
459 | 639 | */ |
460 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "??????????????: ???????????? ???????? �$0�: �$1�! ????????????? ????????? ?? ?????????: �$2� (??? ???????????). ?????????: <code>$0= <i>?????? ??????</i> (??? ???????????) | n</code>, ? <code>n</code> ?????? ?????????????? ?????? ?????.", |
461 | | - 'dpl2_log_' . self::WARN_NORESULTS => '??????????????: ?? ???????!', |
462 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "??????????????: ??????????* ?????????? (�adduser�, �addeditdate�, ? ??.) ?? ????????????? ? �mode=category�. ?????? ???????????? ???? ??? ???????? ????? ??????????????? ? ???? ??????.", |
| 640 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "ПРЕДУПРЕЖДЕНИЕ: неправильный параметр «$0»: «$1»! Использование параметра по умолчанию: «$2» (без ограничений). Подсказка: <code>$0= <i>пустая строка</i> (без ограничений) | n</code>, с <code>n</code> равным положительному целому числу.", |
| 641 | + 'dpl2_log_' . self::WARN_NORESULTS => 'ПРЕДУПРЕЖДЕНИЕ: не найдено!', |
| 642 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "ПРЕДУПРЕЖДЕНИЕ: Добавление* параметров («adduser», «addeditdate», и др.) не действительны с «mode=category». Только пространства имён или названия могут просматриваться в этом режиме.", |
463 | 643 | /** |
464 | 644 | * $0: 'headingmode' value given by user |
465 | 645 | * $1: value used instead by program (which means no heading) |
466 | 646 | */ |
467 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "??????????????: �headingmode=$0� ?? ???????????? ? �ordermethod� ? ????? ??????????. ?????????????: �$1�. ?????????: ?? ?????? ????????????e ??-$1 �headingmode� ???????? ? �ordermethod� ?? ????????? ???????????. ?????? ????????? ???????????? ??? ??????????. ????????, �ordermethod=category,<i>comp</i>� (<i>comp</i> ???????? ?????? ???????????) ??? ?????????? ?????????.", |
| 647 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "ПРЕДУПРЕЖДЕНИЕ: «headingmode=$0» не действителен с «ordermethod» в одном компоненте. Использование: «$1». Подсказка: вы можете использоватьe не-$1 «headingmode» значения с «ordermethod» во множестве компонентов. Первый компонент используется для заголовков. Например, «ordermethod=category,<i>comp</i>» (<i>comp</i> является другим компонентом) для заголовков категорий.", |
468 | 648 | /** |
469 | 649 | * $0: 'debug' value |
470 | 650 | */ |
471 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "??????????????: �debug=$0� ?? ????????? ?? ?????? ????? ? DPL-????????. ????? ????????? ??????? ?? ????? ????????? ???? ??? ?????????? ????????? ?? ????? ????????? ? ?????????.", |
| 651 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "ПРЕДУПРЕЖДЕНИЕ: «debug=$0» не находится на первом месте в DPL-элементе. Новые настройки отладки не будут применены пока все предыдущие параметры не будут разобраны и проверены.", |
472 | 652 | |
473 | 653 | // DEBUG |
474 | 654 | /** |
475 | 655 | * $0: SQL query executed to generate the dynamic page list |
476 | 656 | */ |
477 | | - 'dpl2_log_' . self::DEBUG_QUERY => '??????: <code>$0</code>', |
| 657 | + 'dpl2_log_' . self::DEBUG_QUERY => 'ЗАПРОС: <code>$0</code>', |
478 | 658 | |
479 | 659 | /* |
480 | 660 | Output formatting |
— | — | @@ -481,7 +661,7 @@ |
482 | 662 | /** |
483 | 663 | * $1: number of articles |
484 | 664 | */ |
485 | | - 'dpl2_articlecount' => '? ???? ????????? $1 {{PLURAL:$1|??????|??????|??????}}.' |
| 665 | + 'dpl2_articlecount' => 'В этом заголовке $1 {{PLURAL:$1|статья|статьи|статей}}.' |
486 | 666 | ); |
487 | 667 | self::$messages['sk'] = array( |
488 | 668 | /* |
— | — | @@ -493,29 +673,29 @@ |
494 | 674 | * $1: wrong parameter given by user |
495 | 675 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
496 | 676 | */ |
497 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "CHYBA: nespr�vny parameter '$0': '$1'! Pomocn�k <code>$0= <i>pr�zdny retazec</i> (Hlavn�)$3<code>.", |
| 677 | + 'dpl2_log_' . self::FATAL_WRONGNS => "CHYBA: nesprávny parameter '$0': '$1'! Pomocník <code>$0= <i>prázdny retazec</i> (Hlavný)$3<code>.", |
498 | 678 | /** |
499 | 679 | * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
500 | 680 | * $1: wrong parameter given by user |
501 | 681 | */ |
502 | | - 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "CHYBA: Zl� parameter '$0': '$1'! Pomocn�k <code>$0= <i>pln� n�zov str�nky</i></code>.", |
| 682 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "CHYBA: Zlý parameter '$0': '$1'! Pomocník <code>$0= <i>plný názov stránky</i></code>.", |
503 | 683 | /** |
504 | 684 | * $0: max number of categories that can be included |
505 | 685 | */ |
506 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'CHYBA: Pr�li� vela kateg�ri�! Maximum: $0. Pomocn�k: zv�c�ite <code>ExtDynamicPageList2::$maxCategoryCount</code>, aby ste mohli �pecifikovat viac kateg�ri� alebo nastavte <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> pre vypnutie limitu. (Premenn� nastatavte v <code>LocalSettings.php</code>, potom ako bol includovan� <code>DynamicPageList2.php</code>.)', |
| 686 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'CHYBA: Príli vela kategórií! Maximum: $0. Pomocník: zväcite <code>ExtDynamicPageList2::$maxCategoryCount</code>, aby ste mohli pecifikovat viac kategórií alebo nastavte <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> pre vypnutie limitu. (Premennú nastatavte v <code>LocalSettings.php</code>, potom ako bol includovaný <code>DynamicPageList2.php</code>.)', |
507 | 687 | /** |
508 | 688 | * $0: min number of categories that have to be included |
509 | 689 | */ |
510 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'CHYBA: Pr�li� m�lo kateg�ri�! Minimum: $0. Pomocn�k: zn�te <code>ExtDynamicPageList2::$minCategoryCount</code>, aby ste mohli �pecifikovat menej kateg�ri�. (Premenn� nastavte najlep�ie v <code>LocalSettings.php</code> potom, ako v nom bol includovan� <code>DynamicPageList2.php</code>.)', |
| 690 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'CHYBA: Príli málo kategórií! Minimum: $0. Pomocník: zníte <code>ExtDynamicPageList2::$minCategoryCount</code>, aby ste mohli pecifikovat menej kategórií. (Premennú nastavte najlepie v <code>LocalSettings.php</code> potom, ako v nom bol includovaný <code>DynamicPageList2.php</code>.)', |
511 | 691 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
512 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "CHYBA: Mus�te uviest aspon jednu kateg�riu ak chcete pou�it 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", |
513 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "CHYBA: Ak zahrniete viac ako jednu kateg�riu, nem��ete pou�it 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", |
514 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'CHYBA: Nem��ete naraz pridat viac ako jeden typ d�tumu!', |
| 692 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "CHYBA: Musíte uviest aspon jednu kategóriu ak chcete pouit 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", |
| 693 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "CHYBA: Ak zahrniete viac ako jednu kategóriu, nemôete pouit 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", |
| 694 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'CHYBA: Nemôete naraz pridat viac ako jeden typ dátumu!', |
515 | 695 | /** |
516 | 696 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
517 | 697 | * $1: last 'ordermethod' parameter required for $0 |
518 | 698 | */ |
519 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "CHYBA: '$0' m��ete pou�it iba s 'ordermethod=[...,]$1'!", |
| 699 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "CHYBA: '$0' môete pouit iba s 'ordermethod=[...,]$1'!", |
520 | 700 | /** |
521 | 701 | * $0: the number of arguments in includepage |
522 | 702 | */ |
— | — | @@ -524,7 +704,7 @@ |
525 | 705 | * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
526 | 706 | * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
527 | 707 | */ |
528 | | - 'dpl2_log_' . self::FATAL_NOCLVIEW => "CHYBA: Nie je momo�n� vykon�vat logick� oper�cie na nekategorizovan�ch kateg�ri�ch (napr. s parametrom 'Kateg�ria') lebo neexistuje na datab�zu pohlad $0! Pomocn�k: nech admin datab�zy vykon� tento dotaz: <code>$1</code>.", |
| 708 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "CHYBA: Nie je momoné vykonávat logické operácie na nekategorizovaných kategóriách (napr. s parametrom 'Kategória') lebo neexistuje na databázu pohlad $0! Pomocník: nech admin databázy vykoná tento dotaz: <code>$1</code>.", |
529 | 709 | 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
530 | 710 | |
531 | 711 | // WARN |
— | — | @@ -532,28 +712,28 @@ |
533 | 713 | * $0: unknown parameter given by user |
534 | 714 | * $1: list of DPL2 available parameters separated by ', ' |
535 | 715 | */ |
536 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "VAROVANIE: Nezn�my parameter '$0' ignorovan�. Pomocn�k: dostupn� parametre: <code>$1</code>.", |
| 716 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "VAROVANIE: Neznámy parameter '$0' ignorovaný. Pomocník: dostupné parametre: <code>$1</code>.", |
537 | 717 | /** |
538 | 718 | * $3: list of valid param values separated by ' | ' |
539 | 719 | */ |
540 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "VAROVANIE: Nespr�vny '$0' parameter: '$1'! Pou��vam �tandardn� '$2'. Pomocn�k: <code>$0= $3</code>.", |
| 720 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "VAROVANIE: Nesprávny '$0' parameter: '$1'! Pouívam tandardný '$2'. Pomocník: <code>$0= $3</code>.", |
541 | 721 | /** |
542 | 722 | * $0: param name |
543 | 723 | * $1: wrong param value given by user |
544 | 724 | * $2: default param value used instead by program |
545 | 725 | */ |
546 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "VAROVANIE: Nespr�vny parameter '$0': '$1'! Pou��vam �tandardn�: '$2' (bez obmedzenia). Pomocn�k: <code>$0= <i>pr�zdny retazec</i> (bez obmedzenia) | n</code>, s kladn�m cel�m c�slom <code>n</code>.", |
| 726 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "VAROVANIE: Nesprávny parameter '$0': '$1'! Pouívam tandardný: '$2' (bez obmedzenia). Pomocník: <code>$0= <i>prázdny retazec</i> (bez obmedzenia) | n</code>, s kladným celým císlom <code>n</code>.", |
547 | 727 | 'dpl2_log_' . self::WARN_NORESULTS => 'VAROVANIE: No results!', |
548 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "VAROVANIE: Parametre Add* ('adduser', 'addeditdate', atd' nepracuj� s mode=category'. V tomto re�ime je mo�n� prehliadat iba menn� priestor/titulok str�nky.", |
| 728 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "VAROVANIE: Parametre Add* ('adduser', 'addeditdate', atd' nepracujú s mode=category'. V tomto reime je moné prehliadat iba menná priestor/titulok stránky.", |
549 | 729 | /** |
550 | 730 | * $0: 'headingmode' value given by user |
551 | 731 | * $1: value used instead by program (which means no heading) |
552 | 732 | */ |
553 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "VAROVANIE: 'headingmode=$0' nepracuje s 'ordermethod' na jednom komponente. Pou�itie: '$1'. Pomocn�k: m��ete pou�it not-$1 hodnoty 'headingmode' s 'ordermethod' na viacer� komponenty. Prv� komponent sa pou��va na nadpisy. Napr. 'ordermethod=category,<i>comp</i>' (<i>comp</i> je in� komponent) pre nadpisy kateg�ri�.", |
| 733 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "VAROVANIE: 'headingmode=$0' nepracuje s 'ordermethod' na jednom komponente. Pouitie: '$1'. Pomocník: môete pouit not-$1 hodnoty 'headingmode' s 'ordermethod' na viaceré komponenty. Prvý komponent sa pouíva na nadpisy. Napr. 'ordermethod=category,<i>comp</i>' (<i>comp</i> je iný komponent) pre nadpisy kategórií.", |
554 | 734 | /** |
555 | 735 | * $0: 'debug' value |
556 | 736 | */ |
557 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "VAROVANIE: 'debug=$0' nie je na prvej poz�cii v prvku DPL. Nov� ladiacie nastavenia nebud� pou��t� sk�r ne� bud� parsovan� a skontrolovan� v�etky predch�dzaj�ce.", |
| 737 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "VAROVANIE: 'debug=$0' nie je na prvej pozícii v prvku DPL. Nové ladiacie nastavenia nebudú pouíté skôr ne budú parsované a skontrolované vetky predchádzajúce.", |
558 | 738 | |
559 | 739 | // DEBUG |
560 | 740 | /** |
— | — | @@ -567,9 +747,9 @@ |
568 | 748 | /** |
569 | 749 | * $1: number of articles |
570 | 750 | */ |
571 | | - 'dpl2_articlecount' => 'V tomto nadpise {{PLURAL:$1|je jeden cl�nok|s� $1 cl�nky|je $1 cl�nkov}}.' |
| 751 | + 'dpl2_articlecount' => 'V tomto nadpise {{PLURAL:$1|je jeden clánok|sú $1 clánky|je $1 clánkov}}.' |
572 | 752 | ); |
573 | | - self::$messages['zh-cn'] = array( |
| 753 | + self::$messages['sr-ec'] = array( |
574 | 754 | /* |
575 | 755 | Log |
576 | 756 | */ |
— | — | @@ -579,32 +759,212 @@ |
580 | 760 | * $1: wrong parameter given by user |
581 | 761 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
582 | 762 | */ |
583 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "??: ??? '$0' ??: '$1'! ??: <code>$0= <i>?????</i> (?)$3</code>?", |
| 763 | + 'dpl2_log_' . self::FATAL_WRONGNS => "ГРЕШКА: Погреан '$0' параметар: '$1'! Помоћ: <code>$0= <i>погрешан стринг</i> (Главно)$3</code>. (Еквиваленти са магичним речима су такође дозвољени.)", |
584 | 764 | /** |
| 765 | + * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
| 766 | + * $1: wrong parameter given by user |
| 767 | + */ |
| 768 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "ГРЕШКА: Погрешан '$0' параметар: '$1'! Помоћ: <code>$0= <i>пуно име странице</i></code>. (Магичне речи су дозвољене.)", |
| 769 | + /** |
585 | 770 | * $0: max number of categories that can be included |
586 | 771 | */ |
587 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => '??: ????! ???: $0? ??: ?? <code>ExtDynamicPageList2::$maxCategoryCount</code> ????????????? <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> ?????? (??? <code>DynamicPageList2.php</code>?,?<code>LocalSettings.php</code>??????)', |
| 772 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'ГРЕШКА: Превише категорија! Максимум је: $0. Помоћ: повећајте <code>ExtDynamicPageList2::$maxCategoryCount</code> како бисте поставили више категорија или промените <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> за без граница. (Подесите варијаблу у <code>LocalSettings.php</code>, након укључивања <code>DynamicPageList2.php</code>.)', |
588 | 773 | /** |
589 | 774 | * $0: min number of categories that have to be included |
590 | 775 | */ |
591 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => '??: ????! ???: $0? ??: ?? <code>ExtDynamicPageList2::$minCategoryCount</code> ??????????? (??? <code>DynamicPageList2.php</code>?,?<code>LocalSettings.php</code>???????????)', |
| 776 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'ГРЕШКА: Премало категорија! Минимум је: $0. Помоћ: повећајте <code>ExtDynamicPageList2::$minCategoryCount</code> како бисте поставили мање категорија. (Подесите варијаблу у <code>LocalSettings.php</code>, након укључивања <code>DynamicPageList2.php</code>.)', |
592 | 777 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
593 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "??: ????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd' ,???????????!", |
594 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "??: ??????????,????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd'!", |
595 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '??: ???????????????????!', |
| 778 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "ГРЕШКА: Морате укључити бар једну категорију уколико желите да користите 'addfirstcategorydate=true' или 'ordermethod=categoryadd'!", |
| 779 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "ГРЕШКА: Уколико укључујете више од једне категорије, не можете користити 'addfirstcategorydate=true' или 'ordermethod=categoryadd'!", |
| 780 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'ГРЕШКА: Не можете додати више од једног типа датума!', |
596 | 781 | /** |
597 | 782 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
598 | 783 | * $1: last 'ordermethod' parameter required for $0 |
599 | 784 | */ |
600 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", |
| 785 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "ГРЕШКА: Можете користити '$0' са 'ordermethod=[...,]$1' искључиво!", |
601 | 786 | /** |
602 | 787 | * $0: the number of arguments in includepage |
603 | 788 | */ |
| 789 | + 'dpl2_log_' . self::FATAL_DOMINANTSECTIONRANGE => "ГРЕШКА: Немогуће извршити операцију на некатегоризованим страницама (нпр. са 'category' параметром) зато што $0 преглед не постоји у бази података! Помоћ: нека администратор базе изврши овај упит: <code>$1</code>.", |
| 790 | + /** |
| 791 | + * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
| 792 | + * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
| 793 | + */ |
| 794 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "ERROR: Cannot perform logical operations on the Uncategorized pages (f.e. with the 'category' parameter) because the $0 view does not exist on the database! Help: have the database administrator execute this query: <code>$1</code>.", |
| 795 | + 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
| 796 | + |
| 797 | + // WARN |
| 798 | + /** |
| 799 | + * $0: unknown parameter given by user |
| 800 | + * $1: list of DPL2 available parameters separated by ', ' |
| 801 | + */ |
| 802 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "ПАЖЊА: Непознат параметар '$0' је игнорисан. Помоћ: доступни параметри су: <code>$1</code>.", |
| 803 | + /** |
| 804 | + * $3: list of valid param values separated by ' | ' |
| 805 | + */ |
| 806 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "ПАЖЊА: Погрешан '$0' параметар: '$1'! Користи се основни: '$2'. Помоћ: <code>$0= $3</code>.", |
| 807 | + /** |
| 808 | + * $0: param name |
| 809 | + * $1: wrong param value given by user |
| 810 | + * $2: default param value used instead by program |
| 811 | + */ |
| 812 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "ПАЖЊА: Погрешан '$0' параметар: '$1'! Користи се основни: '$2' (без границе). Помоћ: <code>$0= <i>празан стринг</i> (без границе) | n</code>, с <code>n</code> је позитиван интегер.", |
| 813 | + 'dpl2_log_' . self::WARN_NORESULTS => 'ПАЖЊА: Нема резултата!', |
| 814 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "ПАЖЊА: Додавање* параметара ('adduser', 'addeditdate', итд.)' и 'includepage' нема ефекта са 'mode=category'. Искључиво име странице/именски простор могу да се виде у овом моду.", |
| 815 | + /** |
| 816 | + * $0: 'headingmode' value given by user |
| 817 | + * $1: value used instead by program (which means no heading) |
| 818 | + */ |
| 819 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "ПАЖЊА: 'headingmode=$0' нема ефекта са 'ordermethod' на једној компоненти. Користи се: '$1'. Помоћ: не морате користити-$1 'headingmode' податке 'ordermethod' на више компоненти. Прва компонента се користи за наслов. Нпр. 'ordermethod=category,<i>компонента</i>' (<i>компонента</i> је друга компонента) за наслове категорија.", |
| 820 | + /** |
| 821 | + * $0: 'log' value |
| 822 | + */ |
| 823 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "ПАЖЊА: 'debug=$0' није на првом месту у DPL елементу. Нова дебаг подешавања нису примењена пре свих параметара који су проверени", |
| 824 | + /** |
| 825 | + * $0: title of page that creates an infinite transclusion loop |
| 826 | + */ |
| 827 | + 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "ПАЖЊА: Бесконачна петљаса странице '$0'.", |
| 828 | + |
| 829 | + // DEBUG |
| 830 | + /** |
| 831 | + * $0: SQL query executed to generate the dynamic page list |
| 832 | + */ |
| 833 | + 'dpl2_log_' . self::DEBUG_QUERY => 'УПИТ: <code>$0</code>', |
| 834 | + |
| 835 | + /* |
| 836 | + Output formatting |
| 837 | + */ |
| 838 | + /** |
| 839 | + * $1: number of articles |
| 840 | + */ |
| 841 | + 'dpl2_articlecount' => 'У овом наслову се тренутно налази {{PLURAL:$1|један чланак|$1 чланка|$1 чланака}}.' |
| 842 | + ); |
| 843 | + self::$messages['sr-el'] = array( |
| 844 | + /* |
| 845 | + Log |
| 846 | + */ |
| 847 | + // FATAL |
| 848 | + /** |
| 849 | + * $0: 'namespace' or 'notnamespace' |
| 850 | + * $1: wrong parameter given by user |
| 851 | + * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
| 852 | + */ |
| 853 | + 'dpl2_log_' . self::FATAL_WRONGNS => "GREŠKA: Pogrean '$0' parametar: '$1'! Pomoć: <code>$0= <i>pogrešan string</i> (Glavno)$3</code>. (Ekvivalenti sa magičnim rečima su takođe dozvoljeni.)", |
| 854 | + /** |
| 855 | + * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) |
| 856 | + * $1: wrong parameter given by user |
| 857 | + */ |
| 858 | + 'dpl2_log_' . self::FATAL_WRONGLINKSTO => "GREŠKA: Pogrešan '$0' parametar: '$1'! Pomoć: <code>$0= <i>puno ime stranice</i></code>. (Magične reči su dozvoljene.)", |
| 859 | + /** |
| 860 | + * $0: max number of categories that can be included |
| 861 | + */ |
| 862 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => 'GREŠKA: Previše kategorija! Maksimum je: $0. Pomoć: povećajte <code>ExtDynamicPageList2::$maxCategoryCount</code> kako biste postavili više kategorija ili promenite <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> za bez granica. (Podesite varijablu u <code>LocalSettings.php</code>, nakon uključivanja <code>DynamicPageList2.php</code>.)', |
| 863 | + /** |
| 864 | + * $0: min number of categories that have to be included |
| 865 | + */ |
| 866 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => 'GREŠKA: Premalo kategorija! Minimum je: $0. Pomoć: povećajte <code>ExtDynamicPageList2::$minCategoryCount</code> kako biste postavili manje kategorija. (Podesite varijablu u <code>LocalSettings.php</code>, nakon uključivanja <code>DynamicPageList2.php</code>.)', |
| 867 | + 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
| 868 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "GREŠKA: Morate uključiti bar jednu kategoriju ukoliko želite da koristite 'addfirstcategorydate=true' ili 'ordermethod=categoryadd'!", |
| 869 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "GREŠKA: Ukoliko uključujete više od jedne kategorije, ne možete koristiti 'addfirstcategorydate=true' ili 'ordermethod=categoryadd'!", |
| 870 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => 'GREŠKA: Ne možete dodati više od jednog tipa datuma!', |
| 871 | + /** |
| 872 | + * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
| 873 | + * $1: last 'ordermethod' parameter required for $0 |
| 874 | + */ |
| 875 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "GREŠKA: Možete koristiti '$0' sa 'ordermethod=[...,]$1' isključivo!", |
| 876 | + /** |
| 877 | + * $0: the number of arguments in includepage |
| 878 | + */ |
604 | 879 | 'dpl2_log_' . self::FATAL_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", |
605 | 880 | /** |
606 | 881 | * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
607 | 882 | * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
608 | 883 | */ |
| 884 | + 'dpl2_log_' . self::FATAL_NOCLVIEW => "GREŠKA: Nemoguće izvršiti operaciju na nekategorizovanim stranicama (npr. sa 'category' parametrom) zato što $0 pregled ne postoji u bazi podataka! Pomoć: neka administrator baze izvrši ovaj upit: <code>$1</code>.", |
| 885 | + 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
| 886 | + |
| 887 | + // WARN |
| 888 | + /** |
| 889 | + * $0: unknown parameter given by user |
| 890 | + * $1: list of DPL2 available parameters separated by ', ' |
| 891 | + */ |
| 892 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "PAŽNJA: Nepoznat parametar '$0' je ignorisan. Pomoć: dostupni parametri su: <code>$1</code>.", |
| 893 | + /** |
| 894 | + * $3: list of valid param values separated by ' | ' |
| 895 | + */ |
| 896 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "PAŽNJA: Pogrešan '$0' parametar: '$1'! Koristi se osnovni: '$2'. Pomoć: <code>$0= $3</code>.", |
| 897 | + /** |
| 898 | + * $0: param name |
| 899 | + * $1: wrong param value given by user |
| 900 | + * $2: default param value used instead by program |
| 901 | + */ |
| 902 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "PAŽNJA: Pogrešan '$0' parametar: '$1'! Koristi se osnovni: '$2' (bez granice). Pomoć: <code>$0= <i>prazan string</i> (bez granice) | n</code>, s <code>n</code> je pozitivan integer.", |
| 903 | + 'dpl2_log_' . self::WARN_NORESULTS => 'PAŽNJA: Nema rezultata!', |
| 904 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "PAŽNJA: Dodavanje* parametara ('adduser', 'addeditdate', itd.)' i 'includepage' nema efekta sa 'mode=category'. Isključivo ime stranice/imenski prostor mogu da se vide u ovom modu.", |
| 905 | + /** |
| 906 | + * $0: 'headingmode' value given by user |
| 907 | + * $1: value used instead by program (which means no heading) |
| 908 | + */ |
| 909 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "PAŽNJA: 'headingmode=$0' nema efekta sa 'ordermethod' na jednoj komponenti. Koristi se: '$1'. Pomoć: ne morate koristiti-$1 'headingmode' podatke 'ordermethod' na više komponenti. Prva komponenta se koristi za naslov. Npr. 'ordermethod=category,<i>komponenta</i>' (<i>komponenta</i> je druga komponenta) za naslove kategorija.", |
| 910 | + /** |
| 911 | + * $0: 'log' value |
| 912 | + */ |
| 913 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "PAŽNJA: 'debug=$0' nije na prvom mestu u DPL elementu. Nova debag podešavanja nisu primenjena pre svih parametara koji su provereni", |
| 914 | + /** |
| 915 | + * $0: title of page that creates an infinite transclusion loop |
| 916 | + */ |
| 917 | + 'dpl2_log_' . self::WARN_TRANSCLUSIONLOOP => "PAŽNJA: Beskonačna petljasa stranice '$0'.", |
| 918 | + |
| 919 | + // DEBUG |
| 920 | + /** |
| 921 | + * $0: SQL query executed to generate the dynamic page list |
| 922 | + */ |
| 923 | + 'dpl2_log_' . self::DEBUG_QUERY => 'UPIT: <code>$0</code>', |
| 924 | + |
| 925 | + /* |
| 926 | + Output formatting |
| 927 | + */ |
| 928 | + /** |
| 929 | + * $1: number of articles |
| 930 | + */ |
| 931 | + 'dpl2_articlecount' => 'U ovom naslovu se trenutno nalazi {{PLURAL:$1|jedan članak|$1 članka|$1 članaka}}' |
| 932 | + ); |
| 933 | + self::$messages['yue'] = array( |
| 934 | + /* |
| 935 | + Log |
| 936 | + */ |
| 937 | + // FATAL |
| 938 | + /** |
| 939 | + * $0: 'namespace' or 'notnamespace' |
| 940 | + * $1: wrong parameter given by user |
| 941 | + * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
| 942 | + */ |
| 943 | + 'dpl2_log_' . self::FATAL_WRONGNS => "錯誤: 錯嘅 '$0' 參數: '$1'! 幫助: <code>$0= <i>空字串</i> (主)$3</code>。", |
| 944 | + /** |
| 945 | + * $0: max number of categories that can be included |
| 946 | + */ |
| 947 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => '錯誤: 太多分類! 最大值: $0。 幫助: 增加 <code>ExtDynamicPageList2::$maxCategoryCount</code> 嘅值去指定更多嘅分類或者設定 <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> 以解除限制。 (當加上 <code>DynamicPageList2.php</code>之後,響<code>LocalSettings.php</code>度設定變數。)', |
| 948 | + /** |
| 949 | + * $0: min number of categories that have to be included |
| 950 | + */ |
| 951 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => '錯誤: 太少分類! 最小值: $0. 幫助: 減少 <code>ExtDynamicPageList2::$minCategoryCount</code> 嘅值去指定更少嘅分類。 (當加上 <code>DynamicPageList2.php</code>之後,響<code>LocalSettings.php</code>度設定一個合適嘅變數。)', |
| 952 | + 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
| 953 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "錯誤: 如果你想去用 'addfirstcategorydate=true' 或者 'ordermethod=categoryadd' ,你需要包含最少一個分類!", |
| 954 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "錯誤: 如果你包含多過一個分類,你唔可以用 'addfirstcategorydate=true' 或者 'ordermethod=categoryadd'!", |
| 955 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '錯誤: 你唔可以響一個時間度加入多個一種嘅日期!', |
| 956 | + /** |
| 957 | + * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
| 958 | + * $1: last 'ordermethod' parameter required for $0 |
| 959 | + */ |
| 960 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "錯誤: 你只可以用 'ordermethod=[...,]$1' 響 '$0' 上!", |
| 961 | + /** |
| 962 | + * $0: the number of arguments in includepage |
| 963 | + */ |
| 964 | + 'dpl2_log_' . self::FATAL_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", |
| 965 | + /** |
| 966 | + * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names |
| 967 | + * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB |
| 968 | + */ |
609 | 969 | 'dpl2_log_' . self::FATAL_NOCLVIEW => self::$messages['en']['dpl2_log_' . self::FATAL_NOCLVIEW], |
610 | 970 | 'dpl2_log_' . self::FATAL_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', |
611 | 971 | |
— | — | @@ -613,34 +973,34 @@ |
614 | 974 | * $0: unknown parameter given by user |
615 | 975 | * $1: list of DPL2 available parameters separated by ', ' |
616 | 976 | */ |
617 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: <code>$1</code>?", |
| 977 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "警告: 不明嘅參數 '$0' 被忽略。 幫助: 可用嘅參數: <code>$1</code>。", |
618 | 978 | /** |
619 | 979 | * $3: list of valid param values separated by ' | ' |
620 | 980 | */ |
621 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ???????: '$2'? ??: <code>$0= $3</code>?", |
| 981 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "警告: 錯誤嘅 '$0' 參數: '$1'! 用緊預設嘅: '$2'。 幫助: <code>$0= $3</code>。", |
622 | 982 | /** |
623 | 983 | * $0: param name |
624 | 984 | * $1: wrong param value given by user |
625 | 985 | * $2: default param value used instead by program |
626 | 986 | */ |
627 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ???????: '$2' (????)? ??: <code>$0= <i>?????</i> (????) | n</code>, <code>n</code>???????", |
628 | | - 'dpl2_log_' . self::WARN_NORESULTS => '??: ???!', |
629 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ????????????/??????????????", |
| 987 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "警告: 錯誤嘅 '$0' 參數: '$1'! 用緊預設嘅: '$2' (冇上限)。 幫助: <code>$0= <i>空字串</i> (冇上限) | n</code>, <code>n</code>係一個正整數。", |
| 988 | + 'dpl2_log_' . self::WARN_NORESULTS => '警告: 無結果!', |
| 989 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "警告: 加入* 參數 ('adduser', 'addeditdate', 等)' 係對 'mode=category' 冇作用嘅。只有頁空間名/標題至可以響呢個模式度睇到。", |
630 | 990 | /** |
631 | 991 | * $0: 'headingmode' value given by user |
632 | 992 | * $1: value used instead by program (which means no heading) |
633 | 993 | */ |
634 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ? 'headingmode=$0' ??????? ????: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ????????????????????? 'ordermethod=category,<i>comp</i>' (<i>comp</i>???????) ?", |
| 994 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "警告: 響單一部件中, 'ordermethod' 度用 'headingmode=$0' 係冇作用嘅。 用緊: '$1'。 幫助: 你可以用非$1 'headingmode' 數值,響多個部件中用 'ordermethod' 。第一個部件係用嚟做標題。例如響分類標題度用 'ordermethod=category,<i>comp</i>' (<i>comp</i>係另外一個部件) 。", |
635 | 995 | /** |
636 | 996 | * $0: 'debug' value |
637 | 997 | */ |
638 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL?????????????????????????????????", |
| 998 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "警告: 'debug=$0' 唔係第一個響DPL元素嘅第一位。新嘅除錯設定響所有參數都能夠處理同檢查之前都唔會應用。", |
639 | 999 | |
640 | 1000 | // DEBUG |
641 | 1001 | /** |
642 | 1002 | * $0: SQL query executed to generate the dynamic page list |
643 | 1003 | */ |
644 | | - 'dpl2_log_' . self::DEBUG_QUERY => '??: <code>$0</code>', |
| 1004 | + 'dpl2_log_' . self::DEBUG_QUERY => '查訽: <code>$0</code>', |
645 | 1005 | |
646 | 1006 | /* |
647 | 1007 | Output formatting |
— | — | @@ -648,9 +1008,9 @@ |
649 | 1009 | /** |
650 | 1010 | * $1: number of articles |
651 | 1011 | */ |
652 | | - 'dpl2_articlecount' => '???????$1????' |
| 1012 | + 'dpl2_articlecount' => '響呢個標題度有$1篇文。' |
653 | 1013 | ); |
654 | | - self::$messages['zh-tw'] = array( |
| 1014 | + self::$messages['zh-hans'] = array( |
655 | 1015 | /* |
656 | 1016 | Log |
657 | 1017 | */ |
— | — | @@ -660,24 +1020,24 @@ |
661 | 1021 | * $1: wrong parameter given by user |
662 | 1022 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
663 | 1023 | */ |
664 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "??: ??? '$0' ??: '$1'! ??: <code>$0= <i>????</i> (?)$3</code>?", |
| 1024 | + 'dpl2_log_' . self::FATAL_WRONGNS => "错误: 错误的 '$0' 参数: '$1'! 帮助: <code>$0= <i>空白字符串</i> (主)$3</code>。", |
665 | 1025 | /** |
666 | 1026 | * $0: max number of categories that can be included |
667 | 1027 | */ |
668 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => '??: ????! ???: $0? ??: ?? <code>ExtDynamicPageList2::$maxCategoryCount</code> ????????????? <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> ?????? (??? <code>DynamicPageList2.php</code>?,?<code>LocalSettings.php</code>??????)', |
| 1028 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => '错误: 过多分类! 最大值: $0。 帮助: 增加 <code>ExtDynamicPageList2::$maxCategoryCount</code> 的值去指定更多的分类或设定 <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> 以解除限制。 (当加上 <code>DynamicPageList2.php</code>后,在<code>LocalSettings.php</code>中设定变量。)', |
669 | 1029 | /** |
670 | 1030 | * $0: min number of categories that have to be included |
671 | 1031 | */ |
672 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => '??: ????! ???: $0? ??: ?? <code>ExtDynamicPageList2::$minCategoryCount</code> ??????????? (??? <code>DynamicPageList2.php</code>?,?<code>LocalSettings.php</code>???????????)', |
| 1032 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => '错误: 过少分类! 最小值: $0。 帮助: 减少 <code>ExtDynamicPageList2::$minCategoryCount</code> 的值去指定更少的分类。 (当加上 <code>DynamicPageList2.php</code>后,在<code>LocalSettings.php</code>中设定一个合适的变量。)', |
673 | 1033 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
674 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "??: ????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd' ,???????????!", |
675 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "??: ??????????,????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd'!", |
676 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '??: ???????????????????!', |
| 1034 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "错误: 如果您想用 'addfirstcategorydate=true' 或 'ordermethod=categoryadd' ,您需要包含最少一个分类!", |
| 1035 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "错误: 如果您包含多一个分类,您不可以用 'addfirstcategorydate=true' 或 'ordermethod=categoryadd'!", |
| 1036 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '错误: 您不可以在一个时间里加入多于一种的日期!', |
677 | 1037 | /** |
678 | 1038 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
679 | 1039 | * $1: last 'ordermethod' parameter required for $0 |
680 | 1040 | */ |
681 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", |
| 1041 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "错误: 你只可以用 'ordermethod=[...,]$1' 在 '$0' 上!", |
682 | 1042 | /** |
683 | 1043 | * $0: the number of arguments in includepage |
684 | 1044 | */ |
— | — | @@ -694,34 +1054,34 @@ |
695 | 1055 | * $0: unknown parameter given by user |
696 | 1056 | * $1: list of DPL2 available parameters separated by ', ' |
697 | 1057 | */ |
698 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: <code>$1</code>?", |
| 1058 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "警告: 不明的参数 '$0' 被忽略。 帮助: 可用的参数: <code>$1</code>。", |
699 | 1059 | /** |
700 | 1060 | * $3: list of valid param values separated by ' | ' |
701 | 1061 | */ |
702 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ???????: '$2'? ??: <code>$0= $3</code>?", |
| 1062 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "警告: 错误的 '$0' 参数: '$1'! 正在使用默认值: '$2'。 帮助: <code>$0= $3</code>。", |
703 | 1063 | /** |
704 | 1064 | * $0: param name |
705 | 1065 | * $1: wrong param value given by user |
706 | 1066 | * $2: default param value used instead by program |
707 | 1067 | */ |
708 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ???????: '$2' (????)? ??: <code>$0= <i>????</i> (????) | n</code>, <code>n</code>???????", |
709 | | - 'dpl2_log_' . self::WARN_NORESULTS => '??: ???!', |
710 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ????????????/??????????????", |
| 1068 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "警告: 错误的 '$0' 参数: '$1'! 正在使用默认值: '$2' (没有上限)。 帮助: <code>$0= <i>空白字符串</i> (没有上限) | n</code>, <code>n</code>是一个正整数。", |
| 1069 | + 'dpl2_log_' . self::WARN_NORESULTS => '警告: 无结果!', |
| 1070 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "警告: 加入* 参数 ('adduser', 'addeditdate', 等)' 是对 'mode=category' 没有作用。只有页面空间名/标题才可以在这个模式度看到。", |
711 | 1071 | /** |
712 | 1072 | * $0: 'headingmode' value given by user |
713 | 1073 | * $1: value used instead by program (which means no heading) |
714 | 1074 | */ |
715 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ? 'headingmode=$0' ??????? ????: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ????????????????????? 'ordermethod=category,<i>comp</i>' (<i>comp</i>???????) ?", |
| 1075 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "警告: 在单一部件中, 'ordermethod' 用 'headingmode=$0' 是没有作用的。 正在使用: '$1'。 帮助: 你可以用非$1 'headingmode' 数值,在多个部件中用 'ordermethod' 。第一个部是用来作标题。例如在分类标题中用 'ordermethod=category,<i>comp</i>' (<i>comp</i>是另外一个部件) 。", |
716 | 1076 | /** |
717 | 1077 | * $0: 'debug' value |
718 | 1078 | */ |
719 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL?????????????????????????????????", |
| 1079 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "警告: 'debug=$0' 不是第一个在DPL元素嘅第一位置。新的除错设定在所有参数都能处理和检查前都不会应用。", |
720 | 1080 | |
721 | 1081 | // DEBUG |
722 | 1082 | /** |
723 | 1083 | * $0: SQL query executed to generate the dynamic page list |
724 | 1084 | */ |
725 | | - 'dpl2_log_' . self::DEBUG_QUERY => '??: <code>$0</code>', |
| 1085 | + 'dpl2_log_' . self::DEBUG_QUERY => '查訽: <code>$0</code>', |
726 | 1086 | |
727 | 1087 | /* |
728 | 1088 | Output formatting |
— | — | @@ -729,9 +1089,9 @@ |
730 | 1090 | /** |
731 | 1091 | * $1: number of articles |
732 | 1092 | */ |
733 | | - 'dpl2_articlecount' => '???????$1????' |
| 1093 | + 'dpl2_articlecount' => '在这个标题中有$1篇条目。' |
734 | 1094 | ); |
735 | | - self::$messages['zh-yue'] = array( |
| 1095 | + self::$messages['zh-hant'] = array( |
736 | 1096 | /* |
737 | 1097 | Log |
738 | 1098 | */ |
— | — | @@ -741,24 +1101,24 @@ |
742 | 1102 | * $1: wrong parameter given by user |
743 | 1103 | * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) |
744 | 1104 | */ |
745 | | - 'dpl2_log_' . self::FATAL_WRONGNS => "??: ?? '$0' ??: '$1'! ??: <code>$0= <i>???</i> (?)$3</code>?", |
| 1105 | + 'dpl2_log_' . self::FATAL_WRONGNS => "錯誤: 錯誤的 '$0' 參數: '$1'! 說明: <code>$0= <i>空白字串</i> (主)$3</code>。", |
746 | 1106 | /** |
747 | 1107 | * $0: max number of categories that can be included |
748 | 1108 | */ |
749 | | - 'dpl2_log_' . self::FATAL_TOOMANYCATS => '??: ????! ???: $0? ??: ?? <code>ExtDynamicPageList2::$maxCategoryCount</code> ?????????????? <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> ?????? (??? <code>DynamicPageList2.php</code>??,?<code>LocalSettings.php</code>??????)', |
| 1109 | + 'dpl2_log_' . self::FATAL_TOOMANYCATS => '錯誤: 過多分類! 最大值: $0。 說明: 增加 <code>ExtDynamicPageList2::$maxCategoryCount</code> 的值去指定更多的分類或設定 <code>ExtDynamicPageList2::$allowUnlimitedCategories=true</code> 以解除限制。 (當加上 <code>DynamicPageList2.php</code>後,在<code>LocalSettings.php</code>中設定變數。)', |
750 | 1110 | /** |
751 | 1111 | * $0: min number of categories that have to be included |
752 | 1112 | */ |
753 | | - 'dpl2_log_' . self::FATAL_TOOFEWCATS => '??: ????! ???: $0. ??: ?? <code>ExtDynamicPageList2::$minCategoryCount</code> ??????????? (??? <code>DynamicPageList2.php</code>??,?<code>LocalSettings.php</code>???????????)', |
| 1113 | + 'dpl2_log_' . self::FATAL_TOOFEWCATS => '錯誤: 過少分類! 最小值: $0。 說明: 減少 <code>ExtDynamicPageList2::$minCategoryCount</code> 的值去指定更少的分類。 (當加上 <code>DynamicPageList2.php</code>後,在<code>LocalSettings.php</code>中設定一個合適的變數。)', |
754 | 1114 | 'dpl2_log_' . self::FATAL_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", |
755 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "??: ?????? 'addfirstcategorydate=true' ?? 'ordermethod=categoryadd' ,???????????!", |
756 | | - 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "??: ???????????,????? 'addfirstcategorydate=true' ?? 'ordermethod=categoryadd'!", |
757 | | - 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '??: ???????????????????!', |
| 1115 | + 'dpl2_log_' . self::FATAL_CATDATEBUTNOINCLUDEDCATS => "錯誤: 如果您想用 'addfirstcategorydate=true' 或 'ordermethod=categoryadd' ,您需要包含最少一個分類!", |
| 1116 | + 'dpl2_log_' . self::FATAL_CATDATEBUTMORETHAN1CAT => "錯誤: 如果您包含多一個分類,您不可以用 'addfirstcategorydate=true' 或 'ordermethod=categoryadd'!", |
| 1117 | + 'dpl2_log_' . self::FATAL_MORETHAN1TYPEOFDATE => '錯誤: 您不可以在一個時間裡加入多於一種的日期!', |
758 | 1118 | /** |
759 | 1119 | * $0: param=val that is possible only with $1 as last 'ordermethod' parameter |
760 | 1120 | * $1: last 'ordermethod' parameter required for $0 |
761 | 1121 | */ |
762 | | - 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", |
| 1122 | + 'dpl2_log_' . self::FATAL_WRONGORDERMETHOD => "錯誤: 你只可以用 'ordermethod=[...,]$1' 在 '$0' 上!", |
763 | 1123 | /** |
764 | 1124 | * $0: the number of arguments in includepage |
765 | 1125 | */ |
— | — | @@ -775,34 +1135,34 @@ |
776 | 1136 | * $0: unknown parameter given by user |
777 | 1137 | * $1: list of DPL2 available parameters separated by ', ' |
778 | 1138 | */ |
779 | | - 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: <code>$1</code>?", |
| 1139 | + 'dpl2_log_' . self::WARN_UNKNOWNPARAM => "警告: 不明的參數 '$0' 被忽略。 說明: 可用的參數: <code>$1</code>。", |
780 | 1140 | /** |
781 | 1141 | * $3: list of valid param values separated by ' | ' |
782 | 1142 | */ |
783 | | - 'dpl2_log_' . self::WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ?????: '$2'? ??: <code>$0= $3</code>?", |
| 1143 | + 'dpl2_log_' . self::WARN_WRONGPARAM => "警告: 錯誤的 '$0' 參數: '$1'! 正在使用預設值: '$2'。 說明: <code>$0= $3</code>。", |
784 | 1144 | /** |
785 | 1145 | * $0: param name |
786 | 1146 | * $1: wrong param value given by user |
787 | 1147 | * $2: default param value used instead by program |
788 | 1148 | */ |
789 | | - 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ?????: '$2' (???)? ??: <code>$0= <i>???</i> (???) | n</code>, <code>n</code>???????", |
790 | | - 'dpl2_log_' . self::WARN_NORESULTS => '??: ???!', |
791 | | - 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ???????????/??????????????", |
| 1149 | + 'dpl2_log_' . self::WARN_WRONGPARAM_INT => "警告: 錯誤的 '$0' 參數: '$1'! 正在使用預設值: '$2' (沒有上限)。 說明: <code>$0= <i>空白字串</i> (沒有上限) | n</code>, <code>n</code>是一個正整數。", |
| 1150 | + 'dpl2_log_' . self::WARN_NORESULTS => '警告: 無結果!', |
| 1151 | + 'dpl2_log_' . self::WARN_CATOUTPUTBUTWRONGPARAMS => "警告: 加入* 參數 ('adduser', 'addeditdate', 等)' 是對 'mode=category' 沒有作用。只有頁面空間名/標題才可以在這個模式度看到。", |
792 | 1152 | /** |
793 | 1153 | * $0: 'headingmode' value given by user |
794 | 1154 | * $1: value used instead by program (which means no heading) |
795 | 1155 | */ |
796 | | - 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ?? 'headingmode=$0' ?????? ??: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ?????????????????????? 'ordermethod=category,<i>comp</i>' (<i>comp</i>???????) ?", |
| 1156 | + 'dpl2_log_' . self::WARN_HEADINGBUTSIMPLEORDERMETHOD => "警告: 在單一部件中, 'ordermethod' 用 'headingmode=$0' 是沒有作用的。 正在使用: '$1'。 說明: 你可以用非$1 'headingmode' 數值,在多個部件中用 'ordermethod' 。第一個部是用來作標題。例如在分類標題中用 'ordermethod=category,<i>comp</i>' (<i>comp</i>是另外一個部件) 。", |
797 | 1157 | /** |
798 | 1158 | * $0: 'debug' value |
799 | 1159 | */ |
800 | | - 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL??????????????????????????????????", |
| 1160 | + 'dpl2_log_' . self::WARN_DEBUGPARAMNOTFIRST => "警告: 'debug=$0' 不是第一個在DPL元素嘅第一位置。新的除錯設定在所有參數都能處理和檢查前都不會應用。", |
801 | 1161 | |
802 | 1162 | // DEBUG |
803 | 1163 | /** |
804 | 1164 | * $0: SQL query executed to generate the dynamic page list |
805 | 1165 | */ |
806 | | - 'dpl2_log_' . self::DEBUG_QUERY => '??: <code>$0</code>', |
| 1166 | + 'dpl2_log_' . self::DEBUG_QUERY => '查訽: <code>$0</code>', |
807 | 1167 | |
808 | 1168 | /* |
809 | 1169 | Output formatting |
— | — | @@ -810,10 +1170,16 @@ |
811 | 1171 | /** |
812 | 1172 | * $1: number of articles |
813 | 1173 | */ |
814 | | - 'dpl2_articlecount' => '???????$1???' |
| 1174 | + 'dpl2_articlecount' => '在這個標題中有$1篇條目。' |
815 | 1175 | ); |
816 | | - self::$messages['zh-hk'] = self::$messages['zh-tw']; |
817 | | - self::$messages['zh-sg'] = self::$messages['zh-cn']; |
| 1176 | + self::$messages['sr'] = self::$messages['sr-ec']; |
| 1177 | + self::$messages['zh-cn'] = self::$messages['zh-hans']; |
| 1178 | + self::$messages['zh-hk'] = self::$messages['zh-hant']; |
| 1179 | + self::$messages['zh-mo'] = self::$messages['zh-hant']; |
| 1180 | + self::$messages['zh-my'] = self::$messages['zh-hans']; |
| 1181 | + self::$messages['zh-sg'] = self::$messages['zh-hans']; |
| 1182 | + self::$messages['zh-tw'] = self::$messages['zh-hant']; |
| 1183 | + self::$messages['zh-yue'] = self::$messages['yue']; |
818 | 1184 | return self::$messages; |
819 | 1185 | } |
820 | 1186 | } |
Index: branches/REL1_14/extensions/DynamicPageList/DynamicPageList2.php |
— | — | @@ -27,7 +27,7 @@ |
28 | 28 | * addcategories: bug fixed |
29 | 29 | * CATLIST variable defined |
30 | 30 | * @version 0.9.3 |
31 | | - * allow � as an alias for | |
| 31 | + * allow ¦ as an alias for | |
32 | 32 | * escapelinks= introduced |
33 | 33 | * @version 0.9.4 |
34 | 34 | * allow "-" with categories = |
— | — | @@ -273,8 +273,17 @@ |
274 | 274 | * @version 1.7.4 |
275 | 275 | * new command: imagecontainer |
276 | 276 | * @version 1.7.5 |
277 | | - |
278 | | - * ! when making changes here you must update the VERSION constant at the beginning of class ExtSynamicPageList2 ! |
| 277 | + * suppresserrors |
| 278 | + * changed UPPER to LOWER in all SQL statements which ignore case |
| 279 | + * added updaterules feature |
| 280 | + * includematch now also works with include=*; note that it always tries to match the raw text, including template parameters |
| 281 | + * allowcachedresults accepts now 'yes+warn' |
| 282 | + * usedby |
| 283 | + * CATBULLETS variable |
| 284 | + * @version 1.7.6 |
| 285 | + * error correction: non existing array index 0 when trying to includematch content in a non-existing chapter (near #3887) |
| 286 | + * |
| 287 | + * ! when making changes here you must update the VERSION constant at the beginning of class ExtDynamicPageList2 ! |
279 | 288 | */ |
280 | 289 | |
281 | 290 | /** |
— | — | @@ -291,11 +300,9 @@ |
292 | 301 | |
293 | 302 | $wgExtensionCredits['parserhook'][] = array( |
294 | 303 | 'name' => 'DynamicPageList2', |
295 | | - 'author' => '[http://en.wikinews.org/wiki/User:IlyaHaykinson IlyaHaykinson], [http://en.wikinews.org/wiki/User:Amgine Amgine],' |
296 | | - .'[http://de.wikipedia.org/wiki/Benutzer:Unendlich Unendlich], [http://meta.wikimedia.org/wiki/User:Dangerman Cyril Dangerville],' |
297 | | - .'[http://de.wikipedia.org/wiki/Benutzer:Algorithmix Algorithmix]', |
| 304 | + 'author' => array( "[http://en.wikinews.org/wiki/User:IlyaHaykinson IlyaHaykinson]", "[http://en.wikinews.org/wiki/User:Amgine Amgine]", "[http://de.wikipedia.org/wiki/Benutzer:Unendlich Unendlich]", "[http://meta.wikimedia.org/wiki/User:Dangerman Cyril Dangerville]", "[http://de.wikipedia.org/wiki/Benutzer:Algorithmix Algorithmix]" ), |
298 | 305 | 'url' => 'http://www.mediawiki.org/wiki/Extension:DynamicPageList', |
299 | | - 'description' => 'based on [http://www.mediawiki.org/wiki/Extension:DynamicPageList DynamicPageList], featuring many improvements', |
| 306 | + 'description' => 'a highly flexible report generator for MediaWikis - manual and examples: see [http://semeb.com/dpldemo]', |
300 | 307 | 'version' => ExtDynamicPageList2::VERSION |
301 | 308 | ); |
302 | 309 | |
— | — | @@ -312,7 +319,7 @@ |
313 | 320 | |
314 | 321 | class ExtDynamicPageList2 |
315 | 322 | { |
316 | | - const VERSION = '1.7.4'; // current version |
| 323 | + const VERSION = '1.7.6'; // current version |
317 | 324 | |
318 | 325 | /** |
319 | 326 | * Extension options |
— | — | @@ -343,7 +350,7 @@ |
344 | 351 | 'addauthor' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), |
345 | 352 | 'addcontribution' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), |
346 | 353 | 'addlasteditor' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), |
347 | | - 'allowcachedresults' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), |
| 354 | + 'allowcachedresults' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on', 'yes+warn'), |
348 | 355 | /** |
349 | 356 | * search for a page with the same title in another namespace (this is normally the article to a talk page) |
350 | 357 | */ |
— | — | @@ -496,7 +503,7 @@ |
497 | 504 | /** |
498 | 505 | * listseparators is an array of four tags (in html or wiki syntax) which defines the output of DPL2 |
499 | 506 | * if mode = 'userformat' was specified. |
500 | | - * '\n' or '�' in the input will be interpreted as a newline character. |
| 507 | + * '\n' or '¶' in the input will be interpreted as a newline character. |
501 | 508 | * '%xxx%' in the input will be replaced by a corresponding value (xxx= PAGE, NR, COUNT etc.) |
502 | 509 | * t1 and t4 are the "outer envelope" for the whole result list, |
503 | 510 | * t2,t3 form an inner envelope around the article name of each entry. |
— | — | @@ -552,6 +559,10 @@ |
553 | 560 | */ |
554 | 561 | 'notuses' => array('default' => ''), |
555 | 562 | /** |
| 563 | + * this parameter restricts the output to the template used by the specified page. |
| 564 | + */ |
| 565 | + 'usedby' => array('default' => ''), |
| 566 | + /** |
556 | 567 | * allows to specify a username who must be the first editor of the pages we select |
557 | 568 | */ |
558 | 569 | 'createdby' => NULL, |
— | — | @@ -631,12 +642,14 @@ |
632 | 643 | */ |
633 | 644 | 'titlematch' => NULL, |
634 | 645 | 'titleregexp' => NULL, |
| 646 | + 'userdateformat' => array('default' => ''), |
| 647 | + 'updaterules' => array('default' => ''), |
| 648 | + 'deleterules' => array('default' => ''), |
| 649 | + |
635 | 650 | /** |
636 | 651 | * nottitlematch is a (SQL-LIKE-expression) pattern |
637 | 652 | * which excludes pages matching that pattern from the result |
638 | 653 | */ |
639 | | - 'userdateformat' => array('default' => ''), |
640 | | - |
641 | 654 | 'nottitlematch' => NULL, |
642 | 655 | 'nottitleregexp' => NULL, |
643 | 656 | 'order' => array('default' => 'ascending', 'ascending', 'descending'), |
— | — | @@ -679,6 +692,7 @@ |
680 | 693 | * if the result set is empty; setting 'noresultsheader' to something like ' ' will suppress |
681 | 694 | * the warning about empty result set. |
682 | 695 | */ |
| 696 | + 'suppresserrors' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), |
683 | 697 | 'noresultsheader' => array('default' => ''), |
684 | 698 | 'noresultsfooter' => array('default' => ''), |
685 | 699 | /** |
— | — | @@ -783,7 +797,7 @@ |
784 | 798 | // phase of the MediaWiki parser |
785 | 799 | |
786 | 800 | public static function setup() { |
787 | | - // Page Transclusion, adopted from Steve Sanbeg�s LabeledSectionTransclusion |
| 801 | + // Page Transclusion, adopted from Steve Sanbeg´s LabeledSectionTransclusion |
788 | 802 | require_once( 'DynamicPageList2Include.php' ); |
789 | 803 | |
790 | 804 | global $wgParser, $wgMessageCache; |
— | — | @@ -888,7 +902,7 @@ |
889 | 903 | $numargs = func_num_args(); |
890 | 904 | if ($numargs < 2) { |
891 | 905 | $input = "#dpl: no arguments specified"; |
892 | | - return str_replace('�','<','�pre>�nowiki>'.$input.'�/nowiki>�/pre>'); |
| 906 | + return str_replace('§','<','§pre>§nowiki>'.$input.'§/nowiki>§/pre>'); |
893 | 907 | } |
894 | 908 | |
895 | 909 | // fetch all user-provided arguments (skipping $parser) |
— | — | @@ -898,7 +912,7 @@ |
899 | 913 | $input .= str_replace("\n","",$p1) ."\n"; |
900 | 914 | } |
901 | 915 | // for debugging you may want to uncomment the following statement |
902 | | - // return str_replace('�','<','�pre>�nowiki>'.$input.'�/nowiki>�/pre>'); |
| 916 | + // return str_replace('§','<','§pre>§nowiki>'.$input.'§/nowiki>§/pre>'); |
903 | 917 | |
904 | 918 | |
905 | 919 | // $dump1 = self::dumpParsedRefs($parser,"before DPL func"); |
— | — | @@ -1157,6 +1171,7 @@ |
1158 | 1172 | |
1159 | 1173 | $sRedirects = self::$options['redirects']['default']; |
1160 | 1174 | |
| 1175 | + $bSuppressErrors = self::argBoolean(self::$options['suppresserrors']['default']); |
1161 | 1176 | $sResultsHeader = self::$options['resultsheader']['default']; |
1162 | 1177 | $sResultsFooter = self::$options['resultsfooter']['default']; |
1163 | 1178 | $sNoResultsHeader = self::$options['noresultsheader']['default']; |
— | — | @@ -1189,6 +1204,7 @@ |
1190 | 1205 | $bAddLastEditor = self::argBoolean(self::$options['addlasteditor']['default']); |
1191 | 1206 | |
1192 | 1207 | $bAllowCachedResults = self::argBoolean(self::$options['allowcachedresults']['default']); |
| 1208 | + $bWarnCachedResults = false; |
1193 | 1209 | |
1194 | 1210 | $sUserDateFormat = self::$options['userdateformat']['default']; |
1195 | 1211 | |
— | — | @@ -1267,6 +1283,7 @@ |
1268 | 1284 | |
1269 | 1285 | $aUses = array(); |
1270 | 1286 | $aNotUses = array(); |
| 1287 | + $aUsedBy = array(); |
1271 | 1288 | |
1272 | 1289 | $sCreatedBy = ''; |
1273 | 1290 | $sNotCreatedBy = ''; |
— | — | @@ -1291,6 +1308,9 @@ |
1292 | 1309 | |
1293 | 1310 | $sArticleCategory = null; |
1294 | 1311 | |
| 1312 | + $sUpdateRules = self::$options['updaterules']['default']; |
| 1313 | + $sDeleteRules = self::$options['deleterules']['default']; |
| 1314 | + |
1295 | 1315 | // Output |
1296 | 1316 | $output = ''; |
1297 | 1317 | |
— | — | @@ -1298,16 +1318,16 @@ |
1299 | 1319 | // ###### PARSE PARAMETERS ###### |
1300 | 1320 | |
1301 | 1321 | // we replace double angle brackets by < > ; thus we avoid premature tag expansion in the input |
1302 | | - $input = str_replace('»','>',$input); |
1303 | | - $input = str_replace('«','<',$input); |
| 1322 | + $input = str_replace('»','>',$input); |
| 1323 | + $input = str_replace('«','<',$input); |
1304 | 1324 | |
1305 | | - // use the � as a general alias for | |
1306 | | - $input = str_replace('¦','|',$input); // the symbol is utf8-escaped |
| 1325 | + // use the ¦ as a general alias for | |
| 1326 | + $input = str_replace('¦','|',$input); // the symbol is utf8-escaped |
1307 | 1327 | |
1308 | | - // the combination '�{' and '}�'will be translated to double curly braces; this allows postponed template execution |
| 1328 | + // the combination '²{' and '}²'will be translated to double curly braces; this allows postponed template execution |
1309 | 1329 | // which is crucial for DPL queries which call other DPL queries |
1310 | | - $input = str_replace('²{','{{',$input); |
1311 | | - $input = str_replace('}²','}}',$input); |
| 1330 | + $input = str_replace('²{','{{',$input); |
| 1331 | + $input = str_replace('}²','}}',$input); |
1312 | 1332 | |
1313 | 1333 | $aParams = explode("\n", $input); |
1314 | 1334 | $bIncludeUncat = false; // to check if pseudo-category of Uncategorized pages is included |
— | — | @@ -1567,6 +1587,19 @@ |
1568 | 1588 | $bConflictsWithOpenReferences=true; |
1569 | 1589 | break; |
1570 | 1590 | |
| 1591 | + case 'usedby': |
| 1592 | + $pages = explode('|', $sArg); |
| 1593 | + $n=0; |
| 1594 | + foreach($pages as $page) { |
| 1595 | + if (trim($page)=='') continue; |
| 1596 | + if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('usedby', $sArg); |
| 1597 | + $aUsedBy[$n++] = $theTitle; |
| 1598 | + $bSelectionCriteriaFound=true; |
| 1599 | + } |
| 1600 | + if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('usedby', $sArg); |
| 1601 | + $bConflictsWithOpenReferences=true; |
| 1602 | + break; |
| 1603 | + |
1571 | 1604 | case 'createdby': |
1572 | 1605 | $sCreatedBy = $sArg; |
1573 | 1606 | if ($sCreatedBy != '') $bSelectionCriteriaFound=true; |
— | — | @@ -1998,7 +2031,7 @@ |
1999 | 2032 | // parsing of wikitext will happen at the end of the output phase |
2000 | 2033 | // we replace '\n' in the input by linefeed because wiki syntax depends on linefeeds |
2001 | 2034 | $sArg = str_replace( '\n', "\n", $sArg ); |
2002 | | - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
| 2035 | + $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
2003 | 2036 | $aListSeparators = explode (',', $sArg, 4); |
2004 | 2037 | // mode=userformat will be automatically assumed |
2005 | 2038 | $sPageListMode='userformat'; |
— | — | @@ -2008,25 +2041,25 @@ |
2009 | 2042 | case 'secseparators': |
2010 | 2043 | // we replace '\n' by newline to support wiki syntax within the section separators |
2011 | 2044 | $sArg = str_replace( '\n', "\n", $sArg ); |
2012 | | - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
| 2045 | + $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
2013 | 2046 | $aSecSeparators = explode (',',$sArg); |
2014 | 2047 | break; |
2015 | 2048 | |
2016 | 2049 | case 'multisecseparators': |
2017 | 2050 | // we replace '\n' by newline to support wiki syntax within the section separators |
2018 | 2051 | $sArg = str_replace( '\n', "\n", $sArg ); |
2019 | | - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
| 2052 | + $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
2020 | 2053 | $aMultiSecSeparators = explode (',',$sArg); |
2021 | 2054 | break; |
2022 | 2055 | |
2023 | 2056 | case 'table': |
2024 | 2057 | $sArg = str_replace( '\n', "\n", $sArg ); |
2025 | | - $sTable = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
| 2058 | + $sTable = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
2026 | 2059 | break; |
2027 | 2060 | |
2028 | 2061 | case 'tablerow': |
2029 | 2062 | $sArg = str_replace( '\n', "\n", $sArg ); |
2030 | | - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
| 2063 | + $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped |
2031 | 2064 | if (trim($sArg)=='') $aTableRow = array(); |
2032 | 2065 | else $aTableRow = explode (',',$sArg); |
2033 | 2066 | break; |
— | — | @@ -2094,6 +2127,16 @@ |
2095 | 2128 | case 'noresultsheader': |
2096 | 2129 | $sNoResultsHeader = $sArg; |
2097 | 2130 | break; |
| 2131 | + case 'suppresserrors': |
| 2132 | + if( in_array($sArg, self::$options['suppresserrors'])) { |
| 2133 | + $bSuppressErrors = self::argBoolean($sArg); |
| 2134 | + if( $bSuppressErrors ) $sNoResultsHeader = ' '; |
| 2135 | + } |
| 2136 | + else { |
| 2137 | + $output .= $logger->msgWrongParam('suppresserrors', $sArg); |
| 2138 | + } |
| 2139 | + break; |
| 2140 | + |
2098 | 2141 | case 'noresultsfooter': |
2099 | 2142 | $sNoResultsFooter = $sArg; |
2100 | 2143 | break; |
— | — | @@ -2105,12 +2148,32 @@ |
2106 | 2149 | break; |
2107 | 2150 | |
2108 | 2151 | /** |
| 2152 | + * UPDATERULES |
| 2153 | + */ |
| 2154 | + |
| 2155 | + case 'updaterules': |
| 2156 | + $sUpdateRules = $sArg; |
| 2157 | + break; |
| 2158 | + |
| 2159 | + /** |
| 2160 | + * DELETERULES |
| 2161 | + */ |
| 2162 | + |
| 2163 | + case 'deleterules': |
| 2164 | + $sDeleteRules = $sArg; |
| 2165 | + break; |
| 2166 | + |
| 2167 | + /** |
2109 | 2168 | * DEBUG, RESET and CACHE PARAMETER |
2110 | 2169 | */ |
2111 | 2170 | |
2112 | 2171 | case 'allowcachedresults': |
2113 | 2172 | if( in_array($sArg, self::$options['allowcachedresults'])) { |
2114 | 2173 | $bAllowCachedResults = self::argBoolean($sArg); |
| 2174 | + if ($sArg=='yes+warn') { |
| 2175 | + $bAllowCachedResults = true; |
| 2176 | + $bWarnCachedResults = true; |
| 2177 | + } |
2115 | 2178 | } |
2116 | 2179 | else |
2117 | 2180 | $output .= $logger->msgWrongParam('allowcachedresults', $sArg); |
— | — | @@ -2187,6 +2250,9 @@ |
2188 | 2251 | |
2189 | 2252 | // disable parser cache |
2190 | 2253 | if ( !$bAllowCachedResults) $parser->disableCache(); |
| 2254 | + |
| 2255 | + // place cache warning in resultsheader |
| 2256 | + if ($bWarnCachedResults) $sResultsHeader = '{{DPL Cache Warning}}' . $sResultsHeader; |
2191 | 2257 | |
2192 | 2258 | if ($calledInMode=='tag') { |
2193 | 2259 | // in tag mode 'eliminate' is the same as 'reset' for tpl,cat,img |
— | — | @@ -2386,6 +2452,7 @@ |
2387 | 2453 | $sTemplateLinksTable = $dbr->tableName( 'templatelinks' ); |
2388 | 2454 | $sSqlPageLinksTable = ''; |
2389 | 2455 | $sSqlCond_page_pl = ''; |
| 2456 | + $sSqlCond_page_tpl = ''; |
2390 | 2457 | $sSqlCond_MaxCat = ''; |
2391 | 2458 | $sSqlWhere = ' WHERE 1=1 '; |
2392 | 2459 | $sSqlSelPage = ''; // initial page for selection |
— | — | @@ -2431,14 +2498,14 @@ |
2432 | 2499 | // UTF-8 created problems with non-utf-8 MySQL databases |
2433 | 2500 | //see line 2011 (order method sortkey requires category |
2434 | 2501 | if (in_array('category',$aOrderMethods)) { |
2435 | | - $sSqlSortkey = ", IFNULL(cl_head.cl_sortkey, REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'♣','⣣')) ".$sOrderCollation." as sortkey"; |
| 2502 | + $sSqlSortkey = ", IFNULL(cl_head.cl_sortkey, REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'â£','⣣')) ".$sOrderCollation." as sortkey"; |
2436 | 2503 | } |
2437 | 2504 | else { |
2438 | | - $sSqlSortkey = ", IFNULL(cl0.cl_sortkey, REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'♣','⣣')) ".$sOrderCollation." as sortkey"; |
| 2505 | + $sSqlSortkey = ", IFNULL(cl0.cl_sortkey, REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'â£','⣣')) ".$sOrderCollation." as sortkey"; |
2439 | 2506 | } |
2440 | 2507 | break; |
2441 | 2508 | case 'titlewithoutnamespace': |
2442 | | - $sSqlSortkey = ", REPLACE(page_title,'♣','⣣') ".$sOrderCollation." as sortkey"; |
| 2509 | + $sSqlSortkey = ", REPLACE(page_title,'â£','⣣') ".$sOrderCollation." as sortkey"; |
2443 | 2510 | break; |
2444 | 2511 | case 'pagesel': |
2445 | 2512 | $sSqlSortkey = ", CONCAT(pl.pl_namespace,pl.pl_title) ".$sOrderCollation." as sortkey"; |
— | — | @@ -2451,7 +2518,7 @@ |
2452 | 2519 | foreach($aStrictNs as $iNs => $sNs) |
2453 | 2520 | $sSqlNsIdToText .= ' WHEN ' . intval( $iNs ) . " THEN " . $dbr->addQuotes( $sNs ) ; |
2454 | 2521 | $sSqlNsIdToText .= ' END'; |
2455 | | - $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(pl_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), pl_title), '_', ' '),'♣','⣣') ".$sOrderCollation." as sortkey"; |
| 2522 | + $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(pl_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), pl_title), '_', ' '),'â£','⣣') ".$sOrderCollation." as sortkey"; |
2456 | 2523 | } |
2457 | 2524 | else { |
2458 | 2525 | $sSqlNsIdToText = 'CASE '.$sPageTable.'.page_namespace'; |
— | — | @@ -2459,7 +2526,7 @@ |
2460 | 2527 | $sSqlNsIdToText .= ' WHEN ' . intval( $iNs ) . " THEN " . $dbr->addQuotes( $sNs ) ; |
2461 | 2528 | $sSqlNsIdToText .= ' END'; |
2462 | 2529 | // Generate sortkey like for category links. UTF-8 created problems with non-utf-8 MySQL databases |
2463 | | - $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'♣','⣣') ".$sOrderCollation." as sortkey"; |
| 2530 | + $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'â£','⣣') ".$sOrderCollation." as sortkey"; |
2464 | 2531 | } |
2465 | 2532 | break; |
2466 | 2533 | case 'user': |
— | — | @@ -2478,7 +2545,7 @@ |
2479 | 2546 | foreach ($aLinksTo as $link) { |
2480 | 2547 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2481 | 2548 | $sSqlCond_page_pl .= '(pl.pl_namespace=' . intval( $link->getNamespace() ); |
2482 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= " AND UPPER(pl.pl_title)=UPPER(" . $dbr->addQuotes( $link->getDBKey() ).'))'; |
| 2549 | + if ($bIgnoreCase) $sSqlCond_page_pl .= " AND LOWER(pl.pl_title)=LOWER(" . $dbr->addQuotes( $link->getDBKey() ).'))'; |
2483 | 2550 | else $sSqlCond_page_pl .= " AND pl.pl_title=" . $dbr->addQuotes( $link->getDBKey() ).')'; |
2484 | 2551 | $n++; |
2485 | 2552 | } |
— | — | @@ -2492,7 +2559,7 @@ |
2493 | 2560 | foreach ($aNotLinksTo as $link) { |
2494 | 2561 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2495 | 2562 | $sSqlCond_page_pl .= '('.$sPageLinksTable.'.pl_namespace=' . intval($link->getNamespace()); |
2496 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND UPPER('.$sPageLinksTable.'.pl_title)=UPPER(' . $dbr->addQuotes( $link->getDBKey() ).'))'; |
| 2563 | + if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND LOWER('.$sPageLinksTable.'.pl_title)=LOWER(' . $dbr->addQuotes( $link->getDBKey() ).'))'; |
2497 | 2564 | else $sSqlCond_page_pl .= ' AND '.$sPageLinksTable.'.pl_title=' . $dbr->addQuotes( $link->getDBKey() ).')'; |
2498 | 2565 | $n++; |
2499 | 2566 | } |
— | — | @@ -2558,7 +2625,7 @@ |
2559 | 2626 | $n=0; |
2560 | 2627 | foreach ($aImageUsed as $link) { |
2561 | 2628 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2562 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= "UPPER(il.il_to)=UPPER(" . $dbr->addQuotes( $link->getDBKey() ).')'; |
| 2629 | + if ($bIgnoreCase) $sSqlCond_page_pl .= "LOWER(il.il_to)=LOWER(" . $dbr->addQuotes( $link->getDBKey() ).')'; |
2563 | 2630 | else $sSqlCond_page_pl .= "il.il_to=" . $dbr->addQuotes( $link->getDBKey() ); |
2564 | 2631 | $n++; |
2565 | 2632 | } |
— | — | @@ -2577,7 +2644,7 @@ |
2578 | 2645 | $n=0; |
2579 | 2646 | foreach ($aImageContainer as $link) { |
2580 | 2647 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2581 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= "UPPER(ic.il_from)=UPPER(" . $dbr->addQuotes( $link->getArticleID() ).')'; |
| 2648 | + if ($bIgnoreCase) $sSqlCond_page_pl .= "LOWER(ic.il_from)=LOWER(" . $dbr->addQuotes( $link->getArticleID() ).')'; |
2582 | 2649 | else $sSqlCond_page_pl .= "ic.il_from=" . $dbr->addQuotes( $link->getArticleID() ); |
2583 | 2650 | $n++; |
2584 | 2651 | } |
— | — | @@ -2592,7 +2659,7 @@ |
2593 | 2660 | foreach ($aUses as $link) { |
2594 | 2661 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2595 | 2662 | $sSqlCond_page_pl .= '(tl.tl_namespace=' . intval( $link->getNamespace() ); |
2596 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= " AND UPPER(tl.tl_title)=UPPER(" . $dbr->addQuotes( $link->getDBKey() ).'))'; |
| 2663 | + if ($bIgnoreCase) $sSqlCond_page_pl .= " AND LOWER(tl.tl_title)=LOWER(" . $dbr->addQuotes( $link->getDBKey() ).'))'; |
2597 | 2664 | else $sSqlCond_page_pl .= " AND tl.tl_title=" . $dbr->addQuotes( $link->getDBKey() ).')'; |
2598 | 2665 | $n++; |
2599 | 2666 | } |
— | — | @@ -2606,13 +2673,40 @@ |
2607 | 2674 | foreach ($aNotUses as $link) { |
2608 | 2675 | if ($n>0) $sSqlCond_page_pl .= ' OR '; |
2609 | 2676 | $sSqlCond_page_pl .= '('.$sTemplateLinksTable.'.tl_namespace=' . intval($link->getNamespace()); |
2610 | | - if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND UPPER('.$sTemplateLinksTable.'.tl_title)=UPPER(' . $dbr->addQuotes( $link->getDBKey() ).'))'; |
| 2677 | + if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND LOWER('.$sTemplateLinksTable.'.tl_title)=LOWER(' . $dbr->addQuotes( $link->getDBKey() ).'))'; |
2611 | 2678 | else $sSqlCond_page_pl .= ' AND '.$sTemplateLinksTable.'.tl_title=' . $dbr->addQuotes( $link->getDBKey() ).')'; |
2612 | 2679 | $n++; |
2613 | 2680 | } |
2614 | 2681 | $sSqlCond_page_pl .= ') )'; |
2615 | 2682 | } |
| 2683 | + |
| 2684 | + // usedby |
| 2685 | + if ( count($aUsedBy)>0 ) { |
| 2686 | + if ($acceptOpenReferences) { |
| 2687 | + $sSqlCond_page_tpl .= ' AND ('; |
| 2688 | + $n=0; |
| 2689 | + foreach ($aUsedBy as $link) { |
| 2690 | + if ($n>0) $sSqlCond_page_pl .= ' OR '; |
| 2691 | + $sSqlCond_page_tpl .= '(tpl_from=' . $link->getArticleID().')'; |
| 2692 | + $n++; |
| 2693 | + } |
| 2694 | + $sSqlCond_page_tpl .= ')'; |
| 2695 | + } |
| 2696 | + else { |
| 2697 | + $sSqlPageLinksTable .= $sTemplateLinksTable . ' as tpl, '. $sPageTable . 'as tplsrc, '; |
| 2698 | + $sSqlCond_page_tpl .= ' AND '.$sPageTable.'.page_title = tpl.tl_title AND tplsrc.page_id=tpl.tl_from AND ('; |
| 2699 | + $sSqlSelPage = ', tplsrc.page_title as tpl_sel_title, tplsrc.page_namespace as tpl_sel_ns'; |
| 2700 | + $n=0; |
| 2701 | + foreach ($aUsedBy as $link) { |
| 2702 | + if ($n>0) $sSqlCond_page_tpl .= ' OR '; |
| 2703 | + $sSqlCond_page_tpl .= '(tpl.tl_from=' . $link->getArticleID().')'; |
| 2704 | + $n++; |
| 2705 | + } |
| 2706 | + $sSqlCond_page_tpl .= ')'; |
| 2707 | + } |
| 2708 | + } |
2616 | 2709 | |
| 2710 | + |
2617 | 2711 | // recent changes ============================= |
2618 | 2712 | |
2619 | 2713 | if ( $bAddContribution ) { |
— | — | @@ -2650,14 +2744,13 @@ |
2651 | 2745 | |
2652 | 2746 | if ($bAddAuthor && $sSqlRevisionTable =='') { |
2653 | 2747 | $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; |
2654 | | - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MIN(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; |
| 2748 | + $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MIN(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; |
2655 | 2749 | } |
2656 | 2750 | if ($bAddLastEditor && $sSqlRevisionTable =='') { |
2657 | 2751 | $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; |
2658 | | - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MAX(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; |
| 2752 | + $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MAX(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; |
2659 | 2753 | } |
2660 | 2754 | |
2661 | | - |
2662 | 2755 | if ($sLastRevisionBefore.$sAllRevisionsBefore.$sFirstRevisionSince.$sAllRevisionsSince != '') { |
2663 | 2756 | |
2664 | 2757 | // later during output we are going to create html links to the revisions, so we must enable RawHtml |
— | — | @@ -2776,7 +2869,7 @@ |
2777 | 2870 | |
2778 | 2871 | // TitleIs |
2779 | 2872 | if ( $sTitleIs != '' ) { |
2780 | | - if ($bIgnoreCase) $sSqlWhere .= ' AND UPPER('.$sPageTable.'.page_title) = UPPER(' . $dbr->addQuotes($sTitleIs) .')' ; |
| 2873 | + if ($bIgnoreCase) $sSqlWhere .= ' AND LOWER('.$sPageTable.'.page_title) = LOWER(' . $dbr->addQuotes($sTitleIs) .')' ; |
2781 | 2874 | else $sSqlWhere .= ' AND '.$sPageTable.'.page_title = ' . $dbr->addQuotes($sTitleIs) ; |
2782 | 2875 | } |
2783 | 2876 | |
— | — | @@ -2787,10 +2880,10 @@ |
2788 | 2881 | foreach ($aTitleMatch as $link) { |
2789 | 2882 | if ($n>0) $sSqlWhere .= ' OR '; |
2790 | 2883 | if ($acceptOpenReferences) { |
2791 | | - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(pl_title)' . $sTitleMatchMode . 'UPPER('. $dbr->addQuotes($link) . ')' ; |
| 2884 | + if ($bIgnoreCase) $sSqlWhere .= 'LOWER(pl_title)' . $sTitleMatchMode . strtolower($dbr->addQuotes($link)) ; |
2792 | 2885 | else $sSqlWhere .= 'pl_title' . $sTitleMatchMode . $dbr->addQuotes($link) ; |
2793 | 2886 | } else { |
2794 | | - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(' . $sPageTable.'.page_title)' . $sTitleMatchMode . 'UPPER('. $dbr->addQuotes($link) .')' ; |
| 2887 | + if ($bIgnoreCase) $sSqlWhere .= 'LOWER(' . $sPageTable.'.page_title)' . $sTitleMatchMode . strtolower($dbr->addQuotes($link)) ; |
2795 | 2888 | else $sSqlWhere .= $sPageTable.'.page_title' . $sTitleMatchMode . $dbr->addQuotes($link) ; |
2796 | 2889 | } |
2797 | 2890 | $n++; |
— | — | @@ -2805,10 +2898,10 @@ |
2806 | 2899 | foreach ($aNotTitleMatch as $link) { |
2807 | 2900 | if ($n>0) $sSqlWhere .= ' OR '; |
2808 | 2901 | if ($acceptOpenReferences) { |
2809 | | - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(pl_title)' . $sNotTitleMatchMode . 'UPPER(' . $dbr->addQuotes($link) . ')'; |
| 2902 | + if ($bIgnoreCase) $sSqlWhere .= 'LOWER(pl_title)' . $sNotTitleMatchMode . 'LOWER(' . $dbr->addQuotes($link) . ')'; |
2810 | 2903 | else $sSqlWhere .= 'pl_title' . $sNotTitleMatchMode . $dbr->addQuotes($link); |
2811 | 2904 | } else { |
2812 | | - if ($bIgnoreCase) $sSqlWhere .= 'UPPER('.$sPageTable.'.page_title)' . $sNotTitleMatchMode . 'UPPER(' . $dbr->addQuotes($link) .')'; |
| 2905 | + if ($bIgnoreCase) $sSqlWhere .= 'LOWER('.$sPageTable.'.page_title)' . $sNotTitleMatchMode . 'LOWER(' . $dbr->addQuotes($link) .')'; |
2813 | 2906 | else $sSqlWhere .= $sPageTable.'.page_title' . $sNotTitleMatchMode . $dbr->addQuotes($link); |
2814 | 2907 | } |
2815 | 2908 | $n++; |
— | — | @@ -2833,7 +2926,7 @@ |
2834 | 2927 | |
2835 | 2928 | // page_id=rev_page (if revision table required) |
2836 | 2929 | $sSqlWhere .= $sSqlCond_page_rev; |
2837 | | - |
| 2930 | + |
2838 | 2931 | // count(all categories) <= max no of categories |
2839 | 2932 | $sSqlWhere .= $sSqlCond_MaxCat; |
2840 | 2933 | |
— | — | @@ -2846,6 +2939,9 @@ |
2847 | 2940 | // page_id=pl.pl_from (if pagelinks table required) |
2848 | 2941 | $sSqlWhere .= $sSqlCond_page_pl; |
2849 | 2942 | |
| 2943 | + // page_id=tpl.pl_from (if templatelinks table required) |
| 2944 | + $sSqlWhere .= $sSqlCond_page_tpl; |
| 2945 | + |
2850 | 2946 | if ( isset($sArticleCategory) && $sArticleCategory !== null ) { |
2851 | 2947 | $sSqlWhere .= " AND $sPageTable.page_title IN ( |
2852 | 2948 | select p2.page_title |
— | — | @@ -2940,8 +3036,8 @@ |
2941 | 3037 | } |
2942 | 3038 | |
2943 | 3039 | if ($dbr->numRows( $res ) <= 0) { |
2944 | | - if ($sNoResultsHeader != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsHeader)); |
2945 | | - if ($sNoResultsFooter != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsFooter)); |
| 3040 | + if ($sNoResultsHeader != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsHeader)); |
| 3041 | + if ($sNoResultsFooter != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsFooter)); |
2946 | 3042 | if ($sNoResultsHeader == '' && $sNoResultsFooter == '') $output .= $logger->escapeMsg(DPL2_i18n::WARN_NORESULTS); |
2947 | 3043 | $dbr->freeResult( $res ); |
2948 | 3044 | return $output; |
— | — | @@ -3092,7 +3188,7 @@ |
3093 | 3189 | |
3094 | 3190 | //USER/AUTHOR(S) |
3095 | 3191 | // because we are going to do a recursive parse at the end of the output phase |
3096 | | - // we have to generate wiki syntax for linking to a user�s homepage |
| 3192 | + // we have to generate wiki syntax for linking to a user´s homepage |
3097 | 3193 | if($bAddUser || $bAddAuthor || $bAddLastEditor || $sLastRevisionBefore.$sAllRevisionsBefore.$sFirstRevisionSince.$sAllRevisionsSince != '') { |
3098 | 3194 | $dplArticle->mUserLink = '[[User:'.$row->rev_user_text.'|'.$row->rev_user_text.']]'; |
3099 | 3195 | $dplArticle->mUser = $row->rev_user_text; |
— | — | @@ -3155,7 +3251,7 @@ |
3156 | 3252 | $dpl = new DPL2($aHeadings, $bHeadingCount, $iColumns, $iRows, $iRowSize, $sRowColFormat, $aArticles, |
3157 | 3253 | $aOrderMethods[0], $hListMode, $listMode, $bEscapeLinks, $bIncPage, $iIncludeMaxLen, |
3158 | 3254 | $aSecLabels, $aSecLabelsMatch, $aSecLabelsNotMatch, $bIncParsed, $parser, $logger, $aReplaceInTitle, |
3159 | | - $iTitleMaxLen, $defaultTemplateSuffix, $aTableRow, $bIncludeTrim, $iTableSortCol); |
| 3255 | + $iTitleMaxLen, $defaultTemplateSuffix, $aTableRow, $bIncludeTrim, $iTableSortCol, $sUpdateRules, $sDeleteRules); |
3160 | 3256 | |
3161 | 3257 | if ($rowcount == -1) $rowcount = $dpl->getRowCount(); |
3162 | 3258 | $dpl2result = $dpl->getText(); |
— | — | @@ -3163,14 +3259,14 @@ |
3164 | 3260 | if ($sOneResultHeader != '' && $rowcount==1) { |
3165 | 3261 | $header = str_replace('%PAGES%',1,$sOneResultHeader); |
3166 | 3262 | } else if ($rowcount==0) { |
3167 | | - if ($sNoResultsHeader != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsHeader)); |
3168 | | - if ($sNoResultsFooter != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsFooter)); |
| 3263 | + if ($sNoResultsHeader != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsHeader)); |
| 3264 | + if ($sNoResultsFooter != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsFooter)); |
3169 | 3265 | if ($sNoResultsHeader == '' && $sNoResultsFooter == '') $output .= $logger->escapeMsg(DPL2_i18n::WARN_NORESULTS); |
3170 | 3266 | } |
3171 | 3267 | else { |
3172 | 3268 | if ($sResultsHeader != '') $header = str_replace('%TOTALPAGES%',$rowcount,str_replace('%PAGES%',$rowcount,$sResultsHeader)); |
3173 | 3269 | } |
3174 | | - $header = str_replace( '\n', "\n", str_replace( "¶", "\n", $header )); |
| 3270 | + $header = str_replace( '\n', "\n", str_replace( "¶", "\n", $header )); |
3175 | 3271 | $header = str_replace('%VERSION%', self::VERSION,$header); |
3176 | 3272 | $footer=''; |
3177 | 3273 | if ($sOneResultFooter != '' && $rowcount==1) { |
— | — | @@ -3178,7 +3274,7 @@ |
3179 | 3275 | } else { |
3180 | 3276 | if ($sResultsFooter != '') $footer = str_replace('%TOTALPAGES%',$rowcount,str_replace('%PAGES%',$rowcount,$sResultsFooter)); |
3181 | 3277 | } |
3182 | | - $footer = str_replace( '\n', "\n", str_replace( "¶", "\n", $footer )); |
| 3278 | + $footer = str_replace( '\n', "\n", str_replace( "¶", "\n", $footer )); |
3183 | 3279 | $footer = str_replace('%VERSION%', self::VERSION, $footer); |
3184 | 3280 | |
3185 | 3281 | $output .= $header . $dpl2result . $footer; |
— | — | @@ -3477,7 +3573,7 @@ |
3478 | 3574 | function DPL2($headings, $bHeadingCount, $iColumns, $iRows, $iRowSize, $sRowColFormat, $articles, $headingtype, $hlistmode, |
3479 | 3575 | $listmode, $bescapelinks, $includepage, $includemaxlen, $includeseclabels, $includeseclabelsmatch, |
3480 | 3576 | $includeseclabelsnotmatch, $includematchparsed, &$parser, $logger, $replaceInTitle, $iTitleMaxLen, |
3481 | | - $defaultTemplateSuffix, $aTableRow, $bIncludeTrim, $iTableSortCol ) { |
| 3577 | + $defaultTemplateSuffix, $aTableRow, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules ) { |
3482 | 3578 | global $wgContLang; |
3483 | 3579 | $this->nameSpaces = $wgContLang->getNamespaces(); |
3484 | 3580 | $this->mArticles = $articles; |
— | — | @@ -3533,13 +3629,13 @@ |
3534 | 3630 | $greml -= $portion; |
3535 | 3631 | // $this->mOutput .= "nsize=$nsize, portion=$portion, greml=$greml"; |
3536 | 3632 | if ($greml>0) { |
3537 | | - $this->mOutput .= $this->formatList($nstart-$offset, $portion, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3633 | + $this->mOutput .= $this->formatList($nstart-$offset, $portion, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3538 | 3634 | $nstart += $portion; |
3539 | 3635 | $portion=0; |
3540 | 3636 | break; |
3541 | 3637 | } |
3542 | 3638 | else { |
3543 | | - $this->mOutput .= $this->formatList($nstart-$offset, $portion+$greml, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3639 | + $this->mOutput .= $this->formatList($nstart-$offset, $portion+$greml, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3544 | 3640 | $nstart += ($portion+$greml); |
3545 | 3641 | $portion = (-$greml); |
3546 | 3642 | if ($iColumns!=1) $this->mOutput .= "\n|valign=top|\n"; |
— | — | @@ -3566,7 +3662,7 @@ |
3567 | 3663 | $this->mOutput .= $hlistmode->sItemStart; |
3568 | 3664 | $this->mOutput .= $hlistmode->sHeadingStart . $headingLink . $hlistmode->sHeadingEnd; |
3569 | 3665 | if ($bHeadingCount) $this->mOutput .= $this->formatCount($headingCount); |
3570 | | - $this->mOutput .= $this->formatList($headingStart, $headingCount, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3666 | + $this->mOutput .= $this->formatList($headingStart, $headingCount, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3571 | 3667 | $this->mOutput .= $hlistmode->sItemEnd; |
3572 | 3668 | $headingStart += $headingCount; |
3573 | 3669 | } |
— | — | @@ -3583,7 +3679,7 @@ |
3584 | 3680 | if ($rest>0) $nsize += 1; |
3585 | 3681 | $this->mOutput .= "{|".$sRowColFormat."\n|\n"; |
3586 | 3682 | for ($g=0;$g<$iGroup;$g++) { |
3587 | | - $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3683 | + $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3588 | 3684 | if ($iColumns!=1) $this->mOutput .= "\n|valign=top|\n"; |
3589 | 3685 | else $this->mOutput .= "\n|-\n|\n"; |
3590 | 3686 | $nstart = $nstart + $nsize; |
— | — | @@ -3599,14 +3695,14 @@ |
3600 | 3696 | $this->mOutput .= '{|'.$sRowColFormat."\n|\n"; |
3601 | 3697 | do { |
3602 | 3698 | if ($nstart+$nsize > $count) $nsize = $count - $nstart; |
3603 | | - $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3699 | + $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3604 | 3700 | $this->mOutput .= "\n|-\n|\n"; |
3605 | 3701 | $nstart = $nstart + $nsize; |
3606 | 3702 | if ($nstart >= $count) break; |
3607 | 3703 | } while (true); |
3608 | 3704 | $this->mOutput .= "\n|}\n"; |
3609 | 3705 | } else { |
3610 | | - $this->mOutput .= $this->formatList(0, count($articles), $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol); |
| 3706 | + $this->mOutput .= $this->formatList(0, count($articles), $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules); |
3611 | 3707 | } |
3612 | 3708 | |
3613 | 3709 | } |
— | — | @@ -3662,16 +3758,18 @@ |
3663 | 3759 | if ($article->mImageSelTitle!= '') $sTag = str_replace('%IMAGESEL%',str_replace('_',' ',$article->mImageSelTitle),$sTag); |
3664 | 3760 | if (!empty($article->mCategoryLinks) ) { |
3665 | 3761 | $sTag = str_replace('%'.'CATLIST%',implode(', ', $article->mCategoryLinks),$sTag); |
| 3762 | + $sTag = str_replace('%'.'CATBULLETS%','* '.implode("\n* ", $article->mCategoryLinks),$sTag); |
3666 | 3763 | $sTag = str_replace('%'.'CATNAMES%',implode(', ', $article->mCategoryTexts),$sTag); |
3667 | 3764 | } |
3668 | 3765 | else { |
3669 | 3766 | $sTag = str_replace('%'.'CATLIST%','',$sTag); |
| 3767 | + $sTag = str_replace('%'.'CATBULLETS%','',$sTag); |
3670 | 3768 | $sTag = str_replace('%'.'CATNAMES%','',$sTag); |
3671 | 3769 | } |
3672 | 3770 | return $sTag; |
3673 | 3771 | } |
3674 | 3772 | |
3675 | | - function formatList($iStart, $iCount, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol) { |
| 3773 | + function formatList($iStart, $iCount, $iTitleMaxLen, $defaultTemplateSuffix, $bIncludeTrim, $iTableSortCol, $updateRules, $deleteRules) { |
3676 | 3774 | global $wgUser, $wgLang, $wgContLang; |
3677 | 3775 | |
3678 | 3776 | $mode = $this->mListMode; |
— | — | @@ -3702,12 +3800,35 @@ |
3703 | 3801 | if ($mode->name == 'userformat') $incwiki = ''; |
3704 | 3802 | else $incwiki = '<br/>'; |
3705 | 3803 | $text = $this->mParser->fetchTemplate(Title::newFromText($title)); |
3706 | | - if( $this->mIncMaxLen > 0 && (strlen($text) > $this->mIncMaxLen) ) { |
3707 | | - $text = DPL2Include::limitTranscludedText($text, $this->mIncMaxLen, ' [['.$title.'|..→]]'); |
| 3804 | + if ((count($this->mIncSecLabelsMatch)<=0 || $this->mIncSecLabelsMatch[0] == '' || |
| 3805 | + !preg_match($this->mIncSecLabelsMatch[0],$text)==false) && |
| 3806 | + (count($this->mIncSecLabelsNotMatch)<=0 || $this->mIncSecLabelsNotMatch[0] == '' || |
| 3807 | + preg_match($this->mIncSecLabelsNotMatch[0],$text)==false)) { |
| 3808 | + if( $this->mIncMaxLen > 0 && (strlen($text) > $this->mIncMaxLen) ) { |
| 3809 | + $text = DPL2Include::limitTranscludedText($text, $this->mIncMaxLen, ' [['.$title.'|..→]]'); |
| 3810 | + } |
| 3811 | + $this->filteredCount = $this->filteredCount + 1; |
| 3812 | + |
| 3813 | + // update article if include=* and updaterules are given |
| 3814 | + if ($updateRules!='') { |
| 3815 | + $message = $this->updateArticleByRule($title,$text,$updateRules); |
| 3816 | + // append update message to output |
| 3817 | + $incwiki .= $message; |
| 3818 | + } |
| 3819 | + else if ($deleteRules!='') { |
| 3820 | + $message = $this->deleteArticleByRule($title,$text,$deleteRules); |
| 3821 | + // append delete message to output |
| 3822 | + $incwiki .= $message; |
| 3823 | + } |
| 3824 | + else { |
| 3825 | + // append full text to output |
| 3826 | + $incwiki .= $text; |
| 3827 | + } |
3708 | 3828 | } |
3709 | | - $incwiki .= $text; |
3710 | | - $this->filteredCount = $this->filteredCount + 1; |
3711 | | - |
| 3829 | + else { |
| 3830 | + continue; |
| 3831 | + } |
| 3832 | + |
3712 | 3833 | } else { |
3713 | 3834 | // identify section pieces |
3714 | 3835 | $secPiece=array(); |
— | — | @@ -3763,6 +3884,7 @@ |
3764 | 3885 | } |
3765 | 3886 | } |
3766 | 3887 | $this->formatSingleItems($secPieces,$s); |
| 3888 | + if (!array_key_exists(0,$secPieces)) break; # to avoid matching against a non-existing array element |
3767 | 3889 | $secPiece[$s] = $secPieces[0]; |
3768 | 3890 | for ($sp=1;$sp<count($secPieces);$sp++) { |
3769 | 3891 | if (isset($mode->aMultiSecSeparators[$s])) { |
— | — | @@ -3879,7 +4001,7 @@ |
3880 | 4002 | if($article->mUserLink != '') $rBody .= ' . . [[User:' . $article->mUser .'|'.$article->mUser.']]'; |
3881 | 4003 | if($article->mContributor != '')$rBody .= ' . . [[User:' . $article->mContributor .'|'.$article->mContributor." $article->mContrib]]"; |
3882 | 4004 | |
3883 | | - if( !empty($article->mCategoryLinks) ) $rBody .= ' . . <SMALL>' . wfMsg('categories') . ': ' . implode(' | ', $article->mCategoryLinks) . '</SMALL>'; |
| 4005 | + if( !empty($article->mCategoryLinks) ) $rBody .= ' . . <small>' . wfMsg('categories') . ': ' . $wgLang->pipeList( $article->mCategoryLinks ) . '</small>'; |
3884 | 4006 | } |
3885 | 4007 | |
3886 | 4008 | // add included contents |
— | — | @@ -3916,7 +4038,138 @@ |
3917 | 4039 | } |
3918 | 4040 | return $mode->sListStart . $rBody . $mode->sListEnd; |
3919 | 4041 | } |
| 4042 | + |
3920 | 4043 | |
| 4044 | + function updateArticleByRule($title,$text,$rulesText) { |
| 4045 | + // we use ; as command delimiter; \; stands for a semicolon |
| 4046 | + // \n is translated to a real linefeed |
| 4047 | + $rulesText = str_replace(";",'°',$rulesText); |
| 4048 | + $rulesText = str_replace('\°',';',$rulesText); |
| 4049 | + $rulesText = str_replace("\\n","\n",$rulesText); |
| 4050 | + $rules=split('°',$rulesText); |
| 4051 | + $exec=false; |
| 4052 | + $replaceThis=''; |
| 4053 | + $replacement=''; |
| 4054 | + $after=''; |
| 4055 | + $insertionAfter=''; |
| 4056 | + $before=''; |
| 4057 | + $insertionBefore=''; |
| 4058 | + $lastCmd=''; |
| 4059 | + $message= ''; |
| 4060 | + $summary=''; |
| 4061 | + // $message .= 'updaterules=<pre><nowiki>'; |
| 4062 | + foreach ($rules as $rule) { |
| 4063 | + $cmd = preg_split("/ +/",$rule,2); |
| 4064 | + if (count($cmd)>1) $arg = $cmd[1]; |
| 4065 | + else $arg=''; |
| 4066 | + $cmd[0]=trim($cmd[0]); |
| 4067 | + |
| 4068 | + // after ... insert ... , before ... insert ... |
| 4069 | + if ($cmd[0] == 'before') { |
| 4070 | + // $message.= "before = $arg\n"; |
| 4071 | + $before=$arg; |
| 4072 | + $lastCmd='B'; |
| 4073 | + } |
| 4074 | + if ($cmd[0] == 'after') { |
| 4075 | + // $message.= "after = $arg\n"; |
| 4076 | + $after=$arg; |
| 4077 | + $lastCmd='A'; |
| 4078 | + } |
| 4079 | + if ($cmd[0] == 'insert' && $lastCmd!='') { |
| 4080 | + // $message.= "insert $lastCmd = $arg\n"; |
| 4081 | + if ($lastCmd=='A') $insertionAfter=$arg; |
| 4082 | + if ($lastCmd=='B') $insertionBefore=$arg; |
| 4083 | + } |
| 4084 | + |
| 4085 | + // replace ... by ... |
| 4086 | + if ($cmd[0] == 'replace') { |
| 4087 | + // $message.= "repl = $arg\n"; |
| 4088 | + $replaceThis=$arg; |
| 4089 | + } |
| 4090 | + if ($cmd[0] == 'by') { |
| 4091 | + // $message.= "by = $arg\n"; |
| 4092 | + $replacement=$arg; |
| 4093 | + } |
| 4094 | + |
| 4095 | + if ($cmd[0] == 'summary') { |
| 4096 | + // $message.= "summary = $arg\n"; |
| 4097 | + $summary=$arg; |
| 4098 | + } |
| 4099 | + |
| 4100 | + // we execute only if "exec" is given, otherwise we merely show what would be done |
| 4101 | + if ($cmd[0] == 'exec') { |
| 4102 | + // $message.= "exec = true\n"; |
| 4103 | + $exec=true; |
| 4104 | + } |
| 4105 | + |
| 4106 | + |
| 4107 | + } |
| 4108 | + $summary .= "\nbulk update:"; |
| 4109 | + if ($replaceThis!='') $summary .= "\n replace $replaceThis\n by $replacement"; |
| 4110 | + if ($before!='') $summary .= "\n before $before\n insertionBefore"; |
| 4111 | + if ($after!='') $summary .= "\n after $after\n insertionAfter"; |
| 4112 | + |
| 4113 | + // $message.= '</nowiki></pre>'; |
| 4114 | + |
| 4115 | + if ($replaceThis!='') { |
| 4116 | + $text = preg_replace("$replaceThis",$replacement,$text); |
| 4117 | + } |
| 4118 | + |
| 4119 | + if ($insertionBefore!='' && $before != '') { |
| 4120 | + $text = preg_replace("/($before)/",$insertionBefore.'\1',$text); |
| 4121 | + } |
| 4122 | + |
| 4123 | + if ($insertionAfter!='' && $after != '') { |
| 4124 | + $text = preg_replace("/($after)/",'\1'.$insertionAfter,$text); |
| 4125 | + } |
| 4126 | + |
| 4127 | + $titleX = Title::newFromText($title); |
| 4128 | + global $wgArticle; |
| 4129 | + $wgArticle = $articleX = new Article($titleX); |
| 4130 | + if ($exec) $articleX->updateArticle($text, $summary, false, $titleX->userIsWatching()); |
| 4131 | + else $message .= "set 'exec yes' to perform the following modification to <big>'''$title'''</big>\n"; |
| 4132 | + $message .= "<pre><nowiki>" |
| 4133 | + ."\n".$text."</nowiki></pre>"; // <pre><nowiki>\n"; // .$text."\n</nowiki></pre>\n"; |
| 4134 | + return $message; |
| 4135 | + } |
| 4136 | + |
| 4137 | + function deleteArticleByRule($title,$text,$rulesText) { |
| 4138 | + // we use ; as command delimiter; \; stands for a semicolon |
| 4139 | + // \n is translated to a real linefeed |
| 4140 | + $rulesText = str_replace(";",'°',$rulesText); |
| 4141 | + $rulesText = str_replace('\°',';',$rulesText); |
| 4142 | + $rulesText = str_replace("\\n","\n",$rulesText); |
| 4143 | + $rules=split('°',$rulesText); |
| 4144 | + $exec=false; |
| 4145 | + $message= ''; |
| 4146 | + $reason=''; |
| 4147 | + foreach ($rules as $rule) { |
| 4148 | + $cmd = preg_split("/ +/",$rule,2); |
| 4149 | + if (count($cmd)>1) $arg = $cmd[1]; |
| 4150 | + else $arg=''; |
| 4151 | + $cmd[0]=trim($cmd[0]); |
| 4152 | + |
| 4153 | + if ($cmd[0] == 'reason') { |
| 4154 | + $reason=$arg; |
| 4155 | + } |
| 4156 | + |
| 4157 | + // we execute only if "exec" is given, otherwise we merely show what would be done |
| 4158 | + if ($cmd[0] == 'exec') { |
| 4159 | + $exec=true; |
| 4160 | + } |
| 4161 | + } |
| 4162 | + $reason .= "\nbulk delete by DPL query"; |
| 4163 | + |
| 4164 | + $titleX = Title::newFromText($title); |
| 4165 | + global $wgArticle; |
| 4166 | + $wgArticle = $articleX = new Article($titleX); |
| 4167 | + if ($exec) $articleX->doDelete($reason); |
| 4168 | + else $message .= "set 'exec yes' to delete <big>'''$title'''</big>\n"; |
| 4169 | + $message .= "<pre><nowiki>" |
| 4170 | + ."\n".$text."</nowiki></pre>"; // <pre><nowiki>\n"; // .$text."\n</nowiki></pre>\n"; |
| 4171 | + return $message; |
| 4172 | + } |
| 4173 | + |
3921 | 4174 | // generate a hyperlink to the article |
3922 | 4175 | function articleLink($tag,$article,$iTitleMaxLen) { |
3923 | 4176 | $pagename = $article->mTitle->getPrefixedText(); |
Index: branches/REL1_14/extensions/DynamicPageList/DynamicPageList2Include.php |
— | — | @@ -8,7 +8,7 @@ |
9 | 9 | * |
10 | 10 | * |
11 | 11 | * @author Steve Sanbeg |
12 | | - * @copyright Copyright � 2006, Steve Sanbeg |
| 12 | + * @copyright Copyright © 2006, Steve Sanbeg |
13 | 13 | * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later |
14 | 14 | * |
15 | 15 | * |
— | — | @@ -436,7 +436,7 @@ |
437 | 437 | $extractParm = array(); |
438 | 438 | |
439 | 439 | // check if we want to extract parameters directly from the call |
440 | | - // in that case we won�t invoke template2 but will directly return the extracted parameters |
| 440 | + // in that case we won´t invoke template2 but will directly return the extracted parameters |
441 | 441 | // as a sequence of table columns; |
442 | 442 | if (strlen($template2)>strlen($template1) && ($template2[strlen($template1)]==':')) { |
443 | 443 | $extractParm = split(':',substr($template2,strlen($template1)+1)); |
— | — | @@ -572,4 +572,3 @@ |
573 | 573 | } |
574 | 574 | |
575 | 575 | } |
576 | | -?> |
\ No newline at end of file |
Property changes on: branches/REL1_14/extensions/DynamicPageList |
___________________________________________________________________ |
Name: svn:mergeinfo |
577 | 576 | + /trunk/extensions/DynamicPageList:50074-50075 |