altcha
Version:
Privacy-first CAPTCHA widget, compliant with global regulations (GDPR/HIPAA/CCPA/LGDP/DPDPA/PIPL) and WCAG accessible. No tracking, self-verifying.
95 lines (94 loc) • 2.48 kB
JavaScript
const o = () => {
};
function g(t, e) {
return t != t ? e == e : t !== e || t !== null && typeof t == "object" || typeof t == "function";
}
let c = !1;
function d(t) {
var e = c;
try {
return c = !0, t();
} finally {
c = e;
}
}
function p(t, e, r) {
if (t == null)
return e(void 0), o;
const i = d(
() => t.subscribe(
e,
// @ts-expect-error
r
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const s = [];
function T(t, e = o) {
let r = null;
const i = /* @__PURE__ */ new Set();
function a(l) {
if (g(t, l) && (t = l, r)) {
const u = !s.length;
for (const n of i)
n[1](), s.push(n, t);
if (u) {
for (let n = 0; n < s.length; n += 2)
s[n][0](s[n + 1]);
s.length = 0;
}
}
}
function f(l) {
a(l(
/** @type {T} */
t
));
}
function h(l, u = o) {
const n = [l, u];
return i.add(n), i.size === 1 && (r = e(a, f) || o), l(
/** @type {T} */
t
), () => {
i.delete(n), i.size === 0 && r && (r(), r = null);
};
}
return { set: a, update: f, subscribe: h };
}
function b(t) {
let e;
return p(t, (r) => e = r)(), e;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (t) => b(globalThis.altchaI18n.store)[t],
set: (t, e) => {
Object.assign(b(globalThis.altchaI18n.store), {
[t]: e
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: T({})
};
const A = {
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", A);
export {
A as i18n
};