@authup/i18n 1.0.0-beta.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/catalogs/de/action.d.ts +4 -0
- package/dist/catalogs/de/action.d.ts.map +1 -0
- package/dist/catalogs/de/app.d.ts +4 -0
- package/dist/catalogs/de/app.d.ts.map +1 -0
- package/dist/catalogs/de/client.d.ts +4 -0
- package/dist/catalogs/de/client.d.ts.map +1 -0
- package/dist/catalogs/de/common.d.ts +4 -0
- package/dist/catalogs/de/common.d.ts.map +1 -0
- package/dist/catalogs/de/entity.d.ts +4 -0
- package/dist/catalogs/de/entity.d.ts.map +1 -0
- package/dist/catalogs/de/error.d.ts +4 -0
- package/dist/catalogs/de/error.d.ts.map +1 -0
- package/dist/catalogs/de/field.d.ts +4 -0
- package/dist/catalogs/de/field.d.ts.map +1 -0
- package/dist/catalogs/de/index.d.ts +9 -0
- package/dist/catalogs/de/index.d.ts.map +1 -0
- package/dist/catalogs/de/vuecs.d.ts +4 -0
- package/dist/catalogs/de/vuecs.d.ts.map +1 -0
- package/dist/catalogs/en/action.d.ts +4 -0
- package/dist/catalogs/en/action.d.ts.map +1 -0
- package/dist/catalogs/en/app.d.ts +4 -0
- package/dist/catalogs/en/app.d.ts.map +1 -0
- package/dist/catalogs/en/client.d.ts +4 -0
- package/dist/catalogs/en/client.d.ts.map +1 -0
- package/dist/catalogs/en/common.d.ts +4 -0
- package/dist/catalogs/en/common.d.ts.map +1 -0
- package/dist/catalogs/en/entity.d.ts +4 -0
- package/dist/catalogs/en/entity.d.ts.map +1 -0
- package/dist/catalogs/en/error.d.ts +4 -0
- package/dist/catalogs/en/error.d.ts.map +1 -0
- package/dist/catalogs/en/field.d.ts +4 -0
- package/dist/catalogs/en/field.d.ts.map +1 -0
- package/dist/catalogs/en/index.d.ts +9 -0
- package/dist/catalogs/en/index.d.ts.map +1 -0
- package/dist/catalogs/en/vuecs.d.ts +4 -0
- package/dist/catalogs/en/vuecs.d.ts.map +1 -0
- package/dist/catalogs/es/action.d.ts +4 -0
- package/dist/catalogs/es/action.d.ts.map +1 -0
- package/dist/catalogs/es/app.d.ts +4 -0
- package/dist/catalogs/es/app.d.ts.map +1 -0
- package/dist/catalogs/es/client.d.ts +4 -0
- package/dist/catalogs/es/client.d.ts.map +1 -0
- package/dist/catalogs/es/common.d.ts +4 -0
- package/dist/catalogs/es/common.d.ts.map +1 -0
- package/dist/catalogs/es/entity.d.ts +4 -0
- package/dist/catalogs/es/entity.d.ts.map +1 -0
- package/dist/catalogs/es/error.d.ts +4 -0
- package/dist/catalogs/es/error.d.ts.map +1 -0
- package/dist/catalogs/es/field.d.ts +4 -0
- package/dist/catalogs/es/field.d.ts.map +1 -0
- package/dist/catalogs/es/index.d.ts +9 -0
- package/dist/catalogs/es/index.d.ts.map +1 -0
- package/dist/catalogs/es/vuecs.d.ts +4 -0
- package/dist/catalogs/es/vuecs.d.ts.map +1 -0
- package/dist/catalogs/fr/action.d.ts +4 -0
- package/dist/catalogs/fr/action.d.ts.map +1 -0
- package/dist/catalogs/fr/app.d.ts +4 -0
- package/dist/catalogs/fr/app.d.ts.map +1 -0
- package/dist/catalogs/fr/client.d.ts +4 -0
- package/dist/catalogs/fr/client.d.ts.map +1 -0
- package/dist/catalogs/fr/common.d.ts +4 -0
- package/dist/catalogs/fr/common.d.ts.map +1 -0
- package/dist/catalogs/fr/entity.d.ts +4 -0
- package/dist/catalogs/fr/entity.d.ts.map +1 -0
- package/dist/catalogs/fr/error.d.ts +4 -0
- package/dist/catalogs/fr/error.d.ts.map +1 -0
- package/dist/catalogs/fr/field.d.ts +4 -0
- package/dist/catalogs/fr/field.d.ts.map +1 -0
- package/dist/catalogs/fr/index.d.ts +9 -0
- package/dist/catalogs/fr/index.d.ts.map +1 -0
- package/dist/catalogs/fr/vuecs.d.ts +4 -0
- package/dist/catalogs/fr/vuecs.d.ts.map +1 -0
- package/dist/catalogs/index.d.ts +20 -0
- package/dist/catalogs/index.d.ts.map +1 -0
- package/dist/constants.d.ts +145 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/error.d.ts +64 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/index.d.mts +381 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +970 -0
- package/dist/index.mjs.map +1 -0
- package/dist/locales.d.ts +37 -0
- package/dist/locales.d.ts.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/constants.ts","../src/catalogs/en/action.ts","../src/catalogs/en/app.ts","../src/catalogs/en/client.ts","../src/catalogs/en/common.ts","../src/catalogs/en/entity.ts","../src/catalogs/en/error.ts","../src/catalogs/en/field.ts","../src/catalogs/en/vuecs.ts","../src/catalogs/de/action.ts","../src/catalogs/de/app.ts","../src/catalogs/de/client.ts","../src/catalogs/de/common.ts","../src/catalogs/de/entity.ts","../src/catalogs/de/error.ts","../src/catalogs/de/field.ts","../src/catalogs/de/vuecs.ts","../src/catalogs/fr/action.ts","../src/catalogs/fr/app.ts","../src/catalogs/fr/client.ts","../src/catalogs/fr/common.ts","../src/catalogs/fr/entity.ts","../src/catalogs/fr/error.ts","../src/catalogs/fr/field.ts","../src/catalogs/fr/vuecs.ts","../src/catalogs/es/action.ts","../src/catalogs/es/app.ts","../src/catalogs/es/client.ts","../src/catalogs/es/common.ts","../src/catalogs/es/entity.ts","../src/catalogs/es/error.ts","../src/catalogs/es/field.ts","../src/catalogs/es/vuecs.ts","../src/catalogs/index.ts","../src/locales.ts"],"sourcesContent":["/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n/**\n * Catalog namespace names. Mirrors ilingo 6's catalog terminology —\n * namespaces are the dotted root paths under each locale.\n *\n * The `validup` namespace (validation-message catalogs for `IssueCode`\n * keys) is registered automatically by `@ilingo/validup-vue`'s install\n * and is **not** part of this enum. The `ERROR` namespace below holds\n * authup's own domain error-code messages (keyed by `@authup/errors`'\n * `ErrorCode`), resolved client-side from a server error's code + data.\n */\nexport enum TranslatorTranslationNamespace {\n ENTITY = 'authupEntity',\n\n FIELD = 'authupField',\n\n ACTION = 'authupAction',\n\n COMMON = 'authupCommon',\n\n CLIENT = 'authupClient',\n\n VUECS = 'vuecs',\n\n ERROR = 'authupError',\n\n APP = 'authupApp',\n}\n\nexport enum TranslatorTranslationVuecsKey {\n NO_MORE = 'noMore',\n}\n\nexport enum TranslatorTranslationClientKey {\n NAME_HINT = 'nameHint',\n DESCRIPTION_HINT = 'descriptionHint',\n REDIRECT_URI_HINT = 'redirectURIHint',\n IS_CONFIDENTIAL = 'isConfidential',\n IS_ACTIVE = 'isActive',\n HASH_SECRET = 'hashSecret',\n\n LOGIN_FAILED = 'loginFailed',\n SCOPE_GRANT_INTRO = 'scopeGrantIntro',\n ONCE_AUTHORIZED_REDIRECT = 'onceAuthorizedRedirect',\n GOVERNED_BY = 'governedBy',\n ACTIVE_SINCE = 'activeSince',\n VIEW_POLICY_DETAILS = 'viewPolicyDetails',\n}\n\n/**\n * App-only chrome: navigation labels, page-title decoration\n * (management/details), the sidebar session countdown, header\n * accessibility labels, and the parameterized success toasts. These live\n * apart from the shared entity/field/action/common namespaces because\n * they are consumed exclusively by `apps/client-web`, never by the\n * reusable `@authup/client-web-kit` components.\n */\nexport enum TranslatorTranslationAppKey {\n HOME = 'home',\n RESOURCES = 'resources',\n GENERAL = 'general',\n OTHER = 'other',\n SETTINGS = 'settings',\n LOGOUT = 'logout',\n ACCOUNT = 'account',\n SECURITY = 'security',\n\n MANAGEMENT = 'management',\n DETAILS = 'details',\n API_DOCS = 'apiDocs',\n MADE_WITH = 'madeWith',\n\n URL_GENERATOR = 'urlGenerator',\n URL_GENERATOR_HINT = 'urlGeneratorHint',\n REDIRECT_URL = 'redirectUrl',\n GENERATED_URL = 'generatedUrl',\n\n TOGGLE_NAVIGATION = 'toggleNavigation',\n SWITCH_TO_LIGHT_MODE = 'switchToLightMode',\n SWITCH_TO_DARK_MODE = 'switchToDarkMode',\n\n SESSION_RENEW = 'sessionRenew',\n MINUTES = 'minutes',\n SECONDS = 'seconds',\n\n ENTITY_CREATED = 'entityCreated',\n ENTITY_UPDATED = 'entityUpdated',\n ENTITY_DELETED = 'entityDeleted',\n ACCOUNT_UPDATED = 'accountUpdated',\n}\n\n/**\n * Entity-type nouns. Each key resolves to an ilingo plural node, so the\n * singular vs. plural form is selected by the `count` passed at the call\n * site (`count: 1` → singular, any other → plural) rather than by a\n * separate `*S` key. Registered under the `authupEntity` namespace.\n */\nexport enum TranslatorTranslationEntityKey {\n CLIENT = 'client',\n IDENTITY_PROVIDER = 'identityProvider',\n PERMISSION = 'permission',\n POLICY = 'policy',\n REALM = 'realm',\n ROBOT = 'robot',\n ROLE = 'role',\n SCOPE = 'scope',\n USER = 'user',\n}\n\n/**\n * Entity attribute / form-field labels. Registered under the\n * `authupField` namespace.\n */\nexport enum TranslatorTranslationFieldKey {\n NAME = 'name',\n DISPLAY_NAME = 'displayName',\n EMAIL = 'email',\n EXTERNAL_ID = 'externalId',\n DESCRIPTION = 'description',\n SECRET = 'secret',\n REDIRECT_URIS = 'redirectUris',\n PASSWORD = 'password',\n DECISION_STRATEGY = 'decisionStrategy',\n HASHED = 'hashed',\n URL = 'url',\n CLIENT_SCOPES = 'clientScopes',\n START = 'start',\n END = 'end',\n INTERVAL = 'interval',\n DAY_OF_WEEK = 'dayOfWeek',\n DAY_OF_MONTH = 'dayOfMonth',\n DAY_OF_YEAR = 'dayOfYear',\n VALUE_IS_REGEX = 'valueIsRegex',\n}\n\n/**\n * Action verbs / button labels. Registered under the `authupAction`\n * namespace.\n */\nexport enum TranslatorTranslationActionKey {\n ADD = 'add',\n CREATE = 'create',\n DELETE = 'delete',\n GENERATE = 'generate',\n UPDATE = 'update',\n AUTHORIZE = 'authorize',\n ABORT = 'abort',\n LOGIN = 'login',\n}\n\n/**\n * Generic UI vocabulary that is neither an entity noun, a field label,\n * nor an action: page-section labels, status terms, and misc. Registered\n * under the `authupCommon` namespace.\n */\nexport enum TranslatorTranslationCommonKey {\n GENERAL = 'general',\n OVERVIEW = 'overview',\n LOADING = 'loading',\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n LOCKED = 'locked',\n NOT_LOCKED = 'notLocked',\n APPLICATION = 'application',\n}\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationActionKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationActionEnglish : NamespaceTranslations<`${TranslatorTranslationActionKey}`> = {\n [TranslatorTranslationActionKey.ADD]: 'Add',\n [TranslatorTranslationActionKey.CREATE]: 'Create',\n [TranslatorTranslationActionKey.DELETE]: 'Delete',\n [TranslatorTranslationActionKey.GENERATE]: 'Generate',\n [TranslatorTranslationActionKey.UPDATE]: 'Update',\n [TranslatorTranslationActionKey.AUTHORIZE]: 'Authorize',\n [TranslatorTranslationActionKey.ABORT]: 'Abort',\n [TranslatorTranslationActionKey.LOGIN]: 'Login',\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationAppKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationAppEnglish : NamespaceTranslations<`${TranslatorTranslationAppKey}`> = {\n [TranslatorTranslationAppKey.HOME]: 'Home',\n [TranslatorTranslationAppKey.RESOURCES]: 'Resources',\n [TranslatorTranslationAppKey.GENERAL]: 'General',\n [TranslatorTranslationAppKey.OTHER]: 'Other',\n [TranslatorTranslationAppKey.SETTINGS]: 'Settings',\n [TranslatorTranslationAppKey.LOGOUT]: 'Logout',\n [TranslatorTranslationAppKey.ACCOUNT]: 'Account',\n [TranslatorTranslationAppKey.SECURITY]: 'Security',\n\n [TranslatorTranslationAppKey.MANAGEMENT]: 'Management',\n [TranslatorTranslationAppKey.DETAILS]: 'Details',\n [TranslatorTranslationAppKey.API_DOCS]: 'API Docs',\n [TranslatorTranslationAppKey.MADE_WITH]: 'Made with',\n\n [TranslatorTranslationAppKey.URL_GENERATOR]: 'URL Generator',\n [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: 'Generate an authorize url by picking the scopes it needs to function.',\n [TranslatorTranslationAppKey.REDIRECT_URL]: 'Redirect URL',\n [TranslatorTranslationAppKey.GENERATED_URL]: 'Generated URL',\n\n [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: 'Toggle navigation',\n [TranslatorTranslationAppKey.SWITCH_TO_LIGHT_MODE]: 'Switch to light mode',\n [TranslatorTranslationAppKey.SWITCH_TO_DARK_MODE]: 'Switch to dark mode',\n\n [TranslatorTranslationAppKey.SESSION_RENEW]: 'The session will be renewed in',\n [TranslatorTranslationAppKey.MINUTES]: 'minute(s)',\n [TranslatorTranslationAppKey.SECONDS]: 'second(s)',\n\n [TranslatorTranslationAppKey.ENTITY_CREATED]: '{{entity}} was successfully created.',\n [TranslatorTranslationAppKey.ENTITY_UPDATED]: '{{entity}} was successfully updated.',\n [TranslatorTranslationAppKey.ENTITY_DELETED]: '{{entity}} \"{{name}}\" was successfully deleted.',\n [TranslatorTranslationAppKey.ACCOUNT_UPDATED]: 'The account was successfully updated.',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationClientKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationClientEnglish : NamespaceTranslations<`${TranslatorTranslationClientKey}`> = {\n [TranslatorTranslationClientKey.NAME_HINT]: 'Something users will recognize and trust',\n [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Displayed to all users of this application',\n [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'URI pattern a browser can redirect to after a successful login',\n [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Is confidential?',\n [TranslatorTranslationClientKey.IS_ACTIVE]: 'Is active?',\n [TranslatorTranslationClientKey.HASH_SECRET]: 'Hash secret?',\n\n [TranslatorTranslationClientKey.LOGIN_FAILED]: 'The login operation failed',\n [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: 'This will allow the {{client}} application to',\n [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: 'Once authorized, you will be redirected to:',\n [TranslatorTranslationClientKey.GOVERNED_BY]: 'This application is governed by the {{client}} application\\'s Privacy Policy and Terms of Service.',\n [TranslatorTranslationClientKey.ACTIVE_SINCE]: 'Active since',\n [TranslatorTranslationClientKey.VIEW_POLICY_DETAILS]: 'View policy details',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationCommonKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationCommonEnglish : NamespaceTranslations<`${TranslatorTranslationCommonKey}`> = {\n [TranslatorTranslationCommonKey.GENERAL]: 'General',\n [TranslatorTranslationCommonKey.OVERVIEW]: 'Overview',\n [TranslatorTranslationCommonKey.LOADING]: 'Loading...',\n [TranslatorTranslationCommonKey.ACTIVE]: 'Active',\n [TranslatorTranslationCommonKey.INACTIVE]: 'Inactive',\n [TranslatorTranslationCommonKey.LOCKED]: 'Locked',\n [TranslatorTranslationCommonKey.NOT_LOCKED]: 'Not locked',\n [TranslatorTranslationCommonKey.APPLICATION]: 'Application',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { definePlural } from 'ilingo';\nimport { TranslatorTranslationEntityKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationEntityEnglish : NamespaceTranslations<`${TranslatorTranslationEntityKey}`> = {\n [TranslatorTranslationEntityKey.CLIENT]: definePlural({ one: 'Client', other: 'Clients' }),\n [TranslatorTranslationEntityKey.IDENTITY_PROVIDER]: definePlural({ one: 'Identity provider', other: 'Identity providers' }),\n [TranslatorTranslationEntityKey.PERMISSION]: definePlural({ one: 'Permission', other: 'Permissions' }),\n [TranslatorTranslationEntityKey.POLICY]: definePlural({ one: 'Policy', other: 'Policies' }),\n [TranslatorTranslationEntityKey.REALM]: definePlural({ one: 'Realm', other: 'Realms' }),\n [TranslatorTranslationEntityKey.ROBOT]: definePlural({ one: 'Robot', other: 'Robots' }),\n [TranslatorTranslationEntityKey.ROLE]: definePlural({ one: 'Role', other: 'Roles' }),\n [TranslatorTranslationEntityKey.SCOPE]: definePlural({ one: 'Scope', other: 'Scopes' }),\n [TranslatorTranslationEntityKey.USER]: definePlural({ one: 'User', other: 'Users' }),\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ErrorCode } from '@authup/errors';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationErrorEnglish : NamespaceTranslations<`${ErrorCode}`> = {\n [ErrorCode.BAD_REQUEST]: 'The request could not be processed.',\n [ErrorCode.INTERNAL_ERROR]: 'An unexpected error occurred. Please try again later.',\n\n [ErrorCode.HTTP_HEADER_AUTH_TYPE_UNSUPPORTED]: 'The authorization header type is not supported.',\n [ErrorCode.HTTP_BEARER_TOKEN_MALFORMED]: 'The bearer token is malformed.',\n\n [ErrorCode.IDENTITY_UNAUTHORIZED]: 'You are not authenticated.',\n\n [ErrorCode.ENTITY_CREDENTIALS_INVALID]: 'The provided credentials are invalid.',\n [ErrorCode.ENTITY_INACTIVE]: 'The entity is inactive.',\n [ErrorCode.ENTITY_NOT_FOUND]: 'The requested entity could not be found.',\n [ErrorCode.ENTITY_CONFLICT]: 'An entity with these details already exists.',\n [ErrorCode.ENTITY_RELATION_INVALID]: 'A referenced relation is invalid.',\n\n [ErrorCode.REGISTRATION_DISABLED]: 'Registration is currently disabled.',\n [ErrorCode.PASSWORD_RECOVERY_DISABLED]: 'Password recovery is currently disabled.',\n [ErrorCode.EMAIL_VERIFICATION_REQUIRED]: 'Your email address must be verified first.',\n [ErrorCode.RESET_TOKEN_EXPIRED]: 'The reset token has expired. Please request a new one.',\n\n [ErrorCode.STORAGE_INSUFFICIENT]: 'There is not enough storage available to complete this action.',\n\n [ErrorCode.JWK_INVALID]: 'The JSON web key is invalid.',\n [ErrorCode.JWK_NOT_FOUND]: 'The JSON web key could not be found.',\n\n [ErrorCode.JWT_INVALID]: 'The token is invalid.',\n [ErrorCode.JWT_INACTIVE]: 'The token is not active yet.',\n [ErrorCode.JWT_EXPIRED]: 'The token has expired. Please sign in again.',\n\n [ErrorCode.OAUTH_REDIRECT_URI_MISMATCH]: 'The redirect URI does not match.',\n [ErrorCode.OAUTH_CLIENT_INVALID]: 'The client is invalid.',\n [ErrorCode.OAUTH_GRANT_INVALID]: 'The authorization grant is invalid.',\n [ErrorCode.OAUTH_GRANT_TYPE_UNSUPPORTED]: 'The grant type is not supported.',\n [ErrorCode.OAUTH_REQUEST_INVALID]: 'The request is invalid.',\n [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: 'The response type is not supported.',\n [ErrorCode.OAUTH_SCOPE_INVALID]: 'The requested scope is invalid.',\n [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: 'The granted scope is insufficient for this action.',\n\n [ErrorCode.PERMISSION_NOT_FOUND]: 'The permission could not be found.',\n [ErrorCode.PERMISSION_DENIED]: 'You do not have permission to perform this action.',\n [ErrorCode.PERMISSION_EVALUATION_FAILED]: 'The permission could not be evaluated.',\n\n [ErrorCode.POLICY_EVALUATOR_NOT_FOUND]: 'No evaluator was found for this policy.',\n [ErrorCode.POLICY_EVALUATOR_NOT_PROCESSABLE]: 'This policy could not be processed.',\n [ErrorCode.POLICY_EVALUATOR_CONTEXT_INVALID]: 'The policy evaluation context is invalid.',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationFieldKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationFieldEnglish : NamespaceTranslations<`${TranslatorTranslationFieldKey}`> = {\n [TranslatorTranslationFieldKey.NAME]: 'Name',\n [TranslatorTranslationFieldKey.DISPLAY_NAME]: 'Display name',\n [TranslatorTranslationFieldKey.EMAIL]: 'Email',\n [TranslatorTranslationFieldKey.EXTERNAL_ID]: 'External ID',\n [TranslatorTranslationFieldKey.DESCRIPTION]: 'Description',\n [TranslatorTranslationFieldKey.SECRET]: 'Secret',\n [TranslatorTranslationFieldKey.REDIRECT_URIS]: 'Redirect URI(s)',\n [TranslatorTranslationFieldKey.PASSWORD]: 'Password',\n [TranslatorTranslationFieldKey.DECISION_STRATEGY]: 'Decision strategy',\n [TranslatorTranslationFieldKey.HASHED]: 'Hashed',\n [TranslatorTranslationFieldKey.URL]: 'URL',\n [TranslatorTranslationFieldKey.CLIENT_SCOPES]: 'Client scopes',\n [TranslatorTranslationFieldKey.START]: 'Start',\n [TranslatorTranslationFieldKey.END]: 'End',\n [TranslatorTranslationFieldKey.INTERVAL]: 'Interval',\n [TranslatorTranslationFieldKey.DAY_OF_WEEK]: 'Day of Week',\n [TranslatorTranslationFieldKey.DAY_OF_MONTH]: 'Day of Month',\n [TranslatorTranslationFieldKey.DAY_OF_YEAR]: 'Day of Year',\n [TranslatorTranslationFieldKey.VALUE_IS_REGEX]: 'Is the value a regex pattern?',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationVuecsKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationVuecsEnglish : NamespaceTranslations<`${TranslatorTranslationVuecsKey}`> = { [TranslatorTranslationVuecsKey.NO_MORE]: 'No more {{name}} available' };\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationActionKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationActionGerman : NamespaceTranslations<`${TranslatorTranslationActionKey}`> = {\n [TranslatorTranslationActionKey.ADD]: 'Hinzufügen',\n [TranslatorTranslationActionKey.CREATE]: 'Erstellen',\n [TranslatorTranslationActionKey.DELETE]: 'Löschen',\n [TranslatorTranslationActionKey.GENERATE]: 'Generieren',\n [TranslatorTranslationActionKey.UPDATE]: 'Aktualisieren',\n [TranslatorTranslationActionKey.AUTHORIZE]: 'Autorisieren',\n [TranslatorTranslationActionKey.ABORT]: 'Abbrechen',\n [TranslatorTranslationActionKey.LOGIN]: 'Anmelden',\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationAppKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationAppGerman : NamespaceTranslations<`${TranslatorTranslationAppKey}`> = {\n [TranslatorTranslationAppKey.HOME]: 'Startseite',\n [TranslatorTranslationAppKey.RESOURCES]: 'Ressourcen',\n [TranslatorTranslationAppKey.GENERAL]: 'Allgemein',\n [TranslatorTranslationAppKey.OTHER]: 'Sonstiges',\n [TranslatorTranslationAppKey.SETTINGS]: 'Einstellungen',\n [TranslatorTranslationAppKey.LOGOUT]: 'Abmelden',\n [TranslatorTranslationAppKey.ACCOUNT]: 'Konto',\n [TranslatorTranslationAppKey.SECURITY]: 'Sicherheit',\n\n [TranslatorTranslationAppKey.MANAGEMENT]: 'Verwaltung',\n [TranslatorTranslationAppKey.DETAILS]: 'Details',\n [TranslatorTranslationAppKey.API_DOCS]: 'API-Dokumentation',\n [TranslatorTranslationAppKey.MADE_WITH]: 'Erstellt mit',\n\n [TranslatorTranslationAppKey.URL_GENERATOR]: 'URL-Generator',\n [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: 'Erzeuge eine Autorisierungs-URL, indem du die benötigten Bereiche auswählst.',\n [TranslatorTranslationAppKey.REDIRECT_URL]: 'Weiterleitungs-URL',\n [TranslatorTranslationAppKey.GENERATED_URL]: 'Generierte URL',\n\n [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: 'Navigation umschalten',\n [TranslatorTranslationAppKey.SWITCH_TO_LIGHT_MODE]: 'Zum hellen Modus wechseln',\n [TranslatorTranslationAppKey.SWITCH_TO_DARK_MODE]: 'Zum dunklen Modus wechseln',\n\n [TranslatorTranslationAppKey.SESSION_RENEW]: 'Die Sitzung wird erneuert in',\n [TranslatorTranslationAppKey.MINUTES]: 'Minute(n)',\n [TranslatorTranslationAppKey.SECONDS]: 'Sekunde(n)',\n\n [TranslatorTranslationAppKey.ENTITY_CREATED]: '{{entity}} wurde erfolgreich erstellt.',\n [TranslatorTranslationAppKey.ENTITY_UPDATED]: '{{entity}} wurde erfolgreich aktualisiert.',\n [TranslatorTranslationAppKey.ENTITY_DELETED]: '{{entity}} \"{{name}}\" wurde erfolgreich gelöscht.',\n [TranslatorTranslationAppKey.ACCOUNT_UPDATED]: 'Das Konto wurde erfolgreich aktualisiert.',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationClientKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationClientGerman : NamespaceTranslations<`${TranslatorTranslationClientKey}`> = {\n [TranslatorTranslationClientKey.NAME_HINT]: 'Etwas, das Benutzer erkennen und dem sie vertrauen',\n [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Wird allen Benutzern dieser Anwendung angezeigt',\n [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'URI-Muster, zu dem ein Browser nach einem erfolgreichen Login weiterleiten kann',\n [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Ist vertraulich?',\n [TranslatorTranslationClientKey.IS_ACTIVE]: 'Ist aktiv?',\n [TranslatorTranslationClientKey.HASH_SECRET]: 'Geheimnis hashen?',\n\n [TranslatorTranslationClientKey.LOGIN_FAILED]: 'Der Anmeldevorgang ist fehlgeschlagen',\n [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: 'Dies erlaubt der Anwendung {{client}},',\n [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: 'Nach der Autorisierung werden Sie weitergeleitet zu:',\n [TranslatorTranslationClientKey.GOVERNED_BY]: 'Diese Anwendung unterliegt den Datenschutz- und Nutzungsbedingungen der Anwendung {{client}}.',\n [TranslatorTranslationClientKey.ACTIVE_SINCE]: 'Aktiv seit',\n [TranslatorTranslationClientKey.VIEW_POLICY_DETAILS]: 'Richtliniendetails anzeigen',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationCommonKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationCommonGerman : NamespaceTranslations<`${TranslatorTranslationCommonKey}`> = {\n [TranslatorTranslationCommonKey.GENERAL]: 'Allgemein',\n [TranslatorTranslationCommonKey.OVERVIEW]: 'Überblick',\n [TranslatorTranslationCommonKey.LOADING]: 'Wird geladen...',\n [TranslatorTranslationCommonKey.ACTIVE]: 'Aktiv',\n [TranslatorTranslationCommonKey.INACTIVE]: 'Inaktiv',\n [TranslatorTranslationCommonKey.LOCKED]: 'Gesperrt',\n [TranslatorTranslationCommonKey.NOT_LOCKED]: 'Nicht gesperrt',\n [TranslatorTranslationCommonKey.APPLICATION]: 'Anwendung',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { definePlural } from 'ilingo';\nimport { TranslatorTranslationEntityKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationEntityGerman : NamespaceTranslations<`${TranslatorTranslationEntityKey}`> = {\n [TranslatorTranslationEntityKey.CLIENT]: definePlural({ one: 'Client', other: 'Clients' }),\n [TranslatorTranslationEntityKey.IDENTITY_PROVIDER]: definePlural({ one: 'Identitätsanbieter', other: 'Identitätsanbieter' }),\n [TranslatorTranslationEntityKey.PERMISSION]: definePlural({ one: 'Berechtigung', other: 'Berechtigungen' }),\n [TranslatorTranslationEntityKey.POLICY]: definePlural({ one: 'Richtlinie', other: 'Richtlinien' }),\n [TranslatorTranslationEntityKey.REALM]: definePlural({ one: 'Organisation', other: 'Organisationen' }),\n [TranslatorTranslationEntityKey.ROBOT]: definePlural({ one: 'Roboter', other: 'Roboter' }),\n [TranslatorTranslationEntityKey.ROLE]: definePlural({ one: 'Rolle', other: 'Rollen' }),\n [TranslatorTranslationEntityKey.SCOPE]: definePlural({ one: 'Bereich', other: 'Bereiche' }),\n [TranslatorTranslationEntityKey.USER]: definePlural({ one: 'Benutzer', other: 'Benutzer' }),\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ErrorCode } from '@authup/errors';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationErrorGerman : NamespaceTranslations<`${ErrorCode}`> = {\n [ErrorCode.BAD_REQUEST]: 'Die Anfrage konnte nicht verarbeitet werden.',\n [ErrorCode.INTERNAL_ERROR]: 'Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es später erneut.',\n\n [ErrorCode.HTTP_HEADER_AUTH_TYPE_UNSUPPORTED]: 'Der Typ des Autorisierungs-Headers wird nicht unterstützt.',\n [ErrorCode.HTTP_BEARER_TOKEN_MALFORMED]: 'Das Bearer-Token ist fehlerhaft.',\n\n [ErrorCode.IDENTITY_UNAUTHORIZED]: 'Du bist nicht authentifiziert.',\n\n [ErrorCode.ENTITY_CREDENTIALS_INVALID]: 'Die angegebenen Anmeldedaten sind ungültig.',\n [ErrorCode.ENTITY_INACTIVE]: 'Der Eintrag ist inaktiv.',\n [ErrorCode.ENTITY_NOT_FOUND]: 'Der angeforderte Eintrag konnte nicht gefunden werden.',\n [ErrorCode.ENTITY_CONFLICT]: 'Ein Eintrag mit diesen Angaben existiert bereits.',\n [ErrorCode.ENTITY_RELATION_INVALID]: 'Eine referenzierte Beziehung ist ungültig.',\n\n [ErrorCode.REGISTRATION_DISABLED]: 'Die Registrierung ist derzeit deaktiviert.',\n [ErrorCode.PASSWORD_RECOVERY_DISABLED]: 'Die Passwort-Wiederherstellung ist derzeit deaktiviert.',\n [ErrorCode.EMAIL_VERIFICATION_REQUIRED]: 'Deine E-Mail-Adresse muss zuerst bestätigt werden.',\n [ErrorCode.RESET_TOKEN_EXPIRED]: 'Das Reset-Token ist abgelaufen. Bitte fordere ein neues an.',\n\n [ErrorCode.STORAGE_INSUFFICIENT]: 'Es ist nicht genügend Speicherplatz verfügbar, um diese Aktion auszuführen.',\n\n [ErrorCode.JWK_INVALID]: 'Der JSON Web Key ist ungültig.',\n [ErrorCode.JWK_NOT_FOUND]: 'Der JSON Web Key konnte nicht gefunden werden.',\n\n [ErrorCode.JWT_INVALID]: 'Das Token ist ungültig.',\n [ErrorCode.JWT_INACTIVE]: 'Das Token ist noch nicht aktiv.',\n [ErrorCode.JWT_EXPIRED]: 'Das Token ist abgelaufen. Bitte melde dich erneut an.',\n\n [ErrorCode.OAUTH_REDIRECT_URI_MISMATCH]: 'Die Weiterleitungs-URI stimmt nicht überein.',\n [ErrorCode.OAUTH_CLIENT_INVALID]: 'Der Client ist ungültig.',\n [ErrorCode.OAUTH_GRANT_INVALID]: 'Die Autorisierungsfreigabe ist ungültig.',\n [ErrorCode.OAUTH_GRANT_TYPE_UNSUPPORTED]: 'Der Grant-Typ wird nicht unterstützt.',\n [ErrorCode.OAUTH_REQUEST_INVALID]: 'Die Anfrage ist ungültig.',\n [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: 'Der Response-Typ wird nicht unterstützt.',\n [ErrorCode.OAUTH_SCOPE_INVALID]: 'Der angeforderte Bereich ist ungültig.',\n [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: 'Der gewährte Bereich reicht für diese Aktion nicht aus.',\n\n [ErrorCode.PERMISSION_NOT_FOUND]: 'Die Berechtigung konnte nicht gefunden werden.',\n [ErrorCode.PERMISSION_DENIED]: 'Du hast keine Berechtigung, diese Aktion auszuführen.',\n [ErrorCode.PERMISSION_EVALUATION_FAILED]: 'Die Berechtigung konnte nicht ausgewertet werden.',\n\n [ErrorCode.POLICY_EVALUATOR_NOT_FOUND]: 'Für diese Richtlinie wurde kein Evaluator gefunden.',\n [ErrorCode.POLICY_EVALUATOR_NOT_PROCESSABLE]: 'Diese Richtlinie konnte nicht verarbeitet werden.',\n [ErrorCode.POLICY_EVALUATOR_CONTEXT_INVALID]: 'Der Kontext der Richtlinienauswertung ist ungültig.',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationFieldKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationFieldGerman : NamespaceTranslations<`${TranslatorTranslationFieldKey}`> = {\n [TranslatorTranslationFieldKey.NAME]: 'Name',\n [TranslatorTranslationFieldKey.DISPLAY_NAME]: 'Anzeigename',\n [TranslatorTranslationFieldKey.EMAIL]: 'E-Mail',\n [TranslatorTranslationFieldKey.EXTERNAL_ID]: 'Externe ID',\n [TranslatorTranslationFieldKey.DESCRIPTION]: 'Beschreibung',\n [TranslatorTranslationFieldKey.SECRET]: 'Geheimnis',\n [TranslatorTranslationFieldKey.REDIRECT_URIS]: 'Weiterleitungs-URIs',\n [TranslatorTranslationFieldKey.PASSWORD]: 'Passwort',\n [TranslatorTranslationFieldKey.DECISION_STRATEGY]: 'Entscheidungsstrategie',\n [TranslatorTranslationFieldKey.HASHED]: 'Gehasht',\n [TranslatorTranslationFieldKey.URL]: 'URL',\n [TranslatorTranslationFieldKey.CLIENT_SCOPES]: 'Client-Bereiche',\n [TranslatorTranslationFieldKey.START]: 'Start',\n [TranslatorTranslationFieldKey.END]: 'Ende',\n [TranslatorTranslationFieldKey.INTERVAL]: 'Intervall',\n [TranslatorTranslationFieldKey.DAY_OF_WEEK]: 'Wochentag',\n [TranslatorTranslationFieldKey.DAY_OF_MONTH]: 'Tag des Monats',\n [TranslatorTranslationFieldKey.DAY_OF_YEAR]: 'Tag des Jahres',\n [TranslatorTranslationFieldKey.VALUE_IS_REGEX]: 'Ist der Wert ein Regex-Muster?',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationVuecsKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationVuecsGerman : NamespaceTranslations<`${TranslatorTranslationVuecsKey}`> = { [TranslatorTranslationVuecsKey.NO_MORE]: 'Keine weiteren {{name}} verfügbar' };\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationActionKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationActionFrench : NamespaceTranslations<`${TranslatorTranslationActionKey}`> = {\n [TranslatorTranslationActionKey.ADD]: 'Ajouter',\n [TranslatorTranslationActionKey.CREATE]: 'Créer',\n [TranslatorTranslationActionKey.DELETE]: 'Supprimer',\n [TranslatorTranslationActionKey.GENERATE]: 'Générer',\n [TranslatorTranslationActionKey.UPDATE]: 'Mettre à jour',\n [TranslatorTranslationActionKey.AUTHORIZE]: 'Autoriser',\n [TranslatorTranslationActionKey.ABORT]: 'Annuler',\n [TranslatorTranslationActionKey.LOGIN]: 'Connexion',\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationAppKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationAppFrench : NamespaceTranslations<`${TranslatorTranslationAppKey}`> = {\n [TranslatorTranslationAppKey.HOME]: 'Accueil',\n [TranslatorTranslationAppKey.RESOURCES]: 'Ressources',\n [TranslatorTranslationAppKey.GENERAL]: 'Général',\n [TranslatorTranslationAppKey.OTHER]: 'Autre',\n [TranslatorTranslationAppKey.SETTINGS]: 'Paramètres',\n [TranslatorTranslationAppKey.LOGOUT]: 'Déconnexion',\n [TranslatorTranslationAppKey.ACCOUNT]: 'Compte',\n [TranslatorTranslationAppKey.SECURITY]: 'Sécurité',\n\n [TranslatorTranslationAppKey.MANAGEMENT]: 'Gestion',\n [TranslatorTranslationAppKey.DETAILS]: 'Détails',\n [TranslatorTranslationAppKey.API_DOCS]: 'Documentation API',\n [TranslatorTranslationAppKey.MADE_WITH]: 'Fait avec',\n\n [TranslatorTranslationAppKey.URL_GENERATOR]: 'Générateur d\\'URL',\n [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: 'Générez une URL d\\'autorisation en choisissant les portées dont elle a besoin pour fonctionner.',\n [TranslatorTranslationAppKey.REDIRECT_URL]: 'URL de redirection',\n [TranslatorTranslationAppKey.GENERATED_URL]: 'URL générée',\n\n [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: 'Basculer la navigation',\n [TranslatorTranslationAppKey.SWITCH_TO_LIGHT_MODE]: 'Passer en mode clair',\n [TranslatorTranslationAppKey.SWITCH_TO_DARK_MODE]: 'Passer en mode sombre',\n\n [TranslatorTranslationAppKey.SESSION_RENEW]: 'La session sera renouvelée dans',\n [TranslatorTranslationAppKey.MINUTES]: 'minute(s)',\n [TranslatorTranslationAppKey.SECONDS]: 'seconde(s)',\n\n [TranslatorTranslationAppKey.ENTITY_CREATED]: '{{entity}} a été créé avec succès.',\n [TranslatorTranslationAppKey.ENTITY_UPDATED]: '{{entity}} a été mis à jour avec succès.',\n [TranslatorTranslationAppKey.ENTITY_DELETED]: '{{entity}} « {{name}} » a été supprimé avec succès.',\n [TranslatorTranslationAppKey.ACCOUNT_UPDATED]: 'Le compte a été mis à jour avec succès.',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationClientKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationClientFrench : NamespaceTranslations<`${TranslatorTranslationClientKey}`> = {\n [TranslatorTranslationClientKey.NAME_HINT]: 'Quelque chose que les utilisateurs reconnaîtront et auquel ils feront confiance',\n [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Affiché à tous les utilisateurs de cette application',\n [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'Modèle d\\'URI vers lequel un navigateur peut rediriger après une connexion réussie',\n [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Est confidentiel ?',\n [TranslatorTranslationClientKey.IS_ACTIVE]: 'Est actif ?',\n [TranslatorTranslationClientKey.HASH_SECRET]: 'Hacher le secret ?',\n\n [TranslatorTranslationClientKey.LOGIN_FAILED]: 'L\\'opération de connexion a échoué',\n [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: 'Cela permettra à l\\'application {{client}} de',\n [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: 'Une fois autorisé, vous serez redirigé vers :',\n [TranslatorTranslationClientKey.GOVERNED_BY]: 'Cette application est régie par la politique de confidentialité et les conditions d\\'utilisation de l\\'application {{client}}.',\n [TranslatorTranslationClientKey.ACTIVE_SINCE]: 'Actif depuis',\n [TranslatorTranslationClientKey.VIEW_POLICY_DETAILS]: 'Voir les détails de la politique',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationCommonKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationCommonFrench : NamespaceTranslations<`${TranslatorTranslationCommonKey}`> = {\n [TranslatorTranslationCommonKey.GENERAL]: 'Général',\n [TranslatorTranslationCommonKey.OVERVIEW]: 'Aperçu',\n [TranslatorTranslationCommonKey.LOADING]: 'Chargement...',\n [TranslatorTranslationCommonKey.ACTIVE]: 'Actif',\n [TranslatorTranslationCommonKey.INACTIVE]: 'Inactif',\n [TranslatorTranslationCommonKey.LOCKED]: 'Verrouillé',\n [TranslatorTranslationCommonKey.NOT_LOCKED]: 'Non verrouillé',\n [TranslatorTranslationCommonKey.APPLICATION]: 'Application',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { definePlural } from 'ilingo';\nimport { TranslatorTranslationEntityKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationEntityFrench : NamespaceTranslations<`${TranslatorTranslationEntityKey}`> = {\n [TranslatorTranslationEntityKey.CLIENT]: definePlural({ one: 'Client', other: 'Clients' }),\n [TranslatorTranslationEntityKey.IDENTITY_PROVIDER]: definePlural({ one: 'Fournisseur d\\'identité', other: 'Fournisseurs d\\'identité' }),\n [TranslatorTranslationEntityKey.PERMISSION]: definePlural({ one: 'Permission', other: 'Permissions' }),\n [TranslatorTranslationEntityKey.POLICY]: definePlural({ one: 'Politique', other: 'Politiques' }),\n [TranslatorTranslationEntityKey.REALM]: definePlural({ one: 'Domaine', other: 'Domaines' }),\n [TranslatorTranslationEntityKey.ROBOT]: definePlural({ one: 'Robot', other: 'Robots' }),\n [TranslatorTranslationEntityKey.ROLE]: definePlural({ one: 'Rôle', other: 'Rôles' }),\n [TranslatorTranslationEntityKey.SCOPE]: definePlural({ one: 'Portée', other: 'Portées' }),\n [TranslatorTranslationEntityKey.USER]: definePlural({ one: 'Utilisateur', other: 'Utilisateurs' }),\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ErrorCode } from '@authup/errors';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationErrorFrench : NamespaceTranslations<`${ErrorCode}`> = {\n [ErrorCode.BAD_REQUEST]: 'La requête n\\'a pas pu être traitée.',\n [ErrorCode.INTERNAL_ERROR]: 'Une erreur inattendue est survenue. Veuillez réessayer plus tard.',\n\n [ErrorCode.HTTP_HEADER_AUTH_TYPE_UNSUPPORTED]: 'Le type d\\'en-tête d\\'autorisation n\\'est pas pris en charge.',\n [ErrorCode.HTTP_BEARER_TOKEN_MALFORMED]: 'Le jeton bearer est mal formé.',\n\n [ErrorCode.IDENTITY_UNAUTHORIZED]: 'Vous n\\'êtes pas authentifié.',\n\n [ErrorCode.ENTITY_CREDENTIALS_INVALID]: 'Les identifiants fournis sont invalides.',\n [ErrorCode.ENTITY_INACTIVE]: 'L\\'entité est inactive.',\n [ErrorCode.ENTITY_NOT_FOUND]: 'L\\'entité demandée est introuvable.',\n [ErrorCode.ENTITY_CONFLICT]: 'Une entité avec ces détails existe déjà.',\n [ErrorCode.ENTITY_RELATION_INVALID]: 'Une relation référencée est invalide.',\n\n [ErrorCode.REGISTRATION_DISABLED]: 'L\\'inscription est actuellement désactivée.',\n [ErrorCode.PASSWORD_RECOVERY_DISABLED]: 'La récupération de mot de passe est actuellement désactivée.',\n [ErrorCode.EMAIL_VERIFICATION_REQUIRED]: 'Votre adresse e-mail doit d\\'abord être vérifiée.',\n [ErrorCode.RESET_TOKEN_EXPIRED]: 'Le jeton de réinitialisation a expiré. Veuillez en demander un nouveau.',\n\n [ErrorCode.STORAGE_INSUFFICIENT]: 'L\\'espace de stockage disponible est insuffisant pour effectuer cette action.',\n\n [ErrorCode.JWK_INVALID]: 'La clé web JSON est invalide.',\n [ErrorCode.JWK_NOT_FOUND]: 'La clé web JSON est introuvable.',\n\n [ErrorCode.JWT_INVALID]: 'Le jeton est invalide.',\n [ErrorCode.JWT_INACTIVE]: 'Le jeton n\\'est pas encore actif.',\n [ErrorCode.JWT_EXPIRED]: 'Le jeton a expiré. Veuillez vous reconnecter.',\n\n [ErrorCode.OAUTH_REDIRECT_URI_MISMATCH]: 'L\\'URI de redirection ne correspond pas.',\n [ErrorCode.OAUTH_CLIENT_INVALID]: 'Le client est invalide.',\n [ErrorCode.OAUTH_GRANT_INVALID]: 'L\\'autorisation d\\'accès est invalide.',\n [ErrorCode.OAUTH_GRANT_TYPE_UNSUPPORTED]: 'Le type d\\'autorisation n\\'est pas pris en charge.',\n [ErrorCode.OAUTH_REQUEST_INVALID]: 'La requête est invalide.',\n [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: 'Le type de réponse n\\'est pas pris en charge.',\n [ErrorCode.OAUTH_SCOPE_INVALID]: 'La portée demandée est invalide.',\n [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: 'La portée accordée est insuffisante pour cette action.',\n\n [ErrorCode.PERMISSION_NOT_FOUND]: 'La permission est introuvable.',\n [ErrorCode.PERMISSION_DENIED]: 'Vous n\\'avez pas la permission d\\'effectuer cette action.',\n [ErrorCode.PERMISSION_EVALUATION_FAILED]: 'La permission n\\'a pas pu être évaluée.',\n\n [ErrorCode.POLICY_EVALUATOR_NOT_FOUND]: 'Aucun évaluateur n\\'a été trouvé pour cette politique.',\n [ErrorCode.POLICY_EVALUATOR_NOT_PROCESSABLE]: 'Cette politique n\\'a pas pu être traitée.',\n [ErrorCode.POLICY_EVALUATOR_CONTEXT_INVALID]: 'Le contexte d\\'évaluation de la politique est invalide.',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationFieldKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationFieldFrench : NamespaceTranslations<`${TranslatorTranslationFieldKey}`> = {\n [TranslatorTranslationFieldKey.NAME]: 'Nom',\n [TranslatorTranslationFieldKey.DISPLAY_NAME]: 'Nom d\\'affichage',\n [TranslatorTranslationFieldKey.EMAIL]: 'E-mail',\n [TranslatorTranslationFieldKey.EXTERNAL_ID]: 'ID externe',\n [TranslatorTranslationFieldKey.DESCRIPTION]: 'Description',\n [TranslatorTranslationFieldKey.SECRET]: 'Secret',\n [TranslatorTranslationFieldKey.REDIRECT_URIS]: 'URI(s) de redirection',\n [TranslatorTranslationFieldKey.PASSWORD]: 'Mot de passe',\n [TranslatorTranslationFieldKey.DECISION_STRATEGY]: 'Stratégie de décision',\n [TranslatorTranslationFieldKey.HASHED]: 'Haché',\n [TranslatorTranslationFieldKey.URL]: 'URL',\n [TranslatorTranslationFieldKey.CLIENT_SCOPES]: 'Portées du client',\n [TranslatorTranslationFieldKey.START]: 'Début',\n [TranslatorTranslationFieldKey.END]: 'Fin',\n [TranslatorTranslationFieldKey.INTERVAL]: 'Intervalle',\n [TranslatorTranslationFieldKey.DAY_OF_WEEK]: 'Jour de la semaine',\n [TranslatorTranslationFieldKey.DAY_OF_MONTH]: 'Jour du mois',\n [TranslatorTranslationFieldKey.DAY_OF_YEAR]: 'Jour de l\\'année',\n [TranslatorTranslationFieldKey.VALUE_IS_REGEX]: 'La valeur est-elle un motif regex ?',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationVuecsKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationVuecsFrench : NamespaceTranslations<`${TranslatorTranslationVuecsKey}`> = { [TranslatorTranslationVuecsKey.NO_MORE]: 'Plus aucun {{name}} disponible' };\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationActionKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationActionSpanish : NamespaceTranslations<`${TranslatorTranslationActionKey}`> = {\n [TranslatorTranslationActionKey.ADD]: 'Añadir',\n [TranslatorTranslationActionKey.CREATE]: 'Crear',\n [TranslatorTranslationActionKey.DELETE]: 'Eliminar',\n [TranslatorTranslationActionKey.GENERATE]: 'Generar',\n [TranslatorTranslationActionKey.UPDATE]: 'Actualizar',\n [TranslatorTranslationActionKey.AUTHORIZE]: 'Autorizar',\n [TranslatorTranslationActionKey.ABORT]: 'Cancelar',\n [TranslatorTranslationActionKey.LOGIN]: 'Iniciar sesión',\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationAppKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationAppSpanish : NamespaceTranslations<`${TranslatorTranslationAppKey}`> = {\n [TranslatorTranslationAppKey.HOME]: 'Inicio',\n [TranslatorTranslationAppKey.RESOURCES]: 'Recursos',\n [TranslatorTranslationAppKey.GENERAL]: 'General',\n [TranslatorTranslationAppKey.OTHER]: 'Otro',\n [TranslatorTranslationAppKey.SETTINGS]: 'Ajustes',\n [TranslatorTranslationAppKey.LOGOUT]: 'Cerrar sesión',\n [TranslatorTranslationAppKey.ACCOUNT]: 'Cuenta',\n [TranslatorTranslationAppKey.SECURITY]: 'Seguridad',\n\n [TranslatorTranslationAppKey.MANAGEMENT]: 'Gestión',\n [TranslatorTranslationAppKey.DETAILS]: 'Detalles',\n [TranslatorTranslationAppKey.API_DOCS]: 'Documentación de la API',\n [TranslatorTranslationAppKey.MADE_WITH]: 'Hecho con',\n\n [TranslatorTranslationAppKey.URL_GENERATOR]: 'Generador de URL',\n [TranslatorTranslationAppKey.URL_GENERATOR_HINT]: 'Genere una URL de autorización eligiendo los ámbitos que necesita para funcionar.',\n [TranslatorTranslationAppKey.REDIRECT_URL]: 'URL de redirección',\n [TranslatorTranslationAppKey.GENERATED_URL]: 'URL generada',\n\n [TranslatorTranslationAppKey.TOGGLE_NAVIGATION]: 'Alternar navegación',\n [TranslatorTranslationAppKey.SWITCH_TO_LIGHT_MODE]: 'Cambiar a modo claro',\n [TranslatorTranslationAppKey.SWITCH_TO_DARK_MODE]: 'Cambiar a modo oscuro',\n\n [TranslatorTranslationAppKey.SESSION_RENEW]: 'La sesión se renovará en',\n [TranslatorTranslationAppKey.MINUTES]: 'minuto(s)',\n [TranslatorTranslationAppKey.SECONDS]: 'segundo(s)',\n\n [TranslatorTranslationAppKey.ENTITY_CREATED]: '{{entity}} se creó correctamente.',\n [TranslatorTranslationAppKey.ENTITY_UPDATED]: '{{entity}} se actualizó correctamente.',\n [TranslatorTranslationAppKey.ENTITY_DELETED]: '{{entity}} «{{name}}» se eliminó correctamente.',\n [TranslatorTranslationAppKey.ACCOUNT_UPDATED]: 'La cuenta se actualizó correctamente.',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationClientKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationClientSpanish : NamespaceTranslations<`${TranslatorTranslationClientKey}`> = {\n [TranslatorTranslationClientKey.NAME_HINT]: 'Algo que los usuarios reconocerán y en lo que confiarán',\n [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Se muestra a todos los usuarios de esta aplicación',\n [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'Patrón de URI al que un navegador puede redirigir tras un inicio de sesión exitoso',\n [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: '¿Es confidencial?',\n [TranslatorTranslationClientKey.IS_ACTIVE]: '¿Está activo?',\n [TranslatorTranslationClientKey.HASH_SECRET]: '¿Aplicar hash al secreto?',\n\n [TranslatorTranslationClientKey.LOGIN_FAILED]: 'La operación de inicio de sesión falló',\n [TranslatorTranslationClientKey.SCOPE_GRANT_INTRO]: 'Esto permitirá que la aplicación {{client}}',\n [TranslatorTranslationClientKey.ONCE_AUTHORIZED_REDIRECT]: 'Una vez autorizado, será redirigido a:',\n [TranslatorTranslationClientKey.GOVERNED_BY]: 'Esta aplicación se rige por la Política de Privacidad y los Términos de Servicio de la aplicación {{client}}.',\n [TranslatorTranslationClientKey.ACTIVE_SINCE]: 'Activo desde',\n [TranslatorTranslationClientKey.VIEW_POLICY_DETAILS]: 'Ver detalles de la política',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationCommonKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationCommonSpanish : NamespaceTranslations<`${TranslatorTranslationCommonKey}`> = {\n [TranslatorTranslationCommonKey.GENERAL]: 'General',\n [TranslatorTranslationCommonKey.OVERVIEW]: 'Resumen',\n [TranslatorTranslationCommonKey.LOADING]: 'Cargando...',\n [TranslatorTranslationCommonKey.ACTIVE]: 'Activo',\n [TranslatorTranslationCommonKey.INACTIVE]: 'Inactivo',\n [TranslatorTranslationCommonKey.LOCKED]: 'Bloqueado',\n [TranslatorTranslationCommonKey.NOT_LOCKED]: 'No bloqueado',\n [TranslatorTranslationCommonKey.APPLICATION]: 'Aplicación',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { definePlural } from 'ilingo';\nimport { TranslatorTranslationEntityKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationEntitySpanish : NamespaceTranslations<`${TranslatorTranslationEntityKey}`> = {\n [TranslatorTranslationEntityKey.CLIENT]: definePlural({ one: 'Cliente', other: 'Clientes' }),\n [TranslatorTranslationEntityKey.IDENTITY_PROVIDER]: definePlural({ one: 'Proveedor de identidad', other: 'Proveedores de identidad' }),\n [TranslatorTranslationEntityKey.PERMISSION]: definePlural({ one: 'Permiso', other: 'Permisos' }),\n [TranslatorTranslationEntityKey.POLICY]: definePlural({ one: 'Política', other: 'Políticas' }),\n [TranslatorTranslationEntityKey.REALM]: definePlural({ one: 'Dominio', other: 'Dominios' }),\n [TranslatorTranslationEntityKey.ROBOT]: definePlural({ one: 'Robot', other: 'Robots' }),\n [TranslatorTranslationEntityKey.ROLE]: definePlural({ one: 'Rol', other: 'Roles' }),\n [TranslatorTranslationEntityKey.SCOPE]: definePlural({ one: 'Ámbito', other: 'Ámbitos' }),\n [TranslatorTranslationEntityKey.USER]: definePlural({ one: 'Usuario', other: 'Usuarios' }),\n};\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { ErrorCode } from '@authup/errors';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationErrorSpanish : NamespaceTranslations<`${ErrorCode}`> = {\n [ErrorCode.BAD_REQUEST]: 'No se pudo procesar la solicitud.',\n [ErrorCode.INTERNAL_ERROR]: 'Se produjo un error inesperado. Inténtelo de nuevo más tarde.',\n\n [ErrorCode.HTTP_HEADER_AUTH_TYPE_UNSUPPORTED]: 'El tipo de encabezado de autorización no es compatible.',\n [ErrorCode.HTTP_BEARER_TOKEN_MALFORMED]: 'El token bearer tiene un formato incorrecto.',\n\n [ErrorCode.IDENTITY_UNAUTHORIZED]: 'No está autenticado.',\n\n [ErrorCode.ENTITY_CREDENTIALS_INVALID]: 'Las credenciales proporcionadas no son válidas.',\n [ErrorCode.ENTITY_INACTIVE]: 'La entidad está inactiva.',\n [ErrorCode.ENTITY_NOT_FOUND]: 'No se pudo encontrar la entidad solicitada.',\n [ErrorCode.ENTITY_CONFLICT]: 'Ya existe una entidad con estos datos.',\n [ErrorCode.ENTITY_RELATION_INVALID]: 'Una relación referenciada no es válida.',\n\n [ErrorCode.REGISTRATION_DISABLED]: 'El registro está deshabilitado actualmente.',\n [ErrorCode.PASSWORD_RECOVERY_DISABLED]: 'La recuperación de contraseña está deshabilitada actualmente.',\n [ErrorCode.EMAIL_VERIFICATION_REQUIRED]: 'Primero debe verificar su dirección de correo electrónico.',\n [ErrorCode.RESET_TOKEN_EXPIRED]: 'El token de restablecimiento ha caducado. Solicite uno nuevo.',\n\n [ErrorCode.STORAGE_INSUFFICIENT]: 'No hay suficiente almacenamiento disponible para completar esta acción.',\n\n [ErrorCode.JWK_INVALID]: 'La clave web JSON no es válida.',\n [ErrorCode.JWK_NOT_FOUND]: 'No se pudo encontrar la clave web JSON.',\n\n [ErrorCode.JWT_INVALID]: 'El token no es válido.',\n [ErrorCode.JWT_INACTIVE]: 'El token aún no está activo.',\n [ErrorCode.JWT_EXPIRED]: 'El token ha caducado. Inicie sesión de nuevo.',\n\n [ErrorCode.OAUTH_REDIRECT_URI_MISMATCH]: 'La URI de redirección no coincide.',\n [ErrorCode.OAUTH_CLIENT_INVALID]: 'El cliente no es válido.',\n [ErrorCode.OAUTH_GRANT_INVALID]: 'La concesión de autorización no es válida.',\n [ErrorCode.OAUTH_GRANT_TYPE_UNSUPPORTED]: 'El tipo de concesión no es compatible.',\n [ErrorCode.OAUTH_REQUEST_INVALID]: 'La solicitud no es válida.',\n [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: 'El tipo de respuesta no es compatible.',\n [ErrorCode.OAUTH_SCOPE_INVALID]: 'El ámbito solicitado no es válido.',\n [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: 'El ámbito concedido es insuficiente para esta acción.',\n\n [ErrorCode.PERMISSION_NOT_FOUND]: 'No se pudo encontrar el permiso.',\n [ErrorCode.PERMISSION_DENIED]: 'No tiene permiso para realizar esta acción.',\n [ErrorCode.PERMISSION_EVALUATION_FAILED]: 'No se pudo evaluar el permiso.',\n\n [ErrorCode.POLICY_EVALUATOR_NOT_FOUND]: 'No se encontró ningún evaluador para esta política.',\n [ErrorCode.POLICY_EVALUATOR_NOT_PROCESSABLE]: 'No se pudo procesar esta política.',\n [ErrorCode.POLICY_EVALUATOR_CONTEXT_INVALID]: 'El contexto de evaluación de la política no es válido.',\n};\n","/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationFieldKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationFieldSpanish : NamespaceTranslations<`${TranslatorTranslationFieldKey}`> = {\n [TranslatorTranslationFieldKey.NAME]: 'Nombre',\n [TranslatorTranslationFieldKey.DISPLAY_NAME]: 'Nombre para mostrar',\n [TranslatorTranslationFieldKey.EMAIL]: 'Correo electrónico',\n [TranslatorTranslationFieldKey.EXTERNAL_ID]: 'ID externo',\n [TranslatorTranslationFieldKey.DESCRIPTION]: 'Descripción',\n [TranslatorTranslationFieldKey.SECRET]: 'Secreto',\n [TranslatorTranslationFieldKey.REDIRECT_URIS]: 'URI(s) de redirección',\n [TranslatorTranslationFieldKey.PASSWORD]: 'Contraseña',\n [TranslatorTranslationFieldKey.DECISION_STRATEGY]: 'Estrategia de decisión',\n [TranslatorTranslationFieldKey.HASHED]: 'Con hash',\n [TranslatorTranslationFieldKey.URL]: 'URL',\n [TranslatorTranslationFieldKey.CLIENT_SCOPES]: 'Ámbitos del cliente',\n [TranslatorTranslationFieldKey.START]: 'Inicio',\n [TranslatorTranslationFieldKey.END]: 'Fin',\n [TranslatorTranslationFieldKey.INTERVAL]: 'Intervalo',\n [TranslatorTranslationFieldKey.DAY_OF_WEEK]: 'Día de la semana',\n [TranslatorTranslationFieldKey.DAY_OF_MONTH]: 'Día del mes',\n [TranslatorTranslationFieldKey.DAY_OF_YEAR]: 'Día del año',\n [TranslatorTranslationFieldKey.VALUE_IS_REGEX]: '¿Es el valor un patrón regex?',\n};\n","/*\n * Copyright (c) 2024-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { TranslatorTranslationVuecsKey } from '../../constants';\nimport type { NamespaceTranslations } from '../../types';\n\nexport const TranslatorTranslationVuecsSpanish : NamespaceTranslations<`${TranslatorTranslationVuecsKey}`> = { [TranslatorTranslationVuecsKey.NO_MORE]: 'No hay más {{name}} disponibles' };\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ErrorCode } from '@authup/errors';\nimport {\n type NamespaceChild,\n defineCatalog,\n defineLocale,\n defineNamespace,\n defineTranslations,\n} from 'ilingo';\nimport type {\n TranslatorTranslationActionKey,\n TranslatorTranslationAppKey,\n TranslatorTranslationClientKey,\n TranslatorTranslationCommonKey,\n TranslatorTranslationEntityKey,\n TranslatorTranslationFieldKey,\n TranslatorTranslationVuecsKey,\n} from '../constants';\nimport {\n TranslatorTranslationNamespace,\n} from '../constants';\nimport type { NamespaceTranslations } from '../types';\nimport {\n TranslatorTranslationActionEnglish,\n TranslatorTranslationAppEnglish,\n TranslatorTranslationClientEnglish,\n TranslatorTranslationCommonEnglish,\n TranslatorTranslationEntityEnglish,\n TranslatorTranslationErrorEnglish,\n TranslatorTranslationFieldEnglish,\n TranslatorTranslationVuecsEnglish,\n} from './en';\nimport {\n TranslatorTranslationActionGerman,\n TranslatorTranslationAppGerman,\n TranslatorTranslationClientGerman,\n TranslatorTranslationCommonGerman,\n TranslatorTranslationEntityGerman,\n TranslatorTranslationErrorGerman,\n TranslatorTranslationFieldGerman,\n TranslatorTranslationVuecsGerman,\n} from './de';\nimport {\n TranslatorTranslationActionFrench,\n TranslatorTranslationAppFrench,\n TranslatorTranslationClientFrench,\n TranslatorTranslationCommonFrench,\n TranslatorTranslationEntityFrench,\n TranslatorTranslationErrorFrench,\n TranslatorTranslationFieldFrench,\n TranslatorTranslationVuecsFrench,\n} from './fr';\nimport {\n TranslatorTranslationActionSpanish,\n TranslatorTranslationAppSpanish,\n TranslatorTranslationClientSpanish,\n TranslatorTranslationCommonSpanish,\n TranslatorTranslationEntitySpanish,\n TranslatorTranslationErrorSpanish,\n TranslatorTranslationFieldSpanish,\n TranslatorTranslationVuecsSpanish,\n} from './es';\n\nexport * from './en';\nexport * from './de';\nexport * from './fr';\nexport * from './es';\n\n/**\n * The complete set of namespaces a single authored locale must provide.\n * Every field is required and typed to its key union, so adding a locale\n * (or a namespace) without authoring all of them is a compile error —\n * the compile-time complement to the runtime locale-parity test.\n */\ntype LocaleNamespaces = {\n entity: NamespaceTranslations<`${TranslatorTranslationEntityKey}`>,\n field: NamespaceTranslations<`${TranslatorTranslationFieldKey}`>,\n action: NamespaceTranslations<`${TranslatorTranslationActionKey}`>,\n common: NamespaceTranslations<`${TranslatorTranslationCommonKey}`>,\n client: NamespaceTranslations<`${TranslatorTranslationClientKey}`>,\n app: NamespaceTranslations<`${TranslatorTranslationAppKey}`>,\n vuecs: NamespaceTranslations<`${TranslatorTranslationVuecsKey}`>,\n error: NamespaceTranslations<`${ErrorCode}`>,\n};\n\n/**\n * Assemble one locale into the ilingo descriptor tree. Centralising the\n * namespace wiring here means the namespace → translations mapping lives\n * in exactly one place; per-locale call sites only supply the data.\n */\nfunction defineAuthupLocale(code: string, namespaces: LocaleNamespaces) {\n const children: NamespaceChild[] = [\n defineNamespace(TranslatorTranslationNamespace.ENTITY, [defineTranslations(namespaces.entity)]),\n defineNamespace(TranslatorTranslationNamespace.FIELD, [defineTranslations(namespaces.field)]),\n defineNamespace(TranslatorTranslationNamespace.ACTION, [defineTranslations(namespaces.action)]),\n defineNamespace(TranslatorTranslationNamespace.COMMON, [defineTranslations(namespaces.common)]),\n defineNamespace(TranslatorTranslationNamespace.CLIENT, [defineTranslations(namespaces.client)]),\n defineNamespace(TranslatorTranslationNamespace.APP, [defineTranslations(namespaces.app)]),\n defineNamespace(TranslatorTranslationNamespace.VUECS, [defineTranslations(namespaces.vuecs)]),\n defineNamespace(TranslatorTranslationNamespace.ERROR, [defineTranslations(namespaces.error)]),\n ];\n\n return defineLocale(code, children);\n}\n\n/**\n * Authored catalogs as an ilingo `CatalogNode` — the canonical ingestion\n * format consumed directly by `MemoryStore({ data })`. Built via ilingo's\n * own `define*` helpers so the descriptor shape (and namespace names) are\n * validated by ilingo's types rather than reconstructed by each consumer.\n *\n * All locales declared in `LOCALES` (`en`, `de`, `fr`, `es`) are authored\n * here. The locale-parity test walks this node tree to enforce that every\n * authored locale provides exactly the canonical key set per namespace.\n *\n * Eager today; a later phase converts the per-locale values to a\n * `LoaderStore` with dynamic `import()` loaders so non-default locales\n * code-split out of the default bundle.\n */\nexport const CATALOGS = defineCatalog([\n defineAuthupLocale('en', {\n entity: TranslatorTranslationEntityEnglish,\n field: TranslatorTranslationFieldEnglish,\n action: TranslatorTranslationActionEnglish,\n common: TranslatorTranslationCommonEnglish,\n client: TranslatorTranslationClientEnglish,\n app: TranslatorTranslationAppEnglish,\n vuecs: TranslatorTranslationVuecsEnglish,\n error: TranslatorTranslationErrorEnglish,\n }),\n defineAuthupLocale('de', {\n entity: TranslatorTranslationEntityGerman,\n field: TranslatorTranslationFieldGerman,\n action: TranslatorTranslationActionGerman,\n common: TranslatorTranslationCommonGerman,\n client: TranslatorTranslationClientGerman,\n app: TranslatorTranslationAppGerman,\n vuecs: TranslatorTranslationVuecsGerman,\n error: TranslatorTranslationErrorGerman,\n }),\n defineAuthupLocale('fr', {\n entity: TranslatorTranslationEntityFrench,\n field: TranslatorTranslationFieldFrench,\n action: TranslatorTranslationActionFrench,\n common: TranslatorTranslationCommonFrench,\n client: TranslatorTranslationClientFrench,\n app: TranslatorTranslationAppFrench,\n vuecs: TranslatorTranslationVuecsFrench,\n error: TranslatorTranslationErrorFrench,\n }),\n defineAuthupLocale('es', {\n entity: TranslatorTranslationEntitySpanish,\n field: TranslatorTranslationFieldSpanish,\n action: TranslatorTranslationActionSpanish,\n common: TranslatorTranslationCommonSpanish,\n client: TranslatorTranslationClientSpanish,\n app: TranslatorTranslationAppSpanish,\n vuecs: TranslatorTranslationVuecsSpanish,\n error: TranslatorTranslationErrorSpanish,\n }),\n]);\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { LocaleDescriptor } from './types';\n\n/**\n * Locales authup ships translations for. `nativeName` is the language\n * name in its own language — what the language switcher should display.\n * Order is the display order in the switcher.\n *\n * All four (`en`, `de`, `fr`, `es`) are authored fully in `CATALOGS`;\n * the locale-parity test enforces that each provides exactly the\n * canonical key set per namespace. BCP-47 narrowing (`de-AT` → `de`)\n * plus the `DEFAULT_LOCALE` fallback still resolves any unauthored\n * variant to a supported base locale.\n */\nexport const LOCALES = [\n { code: 'en', nativeName: 'English' },\n { code: 'de', nativeName: 'Deutsch' },\n { code: 'fr', nativeName: 'Français' },\n { code: 'es', nativeName: 'Español' },\n] as const satisfies readonly LocaleDescriptor[];\n\n/**\n * Union of supported locale codes, derived from `LOCALES` so it can\n * never drift from the registry.\n */\nexport type LocaleCode = typeof LOCALES[number]['code'];\n\n/**\n * Ultimate fallback locale. BCP-47 narrowing (`de-AT` → `de`) plus this\n * fallback (`→ en`) is handled by ilingo's resolver.\n */\nexport const DEFAULT_LOCALE: LocaleCode = 'en';\n\nexport const LOCALE_CODES: readonly LocaleCode[] = LOCALES.map((locale) => locale.code);\n\nexport function isLocale(input: unknown): input is LocaleCode {\n return typeof input === 'string' && (LOCALE_CODES as readonly string[]).includes(input);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locales authup ships translations for. `nativeName` is the language
|
|
3
|
+
* name in its own language — what the language switcher should display.
|
|
4
|
+
* Order is the display order in the switcher.
|
|
5
|
+
*
|
|
6
|
+
* All four (`en`, `de`, `fr`, `es`) are authored fully in `CATALOGS`;
|
|
7
|
+
* the locale-parity test enforces that each provides exactly the
|
|
8
|
+
* canonical key set per namespace. BCP-47 narrowing (`de-AT` → `de`)
|
|
9
|
+
* plus the `DEFAULT_LOCALE` fallback still resolves any unauthored
|
|
10
|
+
* variant to a supported base locale.
|
|
11
|
+
*/
|
|
12
|
+
export declare const LOCALES: readonly [{
|
|
13
|
+
readonly code: "en";
|
|
14
|
+
readonly nativeName: "English";
|
|
15
|
+
}, {
|
|
16
|
+
readonly code: "de";
|
|
17
|
+
readonly nativeName: "Deutsch";
|
|
18
|
+
}, {
|
|
19
|
+
readonly code: "fr";
|
|
20
|
+
readonly nativeName: "Français";
|
|
21
|
+
}, {
|
|
22
|
+
readonly code: "es";
|
|
23
|
+
readonly nativeName: "Español";
|
|
24
|
+
}];
|
|
25
|
+
/**
|
|
26
|
+
* Union of supported locale codes, derived from `LOCALES` so it can
|
|
27
|
+
* never drift from the registry.
|
|
28
|
+
*/
|
|
29
|
+
export type LocaleCode = typeof LOCALES[number]['code'];
|
|
30
|
+
/**
|
|
31
|
+
* Ultimate fallback locale. BCP-47 narrowing (`de-AT` → `de`) plus this
|
|
32
|
+
* fallback (`→ en`) is handled by ilingo's resolver.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_LOCALE: LocaleCode;
|
|
35
|
+
export declare const LOCALE_CODES: readonly LocaleCode[];
|
|
36
|
+
export declare function isLocale(input: unknown): input is LocaleCode;
|
|
37
|
+
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../src/locales.ts"],"names":[],"mappings":"AASA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;EAK4B,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,UAAiB,CAAC;AAE/C,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAAyC,CAAC;AAExF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE5D"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PluralNode } from 'ilingo';
|
|
2
|
+
export type LocaleDescriptor = {
|
|
3
|
+
code: string;
|
|
4
|
+
nativeName: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* A namespace's translation map, keyed exhaustively by the namespace's
|
|
8
|
+
* key union `K`. Every key must be present (a missing key is a compile
|
|
9
|
+
* error) and no extra keys are allowed — this is the compile-time half
|
|
10
|
+
* of the locale-parity guarantee. Leaves are plain strings or ilingo
|
|
11
|
+
* plural nodes, so plural messages stay expressible.
|
|
12
|
+
*/
|
|
13
|
+
export type NamespaceTranslations<K extends string> = Record<K, string | PluralNode>;
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@authup/i18n",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "1.0.0-beta.45",
|
|
5
|
+
"description": "Framework-agnostic translation catalogs and locale registry.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"exports": {
|
|
8
|
+
"./package.json": "./package.json",
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"module": "./dist/index.mjs",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
|
|
21
|
+
"build:js": "tsdown",
|
|
22
|
+
"build": "rimraf ./dist && npm run build:js && npm run build:types",
|
|
23
|
+
"test": "cross-env NODE_ENV=test vitest run test/unit",
|
|
24
|
+
"test:coverage": "cross-env NODE_ENV=test vitest run --coverage"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": "^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"auth",
|
|
31
|
+
"i18n",
|
|
32
|
+
"translation",
|
|
33
|
+
"localization",
|
|
34
|
+
"locale",
|
|
35
|
+
"ilingo"
|
|
36
|
+
],
|
|
37
|
+
"author": {
|
|
38
|
+
"name": "Peter Placzek",
|
|
39
|
+
"email": "contact@tada5hi.net",
|
|
40
|
+
"url": "https://github.com/tada5hi"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/authup/authup.git",
|
|
45
|
+
"directory": "packages/i18n"
|
|
46
|
+
},
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/authup/authup/issues"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/authup/authup#readme",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"ilingo": "^6.0.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@authup/errors": "^1.0.0-beta.45",
|
|
56
|
+
"validup": "^0.5.1",
|
|
57
|
+
"vitest": "^4.0.14"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"@authup/errors": "^1.0.0-beta.45",
|
|
61
|
+
"validup": "^0.5.1"
|
|
62
|
+
},
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public"
|
|
65
|
+
}
|
|
66
|
+
}
|