Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Assets/css/altcha.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Assets/img/altcha.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions Assets/js/altcha.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Assets/js/cap.min.js

Large diffs are not rendered by default.

Binary file added Assets/js/cap_wasm_bg.wasm
Binary file not shown.
128 changes: 128 additions & 0 deletions Assets/js/i18n/de.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
const noop = () => {
};
function safe_not_equal(a, b) {
return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
}
function subscribe_to_store(store2, run, invalidate) {
if (store2 == null) {
run(void 0);
return noop;
}
const unsub = untrack(
() => store2.subscribe(
run,
// @ts-expect-error
invalidate
)
);
return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
}
const subscriber_queue = [];
function writable(value, start = noop) {
let stop = null;
const subscribers = /* @__PURE__ */ new Set();
function set(new_value) {
if (safe_not_equal(value, new_value)) {
value = new_value;
if (stop) {
const run_queue = !subscriber_queue.length;
for (const subscriber of subscribers) {
subscriber[1]();
subscriber_queue.push(subscriber, value);
}
if (run_queue) {
for (let i = 0; i < subscriber_queue.length; i += 2) {
subscriber_queue[i][0](subscriber_queue[i + 1]);
}
subscriber_queue.length = 0;
}
}
}
}
function update(fn) {
set(fn(
/** @type {T} */
value
));
}
function subscribe(run, invalidate = noop) {
const subscriber = [run, invalidate];
subscribers.add(subscriber);
if (subscribers.size === 1) {
stop = start(set, update) || noop;
}
run(
/** @type {T} */
value
);
return () => {
subscribers.delete(subscriber);
if (subscribers.size === 0 && stop) {
stop();
stop = null;
}
};
}
return { set, update, subscribe };
}
function get(store2) {
let value;
subscribe_to_store(store2, (_) => value = _)();
return value;
}
let untracking = false;
function untrack(fn) {
var previous_untracking = untracking;
try {
untracking = true;
return fn();
} finally {
untracking = previous_untracking;
}
}
function store(defaultValue) {
const scope = {
get: (name) => {
return get(scope.store)[name];
},
set: (name, value) => {
if (typeof name === "string") {
Object.assign(get(scope.store), {
[name]: value
});
} else {
Object.assign(get(scope.store), name);
}
scope.store.set(get(scope.store));
},
store: writable(defaultValue)
};
return scope;
}
globalThis.$altcha = globalThis.$altcha || {
algorithms: /* @__PURE__ */ new Map(),
defaults: store({}),
i18n: store({}),
instances: /* @__PURE__ */ new Set(),
plugins: /* @__PURE__ */ new Set()
};
const i18n = {
ariaLinkLabel: "Altcha (offizielle Website)",
enterCode: "Code eingeben",
enterCodeAria: "Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.",
error: "Überprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.",
expired: "Überprüfung abgelaufen. Bitte versuchen Sie es erneut.",
footer: 'Geschützt durch <a href="https://altcha.org/" tabindex="-1" aria-label="Altcha (offizielle Website)">ALTCHA</a>',
getAudioChallenge: "Audio-Herausforderung anfordern",
label: "Ich bin kein Roboter",
loading: "Lade...",
reload: "Neu laden",
verify: "Überprüfen",
verificationRequired: "Überprüfung erforderlich!",
verified: "Überprüft",
verifying: "Wird überprüft...",
waitAlert: "Überprüfung läuft... bitte warten.",
cancel: "Abbrechen",
enterCodeFromImage: "Um fortzufahren, geben Sie bitte den Code aus dem Bild unten ein."
};
globalThis.$altcha.i18n.set("de", i18n);
Loading