UNPKG

altcha

Version:

Privacy-first CAPTCHA widget, compliant with global regulations (GDPR/HIPAA/CCPA/LGDP/DPDPA/PIPL) and WCAG accessible. No tracking, self-verifying.

488 lines (487 loc) 25.3 kB
const o = () => { }; function f(e, a) { return e != e ? a == a : e !== a || e !== null && typeof e == "object" || typeof e == "function"; } let h = !1; function b(e) { var a = h; try { return h = !0, e(); } finally { h = a; } } function A(e, a, r) { if (e == null) return a(void 0), o; const t = b( () => e.subscribe( a, // @ts-expect-error r ) ); return t.unsubscribe ? () => t.unsubscribe() : t; } const n = []; function y(e, a = o) { let r = null; const t = /* @__PURE__ */ new Set(); function d(l) { if (f(e, l) && (e = l, r)) { const g = !n.length; for (const i of t) i[1](), n.push(i, e); if (g) { for (let i = 0; i < n.length; i += 2) n[i][0](n[i + 1]); n.length = 0; } } } function c(l) { d(l( /** @type {T} */ e )); } function u(l, g = o) { const i = [l, g]; return t.add(i), t.size === 1 && (r = a(d, c) || o), l( /** @type {T} */ e ), () => { t.delete(i), t.size === 0 && r && (r(), r = null); }; } return { set: d, update: c, subscribe: u }; } function s(e) { let a; return A(e, (r) => a = r)(), a; } globalThis.altchaPlugins = globalThis.altchaPlugins || []; globalThis.altchaI18n = globalThis.altchaI18n || { get: (e) => s(globalThis.altchaI18n.store)[e], set: (e, a) => { Object.assign(s(globalThis.altchaI18n.store), { [e]: a }), globalThis.altchaI18n.store.set(s(globalThis.altchaI18n.store)); }, store: y({}) }; const k = { ariaLinkLabel: "访问 Altcha.org", enterCode: "输入代码", enterCodeAria: "输入您听到的代码。按空格键播放音频。", error: "验证失败。稍后再试。", expired: "验证已过期。请重试。", verificationRequired: "需要验证!", footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="访问 Altcha.org">ALTCHA</a> 保护', getAudioChallenge: "获取音频挑战", label: "我不是机器人", loading: "加载中...", reload: "重新加载", verify: "验证", verified: "已验证", verifying: "正在验证...", waitAlert: "正在验证... 请稍等。" }; globalThis.altchaI18n.set("zh-cn", k); const v = { ariaLinkLabel: "訪問 Altcha.org", enterCode: "輸入代碼", enterCodeAria: "輸入您聽到的代碼。按空格鍵播放音頻。", error: "驗證失敗。稍後再試。", expired: "驗證已過期。請重試。", verificationRequired: "需要驗證!", footer: '由 <a href="https://altcha.org/" target="_blank" aria-label="訪問 Altcha.org">ALTCHA</a> 保護', getAudioChallenge: "獲取音頻挑戰", label: "我不是機器人", loading: "載入中...", reload: "重新載入", verify: "驗證", verified: "已驗證", verifying: "正在驗證...", waitAlert: "正在驗證... 請稍等。" }; globalThis.altchaI18n.set("zh-tw", v); const C = { ariaLinkLabel: "Altcha.orgを訪問", enterCode: "コードを入力", enterCodeAria: "聞こえるコードを入力してください。スペースキーを押して音声を再生します。", error: "認証に失敗しました。後でもう一度試してください。", expired: "認証が期限切れです。再試行してください。", verificationRequired: "認証が必要です!", footer: '保護されています <a href="https://altcha.org/" target="_blank" aria-label="Altcha.orgを訪問">ALTCHA</a>', getAudioChallenge: "音声チャレンジを取得", label: "私はロボットではありません", loading: "読み込み中...", reload: "再読み込み", verify: "確認", verified: "確認済み", verifying: "確認中...", waitAlert: "確認中...少々お待ちください。" }; globalThis.altchaI18n.set("ja", C); const T = { ariaLinkLabel: "Altcha.org 방문하기", enterCode: "코드 입력", enterCodeAria: "들리는 코드를 입력하세요. 스페이스 바를 눌러 오디오를 재생합니다.", error: "인증 실패. 나중에 다시 시도해주세요.", expired: "인증이 만료되었습니다. 다시 시도해주세요.", verificationRequired: "인증이 필요합니다!", footer: 'ALTCHA에서 보호됨 <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org 방문하기">ALTCHA</a>', getAudioChallenge: "오디오 챌린지 받기", label: "저는 로봇이 아닙니다", loading: "로딩 중...", reload: "새로 고침", verify: "확인", verified: "확인됨", verifying: "확인 중...", waitAlert: "확인 중... 잠시만 기다려주세요." }; globalThis.altchaI18n.set("ko", T); const p = { ariaLinkLabel: "Altcha.org पर जाएं", enterCode: "कोड दर्ज करेंं", enterCodeAria: "आप जो कोड सुनते हैं उसे दर्ज करें। ऑडियो चलाने के लिए स्पेस दबाएं।", error: "सत्यापन विफल। कृपया बाद में फिर से प्रयास करें।", expired: "सत्यापन समाप्त हो गया है। कृपया पुनः प्रयास करें।", verificationRequired: "सत्यापन आवश्यक है!", footer: 'द्वारा संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org पर जाएं">ALTCHA</a>', getAudioChallenge: "ऑडियो चुनौती प्राप्त करें", label: "मैं रोबोट नहीं हूँ", loading: "लोड हो रहा है...", reload: "पुनः लोड करें", verify: "सत्यापित करें", verified: "सत्यापित", verifying: "सत्यापित कर रहे हैं...", waitAlert: "सत्यापित किया जा रहा है... कृपया प्रतीक्षा करें।" }; globalThis.altchaI18n.set("hi", p); const L = { ariaLinkLabel: "Altcha.org পরিদর্শন করুন", enterCode: "কোড লিখুন", enterCodeAria: "আপনি যে কোড শুনতে পান তা লিখুন। অডিও প্লে করতে স্পেস বাটন টিপুন।", error: "যাচাইকরণ ব্যর্থ হয়েছে। পরে আবার চেষ্টা করুন।", expired: "যাচাইকরণ সময়সীমা শেষ হয়েছে। আবার চেষ্টা করুন।", verificationRequired: "যাচাই প্রয়োজন!", footer: 'দ্বারা সুরক্ষিত <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org পরিদর্শন করুন">ALTCHA</a>', getAudioChallenge: "অডিও চ্যালেঞ্জ নিন", label: "আমি রোবট নই", loading: "লোড হচ্ছে...", reload: "পুনরায় লোড করুন", verify: "যাচাই করুন", verified: "যাচাই করা হয়েছে", verifying: "যাচাই করা হচ্ছে...", waitAlert: "যাচাই করা হচ্ছে... দয়া করে অপেক্ষা করুন।" }; globalThis.altchaI18n.set("bn", L); const m = { ariaLinkLabel: "Altcha.org भेट द्या", enterCode: "कोड टाकाा", enterCodeAria: "तुम्ही ऐकत असलेला कोड टाका. ऑडिओ प्ले करण्यासाठी स्पेस दाबा.", error: "पुष्टीकरण अयशस्वी झाले. कृपया नंतर पुन्हा प्रयत्न करा.", expired: "पुष्टीकरण कालबाह्य झाले आहे. कृपया पुन्हा प्रयत्न करा.", verificationRequired: "पडताळणी आवश्यक आहे!", footer: 'द्वारे संरक्षित <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org भेट द्या">ALTCHA</a>', getAudioChallenge: "ऑडिओ चॅलेंज मिळवा", label: "मी रोबोट नाही", loading: "लोड होत आहे...", reload: "पुन्हा लोड करा", verify: "पुष्टीकरण करा", verified: "पुष्टीकरण झाले", verifying: "पुष्टीकरण करत आहे...", waitAlert: "पुष्टीकरण करत आहे... कृपया थोडा वेळ थांबा." }; globalThis.altchaI18n.set("mr", m); const q = { ariaLinkLabel: "Altcha.org సందర్శించండి", enterCode: "కోడ్‌ని నమోదు చేయండి", enterCodeAria: "మీరు విన్న కోడ్‌ని నమోదు చేయండి. ఆడియో ప్లే చేయడానికి స్పేస్‌ను నొక్కండి.", error: "చెకింగ్ విఫలమైంది. దయచేసి మరల ప్రయత్నించండి.", expired: "చెకింగ్ కాలం ముగిసింది. దయచేసి మరల ప్రయత్నించండి.", verificationRequired: "ధృవీకరణ అవసరం!", footer: 'ఈ సైట్ రక్షించబడింది <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org సందర్శించండి">ALTCHA</a>', getAudioChallenge: "ఆడియో ఛాలెంజ్ పొందండి", label: "నేను రోబోట్ కాదు", loading: "లోడ్ అవుతోంది...", reload: "మళ్ళీ లోడ్ చేయండి", verify: "ధ్రువీకరించు", verified: "ధ్రువీకరించబడింది", verifying: "ధ్రువీకరణ జరుగుతుంది...", waitAlert: "ధ్రువీకరణ జరుగుతుంది... దయచేసి వేచి ఉండండి." }; globalThis.altchaI18n.set("te", q); const x = { ariaLinkLabel: "Altcha.org ஐ பார்வையிடவும்", enterCode: "குறியீட்டை உள்ளிடவும்", enterCodeAria: "நீங்கள் கேட்கும் குறியீட்டை உள்ளிடவும். ஆடியோவை இயக்க Space ஐ அழுத்தவும்.", error: "சரிபார்ப்பு தோல்வி. பிறகு மீண்டும் முயற்சிக்கவும்.", expired: "சரிபார்ப்பு காலாவதியானது. மீண்டும் முயற்சிக்கவும்.", verificationRequired: "சரிபார்ப்பு தேவை!", footer: 'மூலமாக பாதுகாக்கப்பட்டவை <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org ஐ பார்வையிடவும்">ALTCHA</a>', getAudioChallenge: "ஒலி சவாலை பெறவும்", label: "நான் ரோபோடான அல்ல", loading: "செயலாக்கம்...", reload: "மீண்டும் புதுப்பிக்கவும்", verify: "சரிபார்க்கவும்", verified: "சரிபார்க்கப்பட்டது", verifying: "சரிபார்க்கப்படுகிறது...", waitAlert: "சரிபார்க்கப்படுகிறது... தயவுசெய்து காத்திருக்கவும்." }; globalThis.altchaI18n.set("ta", x); const I = { ariaLinkLabel: "Altcha.org پر جائیں", enterCode: "کوڈ درج کریں", enterCodeAria: "جو کوڈ آپ سنتے ہیں وہ درج کریں۔ آڈیو چلانے کے لیے اسپیس دبائیں۔", error: "توثیق ناکام ہو گئی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", expired: "توثیق کی مدت ختم ہو گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔", verificationRequired: "تصدیق ضروری ہے!", footer: 'کے ذریعے محفوظ <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org پر جائیں">ALTCHA</a>', getAudioChallenge: "آڈیو چیلنج حاصل کریں", label: "میں روبوٹ نہیں ہوں", loading: "لوڈ ہو رہا ہے...", reload: "دوبارہ لوڈ کریں", verify: "توثیق کریں", verified: "توثیق شدہ", verifying: "توثیق ہو رہی ہے...", waitAlert: "توثیق ہو رہی ہے... براہ کرم انتظار کریں۔" }; globalThis.altchaI18n.set("ur", I); const _ = { ariaLinkLabel: "Kunjungi Altcha.org", enterCode: "Masukkan kode", enterCodeAria: "Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.", error: "Verifikasi gagal. Coba lagi nanti.", expired: "Verifikasi telah kedaluwarsa. Coba lagi.", verificationRequired: "Verifikasi diperlukan!", footer: 'Dilindungi oleh <a href="https://altcha.org/" target="_blank" aria-label="Kunjungi Altcha.org">ALTCHA</a>', getAudioChallenge: "Dapatkan tantangan audio", label: "Saya bukan robot", loading: "Memuat...", reload: "Muat ulang", verify: "Verifikasi", verified: "Terverifikasi", verifying: "Memverifikasi...", waitAlert: "Memverifikasi... harap tunggu." }; globalThis.altchaI18n.set("id", _); const w = { ariaLinkLabel: "เยี่ยมชม Altcha.org", enterCode: "ป้อนรหัส", enterCodeAria: "ป้อนรหัสที่คุณได้ยิน กด Space เพื่อเล่นเสียง", error: "การตรวจสอบล้มเหลว กรุณาลองอีกครั้งภายหลัง", expired: "การตรวจสอบหมดอายุ กรุณาลองใหม่", verificationRequired: "จำเป็นต้องตรวจสอบ!", footer: 'ป้องกันโดย <a href="https://altcha.org/" target="_blank" aria-label="เยี่ยมชม Altcha.org">ALTCHA</a>', getAudioChallenge: "รับการท้าทายเสียง", label: "ฉันไม่ใช่บอท", loading: "กำลังโหลด...", reload: "โหลดใหม่", verify: "ตรวจสอบ", verified: "ตรวจสอบแล้ว", verifying: "กำลังตรวจสอบ...", waitAlert: "กำลังตรวจสอบ... กรุณารอ" }; globalThis.altchaI18n.set("th", w); const H = { ariaLinkLabel: "Truy cập Altcha.org", enterCode: "Nhập mã", enterCodeAria: "Nhập mã bạn nghe được. Nhấn Phím cách để phát âm thanh.", error: "Xác minh thất bại. Vui lòng thử lại sau.", expired: "Xác minh đã hết hạn. Vui lòng thử lại.", verificationRequired: "Yêu cầu xác minh!", footer: 'Được bảo vệ bởi <a href="https://altcha.org/" target="_blank" aria-label="Truy cập Altcha.org">ALTCHA</a>', getAudioChallenge: "Nhận thử thách âm thanh", label: "Tôi không phải là robot", loading: "Đang tải...", reload: "Tải lại", verify: "Xác minh", verified: "Đã xác minh", verifying: "Đang xác minh...", waitAlert: "Đang xác minh... vui lòng chờ." }; globalThis.altchaI18n.set("vi", H); const z = { ariaLinkLabel: "زور Altcha.org", enterCode: "أدخل الرمز", enterCodeAria: "أدخل الرمز الذي تسمعه. اضغط على المسافة لتشغيل الصوت.", error: "فشل التحقق. حاول مرة أخرى لاحقاً.", expired: "انتهت صلاحية التحقق. حاول مرة أخرى.", verificationRequired: "مطلوب التحقق!", footer: 'محمي بواسطة <a href="https://altcha.org/" target="_blank" aria-label="زور Altcha.org">ALTCHA</a>', getAudioChallenge: "احصل على تحدي صوتي", label: "أنا لست روبوتاً", loading: "جارٍ التحميل...", reload: "إعادة تحميل", verify: "تحقق", verified: "تم التحقق", verifying: "جارٍ التحقق...", waitAlert: "جارٍ التحقق... يرجى الانتظار." }; globalThis.altchaI18n.set("ar", z); const R = { ariaLinkLabel: "بازدید از Altcha.org", enterCode: "کد را وارد کنید", enterCodeAria: "کدی که می‌شنوید را وارد کنید. برای پخش صدا Space را فشار دهید.", error: "احراز هویت ناموفق بود. بعداً دوباره تلاش کنید.", expired: "احراز هویت منقضی شد. دوباره تلاش کنید.", footer: 'محافظت شده توسط <a href="https://altcha.org/" target="_blank" aria-label="بازدید از Altcha.org">ALTCHA</a>', getAudioChallenge: "دریافت چالش صوتی", label: "من ربات نیستم", loading: "در حال بارگذاری...", reload: "بارگذاری مجدد", verify: "تایید", verificationRequired: "احراز هویت لازم است!", verified: "تایید شد", verifying: "در حال تایید...", waitAlert: "در حال تایید... لطفا منتظر بمانید." }; globalThis.altchaI18n.set("fa", R); const $ = { ariaLinkLabel: "בקר באתר Altcha.org", enterCode: "הזן קוד", enterCodeAria: "הזן את הקוד שאתה שומע. לחץ על רווח להפעלת השמע.", error: "האימות נכשל. נסה שוב מאוחר יותר.", expired: "תוקף האימות פג. נסה שוב.", verificationRequired: "נדרש אימות!", footer: 'מוגן על ידי <a href="https://altcha.org/" target="_blank" aria-label="בקר באתר Altcha.org">ALTCHA</a>', getAudioChallenge: "קבל אתגר שמע", label: "אני לא רובוט", loading: "טוען...", reload: "טען מחדש", verify: "אמת", verified: "אומת", verifying: "מאמת...", waitAlert: "מבצע אימות... אנא המתן." }; globalThis.altchaI18n.set("he", $); const S = { ariaLinkLabel: "Altcha.org'yu ziyaret edin", enterCode: "Kodu girin", enterCodeAria: "Duyduğunuz kodu girin. Ses dosyasını oynatmak için Boşluk tuşuna basın.", error: "Doğrulama başarısız oldu. Lütfen daha sonra tekrar deneyin.", expired: "Doğrulama süresi doldu. Lütfen tekrar deneyin.", verificationRequired: "Doğrulama gerekli!", footer: `ALTCHA tarafından korunuyor <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org'yu ziyaret edin">ALTCHA</a>`, getAudioChallenge: "Sesli doğrulama al", label: "Ben robot değilim", loading: "Yükleniyor...", reload: "Yeniden yükle", verify: "Doğrula", verified: "Doğrulandı", verifying: "Doğrulama yapılıyor...", waitAlert: "Doğrulama yapılıyor... lütfen bekleyin." }; globalThis.altchaI18n.set("tr", S); const B = { ariaLinkLabel: "Altcha.org saytına daxil olun", enterCode: "Kodu daxil edin", enterCodeAria: "Eşitdiyiniz kodu daxil edin. Səsi dinləmək üçün Boşluq düyməsinə basın.", error: "Təsdiqləmə uğursuz oldu. Daha sonra yenidən cəhd edin.", expired: "Təsdiqləmə vaxtı bitdi. Yenidən cəhd edin.", footer: 'Qorunur <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org saytına daxil olun">ALTCHA</a> tərəfindən', getAudioChallenge: "Audio tapşırıq alın", label: "Mən robot deyiləm", loading: "Yüklənir...", reload: "Yenilə", verify: "Təsdiqlə", verificationRequired: "Təsdiqləmə tələb olunur!", verified: "Təsdiqləndi", verifying: "Təsdiqlənir...", waitAlert: "Təsdiqlənir... zəhmət olmasa gözləyin." }; globalThis.altchaI18n.set("az", B); const D = { ariaLinkLabel: "Այցելեք Altcha.org", enterCode: "Մուտքագրեք կոդը", enterCodeAria: "Մուտքագրեք այն կոդը, որը լսում եք։ Ձայնը նվագելու համար սեղմեք բացատ (Space):", error: "Հաստատումը ձախողվեց։ Փորձեք ավելի ուշ։", expired: "Հաստատման ժամկետը լրացել է։ Փորձեք կրկին։", footer: 'Պաշտպանված է <a href="https://altcha.org/" target="_blank" aria-label="Այցելեք Altcha.org">ALTCHA</a>-ի կողմից', getAudioChallenge: "Ստանալ ձայնային առաջադրանք", label: "Ես ռոբոտ չեմ", loading: "Բեռնվում է...", reload: "Թարմացնել", verify: "Հաստատել", verificationRequired: "Պահանջվում է հաստատում։", verified: "Հաստատված է", verifying: "Հաստատվում է...", waitAlert: "Հաստատվում է... խնդրում ենք սպասել։" }; globalThis.altchaI18n.set("hy", D); const M = { ariaLinkLabel: "ეწვიეთ Altcha.org-ს", enterCode: "შეიყვანეთ კოდი", enterCodeAria: "შეიყვანეთ კოდი, რომელსაც გაიგონებთ. აუდიოს მოსასმენად დააჭირეთ Space-ს.", error: "ვერიფიკაცია ჩაიშალა. სცადეთ მოგვიანებით.", expired: "ვერიფიკაციის ვადა გავიდა. სცადეთ ხელახლა.", footer: 'დაცულია <a href="https://altcha.org/" target="_blank" aria-label="ეწვიეთ Altcha.org-ს">ALTCHA</a>-ით', getAudioChallenge: "მიიღეთ აუდიო გამოწვევა", label: "მე არ ვარ რობოტი", loading: "იტვირთება...", reload: "განახლება", verify: "დადასტურება", verificationRequired: "საჭიროა ვერიფიკაცია!", verified: "დადასტურებულია", verifying: "დადასტურება მიმდინარეობს...", waitAlert: "დადასტურება მიმდინარეობს... გთხოვთ, დაიცადეთ." }; globalThis.altchaI18n.set("ka", M); const j = { ariaLinkLabel: "Altcha.org сайтына кіру", enterCode: "Кодты енгізіңіз", enterCodeAria: "Естіген кодыңызды енгізіңіз. Аудионы ойнату үшін Бос орынды басыңыз.", error: "Тексеру сәтсіз аяқталды. Кейінірек қайталаңыз.", expired: "Тексеру мерзімі аяқталды. Қайталаңыз.", footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org сайтына кіру">ALTCHA</a> қорғайды', getAudioChallenge: "Аудио сынақ алу", label: "Мен робот емеспін", loading: "Жүктелуде...", reload: "Қайта жүктеу", verify: "Тексеру", verificationRequired: "Тексеру талап етіледі!", verified: "Тексерілді", verifying: "Тексеруде...", waitAlert: "Тексерілуде... күте тұрыңыз." }; globalThis.altchaI18n.set("kk", j); const K = { ariaLinkLabel: "Altcha.org sahypasyna giriň", enterCode: "Kody giriziň", enterCodeAria: "Eşiden kodyňyzy giriziň. Sesli görkezmäni diňlemek üçin Space basyň.", error: "Barlamak şowsuz boldy. Has soňrak synanyşyň.", expired: "Barlamanyň möhleti gutardy. Gaýtadan synanyşyň.", footer: 'Goralan <a href="https://altcha.org/" target="_blank" aria-label="Altcha.org sahypasyna giriň">ALTCHA</a> tarapyndan', getAudioChallenge: "Sesli tabşyryk alyň", label: "Men robot däl", loading: "Ýüklenýär...", reload: "Täzeden ýükle", verify: "Barla", verificationRequired: "Barlamak zerurdyr!", verified: "Barlandy", verifying: "Barlanýar...", waitAlert: "Barlanýar... garaşyň." }; globalThis.altchaI18n.set("tk", K); const Y = { ariaLinkLabel: "Altcha.org saytiga tashrif buyuring", enterCode: "Kodni kiriting", enterCodeAria: "Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.", error: "Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.", expired: "Tekshiruv muddati tugadi. Qayta urinib ko'ring.", footer: '<a href="https://altcha.org/" target="_blank" aria-label="Altcha.org saytiga tashrif buyuring">ALTCHA</a> tomonidan himoyalangan', getAudioChallenge: "Audio sinovni olish", label: "Men robot emasman", loading: "Yuklanmoqda...", reload: "Qayta yuklash", verify: "Tekshirish", verificationRequired: "Tekshiruv talab qilinadi!", verified: "Tekshirildi", verifying: "Tekshirilmoqda...", waitAlert: "Tekshirilmoqda... iltimos kuting." }; globalThis.altchaI18n.set("uz", Y);