This commit is contained in:
Daniel Regeci
2025-04-11 18:35:11 +02:00
parent 912b544bdf
commit 1e3ddf9d61
265 changed files with 23889 additions and 4127 deletions

View File

@@ -13,8 +13,9 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 22.x
- run: npm install
- run: npm run test
- run: npx playwright install --with-deps
- run: npx playwright test
- uses: DevExpress/testcafe-action@latest
with:
args: "chrome,firefox e2e/altcha.fixture.ts --hostname localhost"

View File

@@ -1,2 +1,2 @@
npm run build
git add dist
git add dist*

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 Daniel Regeci
Copyright (c) 2023 Daniel Regeci, BAU Software s.r.o.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

317
README.md
View File

@@ -1,20 +1,45 @@
# ALTCHA
ALTCHA leverages a proof-of-work mechanism to safeguard your website, APIs, and online services from spam and abuse. Unlike traditional solutions, ALTCHA is self-hosted, does not rely on cookies or fingerprinting, and ensures complete user privacy. It is fully compliant with [GDPR](https://altcha.org/docs/gdpr/), [WCAG 2.2 AA-level](https://altcha.org/docs/wcag/), and the [European Accessibility Act](https://altcha.org/docs/european-accessibility-act-2025/).
ALTCHA is a self-hosted, privacy-first security solution that protects your websites, APIs, and online services from spam and abuse through an innovative proof-of-work mechanism. Unlike traditional CAPTCHAs that depend on intrusive methods like cookies or fingerprinting, ALTCHA delivers robust protection while respecting user privacy.
For more details, visit [ALTCHA](https://altcha.org).
ALTCHA is fully compliant with:
- **Global privacy regulations**: GDPR, HIPAA, CCPA, PIPEDA/CPPA, LGPD, DPDPA, and PIPL
- **Accessibility standards**: [WCAG 2.2 AA-level](https://altcha.org/docs/wcag/) and the [European Accessibility Act](https://altcha.org/docs/european-accessibility-act-2025/)
For more details, visit [altcha.org](https://altcha.org).
## Features
- **Frictionless Experience**: Utilizes proof-of-work (PoW) instead of visual puzzles, ensuring a seamless user experience.
- **Cookie-Free Design**: Built to be GDPR-compliant by default, with no cookies or tracking.
- **Frictionless Experience**: Uses proof-of-work (PoW) instead of visual puzzles for a seamless user experience.
- **Code Challenge (New in v2)**: Supports accessible code challenges ("enter code from image") with an audio option.
- **Cookie-Free Design**: GDPR-compliant by default—no cookies or tracking.
- **Fully Accessible**: Meets WCAG 2.2 AA-level standards and complies with the European Accessibility Act (EAA).
- **Lightweight**: Minimal bundle size for fast page loads and optimal performance.
- **Self-Hosted**: Operates independently without depending on third-party services.
- **SaaS Option Available**: Get started quickly with the SaaS API at [altcha.org](https://altcha.org/).
- **Self-Hosted**: No dependency on third-party services.
## Whats New in v2
Version 2 introduces enhanced accessibility, expanded language support, and integration with **ALTCHA Sentinel**—a self-hosted anti-spam solution for websites, apps, and services.
### Key Improvements in v2
- **Built-in Internationalization (i18n)** for 48+ languages
- **Improved RTL (right-to-left) language support**
- **Enhanced WCAG accessibility**
- **Support for accessible code challenges** (image + audio options)
### Migrating from v1
Version 2 (v2) is fully compatible with v1, and minimal migration steps are required. However, be sure to test your integration after updating.
- Translations: v2 introduces a new [built-in internationalization (i18n) system](#internationalization-i18n). The use of the `strings` attribute is now discouraged in favor of this new system.
- [ALTCHA Sentinel](https://altcha.org/docs/v2/sentinel): Sentinel is a new self-hosted solution that replaces the previous SaaS services and the SpamFilter. We recommend migrating to Sentinel for better compliance, enhanced security, unlimited verifications, and an adaptive Captcha with code-challenge support.
## Examples
Explore starter templates for popular frameworks:
- [React](https://github.com/altcha-org/altcha-starter-react-ts)
- [Vue](https://github.com/altcha-org/altcha-starter-vue-ts)
- [Svelte](https://github.com/altcha-org/altcha-starter-svelte-ts)
@@ -32,18 +57,13 @@ For more details, visit [ALTCHA](https://altcha.org).
- [Ruby](https://github.com/altcha-org/altcha-lib-rb)
- [Elixir](https://github.com/altcha-org/altcha-lib-ex)
## CMS
## Plugins & CMS
- [WordPress plugin](https://github.com/altcha-org/wordpress-plugin)
- [Other libraries and plugins](https://altcha.org/docs/integrations/)
## More anti-spam solutions
- [Spam Filter](https://altcha.org/anti-spam) - stop sophisticated attacks and human-generated spam by classifying data.
- [Libraries and plugins](https://altcha.org/docs/integrations/)
## Usage
ALTCHA widget is distributed as a "Web Component" and [supports all modern browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_components#browser_compatibility).
The ALTCHA widget is distributed as a **Web Component** and [supports all modern browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_components#browser_compatibility).
### 1. Install ALTCHA
@@ -51,63 +71,91 @@ ALTCHA widget is distributed as a "Web Component" and [supports all modern brows
npm install altcha
```
import `altcha` in your main file:
Import in your main file:
```js
import 'altcha';
```
or insert `<script>` tag to your website:
Or load via `<script>` tag:
```html
<script async defer src="/altcha.js" type="module"></script>
```
CDN: https://cdn.jsdelivr.net/gh/altcha-org/altcha@main/dist/altcha.min.js
**CDN**:
### 2. Use `<altcha-widget>` tag in your forms
```html
<script
async
defer
src="https://cdn.jsdelivr.net/gh/altcha-org/altcha@main/dist/altcha.min.js"
type="module"
></script>
```
### 2. Add `<altcha-widget>` to Your Forms
```html
<form>
<altcha-widget
challengeurl="https://..."
></altcha-widget>
<altcha-widget challengeurl="https://..."></altcha-widget>
</form>
```
See the [configuration](#configuration) below or visit the [website integration documentation](https://altcha.org/docs/website-integration).
See [configuration options](#configuration) or the [website integration docs](https://altcha.org/docs/website-integration).
### 3. Integrate ALTCHA with your server
### 3. Integrate with Your Server
See [server documentation](https://altcha.org/docs/server-integration) for more details.
Refer to the [server documentation](https://altcha.org/docs/server-integration) for implementation details.
## Supported Browsers
ALTCHA works on modern browsers with **Web Crypto API** support (specifically `crypto.subtle` - [caniuse.com](https://caniuse.com/?search=subtle)).
**Supported**:
- Chrome 67+ (desktop & Android)
- Edge 79+
- Firefox 63+ (desktop & Android)
- Safari 11+ (macOS & iOS)
- Any browser supporting Web Components + Web Crypto
**Not Supported**:
- Internet Explorer 11 (or older)
## Bundle Size
ALTCHA's default bundle is lightweight, combining all assets, including CSS and the JavaScript Web Worker, into a single file. When GZIPped, it totals only 17 kB, making ALTCHAs widget 94% smaller than reCAPTCHA.
ALTCHA is optimized for performance:
|Distribution|Size (GZIPped)|
|---|---|
|ALTCHA (v1.x)|17 kB|
|hCaptcha|48+ kB|
|reCAPTCHA|270+ kB|
| Distribution | Size (GZIPped) |
| ---------------------------- | -------------- |
| ALTCHA | 29+ kB |
| ALTCHA with all translations | 42+ kB |
| hCaptcha | 48+ kB |
| reCAPTCHA | 270+ kB |
When GZIPped, it totals about 29 kB, making ALTCHAs widget about 90% smaller than reCAPTCHA.
## Content Security Policy (CSP)
The default distribution bundle of the WebComponent includes styles and the worker in a single file. This might cause issues with strict CSP rules. If you require strict CSP compliance, consider using the scripts located in the `/dist_external` directory. For more details, please refer to the [documentation](https://altcha.org/docs/website-integration).
The default bundle includes styles and workers in a single file. For strict CSP compliance, use scripts from `/dist_external`. Learn more in the [documentation](https://altcha.org/docs/website-integration).
## Configuration
Required options (at least one is required):
- **challengeurl**: URL of your server to fetch the challenge from. Refer to [server integration](https://altcha.org/docs/server-integration).
- **challengejson**: JSON-encoded challenge data. If avoiding an HTTP request to `challengeurl`, provide the data here.
- **challengeurl**: Server endpoint to fetch the challenge.
- **challengejson**: Preloaded JSON challenge data (avoids HTTP requests).
Additional options:
- **auto**: Automatically verify without user interaction (possible values: `off`, `onfocus`, `onload`, `onsubmit`).
- **credentials**: Whether to include [credentials](https://developer.mozilla.org/en-US/docs/Web/API/RequestInit#credentials) with the challenge request (possible values: `omit`, `same-origin`, `include`).
- **customfetch**: A custom `fetch` function for retrieving the challenge.
Accepts `url: string` and `init: RequestInit` as arguments and must return a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response).
Accepts `url: string` and `init: RequestInit` as arguments and must return a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response).
- **delay**: Artificial delay in milliseconds before verification (defaults to 0).
- **disableautofocus**: If true, prevents the code-challenge input from automatically receiving focus on render (defaults to `false`).
- **expire**: Challenge expiration duration in milliseconds.
- **floating**: Enable floating UI (possible values: `auto`, `top`, `bottom`).
- **floatinganchor**: CSS selector of the "anchor" to which the floating UI will be attached (defaults to the `button[type="submit"]` in the related form).
@@ -116,6 +164,7 @@ Additional options:
- **hidefooter**: Hide the footer (ALTCHA link).
- **hidelogo**: Hide the ALTCHA logo.
- **id**: The checkbox `id` attribute. Useful for multiple instances of the widget on the same page.
- **language**: The ISO alpha-2 code of the language to use (the language file be imported from `altcha/i18n/*`).
- **maxnumber**: Max number to iterate to (defaults to 1,000,000).
- **name**: Name of the hidden field containing the payload (defaults to "altcha").
- **strings**: JSON-encoded translation strings. Refer to [customization](https://altcha.org/docs/widget-customization).
@@ -123,12 +172,6 @@ Additional options:
- **workers**: Number of workers to utilize for PoW (defaults to `navigator.hardwareConcurrency || 8`, max value `16`).
- **workerurl**: URL of the Worker script (defaults to `./worker.js`, only works with `external` build).
Spam Filter-related options:
- **blockspam**: Only used with the `spamfilter` option. If enabled, it will block form submission and fail verification if the Spam Filter returns a negative classification. This prevents form submission.
- **spamfilter**: Enable [Spam Filter](#spam-filter).
- **verifyurl**: URL for server-side verification requests. This option is automatically configured when the `spamfilter` option is used. Override this setting only if using a custom server implementation.
Data Obfuscation options:
- **obfuscated**: The [obfuscated data](https://altcha.org/docs/obfuscation) provided as a base64-encoded string (requires `altcha/obfuscation` plugin). Use only without `challengeurl`/`challengejson`.
@@ -139,24 +182,81 @@ Development / Testing options:
- **mockerror**: Causes verification to always fail with a "mock" error.
- **test**: Generates a "mock" challenge within the widget, bypassing the request to `challengeurl`.
## Plugins
## Internationalization (i18n)
Version 0.9.x introduced _plugins_ that can be enabled by importing individual plugin scripts:
ALTCHA supports **48+ languages**. You can import individual language translations or a bundle that includes all of them.
### Importing Translations
To import all translations:
```js
import 'altcha/obfuscation';
import 'altcha';
import 'altcha/i18n/all';
```
It is recommended to import plugins _before_ the main `altcha` package to ensure proper registration before any widget instance is created.
To import specific languages only:
Available plugins built-in to the `altcha` package:
```js
import 'altcha/i18n/de';
import 'altcha/i18n/fr-fr';
```
- `altcha/analytics`: Enable analytics with [ALTCHA Forms](https://altcha.org/forms/). See [HTML submissions documentation](https://altcha.org/docs/forms/features/html-submissions).
- `altcha/obfuscation`: Enable [obfuscation](https://altcha.org/docs/obfuscation) for sensitive data such as email addresses or phone numbers.
- `altcha/upload`: Enable file upload from `type=file` fields to [ALTCHA Forms](https://altcha.org/forms/). See [HTML submissions documentation](https://altcha.org/docs/forms/features/html-submissions).
Alternatively, you can import the combined bundle, which includes both the widget and all translations:
To enable specific plugins for a particular instance of the widget, use the `plugins` attribute in the widget tag. List the names of the plugins you want to enable, separated by commas, such as `plugins="analytics,obfuscation"`. Plugins still need to be imported as described above. The `plugins` attribute only specifies which plugins should be active for that instance, even if other plugins are already imported.
```js
import 'altcha/i18n';
```
### Language Detection
The widget automatically detects the language from:
- The `<html lang="...">` attribute
- The user's browser settings (`navigator.languages`)
To override the language manually, use the `language` attribute:
```html
<altcha-widget language="de"></altcha-widget>
```
### Customizing Translations
You can override default translations by updating the global `altchaI18n` registry (`globalThis.altchaI18n` or `window.altchaI18n`):
```js
import 'altcha/i18n/de';
globalThis.altchaI18n.set('de', {
...globalThis.altchaI18n.get('de'),
label: 'Ich bin ein Mensch', // Custom label
});
```
## Code Challenges
For additional verification, ALTCHA supports **image/audio code challenges** (e.g., "Enter the code from the image"). This feature requires [ALTCHA Sentinel](https://altcha.org/docs/v2/sentinel) or a custom server implementation.
## Plugins
Extend functionality with plugins:
```js
import 'altcha/obfuscation'; // Data obfuscation
import 'altcha/upload'; // File uploads
import 'altcha'; // Main package
```
Enable plugins per widget:
```html
<altcha-widget plugins="upload,obfuscation"></altcha-widget>
```
### Available Plugins
- **obfuscation**: Secure sensitive data (emails, phone numbers).
- **upload**: File uploads with ALTCHA Sentinel or a custom backend.
## Programmatic Configuration
@@ -176,12 +276,17 @@ document.querySelector('#altcha').configure({
});
```
Available configuration options:
Available configuration options:
```ts
export interface Configure {
auto?: 'off' | 'onfocus' | 'onload' | 'onsubmit';
challenge?: {
codeChallenge?: {
audio?: string;
image: string;
length?: number;
};
algorithm: string;
challenge: string;
maxnumber?: number;
@@ -189,9 +294,13 @@ export interface Configure {
signature: string;
};
challengeurl?: string;
customfetch?: string | ((url: string, init?: RequestInit) => Promise<Response>);
credentials?: 'omit' | 'same-origin' | 'include' | boolean;
customfetch?:
| string
| ((url: string, init?: RequestInit) => Promise<Response>);
debug?: boolean;
delay?: number;
disableautofocus?: boolean;
expire?: number;
floating?: 'auto' | 'top' | 'bottom';
floatinganchor?: string;
@@ -204,16 +313,23 @@ export interface Configure {
name?: string;
obfuscated?: string;
refetchonexpire?: boolean;
spamfilter?: boolean | 'ipAddress' | SpamFilter;
spamfilter?: boolean | 'ipAddress' | SpamFilter; // deprecated
strings?: {
ariaLinkLabel: strin;
enterCode: string;
enterCodeAria: string;
error: string;
expired: string;
footer: string;
getAudioChallenge: string;
label: string;
loading: string;
reload: strin;
verificationRequired: string;
verified: string;
verifying: string;
waitAlert: string;
}
};
test?: boolean | number | 'delay';
verifyurl?: string;
workers?: number;
@@ -221,57 +337,24 @@ export interface Configure {
}
```
## Custom `fetch` Function
The widget does not send cookies (i.e., it does not use `credentials: 'include'`) when requesting the challenge from the server. To modify this behavior or add custom request headers, use the `customfetch` configuration option. This option lets you define a custom request function.
The custom function must return a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object.
### Sending Cookies
To include cookies in the request, use `credentials: 'include'`:
```ts
function altchaCustomFetch(url: string, init: RequestInit) {
return fetch(url, {
...init,
credentials: 'include', // Include cookies with the request
});
}
```
For more details on possible request options, refer to the [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request) documentation.
### Using `customfetch`
The `customfetch` option can accept either:
- A `string` (the name of a globally accessible function defined in the global context, such as `window`), or
- A function itself.
### Example Usage
```html
<altcha-widget
challengeurl="https://example.com/challenge"
customfetch="altchaCustomFetch"
></altcha-widget>
```
## Events
- **code** - Triggers when code-challenge verification is requested.
- **load** - Triggers when the widget loads. The exported methods become available after this event.
- **serververification** - Triggers upon a server verification (only in conjunction with `spamfilter`).
- **sentinelverification** - Triggers upon a verification with ALTCHA Sentinel.
- **serververification** - (Deprecated) Triggers upon a server verification (only in conjunction with `spamfilter`).
- **statechange** - Triggers whenever an internal `state` changes.
- **verified** - Triggers when the challenge is verified.
```ts
enum State {
CODE = 'code',
ERROR = 'error',
VERIFIED = 'verified',
VERIFYING = 'verifying',
UNVERIFIED = 'unverified',
EXPIRED = 'expired',
};
}
```
Using events:
@@ -286,58 +369,14 @@ document.querySelector('#altcha').addEventListener('statechange', (ev) => {
> [!IMPORTANT]
> Both programmatic configuration and event listeners have to called/attached after the ALTCHA script loads, such as within `window.addEventListener('load', ...)`.
## Spam Filter
The widget integrates with ALTCHA's [Anti-Spam solution](https://altcha.org/anti-spam) to allow checking submitted form data for potential spam.
The Spam Filter API analyzes various signals in the submitted data to determine if it exhibits characteristics of spam. This non-invasive filtering helps reduce spam submissions without frustrating legitimate users.
### Spam Filter Configuration
The Spam Filter can be enabled with default configuration by setting the `spamfilter` option to `true`, or `ipAddress` to verify only the IP address and the time zone, or it can be customized using the following configuration schema:
```ts
interface SpamFilter {
blockedCountries?: string[];
classifier?: string;
disableRules?: string[];
email?: string | false;
expectedCountries?: string[];
expectedLanguages?: string[];
fields?: string[] | false;
ipAddress?: string | false;
text?: string | string[];
timeZone?: string | false;
}
```
SpamFilter configuration options:
- **blockedCountries** - An array of country codes (ISO 3166 alpha-2) that you want to block.
- **classifier** - Enforce a specific classifier.
- **disableRules** - An array of rules to disable.
- **email** - The name of the input field for the user's email. Disable email checking with `false`.
- **expectedCountries** - An array of expected countries as 2-letter codes (ISO 3166-1 alpha-2).
- **expectedLanguages** - An array of expected languages as 2-letter codes (ISO 639 alpha-2).
- **fields** - An array of input names to send to the spam filter.
- **ipAddress** - The user's IP is detected automatically but can be overridden or disabled with `false`.
- **text** - The text to classify. An array of strings can also be submitted.
- **timeZone** - The user's timezone is detected automatically but can be overridden or disabled with `false`.
To include the email field into `fields` (for easier server-side verification), configure the list of input names using the `spamfilter.fields: string[]` option.
### Exclude Inputs from Spam Checking
By default, all text inputs and textareas within the parent form are spam-checked. To exclude a specific input, add the `data-no-spamfilter` attribute. Alternatively, explicitly list the checked fields using the `fields` config option.
## Contributing
See [Contributing Guide](https://github.com/altcha-org/altcha/blob/main/CONTRIBUTING.md) and please follow our [Code of Conduct](https://github.com/altcha-org/altcha/blob/main/CODE_OF_CONDUCT.md).
## Sponsorship
## Sponsorship
This project is sponsored by [BAUSW.com - Digital Construction Site Diary](https://bausw.com/digital-construction-diary/), promoting transparency and trust in construction projects with real-time documentation.
## License
MIT
**MIT**

View File

@@ -1,55 +1,63 @@
# Security Policy
# Security Vulnerability Disclosure Policy
## Supported Versions
We take security seriously and value the contributions of the security community. If you believe you have found a vulnerability in our services or software, we encourage you to report it responsibly so we can address it promptly.
Security updates are available for all versions.
### Reporting a Vulnerability
## Reporting a Vulnerability
Please email your findings to published [security contacts](https://altcha.org/contact#reporting-security-issues).
To ensure confidentiality, we recommend encrypting your report using our [PGP key](https://altcha.org/pgp/security-public-key.asc).
If you discover a vulnerability, please report it responsibly to our security email: `c2VjdXJpdHlAYWx0Y2hhLm9yZwo=`.
Your report should include the following, where possible:
When reporting a vulnerability, please include the following details to help us quickly assess the issue:
* A clear description of the vulnerability.
* A working proof of concept or detailed steps to reproduce the issue.
* Any relevant logs, screenshots, or code snippets that support your findings.
- Detailed steps to reproduce or a proof-of-concept
- Any relevant tools and their versions used
- Tool output and any logs or screenshots that may help
We will acknowledge receipt of your report within 5 business days, and keep you informed about the progress of our investigation.
**PGP Public Key**: To ensure secure communication, please use our PGP public key when sending sensitive information:
### In-Scope
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
We welcome reports that:
xjMEZtI2nxYJKwYBBAHaRw8BAQdA/RsvtqhwBMzb2lVbYgJ8jfbtOSW6X1Ju
eJGrTnc/w7rNKXNlY3VyaXR5QGFsdGNoYS5vcmcgPHNlY3VyaXR5QGFsdGNo
YS5vcmc+wowEEBYKAD4FgmbSNp8ECwkHCAmQQ77nSDCYPoIDFQgKBBYAAgEC
GQECmwMCHgEWIQTjdfm4rd39SCeb0WpDvudIMJg+ggAAQBYA/AhHznOMm5zg
L5NVtbEaVzjlGQgq935Ieg7i0ts/ulvSAQCifZduBr9W2Rlev2x4MIaN8PBY
eq/UQjyDIoi3s+bBAM44BGbSNp8SCisGAQQBl1UBBQEBB0DMbZpWAHLF9W2y
sFoTHPv0/9wBmd5HQHDFo30pYv6GGAMBCAfCeAQYFgoAKgWCZtI2nwmQQ77n
SDCYPoICmwwWIQTjdfm4rd39SCeb0WpDvudIMJg+ggAAB2gA/RCLvMElWMP3
Xb/GVjlYMKM+lP/+Vp6pEPp+oCfb5gg+AP9sTajrdA2GBv6Sc28/GZcbGEX2
OlJjTSxs11Oj8es+Bg==
=kb//
-----END PGP PUBLIC KEY BLOCK-----
```
* Demonstrate a real security risk (e.g., XSS, CSRF, SSRF, authentication bypass, privilege escalation, remote code execution, etc.).
* Affect our software, services, or infrastructure directly under our control.
* Include a valid proof of concept demonstrating how the vulnerability can be exploited.
## Vulnerability Disclosure Process
### Out-of-Scope
- **Acknowledgment**: We will acknowledge receipt of your report within 48 hours.
- **Assessment**: We will assess the vulnerability and determine the impact and priority.
- **Resolution**: If the vulnerability is confirmed, we will work on a fix and inform you when its resolved.
- **Disclosure**: We follow responsible disclosure. Once a fix is available, we will coordinate with you to disclose the vulnerability to the public.
The following issues are generally not eligible for rewards, but we still welcome these reports as they help us improve overall security hygiene:
## Scope
* Reports from automated tools or scanners that lack actionable proof of exploitability.
* Security recommendations or best practices such as missing HTTP security headers, TLS configurations, DNS records, or server banners.
* Denial of service attacks that rely on large volumes of traffic.
* Rate limiting, CAPTCHA strength, or content/spam flooding.
* Clickjacking on pages without sensitive actions.
* Bugs that require root/jailbroken devices or outdated browsers.
* Issues in third-party services or libraries not managed by us.
### In-Scope for Reporting:
- ALTCHA Widget and any associated open-source code.
- ALTCHA SaaS platform and related services.
While these may not be considered critical security vulnerabilities, we still care and may address them internally where appropriate. Your feedback helps us maintain a stronger security posture.
### Out-of-Scope:
- Any third-party services or software not managed by ALTCHA.
- Automated tool or scan reports.
- Distributed Denial of Service (DDoS) attacks that require large volumes of data.
- Provisioning or usability issues.
- Flooding of feedback, comments, messages, etc.
- Issues related to networking protocols or industry standards.
### Rewards
We may offer a discretionary reward (bounty) for valid, impactful reports that:
* Are submitted responsibly and in good faith.
* Are not the result of automated scanning.
* Include a clear demonstration of how the issue can be exploited in practice.
We do not offer rewards for:
* Reports generated solely through automated tools.
* Vulnerabilities lacking a proof of concept.
* Low-risk issues or theoretical attacks.
Reward amounts are determined at our discretion based on severity, impact, and quality of the report.
### Responsible Disclosure Guidelines
* Please do not publicly disclose vulnerabilities before we have had a chance to fix them.
* Do not access, modify, or delete data that does not belong to you.
* Avoid actions that could degrade or disrupt our services during testing.
* Only test systems that are clearly part of our infrastructure.
We thank you for helping us keep our services safe and secure.

11
dist/altcha.d.ts vendored
View File

@@ -1,3 +1,4 @@
import type { Writable } from 'svelte/store';
export {};
declare module 'altcha';
@@ -5,6 +6,11 @@ declare module 'altcha';
declare global {
var altchaCreateWorker: (url?: string) => Worker;
var altchaPlugins: any[];
var altchaI18n: {
get: (language: string) => Record<string, string>;
set: (language: string, translation: Record<string, string>) => void;
store: Writable<Record<string, Record<string, string>>>;
};
type AltchaState = 'error' | 'expired' | 'verified' | 'verifying' | 'unverified';
@@ -21,12 +27,15 @@ declare global {
interface AltchaWidgetOptions {
auto?: 'off' | 'onfocus' | 'onload' | 'onsubmit';
/** @deprecated */
blockspam?: boolean;
challengeurl?: string;
challengejson?: string;
credentials?: 'omit' | 'same-origin' | 'include' | boolean | undefined;
customfetch?: string | ((url: string, init?: RequestInit) => Promise<Response>);
debug?: boolean;
delay?: number;
disableautofocus?: boolean;
expire?: number;
floating?: 'auto' | 'top' | 'bottom' | 'false' | '' | boolean;
floatinganchor?: string;
@@ -35,6 +44,7 @@ declare global {
hidefooter?: boolean;
hidelogo?: boolean;
id?: string;
language?: string;
maxnumber?: number;
mockerror?: boolean;
name?: string;
@@ -48,6 +58,7 @@ declare global {
onuploadprogress?: (ev: CustomEvent) => void;
plugins?: string;
refetchonexpire?: boolean;
/** @deprecated */
spamfilter?: boolean | 'ipAddress';
strings?: string;
test?: boolean | number;

158
dist/altcha.i18n.d.ts vendored Normal file
View File

@@ -0,0 +1,158 @@
import type { Writable } from 'svelte/store';
export {};
declare module 'altcha';
declare global {
var altchaCreateWorker: (url?: string) => Worker;
var altchaPlugins: any[];
var altchaI18n: {
get: (language: string) => Record<string, string>;
set: (language: string, translation: Record<string, string>) => void;
store: Writable<Record<string, Record<string, string>>>;
};
type AltchaState = 'error' | 'expired' | 'verified' | 'verifying' | 'unverified';
interface AltchaStateChangeEvent extends CustomEvent<{
payload?: string;
state: AltchaState;
}> {}
interface AltchaVerifiedEvent extends CustomEvent<{
payload: string;
}> {}
interface AltchaServerVerificationEvent extends CustomEvent<Record<string, unknown>> {}
interface AltchaWidgetOptions {
auto?: 'off' | 'onfocus' | 'onload' | 'onsubmit';
/** @deprecated */
blockspam?: boolean;
challengeurl?: string;
challengejson?: string;
credentials?: 'omit' | 'same-origin' | 'include' | boolean | undefined;
customfetch?: string | ((url: string, init?: RequestInit) => Promise<Response>);
debug?: boolean;
delay?: number;
disableautofocus?: boolean;
expire?: number;
floating?: 'auto' | 'top' | 'bottom' | 'false' | '' | boolean;
floatinganchor?: string;
floatingoffset?: number;
floatingpersist?: 'focus' | boolean;
hidefooter?: boolean;
hidelogo?: boolean;
id?: string;
language?: string;
maxnumber?: number;
mockerror?: boolean;
name?: string;
obfuscated?: string;
oncleartext?: (ev: CustomEvent) => void;
onload?: (ev: CustomEvent) => void;
onstatechange?: (ev: CustomEvent) => void;
onverified?: (ev: CustomEvent) => void;
onserververification?: (ev: CustomEvent) => void;
onupload?: (ev: CustomEvent) => void;
onuploadprogress?: (ev: CustomEvent) => void;
plugins?: string;
refetchonexpire?: boolean;
/** @deprecated */
spamfilter?: boolean | 'ipAddress';
strings?: string;
test?: boolean | number;
verifyurl?: string;
workers?: number;
workerurl?: string;
}
interface AltchaWidgetMethods {
configure: (options: AltchaWidgetOptions) => void;
clarify: () => Promise<void>;
getConfiguration: () => AltchaWidgetOptions;
getFloatingAnchor: () => HTMLElement | null;
getPlugin: <T = unknown>(name: string) => T;
getState: () => AltchaState;
hide: () => void;
repositionFloating: (viewportOffset?: number) => void;
reset: (newState?: AltchaState, err?: string | null) => void;
setFloatingAnchor: (el: HTMLElement) => void;
setState: (newState: AltchaState, err?: string | null) => void;
show: () => void;
verify: () => Promise<void>;
}
interface AltchaWidget extends AltchaWidgetOptions {
}
interface AltchaWidgetCSSProperties extends Partial<CSSStyleDeclaration> {
'--altcha-border-width'?: string;
'--altcha-border-radius'?: string;
'--altcha-color-base'?: string;
'--altcha-color-border'?: string;
'--altcha-color-text'?: string;
'--altcha-color-border-focus'?: string;
'--altcha-color-error-text'?: string;
'--altcha-color-footer-bg'?: string;
'--altcha-max-width'?: string;
}
interface AltchaWidgetReactRefObject<T> {
current: T | null;
}
interface AltchaWidgetReact extends AltchaWidget {
children?: string | number | Node | DocumentFragment;
ref?: AltchaWidgetReactRefObject<HTMLElement>;
style?: AltchaWidgetCSSProperties;
}
namespace JSX {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetReact;
}
}
namespace React {
namespace JSX {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetReact;
}
}
}
namespace svelteHTML {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetSvelte;
}
interface AltchaWidgetSvelte extends AltchaWidget {
style?: string;
}
}
}
declare module "react" {
namespace JSX {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetReact;
}
}
}
declare module "react/jsx-runtime" {
namespace JSX {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetReact;
}
}
}
declare module "react/jsx-dev-runtime" {
namespace JSX {
interface IntrinsicElements {
'altcha-widget': AltchaWidgetReact;
}
}
}

4015
dist/altcha.i18n.js vendored Normal file

File diff suppressed because one or more lines are too long

4
dist/altcha.i18n.umd.js vendored Normal file

File diff suppressed because one or more lines are too long

3730
dist/altcha.js vendored

File diff suppressed because one or more lines are too long

15
dist/altcha.umd.cjs vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,139 +1 @@
.altcha {
background: var(--altcha-color-base, transparent);
border: var(--altcha-border-width, 1px) solid
var(--altcha-color-border, #a0a0a0);
border-radius: var(--altcha-border-radius, 3px);
color: var(--altcha-color-text, currentColor);
display: flex;
flex-direction: column;
max-width: var(--altcha-max-width, 260px);
position: relative;
text-align: left;
}
.altcha:focus-within {
border-color: var(--altcha-color-border-focus, currentColor);
}
.altcha[data-floating] {
background: var(--altcha-color-base, white);
display: none;
filter: drop-shadow(3px 3px 6px rgba(0,0,0,0.2));
left: -100%;
position: fixed;
top: -100%;
width: var(--altcha-max-width, 260px);
z-index: 999999;
}
.altcha[data-floating="top"] .altcha-anchor-arrow {
border-bottom-color: transparent;
border-top-color: var(--altcha-color-border, #a0a0a0);
bottom: -12px;
top: auto;
}
.altcha[data-floating="bottom"]:focus-within::after {
border-bottom-color: var(--altcha-color-border-focus, currentColor);
}
.altcha[data-floating="top"]:focus-within::after {
border-top-color: var(--altcha-color-border-focus, currentColor);
}
.altcha[data-floating]:not([data-state="unverified"]) {
display: block;
}
.altcha-anchor-arrow {
border: 6px solid transparent;
border-bottom-color: var(--altcha-color-border, #a0a0a0);
content: '';
height: 0;
left: 12px;
position: absolute;
top: -12px;
width: 0;
}
.altcha-main {
align-items: center;
display: flex;
gap: 0.4rem;
padding: 0.7rem;
}
.altcha-label {
flex-grow: 1;
}
.altcha-label label {
cursor: pointer;
}
.altcha-logo {
color: currentColor;
opacity: 0.3;
}
.altcha-logo:hover {
opacity: 1;
}
.altcha-error {
color: var(--altcha-color-error-text, #f23939);
display: flex;
font-size: 0.85rem;
gap: 0.3rem;
padding: 0 0.7rem 0.7rem;
}
.altcha-footer {
align-items: center;
background-color: var(--altcha-color-footer-bg, transparent);
display: flex;
font-size: 0.75rem;
opacity: 0.4;
padding: 0.2rem 0.7rem;
text-align: right;
}
.altcha-footer:hover {
opacity: 1;
}
.altcha-footer > *:first-child {
flex-grow: 1;
}
.altcha-footer :global(a) {
color: currentColor;
}
.altcha-checkbox {
display: flex;
align-items: center;
height: 24px;
width: 24px;
}
.altcha-checkbox input {
width: 18px;
height: 18px;
margin: 0;
}
.altcha-hidden {
display: none;
}
.altcha-spinner {
animation: altcha-spinner 0.75s infinite linear;
transform-origin: center;
}
@keyframes altcha-spinner {
100% {
transform: rotate(360deg);
}
}
.altcha{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within:after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within:after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:none;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer:hover{opacity:1}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}@keyframes altcha-spinner{to{transform:rotate(360deg)}}

View File

@@ -1,3 +1,4 @@
import type { Writable } from 'svelte/store';
export {};
declare module 'altcha';
@@ -5,6 +6,11 @@ declare module 'altcha';
declare global {
var altchaCreateWorker: (url?: string) => Worker;
var altchaPlugins: any[];
var altchaI18n: {
get: (language: string) => Record<string, string>;
set: (language: string, translation: Record<string, string>) => void;
store: Writable<Record<string, Record<string, string>>>;
};
type AltchaState = 'error' | 'expired' | 'verified' | 'verifying' | 'unverified';
@@ -21,12 +27,15 @@ declare global {
interface AltchaWidgetOptions {
auto?: 'off' | 'onfocus' | 'onload' | 'onsubmit';
/** @deprecated */
blockspam?: boolean;
challengeurl?: string;
challengejson?: string;
credentials?: 'omit' | 'same-origin' | 'include' | boolean | undefined;
customfetch?: string | ((url: string, init?: RequestInit) => Promise<Response>);
debug?: boolean;
delay?: number;
disableautofocus?: boolean;
expire?: number;
floating?: 'auto' | 'top' | 'bottom' | 'false' | '' | boolean;
floatinganchor?: string;
@@ -35,6 +44,7 @@ declare global {
hidefooter?: boolean;
hidelogo?: boolean;
id?: string;
language?: string;
maxnumber?: number;
mockerror?: boolean;
name?: string;
@@ -48,6 +58,7 @@ declare global {
onuploadprogress?: (ev: CustomEvent) => void;
plugins?: string;
refetchonexpire?: boolean;
/** @deprecated */
spamfilter?: boolean | 'ipAddress';
strings?: string;
test?: boolean | number;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist_i18n/af.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/af';

94
dist_i18n/af.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function g(e, i) {
return e != e ? i == i : e !== i || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var i = c;
try {
return c = !0, e();
} finally {
c = i;
}
}
function k(e, i, t) {
if (e == null)
return i(void 0), o;
const n = d(
() => e.subscribe(
i,
// @ts-expect-error
t
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const a = [];
function p(e, i = o) {
let t = null;
const n = /* @__PURE__ */ new Set();
function l(s) {
if (g(e, s) && (e = s, t)) {
const u = !a.length;
for (const r of n)
r[1](), a.push(r, e);
if (u) {
for (let r = 0; r < a.length; r += 2)
a[r][0](a[r + 1]);
a.length = 0;
}
}
}
function b(s) {
l(s(
/** @type {T} */
e
));
}
function h(s, u = o) {
const r = [s, u];
return n.add(r), n.size === 1 && (t = i(l, b) || o), s(
/** @type {T} */
e
), () => {
n.delete(r), n.size === 0 && t && (t(), t = null);
};
}
return { set: l, update: b, subscribe: h };
}
function f(e) {
let i;
return k(e, (t) => i = t)(), i;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, i) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: i
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: p({})
};
const T = {
ariaLinkLabel: "Besoek Altcha.org",
enterCode: "Voer kode in",
enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",
error: "Verifikasie het misluk. Probeer later weer.",
expired: "Verifikasie het verval. Probeer weer.",
footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',
getAudioChallenge: "Kry 'n klankuitdaging",
label: "Ek is nie 'n robot nie",
loading: "Laai...",
reload: "Laai weer",
verify: "Verifieer",
verificationRequired: "Verifikasie is vereis!",
verified: "Geverifieer",
verifying: "Verifieer...",
waitAlert: "Verifieer... wag asseblief."
};
globalThis.altchaI18n.set("af", T);
export {
T as i18n
};

1
dist_i18n/af.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,i){return e!=e?i==i:e!==i||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function k(e){var i=u;try{return u=!0,e()}finally{u=i}}function p(e,i,n){if(e==null)return i(void 0),o;const r=k(()=>e.subscribe(i,n));return r.unsubscribe?()=>r.unsubscribe():r}const a=[];function T(e,i=o){let n=null;const r=new Set;function c(s){if(d(e,s)&&(e=s,n)){const b=!a.length;for(const t of r)t[1](),a.push(t,e);if(b){for(let t=0;t<a.length;t+=2)a[t][0](a[t+1]);a.length=0}}}function g(s){c(s(e))}function y(s,b=o){const t=[s,b];return r.add(t),r.size===1&&(n=i(c,g)||o),s(e),()=>{r.delete(t),r.size===0&&n&&(n(),n=null)}}return{set:c,update:g,subscribe:y}}function f(e){let i;return p(e,n=>i=n)(),i}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>f(globalThis.altchaI18n.store)[e],set:(e,i)=>{Object.assign(f(globalThis.altchaI18n.store),{[e]:i}),globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store))},store:T({})};const h={ariaLinkLabel:"Besoek Altcha.org",enterCode:"Voer kode in",enterCodeAria:"Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",error:"Verifikasie het misluk. Probeer later weer.",expired:"Verifikasie het verval. Probeer weer.",footer:'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',getAudioChallenge:"Kry 'n klankuitdaging",label:"Ek is nie 'n robot nie",loading:"Laai...",reload:"Laai weer",verify:"Verifieer",verificationRequired:"Verifikasie is vereis!",verified:"Geverifieer",verifying:"Verifieer...",waitAlert:"Verifieer... wag asseblief."};globalThis.altchaI18n.set("af",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/all.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/all';

992
dist_i18n/all.js Normal file
View File

@@ -0,0 +1,992 @@
const n = () => {
};
function v(e, a) {
return e != e ? a == a : e !== a || e !== null && typeof e == "object" || typeof e == "function";
}
let g = !1;
function b(e) {
var a = g;
try {
return g = !0, e();
} finally {
g = a;
}
}
function A(e, a, r) {
if (e == null)
return a(void 0), n;
const t = b(
() => e.subscribe(
a,
// @ts-expect-error
r
)
);
return t.unsubscribe ? () => t.unsubscribe() : t;
}
const l = [];
function k(e, a = n) {
let r = null;
const t = /* @__PURE__ */ new Set();
function d(o) {
if (v(e, o) && (e = o, r)) {
const s = !l.length;
for (const i of t)
i[1](), l.push(i, e);
if (s) {
for (let i = 0; i < l.length; i += 2)
l[i][0](l[i + 1]);
l.length = 0;
}
}
}
function h(o) {
d(o(
/** @type {T} */
e
));
}
function u(o, s = n) {
const i = [o, s];
return t.add(i), t.size === 1 && (r = a(d, h) || n), o(
/** @type {T} */
e
), () => {
t.delete(i), t.size === 0 && r && (r(), r = null);
};
}
return { set: d, update: h, subscribe: u };
}
function c(e) {
let a;
return A(e, (r) => a = r)(), a;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => c(globalThis.altchaI18n.store)[e],
set: (e, a) => {
Object.assign(c(globalThis.altchaI18n.store), {
[e]: a
}), globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store));
},
store: k({})
};
const p = {
ariaLinkLabel: "Besoek Altcha.org",
enterCode: "Voer kode in",
enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",
error: "Verifikasie het misluk. Probeer later weer.",
expired: "Verifikasie het verval. Probeer weer.",
footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',
getAudioChallenge: "Kry 'n klankuitdaging",
label: "Ek is nie 'n robot nie",
loading: "Laai...",
reload: "Laai weer",
verify: "Verifieer",
verificationRequired: "Verifikasie is vereis!",
verified: "Geverifieer",
verifying: "Verifieer...",
waitAlert: "Verifieer... wag asseblief."
};
globalThis.altchaI18n.set("af", p);
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("ar", C);
const y = {
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("bg", y);
const L = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
error: "Verifikacija nije uspjela. Pokušajte ponovo kasnije.",
expired: "Verifikacija je istekla. Pokušajte ponovo.",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Dohvatite audio izazov",
label: "Nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Verifikuj",
verificationRequired: "Verifikacija je obavezna!",
verified: "Verifikovano",
verifying: "Verifikacija u toku...",
waitAlert: "Verifikacija u toku... molimo vas da sačekate."
};
globalThis.altchaI18n.set("bs", L);
const V = {
ariaLinkLabel: "Visita Altcha.org",
enterCode: "Introdueix el codi",
enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir làudio.",
error: "Verificació fallida. Torna-ho a provar més tard.",
expired: "Verificació expirada. Torna-ho a provar.",
footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un desafiament dàudio",
label: "No sóc un robot",
loading: "Carregant...",
reload: "Torna a carregar",
verify: "Verificar",
verificationRequired: "Es requereix verificació!",
verified: "Verificat",
verifying: "Verificant...",
waitAlert: "Verificant... si us plau, espera."
};
globalThis.altchaI18n.set("ca", V);
const j = {
ariaLinkLabel: "Navštivte Altcha.org",
enterCode: "Zadejte kód",
enterCodeAria: "Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",
error: "Ověření selhalo. Zkuste to prosím později.",
expired: "Ověření vypršelo. Zkuste to prosím znovu.",
verificationRequired: "Vyžaduje se ověření!",
footer: 'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',
getAudioChallenge: "Získat audio výzvu",
label: "Nejsem robot",
loading: "Načítání...",
reload: "Znovu načíst",
verify: "Ověřit",
verified: "Ověřeno",
verifying: "Ověřování...",
waitAlert: "Probíhá ověření... prosím počkejte."
};
globalThis.altchaI18n.set("cs", j);
const m = {
ariaLinkLabel: "Besøg Altcha.org",
enterCode: "Indtast kode",
enterCodeAria: "Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",
error: "Verificering mislykkedes. Prøv venligst igen senere.",
expired: "Verificering udløbet. Prøv venligst igen.",
verificationRequired: "Verificering kræves!",
footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',
getAudioChallenge: "Hent lydudfordring",
label: "Jeg er ikke en robot",
loading: "Indlæser...",
reload: "Genindlæs",
verify: "Verificer",
verified: "Verificeret",
verifying: "Verificerer...",
waitAlert: "Verificerer... vent venligst."
};
globalThis.altchaI18n.set("da", m);
const T = {
ariaLinkLabel: "Besuche Altcha.org",
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.",
verificationRequired: "Überprüfung erforderlich!",
footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio-Herausforderung anfordern",
label: "Ich bin kein Roboter",
loading: "Lade...",
reload: "Neu laden",
verify: "Überprüfen",
verified: "Überprüft",
verifying: "Wird überprüft...",
waitAlert: "Überprüfung läuft... bitte warten."
};
globalThis.altchaI18n.set("de", T);
const z = {
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("el", z);
const I = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Introduce el código",
enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor intente nuevamente más tarde.",
expired: "Verificación expirada. Por favor intente nuevamente.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un desafío de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Recargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espere."
};
globalThis.altchaI18n.set("es-es", I);
const P = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Ingresa el código",
enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.",
expired: "La verificación expiró. Por favor inténtalo de nuevo.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un reto de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Volver a cargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espera."
};
globalThis.altchaI18n.set("es-419", P);
const w = {
ariaLinkLabel: "Külasta Altcha.org",
enterCode: "Sisesta kood",
enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",
error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",
expired: "Kinnitamine aegus. Proovi uuesti.",
verificationRequired: "Kontroll on vajalik!",
footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',
getAudioChallenge: "Hangi heliülesanne",
label: "Ma ei ole robot",
loading: "Laadimine...",
reload: "Laadi uuesti",
verify: "Kinnita",
verified: "Kinnitatud",
verifying: "Kinnitamine...",
waitAlert: "Kinnitamine... palun oota."
};
globalThis.altchaI18n.set("et", w);
const x = {
ariaLinkLabel: "Bisitatu Altcha.org",
enterCode: "Sartu kodea",
enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",
error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.",
expired: "Egiaztatzea iraungi da. Saiatu berriro.",
verificationRequired: "Egiaztatzea beharrezkoa da!",
footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',
getAudioChallenge: "Jaso audio-erronka bat",
label: "Ez naiz robot bat",
loading: "Kargatzen...",
reload: "Birkargatu",
verify: "Egiaztatu",
verified: "Egiaztatuta",
verifying: "Egiaztatzen...",
waitAlert: "Egiaztatzen... itxaron mesedez."
};
globalThis.altchaI18n.set("eu", x);
const q = {
ariaLinkLabel: "Vieraile sivulla Altcha.org",
enterCode: "Syötä koodi",
enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",
error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.",
expired: "Varmennus vanhentui. Yritä uudelleen.",
verificationRequired: "Vahvistus vaaditaan!",
footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',
getAudioChallenge: "Hae äänitehtävä",
label: "En ole robotti",
loading: "Ladataan...",
reload: "Lataa uudelleen",
verify: "Vahvista",
verified: "Vahvistettu",
verifying: "Vahvistetaan...",
waitAlert: "Vahvistetaan... odota hetki."
};
globalThis.altchaI18n.set("fi", q);
const R = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",
error: "Échec de la vérification. Réessayez plus tard.",
expired: "La vérification a expiré. Réessayez.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-ca", R);
const H = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",
error: "Échec de la vérification. Essayez à nouveau plus tard.",
expired: "La vérification a expiré. Essayez à nouveau.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-fr", H);
const _ = {
ariaLinkLabel: "Tabhair cuairt ar Altcha.org",
enterCode: "Iontráil cód",
enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",
error: "Theip ar an bhfíorú. Bain triail eile as níos déanaí.",
expired: "Tá an fíorú as feidhm. Bain triail eile as.",
verificationRequired: "Fíorú riachtanach!",
footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Faigh dúshlán fuaime",
label: "Níl mé i mo róbat",
loading: "Á luchtú...",
reload: "Athluchtaigh",
verify: "Fíoraigh",
verified: "Fíoraithe",
verifying: "Fíorú ar siúl...",
waitAlert: "Fíorú ar siúl... fan go fóill."
};
globalThis.altchaI18n.set("ga", _);
const S = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",
error: "Provjera nije uspjela. Molimo pokušajte kasnije.",
expired: "Provjera je istekla. Molimo pokušajte ponovo.",
verificationRequired: "Potrebna je provjera!",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio provjera",
label: "Ja nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Provjeri",
verified: "Provjereno",
verifying: "Provjeravanje...",
waitAlert: "Provjera je u tijeku... molimo pričekajte."
};
globalThis.altchaI18n.set("hr", S);
const $ = {
ariaLinkLabel: "Látogass el az Altcha.org oldalra",
enterCode: "Írja be a kódot",
enterCodeAria: "Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",
error: "A hitelesítés nem sikerült. Próbáld meg később újra.",
expired: "A hitelesítés lejárt. Próbáld újra.",
verificationRequired: "Ellenőrzés szükséges!",
footer: 'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',
getAudioChallenge: "Hangalapú kihívás kérése",
label: "Nem vagyok robot",
loading: "Betöltés...",
reload: "Újratöltés",
verify: "Ellenőrzés",
verified: "Ellenőrizve",
verifying: "Ellenőrzés folyamatban...",
waitAlert: "Ellenőrzés folyamatban... kérlek várj."
};
globalThis.altchaI18n.set("hu", $);
const E = {
ariaLinkLabel: "Heimsækja Altcha.org",
enterCode: "Sláðu inn kóða",
enterCodeAria: "Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",
error: "Staðfesting mistókst. Reyndu aftur síðar.",
expired: "Staðfesting er útrunnin. Reyndu aftur.",
footer: 'Verndað af <a href="https://altcha.org/" target="_blank" aria-label="Heimsækja Altcha.org">ALTCHA</a>',
getAudioChallenge: "Fá hljóðáskorun",
label: "Ég er ekki robot",
loading: "Hleður...",
reload: "Hleð aftur",
verify: "Staðfesta",
verificationRequired: "Staðfesting er nauðsynleg!",
verified: "Staðfest",
verifying: "Að staðfesta...",
waitAlert: "Að staðfesta... vinsamlegast bíða."
};
globalThis.altchaI18n.set("is", E);
const N = {
ariaLinkLabel: "Visita Altcha.org",
enterCode: "Inserisci il codice",
enterCodeAria: "Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",
error: "Verifica fallita. Riprova più tardi.",
expired: "Verifica scaduta. Riprova.",
verificationRequired: "Verifica richiesta!",
footer: 'Protetto da <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
getAudioChallenge: "Ottieni una sfida audio",
label: "Non sono un robot",
loading: "Caricamento...",
reload: "Ricarica",
verify: "Verifica",
verified: "Verificato",
verifying: "Verifica in corso...",
waitAlert: "Verifica in corso... attendere."
};
globalThis.altchaI18n.set("it", N);
const B = {
ariaLinkLabel: "Apsilankykite Altcha.org",
enterCode: "Įveskite kodą",
enterCodeAria: "Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",
error: "Patvirtinimas nepavyko. Bandykite vėliau.",
expired: "Patvirtinimo laikas baigėsi. Bandykite dar kartą.",
verificationRequired: "Reikalingas patvirtinimas!",
footer: 'Apsaugota <a href="https://altcha.org/" target="_blank" aria-label="Apsilankykite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Gauti garso užduotį",
label: "Aš nesu robotas",
loading: "Įkeliama...",
reload: "Įkelti iš naujo",
verify: "Patvirtinti",
verified: "Patvirtinta",
verifying: "Tikrinama...",
waitAlert: "Tikrinama... prašome palaukti."
};
globalThis.altchaI18n.set("lt", B);
const O = {
ariaLinkLabel: "Apmeklējiet Altcha.org",
enterCode: "Ievadiet kodu",
enterCodeAria: "Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",
error: "Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",
expired: "Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",
verificationRequired: "Nepieciešama verifikācija!",
footer: 'Aizsargāts ar <a href="https://altcha.org/" target="_blank" aria-label="Apmeklējiet Altcha.org">ALTCHA</a>',
getAudioChallenge: "Saņemt audio izaicinājumu",
label: "Es neesmu robots",
loading: "Notiek ielāde...",
reload: "Pārlādēt",
verify: "Verificēt",
verified: "Verificēts",
verifying: "Notiek verifikācija...",
waitAlert: "Notiek verifikācija... lūdzu, uzgaidiet."
};
globalThis.altchaI18n.set("lv", O);
const D = {
ariaLinkLabel: "Żur Altcha.org",
enterCode: "Idħol il-kodiċi",
enterCodeAria: "Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",
error: "Il-verifika falliet. Erġa pprova aktar tard.",
expired: "Il-verifika skadiet. Erġa pprova.",
verificationRequired: "Verifika meħtieġa!",
footer: 'Protett minn <a href="https://altcha.org/" target="_blank" aria-label="Żur Altcha.org">ALTCHA</a>',
getAudioChallenge: "Ikseb sfida bl-awdjo",
label: "Minix robot",
loading: "Qed jitgħabba...",
reload: "Ittella mill-ġdid",
verify: "Ivverifika",
verified: "Ivverifikat",
verifying: "Verifika għaddejja...",
waitAlert: "Verifika għaddejja... stenna ftit."
};
globalThis.altchaI18n.set("mt", D);
const f = {
ariaLinkLabel: "Besøk Altcha.org",
enterCode: "Skriv inn kode",
enterCodeAria: "Skriv inn koden du hører. Trykk på Space for å spille av lyden.",
error: "Verifisering mislyktes. Prøv igjen senere.",
expired: "Verifiseringen utløp. Prøv igjen.",
footer: 'Beskyttet av <a href="https://altcha.org/" target="_blank" aria-label="Besøk Altcha.org">ALTCHA</a>',
getAudioChallenge: "Få en lydutfordring",
label: "Jeg er ikke en robot",
loading: "Laster...",
reload: "Last på nytt",
verify: "Verifiser",
verificationRequired: "Verifisering kreves!",
verified: "Verifisert",
verifying: "Verifiserer...",
waitAlert: "Verifiserer... vennligst vent."
};
globalThis.altchaI18n.set("nb", f);
globalThis.altchaI18n.set("no", f);
const K = {
ariaLinkLabel: "Bezoek Altcha.org",
enterCode: "Voer code in",
enterCodeAria: "Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",
error: "Verificatie mislukt. Probeer het later opnieuw.",
expired: "Verificatie verlopen. Probeer het opnieuw.",
verificationRequired: "Verificatie vereist!",
footer: 'Beschermd door <a href="https://altcha.org/" target="_blank" aria-label="Bezoek Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio-uitdaging ontvangen",
label: "Ik ben geen robot",
loading: "Laden...",
reload: "Herladen",
verify: "Verifiëren",
verified: "Geverifieerd",
verifying: "Bezig met verifiëren...",
waitAlert: "Bezig met verifiëren... even geduld a.u.b."
};
globalThis.altchaI18n.set("nl", K);
const F = {
ariaLinkLabel: "Odwiedź Altcha.org",
enterCode: "Wprowadź kod",
enterCodeAria: "Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",
error: "Weryfikacja nie powiodła się. Spróbuj ponownie później.",
expired: "Weryfikacja wygasła. Spróbuj ponownie.",
verificationRequired: "Wymagana weryfikacja!",
footer: 'Chronione przez <a href="https://altcha.org/" target="_blank" aria-label="Odwiedź Altcha.org">ALTCHA</a>',
getAudioChallenge: "Pobierz zadanie dźwiękowe",
label: "Nie jestem robotem",
loading: "Ładowanie...",
reload: "Odśwież",
verify: "Zweryfikuj",
verified: "Zweryfikowano",
verifying: "Weryfikacja...",
waitAlert: "Trwa weryfikacja... proszę czekać."
};
globalThis.altchaI18n.set("pl", F);
const Z = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Introduza o código",
enterCodeAria: "Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",
error: "A verificação falhou. Por favor, tente novamente mais tarde.",
expired: "Verificação expirada. Por favor, tente novamente.",
verificationRequired: "Verificação necessária!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obter desafio de áudio",
label: "Não sou um robô",
loading: "A carregar...",
reload: "Recarregar",
verify: "Verificar",
verified: "Verificado",
verifying: "A verificar...",
waitAlert: "A verificar... por favor aguarde."
};
globalThis.altchaI18n.set("pt-pt", Z);
const M = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Digite o código",
enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",
error: "Falha na verificação. Por favor, tente novamente mais tarde.",
expired: "Verificação expirada. Por favor, tente novamente.",
verificationRequired: "Verificação necessária!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obter desafio de áudio",
label: "Eu não sou um robô",
loading: "Carregando...",
reload: "Recarregar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor aguarde."
};
globalThis.altchaI18n.set("pt-br", M);
const U = {
ariaLinkLabel: "Vizitează Altcha.org",
enterCode: "Introduceți codul",
enterCodeAria: "Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",
error: "Verificarea a eșuat. Încearcă din nou mai târziu.",
expired: "Verificarea a expirat. Încearcă din nou.",
verificationRequired: "Verificare necesară!",
footer: 'Protejat de <a href="https://altcha.org/" target="_blank" aria-label="Vizitează Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obține o provocare audio",
label: "Nu sunt un robot",
loading: "Se încarcă...",
reload: "Reîncarcă",
verify: "Verifică",
verified: "Verificat",
verifying: "Se verifică...",
waitAlert: "Se verifică... te rugăm să aștepți."
};
globalThis.altchaI18n.set("ro", U);
const G = {
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("ru", G);
const W = {
ariaLinkLabel: "Navštívte Altcha.org",
enterCode: "Zadajte kód",
enterCodeAria: "Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",
error: "Verifikácia zlyhala. Skúste to znova neskôr.",
expired: "Verifikácia vypršala. Skúste to znova.",
verificationRequired: "Vyžaduje sa overenie!",
footer: 'Chránené <a href="https://altcha.org/" target="_blank" aria-label="Navštívte Altcha.org">ALTCHA</a>',
getAudioChallenge: "Získať audio výzvu",
label: "Nie som robot",
loading: "Načítava sa...",
reload: "Obnoviť",
verify: "Verifikovať",
verified: "Verifikované",
verifying: "Prebieha verifikácia...",
waitAlert: "Prebieha verifikácia... prosím čakajte."
};
globalThis.altchaI18n.set("sk", W);
const J = {
ariaLinkLabel: "Obiščite Altcha.org",
enterCode: "Vnesite kodo",
enterCodeAria: "Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",
error: "Preverjanje ni uspelo. Poskusite znova kasneje.",
expired: "Preverjanje je poteklo. Poskusite znova.",
verificationRequired: "Potrebna je preveritev!",
footer: 'Zaščiteno z <a href="https://altcha.org/" target="_blank" aria-label="Obiščite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Pridobite zvočni izziv",
label: "Nisem robot",
loading: "Nalagam...",
reload: "Ponovno naloži",
verify: "Preveri",
verified: "Preverjeno",
verifying: "Preverjanje...",
waitAlert: "Preverjanje... prosim počakajte."
};
globalThis.altchaI18n.set("sl", J);
const Y = {
ariaLinkLabel: "Posetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
error: "Verifikacija nije uspela. Pokušajte ponovo kasnije.",
expired: "Verifikacija je istekla. Pokušajte ponovo.",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Dohvatite audio izazov",
label: "Nisam robot",
loading: "Učitavanje...",
reload: "Ponovo učitaj",
verify: "Verifikuj",
verificationRequired: "Verifikacija je obavezna!",
verified: "Verifikovano",
verifying: "Verifikacija u toku...",
waitAlert: "Verifikacija u toku... molimo vas da sačekate."
};
globalThis.altchaI18n.set("sr", Y);
const X = {
ariaLinkLabel: "Besök Altcha.org",
enterCode: "Ange kod",
enterCodeAria: "Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",
error: "Verifiering misslyckades. Försök igen senare.",
expired: "Verifieringen har gått ut. Försök igen.",
verificationRequired: "Verifiering krävs!",
footer: 'Skyddad av <a href="https://altcha.org/" target="_blank" aria-label="Besök Altcha.org">ALTCHA</a>',
getAudioChallenge: "Få ljudutmaning",
label: "Jag är inte en robot",
loading: "Laddar...",
reload: "Ladda om",
verify: "Verifiera",
verified: "Verifierad",
verifying: "Verifierar...",
waitAlert: "Verifierar... vänligen vänta."
};
globalThis.altchaI18n.set("sv", X);
const Q = {
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", Q);
const ee = {
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", ee);
const ae = {
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", ae);
const ie = {
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", ie);
const re = {
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", re);
const te = {
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", te);
const oe = {
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", oe);
const le = {
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", le);
const ne = {
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", ne);
const de = {
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", de);
const se = {
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", se);
const ge = {
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", ge);
const ce = {
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", ce);
const he = {
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", he);
const fe = {
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", fe);
const ue = {
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", ue);

1
dist_i18n/all.umd.cjs Normal file

File diff suppressed because one or more lines are too long

1
dist_i18n/americas.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/americas';

127
dist_i18n/americas.js Normal file
View File

@@ -0,0 +1,127 @@
const l = () => {
};
function b(e, r) {
return e != e ? r == r : e !== r || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function h(e) {
var r = u;
try {
return u = !0, e();
} finally {
u = r;
}
}
function p(e, r, a) {
if (e == null)
return r(void 0), l;
const o = h(
() => e.subscribe(
r,
// @ts-expect-error
a
)
);
return o.unsubscribe ? () => o.unsubscribe() : o;
}
const n = [];
function v(e, r = l) {
let a = null;
const o = /* @__PURE__ */ new Set();
function s(t) {
if (b(e, t) && (e = t, a)) {
const c = !n.length;
for (const i of o)
i[1](), n.push(i, e);
if (c) {
for (let i = 0; i < n.length; i += 2)
n[i][0](n[i + 1]);
n.length = 0;
}
}
}
function d(t) {
s(t(
/** @type {T} */
e
));
}
function g(t, c = l) {
const i = [t, c];
return o.add(i), o.size === 1 && (a = r(s, d) || l), t(
/** @type {T} */
e
), () => {
o.delete(i), o.size === 0 && a && (a(), a = null);
};
}
return { set: s, update: d, subscribe: g };
}
function f(e) {
let r;
return p(e, (a) => r = a)(), r;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, r) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: r
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: v({})
};
const V = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",
error: "Échec de la vérification. Réessayez plus tard.",
expired: "La vérification a expiré. Réessayez.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-ca", V);
const A = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Ingresa el código",
enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.",
expired: "La verificación expiró. Por favor inténtalo de nuevo.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un reto de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Volver a cargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espera."
};
globalThis.altchaI18n.set("es-419", A);
const C = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Digite o código",
enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",
error: "Falha na verificação. Por favor, tente novamente mais tarde.",
expired: "Verificação expirada. Por favor, tente novamente.",
verificationRequired: "Verificação necessária!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obter desafio de áudio",
label: "Eu não sou um robô",
loading: "Carregando...",
reload: "Recarregar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor aguarde."
};
globalThis.altchaI18n.set("pt-br", C);

View File

@@ -0,0 +1 @@
(function(t){typeof define=="function"&&define.amd?define(t):t()})(function(){"use strict";const t=()=>{};function g(e,r){return e!=e?r==r:e!==r||e!==null&&typeof e=="object"||typeof e=="function"}let s=!1;function b(e){var r=s;try{return s=!0,e()}finally{s=r}}function h(e,r,a){if(e==null)return r(void 0),t;const o=b(()=>e.subscribe(r,a));return o.unsubscribe?()=>o.unsubscribe():o}const l=[];function p(e,r=t){let a=null;const o=new Set;function u(n){if(g(e,n)&&(e=n,a)){const f=!l.length;for(const i of o)i[1](),l.push(i,e);if(f){for(let i=0;i<l.length;i+=2)l[i][0](l[i+1]);l.length=0}}}function d(n){u(n(e))}function C(n,f=t){const i=[n,f];return o.add(i),o.size===1&&(a=r(u,d)||t),n(e),()=>{o.delete(i),o.size===0&&a&&(a(),a=null)}}return{set:u,update:d,subscribe:C}}function c(e){let r;return h(e,a=>r=a)(),r}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,r)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:r}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:p({})};const v={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",error:"Échec de la vérification. Réessayez plus tard.",expired:"La vérification a expiré. Réessayez.",verificationRequired:"Vérification requise !",footer:'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-ca",v);const V={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Ingresa el código",enterCodeAria:"Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",error:"Falló la verificación. Por favor vuelve a intentarlo más tarde.",expired:"La verificación expiró. Por favor inténtalo de nuevo.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtener un reto de audio",label:"No soy un robot",loading:"Cargando...",reload:"Volver a cargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espera."};globalThis.altchaI18n.set("es-419",V);const A={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Digite o código",enterCodeAria:"Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",error:"Falha na verificação. Por favor, tente novamente mais tarde.",expired:"Verificação expirada. Por favor, tente novamente.",verificationRequired:"Verificação necessária!",footer:'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',getAudioChallenge:"Obter desafio de áudio",label:"Eu não sou um robô",loading:"Carregando...",reload:"Recarregar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor aguarde."};globalThis.altchaI18n.set("pt-br",A)});

1
dist_i18n/ar.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/ar';

94
dist_i18n/ar.js Normal file
View File

@@ -0,0 +1,94 @@
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
};

1
dist_i18n/ar.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(s){if(d(e,s)&&(e=s,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(s){f(s(e))}function A(s,b=o){const n=[s,b];return r.add(n),r.size===1&&(i=t(f,g)||o),s(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/asia.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/asia';

361
dist_i18n/asia.js Normal file
View File

@@ -0,0 +1,361 @@
const o = () => {
};
function u(e, a) {
return e != e ? a == a : e !== a || e !== null && typeof e == "object" || typeof e == "function";
}
let d = !1;
function b(e) {
var a = d;
try {
return d = !0, e();
} finally {
d = a;
}
}
function A(e, a, i) {
if (e == null)
return a(void 0), o;
const t = b(
() => e.subscribe(
a,
// @ts-expect-error
i
)
);
return t.unsubscribe ? () => t.unsubscribe() : t;
}
const n = [];
function v(e, a = o) {
let i = null;
const t = /* @__PURE__ */ new Set();
function h(l) {
if (u(e, l) && (e = l, i)) {
const g = !n.length;
for (const r of t)
r[1](), n.push(r, e);
if (g) {
for (let r = 0; r < n.length; r += 2)
n[r][0](n[r + 1]);
n.length = 0;
}
}
}
function s(l) {
h(l(
/** @type {T} */
e
));
}
function f(l, g = o) {
const r = [l, g];
return t.add(r), t.size === 1 && (i = a(h, s) || o), l(
/** @type {T} */
e
), () => {
t.delete(r), t.size === 0 && i && (i(), i = null);
};
}
return { set: h, update: s, subscribe: f };
}
function c(e) {
let a;
return A(e, (i) => a = i)(), a;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => c(globalThis.altchaI18n.store)[e],
set: (e, a) => {
Object.assign(c(globalThis.altchaI18n.store), {
[e]: a
}), globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store));
},
store: 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("zh-cn", C);
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-tw", k);
const y = {
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", y);
const p = {
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", 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("hi", L);
const T = {
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", T);
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 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("te", I);
const _ = {
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", _);
const x = {
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", x);
const q = {
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", q);
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 R = {
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", 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 D = {
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", D);

1
dist_i18n/asia.umd.cjs Normal file

File diff suppressed because one or more lines are too long

1
dist_i18n/bg.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/bg';

94
dist_i18n/bg.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function h(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, r) {
if (e == null)
return t(void 0), o;
const i = d(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const s = [];
function T(e, t = o) {
let r = null;
const i = /* @__PURE__ */ new Set();
function a(l) {
if (h(e, l) && (e = l, r)) {
const u = !s.length;
for (const n of i)
n[1](), s.push(n, e);
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} */
e
));
}
function g(l, u = o) {
const n = [l, u];
return i.add(n), i.size === 1 && (r = t(a, f) || o), l(
/** @type {T} */
e
), () => {
i.delete(n), i.size === 0 && r && (r(), r = null);
};
}
return { set: a, update: f, subscribe: g };
}
function b(e) {
let t;
return p(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: T({})
};
const A = {
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("bg", A);
export {
A as i18n
};

1
dist_i18n/bg.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(s){if(d(e,s)&&(e=s,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(s){f(s(e))}function A(s,b=o){const n=[s,b];return r.add(n),r.size===1&&(i=t(f,g)||o),s(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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("bg",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/bn.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/bn';

94
dist_i18n/bn.js Normal file
View File

@@ -0,0 +1,94 @@
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("bn", A);
export {
A as i18n
};

1
dist_i18n/bn.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(s){if(d(e,s)&&(e=s,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(s){f(s(e))}function A(s,b=o){const n=[s,b];return r.add(n),r.size===1&&(i=t(f,g)||o),s(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/bs.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/bs';

94
dist_i18n/bs.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function k(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function j(e, t, n) {
if (e == null)
return t(void 0), s;
const o = k(
() => e.subscribe(
t,
// @ts-expect-error
n
)
);
return o.unsubscribe ? () => o.unsubscribe() : o;
}
const r = [];
function d(e, t = s) {
let n = null;
const o = /* @__PURE__ */ new Set();
function l(a) {
if (g(e, a) && (e = a, n)) {
const u = !r.length;
for (const i of o)
i[1](), r.push(i, e);
if (u) {
for (let i = 0; i < r.length; i += 2)
r[i][0](r[i + 1]);
r.length = 0;
}
}
}
function f(a) {
l(a(
/** @type {T} */
e
));
}
function h(a, u = s) {
const i = [a, u];
return o.add(i), o.size === 1 && (n = t(l, f) || s), a(
/** @type {T} */
e
), () => {
o.delete(i), o.size === 0 && n && (n(), n = null);
};
}
return { set: l, update: f, subscribe: h };
}
function b(e) {
let t;
return j(e, (n) => t = n)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: d({})
};
const p = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
error: "Verifikacija nije uspjela. Pokušajte ponovo kasnije.",
expired: "Verifikacija je istekla. Pokušajte ponovo.",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Dohvatite audio izazov",
label: "Nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Verifikuj",
verificationRequired: "Verifikacija je obavezna!",
verified: "Verifikovano",
verifying: "Verifikacija u toku...",
waitAlert: "Verifikacija u toku... molimo vas da sačekate."
};
globalThis.altchaI18n.set("bs", p);
export {
p as i18n
};

1
dist_i18n/bs.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(r,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r["[name]"]={}))})(this,function(r){"use strict";const a=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function j(e){var t=u;try{return u=!0,e()}finally{u=t}}function k(e,t,n){if(e==null)return t(void 0),a;const o=j(()=>e.subscribe(t,n));return o.unsubscribe?()=>o.unsubscribe():o}const l=[];function p(e,t=a){let n=null;const o=new Set;function f(s){if(g(e,s)&&(e=s,n)){const b=!l.length;for(const i of o)i[1](),l.push(i,e);if(b){for(let i=0;i<l.length;i+=2)l[i][0](l[i+1]);l.length=0}}}function d(s){f(s(e))}function v(s,b=a){const i=[s,b];return o.add(i),o.size===1&&(n=t(f,d)||a),s(e),()=>{o.delete(i),o.size===0&&n&&(n(),n=null)}}return{set:f,update:d,subscribe:v}}function c(e){let t;return k(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:p({})};const h={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",error:"Verifikacija nije uspjela. Pokušajte ponovo kasnije.",expired:"Verifikacija je istekla. Pokušajte ponovo.",footer:'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',getAudioChallenge:"Dohvatite audio izazov",label:"Nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Verifikuj",verificationRequired:"Verifikacija je obavezna!",verified:"Verifikovano",verifying:"Verifikacija u toku...",waitAlert:"Verifikacija u toku... molimo vas da sačekate."};globalThis.altchaI18n.set("bs",h),r.i18n=h,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/ca.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/ca';

94
dist_i18n/ca.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function h(e, r) {
return e != e ? r == r : e !== r || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function d(e) {
var r = u;
try {
return u = !0, e();
} finally {
u = r;
}
}
function p(e, r, t) {
if (e == null)
return r(void 0), s;
const n = d(
() => e.subscribe(
r,
// @ts-expect-error
t
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const o = [];
function T(e, r = s) {
let t = null;
const n = /* @__PURE__ */ new Set();
function l(a) {
if (h(e, a) && (e = a, t)) {
const c = !o.length;
for (const i of n)
i[1](), o.push(i, e);
if (c) {
for (let i = 0; i < o.length; i += 2)
o[i][0](o[i + 1]);
o.length = 0;
}
}
}
function b(a) {
l(a(
/** @type {T} */
e
));
}
function g(a, c = s) {
const i = [a, c];
return n.add(i), n.size === 1 && (t = r(l, b) || s), a(
/** @type {T} */
e
), () => {
n.delete(i), n.size === 0 && t && (t(), t = null);
};
}
return { set: l, update: b, subscribe: g };
}
function f(e) {
let r;
return p(e, (t) => r = t)(), r;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, r) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: r
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: T({})
};
const I = {
ariaLinkLabel: "Visita Altcha.org",
enterCode: "Introdueix el codi",
enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir làudio.",
error: "Verificació fallida. Torna-ho a provar més tard.",
expired: "Verificació expirada. Torna-ho a provar.",
footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un desafiament dàudio",
label: "No sóc un robot",
loading: "Carregant...",
reload: "Torna a carregar",
verify: "Verificar",
verificationRequired: "Es requereix verificació!",
verified: "Verificat",
verifying: "Verificant...",
waitAlert: "Verificant... si us plau, espera."
};
globalThis.altchaI18n.set("ca", I);
export {
I as i18n
};

1
dist_i18n/ca.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(s=typeof globalThis<"u"?globalThis:s||self,o(s["[name]"]={}))})(this,function(s){"use strict";const o=()=>{};function g(e,i){return e!=e?i==i:e!==i||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var i=u;try{return u=!0,e()}finally{u=i}}function T(e,i,r){if(e==null)return i(void 0),o;const n=p(()=>e.subscribe(i,r));return n.unsubscribe?()=>n.unsubscribe():n}const l=[];function y(e,i=o){let r=null;const n=new Set;function f(a){if(g(e,a)&&(e=a,r)){const b=!l.length;for(const t of n)t[1](),l.push(t,e);if(b){for(let t=0;t<l.length;t+=2)l[t][0](l[t+1]);l.length=0}}}function h(a){f(a(e))}function I(a,b=o){const t=[a,b];return n.add(t),n.size===1&&(r=i(f,h)||o),a(e),()=>{n.delete(t),n.size===0&&r&&(r(),r=null)}}return{set:f,update:h,subscribe:I}}function c(e){let i;return T(e,r=>i=r)(),i}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,i)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:i}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const d={ariaLinkLabel:"Visita Altcha.org",enterCode:"Introdueix el codi",enterCodeAria:"Introdueix el codi que escoltes. Prem Espai per reproduir làudio.",error:"Verificació fallida. Torna-ho a provar més tard.",expired:"Verificació expirada. Torna-ho a provar.",footer:'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtenir un desafiament dàudio",label:"No sóc un robot",loading:"Carregant...",reload:"Torna a carregar",verify:"Verificar",verificationRequired:"Es requereix verificació!",verified:"Verificat",verifying:"Verificant...",waitAlert:"Verificant... si us plau, espera."};globalThis.altchaI18n.set("ca",d),s.i18n=d,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/cs.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/cs';

94
dist_i18n/cs.js Normal file
View File

@@ -0,0 +1,94 @@
const l = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function v(e, t, o) {
if (e == null)
return t(void 0), l;
const r = d(
() => e.subscribe(
t,
// @ts-expect-error
o
)
);
return r.unsubscribe ? () => r.unsubscribe() : r;
}
const i = [];
function p(e, t = l) {
let o = null;
const r = /* @__PURE__ */ new Set();
function a(s) {
if (g(e, s) && (e = s, o)) {
const u = !i.length;
for (const n of r)
n[1](), i.push(n, e);
if (u) {
for (let n = 0; n < i.length; n += 2)
i[n][0](i[n + 1]);
i.length = 0;
}
}
}
function h(s) {
a(s(
/** @type {T} */
e
));
}
function f(s, u = l) {
const n = [s, u];
return r.add(n), r.size === 1 && (o = t(a, h) || l), s(
/** @type {T} */
e
), () => {
r.delete(n), r.size === 0 && o && (o(), o = null);
};
}
return { set: a, update: h, subscribe: f };
}
function b(e) {
let t;
return v(e, (o) => t = o)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: p({})
};
const k = {
ariaLinkLabel: "Navštivte Altcha.org",
enterCode: "Zadejte kód",
enterCodeAria: "Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",
error: "Ověření selhalo. Zkuste to prosím později.",
expired: "Ověření vypršelo. Zkuste to prosím znovu.",
verificationRequired: "Vyžaduje se ověření!",
footer: 'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',
getAudioChallenge: "Získat audio výzvu",
label: "Nejsem robot",
loading: "Načítání...",
reload: "Znovu načíst",
verify: "Ověřit",
verified: "Ověřeno",
verifying: "Ověřování...",
waitAlert: "Probíhá ověření... prosím počkejte."
};
globalThis.altchaI18n.set("cs", k);
export {
k as i18n
};

1
dist_i18n/cs.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(l=typeof globalThis<"u"?globalThis:l||self,r(l["[name]"]={}))})(this,function(l){"use strict";const r=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function v(e,t,o){if(e==null)return t(void 0),r;const i=p(()=>e.subscribe(t,o));return i.unsubscribe?()=>i.unsubscribe():i}const u=[];function k(e,t=r){let o=null;const i=new Set;function f(s){if(g(e,s)&&(e=s,o)){const b=!u.length;for(const n of i)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function d(s){f(s(e))}function y(s,b=r){const n=[s,b];return i.add(n),i.size===1&&(o=t(f,d)||r),s(e),()=>{i.delete(n),i.size===0&&o&&(o(),o=null)}}return{set:f,update:d,subscribe:y}}function c(e){let t;return v(e,o=>t=o)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:k({})};const h={ariaLinkLabel:"Navštivte Altcha.org",enterCode:"Zadejte kód",enterCodeAria:"Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",error:"Ověření selhalo. Zkuste to prosím později.",expired:"Ověření vypršelo. Zkuste to prosím znovu.",verificationRequired:"Vyžaduje se ověření!",footer:'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',getAudioChallenge:"Získat audio výzvu",label:"Nejsem robot",loading:"Načítání...",reload:"Znovu načíst",verify:"Ověřit",verified:"Ověřeno",verifying:"Ověřování...",waitAlert:"Probíhá ověření... prosím počkejte."};globalThis.altchaI18n.set("cs",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/da.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/da';

94
dist_i18n/da.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function d(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function h(e) {
var t = u;
try {
return u = !0, e();
} finally {
u = t;
}
}
function k(e, t, n) {
if (e == null)
return t(void 0), o;
const i = h(
() => e.subscribe(
t,
// @ts-expect-error
n
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const l = [];
function p(e, t = o) {
let n = null;
const i = /* @__PURE__ */ new Set();
function a(s) {
if (d(e, s) && (e = s, n)) {
const c = !l.length;
for (const r of i)
r[1](), l.push(r, e);
if (c) {
for (let r = 0; r < l.length; r += 2)
l[r][0](l[r + 1]);
l.length = 0;
}
}
}
function g(s) {
a(s(
/** @type {T} */
e
));
}
function b(s, c = o) {
const r = [s, c];
return i.add(r), i.size === 1 && (n = t(a, g) || o), s(
/** @type {T} */
e
), () => {
i.delete(r), i.size === 0 && n && (n(), n = null);
};
}
return { set: a, update: g, subscribe: b };
}
function f(e) {
let t;
return k(e, (n) => t = n)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: p({})
};
const y = {
ariaLinkLabel: "Besøg Altcha.org",
enterCode: "Indtast kode",
enterCodeAria: "Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",
error: "Verificering mislykkedes. Prøv venligst igen senere.",
expired: "Verificering udløbet. Prøv venligst igen.",
verificationRequired: "Verificering kræves!",
footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',
getAudioChallenge: "Hent lydudfordring",
label: "Jeg er ikke en robot",
loading: "Indlæser...",
reload: "Genindlæs",
verify: "Verificer",
verified: "Verificeret",
verifying: "Verificerer...",
waitAlert: "Verificerer... vent venligst."
};
globalThis.altchaI18n.set("da", y);
export {
y as i18n
};

1
dist_i18n/da.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(o,s){typeof exports=="object"&&typeof module<"u"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(o=typeof globalThis<"u"?globalThis:o||self,s(o["[name]"]={}))})(this,function(o){"use strict";const s=()=>{};function h(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function y(e,t,i){if(e==null)return t(void 0),s;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const a=[];function k(e,t=s){let i=null;const r=new Set;function f(l){if(h(e,l)&&(e=l,i)){const g=!a.length;for(const n of r)n[1](),a.push(n,e);if(g){for(let n=0;n<a.length;n+=2)a[n][0](a[n+1]);a.length=0}}}function b(l){f(l(e))}function T(l,g=s){const n=[l,g];return r.add(n),r.size===1&&(i=t(f,b)||s),l(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:b,subscribe:T}}function c(e){let t;return y(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:k({})};const d={ariaLinkLabel:"Besøg Altcha.org",enterCode:"Indtast kode",enterCodeAria:"Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",error:"Verificering mislykkedes. Prøv venligst igen senere.",expired:"Verificering udløbet. Prøv venligst igen.",verificationRequired:"Verificering kræves!",footer:'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',getAudioChallenge:"Hent lydudfordring",label:"Jeg er ikke en robot",loading:"Indlæser...",reload:"Genindlæs",verify:"Verificer",verified:"Verificeret",verifying:"Verificerer...",waitAlert:"Verificerer... vent venligst."};globalThis.altchaI18n.set("da",d),o.i18n=d,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/de.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/de';

94
dist_i18n/de.js Normal file
View File

@@ -0,0 +1,94 @@
const u = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, n) {
if (e == null)
return t(void 0), u;
const i = d(
() => e.subscribe(
t,
// @ts-expect-error
n
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const l = [];
function T(e, t = u) {
let n = null;
const i = /* @__PURE__ */ new Set();
function o(s) {
if (g(e, s) && (e = s, n)) {
const a = !l.length;
for (const r of i)
r[1](), l.push(r, e);
if (a) {
for (let r = 0; r < l.length; r += 2)
l[r][0](l[r + 1]);
l.length = 0;
}
}
}
function f(s) {
o(s(
/** @type {T} */
e
));
}
function h(s, a = u) {
const r = [s, a];
return i.add(r), i.size === 1 && (n = t(o, f) || u), s(
/** @type {T} */
e
), () => {
i.delete(r), i.size === 0 && n && (n(), n = null);
};
}
return { set: o, update: f, subscribe: h };
}
function b(e) {
let t;
return p(e, (n) => t = n)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: T({})
};
const A = {
ariaLinkLabel: "Besuche Altcha.org",
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.",
verificationRequired: "Überprüfung erforderlich!",
footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio-Herausforderung anfordern",
label: "Ich bin kein Roboter",
loading: "Lade...",
reload: "Neu laden",
verify: "Überprüfen",
verified: "Überprüft",
verifying: "Wird überprüft...",
waitAlert: "Überprüfung läuft... bitte warten."
};
globalThis.altchaI18n.set("de", A);
export {
A as i18n
};

1
dist_i18n/de.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(u,s){typeof exports=="object"&&typeof module<"u"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(u=typeof globalThis<"u"?globalThis:u||self,s(u["[name]"]={}))})(this,function(u){"use strict";const s=()=>{};function g(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var n=a;try{return a=!0,e()}finally{a=n}}function T(e,n,r){if(e==null)return n(void 0),s;const i=p(()=>e.subscribe(n,r));return i.unsubscribe?()=>i.unsubscribe():i}const l=[];function y(e,n=s){let r=null;const i=new Set;function f(o){if(g(e,o)&&(e=o,r)){const b=!l.length;for(const t of i)t[1](),l.push(t,e);if(b){for(let t=0;t<l.length;t+=2)l[t][0](l[t+1]);l.length=0}}}function d(o){f(o(e))}function A(o,b=s){const t=[o,b];return i.add(t),i.size===1&&(r=n(f,d)||s),o(e),()=>{i.delete(t),i.size===0&&r&&(r(),r=null)}}return{set:f,update:d,subscribe:A}}function c(e){let n;return T(e,r=>n=r)(),n}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,n)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:n}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={ariaLinkLabel:"Besuche Altcha.org",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.",verificationRequired:"Überprüfung erforderlich!",footer:'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',getAudioChallenge:"Audio-Herausforderung anfordern",label:"Ich bin kein Roboter",loading:"Lade...",reload:"Neu laden",verify:"Überprüfen",verified:"Überprüft",verifying:"Wird überprüft...",waitAlert:"Überprüfung läuft... bitte warten."};globalThis.altchaI18n.set("de",h),u.i18n=h,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/el.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/el';

94
dist_i18n/el.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, r) {
if (e == null)
return t(void 0), o;
const i = d(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const s = [];
function T(e, t = o) {
let r = null;
const i = /* @__PURE__ */ new Set();
function a(l) {
if (g(e, l) && (e = l, r)) {
const u = !s.length;
for (const n of i)
n[1](), s.push(n, e);
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} */
e
));
}
function h(l, u = o) {
const n = [l, u];
return i.add(n), i.size === 1 && (r = t(a, f) || o), l(
/** @type {T} */
e
), () => {
i.delete(n), i.size === 0 && r && (r(), r = null);
};
}
return { set: a, update: f, subscribe: h };
}
function b(e) {
let t;
return p(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: T({})
};
const A = {
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("el", A);
export {
A as i18n
};

1
dist_i18n/el.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(s=typeof globalThis<"u"?globalThis:s||self,o(s["[name]"]={}))})(this,function(s){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(l){if(d(e,l)&&(e=l,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(l){f(l(e))}function A(l,b=o){const n=[l,b];return r.add(n),r.size===1&&(i=t(f,g)||o),l(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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("el",h),s.i18n=h,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/en.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/en';

94
dist_i18n/en.js Normal file
View File

@@ -0,0 +1,94 @@
const l = () => {
};
function h(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function d(e) {
var t = u;
try {
return u = !0, e();
} finally {
u = t;
}
}
function p(e, t, n) {
if (e == null)
return t(void 0), l;
const r = d(
() => e.subscribe(
t,
// @ts-expect-error
n
)
);
return r.unsubscribe ? () => r.unsubscribe() : r;
}
const o = [];
function y(e, t = l) {
let n = null;
const r = /* @__PURE__ */ new Set();
function s(a) {
if (h(e, a) && (e = a, n)) {
const c = !o.length;
for (const i of r)
i[1](), o.push(i, e);
if (c) {
for (let i = 0; i < o.length; i += 2)
o[i][0](o[i + 1]);
o.length = 0;
}
}
}
function b(a) {
s(a(
/** @type {T} */
e
));
}
function g(a, c = l) {
const i = [a, c];
return r.add(i), r.size === 1 && (n = t(s, b) || l), a(
/** @type {T} */
e
), () => {
r.delete(i), r.size === 0 && n && (n(), n = null);
};
}
return { set: s, update: b, subscribe: g };
}
function f(e) {
let t;
return p(e, (n) => t = n)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: y({})
};
const T = {
ariaLinkLabel: "Visit Altcha.org",
enterCode: "Enter code",
enterCodeAria: "Enter code you hear. Press Space to play audio.",
error: "Verification failed. Try again later.",
expired: "Verification expired. Try again.",
footer: 'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',
getAudioChallenge: "Get an audio challenge",
label: "I'm not a robot",
loading: "Loading...",
reload: "Reload",
verify: "Verify",
verificationRequired: "Verification required!",
verified: "Verified",
verifying: "Verifying...",
waitAlert: "Verifying... please wait."
};
globalThis.altchaI18n.set("en", T);
export {
T as i18n
};

1
dist_i18n/en.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function h(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function y(e,t,n){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const s=[];function T(e,t=o){let n=null;const r=new Set;function f(a){if(h(e,a)&&(e=a,n)){const b=!s.length;for(const i of r)i[1](),s.push(i,e);if(b){for(let i=0;i<s.length;i+=2)s[i][0](s[i+1]);s.length=0}}}function g(a){f(a(e))}function V(a,b=o){const i=[a,b];return r.add(i),r.size===1&&(n=t(f,g)||o),a(e),()=>{r.delete(i),r.size===0&&n&&(n(),n=null)}}return{set:f,update:g,subscribe:V}}function c(e){let t;return y(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:T({})};const d={ariaLinkLabel:"Visit Altcha.org",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};globalThis.altchaI18n.set("en",d),l.i18n=d,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/es-419.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/es-419';

94
dist_i18n/es-419.js Normal file
View File

@@ -0,0 +1,94 @@
const l = () => {
};
function h(e, r) {
return e != e ? r == r : e !== r || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function d(e) {
var r = u;
try {
return u = !0, e();
} finally {
u = r;
}
}
function p(e, r, t) {
if (e == null)
return r(void 0), l;
const n = d(
() => e.subscribe(
r,
// @ts-expect-error
t
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const o = [];
function v(e, r = l) {
let t = null;
const n = /* @__PURE__ */ new Set();
function s(a) {
if (h(e, a) && (e = a, t)) {
const c = !o.length;
for (const i of n)
i[1](), o.push(i, e);
if (c) {
for (let i = 0; i < o.length; i += 2)
o[i][0](o[i + 1]);
o.length = 0;
}
}
}
function b(a) {
s(a(
/** @type {T} */
e
));
}
function g(a, c = l) {
const i = [a, c];
return n.add(i), n.size === 1 && (t = r(s, b) || l), a(
/** @type {T} */
e
), () => {
n.delete(i), n.size === 0 && t && (t(), t = null);
};
}
return { set: s, update: b, subscribe: g };
}
function f(e) {
let r;
return p(e, (t) => r = t)(), r;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, r) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: r
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: v({})
};
const T = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Ingresa el código",
enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.",
expired: "La verificación expiró. Por favor inténtalo de nuevo.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un reto de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Volver a cargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espera."
};
globalThis.altchaI18n.set("es-419", T);
export {
T as i18n
};

1
dist_i18n/es-419.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(s=typeof globalThis<"u"?globalThis:s||self,o(s["[name]"]={}))})(this,function(s){"use strict";const o=()=>{};function h(e,i){return e!=e?i==i:e!==i||e!==null&&typeof e=="object"||typeof e=="function"}let c=!1;function p(e){var i=c;try{return c=!0,e()}finally{c=i}}function T(e,i,r){if(e==null)return i(void 0),o;const n=p(()=>e.subscribe(i,r));return n.unsubscribe?()=>n.unsubscribe():n}const l=[];function v(e,i=o){let r=null;const n=new Set;function f(a){if(h(e,a)&&(e=a,r)){const d=!l.length;for(const t of n)t[1](),l.push(t,e);if(d){for(let t=0;t<l.length;t+=2)l[t][0](l[t+1]);l.length=0}}}function g(a){f(a(e))}function y(a,d=o){const t=[a,d];return n.add(t),n.size===1&&(r=i(f,g)||o),a(e),()=>{n.delete(t),n.size===0&&r&&(r(),r=null)}}return{set:f,update:g,subscribe:y}}function u(e){let i;return T(e,r=>i=r)(),i}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>u(globalThis.altchaI18n.store)[e],set:(e,i)=>{Object.assign(u(globalThis.altchaI18n.store),{[e]:i}),globalThis.altchaI18n.store.set(u(globalThis.altchaI18n.store))},store:v({})};const b={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Ingresa el código",enterCodeAria:"Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",error:"Falló la verificación. Por favor vuelve a intentarlo más tarde.",expired:"La verificación expiró. Por favor inténtalo de nuevo.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtener un reto de audio",label:"No soy un robot",loading:"Cargando...",reload:"Volver a cargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espera."};globalThis.altchaI18n.set("es-419",b),s.i18n=b,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/es-es.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/es-es';

94
dist_i18n/es-es.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function d(e, r) {
return e != e ? r == r : e !== r || e !== null && typeof e == "object" || typeof e == "function";
}
let u = !1;
function h(e) {
var r = u;
try {
return u = !0, e();
} finally {
u = r;
}
}
function p(e, r, i) {
if (e == null)
return r(void 0), s;
const n = h(
() => e.subscribe(
r,
// @ts-expect-error
i
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const o = [];
function T(e, r = s) {
let i = null;
const n = /* @__PURE__ */ new Set();
function l(a) {
if (d(e, a) && (e = a, i)) {
const c = !o.length;
for (const t of n)
t[1](), o.push(t, e);
if (c) {
for (let t = 0; t < o.length; t += 2)
o[t][0](o[t + 1]);
o.length = 0;
}
}
}
function b(a) {
l(a(
/** @type {T} */
e
));
}
function g(a, c = s) {
const t = [a, c];
return n.add(t), n.size === 1 && (i = r(l, b) || s), a(
/** @type {T} */
e
), () => {
n.delete(t), n.size === 0 && i && (i(), i = null);
};
}
return { set: l, update: b, subscribe: g };
}
function f(e) {
let r;
return p(e, (i) => r = i)(), r;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, r) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: r
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: T({})
};
const I = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Introduce el código",
enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor intente nuevamente más tarde.",
expired: "Verificación expirada. Por favor intente nuevamente.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un desafío de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Recargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espere."
};
globalThis.altchaI18n.set("es-es", I);
export {
I as i18n
};

1
dist_i18n/es-es.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(s=typeof globalThis<"u"?globalThis:s||self,o(s["[name]"]={}))})(this,function(s){"use strict";const o=()=>{};function h(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function T(e,t,n){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const l=[];function y(e,t=o){let n=null;const r=new Set;function f(a){if(h(e,a)&&(e=a,n)){const d=!l.length;for(const i of r)i[1](),l.push(i,e);if(d){for(let i=0;i<l.length;i+=2)l[i][0](l[i+1]);l.length=0}}}function g(a){f(a(e))}function v(a,d=o){const i=[a,d];return r.add(i),r.size===1&&(n=t(f,g)||o),a(e),()=>{r.delete(i),r.size===0&&n&&(n(),n=null)}}return{set:f,update:g,subscribe:v}}function c(e){let t;return T(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const b={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Introduce el código",enterCodeAria:"Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",error:"Falló la verificación. Por favor intente nuevamente más tarde.",expired:"Verificación expirada. Por favor intente nuevamente.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtener un desafío de audio",label:"No soy un robot",loading:"Cargando...",reload:"Recargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espere."};globalThis.altchaI18n.set("es-es",b),s.i18n=b,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/et.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/et';

94
dist_i18n/et.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function f(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, n) {
if (t == null)
return e(void 0), s;
const a = d(
() => t.subscribe(
e,
// @ts-expect-error
n
)
);
return a.unsubscribe ? () => a.unsubscribe() : a;
}
const l = [];
function k(t, e = s) {
let n = null;
const a = /* @__PURE__ */ new Set();
function r(o) {
if (f(t, o) && (t = o, n)) {
const u = !l.length;
for (const i of a)
i[1](), l.push(i, t);
if (u) {
for (let i = 0; i < l.length; i += 2)
l[i][0](l[i + 1]);
l.length = 0;
}
}
}
function h(o) {
r(o(
/** @type {T} */
t
));
}
function g(o, u = s) {
const i = [o, u];
return a.add(i), a.size === 1 && (n = e(r, h) || s), o(
/** @type {T} */
t
), () => {
a.delete(i), a.size === 0 && n && (n(), n = null);
};
}
return { set: r, update: h, subscribe: g };
}
function b(t) {
let e;
return p(t, (n) => e = n)(), 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: k({})
};
const K = {
ariaLinkLabel: "Külasta Altcha.org",
enterCode: "Sisesta kood",
enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",
error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",
expired: "Kinnitamine aegus. Proovi uuesti.",
verificationRequired: "Kontroll on vajalik!",
footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',
getAudioChallenge: "Hangi heliülesanne",
label: "Ma ei ole robot",
loading: "Laadimine...",
reload: "Laadi uuesti",
verify: "Kinnita",
verified: "Kinnitatud",
verifying: "Kinnitamine...",
waitAlert: "Kinnitamine... palun oota."
};
globalThis.altchaI18n.set("et", K);
export {
K as i18n
};

1
dist_i18n/et.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(l=typeof globalThis<"u"?globalThis:l||self,a(l["[name]"]={}))})(this,function(l){"use strict";const a=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function T(e,t,i){if(e==null)return t(void 0),a;const o=p(()=>e.subscribe(t,i));return o.unsubscribe?()=>o.unsubscribe():o}const r=[];function k(e,t=a){let i=null;const o=new Set;function f(s){if(g(e,s)&&(e=s,i)){const b=!r.length;for(const n of o)n[1](),r.push(n,e);if(b){for(let n=0;n<r.length;n+=2)r[n][0](r[n+1]);r.length=0}}}function d(s){f(s(e))}function m(s,b=a){const n=[s,b];return o.add(n),o.size===1&&(i=t(f,d)||a),s(e),()=>{o.delete(n),o.size===0&&i&&(i(),i=null)}}return{set:f,update:d,subscribe:m}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:k({})};const h={ariaLinkLabel:"Külasta Altcha.org",enterCode:"Sisesta kood",enterCodeAria:"Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",error:"Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",expired:"Kinnitamine aegus. Proovi uuesti.",verificationRequired:"Kontroll on vajalik!",footer:'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',getAudioChallenge:"Hangi heliülesanne",label:"Ma ei ole robot",loading:"Laadimine...",reload:"Laadi uuesti",verify:"Kinnita",verified:"Kinnitatud",verifying:"Kinnitamine...",waitAlert:"Kinnitamine... palun oota."};globalThis.altchaI18n.set("et",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/eu.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/eu';

94
dist_i18n/eu.js Normal file
View File

@@ -0,0 +1,94 @@
const u = () => {
};
function h(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 z(t, e, i) {
if (t == null)
return e(void 0), u;
const r = d(
() => t.subscribe(
e,
// @ts-expect-error
i
)
);
return r.unsubscribe ? () => r.unsubscribe() : r;
}
const o = [];
function k(t, e = u) {
let i = null;
const r = /* @__PURE__ */ new Set();
function s(n) {
if (h(t, n) && (t = n, i)) {
const l = !o.length;
for (const a of r)
a[1](), o.push(a, t);
if (l) {
for (let a = 0; a < o.length; a += 2)
o[a][0](o[a + 1]);
o.length = 0;
}
}
}
function g(n) {
s(n(
/** @type {T} */
t
));
}
function f(n, l = u) {
const a = [n, l];
return r.add(a), r.size === 1 && (i = e(s, g) || u), n(
/** @type {T} */
t
), () => {
r.delete(a), r.size === 0 && i && (i(), i = null);
};
}
return { set: s, update: g, subscribe: f };
}
function b(t) {
let e;
return z(t, (i) => e = i)(), 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: k({})
};
const p = {
ariaLinkLabel: "Bisitatu Altcha.org",
enterCode: "Sartu kodea",
enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",
error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.",
expired: "Egiaztatzea iraungi da. Saiatu berriro.",
verificationRequired: "Egiaztatzea beharrezkoa da!",
footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',
getAudioChallenge: "Jaso audio-erronka bat",
label: "Ez naiz robot bat",
loading: "Kargatzen...",
reload: "Birkargatu",
verify: "Egiaztatu",
verified: "Egiaztatuta",
verifying: "Egiaztatzen...",
waitAlert: "Egiaztatzen... itxaron mesedez."
};
globalThis.altchaI18n.set("eu", p);
export {
p as i18n
};

1
dist_i18n/eu.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(u,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(u=typeof globalThis<"u"?globalThis:u||self,r(u["[name]"]={}))})(this,function(u){"use strict";const r=()=>{};function h(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let l=!1;function z(e){var t=l;try{return l=!0,e()}finally{l=t}}function p(e,t,i){if(e==null)return t(void 0),r;const n=z(()=>e.subscribe(t,i));return n.unsubscribe?()=>n.unsubscribe():n}const s=[];function k(e,t=r){let i=null;const n=new Set;function b(o){if(h(e,o)&&(e=o,i)){const f=!s.length;for(const a of n)a[1](),s.push(a,e);if(f){for(let a=0;a<s.length;a+=2)s[a][0](s[a+1]);s.length=0}}}function d(o){b(o(e))}function T(o,f=r){const a=[o,f];return n.add(a),n.size===1&&(i=t(b,d)||r),o(e),()=>{n.delete(a),n.size===0&&i&&(i(),i=null)}}return{set:b,update:d,subscribe:T}}function c(e){let t;return p(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:k({})};const g={ariaLinkLabel:"Bisitatu Altcha.org",enterCode:"Sartu kodea",enterCodeAria:"Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",error:"Egiaztatzeak huts egin du. Saiatu berriro geroago.",expired:"Egiaztatzea iraungi da. Saiatu berriro.",verificationRequired:"Egiaztatzea beharrezkoa da!",footer:'<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',getAudioChallenge:"Jaso audio-erronka bat",label:"Ez naiz robot bat",loading:"Kargatzen...",reload:"Birkargatu",verify:"Egiaztatu",verified:"Egiaztatuta",verifying:"Egiaztatzen...",waitAlert:"Egiaztatzen... itxaron mesedez."};globalThis.altchaI18n.set("eu",g),u.i18n=g,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/europe.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/europe';

650
dist_i18n/europe.js Normal file
View File

@@ -0,0 +1,650 @@
const l = () => {
};
function v(e, a) {
return e != e ? a == a : e !== a || e !== null && typeof e == "object" || typeof e == "function";
}
let g = !1;
function k(e) {
var a = g;
try {
return g = !0, e();
} finally {
g = a;
}
}
function b(e, a, r) {
if (e == null)
return a(void 0), l;
const t = k(
() => e.subscribe(
a,
// @ts-expect-error
r
)
);
return t.unsubscribe ? () => t.unsubscribe() : t;
}
const n = [];
function A(e, a = l) {
let r = null;
const t = /* @__PURE__ */ new Set();
function d(o) {
if (v(e, o) && (e = o, r)) {
const s = !n.length;
for (const i of t)
i[1](), n.push(i, e);
if (s) {
for (let i = 0; i < n.length; i += 2)
n[i][0](n[i + 1]);
n.length = 0;
}
}
}
function f(o) {
d(o(
/** @type {T} */
e
));
}
function h(o, s = l) {
const i = [o, s];
return t.add(i), t.size === 1 && (r = a(d, f) || l), o(
/** @type {T} */
e
), () => {
t.delete(i), t.size === 0 && r && (r(), r = null);
};
}
return { set: d, update: f, subscribe: h };
}
function c(e) {
let a;
return b(e, (r) => a = r)(), a;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => c(globalThis.altchaI18n.store)[e],
set: (e, a) => {
Object.assign(c(globalThis.altchaI18n.store), {
[e]: a
}), globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store));
},
store: A({})
};
const p = {
ariaLinkLabel: "Visita Altcha.org",
enterCode: "Introdueix el codi",
enterCodeAria: "Introdueix el codi que escoltes. Prem Espai per reproduir làudio.",
error: "Verificació fallida. Torna-ho a provar més tard.",
expired: "Verificació expirada. Torna-ho a provar.",
footer: 'Protegit per <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un desafiament dàudio",
label: "No sóc un robot",
loading: "Carregant...",
reload: "Torna a carregar",
verify: "Verificar",
verificationRequired: "Es requereix verificació!",
verified: "Verificat",
verifying: "Verificant...",
waitAlert: "Verificant... si us plau, espera."
};
globalThis.altchaI18n.set("ca", p);
const j = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",
error: "Échec de la vérification. Essayez à nouveau plus tard.",
expired: "La vérification a expiré. Essayez à nouveau.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-fr", j);
const C = {
ariaLinkLabel: "Besuche Altcha.org",
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.",
verificationRequired: "Überprüfung erforderlich!",
footer: 'Geschützt durch <a href="https://altcha.org/" target="_blank" aria-label="Besuche Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio-Herausforderung anfordern",
label: "Ich bin kein Roboter",
loading: "Lade...",
reload: "Neu laden",
verify: "Überprüfen",
verified: "Überprüft",
verifying: "Wird überprüft...",
waitAlert: "Überprüfung läuft... bitte warten."
};
globalThis.altchaI18n.set("de", C);
const y = {
ariaLinkLabel: "Bezoek Altcha.org",
enterCode: "Voer code in",
enterCodeAria: "Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",
error: "Verificatie mislukt. Probeer het later opnieuw.",
expired: "Verificatie verlopen. Probeer het opnieuw.",
verificationRequired: "Verificatie vereist!",
footer: 'Beschermd door <a href="https://altcha.org/" target="_blank" aria-label="Bezoek Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio-uitdaging ontvangen",
label: "Ik ben geen robot",
loading: "Laden...",
reload: "Herladen",
verify: "Verifiëren",
verified: "Geverifieerd",
verifying: "Bezig met verifiëren...",
waitAlert: "Bezig met verifiëren... even geduld a.u.b."
};
globalThis.altchaI18n.set("nl", y);
const V = {
ariaLinkLabel: "Tabhair cuairt ar Altcha.org",
enterCode: "Iontráil cód",
enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",
error: "Theip ar an bhfíorú. Bain triail eile as níos déanaí.",
expired: "Tá an fíorú as feidhm. Bain triail eile as.",
verificationRequired: "Fíorú riachtanach!",
footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Faigh dúshlán fuaime",
label: "Níl mé i mo róbat",
loading: "Á luchtú...",
reload: "Athluchtaigh",
verify: "Fíoraigh",
verified: "Fíoraithe",
verifying: "Fíorú ar siúl...",
waitAlert: "Fíorú ar siúl... fan go fóill."
};
globalThis.altchaI18n.set("ga", V);
const m = {
ariaLinkLabel: "Visita Altcha.org",
enterCode: "Inserisci il codice",
enterCodeAria: "Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",
error: "Verifica fallita. Riprova più tardi.",
expired: "Verifica scaduta. Riprova.",
verificationRequired: "Verifica richiesta!",
footer: 'Protetto da <a href="https://altcha.org/" target="_blank" aria-label="Visita Altcha.org">ALTCHA</a>',
getAudioChallenge: "Ottieni una sfida audio",
label: "Non sono un robot",
loading: "Caricamento...",
reload: "Ricarica",
verify: "Verifica",
verified: "Verificato",
verifying: "Verifica in corso...",
waitAlert: "Verifica in corso... attendere."
};
globalThis.altchaI18n.set("it", m);
const L = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Introduza o código",
enterCodeAria: "Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",
error: "A verificação falhou. Por favor, tente novamente mais tarde.",
expired: "Verificação expirada. Por favor, tente novamente.",
verificationRequired: "Verificação necessária!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obter desafio de áudio",
label: "Não sou um robô",
loading: "A carregar...",
reload: "Recarregar",
verify: "Verificar",
verified: "Verificado",
verifying: "A verificar...",
waitAlert: "A verificar... por favor aguarde."
};
globalThis.altchaI18n.set("pt-pt", L);
const z = {
ariaLinkLabel: "Visitar Altcha.org",
enterCode: "Introduce el código",
enterCodeAria: "Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",
error: "Falló la verificación. Por favor intente nuevamente más tarde.",
expired: "Verificación expirada. Por favor intente nuevamente.",
verificationRequired: "¡Verificación requerida!",
footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtener un desafío de audio",
label: "No soy un robot",
loading: "Cargando...",
reload: "Recargar",
verify: "Verificar",
verified: "Verificado",
verifying: "Verificando...",
waitAlert: "Verificando... por favor espere."
};
globalThis.altchaI18n.set("es-es", z);
const T = {
ariaLinkLabel: "Bisitatu Altcha.org",
enterCode: "Sartu kodea",
enterCodeAria: "Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",
error: "Egiaztatzeak huts egin du. Saiatu berriro geroago.",
expired: "Egiaztatzea iraungi da. Saiatu berriro.",
verificationRequired: "Egiaztatzea beharrezkoa da!",
footer: '<a href="https://altcha.org/" target="_blank" aria-label="Bisitatu Altcha.org">ALTCHA</a>k babestuta',
getAudioChallenge: "Jaso audio-erronka bat",
label: "Ez naiz robot bat",
loading: "Kargatzen...",
reload: "Birkargatu",
verify: "Egiaztatu",
verified: "Egiaztatuta",
verifying: "Egiaztatzen...",
waitAlert: "Egiaztatzen... itxaron mesedez."
};
globalThis.altchaI18n.set("eu", T);
const P = {
ariaLinkLabel: "Visit Altcha.org",
enterCode: "Enter code",
enterCodeAria: "Enter code you hear. Press Space to play audio.",
error: "Verification failed. Try again later.",
expired: "Verification expired. Try again.",
footer: 'Protected by <a href="https://altcha.org/" target="_blank" aria-label="Visit Altcha.org">ALTCHA</a>',
getAudioChallenge: "Get an audio challenge",
label: "I'm not a robot",
loading: "Loading...",
reload: "Reload",
verify: "Verify",
verificationRequired: "Verification required!",
verified: "Verified",
verifying: "Verifying...",
waitAlert: "Verifying... please wait."
};
globalThis.altchaI18n.set("en", P);
const I = {
ariaLinkLabel: "Besøg Altcha.org",
enterCode: "Indtast kode",
enterCodeAria: "Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",
error: "Verificering mislykkedes. Prøv venligst igen senere.",
expired: "Verificering udløbet. Prøv venligst igen.",
verificationRequired: "Verificering kræves!",
footer: 'Beskyttet af <a href="https://altcha.org/" target="_blank" aria-label="Besøg Altcha.org">ALTCHA</a>',
getAudioChallenge: "Hent lydudfordring",
label: "Jeg er ikke en robot",
loading: "Indlæser...",
reload: "Genindlæs",
verify: "Verificer",
verified: "Verificeret",
verifying: "Verificerer...",
waitAlert: "Verificerer... vent venligst."
};
globalThis.altchaI18n.set("da", I);
const w = {
ariaLinkLabel: "Besök Altcha.org",
enterCode: "Ange kod",
enterCodeAria: "Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",
error: "Verifiering misslyckades. Försök igen senare.",
expired: "Verifieringen har gått ut. Försök igen.",
verificationRequired: "Verifiering krävs!",
footer: 'Skyddad av <a href="https://altcha.org/" target="_blank" aria-label="Besök Altcha.org">ALTCHA</a>',
getAudioChallenge: "Få ljudutmaning",
label: "Jag är inte en robot",
loading: "Laddar...",
reload: "Ladda om",
verify: "Verifiera",
verified: "Verifierad",
verifying: "Verifierar...",
waitAlert: "Verifierar... vänligen vänta."
};
globalThis.altchaI18n.set("sv", w);
const S = {
ariaLinkLabel: "Vieraile sivulla Altcha.org",
enterCode: "Syötä koodi",
enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",
error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.",
expired: "Varmennus vanhentui. Yritä uudelleen.",
verificationRequired: "Vahvistus vaaditaan!",
footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',
getAudioChallenge: "Hae äänitehtävä",
label: "En ole robotti",
loading: "Ladataan...",
reload: "Lataa uudelleen",
verify: "Vahvista",
verified: "Vahvistettu",
verifying: "Vahvistetaan...",
waitAlert: "Vahvistetaan... odota hetki."
};
globalThis.altchaI18n.set("fi", S);
const q = {
ariaLinkLabel: "Külasta Altcha.org",
enterCode: "Sisesta kood",
enterCodeAria: "Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",
error: "Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",
expired: "Kinnitamine aegus. Proovi uuesti.",
verificationRequired: "Kontroll on vajalik!",
footer: 'Kaitstud <a href="https://altcha.org/" target="_blank" aria-label="Külasta Altcha.org">ALTCHA</a> poolt',
getAudioChallenge: "Hangi heliülesanne",
label: "Ma ei ole robot",
loading: "Laadimine...",
reload: "Laadi uuesti",
verify: "Kinnita",
verified: "Kinnitatud",
verifying: "Kinnitamine...",
waitAlert: "Kinnitamine... palun oota."
};
globalThis.altchaI18n.set("et", q);
const u = {
ariaLinkLabel: "Besøk Altcha.org",
enterCode: "Skriv inn kode",
enterCodeAria: "Skriv inn koden du hører. Trykk på Space for å spille av lyden.",
error: "Verifisering mislyktes. Prøv igjen senere.",
expired: "Verifiseringen utløp. Prøv igjen.",
footer: 'Beskyttet av <a href="https://altcha.org/" target="_blank" aria-label="Besøk Altcha.org">ALTCHA</a>',
getAudioChallenge: "Få en lydutfordring",
label: "Jeg er ikke en robot",
loading: "Laster...",
reload: "Last på nytt",
verify: "Verifiser",
verificationRequired: "Verifisering kreves!",
verified: "Verifisert",
verifying: "Verifiserer...",
waitAlert: "Verifiserer... vennligst vent."
};
globalThis.altchaI18n.set("nb", u);
globalThis.altchaI18n.set("no", u);
const x = {
ariaLinkLabel: "Heimsækja Altcha.org",
enterCode: "Sláðu inn kóða",
enterCodeAria: "Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",
error: "Staðfesting mistókst. Reyndu aftur síðar.",
expired: "Staðfesting er útrunnin. Reyndu aftur.",
footer: 'Verndað af <a href="https://altcha.org/" target="_blank" aria-label="Heimsækja Altcha.org">ALTCHA</a>',
getAudioChallenge: "Fá hljóðáskorun",
label: "Ég er ekki robot",
loading: "Hleður...",
reload: "Hleð aftur",
verify: "Staðfesta",
verificationRequired: "Staðfesting er nauðsynleg!",
verified: "Staðfest",
verifying: "Að staðfesta...",
waitAlert: "Að staðfesta... vinsamlegast bíða."
};
globalThis.altchaI18n.set("is", x);
const R = {
ariaLinkLabel: "Apsilankykite Altcha.org",
enterCode: "Įveskite kodą",
enterCodeAria: "Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",
error: "Patvirtinimas nepavyko. Bandykite vėliau.",
expired: "Patvirtinimo laikas baigėsi. Bandykite dar kartą.",
verificationRequired: "Reikalingas patvirtinimas!",
footer: 'Apsaugota <a href="https://altcha.org/" target="_blank" aria-label="Apsilankykite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Gauti garso užduotį",
label: "Aš nesu robotas",
loading: "Įkeliama...",
reload: "Įkelti iš naujo",
verify: "Patvirtinti",
verified: "Patvirtinta",
verifying: "Tikrinama...",
waitAlert: "Tikrinama... prašome palaukti."
};
globalThis.altchaI18n.set("lt", R);
const H = {
ariaLinkLabel: "Apmeklējiet Altcha.org",
enterCode: "Ievadiet kodu",
enterCodeAria: "Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",
error: "Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",
expired: "Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",
verificationRequired: "Nepieciešama verifikācija!",
footer: 'Aizsargāts ar <a href="https://altcha.org/" target="_blank" aria-label="Apmeklējiet Altcha.org">ALTCHA</a>',
getAudioChallenge: "Saņemt audio izaicinājumu",
label: "Es neesmu robots",
loading: "Notiek ielāde...",
reload: "Pārlādēt",
verify: "Verificēt",
verified: "Verificēts",
verifying: "Notiek verifikācija...",
waitAlert: "Notiek verifikācija... lūdzu, uzgaidiet."
};
globalThis.altchaI18n.set("lv", H);
const _ = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
error: "Verifikacija nije uspjela. Pokušajte ponovo kasnije.",
expired: "Verifikacija je istekla. Pokušajte ponovo.",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Dohvatite audio izazov",
label: "Nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Verifikuj",
verificationRequired: "Verifikacija je obavezna!",
verified: "Verifikovano",
verifying: "Verifikacija u toku...",
waitAlert: "Verifikacija u toku... molimo vas da sačekate."
};
globalThis.altchaI18n.set("bs", _);
const $ = {
ariaLinkLabel: "Navštivte Altcha.org",
enterCode: "Zadejte kód",
enterCodeAria: "Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",
error: "Ověření selhalo. Zkuste to prosím později.",
expired: "Ověření vypršelo. Zkuste to prosím znovu.",
verificationRequired: "Vyžaduje se ověření!",
footer: 'Chráněno pomocí <a href="https://altcha.org/" target="_blank" aria-label="Navštivte Altcha.org">ALTCHA</a>',
getAudioChallenge: "Získat audio výzvu",
label: "Nejsem robot",
loading: "Načítání...",
reload: "Znovu načíst",
verify: "Ověřit",
verified: "Ověřeno",
verifying: "Ověřování...",
waitAlert: "Probíhá ověření... prosím počkejte."
};
globalThis.altchaI18n.set("cs", $);
const E = {
ariaLinkLabel: "Odwiedź Altcha.org",
enterCode: "Wprowadź kod",
enterCodeAria: "Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",
error: "Weryfikacja nie powiodła się. Spróbuj ponownie później.",
expired: "Weryfikacja wygasła. Spróbuj ponownie.",
verificationRequired: "Wymagana weryfikacja!",
footer: 'Chronione przez <a href="https://altcha.org/" target="_blank" aria-label="Odwiedź Altcha.org">ALTCHA</a>',
getAudioChallenge: "Pobierz zadanie dźwiękowe",
label: "Nie jestem robotem",
loading: "Ładowanie...",
reload: "Odśwież",
verify: "Zweryfikuj",
verified: "Zweryfikowano",
verifying: "Weryfikacja...",
waitAlert: "Trwa weryfikacja... proszę czekać."
};
globalThis.altchaI18n.set("pl", E);
const B = {
ariaLinkLabel: "Látogass el az Altcha.org oldalra",
enterCode: "Írja be a kódot",
enterCodeAria: "Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",
error: "A hitelesítés nem sikerült. Próbáld meg később újra.",
expired: "A hitelesítés lejárt. Próbáld újra.",
verificationRequired: "Ellenőrzés szükséges!",
footer: 'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',
getAudioChallenge: "Hangalapú kihívás kérése",
label: "Nem vagyok robot",
loading: "Betöltés...",
reload: "Újratöltés",
verify: "Ellenőrzés",
verified: "Ellenőrizve",
verifying: "Ellenőrzés folyamatban...",
waitAlert: "Ellenőrzés folyamatban... kérlek várj."
};
globalThis.altchaI18n.set("hu", B);
const N = {
ariaLinkLabel: "Navštívte Altcha.org",
enterCode: "Zadajte kód",
enterCodeAria: "Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",
error: "Verifikácia zlyhala. Skúste to znova neskôr.",
expired: "Verifikácia vypršala. Skúste to znova.",
verificationRequired: "Vyžaduje sa overenie!",
footer: 'Chránené <a href="https://altcha.org/" target="_blank" aria-label="Navštívte Altcha.org">ALTCHA</a>',
getAudioChallenge: "Získať audio výzvu",
label: "Nie som robot",
loading: "Načítava sa...",
reload: "Obnoviť",
verify: "Verifikovať",
verified: "Verifikované",
verifying: "Prebieha verifikácia...",
waitAlert: "Prebieha verifikácia... prosím čakajte."
};
globalThis.altchaI18n.set("sk", N);
const O = {
ariaLinkLabel: "Obiščite Altcha.org",
enterCode: "Vnesite kodo",
enterCodeAria: "Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",
error: "Preverjanje ni uspelo. Poskusite znova kasneje.",
expired: "Preverjanje je poteklo. Poskusite znova.",
verificationRequired: "Potrebna je preveritev!",
footer: 'Zaščiteno z <a href="https://altcha.org/" target="_blank" aria-label="Obiščite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Pridobite zvočni izziv",
label: "Nisem robot",
loading: "Nalagam...",
reload: "Ponovno naloži",
verify: "Preveri",
verified: "Preverjeno",
verifying: "Preverjanje...",
waitAlert: "Preverjanje... prosim počakajte."
};
globalThis.altchaI18n.set("sl", O);
const Z = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",
error: "Provjera nije uspjela. Molimo pokušajte kasnije.",
expired: "Provjera je istekla. Molimo pokušajte ponovo.",
verificationRequired: "Potrebna je provjera!",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio provjera",
label: "Ja nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Provjeri",
verified: "Provjereno",
verifying: "Provjeravanje...",
waitAlert: "Provjera je u tijeku... molimo pričekajte."
};
globalThis.altchaI18n.set("hr", Z);
const K = {
ariaLinkLabel: "Vizitează Altcha.org",
enterCode: "Introduceți codul",
enterCodeAria: "Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",
error: "Verificarea a eșuat. Încearcă din nou mai târziu.",
expired: "Verificarea a expirat. Încearcă din nou.",
verificationRequired: "Verificare necesară!",
footer: 'Protejat de <a href="https://altcha.org/" target="_blank" aria-label="Vizitează Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obține o provocare audio",
label: "Nu sunt un robot",
loading: "Se încarcă...",
reload: "Reîncarcă",
verify: "Verifică",
verified: "Verificat",
verifying: "Se verifică...",
waitAlert: "Se verifică... te rugăm să aștepți."
};
globalThis.altchaI18n.set("ro", K);
const F = {
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("bg", F);
const U = {
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("el", U);
const G = {
ariaLinkLabel: "Posetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",
error: "Verifikacija nije uspela. Pokušajte ponovo kasnije.",
expired: "Verifikacija je istekla. Pokušajte ponovo.",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Dohvatite audio izazov",
label: "Nisam robot",
loading: "Učitavanje...",
reload: "Ponovo učitaj",
verify: "Verifikuj",
verificationRequired: "Verifikacija je obavezna!",
verified: "Verifikovano",
verifying: "Verifikacija u toku...",
waitAlert: "Verifikacija u toku... molimo vas da sačekate."
};
globalThis.altchaI18n.set("sr", G);
const W = {
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("ru", W);
const M = {
ariaLinkLabel: "Besoek Altcha.org",
enterCode: "Voer kode in",
enterCodeAria: "Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",
error: "Verifikasie het misluk. Probeer later weer.",
expired: "Verifikasie het verval. Probeer weer.",
footer: 'Beskerm deur <a href="https://altcha.org/" target="_blank" aria-label="Besoek Altcha.org">ALTCHA</a>',
getAudioChallenge: "Kry 'n klankuitdaging",
label: "Ek is nie 'n robot nie",
loading: "Laai...",
reload: "Laai weer",
verify: "Verifieer",
verificationRequired: "Verifikasie is vereis!",
verified: "Geverifieer",
verifying: "Verifieer...",
waitAlert: "Verifieer... wag asseblief."
};
globalThis.altchaI18n.set("af", M);
const D = {
ariaLinkLabel: "Żur Altcha.org",
enterCode: "Idħol il-kodiċi",
enterCodeAria: "Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",
error: "Il-verifika falliet. Erġa pprova aktar tard.",
expired: "Il-verifika skadiet. Erġa pprova.",
verificationRequired: "Verifika meħtieġa!",
footer: 'Protett minn <a href="https://altcha.org/" target="_blank" aria-label="Żur Altcha.org">ALTCHA</a>',
getAudioChallenge: "Ikseb sfida bl-awdjo",
label: "Minix robot",
loading: "Qed jitgħabba...",
reload: "Ittella mill-ġdid",
verify: "Ivverifika",
verified: "Ivverifikat",
verifying: "Verifika għaddejja...",
waitAlert: "Verifika għaddejja... stenna ftit."
};
globalThis.altchaI18n.set("mt", D);

1
dist_i18n/europe.umd.cjs Normal file

File diff suppressed because one or more lines are too long

1
dist_i18n/fi.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/fi';

94
dist_i18n/fi.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
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 v(t, e, n) {
if (t == null)
return e(void 0), s;
const a = d(
() => t.subscribe(
e,
// @ts-expect-error
n
)
);
return a.unsubscribe ? () => a.unsubscribe() : a;
}
const r = [];
function p(t, e = s) {
let n = null;
const a = /* @__PURE__ */ new Set();
function o(l) {
if (g(t, l) && (t = l, n)) {
const u = !r.length;
for (const i of a)
i[1](), r.push(i, t);
if (u) {
for (let i = 0; i < r.length; i += 2)
r[i][0](r[i + 1]);
r.length = 0;
}
}
}
function b(l) {
o(l(
/** @type {T} */
t
));
}
function f(l, u = s) {
const i = [l, u];
return a.add(i), a.size === 1 && (n = e(o, b) || s), l(
/** @type {T} */
t
), () => {
a.delete(i), a.size === 0 && n && (n(), n = null);
};
}
return { set: o, update: b, subscribe: f };
}
function h(t) {
let e;
return v(t, (n) => e = n)(), e;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (t) => h(globalThis.altchaI18n.store)[t],
set: (t, e) => {
Object.assign(h(globalThis.altchaI18n.store), {
[t]: e
}), globalThis.altchaI18n.store.set(h(globalThis.altchaI18n.store));
},
store: p({})
};
const k = {
ariaLinkLabel: "Vieraile sivulla Altcha.org",
enterCode: "Syötä koodi",
enterCodeAria: "Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",
error: "Varmennus epäonnistui. Yritä myöhemmin uudelleen.",
expired: "Varmennus vanhentui. Yritä uudelleen.",
verificationRequired: "Vahvistus vaaditaan!",
footer: 'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',
getAudioChallenge: "Hae äänitehtävä",
label: "En ole robotti",
loading: "Ladataan...",
reload: "Lataa uudelleen",
verify: "Vahvista",
verified: "Vahvistettu",
verifying: "Vahvistetaan...",
waitAlert: "Vahvistetaan... odota hetki."
};
globalThis.altchaI18n.set("fi", k);
export {
k as i18n
};

1
dist_i18n/fi.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["[name]"]={}))})(this,function(s){"use strict";const l=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function v(e,t,i){if(e==null)return t(void 0),l;const a=p(()=>e.subscribe(t,i));return a.unsubscribe?()=>a.unsubscribe():a}const r=[];function y(e,t=l){let i=null;const a=new Set;function f(o){if(g(e,o)&&(e=o,i)){const h=!r.length;for(const n of a)n[1](),r.push(n,e);if(h){for(let n=0;n<r.length;n+=2)r[n][0](r[n+1]);r.length=0}}}function d(o){f(o(e))}function T(o,h=l){const n=[o,h];return a.add(n),a.size===1&&(i=t(f,d)||l),o(e),()=>{a.delete(n),a.size===0&&i&&(i(),i=null)}}return{set:f,update:d,subscribe:T}}function c(e){let t;return v(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const b={ariaLinkLabel:"Vieraile sivulla Altcha.org",enterCode:"Syötä koodi",enterCodeAria:"Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",error:"Varmennus epäonnistui. Yritä myöhemmin uudelleen.",expired:"Varmennus vanhentui. Yritä uudelleen.",verificationRequired:"Vahvistus vaaditaan!",footer:'Suojattu <a href="https://altcha.org/" target="_blank" aria-label="Vieraile sivulla Altcha.org">ALTCHA</a>:lla',getAudioChallenge:"Hae äänitehtävä",label:"En ole robotti",loading:"Ladataan...",reload:"Lataa uudelleen",verify:"Vahvista",verified:"Vahvistettu",verifying:"Vahvistetaan...",waitAlert:"Vahvistetaan... odota hetki."};globalThis.altchaI18n.set("fi",b),s.i18n=b,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/fr-ca.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/fr-ca';

94
dist_i18n/fr-ca.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, i) {
if (e == null)
return t(void 0), s;
const n = d(
() => e.subscribe(
t,
// @ts-expect-error
i
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const o = [];
function z(e, t = s) {
let i = null;
const n = /* @__PURE__ */ new Set();
function l(a) {
if (g(e, a) && (e = a, i)) {
const u = !o.length;
for (const r of n)
r[1](), o.push(r, e);
if (u) {
for (let r = 0; r < o.length; r += 2)
o[r][0](o[r + 1]);
o.length = 0;
}
}
}
function b(a) {
l(a(
/** @type {T} */
e
));
}
function h(a, u = s) {
const r = [a, u];
return n.add(r), n.size === 1 && (i = t(l, b) || s), a(
/** @type {T} */
e
), () => {
n.delete(r), n.size === 0 && i && (i(), i = null);
};
}
return { set: l, update: b, subscribe: h };
}
function f(e) {
let t;
return p(e, (i) => t = i)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: z({})
};
const T = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",
error: "Échec de la vérification. Réessayez plus tard.",
expired: "La vérification a expiré. Réessayez.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-ca", T);
export {
T as i18n
};

1
dist_i18n/fr-ca.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(a,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(a=typeof globalThis<"u"?globalThis:a||self,o(a["[name]"]={}))})(this,function(a){"use strict";const o=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function y(e,t,n){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const l=[];function T(e,t=o){let n=null;const r=new Set;function f(s){if(g(e,s)&&(e=s,n)){const b=!l.length;for(const i of r)i[1](),l.push(i,e);if(b){for(let i=0;i<l.length;i+=2)l[i][0](l[i+1]);l.length=0}}}function h(s){f(s(e))}function z(s,b=o){const i=[s,b];return r.add(i),r.size===1&&(n=t(f,h)||o),s(e),()=>{r.delete(i),r.size===0&&n&&(n(),n=null)}}return{set:f,update:h,subscribe:z}}function c(e){let t;return y(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:T({})};const d={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",error:"Échec de la vérification. Réessayez plus tard.",expired:"La vérification a expiré. Réessayez.",verificationRequired:"Vérification requise !",footer:'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-ca",d),a.i18n=d,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/fr-fr.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/fr-fr';

94
dist_i18n/fr-fr.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, r) {
if (e == null)
return t(void 0), s;
const n = d(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const a = [];
function z(e, t = s) {
let r = null;
const n = /* @__PURE__ */ new Set();
function l(o) {
if (g(e, o) && (e = o, r)) {
const u = !a.length;
for (const i of n)
i[1](), a.push(i, e);
if (u) {
for (let i = 0; i < a.length; i += 2)
a[i][0](a[i + 1]);
a.length = 0;
}
}
}
function b(o) {
l(o(
/** @type {T} */
e
));
}
function h(o, u = s) {
const i = [o, u];
return n.add(i), n.size === 1 && (r = t(l, b) || s), o(
/** @type {T} */
e
), () => {
n.delete(i), n.size === 0 && r && (r(), r = null);
};
}
return { set: l, update: b, subscribe: h };
}
function f(e) {
let t;
return p(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => f(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(f(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store));
},
store: z({})
};
const T = {
ariaLinkLabel: "Visitez Altcha.org",
enterCode: "Entrez le code",
enterCodeAria: "Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",
error: "Échec de la vérification. Essayez à nouveau plus tard.",
expired: "La vérification a expiré. Essayez à nouveau.",
verificationRequired: "Vérification requise !",
footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',
getAudioChallenge: "Obtenir un défi audio",
label: "Pas un robot",
loading: "Chargement...",
reload: "Recharger",
verify: "Vérifier",
verified: "Vérifié",
verifying: "Vérification en cours...",
waitAlert: "Vérification en cours... veuillez patienter."
};
globalThis.altchaI18n.set("fr-fr", T);
export {
T as i18n
};

1
dist_i18n/fr-fr.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(a,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(a=typeof globalThis<"u"?globalThis:a||self,o(a["[name]"]={}))})(this,function(a){"use strict";const o=()=>{};function g(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let l=!1;function p(e){var t=l;try{return l=!0,e()}finally{l=t}}function y(e,t,n){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function T(e,t=o){let n=null;const r=new Set;function f(s){if(g(e,s)&&(e=s,n)){const b=!u.length;for(const i of r)i[1](),u.push(i,e);if(b){for(let i=0;i<u.length;i+=2)u[i][0](u[i+1]);u.length=0}}}function d(s){f(s(e))}function z(s,b=o){const i=[s,b];return r.add(i),r.size===1&&(n=t(f,d)||o),s(e),()=>{r.delete(i),r.size===0&&n&&(n(),n=null)}}return{set:f,update:d,subscribe:z}}function c(e){let t;return y(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:T({})};const h={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",error:"Échec de la vérification. Essayez à nouveau plus tard.",expired:"La vérification a expiré. Essayez à nouveau.",verificationRequired:"Vérification requise !",footer:'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-fr",h),a.i18n=h,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/ga.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/ga';

94
dist_i18n/ga.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function g(t, a) {
return t != t ? a == a : t !== a || t !== null && typeof t == "object" || typeof t == "function";
}
let u = !1;
function d(t) {
var a = u;
try {
return u = !0, t();
} finally {
u = a;
}
}
function T(t, a, i) {
if (t == null)
return a(void 0), s;
const n = d(
() => t.subscribe(
a,
// @ts-expect-error
i
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const l = [];
function p(t, a = s) {
let i = null;
const n = /* @__PURE__ */ new Set();
function o(r) {
if (g(t, r) && (t = r, i)) {
const c = !l.length;
for (const e of n)
e[1](), l.push(e, t);
if (c) {
for (let e = 0; e < l.length; e += 2)
l[e][0](l[e + 1]);
l.length = 0;
}
}
}
function b(r) {
o(r(
/** @type {T} */
t
));
}
function f(r, c = s) {
const e = [r, c];
return n.add(e), n.size === 1 && (i = a(o, b) || s), r(
/** @type {T} */
t
), () => {
n.delete(e), n.size === 0 && i && (i(), i = null);
};
}
return { set: o, update: b, subscribe: f };
}
function h(t) {
let a;
return T(t, (i) => a = i)(), a;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (t) => h(globalThis.altchaI18n.store)[t],
set: (t, a) => {
Object.assign(h(globalThis.altchaI18n.store), {
[t]: a
}), globalThis.altchaI18n.store.set(h(globalThis.altchaI18n.store));
},
store: p({})
};
const A = {
ariaLinkLabel: "Tabhair cuairt ar Altcha.org",
enterCode: "Iontráil cód",
enterCodeAria: "Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",
error: "Theip ar an bhfíorú. Bain triail eile as níos déanaí.",
expired: "Tá an fíorú as feidhm. Bain triail eile as.",
verificationRequired: "Fíorú riachtanach!",
footer: 'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',
getAudioChallenge: "Faigh dúshlán fuaime",
label: "Níl mé i mo róbat",
loading: "Á luchtú...",
reload: "Athluchtaigh",
verify: "Fíoraigh",
verified: "Fíoraithe",
verifying: "Fíorú ar siúl...",
waitAlert: "Fíorú ar siúl... fan go fóill."
};
globalThis.altchaI18n.set("ga", A);
export {
A as i18n
};

1
dist_i18n/ga.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(l=typeof globalThis<"u"?globalThis:l||self,r(l["[name]"]={}))})(this,function(l){"use strict";const r=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function p(e){var t=u;try{return u=!0,e()}finally{u=t}}function T(e,t,n){if(e==null)return t(void 0),r;const a=p(()=>e.subscribe(t,n));return a.unsubscribe?()=>a.unsubscribe():a}const s=[];function m(e,t=r){let n=null;const a=new Set;function h(o){if(d(e,o)&&(e=o,n)){const f=!s.length;for(const i of a)i[1](),s.push(i,e);if(f){for(let i=0;i<s.length;i+=2)s[i][0](s[i+1]);s.length=0}}}function g(o){h(o(e))}function y(o,f=r){const i=[o,f];return a.add(i),a.size===1&&(n=t(h,g)||r),o(e),()=>{a.delete(i),a.size===0&&n&&(n(),n=null)}}return{set:h,update:g,subscribe:y}}function c(e){let t;return T(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:m({})};const b={ariaLinkLabel:"Tabhair cuairt ar Altcha.org",enterCode:"Iontráil cód",enterCodeAria:"Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",error:"Theip ar an bhfíorú. Bain triail eile as níos déanaí.",expired:"Tá an fíorú as feidhm. Bain triail eile as.",verificationRequired:"Fíorú riachtanach!",footer:'Cosanta ag <a href="https://altcha.org/" target="_blank" aria-label="Tabhair cuairt ar Altcha.org">ALTCHA</a>',getAudioChallenge:"Faigh dúshlán fuaime",label:"Níl mé i mo róbat",loading:"Á luchtú...",reload:"Athluchtaigh",verify:"Fíoraigh",verified:"Fíoraithe",verifying:"Fíorú ar siúl...",waitAlert:"Fíorú ar siúl... fan go fóill."};globalThis.altchaI18n.set("ga",b),l.i18n=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/he.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/he';

94
dist_i18n/he.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function g(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function p(e, t, r) {
if (e == null)
return t(void 0), o;
const i = d(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return i.unsubscribe ? () => i.unsubscribe() : i;
}
const s = [];
function T(e, t = o) {
let r = null;
const i = /* @__PURE__ */ new Set();
function a(l) {
if (g(e, l) && (e = l, r)) {
const u = !s.length;
for (const n of i)
n[1](), s.push(n, e);
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} */
e
));
}
function h(l, u = o) {
const n = [l, u];
return i.add(n), i.size === 1 && (r = t(a, f) || o), l(
/** @type {T} */
e
), () => {
i.delete(n), i.size === 0 && r && (r(), r = null);
};
}
return { set: a, update: f, subscribe: h };
}
function b(e) {
let t;
return p(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), 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("he", A);
export {
A as i18n
};

1
dist_i18n/he.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(s){if(d(e,s)&&(e=s,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(s){f(s(e))}function A(s,b=o){const n=[s,b];return r.add(n),r.size===1&&(i=t(f,g)||o),s(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/hi.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/hi';

94
dist_i18n/hi.js Normal file
View File

@@ -0,0 +1,94 @@
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("hi", A);
export {
A as i18n
};

1
dist_i18n/hi.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l["[name]"]={}))})(this,function(l){"use strict";const o=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let a=!1;function p(e){var t=a;try{return a=!0,e()}finally{a=t}}function T(e,t,i){if(e==null)return t(void 0),o;const r=p(()=>e.subscribe(t,i));return r.unsubscribe?()=>r.unsubscribe():r}const u=[];function y(e,t=o){let i=null;const r=new Set;function f(s){if(d(e,s)&&(e=s,i)){const b=!u.length;for(const n of r)n[1](),u.push(n,e);if(b){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function g(s){f(s(e))}function A(s,b=o){const n=[s,b];return r.add(n),r.size===1&&(i=t(f,g)||o),s(e),()=>{r.delete(n),r.size===0&&i&&(i(),i=null)}}return{set:f,update:g,subscribe:A}}function c(e){let t;return T(e,i=>t=i)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={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",h),l.i18n=h,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/hr.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/hr';

94
dist_i18n/hr.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function j(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function g(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function d(e, t, r) {
if (e == null)
return t(void 0), s;
const n = g(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return n.unsubscribe ? () => n.unsubscribe() : n;
}
const a = [];
function p(e, t = s) {
let r = null;
const n = /* @__PURE__ */ new Set();
function l(i) {
if (j(e, i) && (e = i, r)) {
const u = !a.length;
for (const o of n)
o[1](), a.push(o, e);
if (u) {
for (let o = 0; o < a.length; o += 2)
a[o][0](a[o + 1]);
a.length = 0;
}
}
}
function f(i) {
l(i(
/** @type {T} */
e
));
}
function h(i, u = s) {
const o = [i, u];
return n.add(o), n.size === 1 && (r = t(l, f) || s), i(
/** @type {T} */
e
), () => {
n.delete(o), n.size === 0 && r && (r(), r = null);
};
}
return { set: l, update: f, subscribe: h };
}
function b(e) {
let t;
return d(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: p({})
};
const k = {
ariaLinkLabel: "Posjetite Altcha.org",
enterCode: "Unesite kod",
enterCodeAria: "Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",
error: "Provjera nije uspjela. Molimo pokušajte kasnije.",
expired: "Provjera je istekla. Molimo pokušajte ponovo.",
verificationRequired: "Potrebna je provjera!",
footer: 'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',
getAudioChallenge: "Audio provjera",
label: "Ja nisam robot",
loading: "Učitavanje...",
reload: "Ponovno učitaj",
verify: "Provjeri",
verified: "Provjereno",
verifying: "Provjeravanje...",
waitAlert: "Provjera je u tijeku... molimo pričekajte."
};
globalThis.altchaI18n.set("hr", k);
export {
k as i18n
};

1
dist_i18n/hr.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(s=typeof globalThis<"u"?globalThis:s||self,r(s["[name]"]={}))})(this,function(s){"use strict";const r=()=>{};function j(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function g(e){var t=u;try{return u=!0,e()}finally{u=t}}function p(e,t,o){if(e==null)return t(void 0),r;const i=g(()=>e.subscribe(t,o));return i.unsubscribe?()=>i.unsubscribe():i}const l=[];function k(e,t=r){let o=null;const i=new Set;function f(a){if(j(e,a)&&(e=a,o)){const b=!l.length;for(const n of i)n[1](),l.push(n,e);if(b){for(let n=0;n<l.length;n+=2)l[n][0](l[n+1]);l.length=0}}}function d(a){f(a(e))}function v(a,b=r){const n=[a,b];return i.add(n),i.size===1&&(o=t(f,d)||r),a(e),()=>{i.delete(n),i.size===0&&o&&(o(),o=null)}}return{set:f,update:d,subscribe:v}}function c(e){let t;return p(e,o=>t=o)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:k({})};const h={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",error:"Provjera nije uspjela. Molimo pokušajte kasnije.",expired:"Provjera je istekla. Molimo pokušajte ponovo.",verificationRequired:"Potrebna je provjera!",footer:'Zaštićeno od strane <a href="https://altcha.org/" target="_blank" aria-label="Posjetite Altcha.org">ALTCHA</a>',getAudioChallenge:"Audio provjera",label:"Ja nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Provjeri",verified:"Provjereno",verifying:"Provjeravanje...",waitAlert:"Provjera je u tijeku... molimo pričekajte."};globalThis.altchaI18n.set("hr",h),s.i18n=h,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/hu.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/hu';

94
dist_i18n/hu.js Normal file
View File

@@ -0,0 +1,94 @@
const o = () => {
};
function f(e, t) {
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var t = c;
try {
return c = !0, e();
} finally {
c = t;
}
}
function k(e, t, r) {
if (e == null)
return t(void 0), o;
const a = d(
() => e.subscribe(
t,
// @ts-expect-error
r
)
);
return a.unsubscribe ? () => a.unsubscribe() : a;
}
const s = [];
function z(e, t = o) {
let r = null;
const a = /* @__PURE__ */ new Set();
function i(n) {
if (f(e, n) && (e = n, r)) {
const u = !s.length;
for (const l of a)
l[1](), s.push(l, e);
if (u) {
for (let l = 0; l < s.length; l += 2)
s[l][0](s[l + 1]);
s.length = 0;
}
}
}
function g(n) {
i(n(
/** @type {T} */
e
));
}
function h(n, u = o) {
const l = [n, u];
return a.add(l), a.size === 1 && (r = t(i, g) || o), n(
/** @type {T} */
e
), () => {
a.delete(l), a.size === 0 && r && (r(), r = null);
};
}
return { set: i, update: g, subscribe: h };
}
function b(e) {
let t;
return k(e, (r) => t = r)(), t;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => b(globalThis.altchaI18n.store)[e],
set: (e, t) => {
Object.assign(b(globalThis.altchaI18n.store), {
[e]: t
}), globalThis.altchaI18n.store.set(b(globalThis.altchaI18n.store));
},
store: z({})
};
const j = {
ariaLinkLabel: "Látogass el az Altcha.org oldalra",
enterCode: "Írja be a kódot",
enterCodeAria: "Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",
error: "A hitelesítés nem sikerült. Próbáld meg később újra.",
expired: "A hitelesítés lejárt. Próbáld újra.",
verificationRequired: "Ellenőrzés szükséges!",
footer: 'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',
getAudioChallenge: "Hangalapú kihívás kérése",
label: "Nem vagyok robot",
loading: "Betöltés...",
reload: "Újratöltés",
verify: "Ellenőrzés",
verified: "Ellenőrizve",
verifying: "Ellenőrzés folyamatban...",
waitAlert: "Ellenőrzés folyamatban... kérlek várj."
};
globalThis.altchaI18n.set("hu", j);
export {
j as i18n
};

1
dist_i18n/hu.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(i,s){typeof exports=="object"&&typeof module<"u"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(i=typeof globalThis<"u"?globalThis:i||self,s(i["[name]"]={}))})(this,function(i){"use strict";const s=()=>{};function d(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}let u=!1;function k(e){var t=u;try{return u=!0,e()}finally{u=t}}function p(e,t,n){if(e==null)return t(void 0),s;const r=k(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const o=[];function y(e,t=s){let n=null;const r=new Set;function b(a){if(d(e,a)&&(e=a,n)){const f=!o.length;for(const l of r)l[1](),o.push(l,e);if(f){for(let l=0;l<o.length;l+=2)o[l][0](o[l+1]);o.length=0}}}function g(a){b(a(e))}function z(a,f=s){const l=[a,f];return r.add(l),r.size===1&&(n=t(b,g)||s),a(e),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:b,update:g,subscribe:z}}function c(e){let t;return p(e,n=>t=n)(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>c(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(c(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(c(globalThis.altchaI18n.store))},store:y({})};const h={ariaLinkLabel:"Látogass el az Altcha.org oldalra",enterCode:"Írja be a kódot",enterCodeAria:"Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",error:"A hitelesítés nem sikerült. Próbáld meg később újra.",expired:"A hitelesítés lejárt. Próbáld újra.",verificationRequired:"Ellenőrzés szükséges!",footer:'Védve a következő által: <a href="https://altcha.org/" target="_blank" aria-label="Látogass el az Altcha.org oldalra">ALTCHA</a>',getAudioChallenge:"Hangalapú kihívás kérése",label:"Nem vagyok robot",loading:"Betöltés...",reload:"Újratöltés",verify:"Ellenőrzés",verified:"Ellenőrizve",verifying:"Ellenőrzés folyamatban...",waitAlert:"Ellenőrzés folyamatban... kérlek várj."};globalThis.altchaI18n.set("hu",h),i.i18n=h,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/id.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/id';

94
dist_i18n/id.js Normal file
View File

@@ -0,0 +1,94 @@
const s = () => {
};
function h(e, i) {
return e != e ? i == i : e !== i || e !== null && typeof e == "object" || typeof e == "function";
}
let c = !1;
function d(e) {
var i = c;
try {
return c = !0, e();
} finally {
c = i;
}
}
function k(e, i, n) {
if (e == null)
return i(void 0), s;
const t = d(
() => e.subscribe(
i,
// @ts-expect-error
n
)
);
return t.unsubscribe ? () => t.unsubscribe() : t;
}
const l = [];
function p(e, i = s) {
let n = null;
const t = /* @__PURE__ */ new Set();
function u(r) {
if (h(e, r) && (e = r, n)) {
const o = !l.length;
for (const a of t)
a[1](), l.push(a, e);
if (o) {
for (let a = 0; a < l.length; a += 2)
l[a][0](l[a + 1]);
l.length = 0;
}
}
}
function b(r) {
u(r(
/** @type {T} */
e
));
}
function f(r, o = s) {
const a = [r, o];
return t.add(a), t.size === 1 && (n = i(u, b) || s), r(
/** @type {T} */
e
), () => {
t.delete(a), t.size === 0 && n && (n(), n = null);
};
}
return { set: u, update: b, subscribe: f };
}
function g(e) {
let i;
return k(e, (n) => i = n)(), i;
}
globalThis.altchaPlugins = globalThis.altchaPlugins || [];
globalThis.altchaI18n = globalThis.altchaI18n || {
get: (e) => g(globalThis.altchaI18n.store)[e],
set: (e, i) => {
Object.assign(g(globalThis.altchaI18n.store), {
[e]: i
}), globalThis.altchaI18n.store.set(g(globalThis.altchaI18n.store));
},
store: p({})
};
const T = {
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", T);
export {
T as i18n
};

1
dist_i18n/id.umd.cjs Normal file
View File

@@ -0,0 +1 @@
(function(s,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(s=typeof globalThis<"u"?globalThis:s||self,r(s["[name]"]={}))})(this,function(s){"use strict";const r=()=>{};function h(e,i){return e!=e?i==i:e!==i||e!==null&&typeof e=="object"||typeof e=="function"}let l=!1;function k(e){var i=l;try{return l=!0,e()}finally{l=i}}function p(e,i,t){if(e==null)return i(void 0),r;const a=k(()=>e.subscribe(i,t));return a.unsubscribe?()=>a.unsubscribe():a}const u=[];function T(e,i=r){let t=null;const a=new Set;function c(o){if(h(e,o)&&(e=o,t)){const g=!u.length;for(const n of a)n[1](),u.push(n,e);if(g){for(let n=0;n<u.length;n+=2)u[n][0](u[n+1]);u.length=0}}}function d(o){c(o(e))}function y(o,g=r){const n=[o,g];return a.add(n),a.size===1&&(t=i(c,d)||r),o(e),()=>{a.delete(n),a.size===0&&t&&(t(),t=null)}}return{set:c,update:d,subscribe:y}}function f(e){let i;return p(e,t=>i=t)(),i}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>f(globalThis.altchaI18n.store)[e],set:(e,i)=>{Object.assign(f(globalThis.altchaI18n.store),{[e]:i}),globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store))},store:T({})};const b={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",b),s.i18n=b,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});

1
dist_i18n/is.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
declare module 'altcha/i18n/is';

Some files were not shown because too many files have changed in this diff Show More