Many tools will handle zipfiles which lack directory entries
just fine, others will not. Looks like the JDKs JAR libs are
not handling it well. This commit will make sure to create
folder entries.
* also fix npm config running 4 times in the worst case
* factor out unzip methods
* factor and enhance trimindent
* factor out more utils
* restore windows build, which failed cause generate-i18n-messages did not write any files
* 'lordvlad/issue257' of github.com:InseeFrLab/keycloakify:
Only test build on LTS node version
Update dependency evt to ^2.4.15
Update README.md
Bump version
Avoid passing unessesary realm values in the error.ftl page
Fixes#257
Use make-fetch-happen for the download step. This lib will use `PROXY`
and `HTTPS_PROXY` and `NO_PROXY` env vars out of the box.
Additionally we'll try and get proxy config from npm. Unfortunately,
the most straightforward options is to call npm config to do this, since
npm config is not easily extracted as a lib and we don't want to
replicate the resolution mechanisms.
* 'mvn-begone' of github.com:lordvlad/keycloakify:
fix(deps): update garronej_modules_update
Update README.md
Rollback via update
Bump version
keycloak test script: use env to launch bash
fix(deps): update dependency powerhooks to ^0.22.0
Update dependency powerhooks to ^0.21.0
Relase candidate
fmt
Update README.md
Bump version
Update src/bin/tools/downloadAndUnzip.ts
Bump version
#232
Bump version
keycloak test script: use env to launch bash
fix(deps): update dependency powerhooks to ^0.22.0
Update dependency powerhooks to ^0.21.0
Pick from 'none', 'keycloakify' or 'mvn', default to 'mvn'. 'none' will
not create a jar, 'keycloakify' will create a jar file using only tools
available to native nodejs, no additional system library required.
Choosing 'mvn' will behave as before, starting maven in a subprocess.
The bundler can be chosen in `package.json` or via `KEYCLOAKIFY_BUNDLER`
env var.
This commit also adds `KEYCLOAKIFY_GROUP_ID` and
`KEYCLOAKIFY_ARTIFACT_ID` env vars, which will be used to
define group id and artifact id in pom.xml and pom.properties, if given.
This minor change allows users to use the latest version of `bash` on Mac OS.
`/bin/bash` is very old on Mac OS, and many users will have `bash` from MacPorts or Homebrew. This change allows such users to be able to use the newer `bash` installation.
This minor change allows users to use the latest version of `bash` on Mac OS.
`/bin/bash` is very old on Mac OS, and many users will have `bash` from MacPorts or Homebrew. This change allows such users to be able to use the newer `bash` installation.
Shown for the "Username Form" login step.
I would also like to work on:
- `login-password.ftl`
- `webauthn-authenticate.ftl`
But first want to see opinions on this!
echo "Can't publish on NPM, You must first create a secret called NPM_TOKEN that contains your NPM auth token. https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets"
This Terms of Service document outlines the rules and regulations for the use of **Example Company's** Services.
## Acceptance of Terms
By accessing and using our services, you acknowledge that you have read, understood, and agree to be bound by these terms. If you do not accept these terms, you are not authorized to use our services.
## Description of Service
**Example Service** (hereinafter referred to as "the Service") is a web-based solution offered by **Example Company** (hereinafter referred to as "the Company"). Our service provides users with access to [documentation](https://example.com/docs) and support for managing their projects effectively.
## Modifications to the Terms of Service
The Company reserves the right to modify these terms at any time. Such modifications will be effective immediately upon posting the updated terms on our website. Your continued use of the Service after any such changes shall constitute your consent to such changes.
## Account Registration
You may be required to register with the Service to access certain features. When registering, you agree to provide accurate, current, and complete information about yourself as requested.
## User Responsibilities
-**Data Security**: Users are responsible for safeguarding their login credentials and should not disclose their passwords to any third party.
-**Acceptable Use**: Users are expected to use the Service in a responsible manner that does not infringe upon the rights of others.
-**Content Ownership**: Users retain all rights to the content they upload to the Service but grant the Company a license to use and distribute this content as part of the Service.
## Intellectual Property
All intellectual property rights related to the Service and its original content, features, and functionality are owned by the Company.
## Termination
The Company may terminate or suspend access to our Service immediately, without prior notice or liability, for any reason whatsoever, including, without limitation, breach of these Terms.
## Governing Law
These Terms shall be governed and construed in accordance with the laws of [Your Country], without regard to its conflict of law provisions.
## Contact Information
For any questions about these Terms, please contact us at [support@example.com](mailto:support@example.com) or visit our [FAQ page](https://example.com/faq).
## Changes to Terms of Service
We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material, we will provide at least 30 days' notice prior to any new terms taking effect.
## Effective Date
These terms are effective as of **[Insert Date]**.
Este documento de Términos de Servicio detalla las reglas y regulaciones para el uso de los servicios de **Empresa Ejemplo**.
## Aceptación de Términos
Al acceder y utilizar nuestros servicios, usted reconoce que ha leído, entendido y acepta estar vinculado por estos términos. Si no acepta estos términos, no está autorizado para usar nuestros servicios.
## Descripción del Servicio
**Servicio Ejemplo** (en adelante denominado "el Servicio") es una solución basada en la web ofrecida por **Empresa Ejemplo** (en adelante denominada "la Empresa"). Nuestro servicio proporciona a los usuarios acceso a [documentación](https://ejemplo.com/docs) y soporte para gestionar sus proyectos de manera efectiva.
## Modificaciones a los Términos de Servicio
La Empresa se reserva el derecho de modificar estos términos en cualquier momento. Dichas modificaciones entrarán en vigor inmediatamente después de la publicación de los términos actualizados en nuestro sitio web. Su uso continuado del Servicio después de tales cambios constituirá su consentimiento a dichos cambios.
## Registro de Cuenta
Puede ser necesario que se registre en el Servicio para acceder a ciertas características. Al registrarse, usted acepta proporcionar información precisa, actual y completa sobre sí mismo como se solicita.
## Responsabilidades del Usuario
-**Seguridad de Datos**: Los usuarios son responsables de salvaguardar sus credenciales de inicio de sesión y no deben divulgar sus contraseñas a terceros.
-**Uso Aceptable**: Se espera que los usuarios utilicen el Servicio de manera responsable que no infrinja los derechos de otros.
-**Propiedad del Contenido**: Los usuarios retienen todos los derechos sobre el contenido que cargan en el Servicio, pero otorgan a la Empresa una licencia para usar y distribuir este contenido como parte del Servicio.
## Propiedad Intelectual
Todos los derechos de propiedad intelectual relacionados con el Servicio y su contenido original, características y funcionalidad son propiedad de la Empresa.
## Terminación
La Empresa puede terminar o suspender su acceso a nuestro Servicio de inmediato, sin previo aviso ni responsabilidad, por cualquier motivo, incluido, entre otros, una violación de estos Términos.
## Ley Aplicable
Estos Términos se regirán e interpretarán de acuerdo con las leyes de [Su País], sin tener en cuenta sus disposiciones de conflicto de leyes.
## Información de Contacto
Para cualquier pregunta sobre estos Términos, contáctenos en [support@ejemplo.com](mailto:support@ejemplo.com) o visite nuestra [página de FAQ](https://ejemplo.com/faq).
## Cambios a los Términos de Servicio
Nos reservamos el derecho, a nuestra única discreción, de modificar o reemplazar estos Términos en cualquier momento. Si una revisión es material, proporcionaremos al menos 30 días de aviso antes de que los nuevos términos entren en vigor.
## Fecha de Efectividad
Estos términos son efectivos a partir del **[Insertar Fecha]**.
Ce document des Conditions Générales d'Utilisation détaille les règles et réglementations pour l'utilisation des services de **l'Entreprise Exemple**.
## Acceptation des Conditions
En accédant et en utilisant nos services, vous reconnaissez avoir lu, compris et accepté d'être lié par ces conditions. Si vous n'acceptez pas ces termes, vous n'êtes pas autorisé à utiliser nos services.
## Description du Service
**Service Exemple** (ci-après dénommé "le Service") est une solution basée sur le web offerte par **l'Entreprise Exemple** (ci-après dénommée "l'Entreprise"). Notre service offre aux utilisateurs un accès à la [documentation](https://exemple.com/docs) et un support pour gérer efficacement leurs projets.
## Modifications des Conditions de Service
L'Entreprise se réserve le droit de modifier ces conditions à tout moment. De telles modifications entreront en vigueur immédiatement après la publication des termes mis à jour sur notre site web. Votre utilisation continue du Service après de tels changements constitue votre consentement à ces modifications.
## Inscription au Compte
Vous devrez peut-être vous inscrire au Service pour accéder à certaines fonctionnalités. Lors de l'inscription, vous acceptez de fournir des informations précises, actuelles et complètes vous concernant, comme demandé.
## Responsabilités des Utilisateurs
-**Sécurité des Données** : Les utilisateurs sont responsables de la sauvegarde de leurs identifiants de connexion et ne doivent divulguer leurs mots de passe à aucun tiers.
-**Utilisation Acceptable** : Les utilisateurs sont censés utiliser le Service de manière responsable qui ne porte pas atteinte aux droits d'autrui.
-**Propriété du Contenu** : Les utilisateurs conservent tous les droits sur le contenu qu'ils téléchargent sur le Service mais accordent à l'Entreprise une licence pour utiliser et distribuer ce contenu dans le cadre du Service.
## Propriété Intellectuelle
Tous les droits de propriété intellectuelle relatifs au Service et à son contenu original, fonctionnalités et fonctionnement sont détenus par l'Entreprise.
## Résiliation
L'Entreprise peut résilier ou suspendre votre accès à notre Service immédiatement, sans préavis ni responsabilité, pour quelque raison que ce soit, y compris, sans limitation, en cas de violation de ces Conditions.
## Loi Applicable
Ces Conditions seront régies et interprétées conformément aux lois de [Votre Pays], sans égard à ses dispositions de conflit de lois.
## Informations de Contact
Pour toute question concernant ces Conditions, veuillez nous contacter à [support@exemple.com](mailto:support@exemple.com) ou visitez notre [page FAQ](https://exemple.com/faq).
## Modifications des Conditions de Service
Nous nous réservons le droit, à notre seule discrétion, de modifier ou de remplacer ces Conditions à tout moment. Si une révision est importante, nous vous fournirons un préavis d'au moins 30 jours avant que les nouveaux termes prennent effet.
## Date d'Effet
Ces conditions sont effectives à partir du **[Insérer la Date]**.
> We're actively working on incorporating them into Keycloakify. [Follow progress](https://github.com/keycloakify/keycloakify/pull/538).
# Motivations
## Sponsor
The problem:
We are exclusively sponsored by [Cloud IAM](https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github), a French company offering Keycloak as a service.
Their dedicated support helps us continue the development and maintenance of this project.
Add `keycloak-react-theming` to the dev dependencies of your project `npm install --save-dev keycloak-react-theming` or `yarn add --dev keycloak-react-theming`
then configure your `package.json` build's script to build the keycloak's theme by adding `&& build-keycloak-theme`.
<palign="center">
<i>Checkout <ahref="https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github">Cloud-IAM</a> and use promo code <code>keycloakify5</code></i>
<br/>
<i>5% of your annual subscription will be donated to us, and you'll get 5% off too.</i>
</p>
Typically you will get:
Thank you, [Cloud-IAM](https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github), for your support!
## Developing your login and register pages in your React app
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
TODO
<!-- ALL-CONTRIBUTORS-LIST:END -->
# How to implement context persistance
# Changelog highlights
If you want dark mode preference, language and others users preferences your can do so
very easily by using [`powerhooks/useGlobalState`](https://github.com/garronej/powerhooks)
## 9.5
WARNING: `powerhooks` is still a work in progress.
- Post build hook: You can now apply custom transformation to your theme files. [Learn more](https://docs.keycloakify.dev/build-options#postbuild-hook).
- You can now specify your option in the Keycloakify's Vite plugin instead in the package.json. [See example](https://docs.keycloakify.dev/build-options#themename).
# REQUIREMENTS
## 9.4
This tools assumes you are bundling your app with Webpack (tested with 4.44.2) .
It assumes there is a `build/` directory at the root of your react project directory containing a `index.html` file
and a `static/` directory generated by webpack.
**Vite Support! 🎉**
**All this is defaults with [`create-react-app`](https://create-react-app.dev)** (tested with 4.0.3=)
- [The starter is now a Vite project](https://github.com/keycloakify/keycloakify-starter).
The Webpack based starter is accessible [here](https://github.com/keycloakify/keycloakify-starter-cra).
- CRA (Webpack) remains supported for the forseable future.
- If you have a CRA Keycloakify theme that you wish to migrate to Vite checkout [this migration guide](https://docs.keycloakify.dev/migration-guides/cra-greater-than-vite).
- For building the theme: `mvn` (Maven) must be installed
- For development, (testing the theme in a local container ): `rm`, `mkdir`, `wget`, `unzip` are assumed to be available
and `docker` up and running.
## 9.0
NOTE: This build tool has only be tested on MacOS.
Bring back support for account themes in Keycloak v23 and up! [See issue](https://github.com/keycloakify/keycloakify/issues/389).
# API Reference
### Breaking changes
## The build tool
Very few. Check them out [here](https://docs.keycloakify.dev/migration-guides/v8-greater-than-v9).
Part of the lib that runs with node, at build time.
## 8.0
-`npx build-keycloak-theme`: Builds the theme, the CWD is assumed to be the root of your react project.
-`npx download-sample-keycloak-themes`: Downloads the keycloak default themes (for development purposes)
- Much smaller .jar size. 70.2 MB -> 7.8 MB.
Keycloakify now detects which of the static resources from the default theme are actually used by your theme and only include those in the .jar.
- Build time: The first build is slowed but the subsequent build are faster. [Update your CI so that the cache is persisted across CI build](https://github.com/keycloakify/keycloakify-starter/commit/bc378d5afb67e796f520afbc348185f3e319d9d0).
## The fronted lib ( imported into your react app )
### Breaking changes
Part of the lib that you import in your react project and runs on the browser.
There are very few breaking changes in this major version. [Check them out](https://docs.keycloakify.dev/migration-guides/v7-greater-than-v8).
**TODO**
## 7.15
- The i18n messages you defines in your theme are now also maid available to Keycloak.
In practice this mean that you can now customize the `kcContext.message.summary` that
display a general alert and the values returned by `kcContext.messagesPerField.get()` that
are used to display specific error on some field of the form.
[See video](https://youtu.be/D6tZcemReTI)
## 7.14
- Deprecate the `extraPages` build option. Keycloakify is now able to analyze your code to detect extra pages.
## 7.13
- Deprecate `customUserAttribute`, Keycloakify now analyze your code to predict field name usage. [See doc](https://docs.keycloakify.dev/build-options#customuserattributes).
It's now mandatory to [adopt the new directory structure](https://docs.keycloakify.dev/migration-guides/v6-greater-than-v7).
## 7.12
- You can now pack multiple themes variant in a single `.jar` bundle. In vanilla Keycloak themes you have the ability to extend a base theme.
There is now an idiomatic way of achieving the same result. [Learn more](https://docs.keycloakify.dev/build-options#keycloakify.themeVariantNames).
## 7.9
- Separate script for copying the default theme static assets to the public directory.
Theses assets are only needed for testing your theme locally in Storybook or with a `mockPageId`.
You are now expected to have a `"prepare": "copy-keycloak-resources-to-public",` in your package.json scripts.
This script will create `public/keycloak-assets` when you run `yarn install` (If you are using another package manager
like `pnpm` makes sure that `"prepare"` is actually ran.)
[See the updated starter](https://github.com/keycloakify/keycloakify-starter/blob/94532fcf10bf8b19e0873be8575fd28a8958a806/package.json#L11). `public/keycloak-assets` shouldn't be tracked by GIT and is automatically ignored.
## 7.7
- Better storybook support, see [the starter project](https://github.com/keycloakify/keycloakify-starter).
## 7.0 🍾
- Account theme support 🚀
- It's much easier to customize pages at the CSS level, you can now see in the browser dev tool the customizable classes.
- New interactive CLI tool `npx eject-keycloak-page`, that enables to select the page you want to customize at the component level.
- There is [a Storybook](https://storybook.keycloakify.dev)
- [Remember me is fixed](https://github.com/keycloakify/keycloakify/pull/272)
## 6.13
- Build work behind corporate proxies, [see issue](https://github.com/keycloakify/keycloakify/issues/257).
## 6.12
Massive improvement in the developer experience:
- There is now only one starter repo: https://github.com/codegouvfr/keycloakify-starter
- A lot of comments have been added in the code of the starter to make it easier to get started.
- The doc has been updated: https://docs.keycloakify.dev
- A lot of improvements in the type system.
## 6.11.4
- You no longer need to have Maven installed to build the theme. Thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/239).
- Feature new build options: [`bundler`](https://docs.keycloakify.dev/build-options#keycloakify.bundler), [`groupId`](https://docs.keycloakify.dev/build-options#keycloakify.groupid), [`artifactId`](https://docs.keycloakify.dev/build-options#keycloakify.artifactid), [`version`](https://docs.keycloakify.dev/build-options#version).
Theses options can be user to customize the output name of the .jar. You can use environnement variables to overrides the values read in the package.json. Thanks to @lordvlad.
## 6.10.0
- Widows compat (thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/226)). WSL is no longer required 🎉
## 6.8.4
-`@emotion/react` is no longer a peer dependency of Keycloakify.
## 6.8.0
- It is now possible to pass a custom `<Template />` component as a prop to `<KcApp />` and every
individual page (`<Login />`, `<RegisterUserProfile />`, ...) it enables to customize only the header and footer for
example without having to switch to a full-component level customization. [See issue](https://github.com/keycloakify/keycloakify/issues/191).
## 6.7.0
- Add support for `webauthn-authenticate.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/185).
## 6.6.0
- Add support for `login-password.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/184).
## 6.5.0
- Add support for `login-username.ftl` thanks to [@mstrodl](https://github.com/Mstrodl)'s hacktoberfest [PR](https://github.com/keycloakify/keycloakify/pull/183).
## 6.4.0
- You can now optionally pass a `doFetchDefaultThemeResources: boolean` prop to every page component and the default `<KcApp />`
This enables you to prevent the default CSS and JS that comes with the builtin Keycloak theme to be downloaded.
You'll get [a black slate](https://user-images.githubusercontent.com/6702424/192619083-4baa5df4-4a21-4ec7-8e28-d200d1208299.png).
## 6.0.0
- Bundle size drastically reduced, locals and component dynamically loaded.
- First print much quicker, use of React.lazy() everywhere.
Import of terms and services have changed. [See example](https://github.com/garronej/keycloakify-demo-app/blob/a5b6a50f24bc25e082931f5ad9ebf47492acd12a/src/index.tsx#L46-L63).
**M1 Mac** support (for testing locally with a dockerized Keycloak).
## 4.7.2
> WARNING: This is broken.
> Testing with local Keycloak container working with M1 Mac. Thanks to [@eduardosanzb](https://github.com/keycloakify/keycloakify/issues/43#issuecomment-975699658).
> Be aware: When running M1s you are testing with Keycloak v15 else the local container spun will be a Keycloak v16.1.0.
## 4.7.0
Register with user profile enabled: Out of the box `options` validator support.
`tss-react` and `powerhooks` are no longer peer dependencies of `keycloakify`.
After updating Keycloakify you can remove `tss-react` and `powerhooks` from your dependencies if you don't use them explicitly.
## 4.5.3
There is a new recommended way to setup highly customized theme. See [here](https://github.com/garronej/keycloakify-demo-app/blob/look_and_feel/src/KcApp/KcApp.tsx).
Unlike with [the previous recommended method](https://github.com/garronej/keycloakify-demo-app/blob/a51660578bea15fb3e506b8a2b78e1056c6d68bb/src/KcApp/KcApp.tsx),
with this new method your theme wont break on minor Keycloakify update.
Every time a page is added it's a breaking change for non CSS-only theme.
Change [this](https://github.com/garronej/keycloakify-demo-app/blob/df664c13c77ce3c53ac7df0622d94d04e76d3f9f/src/KcApp/KcApp.tsx#L17) and [this](https://github.com/garronej/keycloakify-demo-app/blob/df664c13c77ce3c53ac7df0622d94d04e76d3f9f/src/KcApp/KcApp.tsx#L37) to update.
## 4
- Out of the box [frontend form validation](#user-profile-and-frontend-form-validation) 🥳
- Improvements (and breaking changes in `import { useKcMessage } from "keycloakify"`.
## 3
No breaking changes except that `@emotion/react`, [`tss-react`](https://www.npmjs.com/package/tss-react) and [`powerhooks`](https://www.npmjs.com/package/powerhooks) are now `peerDependencies` instead of being just dependencies.
It's important to avoid problem when using `keycloakify` alongside [`mui`](https://mui.com) and
[when passing params from the app to the login page](https://github.com/keycloakify/keycloakify#implement-context-persistence-optional).
and [`messagesPerFields`](https://github.com/keycloakify/keycloakify/blob/59f106bf9e210b63b190826da2bf5f75fc8b7644/src/lib/getKcContext/KcContextBase.ts#L70-L75) (implementation [here](https://github.com/keycloakify/keycloakify/blob/59f106bf9e210b63b190826da2bf5f75fc8b7644/src/bin/build-keycloak-theme/generateFtl/common.ftl#L130-L189))
- Test container now uses Keycloak version `15.0.2`.
## 2
- It's now possible to implement custom `.ftl` pages.
- Support for Keycloak plugins that introduce non standard ftl values.
(Like for example [this plugin](https://github.com/micedre/keycloak-mail-whitelisting) that define `authorizedMailDomains` in `register.ftl`).
'To enable the theme within keycloak log into the admin console ( 👉 http://localhost:8080 username: admin, password: admin 👈), create a realm (called "myrealm" for example),',
"go to your realm settings, click on the theme tab then select "+parsedPackageJson.name+".",
readonlyinvalidPasswordMinLowerCaseCharsMessage:"Invalid password: must contain at least {0} lower case characters.";
readonlyinvalidPasswordMinDigitsMessage:"Invalid password: must contain at least {0} numerical digits.";
readonlyinvalidPasswordMinUpperCaseCharsMessage:"Invalid password: must contain at least {0} upper case characters.";
readonlyinvalidPasswordMinSpecialCharsMessage:"Invalid password: must contain at least {0} special characters.";
readonlyinvalidPasswordNotUsernameMessage:"Invalid password: must not be equal to the username.";
readonlyinvalidPasswordRegexPatternMessage:"Invalid password: fails to match regex pattern(s).";
readonlyinvalidPasswordHistoryMessage:"Invalid password: must not be equal to any of last {0} passwords.";
readonlyinvalidPasswordBlacklistedMessage:"Invalid password: password is blacklisted.";
readonlyinvalidPasswordGenericMessage:"Invalid password: new password does not match password policies.";
readonlyldapErrorInvalidCustomFilter:"Custom configured LDAP filter does not start with \"(\" or does not end with \")\".";
readonlyldapErrorConnectionTimeoutNotNumber:"Connection Timeout must be a number";
readonlyldapErrorReadTimeoutNotNumber:"Read Timeout must be a number";
readonlyldapErrorMissingClientId:"Client ID needs to be provided in config when Realm Roles Mapping is not used.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Not possible to preserve group inheritance and use UID membership type together.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Can not set write only when LDAP provider mode is not WRITABLE";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Can not set write-only and read-only together";
readonlyldapErrorCantEnableStartTlsAndConnectionPooling:"Can not enable both StartTLS and connection pooling.";
readonlyldapErrorCantEnableUnsyncedAndImportOff:"Can not disable Importing users when LDAP provider mode is UNSYNCED";
readonlyldapErrorMissingGroupsPathGroup:"Groups path group does not exist - please create the group on specified path first";
readonlyclientRedirectURIsFragmentError:"Redirect URIs must not contain an URI fragment";
readonlyclientRootURLFragmentError:"Root URL must not contain an URL fragment";
readonlyclientRootURLIllegalSchemeError:"Root URL uses an illegal scheme";
readonlyclientBaseURLIllegalSchemeError:"Base URL uses an illegal scheme";
readonlyclientRedirectURIsIllegalSchemeError:"A redirect URI uses an illegal scheme";
readonlyclientBaseURLInvalid:"Base URL is not a valid URL";
readonlyclientRootURLInvalid:"Root URL is not a valid URL";
readonlyclientRedirectURIsInvalid:"A redirect URI is not a valid URI";
readonlypairwiseMalformedClientRedirectURI:"Client contained an invalid redirect URI.";
readonlypairwiseClientRedirectURIsMissingHost:"Client redirect URIs must contain a valid host component.";
readonlypairwiseClientRedirectURIsMultipleHosts:"Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.";
readonlyinvalidPasswordHistoryMessage:"Neteisingas slaptažodis: slaptažodis negali sutapti su prieš tai buvusiais {0} slaptažodžiais.";
readonlyldapErrorInvalidCustomFilter:"Sukonfigūruotas LDAP filtras neprasideda \"(\" ir nesibaigia \")\" simboliais.";
readonlyldapErrorMissingClientId:"Privaloma nurodyti kliento ID kai srities rolių susiejimas nėra nenaudojamas.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Grupių paveldėjimo ir UID narystės tipas kartu negali būti naudojami.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Negalima nustatyti rašymo rėžimo kuomet LDAP teikėjo rėžimas ne WRITABLE";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Negalima nustatyti tik rašyti ir tik skaityti kartu";
readonlyclientRedirectURIsFragmentError:"Nurodykite URI fragmentą, kurio negali būti peradresuojamuose URI adresuose";
readonlyclientRootURLFragmentError:"Nurodykite URL fragmentą, kurio negali būti šakniniame URL adrese";
readonlypairwiseMalformedClientRedirectURI:"Klientas pateikė neteisingą nukreipimo nuorodą.";
readonlypairwiseClientRedirectURIsMissingHost:"Kliento nukreipimo nuorodos privalo būti nurodytos su serverio vardo komponentu.";
readonlypairwiseClientRedirectURIsMultipleHosts:"Kuomet nesukonfigūruotas sektoriaus identifikatoriaus URL, kliento nukreipimo nuorodos privalo talpinti ne daugiau kaip vieną skirtingą serverio vardo komponentą.";
readonlypairwiseMalformedSectorIdentifierURI:"Neteisinga sektoriaus identifikatoriaus URI.";
readonlypairwiseFailedToGetRedirectURIs:"Nepavyko gauti nukreipimo nuorodų iš sektoriaus identifikatoriaus URI.";
readonlypairwiseRedirectURIsMismatch:"Kliento nukreipimo nuoroda neatitinka nukreipimo nuorodų iš sektoriaus identifikatoriaus URI.";
};
readonlynl:{
readonlyinvalidPasswordMinLengthMessage:"Ongeldig wachtwoord: de minimale lengte is {0} karakters.";
readonlyinvalidPasswordMinLowerCaseCharsMessage:"Ongeldig wachtwoord: het moet minstens {0} kleine letters bevatten.";
readonlyinvalidPasswordMinDigitsMessage:"Ongeldig wachtwoord: het moet minstens {0} getallen bevatten.";
readonlyinvalidPasswordMinUpperCaseCharsMessage:"Ongeldig wachtwoord: het moet minstens {0} hoofdletters bevatten.";
readonlyinvalidPasswordMinSpecialCharsMessage:"Ongeldig wachtwoord: het moet minstens {0} speciale karakters bevatten.";
readonlyinvalidPasswordNotUsernameMessage:"Ongeldig wachtwoord: het mag niet overeenkomen met de gebruikersnaam.";
readonlyinvalidPasswordRegexPatternMessage:"Ongeldig wachtwoord: het voldoet niet aan het door de beheerder ingestelde patroon.";
readonlyinvalidPasswordHistoryMessage:"Ongeldig wachtwoord: het mag niet overeen komen met een van de laatste {0} wachtwoorden.";
readonlyinvalidPasswordGenericMessage:"Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan het wachtwoordbeleid.";
readonlyldapErrorInvalidCustomFilter:"LDAP filter met aangepaste configuratie start niet met \"(\" of eindigt niet met \")\".";
readonlyldapErrorConnectionTimeoutNotNumber:"Verbindingstimeout moet een getal zijn";
readonlyldapErrorReadTimeoutNotNumber:"Lees-timeout moet een getal zijn";
readonlyldapErrorMissingClientId:"Client ID moet ingesteld zijn als Realm Roles Mapping niet gebruikt wordt.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Kan groepsovererving niet behouden bij UID-lidmaatschapstype.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Alleen-schrijven niet mogelijk als LDAP provider mode niet WRITABLE is";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Alleen-schrijven en alleen-lezen mogen niet tegelijk ingesteld zijn";
readonlyclientRedirectURIsFragmentError:"Redirect URIs mogen geen URI fragment bevatten";
readonlyclientRootURLFragmentError:"Root URL mag geen URL fragment bevatten";
readonlypairwiseMalformedClientRedirectURI:"Client heeft een ongeldige redirect URI.";
readonlypairwiseClientRedirectURIsMissingHost:"Client redirect URIs moeten een geldige host-component bevatten.";
readonlypairwiseClientRedirectURIsMultipleHosts:"Zonder een geconfigureerde Sector Identifier URI mogen client redirect URIs niet meerdere host componenten hebben.";
readonlypairwiseMalformedSectorIdentifierURI:"Onjuist notatie in Sector Identifier URI.";
readonlypairwiseFailedToGetRedirectURIs:"Kon geen redirect URIs verkrijgen van de Sector Identifier URI.";
readonlypairwiseRedirectURIsMismatch:"Client redirect URIs komen niet overeen met redict URIs ontvangen van de Sector Identifier URI.";
readonlyinvalidPasswordMinLowerCaseCharsMessage:"Ugyldig passord: må inneholde minst {0} små bokstaver.";
readonlyinvalidPasswordMinDigitsMessage:"Ugyldig passord: må inneholde minst {0} sifre.";
readonlyinvalidPasswordMinUpperCaseCharsMessage:"Ugyldig passord: må inneholde minst {0} store bokstaver.";
readonlyinvalidPasswordMinSpecialCharsMessage:"Ugyldig passord: må inneholde minst {0} spesialtegn.";
readonlyinvalidPasswordNotUsernameMessage:"Ugyldig passord: kan ikke være likt brukernavn.";
readonlyinvalidPasswordRegexPatternMessage:"Ugyldig passord: tilfredsstiller ikke kravene for passord-mønster.";
readonlyinvalidPasswordHistoryMessage:"Ugyldig passord: kan ikke være likt noen av de {0} foregående passordene.";
readonlyldapErrorInvalidCustomFilter:"Tilpasset konfigurasjon av LDAP-filter starter ikke med \"(\" eller slutter ikke med \")\".";
readonlyldapErrorMissingClientId:"KlientID må være tilgjengelig i config når sikkerhetsdomenerollemapping ikke brukes.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Ikke mulig å bevare gruppearv og samtidig bruke UID medlemskapstype.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Kan ikke sette write-only når LDAP leverandør-modus ikke er WRITABLE";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Kan ikke sette både write-only og read-only";
};
readonlypl:{};
readonlypt_BR:{
readonlyinvalidPasswordMinLengthMessage:"Senha inválida: deve conter ao menos {0} caracteres.";
readonlyinvalidPasswordMinLowerCaseCharsMessage:"Senha inválida: deve conter ao menos {0} caracteres minúsculos.";
readonlyinvalidPasswordMinDigitsMessage:"Senha inválida: deve conter ao menos {0} digitos numéricos.";
readonlyinvalidPasswordMinUpperCaseCharsMessage:"Senha inválida: deve conter ao menos {0} caracteres maiúsculos.";
readonlyinvalidPasswordMinSpecialCharsMessage:"Senha inválida: deve conter ao menos {0} caracteres especiais.";
readonlyinvalidPasswordNotUsernameMessage:"Senha inválida: não deve ser igual ao nome de usuário.";
readonlyinvalidPasswordRegexPatternMessage:"Senha inválida: falha ao passar por padrões.";
readonlyinvalidPasswordHistoryMessage:"Senha inválida: não deve ser igual às últimas {0} senhas.";
readonlyldapErrorInvalidCustomFilter:"Filtro LDAP não inicia com \"(\" ou não termina com \")\".";
readonlyldapErrorMissingClientId:"ID do cliente precisa ser definido na configuração quando mapeamentos de Roles do Realm não é utilizado.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Não é possível preservar herança de grupos e usar tipo de associação de UID ao mesmo tempo.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Não é possível definir modo de somente escrita quando o provedor LDAP não suporta escrita";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Não é possível definir somente escrita e somente leitura ao mesmo tempo";
readonlyclientRedirectURIsFragmentError:"URIs de redirecionamento não podem conter fragmentos";
readonlyclientRootURLFragmentError:"URL raiz não pode conter fragmentos";
};
readonlyru:{
readonlyinvalidPasswordMinLengthMessage:"Некорректный пароль: длина пароля должна быть не менее {0} символов(а).";
readonlyinvalidPasswordMinDigitsMessage:"Некорректный пароль: должен содержать не менее {0} цифр(ы).";
readonlyinvalidPasswordMinLowerCaseCharsMessage:"Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре.";
readonlyinvalidPasswordMinUpperCaseCharsMessage:"Некорректный пароль: пароль должен содержать не менее {0} символов(а) в верхнем регистре.";
readonlyinvalidPasswordMinSpecialCharsMessage:"Некорректный пароль: пароль должен содержать не менее {0} спецсимволов(а).";
readonlyinvalidPasswordNotUsernameMessage:"Некорректный пароль: пароль не должен совпадать с именем пользователя.";
readonlyinvalidPasswordRegexPatternMessage:"Некорректный пароль: пароль не прошел проверку по регулярному выражению.";
readonlyinvalidPasswordHistoryMessage:"Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролем(ями).";
readonlyinvalidPasswordGenericMessage:"Некорректный пароль: новый пароль не соответствует правилам пароля.";
readonlyldapErrorInvalidCustomFilter:"Сконфигурированный пользователем фильтр LDAP не должен начинаться с \"(\" или заканчиваться на \")\".";
readonlyldapErrorMissingClientId:"Client ID должен быть настроен в конфигурации, если не используется сопоставление ролей в realm.";
readonlyldapErrorCantPreserveGroupInheritanceWithUIDMembershipType:"Не удалось унаследовать группу и использовать членство UID типа вместе.";
readonlyldapErrorCantWriteOnlyForReadOnlyLdap:"Невозможно установить режим \"только на запись\", когда LDAP провайдер не в режиме WRITABLE";
readonlyldapErrorCantWriteOnlyAndReadOnly:"Невозможно одновременно установить режимы \"только на чтение\" и \"только на запись\"";
readonlyclientRedirectURIsFragmentError:"URI перенаправления не должен содержать фрагмент URI";
readonlyclientRootURLFragmentError:"Корневой URL не должен содержать фрагмент URL ";
readonlypairwiseMalformedClientRedirectURI:"Клиент содержит некорректный URI перенаправления.";
readonlypairwiseClientRedirectURIsMissingHost:"URI перенаправления клиента должен содержать корректный компонент хоста.";
readonlypairwiseClientRedirectURIsMultipleHosts:"Без конфигурации по части идентификатора URI, URI перенаправления клиента не может содержать несколько компонентов хоста.";
readonlypairwiseMalformedSectorIdentifierURI:"Искаженная часть идентификатора URI.";
readonlypairwiseFailedToGetRedirectURIs:"Не удалось получить идентификаторы URI перенаправления из части идентификатора URI.";
readonlypairwiseRedirectURIsMismatch:"Клиент URI переадресации не соответствует URI переадресации, полученной из части идентификатора URI.";
readonlypairwiseClientRedirectURIsMultipleHosts:"Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.";
"invalidPasswordMinLowerCaseCharsMessage":"Invalid password: must contain at least {0} lower case characters.",
"invalidPasswordMinDigitsMessage":"Invalid password: must contain at least {0} numerical digits.",
"invalidPasswordMinUpperCaseCharsMessage":"Invalid password: must contain at least {0} upper case characters.",
"invalidPasswordMinSpecialCharsMessage":"Invalid password: must contain at least {0} special characters.",
"invalidPasswordNotUsernameMessage":"Invalid password: must not be equal to the username.",
"invalidPasswordRegexPatternMessage":"Invalid password: fails to match regex pattern(s).",
"invalidPasswordHistoryMessage":"Invalid password: must not be equal to any of last {0} passwords.",
"invalidPasswordBlacklistedMessage":"Invalid password: password is blacklisted.",
"invalidPasswordGenericMessage":"Invalid password: new password does not match password policies.",
"ldapErrorInvalidCustomFilter":"Custom configured LDAP filter does not start with \"(\" or does not end with \")\".",
"ldapErrorConnectionTimeoutNotNumber":"Connection Timeout must be a number",
"ldapErrorReadTimeoutNotNumber":"Read Timeout must be a number",
"ldapErrorMissingClientId":"Client ID needs to be provided in config when Realm Roles Mapping is not used.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Not possible to preserve group inheritance and use UID membership type together.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Can not set write only when LDAP provider mode is not WRITABLE",
"ldapErrorCantWriteOnlyAndReadOnly":"Can not set write-only and read-only together",
"ldapErrorCantEnableStartTlsAndConnectionPooling":"Can not enable both StartTLS and connection pooling.",
"ldapErrorCantEnableUnsyncedAndImportOff":"Can not disable Importing users when LDAP provider mode is UNSYNCED",
"ldapErrorMissingGroupsPathGroup":"Groups path group does not exist - please create the group on specified path first",
"clientRedirectURIsFragmentError":"Redirect URIs must not contain an URI fragment",
"clientRootURLFragmentError":"Root URL must not contain an URL fragment",
"clientRootURLIllegalSchemeError":"Root URL uses an illegal scheme",
"clientBaseURLIllegalSchemeError":"Base URL uses an illegal scheme",
"clientRedirectURIsIllegalSchemeError":"A redirect URI uses an illegal scheme",
"clientBaseURLInvalid":"Base URL is not a valid URL",
"clientRootURLInvalid":"Root URL is not a valid URL",
"clientRedirectURIsInvalid":"A redirect URI is not a valid URI",
"pairwiseMalformedClientRedirectURI":"Client contained an invalid redirect URI.",
"pairwiseClientRedirectURIsMissingHost":"Client redirect URIs must contain a valid host component.",
"pairwiseClientRedirectURIsMultipleHosts":"Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.",
"invalidPasswordHistoryMessage":"Neteisingas slaptažodis: slaptažodis negali sutapti su prieš tai buvusiais {0} slaptažodžiais.",
"ldapErrorInvalidCustomFilter":"Sukonfigūruotas LDAP filtras neprasideda \"(\" ir nesibaigia \")\" simboliais.",
"ldapErrorMissingClientId":"Privaloma nurodyti kliento ID kai srities rolių susiejimas nėra nenaudojamas.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Grupių paveldėjimo ir UID narystės tipas kartu negali būti naudojami.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Negalima nustatyti rašymo rėžimo kuomet LDAP teikėjo rėžimas ne WRITABLE",
"ldapErrorCantWriteOnlyAndReadOnly":"Negalima nustatyti tik rašyti ir tik skaityti kartu",
"clientRedirectURIsFragmentError":"Nurodykite URI fragmentą, kurio negali būti peradresuojamuose URI adresuose",
"clientRootURLFragmentError":"Nurodykite URL fragmentą, kurio negali būti šakniniame URL adrese",
"pairwiseMalformedClientRedirectURI":"Klientas pateikė neteisingą nukreipimo nuorodą.",
"pairwiseClientRedirectURIsMissingHost":"Kliento nukreipimo nuorodos privalo būti nurodytos su serverio vardo komponentu.",
"pairwiseClientRedirectURIsMultipleHosts":"Kuomet nesukonfigūruotas sektoriaus identifikatoriaus URL, kliento nukreipimo nuorodos privalo talpinti ne daugiau kaip vieną skirtingą serverio vardo komponentą.",
"pairwiseMalformedSectorIdentifierURI":"Neteisinga sektoriaus identifikatoriaus URI.",
"pairwiseFailedToGetRedirectURIs":"Nepavyko gauti nukreipimo nuorodų iš sektoriaus identifikatoriaus URI.",
"pairwiseRedirectURIsMismatch":"Kliento nukreipimo nuoroda neatitinka nukreipimo nuorodų iš sektoriaus identifikatoriaus URI."
},
"nl":{
"invalidPasswordMinLengthMessage":"Ongeldig wachtwoord: de minimale lengte is {0} karakters.",
"invalidPasswordMinLowerCaseCharsMessage":"Ongeldig wachtwoord: het moet minstens {0} kleine letters bevatten.",
"invalidPasswordMinDigitsMessage":"Ongeldig wachtwoord: het moet minstens {0} getallen bevatten.",
"invalidPasswordMinUpperCaseCharsMessage":"Ongeldig wachtwoord: het moet minstens {0} hoofdletters bevatten.",
"invalidPasswordMinSpecialCharsMessage":"Ongeldig wachtwoord: het moet minstens {0} speciale karakters bevatten.",
"invalidPasswordNotUsernameMessage":"Ongeldig wachtwoord: het mag niet overeenkomen met de gebruikersnaam.",
"invalidPasswordRegexPatternMessage":"Ongeldig wachtwoord: het voldoet niet aan het door de beheerder ingestelde patroon.",
"invalidPasswordHistoryMessage":"Ongeldig wachtwoord: het mag niet overeen komen met een van de laatste {0} wachtwoorden.",
"invalidPasswordGenericMessage":"Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan het wachtwoordbeleid.",
"ldapErrorInvalidCustomFilter":"LDAP filter met aangepaste configuratie start niet met \"(\" of eindigt niet met \")\".",
"ldapErrorConnectionTimeoutNotNumber":"Verbindingstimeout moet een getal zijn",
"ldapErrorReadTimeoutNotNumber":"Lees-timeout moet een getal zijn",
"ldapErrorMissingClientId":"Client ID moet ingesteld zijn als Realm Roles Mapping niet gebruikt wordt.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Kan groepsovererving niet behouden bij UID-lidmaatschapstype.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Alleen-schrijven niet mogelijk als LDAP provider mode niet WRITABLE is",
"ldapErrorCantWriteOnlyAndReadOnly":"Alleen-schrijven en alleen-lezen mogen niet tegelijk ingesteld zijn",
"clientRedirectURIsFragmentError":"Redirect URIs mogen geen URI fragment bevatten",
"clientRootURLFragmentError":"Root URL mag geen URL fragment bevatten",
"pairwiseMalformedClientRedirectURI":"Client heeft een ongeldige redirect URI.",
"pairwiseClientRedirectURIsMissingHost":"Client redirect URIs moeten een geldige host-component bevatten.",
"pairwiseClientRedirectURIsMultipleHosts":"Zonder een geconfigureerde Sector Identifier URI mogen client redirect URIs niet meerdere host componenten hebben.",
"pairwiseMalformedSectorIdentifierURI":"Onjuist notatie in Sector Identifier URI.",
"pairwiseFailedToGetRedirectURIs":"Kon geen redirect URIs verkrijgen van de Sector Identifier URI.",
"pairwiseRedirectURIsMismatch":"Client redirect URIs komen niet overeen met redict URIs ontvangen van de Sector Identifier URI."
"invalidPasswordMinLowerCaseCharsMessage":"Ugyldig passord: må inneholde minst {0} små bokstaver.",
"invalidPasswordMinDigitsMessage":"Ugyldig passord: må inneholde minst {0} sifre.",
"invalidPasswordMinUpperCaseCharsMessage":"Ugyldig passord: må inneholde minst {0} store bokstaver.",
"invalidPasswordMinSpecialCharsMessage":"Ugyldig passord: må inneholde minst {0} spesialtegn.",
"invalidPasswordNotUsernameMessage":"Ugyldig passord: kan ikke være likt brukernavn.",
"invalidPasswordRegexPatternMessage":"Ugyldig passord: tilfredsstiller ikke kravene for passord-mønster.",
"invalidPasswordHistoryMessage":"Ugyldig passord: kan ikke være likt noen av de {0} foregående passordene.",
"ldapErrorInvalidCustomFilter":"Tilpasset konfigurasjon av LDAP-filter starter ikke med \"(\" eller slutter ikke med \")\".",
"ldapErrorMissingClientId":"KlientID må være tilgjengelig i config når sikkerhetsdomenerollemapping ikke brukes.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Ikke mulig å bevare gruppearv og samtidig bruke UID medlemskapstype.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Kan ikke sette write-only når LDAP leverandør-modus ikke er WRITABLE",
"ldapErrorCantWriteOnlyAndReadOnly":"Kan ikke sette både write-only og read-only"
},
"pl":{},
"pt_BR":{
"invalidPasswordMinLengthMessage":"Senha inválida: deve conter ao menos {0} caracteres.",
"invalidPasswordMinLowerCaseCharsMessage":"Senha inválida: deve conter ao menos {0} caracteres minúsculos.",
"invalidPasswordMinDigitsMessage":"Senha inválida: deve conter ao menos {0} digitos numéricos.",
"invalidPasswordMinUpperCaseCharsMessage":"Senha inválida: deve conter ao menos {0} caracteres maiúsculos.",
"invalidPasswordMinSpecialCharsMessage":"Senha inválida: deve conter ao menos {0} caracteres especiais.",
"invalidPasswordNotUsernameMessage":"Senha inválida: não deve ser igual ao nome de usuário.",
"invalidPasswordRegexPatternMessage":"Senha inválida: falha ao passar por padrões.",
"invalidPasswordHistoryMessage":"Senha inválida: não deve ser igual às últimas {0} senhas.",
"ldapErrorInvalidCustomFilter":"Filtro LDAP não inicia com \"(\" ou não termina com \")\".",
"ldapErrorMissingClientId":"ID do cliente precisa ser definido na configuração quando mapeamentos de Roles do Realm não é utilizado.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Não é possível preservar herança de grupos e usar tipo de associação de UID ao mesmo tempo.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Não é possível definir modo de somente escrita quando o provedor LDAP não suporta escrita",
"ldapErrorCantWriteOnlyAndReadOnly":"Não é possível definir somente escrita e somente leitura ao mesmo tempo",
"clientRedirectURIsFragmentError":"URIs de redirecionamento não podem conter fragmentos",
"clientRootURLFragmentError":"URL raiz não pode conter fragmentos"
},
"ru":{
"invalidPasswordMinLengthMessage":"Некорректный пароль: длина пароля должна быть не менее {0} символов(а).",
"invalidPasswordMinDigitsMessage":"Некорректный пароль: должен содержать не менее {0} цифр(ы).",
"invalidPasswordMinLowerCaseCharsMessage":"Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре.",
"invalidPasswordMinUpperCaseCharsMessage":"Некорректный пароль: пароль должен содержать не менее {0} символов(а) в верхнем регистре.",
"invalidPasswordMinSpecialCharsMessage":"Некорректный пароль: пароль должен содержать не менее {0} спецсимволов(а).",
"invalidPasswordNotUsernameMessage":"Некорректный пароль: пароль не должен совпадать с именем пользователя.",
"invalidPasswordRegexPatternMessage":"Некорректный пароль: пароль не прошел проверку по регулярному выражению.",
"invalidPasswordHistoryMessage":"Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролем(ями).",
"invalidPasswordGenericMessage":"Некорректный пароль: новый пароль не соответствует правилам пароля.",
"ldapErrorInvalidCustomFilter":"Сконфигурированный пользователем фильтр LDAP не должен начинаться с \"(\" или заканчиваться на \")\".",
"ldapErrorMissingClientId":"Client ID должен быть настроен в конфигурации, если не используется сопоставление ролей в realm.",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":"Не удалось унаследовать группу и использовать членство UID типа вместе.",
"ldapErrorCantWriteOnlyForReadOnlyLdap":"Невозможно установить режим \"только на запись\", когда LDAP провайдер не в режиме WRITABLE",
"ldapErrorCantWriteOnlyAndReadOnly":"Невозможно одновременно установить режимы \"только на чтение\" и \"только на запись\"",
"clientRedirectURIsFragmentError":"URI перенаправления не должен содержать фрагмент URI",
"clientRootURLFragmentError":"Корневой URL не должен содержать фрагмент URL ",
"pairwiseMalformedClientRedirectURI":"Клиент содержит некорректный URI перенаправления.",
"pairwiseClientRedirectURIsMissingHost":"URI перенаправления клиента должен содержать корректный компонент хоста.",
"pairwiseClientRedirectURIsMultipleHosts":"Без конфигурации по части идентификатора URI, URI перенаправления клиента не может содержать несколько компонентов хоста.",
"pairwiseMalformedSectorIdentifierURI":"Искаженная часть идентификатора URI.",
"pairwiseFailedToGetRedirectURIs":"Не удалось получить идентификаторы URI перенаправления из части идентификатора URI.",
"pairwiseRedirectURIsMismatch":"Клиент URI переадресации не соответствует URI переадресации, полученной из части идентификатора URI."
"pairwiseClientRedirectURIsMultipleHosts":"Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.",
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.