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.6 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("uk", A);
export {
A as i18n
};