Author: heiko.braun(a)jboss.com
Date: 2007-06-25 14:20:45 -0400 (Mon, 25 Jun 2007)
New Revision: 3715
Added:
projects/wiki/extensions/recaptcha/
projects/wiki/extensions/recaptcha/AUTHORS
projects/wiki/extensions/recaptcha/ConfirmEdit.i18n.php
projects/wiki/extensions/recaptcha/ConfirmEdit.php
projects/wiki/extensions/recaptcha/README
projects/wiki/extensions/recaptcha/ReCaptcha.i18n.php
projects/wiki/extensions/recaptcha/ReCaptcha.php
projects/wiki/extensions/recaptcha/recaptchalib.php
Modified:
projects/wiki/LocalSettings.php
Log:
Added recaptcha, secure registration
Modified: projects/wiki/LocalSettings.php
===================================================================
--- projects/wiki/LocalSettings.php 2007-06-25 18:07:00 UTC (rev 3714)
+++ projects/wiki/LocalSettings.php 2007-06-25 18:20:45 UTC (rev 3715)
@@ -140,4 +140,11 @@
include("extensions/Abbr.php");
include("extensions/Object.php");
include("extensions/Kbd.php");
+
+# Secure registration
+require_once( "extensions/recaptcha/ReCaptcha.php" );
+// Sign up for these at
http://recaptcha.net/api/getkey
+$recaptcha_public_key = '6LeaFQAAAAAAANdJOabOzJZc2XIPMX9GaTUeu6zu';
+$recaptcha_private_key = '6LeaFQAAAAAAADf35ShIh9BuBytm8o_Vs58VaDQr';
+
?>
Added: projects/wiki/extensions/recaptcha/AUTHORS
===================================================================
--- projects/wiki/extensions/recaptcha/AUTHORS (rev 0)
+++ projects/wiki/extensions/recaptcha/AUTHORS 2007-06-25 18:20:45 UTC (rev 3715)
@@ -0,0 +1,6 @@
+Mike Crawford <mike.crawford(a)gmail.com>
+ Research Programmer, Carnegie Mellon University
+Ben Maurer <
http://bmaurer.blogspot.com/>
+ Chief Software Architect, reCAPTCHA
+Brion Vibber <brion(a)pobox.com>
+ Author of ConfirmEdit, which this extension is built on.
Added: projects/wiki/extensions/recaptcha/ConfirmEdit.i18n.php
===================================================================
--- projects/wiki/extensions/recaptcha/ConfirmEdit.i18n.php (rev
0)
+++ projects/wiki/extensions/recaptcha/ConfirmEdit.i18n.php 2007-06-25 18:20:45 UTC (rev
3715)
@@ -0,0 +1,669 @@
+<?php
+/**
+ * Internationalisation file for ConfirmEdit extension.
+ *
+ * @addtogroup Extensions
+*/
+
+$wgConfirmEditMessages = array();
+
+$wgConfirmEditMessages['en'] = array(
+ 'captcha-edit' => 'To edit this article, please solve the simple sum
below and enter the answer in
+the box ([[Special:Captcha/help|more info]]):',
+ 'captcha-addurl' => 'Your edit includes new external links. To help
protect against automated
+spam, please solve the simple sum below and enter the answer in the box
([[Special:Captcha/help|more info]]):',
+ 'captcha-badpass' => 'To help protect against automated password
cracking, please solve the simple sum
+below and enter the answer in the box ([[Special:Captcha/help|more info]]):',
+ 'captcha-createaccount' => 'To help protect against automated account
creation, please solve the simple sum
+ below and enter the answer in the box ([[Special:Captcha/help|more info]]):',
+ 'captcha-createaccount-fail' => "Incorrect or missing confirmation
code.",
+ 'captcha-create' => 'To create the page, please solve the simple sum
below and enter
+the answer in the box ([[Special:Captcha/help|more info]]):',
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-cookies-needed' => "You will need to have cookies enabled
in your browser for this to work.",
+ 'captchahelp-text' => "Web sites that accept postings from the
public, like this wiki, are often abused by spammers who use automated tools to post their
links to many sites. While these spam links can be removed, they are a significant
nuisance.
+
+Sometimes, especially when adding new web links to a page, the wiki may show you an image
of colored or distorted text and ask you to type the words shown. Since this is a task
that's hard to automate, it will allow most real humans to make their posts while
stopping most spammers and other robotic attackers.
+
+Unfortunately this may inconvenience users with limited vision or using text-based or
speech-based browsers. At the moment we do not have an audio alternative available. Please
contact the site administrators for assistance if this is unexpectedly preventing you from
making legitimate posts.
+
+Hit the 'back' button in your browser to return to the page editor.",
+);
+
+$wgConfirmEditMessages['af'] = array(
+ 'captcha-edit' => "U wysiging bevat nuwe webskakels. Neem
kennis dat blote reklame van u werf, produk of besigheid as vandalisme beskou kan word. As
beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in die
prentjie moet intik: <br />([[Spesiaal:Captcha/help|Wat is hierdie?]])",
+ 'captcha-addurl' => "U wysiging bevat nuwe webskakels.
Neem kennis dat blote reklame van u werf, produk of besigheid as vandalisme beskou kan
word. As beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in
die prentjie moet intik: <br />([[Spesiaal:Captcha/help|Wat is hierdie?]])",
+ 'captcha-create' => "U wysiging bevat nuwe webskakels.
Neem kennis dat blote reklame van u werf, produk of besigheid as vandalisme beskou kan
word. As beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in
die prentjie moet intik: <br />([[Spesiaal:Captcha/help|Wat is hierdie?]])",
+ 'captchahelp-title' => 'Captcha-hulp',
+ 'captchahelp-text' => "Webwerwe wat bydraes van die publiek
aanvaar (soos hierdie wiki) word soms lastig geval deur kwaaddoeners met programme wat
outomaties klomp skakels plak in die werf. Alhoewel hierdie gemors verwyder kan word, is
dit lastig. In party gevalle, veral as u webskakels by 'n blad voeg, sal die wiki dalk
'n beeld met verwronge teks vertoon en vra dat u die woorde daarin intik. Omdat
hierdie taak moeilik geoutomatiseer word, laat dit meeste regte mense toe om bydraes te
maak terwyl dit meeste kwaaddoeners stop. Hierdie kan ongelukkig lastig wees vir mense met
beperkte sig, of diegene wat teks- of spraakgebaseerde blaaiers gebruik. Tans is daar nog
nie 'n klankalternatief beskikbaar nie. Kontak asseblief die werfadministrateurs vir
hulp as hierdie u onverwags belemmer om legitieme bydraes te maak. Gebruik die
\"terug\"-knoppie van u blaaier om na die vorige blad terug te keer.",
+ 'captcha-createaccount' => "As 'n beskerming teen
geoutomatiseerde gemors, tik asseblief die woorde wat in die beeld verskyn in om 'n
rekening te skep: <br />([[Special:Captcha/help|Wat is hierdie?]])",
+ 'captcha-createaccount-fail' => "Verkeerde of geen
bevestigingkode.",
+);
+$wgConfirmEditMessages['ar'] = array(
+ 'captcha-edit' => 'يحتوي تعديلك هذا على وصلات خارجية.
للحماية من السخام الأوتوماتيكي، قم من فضلك بحل المسألة الرياضية البسيطة أدناه وأدخل الحل
في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):',
+ 'captcha-createaccount' => 'كحماية ضد العمليات التخريبية، يجب أن
تدخل ناتج العملية الحسابية التالية لكي تنشأ حسابا: <br />([[Special:Captcha/help|ما
هذا؟]])',
+ 'captcha-createaccount-fail' => 'كود غير مطابق أو لم تقم بإدخاله.',
+ 'captcha-create' => 'من فضلك قم بحل المسألة الرياضية التالية
لإنشاء هذه الصفحة وأدخل
+الجواب في الصندوق ([[Special:Captcha/help|ما هذا؟]]):',
+ 'captchahelp-title' => 'مساعدة الكابتشا',
+ 'captchahelp-text' => 'عادة ما يتم في المواقع التي تقبل الردود
والرسائل من العامة، كهذا الويكي، تخريب الموقع عن طريق الأشخاص الذين يستعملون آليات معينة
لإرسال وصلاتهم لمواقع متعددة بصورة آلية. وعلى الرغم من أن هذا يمكن إزالته ولكنه مزعج
للغاية.
+
+في بعض الأحيان، خصوصا عند إضافة وصلات لصفحة، ربما يعرض الويكي صورة ملونة أو مشوشة ويطلب
منك إدخال كلمات موجودة بالصورة أو يعرض عليك مسألة رياضية عشوائية ويطلب منك حلها. ولأن هذه
المهمة صعبة للغاية لأن يقوم بها برنامج، سيسمح هذا للأشخاص الآدميين بإضافة تحريراتهم بينما
ستوقف البرامج التخريبية والهجمات الآلية الأخرى.
+
+للأسف سيكون هذا صعبا بالنسبة لمستخدمي المتصفحات المحدودة أو التي تعتمد على النصوص فقط أو
قراءة النصوص. في الوقت الحالي لا يوجد لدينا بديل سمعي. من فضلك راسل مديري الموقع للمساعدة
إذا كان هذا الأمر يمنعك من التعديل ووضع وصلات قانونية.
+
+إذا كنت تحرر صفحة معينة: اضغط زر \'العودة\' في متصفحك للعودة إلى التحرير.',
+);
+$wgConfirmEditMessages['br'] = array(
+ 'captcha-edit' => 'Liammoù diavaez nevez zo bet ouzhpennet
ganeoc\'h. A-benn en em wareziñ diouzh ar spam emgefre skrivit disoc\'h ar
jedadennig eeun-mañ er stern : <br />([[Special:Captcha/help|Petra eo se?]])',
+ 'captcha-addurl' => 'Liammoù diavaez nevez zo bet
ouzhpennet ganeoc\'h. A-benn en em wareziñ diouzh ar spam emgefre skrivit disoc\'h
ar jedadennig eeun-mañ er stern : <br />([[Special:Captcha/help|Petra eo
se?]])',
+ 'captcha-create' => 'Liammoù diavaez nevez zo bet
ouzhpennet ganeoc\'h. A-benn en em wareziñ diouzh ar spam emgefre skrivit disoc\'h
ar jedadennig eeun-mañ er stern : <br />([[Special:Captcha/help|Petra eo
se?]])',
+ 'captcha-createaccount' => 'A-benn hor skoazellañ d\'en em
wareziñ diouzh ar c\'hrouiñ kontoù emgefre, skrivit ar gerioù a zeu war wel er
stern-mañ evit enrollañ ho kont : <br />([[Special:Captcha/help|Petra eo
se?]])',
+ 'captcha-createaccount-fail' => 'Mankout a ra ar c\'hod kadarnaat pe
fall eo.',
+ 'captchahelp-title' => 'Skoazell Capcha',
+ 'captchahelp-text' => 'Alies e vez taget al lec\'hiennoù a
zegemer kemennadennoù a-berzh an holl, evel ar wiki-mañ, gant ar spamerien a implij
ostilhoù emgefre evit postañ o liammoù war lec\'hiennoù a bep seurt. Diverket e
c\'hallont bezañ, gwir eo, kazus-mat ez int memes tra. A-wechoù, dreist-holl pa vez
ouzhpennet liammoù Web nevez war ur bajenn, e c\'hallo ar wiki-mañ diskouez
deoc\'h ur skeudenn warni un tamm testenn liv pe a-dreuz. Goulennet e vo
diganeoc\'h skrivañ ar gerioù deuet war wel. Un trevell start da emgefrekaat eo hemañ.
Gant se e c\'hallo an implijerien wirion postañ ar pezh a fel ldezho tra ma vo lakaet
un harz d\'an darn vrasañ eus ar spamerien pe d\'an dagerien robotek all.
Koulskoude e c\'hallo an implijerien berr o gweled pe ar re a implij merdeerioù
diazezet war ar skrid pe war ar vouezh bezañ strafuilhet gant se. N\'omp ket evit
kinnig un diskoulm dre glevet evit c\'hoazh. Kit e darempred gant merourien al
lec\'hienn m\'!
hoc\'h eus diaesterioù evit kemer perzh abalamour d\'an teknik-se. Pouezit war
bouton \'kent\' ho merdeer evit distreiñ d\'ar bajenn gemmañ.',
+);
+$wgConfirmEditMessages['bs'] = array(
+ 'captcha-edit' => 'Vaša izmjena uključuje nove URL poveznice; kao
zaštita od automatizovanog vandalizma, moraćete da ukucate riječi koje su prikazane u
slici:
+<br />([[{{ns:special}}:Captcha/help|Šta je ovo?]])',
+ 'captcha-addurl' => 'Vaša izmjena uključuje nove URL poveznice; kao
zaštita od automatizovanog vandalizma, moraćete da ukucate riječi koje su prikazane u
slici:
+<br />([[{{ns:special}}:Captcha/help|Šta je ovo?]])',
+ 'captcha-create' => 'Vaša izmjena uključuje nove URL poveznice; kao
zaštita od automatizovanog vandalizma, moraćete da ukucate riječi koje su prikazane u
slici:
+<br />([[{{ns:special}}:Captcha/help|Šta je ovo?]])',
+ 'captchahelp-text' => 'Vebsajtovi koji podržavaju slanje sadržaja iz
javnosti, kao što je ovaj viki, često zloupotrebljavaju vandali koji koriste
automatizovane alate da šalju svoje poveznice ka mnogim sajtovima. Iako se ove neželjene
poveznice mogu ukloniti, one ipak zadaju veliku muku.
+
+Ponekad, pogotovo kad se dodaju nove internet poveznice na stranicu, viki softver Vam
može pokazati sliku obojenog i izvrnutog teksta i tražiti da ukucate traženu riječ. Pošto
je teško automatizovati ovakav zadatak, on omogućuje svim pravim ljudima da vrše svoje
izmjene, ali će zato spriječiti vandale i ostale robotske napadače.
+
+Nažalost, ovo može da bude nepovoljno za korisnike sa ograničenim vidom i za one koji
koriste brauzere bazirane na tekstu ili govoru. U ovom trenutku, audio alternativa nije
dostupna. Molimo Vas da kontaktirate administratore sajta radi pomoći ako Vas ovo
neočekivano ometa u pravljenju dobrih izmjena.
+
+Kliknite \'nazad\' (\'back\') dugme vašeg brauzera da se vratite na polje
za unos teksta.',
+ 'captcha-createaccount' => 'Kao zaštita od automatizovanog vandalizma,
moraćete da ukucate riječi koje se nalaze na slici da biste registrovali nalog:
+<br />([[{{ns:special}}:Captcha/help|Šta je ovo?]])',
+ 'captcha-createaccount-fail' => 'Netačan unos ili nedostatak šifre za
potvrđivanje.',
+);
+$wgConfirmEditMessages['ca'] = array(
+ 'captcha-edit' => 'La vostra edició conté enllaços externs
nous. Com a protecció contra la brossa de propaganda automàtica, cal que resolgueu aquesta
simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més
informació]]):',
+ 'captcha-addurl' => 'La vostra edició conté enllaços
externs nous. Com a protecció contra la brossa de propaganda automàtica, cal que resolgueu
aquesta simple suma i introduïu el resultat en el quadre a continuació
([[Special:Captcha/help|més informació]]):',
+ 'captcha-create' => 'La vostra edició conté enllaços
externs nous. Com a protecció contra la brossa de propaganda automàtica, cal que resolgueu
aquesta simple suma i introduïu el resultat en el quadre a continuació
([[Special:Captcha/help|més informació]]):',
+ 'captcha-createaccount' => 'Com a protecció contra la creació
automàtica de comptes d\'usuari necessitem que resolgueu aquesta simple suma i
introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més
informació]]):',
+ 'captcha-createaccount-fail' => 'Manca el codi de confirmació, o bé és
incorrecte.',
+ 'captchahelp-title' => 'Ajuda amb el sistema captcha',
+ 'captchahelp-text' => 'Els webs que accepten la publicació de
missatges per part del seu públic, com aquesta wiki, són sovint víctimes de spam per part
de robots automàtics que hi posen enllaços cap als seus webs. Aquests enllaços poden anar
essent esborrats, però són un important destorb.
+
+Quan creeu nous comptes d\'usuari o voleu afegir enllaços a una pàgina se us pot
demanar que respongueu una pregunta fàcil, una suma o que digueu quina paraula apareix en
una imatge distorsionada. Aquestes tasques són molt difícils de fer per a un programa
automàtic i per tant permet que la majoria d\'usuaris humans puguin introduir la
informació que creguin i alhora atura la majoria d\'atacants robots.
+
+Malauradament, aquest sistema pot suposar un inconvenient per a usuaris amb problemes de
visió o que utilitzin navegadors de text simple o de veu. Actualment no disposem de cap
alternativa auditiva disponible. Contacteu els administradors del web si aquests sistema
us impedeix de fer edicions legítimes.
+
+Necessitareu tenir les galetes activades en el vostre navegador per a que funcioni.
+
+Cliqueu el botó de retrocedir del vostre navegador per a tornar al formulari.',
+);
+$wgConfirmEditMessages['cs'] = array(
+ 'captcha-edit' => 'Vaše editace obsahuje nové odkazy formou
URL; v zájmu ochrany před automatickým spamováním musíte opsat text z následujícího
obrázku:<br />([[Special:Captcha/help|Co tohle znamená?]])',
+ 'captcha-addurl' => 'Vaše editace obsahuje nové odkazy
formou URL; v zájmu ochrany před automatickým spamováním musíte opsat text z následujícího
obrázku:<br />([[Special:Captcha/help|Co tohle znamená?]])',
+ 'captcha-create' => 'Vaše editace obsahuje nové odkazy
formou URL; v zájmu ochrany před automatickým spamováním musíte opsat text z následujícího
obrázku:<br />([[Special:Captcha/help|Co tohle znamená?]])',
+ 'captchahelp-title' => 'Nápověda ke captcha',
+ 'captchahelp-text' => "Webové stránky, do kterých mohou
přispívat jejich návštěvníci (jako například tato wiki), jsou často terčem spammerů, kteří
pomocí automatických nástrojů vkládají své odkazy na velké množství stránek. Přestože lze
tento spam odstranit, představuje nepříjemné obtěžování.
+
+Někdy, zvláště při přidávání nových webových odkazů, vám může wiki ukázat obrázek
barevného či pokrouceného textu a požádat vás o opsání zobrazených znaků. Jelikož takovou
úlohu lze jen těžko automatizovat, skuteční lidé mohou dále přispívat, zatímco většina
spammerů a jiných robotických útočníků to zastaví.
+
+Bohužel to však může představovat nepříjemný problém pro uživatele se zrakovým postižením
či uživatele používající textové prohlížeče či hlasové čtečky. V současné době nemáme
alternativní zvukovou verzi. Kontaktujte laskavě správce serveru, pokud vám to brání v
užitečných příspěvcích a potřebujete pomoc.
+
+Pro návrat na předchozí stránku stiskněte ve svém prohlížeči tlačítko „zpět“.",
+ 'captcha-createaccount' => 'V rámci ochrany před automatickým
spamováním musíte pro provedení registrace opsat text z následujícího obrázku:<br
/>([[Special:Captcha/help|Co tohle znamená?]])',
+ 'captcha-createaccount-fail' => 'Chybějící či neplatný potvrzovací
kód.',
+);
+$wgConfirmEditMessages['cy'] = array(
+ 'captcha-edit' => "Mae eich golygiad yn cynnwys
cysylltiadau URL newydd. Er mwyn profi nad ydych yn beiriant sbam, teipiwch y geiriau
canlynol yn y blwch isod os gwelwch yn dda. <br />([[Arbennig:Captcha/help|Mwy o
wybodaeth]])",
+ 'captcha-addurl' => "Mae eich golygiad yn cynnwys
cysylltiadau URL newydd. Er mwyn profi nad ydych yn beiriant sbam, teipiwch y geiriau
canlynol yn y blwch isod os gwelwch yn dda. <br />([[Arbennig:Captcha/help|Mwy o
wybodaeth]])",
+ 'captcha-create' => "Mae eich golygiad yn cynnwys
cysylltiadau URL newydd. Er mwyn profi nad ydych yn beiriant sbam, teipiwch y geiriau
canlynol yn y blwch isod os gwelwch yn dda. <br />([[Arbennig:Captcha/help|Mwy o
wybodaeth]])",
+ 'captchahelp-title' => 'Cymorth "captcha"',
+ 'captchahelp-text' => "Yn anffodus, mae safleoedd gwe fel
Wicipedia, sy'n caniatau i'r cyhoedd ysgrifennu iddi, yn darged beunyddiol i
sbamwyr sy'n defnyddio rhaglenni arbennig i bostio eu cysylltiadau. Gellir dileu'r
dolenni o'r dudalen, ond mae hyn yn drafferth mawr. O dro i dro, fe fydd y safle hon
yn dangos delwedd o destun, ac fe fydd yn rhaid i chi deipio'r geiriau a ddangosir.
Mae hyn yn dasg anodd iawn i ragenni cyfrifiadurol, felly dylai golygwyr go iawn
gyflawni'r dasg yn di-drafferth, yn wahanol i'r rhaglenni sbam. Mae hyn yn amlwg
yn creu trafferthion i'r sawl sydd yn defnyddio porwyr testun neu sydd yn colli eu
golwg. Ar hyn o bryd nid oes fersiwn sain ar gael. Cysylltwch â gweinyddwyr y safle os
ydi'r nodwedd hon yn eich rhwystro rhag ychwanegu golygiadau dilys. Gwasgwch botwm
'nôl' eich porwr er mwyn dychwelyd.",
+ 'captcha-createaccount' => "Teipiwch y geiriau sy'n ymddangos
yn y ddelwedd isod os gwelwch yn dda. Mae'r nodwedd hon yn rhwystro rhaglenni sbam
rhag creu cyfrifon i'w hunain. <br />([[Arbennig:Captcha/help|Mwy o
wybodaeth]])",
+ 'captcha-createaccount-fail' => "Côd cadarnhau ar goll neu'n
anghywir.",
+);
+$wgConfirmEditMessages['de'] = array(
+ 'captcha-edit' => "Zur Bearbeitung der Seite ist es nötig, dass
Sie die nachfolgende Rechenaufgabe lösen und das Ergebnis eintragen
[[{{ns:special}}:Captcha/help|(Fragen oder Probleme?)]].",
+ 'captcha-addurl' => "Ihre Bearbeitung enthält neue externe Links.
Zum Schutz vor automatisiertem Spamming ist es nötig, dass Sie die nachfolgende
Rechenaufgabe lösen und das Ergebnis eintragen. Klicken Sie dann erneut auf „Seite
speichern“ [[{{ns:special}}:Captcha/help|(Fragen oder Probleme?)]].",
+ 'captcha-badpass' => 'Zum Schutz vor einer Kompromittierung
Ihres Benutzerkontos Sie die Summe der nachfolgende Zahlen in das darunter erscheinende
Feld ein [[{{ns:special}}:Captcha/help|(Fragen oder Probleme?)]]:',
+ 'captcha-createaccount' => "Zum Schutz vor automatisierter Anlage
von Benutzerkonten müssen Sie einmalig die nebenstehende Rechenaufgabe lösen
[[{{ns:special}}:Captcha/help|(Fragen oder Probleme?)]].",
+ 'captcha-createaccount-fail' => "Falscher oder fehlender
Bestätigungscode.",
+ 'captcha-create' => "Zur Erstellung der Seite ist es nötig, dass
Sie die nachfolgende Rechenaufgabe lösen und das Ergebnis eintragen
[[{{ns:special}}:Captcha/help|(Fragen oder Probleme?)]].",
+ 'captchahelp-title' => 'Captcha-Hilfe',
+ 'captchahelp-cookies-needed' => "'''Wichtiger
Hinweis:''' Es müssen Cookies im Browser erlaubt sein.",
+ 'captchahelp-text' => "Internetangebote, die für Beiträge von
praktisch jedem offen sind — so wie das {{SITENAME}}-Wiki — werden oft von Spammern
missbraucht, die ihre Links automatisch auf vielen Webseiten platzieren. Diese Spam-Links
können wieder entfernt werden, sie sind aber ein erhebliches Ärgernis. In manchen Fällen,
insbesondere beim Hinzufügen von neuen Weblinks zu einer Seite, kann es vorkommen, dass
dieses Wiki ein Bild mit einem farbigen und verzerrten Text anzeigt und dazu auffordert,
die angezeigten Wörter einzutippen. Da eine solche Aufgabe nur schwer automatisch erledigt
werden kann, werden dadurch die meisten Spammer, die mit automatischen Werkzeugen
arbeiten, gestoppt, wogegen menschliche Benutzer ihren Beitrag absenden können. Leider
kann dies zu Schwierigkeiten für Personen führen, die über eine eingeschränkte
Sehfähigkeit verfügen oder text- oder sprachbasierte Browser verwenden. Eine Lösung ist
die reguläre Anmeldung als !
Benutzer. Der „Zurück“-Knopf des Browsers führt zurück in das
Bearbeitungsfenster.",
+);
+
+$wgConfirmEditMessages['es'] = array(
+ 'captcha-edit' => "La edición incluye nuevos enlaces. Como
protección contra spam automatizado, es necesario que resuelva la suma e indique la
solución en la casilla ([[Special:Captcha/help|más info]]):",
+ 'captchahelp-title' => 'Información sobre el captcha',
+ 'captchahelp-cookies-needed' => "Debe tener las cookies activadas en el
navegador para que el sistema funcione.",
+ 'captchahelp-text' => "Los webs que aceptan mensajes del
público, como esta wiki, son abusados a menudo por spammers que utilizan programas para
incluir automáticamente sus enlaces. Si bien estos enlaces pueden retirarse, son una gran
molestia.\n\nEn ocasiones, especialmente cuando añada nuevos enlaces a una página, la wiki
le mostrará una imagen de texto coloreado o distorsionado y le pedirá que escriba las
palabras que muestra. Dado que esta es una tarea difícil de automatizar, permite a la
mayoría de las personas enviar sus textos, a la vez que detiene spammers y otros atacantes
automáticos.\n\nDesgraciadamente, esto puede ser un inconveniente para usuarios con
visibilidad limitada o que usen navegadores de texto / de voz. No tenemos por el momento
una alternativa sonora disponible. Por favor, solicite asistencia de los administradores
si esto le impide realizar ediciones legítimas. Presione el botón atrás de su navegador
para volver a la edición.!
",
+ 'captcha-createaccount' => "Como protección contra creaciones
automatizadas de cuentas, es necesario que resuelva la suma y de la solución en la casilla
([[Special:Captcha/help|más info]]):",
+ 'captcha-createaccount-fail' => "Código de confirmación
incorrecto.",
+);
+
+$wgConfirmEditMessages['et'] = array(
+ 'captcha-edit' => "Teie muudatuses on uusi linke; kaitseks
spämmi vastu peate sisestama järgneval pildil olevad sõnad:<br />
([[Special:Captcha/help|Mis see on?]])",
+ 'captcha-addurl' => "Teie muudatuses on uusi linke;
kaitseks spämmi vastu peate sisestama järgneval pildil olevad sõnad:<br />
([[Special:Captcha/help|Mis see on?]])",
+ 'captcha-create' => "Teie muudatuses on uusi linke;
kaitseks spämmi vastu peate sisestama järgneval pildil olevad sõnad:<br />
([[Special:Captcha/help|Mis see on?]])",
+ 'captchahelp-title' => 'Mis on Captcha?',
+ 'captchahelp-text' => "Internetisaite, mis lubavad
külastajatel sisu muuta (nagu ka see Viki), kasutavad sageli spämmerid ära, postitades
reklaamlinke - spämmi. Kuigi neid linke saab alati ära võtta, on nad ikkagi üpris tülikad.
Omale kasutajakontot registreerides või mõnele lehele uusi internetiaadresse postitades
näidatakse teile moonutatud tekstiga pilti ning palutakse teil sisestada seal näidatud
sõnad. Kuna selliselt pildilt on arvutil raske teksti välja lugeda, on see efektiivseks
kaitseks spämmirobotite vastu, samas lubades tavainimestel oma muudatusi rahus teha.
Kahjuks võib see tekitada ebamugavusi nägemisraskustega inimestele või neile, kes
kasutavad kõnesüntesaatorit või tekstipõhist brauserit. Hetkel pole meil helipõhist
alternatiivi. Kui teil tekib ootamatult raskusi oma muudatuste tegemisel, siis kirjutage
sellest [[Vikipeedia:Üldine arutelu|üldise arutelu]] lehele. Konto registreerimise lehele
või lehe redigeerimisele taga!
si jõudmiseks vajutage oma brauseri tagasi-nuppu.",
+ 'captcha-createaccount' => "Kaitsena spämmi vastu peate konto
registreerimiseks lahtrisse kirjutama järgneva tehte tulemuse.<br />
([[Special:Captcha/help|Mis see on?]])",
+ 'captcha-createaccount-fail' => "Puuduv või valesti sisestatud
kinnituskood.",
+);
+$wgConfirmEditMessages['eu'] = array(
+ 'captcha-edit' => "Zure aldaketan URL lotura berriak
daude; spam-a saihesteko, jarraian dagoen irudiko hitzak idaztea beharrezkoa da:<br
/> ([[Special:Captcha/help|Zer da hau?]])",
+ 'captcha-addurl' => "Zure aldaketan URL lotura berriak
daude; spam-a saihesteko, jarraian dagoen irudiko hitzak idaztea beharrezkoa da:<br
/> ([[Special:Captcha/help|Zer da hau?]])",
+ 'captcha-create' => "Zure aldaketan URL lotura berriak
daude; spam-a saihesteko, jarraian dagoen irudiko hitzak idaztea beharrezkoa da:<br
/> ([[Special:Captcha/help|Zer da hau?]])",
+ 'captchahelp-title' => 'Captcha laguntza',
+ 'captchahelp-text' => "Publikoki aldaketak egiteko aukerak
dituzten webguneetan, wiki honetan bezalaxe, spam testuak gehitzen dira sarritan tresna
automatikoak erabiliz. Lotura horiek ezabatu egin daitezkeen arren, traba dira. Batzutan,
eta bereziki webgune berri bateko loturak gehitzen dituzunean, hitz batzuk dituen irudi
bat agertuko zaizu, eta bertan ageri den testua idazteko eskatuko zaizu. Lan hori
automatizatzeko zaila da, eta pertsonei ezer kostatzen ez zaigunez, spam testuak
saihesteko lagungarria da. Zoritxarrez, ikusmen mugatua edo testu bidezko nabigatzaileak
erabiltzen dituzten erabiltzeek arazoak izan ditzakete. Horrelako zerbait gertatzen
bazaizu, mesedez, jarri administratzaileekin harremanetan. Zure nabigatzaileko
'atzera' lotura erabili aldaketen orrialdera itzultzeko.",
+ 'captcha-createaccount' => "Spam-a saihesteko, mesedez, irudian
agertzen den hizki edo zenbaki kodea, beheko laukian idatzi zure kontua sortzeko:<br
/> ([[Special:Captcha/help|Zer da hau?]])",
+ 'captcha-createaccount-fail' => "Baieztatze kode ezegokia.",
+);
+
+$wgConfirmEditMessages['fi'] = array(
+ 'captcha-edit' => 'Muokkauksesi sisältää uusia linkkejä
muille sivuille. Ratkaise alla oleva summa jatkaaksesi
([[Special:Captcha/help|lisätietoja]]):',
+ 'captcha-addurl' => 'Muokkauksesi sisältää uusia linkkejä
muille sivuille. Ratkaise alla oleva summa jatkaaksesi
([[Special:Captcha/help|lisätietoja]]):',
+ 'captcha-create' => 'Muokkauksesi sisältää uusia linkkejä
muille sivuille. Ratkaise alla oleva summa jatkaaksesi
([[Special:Captcha/help|lisätietoja]]):',
+ 'captcha-createaccount' => 'Ratkaise alla oleva summa jatkaaksesi
([[Special:Captcha/help|lisätietoja]]):',
+ 'captcha-createaccount-fail' => 'Väärä tai puuttuva
varmistuskoodi.',
+ 'captchahelp-title' => 'Captcha-ohje',
+ 'captchahelp-text' => "Verkkosivut, jotka sallivat
ulkopuolisten lisätä sisältöä, joutuvat usein spam-hyökkäysten kohteeksi.
Spam-hyökkäyksessä spammerit käyttävät työkaluja, jotka automaattisesti lisäävät linkkejä
monille sivuille. Vaikka nämä linkit voidaan poistaa, aiheutuu niistä silti merkittävä
haitta.
+
+Joskus, erityisesti kun lisäät uusia linkkejä, saatat nähdä kuvan, jossa on värillistä ja
vääristynyttä tekstiä, ja sinua pyydetään kirjoittamaan sen sisältämät sanat. Koska tätä
tehtävää on vaikea automatisoida, se sallii melkein kaikkien oikeiden ihmisten tehdä
muutoksensa, mutta estää automaattiset lisäykset.
+
+Valitettavasti tämä saattaa estää käyttäjiä, joilla on rajoittunut näkökyky tai
käyttäjiä, jotka käyttävät teksti- tai puhepohjaisia selaimia. Ota yhteyttä sivuston
ylläpitäjään, jos et pysty tekemään kunnollisia muutoksia.
+
+Varmistus ei toimi, jos evästeet eivät ole käytössä.
+
+Voit palata muokkaustilaan selaimen paluutoiminnolla.",
+);
+$wgConfirmEditMessages['fr'] = array(
+ 'captcha-edit' => 'Votre édition inclut de nouveaux liens externes. Comme
protection contre le spam automatique,
+ veuillez entrer le résultat de l’addition ci-dessous dans la boîte
([[Special:Captcha/help|plus d’informations]]) :',
+ 'captcha-addurl' => 'Votre édition inclut de nouveaux liens externes.
Comme protection contre le spam automatique,
+ veuillez entrer le résultat de l’addition ci-dessous dans la boîte
([[Special:Captcha/help|plus d’informations]]) :',
+ 'captcha-create' => 'Votre édition inclut de nouveaux liens externes.
Comme protection contre le spam automatique,
+ veuillez entrer le résultat de l’addition ci-dessous dans la boîte
([[Special:Captcha/help|plus d’informations]]) :',
+ 'captcha-createaccount' => 'Comme protection contre les créations de
compte abusives, veuillez entrer le résultat de
+ l’addition dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]])
:',
+ 'captcha-createaccount-fail' => "Code de confirmation erroné ou
manquant.",
+ 'captchahelp-title' => 'Aide sur les captcha',
+ 'captchahelp-cookies-needed' => "Vous devez avoir les cookies activés
dans votre navigateur pour que cela fonctionne.",
+ 'captchahelp-text' => "Les site Web acceptant des
contributions du public, comme ce wiki, sont souvent utilisés par des spammeurs qui
utilisent des outils automatiques pour placer de nombreux liens vers leurs sites. Même si
ces liens de « spam » peuvent être enlevés, ils représentent une nuisance.
+
+Parfois, en particulier lors de l’ajout de nouveaux liens externes à une page, le wiki
peut vous montrer une image représentant un texte coloré ou tordu et vous demander de
taper les mots montrés. Cette tâche est difficile à automatiser, et permet aux humains de
faire leurs contributions tout en stoppant la plupart des spammeurs.
+
+Malheureusement, cette solution peut gêner les utilisateurs malvoyants ou utilisant un
navigateur en texte seul. Nous ne disposons pas d’alternative audio pour l'instant.
Veuillez contacter un administrateur du site si vous n’arrivez pas à faire vos
contributions.
+
+Cliquez sur le bouton « Précédent » de votre navigateur pour revenir à la page
d’édition.",
+);
+$wgConfirmEditMessages['ga'] = array(
+ 'captcha-edit' => "Tá naisc URL nua san athrú seo atá tú
ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san
íomhá seo a ionchur: <br />([[Speisialta:Captcha/help|Céard é seo?]])",
+ 'captcha-addurl' => "Tá naisc URL nua san athrú seo atá tú
ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san
íomhá seo a ionchur: <br />([[Speisialta:Captcha/help|Céard é seo?]])",
+ 'captcha-create' => "Tá naisc URL nua san athrú seo atá tú
ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san
íomhá seo a ionchur: <br />([[Speisialta:Captcha/help|Céard é seo?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Web sites that accept postings from the
public, like this wiki, are often abused by spammers who use automated tools to post their
links to many sites. While these spam links can be removed, they are a significant
nuisance.
+
+Sometimes, especially when adding new web links to a page, the wiki may show you an image
of colored or distorted text and ask you to type the words shown. Since this is a task
that's hard to automate, it will allow most real humans to make their posts while
stopping most spammers and other robotic attackers.
+
+Unfortunately this may inconvenience users with limited vision or using text-based or
speech-based browsers. At the moment we do not have an audio alternative available. Please
contact the site administrators for assistance if this is unexpectedly preventing you from
making legitimate posts.
+
+Hit the 'back' button in your browser to return to the page editor.",
+ 'captcha-createaccount' => "Mar chosaint in éadan turscair
uathoibrithe, caithfidh tú na focail san íomhá seo a ionchur chun cuntas a chlárú: <br
/>([[Speisialta:Captcha/help|Céard é seo?]])",
+ 'captcha-createaccount-fail' => "Ní raibh an cód deimhnithe ceart sa
bhosca, nó ní raibh aon chód ann ar chor ar bith.",
+);
+$wgConfirmEditMessages['gl'] = array(
+ 'captcha-edit' => "A súa edición inclúe novos enderezos
URL; como protección contra as ferramentas de publicación automática de enlaces
publicitarios necesita teclear as palabras que aparecen nesta imaxe:<br />
([[Special:Captcha/help|Qué é isto?]])",
+ 'captcha-addurl' => "A súa edición inclúe novos enderezos
URL; como protección contra as ferramentas de publicación automática de enlaces
publicitarios necesita teclear as palabras que aparecen nesta imaxe:<br />
([[Special:Captcha/help|Qué é isto?]])",
+ 'captcha-create' => "A súa edición inclúe novos enderezos
URL; como protección contra as ferramentas de publicación automática de enlaces
publicitarios necesita teclear as palabras que aparecen nesta imaxe:<br />
([[Special:Captcha/help|Qué é isto?]])",
+ 'captchahelp-title' => 'Captcha axuda',
+ 'captchahelp-text' => "'''CAPTCHA'''
(acrónimo de \"'''C'''ompletely
'''A'''utomated '''P'''ublic
'''T'''uring test to tell '''C'''omputers
and '''H'''umans '''A'''part\") é un
test de autentificación do tipo desafío-resposta usado nos contornos informáticos para
distinguir usuarios humanos de máquinas. Os sitios web que aceptan publicar as
contribucións dos usuarios coma este wiki sofren, con frecuencia, o abuso por parte de
''spammers'' que usan ferramentas que automatizan a inclusión de lixo en
forma de enlaces publicitarios nunha chea páxinas en pouco tempo. Mentres ditas ligazóns
non son eliminadas supoñen unha molestia e unha perda de tempo. En ocasións, en particular
cando engada algún novo vínculo externo, o wiki pode mostrar unha imaxe dun texto
coloreado e distorsionado e pedíralle que teclee as palabras mostradas. Como esta tarefa é
difícil de automatizar permite distinguir entre persoas e robots, e dificulta os ataques
automatizados d!
os ''spammers''. Por desgraza pode causar problemas a aqueles usuarios
con dificultades de visión, ou os que utilicen navegadores de texto ou navegadores
baseados en sistemas de voz. Polo de agora non dispoñemos dunha alternativa de audio. Por
favor contacte cun [[Special:Listusers/sysop|administrador]] do wiki para solicitar axuda
se o sistema lle impide rexistrase para facer contribucións lexítimas. Prema no botón
'atrás' ou equivalente do seu navegador para volver á páxina na que
estaba.",
+ 'captcha-createaccount' => "Como protección fronte a sistemas de
creación automática de contas de usuario usados polos ''spamers'', ten que
teclear as palabras que aparecen na imaxe para rexistrar unha conta:<br />
([[Special:Captcha/help|Qué é isto?]])",
+ 'captcha-createaccount-fail' => "Falta o código de confirmación ou é
incorrecto.",
+);
+$wgConfirmEditMessages['he'] = array(
+ 'captcha-edit' => 'כדי לערוך את הדף, אנא פיתרו את תרגיל
החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[{{ns:special}}:Captcha/help|מידע
נוסף]]):',
+ 'captcha-addurl' => 'עריכתכם כוללת קישורים חיצוניים חדשים.
כהגנה מפני ספאם אוטומטי, אנא פיתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה
([[{{ns:special}}:Captcha/help|מידע נוסף]]):',
+ 'captcha-badpass' => 'כהגנה מפני פריצת סיסמאות אוטומטית, אנא
פיתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה
([[{{ns:special}}:Captcha/help|מידע נוסף]]):',
+ 'captcha-createaccount' => 'כהגנה מפני יצירת חשבונות אוטומטית, אנא
פיתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה
([[{{ns:special}}:Captcha/help|מידע נוסף]]):',
+ 'captcha-createaccount-fail' => 'לא הקלדתם קוד אישור, או שהוא
שגוי.',
+ 'captcha-create' => 'כדי ליצור את הדף, אנא פיתרו את תרגיל
החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[{{ns:special}}:Captcha/help|מידע
נוסף]]):',
+ 'captchahelp-cookies-needed' => "עליכם להפעיל את תכונת העוגיות (Cookies)
בדפדפן שלכם כדי שזה יעבוד.",
+ 'captchahelp-title' => 'עזרה במערכת הגנת הספאם',
+ 'captchahelp-text' => "פעמים רבות מנצלים ספאמרים אתרים שמקבלים
תוכן מהציבור, כמו הוויקי הזה, כדי לפרסם את הקישורים שלהם לאתרים רבים באינטרנט, באמצעות
כלים אוטומטיים. אמנם ניתן להסיר את קישורי הספאם הללו, אך זהו מטרד משמעותי.
+
+לעיתים, בעיקר כשאתם מכניסים קישורי אינטרנט חדשים לתוך עמוד, הוויקי עשוי להראות תמונה של
טקסט צבעוני או מעוקם ויבקש מכם להקליד את המילים המוצגות. כיוון שזו משימה שקשה לבצעה בצורה
אוטומטית, הדבר יאפשר לבני־אדם אמיתיים לשלוח את הדפים, אך יעצור את רוב הספאמרים והמתקיפים
הרובוטיים.
+
+לרוע המזל, הדבר עשוי לגרום לאי נוחות למשתמשים עם דפדפן בגרסה מוגבלת, או שמשתמשים בדפדפנים
מבוססי טקסט או דיבור. כרגע, אין לנו חלופה קולית זמינה. אנא צרו קשר עם מנהלי האתר לעזרה אם
המערכת מונעת מכם באופן בלתי צפוי לבצע עריכות לגיטימיות.
+
+אנא לחצו על הכפתור 'Back' בדפדפן שלכם כדי לחזור לדף העריכה.",
+);
+$wgConfirmEditMessages['hr'] = array(
+ 'captcha-edit' => "Vaše uređivanje sadrži nove vanjske
poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici:
<br />([[Posebno:Captcha/help|Pomoć?]])",
+ 'captcha-addurl' => "Vaše uređivanje sadrži nove vanjske
poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici:
<br />([[Posebno:Captcha/help|Pomoć?]])",
+ 'captcha-create' => "Vaše uređivanje sadrži nove vanjske
poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici:
<br />([[Posebno:Captcha/help|Pomoć?]])",
+ 'captchahelp-title' => 'Antispam pomoć',
+ 'captchahelp-text' => "Web poslužitelje koji rade na temelju
javnih doprinosa, poput wiki, često zloupotrebljavaju spameri. Oni koriste automatske
alate pomoću kojih generiraju poveznice od vlastitog interesa. Iako se te poveznice
najčešće uklanjaju, mogu predstavljati neugodnost pri radu. Ponekad se dogodi da wiki
prikaže sliku čudnog tekstualnog sadržaja uz koju morate unijeti prikazana slova. Budući
da je takvu radnju teško automatizirati, većina se napadača obeshrabri, a pravi suradnici
bez većih smetnji nastavljaju pridonositi. Ukoliko ste suradnik koji koristi tekstualni
klijent te vas česte ovakve provjere ometaju pri dodavanju važećih sadržaja, molimo da se
obratite [[Special:Listusers/sysop|administratorima]].",
+ 'captcha-createaccount' => "Kao zaštitu od automatskog spama, pri
otvaranju računa trebate unijeti slova koja vidite na slici: <br
/>([[Posebno:Captcha/help|Pomoć]])",
+ 'captcha-createaccount-fail' => "Potvrdni kod je nepotpun ili
netočan.",
+);
+$wgConfirmEditMessages['hsb'] = array(
+ 'captcha-edit' => 'W twojej změnje su nowe eksterne
wotkazy. Jako škitna naprawa přećiwo spamej dyrbiš slědowacy nadawk wuličeć a wuslědk do
kašćika zapisować. Klikń potom znowa na „Składować”.<br />
[[{{ns:special}}:Captcha/help|(Čehodla?)]]',
+ 'captcha-addurl' => 'W twojej změnje su nowe eksterne
wotkazy. Jako škitna naprawa přećiwo spamej dyrbiš slědowacy nadawk wuličeć a wuslědk do
kašćika zapisować. Klikń potom znowa na „Składować”.<br />
[[{{ns:special}}:Captcha/help|(Čehodla?)]]',
+ 'captcha-create' => 'W twojej změnje su nowe eksterne
wotkazy. Jako škitna naprawa přećiwo spamej dyrbiš slědowacy nadawk wuličeć a wuslědk do
kašćika zapisować. Klikń potom znowa na „Składować”.<br />
[[{{ns:special}}:Captcha/help|(Čehodla?)]]',
+ 'captcha-createaccount' => 'Jako škitna naprawa přećiwo
awtomatiskemu wutworjenju wužiwarskich kontow dyrbiš slědowacy nadawk wuličeć.
[[{{ns:special}}:Captcha/help|(Prašenja abo problemy?)]]',
+ 'captcha-createaccount-fail' => 'Wopačny abo pobrachowacy
wuslědk.',
+ 'captchahelp-title' => 'Pomoc z captcha',
+ 'captchahelp-text' => 'Sydła kaž {{SITENAME}}, kotrež móža so
swobodnje wot kóždeho wobdźěłować su často z woporom spamarjow, kotřiž swoje wotkazy
awtomatisce we wjele sydłach broja. Tute spam-wotkazy móža so zaso wotstronjeć, wubudźa
pak njesnadne mjerzanje. W někotrych padach, wosebje při přidawanju nowych eksternych
wotkazow, móže so stać, zo pokazuje tutón wiki wobraz z pisanym abo skomolenym tekstom abo
kaza jednory ličenski nadawk wuličeć, kotrehož wuslědk dyrbi so potom do zapodawanskeho
kašćika zapisować. Dokelž hodźi so tajki nadawk jenož ćežko z awtomatiskimi srědkami
spamarjow spjelnić, móža so tajcy wotdźeržować, druzy wužiwarjo pak móža swoje změny
składować. Bohužel móže to k wobćežnosćam za tutych wužiwarjow dowjesć, kotrychž kmanosć
widźenja je wobmjezowana abo kotřiž dźěłaja z wobhladowakami kiž su na tekstowe abo rěčne
wudawanje wusměrjene. Móžne rozrisanje tutoho problem!
a je přizjewjenje jako wužiwar. Tłóčatko „Wróćo” swojeho wobhladowaka dowjedźe tebje zaso
do wobdźěłowanskeho pola.',
+);
+$wgConfirmEditMessages['id'] = array(
+ 'captcha-edit' => "Suntingan Anda menyertakan pralana luar
baru. Sebagai perlindungan terhadap ''spam'' otomatis, Anda harus
mengetikkan kata atau hasil perhitungan yang tertera berikut ini:<br />
+([[Special:Captcha/help|Apa ini?]])",
+ 'captcha-addurl' => "Suntingan Anda menyertakan pralana
luar baru. Sebagai perlindungan terhadap ''spam'' otomatis, Anda harus
mengetikkan kata atau hasil perhitungan yang tertera berikut ini:<br />
+([[Special:Captcha/help|Apa ini?]])",
+ 'captcha-create' => "Suntingan Anda menyertakan pralana
luar baru. Sebagai perlindungan terhadap ''spam'' otomatis, Anda harus
mengetikkan kata atau hasil perhitungan yang tertera berikut ini:<br />
+([[Special:Captcha/help|Apa ini?]])",
+ 'captchahelp-title' => 'Mengenai Captcha',
+ 'captchahelp-cookies-needed' => "Anda perlu mengaktifkan cookie pada
penjelajah web Anda untuk menggunakan fitur ini.",
+ 'captchahelp-text' => "Situs-situs web yang menerima masukan
data dari publik, seperti {{ns:project}} ini, kerapkali disalahgunakan oleh
pengguna-pengguna yang tidak bertanggungjawab untuk mengirimkan spam dengan menggunakan
program-program otomatis. Walaupun spam-spam tersebut dapat dibuang, tetapi tetap saja
menimbulkan gangguan berarti.
+
+Ketika menambahkan pranala web baru ke suatu halaman, {{ns:project}} akan menampilkan
sebuah gambar tulisan yang terdistorsi atau suatu perhitungan sederhana dan meminta Anda
untuk mengetikkan kata atau hasil dimaksud. Karena ini merupakan suatu pekerjaan yang
sulit diotomatisasi, pembatasan ini akan mengizinkan hampir semua manusia untuk
melakukannya, tapi di sisi lain akan menghentikan kebanyakan aksi spam dan penyerangan
yang dilakukan oleh bot otomatis.
+
+Sayangnya, hal ini dapat menimbulkan kesulitan bagi pengguna dengan keterbatasan
penglihatan atau pengguna yang menggunakan penjelajah basis teks atau suara. Saat ini,
kami tidak memiliki suatu alternatif suara untuk hal ini. Silakan minta bantuan dari
pengurus situs jika hal ini menghambat Anda untuk mengirimkan suntingan yang layak.
+
+Tekan tombol 'back' di penjelajah web Anda untuk kembali ke halaman
penyuntingan.",
+ 'captcha-createaccount' => "Sebagai perlindungan melawan spam, Anda
diharuskan untuk mengetikkan kata atau hasil perhitungan di bawah ini di kotak yang
tersedia untuk dapat mendaftarkan pengguna baru:<br />
+([[Special:Captcha/help|Apa ini?]])",
+ 'captcha-createaccount-fail' => "Kode konfirmasi salah atau belum
diisi.",
+);
+$wgConfirmEditMessages['is'] = array(
+ 'captcha-edit' => "Breyting þín fól í sér nýja tengla á
aðrar vefsíður. Til þess að verjast sjálfvirku auglýsingarusli verðum við að biðja þig um
að skrifa inn orðin sem sjást á þessari mynd: <br />([[Special:Captcha/help|Hvað er
þetta?]])",
+ 'captcha-addurl' => "Breyting þín fól í sér nýja tengla á
aðrar vefsíður. Til þess að verjast sjálfvirku auglýsingarusli verðum við að biðja þig um
að skrifa inn orðin sem sjást á þessari mynd: <br />([[Special:Captcha/help|Hvað er
þetta?]])",
+ 'captcha-create' => "Breyting þín fól í sér nýja tengla á
aðrar vefsíður. Til þess að verjast sjálfvirku auglýsingarusli verðum við að biðja þig um
að skrifa inn orðin sem sjást á þessari mynd: <br />([[Special:Captcha/help|Hvað er
þetta?]])",
+ 'captchahelp-title' => 'Captcha-hjálp',
+ 'captchahelp-text' => "Vefsíður sem að leyfa framlög frá frá
almenningi, líkt og þessi wiki-vefur, eru oft misnotaðar af svokölluðum „spömmurum“ sem
nota sjálfvirk tól til þess að setja inn tengla á aðrar vefsíður. Aðrir notendur geta
fjarlægt þessa tengla en töluverð truflun er af þeim.
+
+Stundum þegar þú breytir síðum, sérstaklega ef breytingin felur í sér nýja tengla á aðra
vefi, getur gerst að þú sért beðin(n) um að skrifa inn orð sem birtast á lituðum eða
óskýrum myndum. Fyrir flesta notendur af holdi og blóði er þetta lítið mál en sjálfvirk
tól ráða ekki við þetta.
+
+Því miður kann þetta að valda notendum óþægindum sem hafa skerta sjón eða notast við
talmálsvafra. Enn sem komið er eru ekki til aðrir valkostir fyrir þau tilvik. Ef þetta
kemur í veg fyrir lögmætar breytingar af þinni hálfu getur þú leitað aðstoðar hjá
stjórnendum vefsins.
+
+Notaðu „back“-hnapp vafrans til að halda áfram.",
+ 'captcha-createaccount' => "Til þess að verjast sjálfvirku
auglýsingarusli verðum við að biðja þig um að skrifa inn orðin sem sjást á þessari mynd
áður en þú skráir notandanafn: <br />([[Special:Captcha/help|Hvað er
þetta?]])",
+ 'captcha-createaccount-fail' => "Staðfestingarkóðinn var rangur eða ekki
til staðar.",
+);
+$wgConfirmEditMessages['it'] = array(
+ 'captcha-edit' => "La modifica richiesta aggiunge dei
nuovi collegamenti (URL) alla pagina; come misura precauzionale contro l'inserimento
automatico di spam, per confermarla è necessario inserire le parole che appaiono
nell'immagine:<br />
+([[Special:Captcha/help|Cosa vuol dire?]])",
+ 'captcha-addurl' => "La modifica richiesta aggiunge dei
nuovi collegamenti (URL) alla pagina; come misura precauzionale contro l'inserimento
automatico di spam, per confermarla è necessario inserire le parole che appaiono
nell'immagine:<br />
+([[Special:Captcha/help|Cosa vuol dire?]])",
+ 'captcha-create' => "La modifica richiesta aggiunge dei
nuovi collegamenti (URL) alla pagina; come misura precauzionale contro l'inserimento
automatico di spam, per confermarla è necessario inserire le parole che appaiono
nell'immagine:<br />
+([[Special:Captcha/help|Cosa vuol dire?]])",
+ 'captchahelp-title' => "Cos'è il captcha?",
+ 'captchahelp-text' => "Capita spesso che i siti Web che
accettano messaggi pubblici, come questo wiki, siano presi di mira da spammer che usano
strumenti automatici per inserire collegamenti pubblicitari verso un gran numero di siti.
Per quanto i collegamenti indesiderati si possano rimuovere, si tratta comunque di una
seccatura non indifferente.
+
+In alcuni casi, ad esempio quando si tenta di aggiungere nuovi collegamenti Web in una
pagina, il software wiki può mostrare una immagine con un breve testo colorato e/o
distorto chiedendo di riscriverlo in un'apposita finestrella. Poiché si tratta di
un'azione difficile da replicare da parte di un computer, questo meccanismo consente a
(quasi tutti) gli utenti reali di completare l'inserimento desiderato, impedendo
l'accesso alla maggior parte degli spammer e degli altri attacchi automatizzati.
+
+Sfortunatamente, queste misure di sicurezza possono mettere in difficoltà gli utenti con
problemi visivi o coloro che utilizzano browser testuali o basati sulla sintesi vocale.
Purtroppo al momento non è disponibile un meccanismo alternativo basato su messaggi audio;
se queste procedure impediscono l'inserimento informazioni che si ritengono legittime,
si prega di contattare gli amministratori del sito e chiedere loro assistenza.
+
+Fare clic sul pulsante 'back' del browser per tornare alla pagina di
modifica.",
+ 'captcha-createaccount' => "Come misura di sicurezza nei confronti
dei messaggi di spam automatici, per registrarsi è necessario inserire le parole che
appaiono nell'immagine:<br />
+([[Speciale:Captcha/help|Cosa vuol dire?]])",
+ 'captcha-createaccount-fail' => "Codice di verifica errato o
mancante.",
+);
+
+$wgConfirmEditMessages['ja'] = array(
+ 'captcha-edit' => 'このページを編集するには下記に現れる数式の答えを入力してください。<br
/>
+([[Special:Captcha/help|詳細]])',
+ 'captcha-addurl' =>
'あなたの編集には新たに外部リンクが追加されています。スパム防止のため、下記の数式の答えを入力してください<br />
+([[Special:Captcha/help|詳細]])',
+ 'captcha-createaccount' =>
'スパム防止のため、アカウントを登録するには、下記に現れる数式の答えを入力してください<br />
+([[Special:Captcha/help|詳細]])',
+ 'captcha-createaccount-fail' => '確認コードの入力がないか、間違っています。',
+ 'captcha-create' =>
'あなたの編集は新たに外部リンクが追加されています。スパム防止のため、下記に現れる数式の答えを入力してください<br />
+([[Special:Captcha/help|詳細]])',
+ 'captchahelp-title' => 'Captcha ヘルプ',
+ 'captchahelp-text' =>
'当Wikiのような、投稿が公開されているウェブサイトは、多くのサイトに自分たちへのリンクを自動投稿するツールを用いるスパマーにより荒らされます。これらのスパムは除去できるものの、その作業大変うっとうしいものです。
+
+時々、特に新しいリンクをページに追加したとき、Wikiは色の付いた、もしくは、ゆがめられた文字を提示し、その入力をお願いすることがあります。この作業は自動化が難しいため、本当の人間の投稿を可能にしつつ、多くのスパマーやロボットの攻撃を防ぐことが出来ます。
+
+しかし、残念なことに、テキストベースやスピーチベースのブラウザを使っている、視覚障害者に不便をおかけする場合があります。現時点では、音声版の代替物がありません。正当な投稿をするにあたって、これが障害となっている場合、サイト管理者に連絡し、協力を求めてください。
+
+編集ページに戻るには、ブラウザの戻るボタンを押してください。',
+);
+
+$wgConfirmEditMessages['kk-kz'] = array(
+ 'captcha-edit' => "Бұл бетті өңдеу үшін,
+төмендегі қосындылауды шешіңіз де, нәтижесін аумаққа енгізіңіз
([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):",
+ 'captcha-addurl' => "Түзетуіңізде жаңа сыртқы сілтемелер
бар екен. Өздік түрде «спам» жасалуынан қорғану үшін,
+төмендегі қосындылауды шешіңіз де, нәтижесін аумаққа енгізіңіз
([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):",
+ 'captcha-create' => "Жаңа бетті бастау үшін,
+төмендегі қосындылауды шешіңіз де, нәтижесін аумаққа енгізіңіз
([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):",
+ 'captcha-createaccount' => "Жаңа тіркелгі өздік түрде жасалуынан
қорғану үшін, төмендегі қосындылауды
+шешіңіз де, нәтижесін аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек
ақпарат]]):",
+ 'captcha-createaccount-fail' => "Куәландыру коды дұрыс емес немесе
жоқ.",
+ 'captchahelp-cookies-needed' => "Бұл жұмысты істеу үшін, шолғышыңызда
«cookies» дегенді ендіріңіз.",
+ 'captchahelp-title' => 'CAPTCHA анықтамасы',
+ 'captchahelp-text' => "Өздік құралдары бар «спаммерлер»,
баршадан жіберілген хабарды қабылдайтын, бұл уики сияқты, веб-тораптарға сілтемелерімен
жиі жаудырады. Осындай «спам» сілтемелерін аластау болғанда да, бұл мәнді ыза келтіреді.
+
+Кейде, әсіресе бетке жаңа веб сілтемесін қосқанда, уики өңі өзгерген не қисайған мәтінді
көрсетіп және сол сөздерді енгізу сұрауы мүмкін. Бұл тапсырыс өздік түрде атқару өте қиын,
сондықтан бұл иманды адам көпшілігіне кедергі болмайды, бірақ «спаммерлерді» және бұзақы
ботпен басқа шабуыл жасағандарды тоқтатады.
+
+Өкінішке орай, бұл көруі төмендеген, немесе мәтін не дауыс негізіндегі шолғышты
қолданатын пайдаланушыға ыңғайсыздық келтіруге мүмкін. Осы қазір бізде дыбысты балама жоқ.
Егер бұл адал жазуыңызға кедергілесе, торап бақылаушыларына қатынасыңыз.
+
+Бұл жұмысты істеу үшін шолғышыңызда «cookies» дегенді ендіру қажет.
+
+Бет өңдеуіне қайту бару үшін «Артқа» деген түймесін басыңыз.",
+);
+$wgConfirmEditMessages['kk-tr'] = array(
+ 'captcha-edit' => "Bul betti öñdew üşin,
+tömendegi qosındılawdı şeşiñiz de, nätïjesin awmaqqa engiziñiz
([[{{ns:special}}:Captcha/help|köbirek aqparat]]):",
+ 'captcha-addurl' => "Tüzetwiñizde jaña sırtqı siltemeler
bar eken. Özdik türde «spam» jasalwınan qorğanw üşin,
+tömendegi qosındılawdı şeşiñiz de, nätïjesin awmaqqa engiziñiz
([[{{ns:special}}:Captcha/help|köbirek aqparat]]):",
+ 'captcha-create' => "Jaña betti bastaw üşin,
+tömendegi qosındılawdı şeşiñiz de, nätïjesin awmaqqa engiziñiz
([[{{ns:special}}:Captcha/help|köbirek aqparat]]):",
+ 'captcha-createaccount' => "Jaña tirkelgi özdik türde jasalwınan
qorğanw üşin, tömendegi qosındılawdı
+şeşiñiz de, nätïjesin awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek
aqparat]]):",
+ 'captcha-createaccount-fail' => "Kwälandırw kodı durıs emes nemese
joq.",
+ 'captchahelp-cookies-needed' => "Bul jumıstı istew üşin, şolğışıñızda
«cookies» degendi endiriñiz.",
+ 'captchahelp-title' => 'CAPTCHA anıqtaması',
+ 'captchahelp-text' => "Özdik quraldarı bar «spammerler»,
barşadan jiberilgen xabardı qabıldaýtın, bul wïkï sïyaqtı, veb-toraptarğa siltemelerimen
jïi jawdıradı. Osındaý «spam» siltemelerin alastaw bolğanda da, bul mändi ıza keltiredi.
+
+Keýde, äsirese betke jaña veb siltemesin qosqanda, wïkï öñi özgergen ne qïsaýğan mätindi
körsetip jäne sol sözderdi engizw surawı mümkin. Bul tapsırıs özdik türde atqarw öte qïın,
sondıqtan bul ïmandı adam köpşiligine kedergi bolmaýdı, biraq «spammerlerdi» jäne buzaqı
botpen basqa şabwıl jasağandardı toqtatadı.
+
+Ökinişke oraý, bul körwi tömendegen, nemese mätin ne dawıs negizindegi şolğıştı
qoldanatın paýdalanwşığa ıñğaýsızdıq keltirwge mümkin. Osı qazir bizde dıbıstı balama joq.
Eger bul adal jazwıñızğa kedergilese, torap baqılawşılarına qatınasıñız.
+
+Bul jumıstı istew üşin şolğışıñızda «cookies» degendi endirw qajet.
+
+Bet öñdewine qaýtw barw üşin «Artqa» degen tüýmesin basıñız.",
+);
+$wgConfirmEditMessages['kk-cn'] = array(
+ 'captcha-edit' => "بۇل بەتتٴى ٴوڭدەۋ ٴۇشٴىن,
+تٴومەندەگٴى قوسىندىلاۋدى شەشٴىڭٴىز دە, نٴاتيجەسٴىن اۋماققا ەنگٴىزٴىڭٴىز
([[{{ns:special}}:Captcha/help|كٴوبٴىرەك اقپارات]]):",
+ 'captcha-addurl' => "تٴۇزەتۋٴىڭٴىزدە جاڭا سىرتقى
سٴىلتەمەلەر بار ەكەن. ٴوزدٴىك تٴۇردە «سپام» جاسالۋىنان قورعانۋ ٴۇشٴىن,
+تٴومەندەگٴى قوسىندىلاۋدى شەشٴىڭٴىز دە, نٴاتيجەسٴىن اۋماققا ەنگٴىزٴىڭٴىز
([[{{ns:special}}:Captcha/help|كٴوبٴىرەك اقپارات]]):",
+ 'captcha-create' => "جاڭا بەتتٴى باستاۋ ٴۇشٴىن,
+تٴومەندەگٴى قوسىندىلاۋدى شەشٴىڭٴىز دە, نٴاتيجەسٴىن اۋماققا ەنگٴىزٴىڭٴىز
([[{{ns:special}}:Captcha/help|كٴوبٴىرەك اقپارات]]):",
+ 'captcha-createaccount' => "جاڭا تٴىركەلگٴى ٴوزدٴىك تٴۇردە
جاسالۋىنان قورعانۋ ٴۇشٴىن, تٴومەندەگٴى قوسىندىلاۋدى
+شەشٴىڭٴىز دە, نٴاتيجەسٴىن اۋماققا ەنگٴىزٴىڭٴىز ([[{{ns:special}}:Captcha/help|كٴوبٴىرەك
اقپارات]]):",
+ 'captcha-createaccount-fail' => "كۋٴالاندىرۋ كودى دۇرىس ەمەس نەمەسە
جوق.",
+ 'captchahelp-cookies-needed' => "بۇل جۇمىستى ٴىستەۋ ٴۇشٴىن, شولعىشىڭىزدا
«cookies» دەگەندٴى ەندٴىرٴىڭٴىز.",
+ 'captchahelp-title' => 'CAPTCHA انىقتاماسى',
+ 'captchahelp-text' => "ٴوزدٴىك قۇرالدارى بار «سپاممەرلەر»,
بارشادان جٴىبەرٴىلگەن حاباردى قابىلدايتىن, بۇل ۋيكي سيياقتى, ۆەب-توراپتارعا
سٴىلتەمەلەرٴىمەن جيٴى جاۋدىرادى. وسىنداي «سپام» سٴىلتەمەلەرٴىن الاستاۋ بولعاندا دا, بۇل
مٴاندٴى ىزا كەلتٴىرەدٴى.
+
+كەيدە, ٴاسٴىرەسە بەتكە جاڭا ۆەب سٴىلتەمەسٴىن قوسقاندا, ۋيكي ٴوڭٴى ٴوزگەرگەن نە قيسايعان
مٴاتٴىندٴى كٴورسەتٴىپ جٴانە سول سٴوزدەردٴى ەنگٴىزۋ سۇراۋى مٴۇمكٴىن. بۇل تاپسىرىس ٴوزدٴىك
تٴۇردە اتقارۋ ٴوتە قيىن, سوندىقتان بۇل يماندى ادام كٴوپشٴىلٴىگٴىنە كەدەرگٴى بولمايدى,
بٴىراق «سپاممەرلەردٴى» جٴانە بۇزاقى بوتپەن باسقا شابۋىل جاساعانداردى توقتاتادى.
+
+ٴوكٴىنٴىشكە وراي, بۇل كٴورۋٴى تٴومەندەگەن, نەمەسە مٴاتٴىن نە داۋىس نەگٴىزٴىندەگٴى
شولعىشتى قولداناتىن پايدالانۋشىعا ىڭعايسىزدىق كەلتٴىرۋگە مٴۇمكٴىن. وسى قازٴىر بٴىزدە
دىبىستى بالاما جوق. ەگەر بۇل ادال جازۋىڭىزعا كەدەرگٴىلەسە, توراپ باقىلاۋشىلارىنا
قاتىناسىڭىز.
+
+بۇل جۇمىستى ٴىستەۋ ٴۇشٴىن شولعىشىڭىزدا «cookies» دەگەندٴى ەندٴىرۋ قاجەت.
+
+بەت ٴوڭدەۋٴىنە قايتۋ بارۋ ٴۇشٴىن «ارتقا» دەگەن تٴۇيمەسٴىن باسىڭىز.",
+);
+$wgConfirmEditMessages['kk'] = $wgConfirmEditMessages['kk-kz'];
+$wgConfirmEditMessages['la'] = array(
+ 'captcha-edit' => "Emendatione tua insunt nexus URL; ut
spam automaticum vitemus, necesse est tibi inscribere verba, quae in hac imagine videntur.
<br /> ([[Specialis:Captcha/Auxilium|Quidst illud?]])",
+ 'captcha-addurl' => "Emendatione tua insunt nexus URL; ut
spam automaticum vitemus, necesse est tibi inscribere verba, quae in hac imagine videntur.
<br /> ([[Specialis:Captcha/Auxilium|Quidst illud?]])",
+ 'captcha-create' => "Emendatione tua insunt nexus URL; ut
spam automaticum vitemus, necesse est tibi inscribere verba, quae in hac imagine videntur.
<br /> ([[Specialis:Captcha/Auxilium|Quidst illud?]])",
+ 'captchahelp-title' => 'Captcha auxilium',
+ 'captchahelp-text' => "Web sites that accept postings from the
public, like this wiki, are often abused by spammers who use automated tools to post their
links to many sites. While these spam links can be removed, they are a significant
nuisance.
+
+Sometimes, especially when adding new web links to a page, the wiki may show you an image
of colored or distorted text and ask you to type the words shown. Since this is a task
that's hard to automate, it will allow most real humans to make their posts while
stopping most spammers and other robotic attackers.
+
+Unfortunately this may inconvenience users with limited vision or using text-based or
speech-based browsers. At the moment we do not have an audio alternative available. Please
contact the site administrators for assistance if this is unexpectedly preventing you from
making legitimate posts.
+
+Hit the 'back' button in your browser to return to the page editor.",
+ 'captcha-createaccount' => "Ut spam automaticum vitemus, necesse
est tibi inscribere verba, quae in hac imagine videntur, priusquam rationem possis creare.
<br /> ([[Specialis:Captcha/Auxilium|Quidst illud?]])",
+ 'captcha-createaccount-fail' => "Codex affirmationis aut non scriptus
est aut male.",
+);
+$wgConfirmEditMessages['lv'] = array(
+ 'captcha-edit' => "Tavas izmaiņas ietver jaunu URL saiti.
Lai pasargātos no automātiskas mēstuļošanas, Tev ir jāieraksta vārds, kas redzams šajā
attēlā: <br />([[Special:Captcha/help|Kāpēc tā?]])",
+ 'captcha-addurl' => "Tavas izmaiņas ietver jaunu URL
saiti. Lai pasargātos no automātiskas mēstuļošanas, Tev ir jāieraksta vārds, kas redzams
šajā attēlā: <br />([[Special:Captcha/help|Kāpēc tā?]])",
+ 'captcha-create' => "Tavas izmaiņas ietver jaunu URL
saiti. Lai pasargātos no automātiskas mēstuļošanas, Tev ir jāieraksta vārds, kas redzams
šajā attēlā: <br />([[Special:Captcha/help|Kāpēc tā?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Interneta lapas, kurās iespējams
pievienot tekstu, kā šajā wiki, bieži cieš no mēstuļotājiem, kuri izmanto automatizētus
līdzekļus, lai pievienotu savus saites daudzās jo daudzās interneta lapās. Kaut arī šīs
saites var viegli dzēst, tomēr tās ir nozīmīgs traucēklis. Reizēm, jo īpaši pievienojot
jaunas interneta saites, wiki programmatūra var parādīt Tev attēlu, kurā ir krāsains vai
sagrozīts teksts. Šis teksts ir jāpārraksta un to ir ļoti grūti izdarīt automātiski, tā
apgrūtinot lielāko daļu mēstuļotāju, savukārt gandrīz visi parastie lietotāji to var
izdarīt bez grūtībām. Diemžēl tas var apgrūtināt lietotājus, kuriem ir redzes traucējumi
vai kuri izmanto teksta pārlūkus vai dzirdes pārlūkus. Šobrīd nav pieejama audio
alternatīva, bet sazinies ar wiki administratoriem, ja tas liedz Tev veikt labi domātus
papildinājumus. Spied pārlūka pogu \"Atpakaļ\" (''Back''), lai
!
atgrieztos iepriekšējā lapā.",
+ 'captcha-createaccount' => "Lai pasargātos no automātiskas
mēstuļošanas, Tev reģistrējoties ir jāieraksta vārds, kas redzams šajā attēlā: <br
/>([[Special:Captcha/help|Kāpēc tā?]])",
+ 'captcha-createaccount-fail' => "Nepareizs apstiprinājuma kods vai arī
tas nav ievadīts.",
+);
+$wgConfirmEditMessages['nl'] = array(
+ 'captcha-edit' => "Uw bewerking bevat nieuwe externe links
(URL's). Voer ter bescherming tegen geautomatiseerde spam de woorden in die in de
volgende afbeelding te zien zijn:<br />
+([[Special:Captcha/help|Wat is dit?]])",
+ 'captcha-addurl' => "Uw bewerking bevat nieuwe externe
links (URL's). Voer ter bescherming tegen geautomatiseerde spam de woorden in die in
de volgende afbeelding te zien zijn:<br />
+([[Special:Captcha/help|Wat is dit?]])",
+ 'captcha-create' => "Uw bewerking bevat nieuwe externe
links (URL's). Voer ter bescherming tegen geautomatiseerde spam de woorden in die in
de volgende afbeelding te zien zijn:<br />
+([[Special:Captcha/help|Wat is dit?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Websites die vrij te bewerken zijn,
zoals deze wiki, worden vaak misbruikt door spammers die er met hun programma's
automatisch links op zetten naar vele websites. Hoewel deze externe links weer verwijderd
kunnen worden, leveren ze wel veel hinder en administratief werk op.
+
+Soms, en in het bijzonder bij het toevoegen van externe links op pagina's, toont de
wiki u een afbeelding met gekleurde of vervormde tekst en wordt u gevraagd de getoonde
tekst in te voeren. Omdat dit proces lastig te automatiseren is, zijn vrijwel alleen
mensen in staat dit proces succesvol te doorlopen en worden hiermee spammers en andere
geautomatiseerde aanvallen geweerd.
+
+Helaas levert deze bevestiging voor gebruikers met een visuele handicap of een tekst- of
spraakgebaseerde browser problemen op. Op het moment is er geen alternatief met geluid
beschikbaar. Vraag alstublieft assistentie van de sitebeheerders als dit proces u
verhindert een nuttige bijdrage te leveren.
+
+Klik op de knop 'terug' in uw browser om terug te gaan naar het
tekstbewerkingsscherm.",
+ 'captcha-createaccount' => "Voer ter bescherming tegen
geautomatiseerde spam de woorden in die in de volgende afbeelding te zien zijn om uw
gebruiker aan te maken:<br />
+([[Special:Captcha/help|Wat is dit?]])",
+ 'captcha-createaccount-fail' => "Onjuiste bevestigingscode of niet
ingevuld.",
+);
+$wgConfirmEditMessages['no'] = array(
+ 'captcha-edit' => "Din redigering inkluderer nye lenker;
som en beskyttelse mot automatisert spam er du nødt til skrive inn ordene i dette bildet:
+<br />([[Special:Captcha/help|Hva er dette?]])",
+ 'captcha-addurl' => "Din redigering inkluderer nye lenker;
som en beskyttelse mot automatisert spam er du nødt til skrive inn ordene i dette bildet:
+<br />([[Special:Captcha/help|Hva er dette?]])",
+ 'captcha-create' => "Din redigering inkluderer nye lenker;
som en beskyttelse mot automatisert spam er du nødt til skrive inn ordene i dette bildet:
+<br />([[Special:Captcha/help|Hva er dette?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Internettsider som kan redigeres av
alle, som denne wikien, blir ofte misbrukt av spammere som bruker roboter for å poste
massive antall lenker. Selv om slike spamlenker kan fjernes er de til betydelig
irritasjon.
+
+Noen ganger, særlig hvis du vil legge til nye internettlenker til en side, kan wikien
vise deg et bilde av en farvet eller ujevn tekst og be deg skrive inn ordene som vises.
Siden det er vanskelig å automatisere denne oppgaven, vil funksjonen slippe de fleste
virkelige mennesker igjennom, men stoppe spammere.
+
+Dessverre finnes det i øyeblikket ikke noe audioalternativ for brukere med begrenset syn
som som bruker tekst- eller talebaserte nettlesere. Vennlig kontakt administratorene hvis
denne funksjonen forhindrer deg i å foreta legitime endringer.
+
+Trykk på «tilbake»-knappen for å komme tilbake til redigeringssiden.",
+ 'captcha-createaccount' => "For å beskytte Wikipedia mot spam må du
skrive inn ordene i bildet for å registrere en konto.
+<br />([[Special:Captcha/help|Hva er dette?]])
+",
+ 'captcha-createaccount-fail' => "Feil eller manglende
bekreftelseskode.",
+);
+$wgConfirmEditMessages['nn'] = array(
+ 'captcha-edit' => "Endringa di inkluderer nye lenkjer; som
eit vern mot automatisert reklame (spam) er du nøydd til skrive inn orda i dette bildet:
<br />([[Special:Captcha/help|Kva er dette?]])",
+ 'captcha-addurl' => "Endringa di inkluderer nye lenkjer;
som eit vern mot automatisert reklame (spam) er du nøydd til skrive inn orda i dette
bildet: <br />([[Special:Captcha/help|Kva er dette?]])",
+ 'captcha-create' => "Endringa di inkluderer nye lenkjer;
som eit vern mot automatisert reklame (spam) er du nøydd til skrive inn orda i dette
bildet: <br />([[Special:Captcha/help|Kva er dette?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Internettsider som kan bli endra av
alle, som denne wikien, blir ofte misbruka av reklameinnleggjarar (spammarar) som nyttar
robotar til å poste store tal lenkjer. Sjølv om slike reklamelenkjer kan bli fjerna er dei
til betydelig irritasjon. Nokon gonger, særleg viss du vil leggje til nye internettlenker
til ei side, kan wikien vise deg eit bilete av ein farga eller ujamn tekst og be deg
skrive inn orda som blir visa. Sidan det er vanskeleg å automatisere denne oppgåva, vil
funksjonen slippe dei fleste verkelege menneska gjennom, men stoppe reklamerobotar.
Diverre finst det i augeblikket ikkje noko lydalternativ for brukarar med nedsett syn som
brukar tekst- eller talebaserte nettlesarar. Ver venleg å kontakte administratorane viss
denne funksjonen hindrar deg i å foreta legitime endringar. Trykk på «tilbake»-knappen for
å komma tilbake til redigeringssida.",
+ 'captcha-createaccount' => "For å verne Wikipedia mot reklame
(spam) må du skrive inn orda i biletet for å registrere ein konto. <br
/>([[Special:Captcha/help|Kva er dette?]])",
+ 'captcha-createaccount-fail' => "Feil eller manglande
godkjenningskode.",
+);
+$wgConfirmEditMessages['oc'] = array(
+ 'captcha-edit' => 'Vòstra modificacion inclutz de ligams
URL novèla ; per empachar las connexions automatizadas, devètz picar los mots que
s’afichan dins l’imatge que seguís : <br />([[Special:Captcha/help|Qu\'es
aquò?]])',
+ 'captcha-addurl' => 'Vòstra modificacion inclutz de ligams
URL novèla ; per empachar las connexions automatizadas, devètz picar los mots que
s’afichan dins l’imatge que seguís : <br />([[Special:Captcha/help|Qu\'es
aquò?]])',
+ 'captcha-create' => 'Vòstra modificacion inclutz de ligams
URL novèla ; per empachar las connexions automatizadas, devètz picar los mots que
s’afichan dins l’imatge que seguís : <br />([[Special:Captcha/help|Qu\'es
aquò?]])',
+ 'captcha-createaccount' => 'Coma proteccion contra las creacions de
compte abusivas, entratz lo resultat de l’addicion dins la boita çai jos:<br />
+([[Special:Captcha/help|mai d’informacions]])',
+ 'captcha-createaccount-fail' => 'Còde de confirmacion mancant o
erronèu.',
+ 'captchahelp-title' => 'Ajuda suls Captcha',
+ 'captchahelp-text' => 'Los sites webs que permeton al mai
grand nombre de participar, coma aqueste wiki, son sovent atacats per de spammers
qu\'utilizan d\'espleches automatizas per mandar lor ligams sus de fòrça sites
sulcòp. Son fòrt aisits de suprimir mas avèm francament de causas mai risolièras de far.
De còps quand ajustatz de ligams novèls vèrs lo web, lo wiki pòt vos mostrar un imatge amb
un tèxt coloriat o torçut e vos demandar de lo picar. Es una tasca relativament complicada
d\'automatizar, çò que permet de diferenciar un uman real d\'un logicial automatic
malvolent. Malaürosament, aqueste sistèma es pas adaptat a d\'utilizaires mal-vesents
o utilizant de navigaires textuals o audiò. Actualament, prepausem pas d\'alternativas
adaptadas. Se avètz besonh d\'ajuda esitetz pas a contactar los administrators del
sit. Clicatz sul boton \'precedent\' de vòstre navegaire per tornar a
l\'editor.',
+);
+$wgConfirmEditMessages['pt'] = array(
+ 'captcha-edit' => "Para editar esta página será necessário
que você digite as palavras exibidas na seguinte imagem no box apropriado
([[Special:Captcha/help|o que é isto?]])",
+ 'captcha-addurl' => "Sua edição inclui novas ligações
externas; como prevenção contra sistemas automatizados que inserem spam, será necessário
que você digite as palavras exibidas na seguinte imagem no box apropriado
([[Special:Captcha/help|o que é isto?]])",
+ 'captcha-badpass' => 'Como prevenção contra formas
automatizadas de pesquisa e descoberta de senhas, será necessário que você digite as
palavras exibidas na seguinte imagem no box apropriado ([[Special:Captcha/help|o que é
isto?]]',
+ 'captcha-create' => "Como prevenção contra sistemas
automatizados que inserem spam, será necessário que você digite as palavras exibidas na
seguinte imagem no box apropriado ([[Special:Captcha/help|o que é isto?]])",
+ 'captchahelp-title' => 'Ajuda com o Captcha',
+ 'captchahelp-cookies-needed' => "Você precisará ter cookies habilitados
em seu navegador para que possa funcionar",
+ 'captchahelp-text' => "Sítios abertos a inserções públicas,
como é o caso deste wiki, são vulneráveis a spammers que utilizem ferramentas
automatizadas para inserir seus links em diversos locais. Remover tais links
posteriormente poderá ser um significativo incômodo.
+
+Algumas vezes, especialmente ao adicionar novos links externos em uma página, o sistema
exibirá uma imagem com um texto colorido ou distorcido e pedirá que você digite as
palavras exibidas. Uma vez que essa é uma tarefa um tanto difícil de ser automatizada, ela
possibilita que vários humanos façam as suas inserções ao mesmo tempo que inibe as que
forem feitas por spammers e mecanismos automatizados.
+
+Infelizmente, isso pode ser dificultoso a utilizadores com limitações visuais ou que
naveguem através de mecanismos baseados em texto ou baseados em voz. No momento não há
uma alternativa em áudio. Por gentileza, contacte os administradores do sítio em casos que
seja necessária a assistência de alguém para que você possa fazer as suas inserções
legítimas.
+
+Pressione o botão 'voltar' de seu navegador para retornar à página de
edição.",
+ 'captcha-createaccount' => "Como prevenção contra sistemas
automatizados que inserem spam, será necessário que você digite as palavras exibidas na
seguinte imagem para que possa se cadastrar:<br />
+([[Special:Captcha/help|O que é isto?]])",
+ 'captcha-createaccount-fail' => "Código incorreto ou não
preenchido.",
+);
+$wgConfirmEditMessages['pt-br'] = $wgConfirmEditMessages['pt'];
+$wgConfirmEditMessages['ro'] = array(
+ 'captcha-edit' => 'Editarea include legături externe noi.
Pentru a evita spam-ul automat, vă rugăm să rezolvaţi adunarea de mai jos şi introduceţi
rezultatul în căsuţă ([[Special:Captcha/help|detalii]]):',
+ 'captcha-addurl' => 'Editarea include legături externe
noi. Pentru a evita spam-ul automat, vă rugăm să rezolvaţi adunarea de mai jos şi
introduceţi rezultatul în căsuţă ([[Special:Captcha/help|detalii]]):',
+ 'captcha-create' => 'Editarea include legături externe
noi. Pentru a evita spam-ul automat, vă rugăm să rezolvaţi adunarea de mai jos şi
introduceţi rezultatul în căsuţă ([[Special:Captcha/help|detalii]]):',
+ 'captcha-createaccount' => 'Pentru a evita crearea automată de
conturi, vă rugăm să rezolvaţi adunarea de mai jos şi introduceţi rezultatul în căsuţă
([[Special:Captcha/help|detalii]]):',
+ 'captcha-createaccount-fail' => 'Cod de confirmare incorect sau
lipsă.',
+ 'captchahelp-title' => 'Despre „Captcha”',
+ 'captchahelp-text' => 'Siturile Web care acceptă postări din
partea publicului, precum acest wiki, sunt de obicei abuzate de persoane care folosesc
unelte automate pentru a introduce legături către multe situri. Deşi aceste legături de
spam pot fi scoase, acest lucru reprezintă o muncă inconvenientă.
+
+Uneori, mai ales la adăugarea de legături web noi într-o pagină, situl wiki vă poate
arăta o imagine cu un text colorat sau distorsionat şi ruga să introduceţi cuvintele
arătate. Deoarece aceasta este o sarcină greu de automatizat, va permite majorităţii
persoanelor reale să posteze şi va opri majoritatea atacatorilor.
+
+Din nefericire, această metodă îi poate deranja pe utilizatorii cu vedere limitată sau
care folosesc browsere bazate pe text sau sunet. În acest moment nu avem o alternativă
audio disponibilă. Vă rugăm, contactaţi administratorii sitului pentru asistenţă dacă
metoda vă opreşte de la a face postări legitime.
+
+Va fi nevoie ca browserul folosit să suporte module cookie.',
+);
+$wgConfirmEditMessages['ru'] = array(
+ 'captcha-edit' => "Вы добавили ссылку на внешний сайт; в
целях защиты от автоматического спама, введите буквы изображённые на картинке:<br
/>
+([[{{ns:special}}:Captcha/help|Что это такое?]])",
+ 'captcha-addurl' => "Вы добавили ссылку на внешний сайт; в
целях защиты от автоматического спама, введите буквы изображённые на картинке:<br
/>
+([[{{ns:special}}:Captcha/help|Что это такое?]])",
+ 'captcha-create' => "Вы добавили ссылку на внешний сайт; в
целях защиты от автоматического спама, введите буквы изображённые на картинке:<br
/>
+([[{{ns:special}}:Captcha/help|Что это такое?]])",
+ 'captchahelp-title' => 'Справка о CAPTCHA',
+ 'captchahelp-text' => "Вебсайты позволяющие добавлять и
изменять своё содержимое, в том числе вики, часто становятся целью спамеров, использующих
программы для автоматического добавления ссылок. Хотя такие ссылки могут быть удалены, они
являются существенной помехой.
+
+Иногда, например при добавлении на страницу новой веб-ссылки, вики может показать вам
картинку с цветным или искажённым текстом и предложить ввести текст, который вы видите.
Так как подобная задача трудноавтоматизируема, это даёт возможность большинству людей
разместить свои изменения, в то время как большинство спамерских и вандальных программ не
могут это сделать.
+
+К сожалению, подобная защита может причинить неудобства людям с ограничениями по зрению
или тем, кто использует читающие браузеры. В настоящее время у нас нет звуковой
альтернативы данной проверке. Пожалуйста, обратитесь за помощью к администраторам, если
подобная проверка мешает вам добросовестно работать с сайтом.
+
+Нажмите кнопку «Назад» в ваше браузере, чтобы вернуться к редактированию.",
+ 'captcha-createaccount' => "В качестве меры против автоматического
спама, вы должны ввести буквы, изображённые на картинке, чтобы зарегистрироваться в
системе:<br />
+([[{{ns:special}}:Captcha/help|Что это такое?]])",
+ 'captcha-createaccount-fail' => "Код подтверждения отсутствует или
неверен.",
+);
+$wgConfirmEditMessages['sk'] = array(
+ 'captcha-edit' => 'Vaša úprava obsahuje nové externé
odkazy. Ako pomoc pri ochrane pred automatickým spamom vyriešte prosím tento jednoduchý
súčet a zadajte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):',
+ 'captcha-addurl' => 'Vaša úprava obsahuje nové externé
odkazy. Ako pomoc pri ochrane pred automatickým spamom vyriešte prosím tento jednoduchý
súčet a zadajte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):',
+ 'captcha-create' => 'Vaša úprava obsahuje nové externé
odkazy. Ako pomoc pri ochrane pred automatickým spamom vyriešte prosím tento jednoduchý
súčet a zadajte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):',
+ 'captcha-createaccount' => 'Kvôli ochrane proti automatizovanému
spamu je potrebné napísať slová zobrazené na tomto obrázku, až potom bude vytvorený nový
účet:
+<br />([[Special:Captcha/help|Čo je toto?]])',
+ 'captcha-createaccount-fail' => 'Nesprávny alebo chýbajúci potvrdzovací
kód.',
+ 'captchahelp-title' => 'Pomocník ku captcha',
+ 'captchahelp-text' => 'Webstránky prijímajúce príspevky od
verejnosti ako táto wiki sú často cieľom zneužitia spammemi, ktorí používajú
automatizované nástroje na to, aby svoje odkazy umiestnili na množstvo stránok. Hoci je
možné tieto odkazy odstrániť, zbytočne to zaťažuje používateľov.
+
+Niekedy, obzvlášť keď pridávate webové odkazy k článkom, wiki Vám môže zobraziť obrázok
so zafarbeným alebo pokriveným textom a požiadať Vás o prepísanie zobrazených slov. Keďže
takúto úlohu je ťažké zautomatizovať a umožní skutočným ľuďom poslať svoje príspevky,
zastaví to väčšinu spammerov a iných robotických útočníkov.
+
+Naneštastie, môže to byť prekážkou pre používateľov so zrakovým postihnutím alebo tých,
ktorí používajú textové alebo hovoriace prehliadače. Momentálne nemáme dostupnú audio
zvukovú alternatívu. Kontaktujte prosím administratorov stránok, ak Vám to neočakávane
komplikuje umiestňovanie oprávnených príspevkov.
+
+Stlačením tlačidla "späť" vo Vašom prehliadači sa vrátite do editora
stránky.',
+);
+$wgConfirmEditMessages['sl'] = array(
+ 'captcha-edit' => "Vaše urejanje vključuje nove
URL-povezave; zaradi zaščite pred avtomatizirano navlako boste morali vpisati besede, ki
se pojavijo v okencu: <br />([[{{ns:Special}}:Captcha/help|Kaj je to?]])",
+ 'captcha-addurl' => "Vaše urejanje vključuje nove
URL-povezave; zaradi zaščite pred avtomatizirano navlako boste morali vpisati besede, ki
se pojavijo v okencu: <br />([[{{ns:Special}}:Captcha/help|Kaj je to?]])",
+ 'captcha-create' => "Vaše urejanje vključuje nove
URL-povezave; zaradi zaščite pred avtomatizirano navlako boste morali vpisati besede, ki
se pojavijo v okencu: <br />([[{{ns:Special}}:Captcha/help|Kaj je to?]])",
+ 'captchahelp-title' => 'Pomoč za captcha',
+ 'captchahelp-text' => "Spletne strani, ki omogočajo
objavljanje širši javnosti, kot na primer ta wiki, pogosto zlorabljajo spamerji, ki za
objavo svojih povezav na mnogih straneh uporabljajo avtomatizirana orodja. Čeprav se te
neželene povezave da odstraniti, so precejšnja nadloga.
+
+Včasih, zlasti pri dodajanju novih spletnih povezav na stran, vam bo morda wiki prikazal
sliko obarvanega ali popačenega besedila in zahteval vpis prikazanih besed. Ker je to
opravilo težko avtomatizirati, bo s tem večini ljudi objavljanje dovoljeno, spamerji in
druge robotski napadalci pa bodo ustavljeni.
+
+Žal lahko to povzroči nevšečnosti uporabnikom s slabim vidom in tistim, ki uporabljajo
besedilne ali govorne brskalnike. Glasovna možnost trenutno še ni na razpolago. Če vam to
nepričakovano preprečuje legitimno objavo, se, prosimo, obrnite na administratorje
spletišča.
+
+Za vrnitev v urejevalnik izberite gumb 'nazaj' vašega brskalnika.",
+ 'captcha-createaccount' => "Za registracijo je zaradi zaščite pred
neželenimi reklamnimi sporočili treba vpisati prikazane besede: <br
/>([[{{ns:special}}:Captcha|Kaj je to?]])",
+ 'captcha-createaccount-fail' => "Nepravilna ali manjkajoča potrditvena
koda.",
+);
+$wgConfirmEditMessages['sq'] = array(
+ 'captcha-edit' => "Redaktimi juaj ka lidhje URL të reja
dhe si mbrojtje kundër abuzimeve automatike duhet të shtypni çfarë shfaqet tek figura e
mëposhtme:<br /> ([[Special:Captcha|Çfarë është kjo?]])",
+ 'captcha-addurl' => "Redaktimi juaj ka lidhje URL të reja
dhe si mbrojtje kundër abuzimeve automatike duhet të shtypni çfarë shfaqet tek figura e
mëposhtme:<br /> ([[Special:Captcha|Çfarë është kjo?]])",
+ 'captcha-create' => "Redaktimi juaj ka lidhje URL të reja
dhe si mbrojtje kundër abuzimeve automatike duhet të shtypni çfarë shfaqet tek figura e
mëposhtme:<br /> ([[Special:Captcha|Çfarë është kjo?]])",
+ 'captchahelp-title' => 'Captcha help',
+ 'captchahelp-text' => "Faqet e rrjetit që pranojnë shkrime nga
publiku, siç është edhe kjo wiki, shpesh abuzohen nga njerëz që duan të përfitojnë duke
reklamuar ose promovuar lidhjet e tyre. Këto lloj abuzimesh mund të hiqen kollaj por janë
një bezdi dhe shpenzim kohe i papranueshëm.
+
+Ndonjëherë, sidomos kur po hapni një llogari të re apo kur po shtoni lidhje të reja
nëpërmjet redaktimit tuaj, sistemi mund t'ju shfaqi një figurë që përmban fjalë me
gërma ose numra të shtrembruara ose me ngjyra të ndryshme të cilat ju duhet të shtypni
para se të mund të kryeni veprimin në fjalë. Kjo bëhet pasi është shumë e vështirë për një
robot ose mjet automatik të kryejë të njëjtën punë. Kështu mund të dallohet nëse jeni me
të vërtetë një njeri apo një robot. Ky lloj sistemi s'mund të ndalojë tërë abuzimet
por ndalon një pjesë të mirë të tyre, sidomos ato që janë automatike dhe të shumta në
numër.
+
+Fatkeqësisht ky lloj sistemi mund të bezdisi përdoruesit me pamje të kufizuar ose ata që
përdorin mjete teksti ose shfletues leximi me zë. Tani për tani nuk kemi mundësi për të
ofruar një sistem me zë në vend të figurave. Ju lutem lidhuni me administruesit nëse ky
sistem po ju ndalon të jepni kontribute të vlefshme.
+
+Shtypni butonin \"prapa\" (\"back\") të shfletuesit tuaj për tu
kthyer tek faqja e mëparshme.",
+ 'captcha-createaccount' => "Për mbrojtje kundër regjistrimeve
automatike duhet të shtypni çfarë shfaqet tek figura e mëposhtme para se të hapni
llogarinë:<br /> ([[Special:Captcha|Çfarë është kjo?]])",
+ 'captcha-createaccount-fail' => "Mesazhi që duhej shtypur mungon ose nuk
është shtypur siç duhet.",
+);
+$wgConfirmEditMessages['uk'] = array(
+ 'captchahelp-text' => "Вікіпедія застосовує техніку
розрізнення людей від комп'ютерів, яка використовує розпізнавання образів, для захисту
від комп'ютерних шкідливих програм, які автоматично реєструються (найчастіше
спамлять у статтях).
+
+Для реєстрації у Вікіпедії та іноді й при редагуванні статей користувачеві потрібно
ввести вказану контрольну послідовність символів, і яку вони, будучи людьми, а не
комп'ютерними програмами, можуть легко розпізнати.
+
+You will need to have cookies enabled in your browser for this to work.
+
+Hit the 'back' button in your browser to return to the page editor.",
+ 'captcha-createaccount-fail' => 'Невірний або відсутній код
підтвердження.',
+);
+$wgConfirmEditMessages['wa'] = array(
+ 'captcha-edit' => 'Dins vos candjmints i gn a des novelès hårdêyes
(URL); po s\' mete a houte des robots di spam, nos vs dimandans d\' acertiner ki
vos estoz bén ene djin, po çoula, tapez les mots k\' aparexhèt dins l\' imådje
chal pa dzo:<br />([[{{ns:special}}:Captcha/help|Pocwè fjhans ns çoula?]])',
+ 'captcha-addurl' => 'Dins vos candjmints i gn a des novelès hårdêyes
(URL); po s\' mete a houte des robots di spam, nos vs dimandans d\' acertiner ki
vos estoz bén ene djin, po çoula, tapez les mots k\' aparexhèt dins l\' imådje
chal pa dzo:<br />([[{{ns:special}}:Captcha/help|Pocwè fjhans ns çoula?]])',
+ 'captcha-create' => 'Dins vos candjmints i gn a des novelès hårdêyes
(URL); po s\' mete a houte des robots di spam, nos vs dimandans d\' acertiner ki
vos estoz bén ene djin, po çoula, tapez les mots k\' aparexhèt dins l\' imådje
chal pa dzo:<br />([[{{ns:special}}:Captcha/help|Pocwè fjhans ns çoula?]])',
+ 'captchahelp-title' => 'Aidance passete d\' acertinaedje',
+ 'captchahelp-text' => 'Les waibes k\' acceptèt des messaedjes do
publik, come ci wiki chal, sont sovint eployîs pa des må-fjhants spameus, po pleur mete,
avou des usteyes otomatikes, des loyéns di rclame viè les sites da zels.
+Bén seur, on pout todi les disfacer al mwin, mins c\' est on soyant ovraedje.
+
+Adon, pa côps, copurade cwand vos radjoutez des hårdêyes a ene pådje, ou å moumint
d\' ahiver on novea conte sol wiki, on eployrè ene passete d\' acertinaedje,
dj\' ô bén k\' on vos mostere ene imådje avou on tecse kitoirdou eyet vs dimander
di taper les mots so l\' imådje. Come li ricnoxhance di ç\' tecse la est målåjheye
a fé otomaticmint pa on robot, çoula permete di leyî les vraiyès djins fé leus candjmints
tot arestant l\' plupårt des spameus et des sfwaitès atakes pa robot.
+
+Målureuzmint çoula apoite eto des målåjhminces po les cis k\' ont des problinmes po
vey, ou k\' eployèt des betchteus e môde tecse ou båzés sol vwès. Pol moumint, nos
n\' avans nén ene alternative odio. S\' i vs plait contactez les manaedjeus do
site po d\' l\' aidance si çoula vos espaitche di fé vos candjmints ledjitimes.
+
+Clitchîz sol boton «En erî» di vosse betchteu waibe po rivni al pådje di dvant.',
+ 'captcha-createaccount' => 'Po s\' mete a houte des robots di spam,
nos vs dimandans d\' acertiner ki vos estoz bén ene djin po-z ahiver vosse conte, po
çoula, tapez les mots k\' aparexhèt dins l\' imådje chal pa dzo:<br
/>([[{{ns:special}}:Captcha/help|Pocwè fjhans ns çoula?]])',
+ 'captcha-createaccount-fail' => 'Li côde d\' acertinaedje est incorek
ou mancant.',
+);
+$wgConfirmEditMessages['zh-cn'] = array(
+ 'captcha-edit' =>
"你编辑的内容中含有一个新的URL链接;为了免受自动垃圾程序的侵扰,你需要输入显示在下面图片中的文字:<br />
+([[Special:Captcha/help|这是什么?]])",
+ 'captcha-addurl' =>
"你编辑的内容中含有一个新的URL链接;为了免受自动垃圾程序的侵扰,你需要输入显示在下面图片中的文字:<br />
+([[Special:Captcha/help|这是什么?]])",
+ 'captcha-create' =>
"你编辑的内容中含有一个新的URL链接;为了免受自动垃圾程序的侵扰,你需要输入显示在下面图片中的文字:<br />
+([[Special:Captcha/help|这是什么?]])",
+ 'captchahelp-title' => 'Captcha 帮助',
+ 'captchahelp-text' =>
"象本站一样,对公众开放编辑的站点经常被垃圾链接骚扰。那些人使用自动化垃圾程序将他们的链接张贴到很多站点。虽然这些链接可以被清除,但是这些东西确实令人十分讨厌。
+
+有时,特别是当给一个页面添加新的网页链接时,本站会让你看一幅有颜色的或者有变形文字的图像,并且要你输入所显示的文字。因为这是难以自动完成的一项任务,它将允许人保存他们的编辑,同时阻止大多数发送垃圾邮件者和其他机器人的攻击。
+
+令人遗憾是,这会使得视力不好的人,或者使用基于文本或者基于声音的浏览器的用户感到不便。而目前我们还没有提供的音频的选择。如果这正好阻止你进行正常的编辑,请和管理员联系获得帮助。
+
+单击你浏览器中的“后退”按钮返回你所编辑的页面。",
+ 'captcha-createaccount' => "为了防止程序自动注册,你需要输入以下图片中显示的文字才能注册帐户:<br
/>
+([[Special:Captcha/help|这是什么?]])",
+ 'captcha-createaccount-fail' => "验证码错误或丢失。",
+);
+$wgConfirmEditMessages['zh-tw'] = array(
+ 'captcha-edit' =>
"你編輯的內容中含有一個新的URL連結;為了免受自動垃圾程式的侵擾,你需要輸入顯示在下面圖片中的文字:<br />
+([[Special:Captcha/help|這是什麼?]])",
+ 'captcha-addurl' =>
"你編輯的內容中含有一個新的URL連結;為了免受自動垃圾程式的侵擾,你需要輸入顯示在下面圖片中的文字:<br />
+([[Special:Captcha/help|這是什麼?]])",
+ 'captcha-create' =>
"你編輯的內容中含有一個新的URL連結;為了免受自動垃圾程式的侵擾,你需要輸入顯示在下面圖片中的文字:<br />
+([[Special:Captcha/help|這是什麼?]])",
+ 'captchahelp-title' => 'Captcha 說明',
+ 'captchahelp-text' =>
"像本站一樣,對公眾開放編輯的網站經常被垃圾連結騷擾。那些人使用自動化垃圾程序將他們的連結張貼到很多網站。雖然這些連結可以被清除,但是這些東西確實令人十分討厭。
+
+有時,特別是當給一個頁面添加新的網頁連結時,本站會讓你看一幅有顏色的或者有變形文字的圖像,並且要你輸入所顯示的文字。因為這是難以自動完成的一項任務,它將允許人保存他們的編輯,同時阻止大多數發送垃圾郵件者和其他機器人的攻擊。
+
+令人遺憾是,這會使得視力不好的人,或者使用基於文本或者基於聲音的瀏覽器的用戶感到不便。而目前我們還沒有提供的音頻的選擇。如果這正好阻止你進行正常的編輯,請和管理員聯繫獲得幫助。
+
+點擊瀏覽器中的「後退」按鈕返回你所編輯的頁面。",
+ 'captcha-createaccount' => "為了防止程式自動註冊,你需要輸入以下圖片中顯示的文字才能註冊帳戶:<br
/>
+([[Special:Captcha/help|這是什麼?]])",
+ 'captcha-createaccount-fail' => "驗證碼錯誤或丟失。",
+);
+$wgConfirmEditMessages['zh-yue'] = array(
+ 'captcha-edit' =>
"你編輯的內容中含有新的URL連結;為咗避免受到自動垃圾程式的侵擾,你需要輸入顯示喺下面圖片度嘅文字:<br />
+([[Special:Captcha/help|呢個係乜嘢嚟?]])",
+ 'captcha-addurl' =>
"你編輯的內容中含有新的URL連結;為咗避免受到自動垃圾程式的侵擾,你需要輸入顯示喺下面圖片度嘅文字:<br />
+([[Special:Captcha/help|呢個係乜嘢嚟?]])",
+ 'captcha-create' =>
"你編輯的內容中含有新的URL連結;為咗避免受到自動垃圾程式的侵擾,你需要輸入顯示喺下面圖片度嘅文字:<br />
+([[Special:Captcha/help|呢個係乜嘢嚟?]])",
+ 'captchahelp-title' => 'Captcha 幫助',
+ 'captchahelp-text' =>
"就好似呢個wiki咁,對公眾開放編輯嘅網站係會經常受到垃圾連結騷擾。嗰啲人利用自動化垃圾程序將佢哋嘅連結張貼到好多網站。雖然呢啲連結可以被清除,但係呢啲嘢確實令人十分之討厭。
+
+有時,特別係當響一頁添加新嘅網頁連結嗰陣,呢個網站會畀你睇一幅有顏色的或者有變形文字嘅圖像,跟住要你輸入所顯示嘅文字。因為咁係難以自動完成嘅一項任務,它將允許人保存佢哋嘅編輯,同時亦阻止大多數發送垃圾郵件者同其它機械人嘅攻擊。
+
+令人遺憾嘅係,咁會令到視力唔好嘅人,或者利用基於文本或者基於聲音嘅瀏覽器用戶感到不便。而目前我哋仲未能夠提供音頻嘅選擇。如果咁樣咁啱阻止到你進行正常嘅編輯,請同管理員聯繫以獲得幫助。
+
+撳一下響瀏覽器度嘅「後退」掣返去你之前所編輯緊嘅頁面。",
+ 'captcha-createaccount' =>
"為咗防止程式自動註冊,你需要輸入以下圖片中顯示的文字先至能夠註冊得到個戶口:<br />
+([[Special:Captcha/help|呢個係乜嘢嚟?]])",
+ 'captcha-createaccount-fail' => "驗證碼錯誤或者唔見咗。",
+);
+$wgConfirmEditMessages['zh-hk'] = $wgConfirmEditMessages['zh-tw'];
+$wgConfirmEditMessages['zh-sg'] = $wgConfirmEditMessages['zh-cn'];
+?>
Added: projects/wiki/extensions/recaptcha/ConfirmEdit.php
===================================================================
--- projects/wiki/extensions/recaptcha/ConfirmEdit.php (rev 0)
+++ projects/wiki/extensions/recaptcha/ConfirmEdit.php 2007-06-25 18:20:45 UTC (rev 3715)
@@ -0,0 +1,708 @@
+<?php
+
+/**
+ * Experimental captcha plugin framework.
+ * Not intended as a real production captcha system; derived classes
+ * can extend the base to produce their fancy images in place of the
+ * text-based test output here.
+ *
+ * Copyright (C) 2005, 2006 Brion Vibber <brion(a)pobox.com>
+ *
http://www.mediawiki.org/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
http://www.gnu.org/copyleft/gpl.html
+ *
+ * @addtogroup Extensions
+ */
+
+if ( defined( 'MEDIAWIKI' ) ) {
+
+global $wgExtensionFunctions, $wgGroupPermissions;
+
+$wgExtensionFunctions[] = 'ceSetup';
+$wgExtensionCredits['other'][] = array(
+ 'name' => 'ConfirmEdit',
+ 'author' => 'Brion Vibber',
+ 'url' => 'http://www.mediawiki.org/wiki/Extension:ConfirmEdit',
+ 'description' => 'Simple captcha implementation',
+);
+
+# Internationalisation file
+require_once( 'ConfirmEdit.i18n.php' );
+
+/**
+ * The 'skipcaptcha' permission key can be given out to
+ * let known-good users perform triggering actions without
+ * having to go through the captcha.
+ *
+ * By default, sysops and registered bot accounts will be
+ * able to skip, while others have to go through it.
+ */
+$wgGroupPermissions['*' ]['skipcaptcha'] = false;
+$wgGroupPermissions['user' ]['skipcaptcha'] = false;
+$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
+$wgGroupPermissions['bot' ]['skipcaptcha'] = true; // registered
bots
+$wgGroupPermissions['sysop' ]['skipcaptcha'] = true;
+
+global $wgCaptcha, $wgCaptchaClass, $wgCaptchaTriggers;
+$wgCaptcha = null;
+$wgCaptchaClass = 'SimpleCaptcha';
+
+/**
+ * Actions which can trigger a captcha
+ *
+ * If the 'edit' trigger is on, *every* edit will trigger the captcha.
+ * This may be useful for protecting against vandalbot attacks.
+ *
+ * If using the default 'addurl' trigger, the captcha will trigger on
+ * edits that include URLs that aren't in the current version of the page.
+ * This should catch automated linkspammers without annoying people when
+ * they make more typical edits.
+ *
+ * The captcha code should not use $wgCaptchaTriggers, but CaptchaTriggers()
+ * which also takes into account per namespace triggering.
+ */
+$wgCaptchaTriggers = array();
+$wgCaptchaTriggers['edit'] = false; // Would check on every edit
+$wgCaptchaTriggers['create'] = false; // Check on page creation.
+$wgCaptchaTriggers['addurl'] = true; // Check on edits that add URLs
+$wgCaptchaTriggers['createaccount'] = true; //
Special:Userlogin&type=signup
+$wgCaptchaTriggers['badlogin'] = true; // Special:Userlogin after failure
+
+/**
+ * You may wish to apply special rules for captcha triggering on some namespaces.
+ * $wgCaptchaTriggersOnNamespace[<namespace id>][<trigger>] forces an always
on /
+ * always off configuration with that trigger for the given namespace.
+ * Leave unset to use the global options ($wgCaptchaTriggers).
+ *
+ * Shall not be used with 'createaccount' (it is not checked).
+ */
+$wgCaptchaTriggersOnNamespace = array();
+
+#Example:
+#$wgCaptchaTriggersOnNamespace[NS_TALK]['create'] = false; //Allow creation of
talk pages without captchas.
+#$wgCaptchaTriggersOnNamespace[NS_PROJECT]['edit'] = true; //Show captcha
whenever editing Project pages.
+
+/**
+ * Indicate how to store per-session data required to match up the
+ * internal captcha data with the editor.
+ *
+ * 'CaptchaSessionStore' uses PHP's session storage, which is cookie-based
+ * and may fail for anons with cookies disabled.
+ *
+ * 'CaptchaCacheStore' uses $wgMemc, which avoids the cookie dependency
+ * but may be fragile depending on cache configuration.
+ */
+global $wgCaptchaStorageClass;
+$wgCaptchaStorageClass = 'CaptchaSessionStore';
+
+/**
+ * Number of seconds a captcha session should last in the data cache
+ * before expiring when managing through CaptchaCacheStore class.
+ *
+ * Default is a half hour.
+ */
+global $wgCaptchaSessionExpiration;
+$wgCaptchaSessionExpiration = 30 * 60;
+
+/**
+ * Number of seconds after a bad login that a captcha will be shown to
+ * that client on the login form to slow down password-guessing bots.
+ *
+ * Has no effect if 'badlogin' is disabled in $wgCaptchaTriggers or
+ * if there is not a caching engine enabled.
+ *
+ * Default is five minutes.
+ */
+global $wgCaptchaBadLoginExpiration;
+$wgCaptchaBadLoginExpiration = 5 * 60;
+
+/**
+ * Allow users who have confirmed their e-mail addresses to post
+ * URL links without being harassed by the captcha.
+ */
+global $ceAllowConfirmedEmail;
+$ceAllowConfirmedEmail = false;
+
+/**
+ * Regex to whitelist URLs to known-good sites...
+ * For instance:
+ * $wgCaptchaWhitelist =
'#^https?://([a-z0-9-]+\\.)?(wikimedia|wikipedia)\.org/#i';
+ * @fixme Use the 'spam-whitelist' thingy instead?
+ */
+$wgCaptchaWhitelist = false;
+
+/**
+ * Additional regexes to check for. Use full regexes; can match things
+ * other than URLs such as junk edits.
+ *
+ * If the new version matches one and the old version doesn't,
+ * toss up the captcha screen.
+ *
+ * @fixme Add a message for local admins to add items as well.
+ */
+$wgCaptchaRegexes = array();
+
+/** Register special page */
+global $wgSpecialPages;
+$wgSpecialPages['Captcha'] = array( /*class*/ 'SpecialPage',
/*name*/'Captcha', /*restriction*/ '',
+ /*listed*/ false, /*function*/ false, /*file*/ false );
+
+/**
+ * Set up message strings for captcha utilities.
+ */
+function ceSetup() {
+ # Add messages
+ global $wgMessageCache, $wgConfirmEditMessages;
+ foreach( $wgConfirmEditMessages as $lang => $messages )
+ $wgMessageCache->addMessages( $messages, $lang );
+
+ global $wgHooks, $wgCaptcha, $wgCaptchaClass, $wgSpecialPages;
+ $wgCaptcha = new $wgCaptchaClass();
+ $wgHooks['EditFilter'][] = array( &$wgCaptcha, 'confirmEdit' );
+
+ $wgHooks['UserCreateForm'][] = array( &$wgCaptcha,
'injectUserCreate' );
+ $wgHooks['AbortNewAccount'][] = array( &$wgCaptcha,
'confirmUserCreate' );
+
+ $wgHooks['LoginAuthenticateAudit'][] = array( &$wgCaptcha,
'triggerUserLogin' );
+ $wgHooks['UserLoginForm'][] = array( &$wgCaptcha, 'injectUserLogin'
);
+ $wgHooks['AbortLogin'][] = array( &$wgCaptcha, 'confirmUserLogin'
);
+}
+
+/**
+ * Entry point for Special:Captcha
+ */
+function wfSpecialCaptcha( $par = null ) {
+ global $wgCaptcha;
+ switch( $par ) {
+ case "image":
+ return $wgCaptcha->showImage();
+ case "help":
+ default:
+ return $wgCaptcha->showHelp();
+ }
+}
+
+class SimpleCaptcha {
+ function SimpleCaptcha() {
+ global $wgCaptchaStorageClass;
+ $this->storage = new $wgCaptchaStorageClass;
+ }
+
+ /**
+ * Insert a captcha prompt into the edit form.
+ * This sample implementation generates a simple arithmetic operation;
+ * it would be easy to defeat by machine.
+ *
+ * Override this!
+ *
+ * @return string HTML
+ */
+ function getForm() {
+ $a = mt_rand(0, 100);
+ $b = mt_rand(0, 10);
+ $op = mt_rand(0, 1) ? '+' : '-';
+
+ $test = "$a $op $b";
+ $answer = ($op == '+') ? ($a + $b) : ($a - $b);
+
+ $index = $this->storeCaptcha( array( 'answer' => $answer ) );
+
+ return "<p><label for=\"wpCaptchaWord\">$test</label>
= " .
+ wfElement( 'input', array(
+ 'name' => 'wpCaptchaWord',
+ 'id' => 'wpCaptchaWord',
+ 'tabindex' => 1 ) ) . // tab in before the edit textarea
+ "</p>\n" .
+ wfElement( 'input', array(
+ 'type' => 'hidden',
+ 'name' => 'wpCaptchaId',
+ 'id' => 'wpCaptchaId',
+ 'value' => $index ) );
+ }
+
+ /**
+ * Insert the captcha prompt into an edit form.
+ * @param OutputPage $out
+ */
+ function editCallback( &$out ) {
+ $out->addWikiText( $this->getMessage( $this->action ) );
+ $out->addHTML( $this->getForm() );
+ }
+
+ /**
+ * Show a message asking the user to enter a captcha on edit
+ * The result will be treated as wiki text
+ *
+ * @param $action Action being performed
+ * @return string
+ */
+ function getMessage( $action ) {
+ $name = 'captcha-' . $action;
+ $text = wfMsg( $name );
+ # Obtain a more tailored message, if possible, otherwise, fall back to
+ # the default for edits
+ return wfEmptyMsg( $name, $text ) ? wfMsg( 'captcha-edit' ) : $text;
+ }
+
+ /**
+ * Inject whazawhoo
+ * @fixme if multiple thingies insert a header, could break
+ * @param SimpleTemplate $template
+ * @return bool true to keep running callbacks
+ */
+ function injectUserCreate( &$template ) {
+ global $wgCaptchaTriggers, $wgOut;
+ if( $wgCaptchaTriggers['createaccount'] ) {
+ $template->set( 'header',
+ "<div class='captcha'>" .
+ $wgOut->parse( $this->getMessage( 'createaccount' ) ) .
+ $this->getForm() .
+ "</div>\n" );
+ }
+ return true;
+ }
+
+ /**
+ * Inject a captcha into the user login form after a failed
+ * password attempt as a speedbump for mass attacks.
+ * @fixme if multiple thingies insert a header, could break
+ * @param SimpleTemplate $template
+ * @return bool true to keep running callbacks
+ */
+ function injectUserLogin( &$template ) {
+ if( $this->isBadLoginTriggered() ) {
+ global $wgOut;
+ $template->set( 'header',
+ "<div class='captcha'>" .
+ $wgOut->parse( $this->getMessage( 'badlogin' ) ) .
+ $this->getForm() .
+ "</div>\n" );
+ }
+ return true;
+ }
+
+ /**
+ * When a bad login attempt is made, increment an expiring counter
+ * in the memcache cloud. Later checks for this may trigger a
+ * captcha display to prevent too many hits from the same place.
+ * @param User $user
+ * @param string $password
+ * @param int $retval authentication return value
+ * @return bool true to keep running callbacks
+ */
+ function triggerUserLogin( $user, $password, $retval ) {
+ global $wgCaptchaTriggers, $wgCaptchaBadLoginExpiration, $wgMemc;
+ if( $retval == LoginForm::WRONG_PASS && $wgCaptchaTriggers['badlogin']
) {
+ $key = $this->badLoginKey();
+ $count = $wgMemc->get( $key );
+ if( !$count ) {
+ $wgMemc->add( $key, 0, $wgCaptchaBadLoginExpiration );
+ }
+ $count = $wgMemc->incr( $key );
+ }
+ return true;
+ }
+
+ /**
+ * Check if a bad login has already been registered for this
+ * IP address. If so, require a captcha.
+ * @return bool
+ * @access private
+ */
+ function isBadLoginTriggered() {
+ global $wgMemc;
+ return intval( $wgMemc->get( $this->badLoginKey() ) ) > 0;
+ }
+
+ /**
+ * Internal cache key for badlogin checks.
+ * @return string
+ * @access private
+ */
+ function badLoginKey() {
+ return wfMemcKey( 'captcha', 'badlogin', 'ip', wfGetIP() );
+ }
+
+ /**
+ * Check if the submitted form matches the captcha session data provided
+ * by the plugin when the form was generated.
+ *
+ * Override this!
+ *
+ * @param WebRequest $request
+ * @param array $info
+ * @return bool
+ */
+ function keyMatch( $request, $info ) {
+ return $request->getVal( 'wpCaptchaWord' ) == $info['answer'];
+ }
+
+ // ----------------------------------
+
+ /**
+ * @param EditPage $editPage
+ * @param string $action (edit/create/addurl...)
+ * @return bool true if action triggers captcha on editPage's namespace
+ */
+ function captchaTriggers( &$editPage, $action) {
+ global $wgCaptchaTriggers, $wgCaptchaTriggersOnNamespace;
+ //Special config for this NS?
+ if (isset(
$wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action] ) )
+ return
$wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action];
+
+ return ( !empty( $wgCaptchaTriggers[$action] ) ); //Default
+ }
+
+
+ /**
+ * @param EditPage $editPage
+ * @param string $newtext
+ * @param string $section
+ * @return bool true if the captcha should run
+ */
+ function shouldCheck( &$editPage, $newtext, $section ) {
+ $this->trigger = '';
+
+ global $wgUser;
+ if( $wgUser->isAllowed( 'skipcaptcha' ) ) {
+ wfDebug( "ConfirmEdit: user group allows skipping captcha\n" );
+ return false;
+ }
+
+ global $wgEmailAuthentication, $ceAllowConfirmedEmail;
+ if( $wgEmailAuthentication && $ceAllowConfirmedEmail &&
+ $wgUser->isEmailConfirmed() ) {
+ wfDebug( "ConfirmEdit: user has confirmed mail, skipping captcha\n" );
+ return false;
+ }
+
+ if( $this->captchaTriggers( $editPage, 'edit' ) ) {
+ // Check on all edits
+ global $wgUser, $wgTitle;
+ $this->trigger = sprintf( "edit trigger by '%s' at [[%s]]",
+ $wgUser->getName(),
+ $wgTitle->getPrefixedText() );
+ $this->action = 'edit';
+ wfDebug( "ConfirmEdit: checking all edits...\n" );
+ return true;
+ }
+
+ if( $this->captchaTriggers( $editPage, 'create' ) &&
!$editPage->mTitle->exists() ) {
+ //Check if creating a page
+ global $wgUser, $wgTitle;
+ $this->trigger = sprintf( "Create trigger by '%s' at [[%s]]",
+ $wgUser->getName(),
+ $wgTitle->getPrefixedText() );
+ $this->action = 'create';
+ wfDebug( "ConfirmEdit: checking on page creation...\n" );
+ return true;
+ }
+
+ if( $this->captchaTriggers( $editPage, 'addurl' ) ) {
+ // Only check edits that add URLs
+ $oldtext = $this->loadText( $editPage, $section );
+
+ $oldLinks = $this->findLinks( $oldtext );
+ $newLinks = $this->findLinks( $newtext );
+ $unknownLinks = array_filter( $newLinks, array( &$this, 'filterLink' ) );
+
+ $addedLinks = array_diff( $unknownLinks, $oldLinks );
+ $numLinks = count( $addedLinks );
+
+ if( $numLinks > 0 ) {
+ global $wgUser, $wgTitle;
+ $this->trigger = sprintf( "%dx url trigger by '%s' at [[%s]]:
%s",
+ $numLinks,
+ $wgUser->getName(),
+ $wgTitle->getPrefixedText(),
+ implode( ", ", $addedLinks ) );
+ $this->action = 'addurl';
+ return true;
+ }
+ }
+
+ global $wgCaptchaRegexes;
+ if( !empty( $wgCaptchaRegexes ) ) {
+ // Custom regex checks
+ $oldtext = $this->loadText( $editPage, $section );
+
+ foreach( $wgCaptchaRegexes as $regex ) {
+ $newMatches = array();
+ if( preg_match_all( $regex, $newtext, $newMatches ) ) {
+ $oldMatches = array();
+ preg_match_all( $regex, $oldtext, $oldMatches );
+
+ $addedMatches = array_diff( $newMatches[0], $oldMatches[0] );
+
+ $numHits = count( $addedMatches );
+ if( $numHits > 0 ) {
+ global $wgUser, $wgTitle;
+ $this->trigger = sprintf( "%dx %s at [[%s]]: %s",
+ $numHits,
+ $regex,
+ $wgUser->getName(),
+ $wgTitle->getPrefixedText(),
+ implode( ", ", $addedMatches ) );
+ $this->action = 'edit';
+ return true;
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Filter callback function for URL whitelisting
+ * @return bool true if unknown, false if whitelisted
+ * @access private
+ */
+ function filterLink( $url ) {
+ global $wgCaptchaWhitelist;
+ return !( $wgCaptchaWhitelist && preg_match( $wgCaptchaWhitelist, $url ) );
+ }
+
+ /**
+ * The main callback run on edit attempts.
+ * @param EditPage $editPage
+ * @param string $newtext
+ * @param string $section
+ * @param bool true to continue saving, false to abort and show a captcha form
+ */
+ function confirmEdit( &$editPage, $newtext, $section ) {
+ if( $this->shouldCheck( $editPage, $newtext, $section ) ) {
+ if( $this->passCaptcha() ) {
+ return true;
+ } else {
+ $editPage->showEditForm( array( &$this, 'editCallback' ) );
+ return false;
+ }
+ } else {
+ wfDebug( "ConfirmEdit: no need to show captcha.\n" );
+ return true;
+ }
+ }
+
+ /**
+ * Hook for user creation form submissions.
+ * @param User $u
+ * @param string $message
+ * @return bool true to continue, false to abort user creation
+ */
+ function confirmUserCreate( $u, &$message ) {
+ global $wgCaptchaTriggers;
+ if( $wgCaptchaTriggers['createaccount'] ) {
+ $this->trigger = "new account '" . $u->getName() .
"'";
+ if( !$this->passCaptcha() ) {
+ $message = wfMsg( 'captcha-createaccount-fail' );
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Hook for user login form submissions.
+ * @param User $u
+ * @param string $message
+ * @return bool true to continue, false to abort user creation
+ */
+ function confirmUserLogin( $u, $pass, &$retval ) {
+ if( $this->isBadLoginTriggered() ) {
+ $this->trigger = "post-badlogin login '" . $u->getName() .
"'";
+ if( !$this->passCaptcha() ) {
+ $message = wfMsg( 'captcha-badlogin-fail' );
+ // Emulate a bad-password return to confuse the shit out of attackers
+ $retval = LoginForm::WRONG_PASS;
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Given a required captcha run, test form input for correct
+ * input on the open session.
+ * @return bool if passed, false if failed or new session
+ */
+ function passCaptcha() {
+ $info = $this->retrieveCaptcha();
+ if( $info ) {
+ global $wgRequest;
+ if( $this->keyMatch( $wgRequest, $info ) ) {
+ $this->log( "passed" );
+ $this->clearCaptcha( $info );
+ return true;
+ } else {
+ $this->clearCaptcha( $info );
+ $this->log( "bad form input" );
+ return false;
+ }
+ } else {
+ $this->log( "new captcha session" );
+ return false;
+ }
+ }
+
+ /**
+ * Log the status and any triggering info for debugging or statistics
+ * @param string $message
+ */
+ function log( $message ) {
+ wfDebugLog( 'captcha', 'ConfirmEdit: ' . $message . '; ' .
$this->trigger );
+ }
+
+ /**
+ * Generate a captcha session ID and save the info in PHP's session storage.
+ * (Requires the user to have cookies enabled to get through the captcha.)
+ *
+ * A random ID is used so legit users can make edits in multiple tabs or
+ * windows without being unnecessarily hobbled by a serial order requirement.
+ * Pass the returned id value into the edit form as wpCaptchaId.
+ *
+ * @param array $info data to store
+ * @return string captcha ID key
+ */
+ function storeCaptcha( $info ) {
+ if( !isset( $info['index'] ) ) {
+ // Assign random index if we're not udpating
+ $info['index'] = strval( mt_rand() );
+ }
+ $this->storage->store( $info['index'], $info );
+ return $info['index'];
+ }
+
+ /**
+ * Fetch this session's captcha info.
+ * @return mixed array of info, or false if missing
+ */
+ function retrieveCaptcha() {
+ global $wgRequest;
+ $index = $wgRequest->getVal( 'wpCaptchaId' );
+ return $this->storage->retrieve( $index );
+ }
+
+ /**
+ * Clear out existing captcha info from the session, to ensure
+ * it can't be reused.
+ */
+ function clearCaptcha( $info ) {
+ $this->storage->clear( $info['index'] );
+ }
+
+ /**
+ * Retrieve the current version of the page or section being edited...
+ * @param EditPage $editPage
+ * @param string $section
+ * @return string
+ * @access private
+ */
+ function loadText( $editPage, $section ) {
+ $rev = Revision::newFromTitle( $editPage->mTitle );
+ if( is_null( $rev ) ) {
+ return "";
+ } else {
+ $text = $rev->getText();
+ if( $section != '' ) {
+ return Article::getSection( $text, $section );
+ } else {
+ return $text;
+ }
+ }
+ }
+
+ /**
+ * Extract a list of all recognized HTTP links in the text.
+ * @param string $text
+ * @return array of strings
+ */
+ function findLinks( $text ) {
+ global $wgParser, $wgTitle, $wgUser;
+
+ $options = new ParserOptions();
+ $text = $wgParser->preSaveTransform( $text, $wgTitle, $wgUser, $options );
+ $out = $wgParser->parse( $text, $wgTitle, $options );
+
+ return array_keys( $out->getExternalLinks() );
+ }
+
+ /**
+ * Show a page explaining what this wacky thing is.
+ */
+ function showHelp() {
+ global $wgOut, $ceAllowConfirmedEmail;
+ $wgOut->setPageTitle( wfMsg( 'captchahelp-title' ) );
+ $wgOut->addWikiText( wfMsg( 'captchahelp-text' ) );
+ if ( $this->storage->cookiesNeeded() ) {
+ $wgOut->addWikiText( wfMsg( 'captchahelp-cookies-needed' ) );
+ }
+ }
+
+}
+
+class CaptchaSessionStore {
+ function store( $index, $info ) {
+ $_SESSION['captcha' . $info['index']] = $info;
+ }
+
+ function retrieve( $index ) {
+ if( isset( $_SESSION['captcha' . $index] ) ) {
+ return $_SESSION['captcha' . $index];
+ } else {
+ return false;
+ }
+ }
+
+ function clear( $index ) {
+ unset( $_SESSION['captcha' . $index] );
+ }
+
+ function cookiesNeeded() {
+ return true;
+ }
+}
+
+class CaptchaCacheStore {
+ function store( $index, $info ) {
+ global $wgMemc, $wgCaptchaSessionExpiration;
+ $wgMemc->set( wfMemcKey( 'captcha', $index ), $info,
+ $wgCaptchaSessionExpiration );
+ }
+
+ function retrieve( $index ) {
+ global $wgMemc;
+ $info = $wgMemc->get( wfMemcKey( 'captcha', $index ) );
+ if( $info ) {
+ return $info;
+ } else {
+ return false;
+ }
+ }
+
+ function clear( $index ) {
+ global $wgMemc;
+ $wgMemc->delete( wfMemcKey( 'captcha', $index ) );
+ }
+
+ function cookiesNeeded() {
+ return false;
+ }
+}
+
+} # End invocation guard
+
+?>
Added: projects/wiki/extensions/recaptcha/README
===================================================================
--- projects/wiki/extensions/recaptcha/README (rev 0)
+++ projects/wiki/extensions/recaptcha/README 2007-06-25 18:20:45 UTC (rev 3715)
@@ -0,0 +1,4 @@
+The reCAPTCH MediaWiki plugin stops spam and password cracking
+attempts. For instructions on installing the plugin, see:
+
+
http://recaptcha.net/plugins/mediawiki
Added: projects/wiki/extensions/recaptcha/ReCaptcha.i18n.php
===================================================================
--- projects/wiki/extensions/recaptcha/ReCaptcha.i18n.php (rev 0)
+++ projects/wiki/extensions/recaptcha/ReCaptcha.i18n.php 2007-06-25 18:20:45 UTC (rev
3715)
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Internationalisation file for the reCAPTCHA extension.
+ *
+ * @addtogroup Extensions
+*/
+
+function efReCaptchaMessages() {
+ return array(
+
+/* English */
+'en' => array(
+ 'recaptcha-edit' => 'To help protect against automated edit spam,
please type the two words you see in the box below:',
+ 'recaptcha-addurl' => 'Your edit includes new external links. To
help protect against automated
+spam, please type the two words you see in the box below:',
+ 'recaptcha-badpass' => 'To help protect against automated password
cracking, please type the two words you see in the box below:',
+ 'recaptcha-createaccount' => 'To help protect against automated account
creation, please type the two words you see in the box below:',
+ 'recaptcha-createaccount-fail' => "Incorrect or missing reCAPTCHA
answer.",
+ 'recaptcha-create' => 'To help protect against automated page creation,
please type the two words you see in the box below:',
+
+),
+
+/* TODO - more languages */
+
+ );
+
+}
+?>
Added: projects/wiki/extensions/recaptcha/ReCaptcha.php
===================================================================
--- projects/wiki/extensions/recaptcha/ReCaptcha.php (rev 0)
+++ projects/wiki/extensions/recaptcha/ReCaptcha.php 2007-06-25 18:20:45 UTC (rev 3715)
@@ -0,0 +1,147 @@
+<?php
+
+/**
+ * Captcha class using the reCAPTCHA widget.
+ * Stop Spam. Read Books.
+ *
+ * @addtogroup Extensions
+ * @author Mike Crawford <mike.crawford(a)gmail.com>
+ * @copyright Copyright (c) 2007 reCAPTCHA --
http://recaptcha.net
+ * @licence MIT/X11
+ */
+
+if( defined( 'MEDIAWIKI' ) ) {
+require_once( 'recaptchalib.php' );
+
+// make sure we have the confirm edit plugin
+require_once( 'ConfirmEdit.php' );
+
+// Set the default CAPTCHA to be reCAPTCHA.
+$wgCaptchaClass = 'ReCaptcha';
+
+
+global $recaptcha_public_key, $recaptcha_private_key;
+
+// Set these in LocalSettings.php
+$recaptcha_public_key = '';
+$recaptcha_private_key = '';
+
+
+$wgExtensionFunctions[] = 'efReCaptcha';
+
+/**
+ * Add the reCAPTCHA messages
+ *
+ */
+function efReCaptcha() {
+ global $wgMessageCache;
+ global $recaptcha_public_key, $recaptcha_private_key;
+ global $wgServerName;
+
+
+ require_once( dirname( __FILE__ ) . '/ReCaptcha.i18n.php' );
+ foreach( efReCaptchaMessages() as $lang => $messages )
+ $wgMessageCache->addMessages( $messages, $lang );
+
+ if ($recaptcha_private_key == '' || $recaptcha_public_key == '') {
+ die ('You need to set $recaptcha_private_key and $recaptcha_public_key in
LocalSettings.php to ' .
+ "use the reCAPTCHA plugin. You can sign up for a key <a href='"
.
+ htmlentities(recaptcha_get_signup_url ($wgServerName, "mediawiki")) .
"'>here</a>.");
+ }
+}
+
+
+class ReCaptcha extends SimpleCaptcha {
+
+ //reCAPTHCA error code returned from recaptcha_check_answer
+ private $recaptcha_error = null;
+
+
+ /**
+ * Displays the reCAPTCHA widget.
+ * If $this->recaptcha_error is set, it will display an error in the widget.
+ *
+ */
+ function getForm() {
+ global $recaptcha_public_key;
+ return "<script>var RecaptchaOptions = { tabindex : 1 }; </script>
" .
+ recaptcha_get_html($recaptcha_public_key, $this->recaptcha_error);
+ }
+
+
+
+ /**
+ * Calls the library function recaptcha_check_answer to verify the users input.
+ * Sets $this->recaptcha_error if the user is incorrect.
+ * @return boolean
+ *
+ */
+ function passCaptcha() {
+ global $recaptcha_private_key;
+ $recaptcha_response = recaptcha_check_answer ($recaptcha_private_key,
+ wfGetIP (),
+ $_POST['recaptcha_challenge_field'],
+ $_POST['recaptcha_response_field']);
+ if (!$recaptcha_response->is_valid) {
+ $this->recaptcha_error = $recaptcha_response->error;
+ return false;
+ }
+ $recaptcha_error = null;
+ return true;
+
+ }
+
+
+
+ /**
+ * Called on all edit page saves. (EditFilter events)
+ * @return boolean - true if page save should continue, false if should display
Captcha widget.
+ */
+ function confirmEdit( &$editPage, $newtext, $section ) {
+ if( $this->shouldCheck( $editPage, $newtext, $section ) ) {
+
+ if (!isset($_POST['recaptcha_response_field'])) {
+ //User has not yet been presented with Captcha, show the
widget.
+ $editPage->showEditForm( array( &$this,
'editCallback' ) );
+ return false;
+ }
+
+ if( $this->passCaptcha() ) {
+ return true;
+ } else {
+ //Try again - show the widget
+ $editPage->showEditForm( array( &$this,
'editCallback' ) );
+ return false;
+ }
+
+ } else {
+ wfDebug( "ConfirmEdit: no need to show captcha.\n" );
+ return true;
+ }
+ }
+
+
+
+ /**
+ * Show a message asking the user to enter a captcha on edit
+ * The result will be treated as wiki text
+ *
+ * @param $action Action being performed
+ * @return string
+ */
+ function getMessage( $action ) {
+ $name = 'recaptcha-' . $action;
+ $text = wfMsg( $name );
+ # Obtain a more tailored message, if possible, otherwise, fall back to
+ # the default for edits
+ return wfEmptyMsg( $name, $text ) ? wfMsg( 'recaptcha-edit' ) : $text;
+ }
+
+}
+
+} else {
+ echo( "This file is an extension to the MediaWiki software and cannot be used
standalone.\n" );
+ die( 1 );
+}
+
+?>
Added: projects/wiki/extensions/recaptcha/recaptchalib.php
===================================================================
--- projects/wiki/extensions/recaptcha/recaptchalib.php (rev 0)
+++ projects/wiki/extensions/recaptcha/recaptchalib.php 2007-06-25 18:20:45 UTC (rev
3715)
@@ -0,0 +1,275 @@
+<?php
+/*
+ * This is a PHP library that handles calling reCAPTCHA.
+ * - Documentation and latest version
+ *
http://recaptcha.net/plugins/php/
+ * - Get a reCAPTCHA API Key
+ *
http://recaptcha.net/api/getkey
+ * - Discussion group
+ *
http://groups.google.com/group/recaptcha
+ *
+ * Copyright (c) 2007 reCAPTCHA --
http://recaptcha.net
+ * AUTHORS:
+ * Mike Crawford
+ * Ben Maurer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/**
+ * The reCAPTCHA server URL's
+ */
+$recaptcha_api_server = 'http://api.recaptcha.net';
+$recaptcha_api_secure_server = 'https://api-secure.recaptcha.net';
+$recaptcha_verify_server = 'api-verify.recaptcha.net';
+
+
+/**
+ * Encodes the given data into a query string format
+ * @param $data - array of string elements to be encoded
+ * @return string - encoded request
+ */
+function _recaptcha_qsencode ($data) {
+ $req = "";
+ foreach ( $data as $key => $value )
+ $req .= $key . '=' . urlencode( stripslashes($value) ) .
'&';
+
+ // Cut the last '&'
+ $req=substr($req,0,strlen($req)-1);
+ return $req;
+}
+
+
+
+/**
+ * Submits an HTTP POST to a reCAPTCHA server
+ * @param string $host
+ * @param string $path
+ * @param array $data
+ * @param int port
+ * @return array response
+ */
+function _recaptcha_http_post($host, $path, $data, $port = 80) {
+
+ $req = _recaptcha_qsencode ($data);
+
+ $http_request = "POST $path HTTP/1.0\r\n";
+ $http_request .= "Host: $host\r\n";
+ $http_request .= "Content-Type:
application/x-www-form-urlencoded;\r\n";
+ $http_request .= "Content-Length: " . strlen($req) . "\r\n";
+ $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
+ $http_request .= "\r\n";
+ $http_request .= $req;
+
+ $response = '';
+ if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
+ die ('Could not open socket');
+ }
+
+ fwrite($fs, $http_request);
+
+ while ( !feof($fs) )
+ $response .= fgets($fs, 1160); // One TCP-IP packet
+ fclose($fs);
+ $response = explode("\r\n\r\n", $response, 2);
+
+ return $response;
+}
+
+
+
+/**
+ * Gets the challenge HTML (javascript and non-javascript version).
+ * This is called from the browser, and the resulting reCAPTCHA HTML widget
+ * is embedded within the HTML form it was called from.
+ * @param string $pubkey A public key for reCAPTCHA
+ * @param string $error The error given by reCAPTCHA (optional, default is null)
+ * @param boolean $use_ssl Should the request be made over ssl? (optional, default is
false)
+
+ * @return string - The HTML to be embedded in the user's form.
+ */
+function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false)
+{
+ global $recaptcha_api_server, $recaptcha_api_ssl_server;
+
+ if ($pubkey == null || $pubkey == '') {
+ die ("To use reCAPTCHA you must get an API key from <a
href='http://recaptcha.net/api/getkey'>http://recaptcha.net/ap...);
+ }
+
+ if ($use_ssl) {
+ $server = $recaptcha_api_ssl_server;
+ } else {
+ $server = $recaptcha_api_server;
+ }
+ $errorpart = "";
+ if ($error) {
+ $errorpart = "&error=" . $error;
+ }
+ return '<script type="text/javascript" src="'. $server
. '/challenge?k=' . $pubkey . $errorpart . '"></script>
+
+ <noscript>
+ <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart .
'" height="300" width="500"
frameborder="0"></iframe><br>
+ <textarea name="recaptcha_challenge_field" rows="3"
cols="40"></textarea>
+ <input type="hidden" name="recaptcha_response_field"
value="manual_challenge">
+ </noscript>';
+}
+
+
+
+
+/**
+ * A ReCaptchaResponse is returned from recaptcha_check_answer()
+ */
+class ReCaptchaResponse {
+ var $is_valid;
+ var $error;
+}
+
+
+/**
+ * Calls an HTTP POST function to verify if the user's guess was correct
+ * @param string $privkey
+ * @param string $remoteip
+ * @param string $challenge
+ * @param string $response
+ * @return ReCaptchaResponse
+ */
+function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response)
+{
+ if ($privkey == null || $privkey == '') {
+ die ("To use reCAPTCHA you must get an API key from <a
href='http://recaptcha.net/api/getkey'>http://recaptcha.net/ap...);
+ }
+
+ if ($remoteip == null || $remoteip == '') {
+ die ("For security reasons, you must pass the remote ip to reCAPTCHA");
+ }
+
+
+
+ //discard spam submissions
+ if ($challenge == null || strlen($challenge) == 0 || $response == null ||
strlen($response) == 0) {
+ $recaptcha_response = new ReCaptchaResponse();
+ $recaptcha_response->is_valid = false;
+ $recaptcha_response->error = 'incorrect-captcha-sol';
+ return $recaptcha_response;
+ }
+
+ global $recaptcha_verify_server;
+ $response = _recaptcha_http_post ($recaptcha_verify_server, "/verify",
+ array (
+ 'privatekey' => $privkey,
+ 'remoteip' => $remoteip,
+ 'challenge' => $challenge,
+ 'response' => $response
+ )
+ );
+
+ $answers = explode ("\n", $response [1]);
+ $recaptcha_response = new ReCaptchaResponse();
+
+ if (trim ($answers [0]) == 'true') {
+ $recaptcha_response->is_valid = true;
+ }
+ else {
+ $recaptcha_response->is_valid = false;
+ $recaptcha_response->error = $answers [1];
+ }
+ return $recaptcha_response;
+
+}
+
+/**
+ * gets a URL where the user can sign up for reCAPTCHA. If your application
+ * has a configuration page where you enter a key, you should provide a link
+ * using this function.
+ * @param string $domain The domain where the page is hosted
+ * @param string $appname The name of your application
+ */
+function recaptcha_get_signup_url ($domain = null, $appname = null) {
+ return "http://recaptcha.net/api/getkey?" . _recaptcha_qsencode (array
('domain' => $domain, 'app' => $appname));
+}
+
+
+
+/* Mailhide related code */
+
+function _recaptcha_aes_encrypt($val,$ky) {
+ if (! function_exists ("mcrypt_encrypt")) {
+ die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module
installed.");
+ }
+ $mode=MCRYPT_MODE_CBC;
+ $enc=MCRYPT_RIJNDAEL_128;
+ $val=str_pad($val, (16*(floor(strlen($val) / 16)+(strlen($val) % 16==0?2:1))),
chr(16-(strlen($val) % 16)));
+ return mcrypt_encrypt($enc, $ky, $val, $mode,
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
+}
+
+
+function _recaptcha_mailhide_urlbase64 ($x) {
+ return strtr(base64_encode ($x), '+/', '-_');
+}
+
+/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */
+function recaptcha_mailhide_url($pubkey, $privkey, $email) {
+ if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey ==
null) {
+ die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key,
" .
+ "you can do so at <a
href='http://mailhide.recaptcha.net/apikey'>http://mailhide.re...);
+ }
+
+
+ $ky = pack('H*', $privkey);
+ $cryptmail = _recaptcha_aes_encrypt ($email, $ky);
+
+ return "http://mailhide.recaptcha.net/d?k=" . $pubkey . "&c=" .
_recaptcha_mailhide_urlbase64 ($cryptmail);
+}
+
+/**
+ * gets the parts of the email to expose to the user.
+ * eg, given johndoe@example,com return ["john", "example.com"].
+ * the email is then displayed as john...(a)example.com
+ */
+function _recaptcha_mailhide_email_parts ($email) {
+ $arr = preg_split("/@/", $email );
+
+ if (strlen ($arr[0]) <= 4) {
+ $arr[0] = substr ($arr[0], 0, 1);
+ } else if (strlen ($arr[0]) <= 6) {
+ $arr[0] = substr ($arr[0], 0, 3);
+ } else {
+ $arr[0] = substr ($arr[0], 0, 4);
+ }
+ return $arr;
+}
+
+/**
+ * Gets html to display an email address given a public an private key.
+ * to get a key, go to:
+ *
+ *
http://mailhide.recaptcha.net/apikey
+ */
+function recaptcha_mailhide_html($pubkey, $privkey, $email) {
+ $emailparts = _recaptcha_mailhide_email_parts ($email);
+ $url = recaptcha_mailhide_url ($pubkey, $privkey, $email);
+
+ return htmlentities($emailparts[0]) . "<a href='" . htmlentities ($url)
.
+ "' onclick=\"window.open('" . htmlentities ($url) . "',
'',
'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300');
return false;\" title=\"Reveal this e-mail
address\">...</a>@" . htmlentities ($emailparts [1]);
+
+}
+
+
+?>