Compare commits

...

115 Commits

Author SHA1 Message Date
c9fcec6889 Replace postinstall by prepare 2023-03-20 05:39:34 +01:00
fd901ef2cf Run build only on latest ubuntu and node 16 2023-03-20 05:39:12 +01:00
8afdaa8f0e Relase candidate 2023-03-20 05:29:14 +01:00
254bfccc62 Feature Account theme customization 2023-03-20 05:28:53 +01:00
5b4aeca63c Done implementing the templates and the two first pages 2023-03-20 05:14:25 +01:00
17871daf0c Build account theme 2023-03-20 01:48:03 +01:00
cdd4460968 Rename iitialize-email-theme 2023-03-20 01:30:42 +01:00
fa6a37880b Fix script for account and email 2023-03-20 01:30:16 +01:00
d4e1dabe12 Fix build error 2023-03-20 00:59:53 +01:00
a3fd376b24 Refactor of the i18n download mechanism 2023-03-20 00:58:35 +01:00
aaac1f54e8 Untrack generated messages 2023-03-20 00:03:15 +01:00
41c0329822 Move everything under the login dir 2023-03-19 23:12:45 +01:00
74d48fd7e1 relase candidate 2023-03-19 16:59:57 +01:00
9c3c953129 Fix download i18n script 2023-03-19 16:59:27 +01:00
f5cae18da7 Relase candidate 2023-03-19 16:58:42 +01:00
59d47592d9 Fix other scripts 2023-03-19 16:58:26 +01:00
2b6c991190 Fmt 2023-03-19 16:47:00 +01:00
26020ba8bb Relase candidate 2023-03-19 16:37:48 +01:00
b573bc20b5 Fix 2023-03-19 16:37:35 +01:00
210dbfa265 Bump version 2023-03-19 16:31:25 +01:00
b37cac93ff Fix 2023-03-19 16:31:13 +01:00
eea953efb6 Relase candidate 2023-03-19 16:28:51 +01:00
7ad9d7b291 Remove all unessesary relative import 2023-03-19 16:28:38 +01:00
20937c4f72 Relase candidate 2023-03-19 15:53:13 +01:00
dbbfa07639 Feature new script: Eject-keycloak-page 2023-03-19 15:52:41 +01:00
9e1a4cad5c Update homepage 2023-03-19 15:49:27 +01:00
02bbedcfca Remove no longer used tools 2023-03-19 14:56:30 +01:00
cd70d90914 Refactor completed 2023-03-19 14:48:01 +01:00
819f297de8 Better i18n API 2023-03-19 14:03:06 +01:00
0608adde89 Better naming convention for i18n API 2023-03-19 13:54:39 +01:00
ad7bcf4669 Fix lining script 2023-03-18 19:05:27 +01:00
2eccc86e83 Remove eventEmitter warning 2023-03-18 19:02:17 +01:00
16d18f23a1 Refactor of the main component and i18n 2023-03-18 18:54:33 +01:00
5631ae1b6c Better naming convention 2023-03-18 18:27:50 +01:00
5fb29992f6 Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-03-18 16:58:21 +01:00
910d633ac2 Fix build test app 2023-03-18 16:57:58 +01:00
32f8380e56 Fix build:test 2023-03-18 16:20:21 +01:00
43e4dd6bb6 Fix build for real 2023-03-18 16:17:33 +01:00
4f0b1688db Thank you @justkey007 for tsc-alias 2023-03-18 15:49:45 +01:00
9e75ee09bb fix(deps): update garronej_modules_update 2023-03-18 09:11:03 +00:00
9ae8822e00 Fix build 2023-03-18 06:25:19 +01:00
babffd1fe6 Make the project compile 2023-03-18 06:14:05 +01:00
5615d62032 Scripts dir outside of the src dir 2023-03-18 02:12:12 +01:00
4b89d15c1e progressing 2023-03-17 20:40:29 +01:00
815f510d5f Exclude tsbuild info of the bin dir from the bundle 2023-03-16 23:03:18 +01:00
199ba193be Rename getKcContext dir to kcContext 2023-03-16 23:02:06 +01:00
4ae9bd3f9a Fix repo url in package.json 2023-03-16 22:57:24 +01:00
1c9cf639ea Remove console log 2023-03-16 22:44:44 +01:00
0040464ca1 Move lib up one level 2023-03-16 22:43:09 +01:00
79997efbb6 First commit towars supporting account theme 2023-03-16 22:13:46 +01:00
0e42009798 Fix bin test script 2023-03-16 14:39:40 +01:00
93fdcb8739 Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-03-16 13:33:01 +01:00
aca926e202 Fix link script command 2023-03-16 13:31:56 +01:00
9941027b10 Update package.json 2023-03-15 12:45:58 +01:00
9104de4290 Merge pull request #263 from mkreuzmayr/main
Fix start container script paths for windows
2023-03-15 12:45:43 +01:00
5dc692809c Fix start container script paths for windows 2023-03-15 10:07:01 +01:00
8dc1d1bd21 Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-03-13 10:47:10 +01:00
fe588485a9 Update changelog 2023-03-13 10:47:02 +01:00
19ef1d7025 Bump version 2023-03-13 10:44:46 +01:00
62523a8662 Merge pull request #260 from InseeFrLab/lordvlad/issue257
Run keycloakify behind corporate proxy
2023-03-13 10:44:08 +01:00
6e97665e2e Merge branch 'main' into lordvlad/issue257 2023-03-09 18:33:18 +01:00
4988680353 Update description 2023-03-09 18:30:58 +01:00
c5de5c20c7 Bump version 2023-03-08 23:21:44 +01:00
1a0fee1aa2 Make things cleaner 2023-03-08 23:21:32 +01:00
06a44603cd Release candidate 2023-03-08 22:32:45 +01:00
e48459762e Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-03-08 22:28:46 +01:00
235ebeae97 Bump version 2023-03-08 22:25:10 +01:00
dfe909606e Deprecate useFormValidationSlice 2023-03-08 22:24:51 +01:00
6fd0c7726c Merge branch 'lordvlad/issue257' of github.com:InseeFrLab/keycloakify into lordvlad/issue257
* '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
2023-03-08 10:25:10 +01:00
819e045811 feat(proxy): respect XDG_CACHE_HOME if set 2023-03-08 10:24:52 +01:00
1ba780598d Relase candidate 2023-03-07 18:18:37 +01:00
aeb0cb3110 Only test build on LTS node version 2023-03-07 18:18:04 +01:00
88923838c5 Bump version 2023-03-07 17:29:30 +01:00
df9f6fd7fd Merge branch 'main' into lordvlad/issue257 2023-03-07 17:16:24 +01:00
98e46d6ac9 Update dependency evt to ^2.4.15 2023-03-07 17:07:49 +01:00
daff614fb4 Update README.md 2023-03-07 17:07:48 +01:00
5ea324c7f2 Bump version 2023-03-07 17:07:48 +01:00
23fedbf94a Avoid passing unessesary realm values in the error.ftl page 2023-03-07 17:07:45 +01:00
593d66d8d6 style: remove unused dependency 2023-03-07 16:45:17 +01:00
851dcd5bf7 Run keycloakify behind corporate proxy
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.
2023-03-07 16:43:12 +01:00
2e919681ae Update dependency evt to ^2.4.15 2023-03-07 10:14:46 +00:00
5da68cd48c Update README.md 2023-03-05 23:37:37 +01:00
27fdaeff46 Bump version 2023-02-27 11:55:39 +01:00
53c0079656 Use extract instead of subtype to ease copy paste into theme repo 2023-02-27 11:55:25 +01:00
93780b77e0 Bump version 2023-02-27 11:32:14 +01:00
b712ed0421 Avoid using tsafe utils to avoid forcing user to install tsafe 2023-02-27 11:32:00 +01:00
ee96f1b345 Bump version 2023-02-27 11:29:23 +01:00
d13464df3d Get rid of the ReactComponent type, classes based component are no longer used 2023-02-27 11:29:05 +01:00
6bde2e4d96 Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-02-27 10:39:44 +01:00
0a4953c020 Bump version 2023-02-27 10:39:37 +01:00
96c488880c Abstract away Template logic 2023-02-27 10:39:22 +01:00
7e0adf3f66 Update README.md 2023-02-26 17:32:35 +01:00
09f716440a Bump version 2023-02-26 16:41:47 +01:00
2251c84171 Use the new syntax for importing as type 2023-02-26 16:37:06 +01:00
5cfe78dcd1 Update prettier config 2023-02-26 15:39:03 +01:00
6a48325132 Be more relax on the type safety to avoir headache 2023-02-26 15:37:52 +01:00
294be0a79a see prev commit 2023-02-26 15:36:52 +01:00
c94b264b44 Don't need a dir for a single file 2023-02-26 15:36:35 +01:00
7220c4e3e3 Fix deepAssign 2023-02-26 15:35:57 +01:00
5aadeba2ec fix clsx 2023-02-26 15:35:30 +01:00
0f47a5b6ba Small Template refactor 2023-02-25 20:11:55 +01:00
36f32d28f2 Stop auto updating powerhooks 2023-02-25 19:21:55 +01:00
6d69ccf229 Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-02-25 19:21:17 +01:00
37073b42be Avoir introducing breaking changes for CSS only setup 2023-02-25 19:19:46 +01:00
837501c948 Refactor 2023-02-25 18:26:39 +01:00
b300966fa8 Refactor and get rid of unessesary dependencies 2023-02-25 18:11:23 +01:00
730eb06c84 fix(deps): update dependency powerhooks to ^0.26.2 2023-02-14 12:08:41 +00:00
aca8d3f4b7 fix(deps): update dependency powerhooks to ^0.26.1 2023-02-08 16:38:28 +00:00
b5b3af4659 Bump version 2023-02-07 01:32:36 +01:00
6cd231426d Import Blob from node builtins 2023-02-07 01:32:20 +01:00
0c7cd1cd75 Bump version 2023-02-07 01:21:17 +01:00
2425704ead Merge branch 'main' of https://github.com/InseeFrLab/keycloakify 2023-02-07 01:20:33 +01:00
4e22159206 Bump version 2023-02-07 01:20:26 +01:00
52cf1ba02c Fix tsafe related warnings 2023-02-07 01:20:12 +01:00
516e84182f fix(deps): update dependency powerhooks to ^0.26.0 2023-02-05 15:10:42 +00:00
347 changed files with 4813 additions and 36184 deletions

View File

@ -28,8 +28,8 @@ jobs:
needs: test_lint
strategy:
matrix:
node: [ '14', '15' ,'16', '17' ]
os: [ windows-latest, ubuntu-latest ]
node: [ '16' ]
os: [ ubuntu-latest ]
name: Test with Node v${{ matrix.node }} on ${{ matrix.os }}
steps:
- name: Tell if project is using npm or yarn
@ -136,4 +136,4 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }}
IS_PRE_RELEASE: ${{ needs.check_if_version_upgraded.outputs.is_pre_release }}
IS_PRE_RELEASE: ${{ needs.check_if_version_upgraded.outputs.is_pre_release }}

4
.gitignore vendored
View File

@ -49,4 +49,6 @@ jspm_packages
.idea
/keycloak_email
/build_keycloak
/build_keycloak
/src/login/i18n/baseMessages/
/src/account/i18n/baseMessages/

View File

@ -6,4 +6,7 @@ node_modules/
/src/test/apps/
/src/tools/types/
/sample_react_project
/build_keycloak/
/build_keycloak/
/.vscode/
/src/login/i18n/baseMessages/
/src/account/i18n/baseMessages/

View File

@ -8,9 +8,6 @@
<a href="https://github.com/garronej/keycloakify/actions">
<img src="https://github.com/garronej/keycloakify/workflows/ci/badge.svg?branch=main">
</a>
<a href="https://bundlephobia.com/package/keycloakify">
<img src="https://img.shields.io/bundlephobia/minzip/keycloakify">
</a>
<a href="https://www.npmjs.com/package/keycloakify">
<img src="https://img.shields.io/npm/dm/keycloakify">
</a>
@ -27,15 +24,9 @@
<a href="https://www.keycloakify.dev">Home</a>
-
<a href="https://docs.keycloakify.dev">Documentation</a>
</p>
<p align="center"> ---- Project starter / Demo setup ---- </p>
<p align="center">
<a href="https://github.com/garronej/keycloakify-starter">CSS Level customization</a>
-
<a href="https://github.com/garronej/keycloakify-advanced-starter">Component Level customization</a>
<a href="https://github.com/codegouvfr/keycloakify-starter">Starter project</a>
</p>
<p align="center"> ---- </p>
</p>
<p align="center">
@ -49,6 +40,19 @@
# Changelog highlights
## 6.13
- Build work behind corporate proxies, [see issue](https://github.com/InseeFrLab/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/InseeFrLab/keycloakify/pull/239).

View File

@ -1,30 +1,35 @@
{
"name": "keycloakify",
"version": "6.11.4",
"description": "Keycloak theme generator for Reacts app",
"version": "7.0.0-rc.6",
"description": "Create Keycloak themes using React",
"repository": {
"type": "git",
"url": "git://github.com/garronej/keycloakify.git"
"url": "git://github.com/inseefrlab/keycloakify.git"
},
"main": "dist/lib/index.js",
"types": "dist/lib/index.d.ts",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "rimraf dist/ && tsc -p src/bin && tsc -p src/lib && yarn grant-exec-perms && yarn copy-files dist/",
"build:test": "rimraf dist_test/ && tsc -p src/test && yarn copy-files dist_test/",
"prepare": "yarn generate-i18n-messages",
"build": "rimraf dist/ && tsc -p src/bin && tsc -p src/tsconfig.json && tsc-alias -p src/tsconfig.json && yarn grant-exec-perms && yarn copy-files dist/",
"build:watch": "tsc -p src/tsconfig.json && (concurrently \"tsc -p src/tsconfig.json -w\" \"tsc-alias -p src/tsconfig.json\")",
"build:test": "rimraf dist_test/ && tsc -p test/tsconfig.json && tsc-alias -p test/tsconfig.json && yarn copy-files dist_test/src",
"grant-exec-perms": "node dist/bin/tools/grant-exec-perms.js",
"copy-files": "copyfiles -u 1 src/**/*.ftl",
"pretest": "yarn build:test",
"test": "node dist_test/test/bin && node dist_test/test/lib",
"generate-messages": "node dist/bin/generate-i18n-messages.js",
"link_in_test_app": "node dist/bin/link_in_test_app.js",
"test": "yarn build:test && node dist_test/test/bin && node dist_test/test/lib",
"test:sample-app": "yarn build:test && node dist_test/test/bin/main.js",
"_format": "prettier '**/*.{ts,tsx,json,md}'",
"format": "yarn _format --write",
"format:check": "yarn _format --list-different"
"format:check": "yarn _format --list-different",
"generate-i18n-messages": "ts-node --skipProject scripts/generate-i18n-messages.ts",
"link-in-app": "ts-node --skipProject scripts/link-in-app.ts",
"link-in-starter": "yarn link-in-app keycloakify-starter",
"tsc-watch": "tsc -p src/bin -w & tsc -p src/lib -w "
},
"bin": {
"keycloakify": "dist/bin/keycloakify/index.js",
"create-keycloak-email-directory": "dist/bin/create-keycloak-email-directory.js",
"download-builtin-keycloak-theme": "dist/bin/download-builtin-keycloak-theme.js"
"initialize-email-theme": "dist/bin/initialize-email-theme.js",
"download-builtin-keycloak-theme": "dist/bin/download-builtin-keycloak-theme.js",
"eject-keycloak-page": "dist/bin/eject-keycloak-page.js"
},
"lint-staged": {
"*.{ts,tsx,json,md}": [
@ -41,7 +46,8 @@
"files": [
"src/",
"dist/",
"!dist/tsconfig.tsbuildinfo"
"!dist/tsconfig.tsbuildinfo",
"!dist/bin/tsconfig.tsbuildinfo"
],
"keywords": [
"bluehats",
@ -53,16 +59,17 @@
"login",
"register"
],
"homepage": "https://github.com/garronej/keycloakify",
"homepage": "https://www.keycloakify.dev",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@types/memoizee": "^0.4.7",
"@types/make-fetch-happen": "^10.0.1",
"@types/minimist": "^1.2.2",
"@types/node": "^17.0.25",
"@types/node": "^18.15.3",
"@types/react": "18.0.9",
"concurrently": "^7.6.0",
"copyfiles": "^2.4.1",
"husky": "^4.3.8",
"lint-staged": "^11.0.0",
@ -70,24 +77,23 @@
"properties-parser": "^0.3.1",
"react": "18.1.0",
"rimraf": "^3.0.2",
"@emotion/react": "^11.10.4",
"typescript": "^4.2.3"
"scripting-tools": "^0.19.13",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.3",
"typescript": "^5.0.1-rc"
},
"dependencies": {
"@octokit/rest": "^18.12.0",
"cheerio": "^1.0.0-rc.5",
"cli-select": "^1.1.2",
"evt": "^2.4.13",
"memoizee": "^0.4.15",
"evt": "^2.4.18",
"make-fetch-happen": "^11.0.3",
"minimal-polyfills": "^2.2.2",
"minimist": "^1.2.6",
"path-browserify": "^1.0.1",
"powerhooks": "^0.22.1",
"react-markdown": "^5.0.3",
"rfc4648": "^1.5.2",
"scripting-tools": "^0.19.13",
"tsafe": "^1.4.2",
"tss-react": "4.4.1-rc.0",
"tsafe": "^1.6.0",
"zod": "^3.17.10"
}
}

View File

@ -13,11 +13,11 @@
"packageRules": [
{
"packagePatterns": ["*"],
"excludePackagePatterns": ["powerhooks", "tsafe", "evt"],
"excludePackagePatterns": ["tsafe", "evt"],
"enabled": false
},
{
"packagePatterns": ["powerhooks", "tsafe", "evt"],
"packagePatterns": ["tsafe", "evt"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"automergeType": "branch",

View File

@ -1,11 +1,11 @@
import "minimal-polyfills/Object.fromEntries";
import * as fs from "fs";
import { join as pathJoin, relative as pathRelative, dirname as pathDirname } from "path";
import { crawl } from "./tools/crawl";
import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme";
import { getProjectRoot } from "./tools/getProjectRoot";
import { getCliOptions } from "./tools/cliOptions";
import { getLogger } from "./tools/logger";
import { crawl } from "../src/bin/tools/crawl";
import { downloadBuiltinKeycloakTheme } from "../src/bin/download-builtin-keycloak-theme";
import { getProjectRoot } from "../src/bin/tools/getProjectRoot";
import { getCliOptions } from "../src/bin/tools/cliOptions";
import { getLogger } from "../src/bin/tools/logger";
//NOTE: To run without argument when we want to generate src/i18n/generated_kcMessages files,
// update the version array for generating for newer version.
@ -16,14 +16,14 @@ const propertiesParser = require("properties-parser");
const { isSilent } = getCliOptions(process.argv.slice(2));
const logger = getLogger({ isSilent });
for (const keycloakVersion of ["11.0.3", "15.0.2", "18.0.1"]) {
logger.log(JSON.stringify({ keycloakVersion }));
(async () => {
const keycloakVersion = "21.0.1";
const tmpDirPath = pathJoin(getProjectRoot(), "tmp_xImOef9dOd44");
fs.rmSync(tmpDirPath, { "recursive": true, "force": true });
downloadBuiltinKeycloakTheme({
await downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": tmpDirPath,
isSilent
@ -55,11 +55,25 @@ for (const keycloakVersion of ["11.0.3", "15.0.2", "18.0.1"]) {
fs.rmSync(tmpDirPath, { recursive: true, force: true });
Object.keys(record).forEach(pageType => {
const recordForPageType = record[pageType];
Object.keys(record).forEach(themeType => {
const recordForPageType = record[themeType];
Object.keys(recordForPageType).forEach(language => {
const filePath = pathJoin(getProjectRoot(), "src", "lib", "i18n", "generated_messages", keycloakVersion, pageType, `${language}.ts`);
if (themeType !== "login" && themeType !== "account") {
return;
}
const baseMessagesDirPath = pathJoin(getProjectRoot(), "src", themeType, "i18n", "baseMessages");
const languages = Object.keys(recordForPageType);
const generatedFileHeader = [
`//This code was automatically generated by running ${pathRelative(getProjectRoot(), __filename)}`,
"//PLEASE DO NOT EDIT MANUALLY",
""
].join("\n");
languages.forEach(language => {
const filePath = pathJoin(baseMessagesDirPath, `${language}.ts`);
fs.mkdirSync(pathDirname(filePath), { "recursive": true });
@ -67,9 +81,7 @@ for (const keycloakVersion of ["11.0.3", "15.0.2", "18.0.1"]) {
filePath,
Buffer.from(
[
`//This code was automatically generated by running ${pathRelative(getProjectRoot(), __filename)}`,
"//PLEASE DO NOT EDIT MANUALLY",
"",
generatedFileHeader,
"/* spell-checker: disable */",
`const messages= ${JSON.stringify(recordForPageType[language], null, 2)};`,
"",
@ -82,5 +94,24 @@ for (const keycloakVersion of ["11.0.3", "15.0.2", "18.0.1"]) {
logger.log(`${filePath} wrote`);
});
fs.writeFileSync(
pathJoin(baseMessagesDirPath, "index.ts"),
Buffer.from(
[
generatedFileHeader,
"export async function getMessages(currentLanguageTag: string) {",
" const { default: messages } = await (() => {",
" switch (currentLanguageTag) {",
...languages.map(language => ` case "${language}": return import("./${language}");`),
' default: return { "default": {} };',
" }",
" })();",
" return messages;",
"}"
].join("\n"),
"utf8"
)
);
});
}
})();

143
scripts/link-in-app.ts Normal file
View File

@ -0,0 +1,143 @@
import { execSync } from "child_process";
import { join as pathJoin, relative as pathRelative } from "path";
import { getProjectRoot } from "../src/bin/tools/getProjectRoot";
import * as fs from "fs";
const singletonDependencies: string[] = ["react", "@types/react"];
const rootDirPath = getProjectRoot();
//NOTE: This is only required because of: https://github.com/garronej/ts-ci/blob/c0e207b9677523d4ec97fe672ddd72ccbb3c1cc4/README.md?plain=1#L54-L58
fs.writeFileSync(
pathJoin(rootDirPath, "dist", "package.json"),
Buffer.from(
JSON.stringify(
(() => {
const packageJsonParsed = JSON.parse(fs.readFileSync(pathJoin(rootDirPath, "package.json")).toString("utf8"));
return {
...packageJsonParsed,
"main": packageJsonParsed["main"]?.replace(/^dist\//, ""),
"types": packageJsonParsed["types"]?.replace(/^dist\//, ""),
"module": packageJsonParsed["module"]?.replace(/^dist\//, ""),
"exports": !("exports" in packageJsonParsed)
? undefined
: Object.fromEntries(
Object.entries(packageJsonParsed["exports"]).map(([key, value]) => [
key,
(value as string).replace(/^\.\/dist\//, "./")
])
)
};
})(),
null,
2
),
"utf8"
)
);
fs.cpSync(pathJoin(rootDirPath, "src"), pathJoin(rootDirPath, "dist", "src"), { "recursive": true });
const commonThirdPartyDeps = (() => {
// For example [ "@emotion" ] it's more convenient than
// having to list every sub emotion packages (@emotion/css @emotion/utils ...)
// in singletonDependencies
const namespaceSingletonDependencies: string[] = [];
return [
...namespaceSingletonDependencies
.map(namespaceModuleName =>
fs
.readdirSync(pathJoin(rootDirPath, "node_modules", namespaceModuleName))
.map(submoduleName => `${namespaceModuleName}/${submoduleName}`)
)
.reduce((prev, curr) => [...prev, ...curr], []),
...singletonDependencies
];
})();
const yarnGlobalDirPath = pathJoin(rootDirPath, ".yarn_home");
fs.rmSync(yarnGlobalDirPath, { "recursive": true, "force": true });
fs.mkdirSync(yarnGlobalDirPath);
const execYarnLink = (params: { targetModuleName?: string; cwd: string }) => {
const { targetModuleName, cwd } = params;
const cmd = ["yarn", "link", ...(targetModuleName !== undefined ? [targetModuleName] : ["--no-bin-links"])].join(" ");
console.log(`$ cd ${pathRelative(rootDirPath, cwd) || "."} && ${cmd}`);
execSync(cmd, {
cwd,
"env": {
...process.env,
"HOME": yarnGlobalDirPath
}
});
};
const testAppPaths = (() => {
const [, , ...testAppNames] = process.argv;
return testAppNames
.map(testAppName => {
const testAppPath = pathJoin(rootDirPath, "..", testAppName);
if (fs.existsSync(testAppPath)) {
return testAppPath;
}
console.warn(`Skipping ${testAppName} since it cant be found here: ${testAppPath}`);
return undefined;
})
.filter((path): path is string => path !== undefined);
})();
if (testAppPaths.length === 0) {
console.error("No test app to link into!");
process.exit(-1);
}
testAppPaths.forEach(testAppPath => execSync("yarn install", { "cwd": testAppPath }));
console.log("=== Linking common dependencies ===");
const total = commonThirdPartyDeps.length;
let current = 0;
commonThirdPartyDeps.forEach(commonThirdPartyDep => {
current++;
console.log(`${current}/${total} ${commonThirdPartyDep}`);
const localInstallPath = pathJoin(
...[rootDirPath, "node_modules", ...(commonThirdPartyDep.startsWith("@") ? commonThirdPartyDep.split("/") : [commonThirdPartyDep])]
);
execYarnLink({ "cwd": localInstallPath });
});
commonThirdPartyDeps.forEach(commonThirdPartyDep =>
testAppPaths.forEach(testAppPath =>
execYarnLink({
"cwd": testAppPath,
"targetModuleName": commonThirdPartyDep
})
)
);
console.log("=== Linking in house dependencies ===");
execYarnLink({ "cwd": pathJoin(rootDirPath, "dist") });
testAppPaths.forEach(testAppPath =>
execYarnLink({
"cwd": testAppPath,
"targetModuleName": JSON.parse(fs.readFileSync(pathJoin(rootDirPath, "package.json")).toString("utf8"))["name"]
})
);
export {};

26
src/account/Fallback.tsx Normal file
View File

@ -0,0 +1,26 @@
import { lazy, Suspense } from "react";
import type { PageProps } from "keycloakify/account/pages/PageProps";
import type { I18n } from "keycloakify/account/i18n";
import type { KcContext } from "./kcContext";
import { assert, type Equals } from "tsafe/assert";
const Password = lazy(() => import("keycloakify/account/pages/Password"));
const Account = lazy(() => import("keycloakify/account/pages/Account"));
export default function Fallback(props: PageProps<KcContext, I18n>) {
const { kcContext, ...rest } = props;
return (
<Suspense>
{(() => {
switch (kcContext.pageId) {
case "password.ftl":
return <Password kcContext={kcContext} {...rest} />;
case "account.ftl":
return <Account kcContext={kcContext} {...rest} />;
}
assert<Equals<typeof kcContext, never>>(false);
})()}
</Suspense>
);
}

127
src/account/Template.tsx Normal file
View File

@ -0,0 +1,127 @@
import { clsx } from "keycloakify/tools/clsx";
import { usePrepareTemplate } from "keycloakify/lib/usePrepareTemplate";
import { type TemplateProps } from "keycloakify/account/TemplateProps";
import type { KcContext } from "./kcContext";
import type { I18n } from "./i18n";
import { assert } from "keycloakify/tools/assert";
export default function Template(props: TemplateProps<KcContext, I18n>) {
const { kcContext, i18n, doUseDefaultCss, bodyClass, active, children } = props;
const { msg, changeLocale, labelBySupportedLanguageTag, currentLanguageTag } = i18n;
const { locale, url, features, realm, message, referrer } = kcContext;
const { isReady } = usePrepareTemplate({
"doFetchDefaultThemeResources": doUseDefaultCss,
url,
"stylesCommon": ["node_modules/patternfly/dist/css/patternfly.min.css", "node_modules/patternfly/dist/css/patternfly-additions.min.css"],
"styles": ["css/account.css"],
"htmlClassName": undefined,
"bodyClassName": clsx("admin-console", "user", bodyClass)
});
if (!isReady) {
return null;
}
return (
<>
<header className="navbar navbar-default navbar-pf navbar-main header">
<nav className="navbar" role="navigation">
<div className="navbar-header">
<div className="container">
<h1 className="navbar-title">Keycloak</h1>
</div>
</div>
<div className="navbar-collapse navbar-collapse-1">
<div className="container">
<ul className="nav navbar-nav navbar-utility">
{realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && (
<li>
<div className="kc-dropdown" id="kc-locale-dropdown">
<a href="#" id="kc-current-locale-link">
{labelBySupportedLanguageTag[currentLanguageTag]}
</a>
<ul>
{locale.supported.map(({ languageTag }) => (
<li key={languageTag} className="kc-dropdown-item">
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
<a href="#" onClick={() => changeLocale(languageTag)}>
{labelBySupportedLanguageTag[languageTag]}
</a>
</li>
))}
</ul>
</div>
</li>
)}
{referrer?.url !== undefined && (
<li>
<a href={referrer.url} id="referrer">
{msg("backTo", referrer.name)}
</a>
</li>
)}
<li>
<a href={url.getLogoutUrl()}>{msg("doSignOut")}</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div className="container">
<div className="bs-sidebar col-sm-3">
<ul>
<li className={clsx(active === "account" && "active")}>
<a href={url.accountUrl}>{msg("account")}</a>
</li>
{features.passwordUpdateSupported && (
<li className={clsx(active === "password" && "active")}>
<a href={url.passwordUrl}>{msg("password")}</a>
</li>
)}
<li className={clsx(active === "totp" && "active")}>
<a href={url.totpUrl}>{msg("authenticator")}</a>
</li>
{features.identityFederation && (
<li className={clsx(active === "social" && "active")}>
<a href={url.socialUrl}>{msg("federatedIdentity")}</a>
</li>
)}
<li className={clsx(active === "sessions" && "active")}>
<a href={url.sessionsUrl}>{msg("sessions")}</a>
</li>
<li className={clsx(active === "applications" && "active")}>
<a href={url.applicationsUrl}>{msg("applications")}</a>
</li>
{features.log && (
<li className={clsx(active === "log" && "active")}>
<a href={url.logUrl}>{msg("log")}</a>
</li>
)}
{realm.userManagedAccessAllowed && features.authorization && (
<li className={clsx(active === "authorization" && "active")}>
<a href={url.resourceUrl}>{msg("myResources")}</a>
</li>
)}
</ul>
</div>
<div className="col-sm-9 content-area">
{message !== undefined && (
<div className={clsx("alert", `alert-${message.type}`)}>
{message.type === "success" && <span className="pficon pficon-ok"></span>}
{message.type === "error" && <span className="pficon pficon-error-circle-o"></span>}
<span className="kc-feedback-text">{message.summary}</span>
</div>
)}
{children}
</div>
</div>
</>
);
}

View File

@ -0,0 +1,12 @@
import type { ReactNode } from "react";
import type { KcContext } from "./kcContext";
import type { I18n } from "./i18n";
export type TemplateProps<KcContext extends KcContext.Common, I18nExtended extends I18n> = {
kcContext: KcContext;
i18n: I18nExtended;
doUseDefaultCss: boolean;
active: string;
bodyClass: string | undefined;
children: ReactNode;
};

View File

@ -1,10 +1,11 @@
import "minimal-polyfills/Object.fromEntries";
//NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
import React, { useEffect, useState, useRef } from "react";
import type baseMessages from "./generated_messages/18.0.1/login/en";
import { useEffect, useState, useRef } from "react";
import fallbackMessages from "./baseMessages/en";
import { getMessages } from "./baseMessages";
import { assert } from "tsafe/assert";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { Markdown } from "../tools/Markdown";
import type { KcContext } from "../kcContext/KcContext";
import { Markdown } from "keycloakify/tools/Markdown";
export const fallbackLanguageTag = "en";
@ -15,11 +16,11 @@ export type KcContextLike = {
};
};
assert<KcContextBase extends KcContextLike ? true : false>();
assert<KcContext extends KcContextLike ? true : false>();
export type MessageKeyBase = keyof typeof baseMessages | keyof typeof keycloakifyExtraMessages[typeof fallbackLanguageTag];
export type MessageKey = keyof typeof fallbackMessages | keyof (typeof keycloakifyExtraMessages)[typeof fallbackLanguageTag];
export type I18n<MessageKey extends string = MessageKeyBase> = {
export type GenericI18n<MessageKey extends string> = {
/**
* e.g: "en", "fr", "zh-CN"
*
@ -67,134 +68,72 @@ export type I18n<MessageKey extends string = MessageKeyBase> = {
advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
};
export function __unsafe_useI18n<ExtraMessageKey extends string = never>(params: {
kcContext: KcContextLike;
extraMessages: { [languageTag: string]: { [key in ExtraMessageKey]: string } };
doSkip: boolean;
}): I18n<MessageKeyBase | ExtraMessageKey> | null {
const { kcContext, extraMessages, doSkip } = params;
export type I18n = GenericI18n<MessageKey>;
const [i18n, setI18n] = useState<I18n<ExtraMessageKey | MessageKeyBase> | undefined>(undefined);
export function createUseI18n<ExtraMessageKey extends string = never>(extraMessages: {
[languageTag: string]: { [key in ExtraMessageKey]: string };
}) {
function useI18n(params: { kcContext: KcContextLike }): GenericI18n<MessageKey | ExtraMessageKey> | null {
const { kcContext } = params;
const refHasStartedFetching = useRef(false);
const [i18n, setI18n] = useState<GenericI18n<ExtraMessageKey | MessageKey> | undefined>(undefined);
useEffect(() => {
if (doSkip || refHasStartedFetching.current) {
return;
}
const refHasStartedFetching = useRef(false);
refHasStartedFetching.current = true;
useEffect(() => {
if (refHasStartedFetching.current) {
return;
}
(async () => {
const { currentLanguageTag = fallbackLanguageTag } = kcContext.locale ?? {};
refHasStartedFetching.current = true;
const [fallbackMessages, messages] = await Promise.all([
import("./generated_messages/18.0.1/login/en"),
(() => {
switch (currentLanguageTag) {
case "ca":
return import("./generated_messages/18.0.1/login/ca");
case "cs":
return import("./generated_messages/18.0.1/login/cs");
case "da":
return import("./generated_messages/18.0.1/login/da");
case "de":
return import("./generated_messages/18.0.1/login/de");
case "en":
return import("./generated_messages/18.0.1/login/en");
case "es":
return import("./generated_messages/18.0.1/login/es");
case "fi":
return import("./generated_messages/18.0.1/login/fi");
case "fr":
return import("./generated_messages/18.0.1/login/fr");
case "hu":
return import("./generated_messages/18.0.1/login/hu");
case "it":
return import("./generated_messages/18.0.1/login/it");
case "ja":
return import("./generated_messages/18.0.1/login/ja");
case "lt":
return import("./generated_messages/18.0.1/login/lt");
case "lv":
return import("./generated_messages/18.0.1/login/lv");
case "nl":
return import("./generated_messages/18.0.1/login/nl");
case "no":
return import("./generated_messages/18.0.1/login/no");
case "pl":
return import("./generated_messages/18.0.1/login/pl");
case "pt-BR":
return import("./generated_messages/18.0.1/login/pt-BR");
case "ru":
return import("./generated_messages/18.0.1/login/ru");
case "sk":
return import("./generated_messages/18.0.1/login/sk");
case "sv":
return import("./generated_messages/18.0.1/login/sv");
case "tr":
return import("./generated_messages/18.0.1/login/tr");
case "zh-CN":
return import("./generated_messages/18.0.1/login/zh-CN");
default:
return { "default": {} };
}
})()
]).then(modules => modules.map(module => module.default));
(async () => {
const { currentLanguageTag = fallbackLanguageTag } = kcContext.locale ?? {};
setI18n({
...createI18nTranslationFunctions({
"fallbackMessages": {
...fallbackMessages,
...(keycloakifyExtraMessages[fallbackLanguageTag] ?? {}),
...(extraMessages[fallbackLanguageTag] ?? {})
} as any,
"messages": {
...messages,
...((keycloakifyExtraMessages as any)[currentLanguageTag] ?? {}),
...(extraMessages[currentLanguageTag] ?? {})
} as any
}),
currentLanguageTag,
"changeLocale": newLanguageTag => {
const { locale } = kcContext;
setI18n({
...createI18nTranslationFunctions({
"fallbackMessages": {
...fallbackMessages,
...(keycloakifyExtraMessages[fallbackLanguageTag] ?? {}),
...(extraMessages[fallbackLanguageTag] ?? {})
} as any,
"messages": {
...(await getMessages(currentLanguageTag)),
...((keycloakifyExtraMessages as any)[currentLanguageTag] ?? {}),
...(extraMessages[currentLanguageTag] ?? {})
} as any
}),
currentLanguageTag,
"changeLocale": newLanguageTag => {
const { locale } = kcContext;
assert(locale !== undefined, "Internationalization not enabled");
assert(locale !== undefined, "Internationalization not enabled");
const targetSupportedLocale = locale.supported.find(({ languageTag }) => languageTag === newLanguageTag);
const targetSupportedLocale = locale.supported.find(({ languageTag }) => languageTag === newLanguageTag);
assert(targetSupportedLocale !== undefined, `${newLanguageTag} need to be enabled in Keycloak admin`);
assert(targetSupportedLocale !== undefined, `${newLanguageTag} need to be enabled in Keycloak admin`);
window.location.href = targetSupportedLocale.url;
window.location.href = targetSupportedLocale.url;
assert(false, "never");
},
"labelBySupportedLanguageTag": Object.fromEntries(
(kcContext.locale?.supported ?? []).map(({ languageTag, label }) => [languageTag, label])
)
});
})();
}, []);
assert(false, "never");
},
"labelBySupportedLanguageTag": Object.fromEntries(
(kcContext.locale?.supported ?? []).map(({ languageTag, label }) => [languageTag, label])
)
});
})();
}, []);
return i18n ?? null;
}
return i18n ?? null;
}
const useI18n_private = __unsafe_useI18n;
export function useI18n<ExtraMessageKey extends string = never>(params: {
kcContext: KcContextLike;
extraMessages: { [languageTag: string]: { [key in ExtraMessageKey]: string } };
}): I18n<MessageKeyBase | ExtraMessageKey> | null {
return useI18n_private({
...params,
"doSkip": false
});
return { useI18n };
}
function createI18nTranslationFunctions<MessageKey extends string>(params: {
fallbackMessages: Record<MessageKey, string>;
messages: Record<MessageKey, string>;
}): Pick<I18n<MessageKey>, "msg" | "msgStr" | "advancedMsg" | "advancedMsgStr"> {
}): Pick<GenericI18n<MessageKey>, "msg" | "msgStr" | "advancedMsg" | "advancedMsgStr"> {
const { fallbackMessages, messages } = params;
function resolveMsg(props: { key: string; args: (string | undefined)[]; doRenderMarkdown: boolean }): string | JSX.Element | undefined {

View File

@ -0,0 +1 @@
export type { I18n } from "./i18n";

8
src/account/index.ts Normal file
View File

@ -0,0 +1,8 @@
import Fallback from "keycloakify/account/Fallback";
export default Fallback;
export { getKcContext } from "keycloakify/account/kcContext/getKcContext";
export { createUseI18n } from "keycloakify/account/i18n/i18n";
export type { PageProps } from "keycloakify/account/pages/PageProps";

View File

@ -0,0 +1,81 @@
import type { AccountThemePageId } from "keycloakify/bin/keycloakify/generateFtl";
import { assert } from "tsafe/assert";
import type { Equals } from "tsafe";
export type KcContext = KcContext.Password | KcContext.Account;
export declare namespace KcContext {
export type Common = {
locale?: {
supported: {
url: string;
label: string;
languageTag: string;
}[];
currentLanguageTag: string;
};
url: {
accountUrl: string;
passwordUrl: string;
totpUrl: string;
socialUrl: string;
sessionsUrl: string;
applicationsUrl: string;
logUrl: string;
resourceUrl: string;
resourcesCommonPath: string;
resourcesPath: string;
getLogoutUrl: () => string;
};
features: {
passwordUpdateSupported: boolean;
identityFederation: boolean;
log: boolean;
authorization: boolean;
};
realm: {
internationalizationEnabled: boolean;
userManagedAccessAllowed: boolean;
};
message?: {
type: "success" | "warning" | "error" | "info";
summary: string;
};
referrer?: {
url?: string;
name: string;
};
messagesPerField: {
printIfExists: <T>(fieldName: string, x: T) => T | undefined;
existsError: (fieldName: string) => boolean;
get: (fieldName: string) => string;
exists: (fieldName: string) => boolean;
};
};
export type Password = Common & {
pageId: "password.ftl";
password: {
passwordSet: boolean;
};
};
export type Account = Common & {
pageId: "account.ftl";
url: {
referrerURI: string;
accountUrl: string;
};
realm: {
registrationEmailAsUsername: boolean;
editUsernameAllowed: boolean;
};
stateChecker: string;
account: {
firstName: string;
lastName?: string;
};
};
}
assert<Equals<KcContext["pageId"], AccountThemePageId>>();

View File

@ -0,0 +1,72 @@
import { kcContextMocks, kcContextCommonMock } from "./kcContextMocks";
import type { DeepPartial } from "keycloakify/tools/DeepPartial";
import { deepAssign } from "keycloakify/tools/deepAssign";
import type { ExtendKcContext } from "./getKcContextFromWindow";
import { getKcContextFromWindow } from "./getKcContextFromWindow";
import { pathJoin } from "keycloakify/bin/tools/pathJoin";
import { pathBasename } from "keycloakify/tools/pathBasename";
import { mockTestingResourcesCommonPath } from "keycloakify/bin/mockTestingResourcesPath";
import { symToStr } from "tsafe/symToStr";
export function getKcContext<KcContextExtension extends { pageId: string } = never>(params?: {
mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
}): { kcContext: ExtendKcContext<KcContextExtension> | undefined } {
const { mockPageId, mockData } = params ?? {};
const realKcContext = getKcContextFromWindow<KcContextExtension>();
if (mockPageId !== undefined && realKcContext === undefined) {
//TODO maybe trow if no mock fo custom page
console.log(
[
`%cKeycloakify: ${symToStr({ mockPageId })} set to ${mockPageId}.`,
`If assets are missing make sure you have built your Keycloak theme at least once.`
].join(" "),
"background: red; color: yellow; font-size: medium"
);
const kcContextDefaultMock = kcContextMocks.find(({ pageId }) => pageId === mockPageId);
const partialKcContextCustomMock = mockData?.find(({ pageId }) => pageId === mockPageId);
if (kcContextDefaultMock === undefined && partialKcContextCustomMock === undefined) {
console.warn(
[
`WARNING: You declared the non build in page ${mockPageId} but you didn't `,
`provide mock data needed to debug the page outside of Keycloak as you are trying to do now.`,
`Please check the documentation of the getKcContext function`
].join("\n")
);
}
const kcContext: any = {};
deepAssign({
"target": kcContext,
"source": kcContextDefaultMock !== undefined ? kcContextDefaultMock : { "pageId": mockPageId, ...kcContextCommonMock }
});
if (partialKcContextCustomMock !== undefined) {
deepAssign({
"target": kcContext,
"source": partialKcContextCustomMock
});
}
return { kcContext };
}
if (realKcContext === undefined) {
return { "kcContext": undefined };
}
{
const { url } = realKcContext;
url.resourcesCommonPath = pathJoin(url.resourcesPath, pathBasename(mockTestingResourcesCommonPath));
}
return { "kcContext": realKcContext };
}

View File

@ -0,0 +1,11 @@
import type { KcContext } from "./KcContext";
import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
import { ftlValuesGlobalName } from "keycloakify/bin/keycloakify/ftlValuesGlobalName";
export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [KcContextExtension] extends [never]
? KcContext
: AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
export function getKcContextFromWindow<KcContextExtension extends { pageId: string } = never>(): ExtendKcContext<KcContextExtension> | undefined {
return typeof window === "undefined" ? undefined : (window as any)[ftlValuesGlobalName];
}

View File

@ -0,0 +1 @@
export type { KcContext } from "./KcContext";

View File

@ -0,0 +1,172 @@
import "minimal-polyfills/Object.fromEntries";
import type { KcContext } from "./KcContext";
import { mockTestingResourcesCommonPath, mockTestingResourcesPath } from "keycloakify/bin/mockTestingResourcesPath";
import { pathJoin } from "keycloakify/bin/tools/pathJoin";
import { id } from "tsafe/id";
const PUBLIC_URL = process.env["PUBLIC_URL"] ?? "/";
export const kcContextCommonMock: KcContext.Common = {
"url": {
"resourcesPath": pathJoin(PUBLIC_URL, mockTestingResourcesPath),
"resourcesCommonPath": pathJoin(PUBLIC_URL, mockTestingResourcesCommonPath),
"resourceUrl": "#",
"accountUrl": "#",
"applicationsUrl": "#",
"getLogoutUrl": () => "#",
"logUrl": "#",
"passwordUrl": "#",
"sessionsUrl": "#",
"socialUrl": "#",
"totpUrl": "#"
},
"realm": {
"internationalizationEnabled": true,
"userManagedAccessAllowed": true
},
"messagesPerField": {
"printIfExists": () => {
return undefined;
},
"existsError": () => false,
"get": key => `Fake error for ${key}`,
"exists": () => false
},
"locale": {
"supported": [
/* spell-checker: disable */
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=de",
"label": "Deutsch",
"languageTag": "de"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=no",
"label": "Norsk",
"languageTag": "no"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ru",
"label": "РуссĐșĐžĐč",
"languageTag": "ru"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=sv",
"label": "Svenska",
"languageTag": "sv"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=pt-BR",
"label": "PortuguĂȘs (Brasil)",
"languageTag": "pt-BR"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=lt",
"label": "LietuviĆł",
"languageTag": "lt"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=en",
"label": "English",
"languageTag": "en"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=it",
"label": "Italiano",
"languageTag": "it"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=fr",
"label": "Français",
"languageTag": "fr"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=zh-CN",
"label": "äž­æ–‡çź€äœ“",
"languageTag": "zh-CN"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=es",
"label": "Español",
"languageTag": "es"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=cs",
"label": "Čeơtina",
"languageTag": "cs"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ja",
"label": "æ—„æœŹèȘž",
"languageTag": "ja"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=sk",
"label": "Slovenčina",
"languageTag": "sk"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=pl",
"label": "Polski",
"languageTag": "pl"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ca",
"label": "CatalĂ ",
"languageTag": "ca"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=nl",
"label": "Nederlands",
"languageTag": "nl"
},
{
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=tr",
"label": "TĂŒrkçe",
"languageTag": "tr"
}
/* spell-checker: enable */
],
"currentLanguageTag": "en"
},
"message": {
"type": "success",
"summary": "This is a test message"
},
"features": {
"authorization": true,
"identityFederation": true,
"log": true,
"passwordUpdateSupported": true
},
"referrer": undefined
};
export const kcContextMocks: KcContext[] = [
id<KcContext.Password>({
...kcContextCommonMock,
"pageId": "password.ftl",
"password": {
"passwordSet": true
}
}),
id<KcContext.Account>({
...kcContextCommonMock,
"pageId": "account.ftl",
"url": {
...kcContextCommonMock.url,
"referrerURI": "#",
"accountUrl": "#"
},
"realm": {
...kcContextCommonMock.realm,
"registrationEmailAsUsername": true,
"editUsernameAllowed": true
},
"stateChecker": "",
"account": {
"firstName": "john",
"lastName": "doe"
}
})
];

View File

@ -0,0 +1,131 @@
import { clsx } from "keycloakify/tools/clsx";
import { type PageProps, defaultClasses } from "keycloakify/account/pages/PageProps";
import { useGetClassName } from "keycloakify/lib/useGetClassName";
import type { KcContext } from "../kcContext";
import type { I18n } from "../i18n";
export default function LogoutConfirm(props: PageProps<Extract<KcContext, { pageId: "account.ftl" }>, I18n>) {
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
const { getClassName } = useGetClassName({
"defaultClasses": !doUseDefaultCss ? undefined : defaultClasses,
classes
});
const { url, realm, messagesPerField, stateChecker, account } = kcContext;
const { msg } = i18n;
return (
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="account" bodyClass="user">
<div className="row">
<div className="col-md-10">
<h2>{msg("editAccountHtmlTitle")}</h2>
</div>
<div className="col-md-2 subtitle">
<span className="subtitle">
<span className="required">*</span> {msg("requiredFields")}
</span>
</div>
</div>
<form action={url.accountUrl} className="form-horizontal" method="post">
<input type="hidden" id="stateChecker" name="stateChecker" value={stateChecker} />
{!realm.registrationEmailAsUsername && (
<div className="form-group ${messagesPerField.printIfExists('username','has-error')}">
<div className="col-sm-2 col-md-2">
<label htmlFor="username" className="control-label">
{msg("username")}
</label>
{realm.editUsernameAllowed && <span className="required">*</span>}
</div>
<div className="col-sm-10 col-md-10">
<input
type="text"
className="form-control"
id="username"
name="username"
disabled={!realm.editUsernameAllowed}
value="${(account.username!'')}"
/>
</div>
</div>
)}
<div className={clsx("form-group", messagesPerField.printIfExists("email", "has-error"))}>
<div className="col-sm-2 col-md-2">
<label htmlFor="email" className="control-label">
{msg("email")}
</label>{" "}
<span className="required">*</span>
</div>
<div className="col-sm-10 col-md-10">
<input type="text" className="form-control" id="email" name="email" autoFocus value="${(account.email!'')}" />
</div>
</div>
<div className={clsx("form-group", messagesPerField.printIfExists("firstName", "has-error"))}>
<div className="col-sm-2 col-md-2">
<label htmlFor="firstName" className="control-label">
{msg("firstName")}
</label>{" "}
<span className="required">*</span>
</div>
<div className="col-sm-10 col-md-10">
<input type="text" className="form-control" id="firstName" name="firstName" value={account.firstName ?? ""} />
</div>
</div>
<div className={clsx("form-group", messagesPerField.printIfExists("lastName", "has-error"))}>
<div className="col-sm-2 col-md-2">
<label htmlFor="lastName" className="control-label">
{msg("lastName")}
</label>{" "}
<span className="required">*</span>
</div>
<div className="col-sm-10 col-md-10">
<input type="text" className="form-control" id="lastName" name="lastName" value={account.lastName || ""} />
</div>
</div>
<div className="form-group">
<div id="kc-form-buttons" className="col-md-offset-2 col-md-10 submit">
<div>
{url.referrerURI !== undefined && <a href={url.referrerURI}>${msg("backToApplication")}</a>}
<button
type="submit"
className={clsx(
getClassName("kcButtonClass"),
getClassName("kcButtonPrimaryClass"),
getClassName("kcButtonLargeClass")
)}
name="submitAction"
value="Save"
>
{msg("doSave")}
</button>
<button
type="submit"
className={clsx(
getClassName("kcButtonClass"),
getClassName("kcButtonDefaultClass"),
getClassName("kcButtonLargeClass")
)}
name="submitAction"
value="Cancel"
>
{msg("doCancel")}
</button>
I
</div>
</div>
</div>
</form>
</Template>
);
}

View File

@ -0,0 +1,21 @@
import type { LazyExoticComponent } from "react";
import type { I18n } from "keycloakify/account/i18n";
import { type TemplateProps } from "keycloakify/account/TemplateProps";
export type PageProps<KcContext, I18nExtended extends I18n> = {
Template: LazyExoticComponent<(props: TemplateProps<any, any>) => JSX.Element | null>;
kcContext: KcContext;
i18n: I18nExtended;
doUseDefaultCss: boolean;
classes?: Partial<Record<ClassKey, string>>;
};
export type ClassKey = "kcButtonClass" | "kcButtonPrimaryClass" | "kcButtonLargeClass" | "kcButtonDefaultClass";
export const defaultClasses: Record<ClassKey, string | undefined> = {
/** password.ftl */
"kcButtonClass": "btn",
"kcButtonPrimaryClass": "btn-primary",
"kcButtonLargeClass": "btn-lg",
"kcButtonDefaultClass": "btn-default"
};

View File

@ -0,0 +1,102 @@
import { clsx } from "keycloakify/tools/clsx";
import { type PageProps, defaultClasses } from "keycloakify/account/pages/PageProps";
import { useGetClassName } from "keycloakify/lib/useGetClassName";
import type { KcContext } from "../kcContext";
import type { I18n } from "../i18n";
export default function LogoutConfirm(props: PageProps<Extract<KcContext, { pageId: "password.ftl" }>, I18n>) {
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
const { getClassName } = useGetClassName({
"defaultClasses": !doUseDefaultCss ? undefined : defaultClasses,
classes
});
const { password } = kcContext;
const { msg } = i18n;
return (
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} active="password" bodyClass="password">
<div className="row">
<div className="col-md-10">
<h2>{msg("changePasswordHtmlTitle")}</h2>
</div>
<div className="col-md-2 subtitle">
<span className="subtitle">${msg("allFieldsRequired")}</span>
</div>
</div>
<form action="${url.passwordUrl}" className="form-horizontal" method="post">
<input
type="text"
id="username"
name="username"
value="${(account.username!'')}"
autoComplete="username"
readOnly
style={{ "display": "none;" }}
/>
{password.passwordSet && (
<div className="form-group">
<div className="col-sm-2 col-md-2">
<label htmlFor="password" className="control-label">
{msg("password")}
</label>
</div>
<div className="col-sm-10 col-md-10">
<input type="password" className="form-control" id="password" name="password" autoFocus autoComplete="current-password" />
</div>
</div>
)}
<input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}" />
<div className="form-group">
<div className="col-sm-2 col-md-2">
<label htmlFor="password-new" className="control-label">
{msg("passwordNew")}
</label>
</div>
<div className="col-sm-10 col-md-10">
<input type="password" className="form-control" id="password-new" name="password-new" autoComplete="new-password" />
</div>
</div>
<div className="form-group">
<div className="col-sm-2 col-md-2">
<label htmlFor="password-confirm" className="control-label two-lines">
{msg("passwordConfirm")}
</label>
</div>
<div className="col-sm-10 col-md-10">
<input type="password" className="form-control" id="password-confirm" name="password-confirm" autoComplete="new-password" />
</div>
</div>
<div className="form-group">
<div id="kc-form-buttons" className="col-md-offset-2 col-md-10 submit">
<div>
<button
type="submit"
className={clsx(
getClassName("kcButtonClass"),
getClassName("kcButtonPrimaryClass"),
getClassName("kcButtonLargeClass")
)}
name="submitAction"
value="Save"
>
{msg("doSave")}
</button>
</div>
</div>
</div>
</form>
</Template>
);
}

View File

@ -1,41 +0,0 @@
#!/usr/bin/env node
import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme";
import { keycloakThemeEmailDirPath } from "./keycloakify";
import { join as pathJoin, basename as pathBasename } from "path";
import { transformCodebase } from "./tools/transformCodebase";
import { promptKeycloakVersion } from "./promptKeycloakVersion";
import * as fs from "fs";
import { getCliOptions } from "./tools/cliOptions";
import { getLogger } from "./tools/logger";
if (require.main === module) {
(async () => {
const { isSilent } = getCliOptions(process.argv.slice(2));
const logger = getLogger({ isSilent });
if (fs.existsSync(keycloakThemeEmailDirPath)) {
logger.warn(`There is already a ./${pathBasename(keycloakThemeEmailDirPath)} directory in your project. Aborting.`);
process.exit(-1);
}
const { keycloakVersion } = await promptKeycloakVersion();
const builtinKeycloakThemeTmpDirPath = pathJoin(keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": builtinKeycloakThemeTmpDirPath,
isSilent
});
transformCodebase({
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "email"),
"destDirPath": keycloakThemeEmailDirPath
});
logger.log(`./${pathBasename(keycloakThemeEmailDirPath)} ready to be customized`);
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
})();
}

View File

@ -0,0 +1,64 @@
#!/usr/bin/env node
import { getProjectRoot } from "./tools/getProjectRoot";
import cliSelect from "cli-select";
import {
loginThemePageIds,
accountThemePageIds,
type LoginThemePageId,
type AccountThemePageId,
themeTypes,
type ThemeType
} from "./keycloakify/generateFtl/generateFtl";
import { capitalize } from "tsafe/capitalize";
import { readFile, writeFile } from "fs/promises";
import { existsSync } from "fs";
import { join as pathJoin, relative as pathRelative } from "path";
import { kebabCaseToCamelCase } from "./tools/kebabCaseToSnakeCase";
import { assert, Equals } from "tsafe/assert";
(async () => {
const projectRootDir = getProjectRoot();
console.log("Select a theme type");
const { value: themeType } = await cliSelect<ThemeType>({
"values": [...themeTypes]
}).catch(() => {
console.log("Aborting");
process.exit(-1);
});
console.log("Select a page you would like to eject");
const { value: pageId } = await cliSelect<LoginThemePageId | AccountThemePageId>({
"values": (() => {
switch (themeType) {
case "login":
return [...loginThemePageIds];
case "account":
return [...accountThemePageIds];
}
assert<Equals<typeof themeType, never>>(false);
})()
}).catch(() => {
console.log("Aborting");
process.exit(-1);
});
const pageBasename = capitalize(kebabCaseToCamelCase(pageId)).replace(/ftl$/, "tsx");
const targetFilePath = pathJoin(process.cwd(), "src", "keycloak-theme", themeType, "pages", pageBasename);
if (existsSync(targetFilePath)) {
console.log(`${pageId} is already ejected, ${pathRelative(process.cwd(), targetFilePath)} already exists`);
process.exit(-1);
}
writeFile(targetFilePath, await readFile(pathJoin(projectRootDir, "src", "pages", themeType, pageBasename)));
console.log(`${pathRelative(process.cwd(), targetFilePath)} created`);
})();

View File

@ -0,0 +1,40 @@
#!/usr/bin/env node
import { downloadBuiltinKeycloakTheme } from "./download-builtin-keycloak-theme";
import { keycloakThemeEmailDirPath } from "./keycloakify";
import { join as pathJoin, relative as pathRelative } from "path";
import { transformCodebase } from "./tools/transformCodebase";
import { promptKeycloakVersion } from "./promptKeycloakVersion";
import * as fs from "fs";
import { getCliOptions } from "./tools/cliOptions";
import { getLogger } from "./tools/logger";
(async () => {
const { isSilent } = getCliOptions(process.argv.slice(2));
const logger = getLogger({ isSilent });
if (fs.existsSync(keycloakThemeEmailDirPath)) {
logger.warn(`There is already a ${pathRelative(process.cwd(), keycloakThemeEmailDirPath)} directory in your project. Aborting.`);
process.exit(-1);
}
const { keycloakVersion } = await promptKeycloakVersion();
const builtinKeycloakThemeTmpDirPath = pathJoin(keycloakThemeEmailDirPath, "..", "tmp_xIdP3_builtin_keycloak_theme");
await downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": builtinKeycloakThemeTmpDirPath,
isSilent
});
transformCodebase({
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "email"),
"destDirPath": keycloakThemeEmailDirPath
});
logger.log(`${pathRelative(process.cwd(), keycloakThemeEmailDirPath)} ready to be customized`);
fs.rmSync(builtinKeycloakThemeTmpDirPath, { "recursive": true, "force": true });
})();

View File

@ -7,13 +7,16 @@ import { typeGuard } from "tsafe/typeGuard";
import { symToStr } from "tsafe/symToStr";
const bundlers = ["mvn", "keycloakify", "none"] as const;
type Bundler = typeof bundlers[number];
type Bundler = (typeof bundlers)[number];
type ParsedPackageJson = {
name: string;
version: string;
homepage?: string;
keycloakify?: {
/** @deprecated: use extraLoginPages instead */
extraPages?: string[];
extraLoginPages?: string[];
extraAccountPages?: string[];
extraThemeProperties?: string[];
areAppAndKeycloakServerSharingSameDomain?: boolean;
artifactId?: string;
@ -29,6 +32,8 @@ const zParsedPackageJson = z.object({
"keycloakify": z
.object({
"extraPages": z.array(z.string()).optional(),
"extraLoginPages": z.array(z.string()).optional(),
"extraAccountPages": z.array(z.string()).optional(),
"extraThemeProperties": z.array(z.string()).optional(),
"areAppAndKeycloakServerSharingSameDomain": z.boolean().optional(),
"artifactId": z.string().optional(),
@ -38,7 +43,7 @@ const zParsedPackageJson = z.object({
.optional()
});
assert<Equals<ReturnType<typeof zParsedPackageJson["parse"]>, ParsedPackageJson>>();
assert<Equals<ReturnType<(typeof zParsedPackageJson)["parse"]>, ParsedPackageJson>>();
/** Consolidated build option gathered form CLI arguments and config in package.json */
export type BuildOptions = BuildOptions.Standalone | BuildOptions.ExternalAssets;
@ -48,7 +53,8 @@ export namespace BuildOptions {
isSilent: boolean;
version: string;
themeName: string;
extraPages?: string[];
extraLoginPages: string[] | undefined;
extraAccountPages: string[] | undefined;
extraThemeProperties?: string[];
groupId: string;
artifactId: string;
@ -119,7 +125,7 @@ export function readBuildOptions(params: {
const common: BuildOptions.Common = (() => {
const { name, keycloakify = {}, version, homepage } = parsedPackageJson;
const { extraPages, extraThemeProperties, groupId, artifactId, bundler } = keycloakify ?? {};
const { extraPages, extraLoginPages, extraAccountPages, extraThemeProperties, groupId, artifactId, bundler } = keycloakify ?? {};
const themeName = name
.replace(/^@(.*)/, "$1")
@ -158,7 +164,8 @@ export function readBuildOptions(params: {
);
})(),
"version": process.env.KEYCLOAKIFY_VERSION ?? version,
extraPages,
"extraLoginPages": [...(extraPages ?? []), ...(extraLoginPages ?? [])],
extraAccountPages,
extraThemeProperties,
isSilent
};

View File

@ -2,8 +2,7 @@
<#assign pageId="PAGE_ID_xIgLsPgGId9D8e">
(()=>{
const out =
${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
const out = ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
out["msg"]= function(){ throw new Error("use import { useKcMessage } from 'keycloakify'"); };
out["advancedMsg"]= function(){ throw new Error("use import { useKcMessage } from 'keycloakify'"); };
@ -113,6 +112,13 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
out["pageId"] = "${pageId}";
out["url"]["getLogoutUrl"] = function () {
<#attempt>
return "${url.getLogoutUrl()}";
<#recover>
</#attempt>
};
return out;
})()
@ -174,6 +180,10 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
) || (
["masterAdminClient", "delegateForUpdate", "defaultRole"]?seq_contains(key) &&
are_same_path(path, ["realm"])
) || (
"error.ftl" == pageId &&
are_same_path(path, ["realm"]) &&
!["name", "displayName", "displayNameHtml", "internationalizationEnabled", "registrationEmailAsUsername" ]?seq_contains(key)
)
>
<#local out_seq += ["/*If you need '" + key + "' on " + pageId + ", please submit an issue to the Keycloakify repo*/"]>

View File

@ -10,8 +10,11 @@ import type { BuildOptions } from "../BuildOptions";
import { assert } from "tsafe/assert";
import { Reflect } from "tsafe/Reflect";
// https://github.com/keycloak/keycloak/blob/main/services/src/main/java/org/keycloak/forms/login/freemarker/Templates.java
export const pageIds = [
export const themeTypes = ["login", "account"] as const;
export type ThemeType = (typeof themeTypes)[number];
export const loginThemePageIds = [
"login.ftl",
"login-username.ftl",
"login-password.ftl",
@ -35,6 +38,11 @@ export const pageIds = [
"idp-review-user-profile.ftl"
] as const;
export const accountThemePageIds = ["password.ftl", "account.ftl"] as const;
export type LoginThemePageId = (typeof loginThemePageIds)[number];
export type AccountThemePageId = (typeof accountThemePageIds)[number];
export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
export namespace BuildOptionsLike {
@ -68,8 +76,6 @@ export namespace BuildOptionsLike {
assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
}
export type PageId = typeof pageIds[number];
export function generateFtlFilesCodeFactory(params: {
indexHtmlCode: string;
//NOTE: Expected to be an empty object if external assets mode is enabled.

View File

@ -1,5 +1,6 @@
import * as fs from "fs";
import { join as pathJoin, dirname as pathDirname } from "path";
import { themeTypes } from "./generateFtl/generateFtl";
import { assert } from "tsafe/assert";
import { Reflect } from "tsafe/Reflect";
import type { BuildOptions } from "./BuildOptions";
@ -69,7 +70,7 @@ export function generateJavaStackFiles(params: {
"themes": [
{
"name": themeName,
"types": ["login", ...(doBundlesEmailTemplate ? ["email"] : [])]
"types": [...themeTypes, ...(doBundlesEmailTemplate ? ["email"] : [])]
}
]
},

View File

@ -3,7 +3,7 @@ import * as fs from "fs";
import { join as pathJoin, basename as pathBasename } from "path";
import { replaceImportsFromStaticInJsCode } from "./replacers/replaceImportsFromStaticInJsCode";
import { replaceImportsInCssCode } from "./replacers/replaceImportsInCssCode";
import { generateFtlFilesCodeFactory, pageIds } from "./generateFtl";
import { generateFtlFilesCodeFactory, loginThemePageIds, accountThemePageIds, themeTypes, type ThemeType } from "./generateFtl";
import { downloadBuiltinKeycloakTheme } from "../download-builtin-keycloak-theme";
import { mockTestingResourcesCommonPath, mockTestingResourcesPath, mockTestingSubDirOfPublicDirBasename } from "../mockTestingResourcesPath";
import { isInside } from "../tools/isInside";
@ -17,7 +17,8 @@ export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.Ex
export namespace BuildOptionsLike {
export type Common = {
themeName: string;
extraPages?: string[];
extraLoginPages?: string[];
extraAccountPages?: string[];
extraThemeProperties?: string[];
isSilent: boolean;
};
@ -62,58 +63,167 @@ export async function generateKeycloakThemeResources(params: {
const { reactAppBuildDirPath, keycloakThemeBuildingDirPath, keycloakThemeEmailDirPath, keycloakVersion, buildOptions } = params;
const logger = getLogger({ isSilent: buildOptions.isSilent });
const themeDirPath = pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, "login");
const getThemeDirPath = (themeType: ThemeType | "email") =>
pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", buildOptions.themeName, themeType);
let allCssGlobalsToDefine: Record<string, string> = {};
transformCodebase({
"destDirPath": buildOptions.isStandalone ? pathJoin(themeDirPath, "resources", "build") : reactAppBuildDirPath,
"srcDirPath": reactAppBuildDirPath,
"transformSourceCode": ({ filePath, sourceCode }) => {
//NOTE: Prevent cycles, excludes the folder we generated for debug in public/
if (
buildOptions.isStandalone &&
isInside({
"dirPath": pathJoin(reactAppBuildDirPath, mockTestingSubDirOfPublicDirBasename),
filePath
})
) {
return undefined;
let generateFtlFilesCode_glob: ReturnType<typeof generateFtlFilesCodeFactory>["generateFtlFilesCode"] | undefined = undefined;
for (const themeType of themeTypes) {
const themeDirPath = getThemeDirPath(themeType);
copy_app_resources_to_theme_path: {
const isFirstPass = themeType.indexOf(themeType) === 0;
if (!isFirstPass && !buildOptions.isStandalone) {
break copy_app_resources_to_theme_path;
}
if (/\.css?$/i.test(filePath)) {
if (!buildOptions.isStandalone) {
return undefined;
transformCodebase({
"destDirPath": buildOptions.isStandalone ? pathJoin(themeDirPath, "resources", "build") : reactAppBuildDirPath,
"srcDirPath": reactAppBuildDirPath,
"transformSourceCode": ({ filePath, sourceCode }) => {
//NOTE: Prevent cycles, excludes the folder we generated for debug in public/
if (
buildOptions.isStandalone &&
isInside({
"dirPath": pathJoin(reactAppBuildDirPath, mockTestingSubDirOfPublicDirBasename),
filePath
})
) {
return undefined;
}
if (/\.css?$/i.test(filePath)) {
if (!buildOptions.isStandalone) {
return undefined;
}
const { cssGlobalsToDefine, fixedCssCode } = replaceImportsInCssCode({
"cssCode": sourceCode.toString("utf8")
});
register_css_variables: {
if (!isFirstPass) {
break register_css_variables;
}
allCssGlobalsToDefine = {
...allCssGlobalsToDefine,
...cssGlobalsToDefine
};
}
return { "modifiedSourceCode": Buffer.from(fixedCssCode, "utf8") };
}
if (/\.js?$/i.test(filePath)) {
if (!buildOptions.isStandalone && buildOptions.areAppAndKeycloakServerSharingSameDomain) {
return undefined;
}
const { fixedJsCode } = replaceImportsFromStaticInJsCode({
"jsCode": sourceCode.toString("utf8"),
buildOptions
});
return { "modifiedSourceCode": Buffer.from(fixedJsCode, "utf8") };
}
return buildOptions.isStandalone ? { "modifiedSourceCode": sourceCode } : undefined;
}
const { cssGlobalsToDefine, fixedCssCode } = replaceImportsInCssCode({
"cssCode": sourceCode.toString("utf8")
});
allCssGlobalsToDefine = {
...allCssGlobalsToDefine,
...cssGlobalsToDefine
};
return { "modifiedSourceCode": Buffer.from(fixedCssCode, "utf8") };
}
if (/\.js?$/i.test(filePath)) {
if (!buildOptions.isStandalone && buildOptions.areAppAndKeycloakServerSharingSameDomain) {
return undefined;
}
const { fixedJsCode } = replaceImportsFromStaticInJsCode({
"jsCode": sourceCode.toString("utf8"),
buildOptions
});
return { "modifiedSourceCode": Buffer.from(fixedJsCode, "utf8") };
}
return buildOptions.isStandalone ? { "modifiedSourceCode": sourceCode } : undefined;
});
}
});
const generateFtlFilesCode = (() => {
if (generateFtlFilesCode_glob !== undefined) {
return generateFtlFilesCode_glob;
}
const { generateFtlFilesCode } = generateFtlFilesCodeFactory({
"indexHtmlCode": fs.readFileSync(pathJoin(reactAppBuildDirPath, "index.html")).toString("utf8"),
"cssGlobalsToDefine": allCssGlobalsToDefine,
"buildOptions": buildOptions
});
return generateFtlFilesCode;
})();
[
...(() => {
switch (themeType) {
case "login":
return loginThemePageIds;
case "account":
return accountThemePageIds;
}
})(),
...((() => {
switch (themeType) {
case "login":
return buildOptions.extraLoginPages;
case "account":
return buildOptions.extraAccountPages;
}
})() ?? [])
].forEach(pageId => {
const { ftlCode } = generateFtlFilesCode({ pageId });
fs.mkdirSync(themeDirPath, { "recursive": true });
fs.writeFileSync(pathJoin(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
});
{
const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_xxKdLpdIdLd");
await downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": tmpDirPath,
isSilent: buildOptions.isSilent
});
const themeResourcesDirPath = pathJoin(themeDirPath, "resources");
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "login", "resources"),
"destDirPath": themeResourcesDirPath
});
const reactAppPublicDirPath = pathJoin(reactAppBuildDirPath, "..", "public");
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "common", "resources"),
"destDirPath": pathJoin(themeResourcesDirPath, pathBasename(mockTestingResourcesCommonPath))
});
transformCodebase({
"srcDirPath": themeResourcesDirPath,
"destDirPath": pathJoin(reactAppPublicDirPath, mockTestingResourcesPath)
});
const keycloakResourcesWithinPublicDirPath = pathJoin(reactAppPublicDirPath, mockTestingSubDirOfPublicDirBasename);
fs.writeFileSync(
pathJoin(keycloakResourcesWithinPublicDirPath, "README.txt"),
Buffer.from(
["This is just a test folder that helps develop", "the login and register page without having to run a Keycloak container"].join(
" "
)
)
);
fs.writeFileSync(pathJoin(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));
fs.rmSync(tmpDirPath, { recursive: true, force: true });
}
fs.writeFileSync(
pathJoin(themeDirPath, "theme.properties"),
Buffer.from(["parent=keycloak", ...(buildOptions.extraThemeProperties ?? [])].join("\n\n"), "utf8")
);
}
let doBundlesEmailTemplate: boolean;
@ -133,69 +243,9 @@ export async function generateKeycloakThemeResources(params: {
transformCodebase({
"srcDirPath": keycloakThemeEmailDirPath,
"destDirPath": pathJoin(themeDirPath, "..", "email")
"destDirPath": getThemeDirPath("email")
});
}
const { generateFtlFilesCode } = generateFtlFilesCodeFactory({
"indexHtmlCode": fs.readFileSync(pathJoin(reactAppBuildDirPath, "index.html")).toString("utf8"),
"cssGlobalsToDefine": allCssGlobalsToDefine,
"buildOptions": buildOptions
});
[...pageIds, ...(buildOptions.extraPages ?? [])].forEach(pageId => {
const { ftlCode } = generateFtlFilesCode({ pageId });
fs.mkdirSync(themeDirPath, { "recursive": true });
fs.writeFileSync(pathJoin(themeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
});
{
const tmpDirPath = pathJoin(themeDirPath, "..", "tmp_xxKdLpdIdLd");
await downloadBuiltinKeycloakTheme({
keycloakVersion,
"destDirPath": tmpDirPath,
isSilent: buildOptions.isSilent
});
const themeResourcesDirPath = pathJoin(themeDirPath, "resources");
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "login", "resources"),
"destDirPath": themeResourcesDirPath
});
const reactAppPublicDirPath = pathJoin(reactAppBuildDirPath, "..", "public");
transformCodebase({
"srcDirPath": pathJoin(tmpDirPath, "keycloak", "common", "resources"),
"destDirPath": pathJoin(themeResourcesDirPath, pathBasename(mockTestingResourcesCommonPath))
});
transformCodebase({
"srcDirPath": themeResourcesDirPath,
"destDirPath": pathJoin(reactAppPublicDirPath, mockTestingResourcesPath)
});
const keycloakResourcesWithinPublicDirPath = pathJoin(reactAppPublicDirPath, mockTestingSubDirOfPublicDirBasename);
fs.writeFileSync(
pathJoin(keycloakResourcesWithinPublicDirPath, "README.txt"),
Buffer.from(
["This is just a test folder that helps develop", "the login and register page without having to run a Keycloak container"].join(" ")
)
);
fs.writeFileSync(pathJoin(keycloakResourcesWithinPublicDirPath, ".gitignore"), Buffer.from("*", "utf8"));
fs.rmSync(tmpDirPath, { recursive: true, force: true });
}
fs.writeFileSync(
pathJoin(themeDirPath, "theme.properties"),
Buffer.from(["parent=keycloak", ...(buildOptions.extraThemeProperties ?? [])].join("\n\n"), "utf8")
);
return { doBundlesEmailTemplate };
}

View File

@ -30,15 +30,18 @@ export function generateStartKeycloakTestingContainer(params: {
buildOptions: { themeName }
} = params;
const keycloakThemePath = pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", themeName).replace(/\\/g, "/");
fs.writeFileSync(
pathJoin(keycloakThemeBuildingDirPath, generateStartKeycloakTestingContainer.basename),
Buffer.from(
[
"#!/usr/bin/env bash",
"",
`docker rm ${containerName} || true`,
"",
`cd ${keycloakThemeBuildingDirPath}`,
`cd "${keycloakThemeBuildingDirPath.replace(/\\/g, "/")}"`,
"",
"docker run \\",
" -p 8080:8080 \\",
@ -46,14 +49,7 @@ export function generateStartKeycloakTestingContainer(params: {
" -e KEYCLOAK_ADMIN=admin \\",
" -e KEYCLOAK_ADMIN_PASSWORD=admin \\",
" -e JAVA_OPTS=-Dkeycloak.profile=preview \\",
` -v ${pathJoin(
keycloakThemeBuildingDirPath,
"src",
"main",
"resources",
"theme",
themeName
)}:/opt/keycloak/themes/${themeName}:rw \\`,
` -v "${keycloakThemePath}":"/opt/keycloak/themes/${themeName}":rw \\`,
` -it quay.io/keycloak/keycloak:${keycloakVersion} \\`,
` start-dev`,
""

View File

@ -14,7 +14,7 @@ import type { Equals } from "tsafe";
const reactProjectDirPath = process.cwd();
export const keycloakThemeBuildingDirPath = pathJoin(reactProjectDirPath, "build_keycloak");
export const keycloakThemeEmailDirPath = pathJoin(keycloakThemeBuildingDirPath, "..", "keycloak_email");
export const keycloakThemeEmailDirPath = pathJoin(reactProjectDirPath, "src", "keycloak-theme", "email");
export async function main() {
const { isSilent, hasExternalAssets } = getCliOptions(process.argv.slice(2));

View File

@ -1,128 +0,0 @@
import { execSync } from "child_process";
import { join as pathJoin, relative as pathRelative } from "path";
import { exclude } from "tsafe/exclude";
import * as fs from "fs";
const keycloakifyDirPath = pathJoin(__dirname, "..", "..");
fs.writeFileSync(
pathJoin(keycloakifyDirPath, "dist", "package.json"),
Buffer.from(
JSON.stringify(
(() => {
const packageJsonParsed = JSON.parse(fs.readFileSync(pathJoin(keycloakifyDirPath, "package.json")).toString("utf8"));
return {
...packageJsonParsed,
"main": packageJsonParsed["main"].replace(/^dist\//, ""),
"types": packageJsonParsed["types"].replace(/^dist\//, ""),
"bin": Object.fromEntries(Object.entries<string>(packageJsonParsed["bin"]).map(([k, v]) => [k, v.replace(/^dist\//, "")]))
};
})(),
null,
2
),
"utf8"
)
);
const commonThirdPartyDeps = (() => {
const namespaceModuleNames = ["@emotion"];
const standaloneModuleNames = ["react", "@types/react", "powerhooks", "tss-react", "evt"];
return [
...namespaceModuleNames
.map(namespaceModuleName =>
fs
.readdirSync(pathJoin(keycloakifyDirPath, "node_modules", namespaceModuleName))
.map(submoduleName => `${namespaceModuleName}/${submoduleName}`)
)
.reduce((prev, curr) => [...prev, ...curr], []),
...standaloneModuleNames
];
})();
const yarnHomeDirPath = pathJoin(keycloakifyDirPath, ".yarn_home");
fs.rmSync(yarnHomeDirPath, { "recursive": true, "force": true });
fs.mkdirSync(yarnHomeDirPath);
const execYarnLink = (params: { targetModuleName?: string; cwd: string }) => {
const { targetModuleName, cwd } = params;
const cmd = ["yarn", "link", ...(targetModuleName !== undefined ? [targetModuleName] : [])].join(" ");
console.log(`$ cd ${pathRelative(keycloakifyDirPath, cwd) || "."} && ${cmd}`);
execSync(cmd, {
cwd,
"env": {
...process.env,
"HOME": yarnHomeDirPath
}
});
};
const testAppPaths = (() => {
const arg = process.argv[2];
const testAppNames = arg !== undefined ? [arg] : ["keycloakify-starter", "keycloakify-advanced-starter"];
return testAppNames
.map(testAppName => {
const testAppPath = pathJoin(keycloakifyDirPath, "..", testAppName);
if (fs.existsSync(testAppPath)) {
return testAppPath;
}
console.warn(`Skipping ${testAppName} since it cant be found here: ${testAppPath}`);
return undefined;
})
.filter(exclude(undefined));
})();
if (testAppPaths.length === 0) {
console.error("No test app to link into!");
process.exit(-1);
}
testAppPaths.forEach(testAppPath => execSync("yarn install", { "cwd": testAppPath }));
console.log("=== Linking common dependencies ===");
const total = commonThirdPartyDeps.length;
let current = 0;
commonThirdPartyDeps.forEach(commonThirdPartyDep => {
current++;
console.log(`${current}/${total} ${commonThirdPartyDep}`);
const localInstallPath = pathJoin(
...[keycloakifyDirPath, "node_modules", ...(commonThirdPartyDep.startsWith("@") ? commonThirdPartyDep.split("/") : [commonThirdPartyDep])]
);
execYarnLink({ "cwd": localInstallPath });
});
commonThirdPartyDeps.forEach(commonThirdPartyDep =>
testAppPaths.forEach(testAppPath =>
execYarnLink({
"cwd": testAppPath,
"targetModuleName": commonThirdPartyDep
})
)
);
console.log("=== Linking in house dependencies ===");
execYarnLink({ "cwd": pathJoin(keycloakifyDirPath, "dist") });
testAppPaths.forEach(testAppPath =>
execYarnLink({
"cwd": testAppPath,
"targetModuleName": "keycloakify"
})
);

View File

@ -42,6 +42,7 @@ export function crc32(input: Readable | String | Buffer): Promise<number> {
} else if (input instanceof Readable) {
return new Promise<number>((resolve, reject) => {
let crc = ~0;
input.setMaxListeners(Infinity);
input.on("end", () => resolve((crc ^ -1) >>> 0));
input.on("error", e => reject(e));
input.on("data", (chunk: Buffer) => {

View File

@ -1,27 +1,22 @@
import { dirname as pathDirname, basename as pathBasename, join as pathJoin } from "path";
import { createReadStream, createWriteStream, unlinkSync } from "fs";
import { stat, mkdir, unlink, readFile, writeFile } from "fs/promises";
import { dirname as pathDirname, basename as pathBasename, join as pathJoin, join } from "path";
import { createReadStream, createWriteStream } from "fs";
import { stat, mkdir, unlink, writeFile } from "fs/promises";
import { transformCodebase } from "./transformCodebase";
import { createHash } from "crypto";
import http from "http";
import https from "https";
import fetch from "make-fetch-happen";
import { createInflateRaw } from "zlib";
import type { Readable } from "stream";
import { homedir } from "os";
import { FetchOptions } from "make-fetch-happen";
import { exec as execCallback } from "child_process";
import { promisify } from "util";
const exec = promisify(execCallback);
function hash(s: string) {
return createHash("sha256").update(s).digest("hex");
}
async function maybeReadFile(path: string) {
try {
return await readFile(path, "utf-8");
} catch (error) {
if ((error as Error & { code: string }).code === "ENOENT") return undefined;
throw error;
}
}
async function maybeStat(path: string) {
try {
return await stat(path);
@ -32,69 +27,59 @@ async function maybeStat(path: string) {
}
/**
* Download a file from `url` to `dir`. Will try to avoid downloading existing
* files by using an `{hash(url)}.etag` file. If this file exists, we add an
* etag headear, so server can tell us if file changed and we should re-download
* or if our file is up-to-date.
* Get an npm configuration value as string, undefined if not set.
*
* Warning, this method assumes that the target filename can be extracted from
* url, content-disposition headers are ignored.
* @param key
* @returns string or undefined
*/
async function getNmpConfig(key: string): Promise<string | undefined> {
const { stdout } = await exec(`npm config get ${key}`);
const value = stdout.trim();
return value && value !== "null" ? value : undefined;
}
/**
* Get proxy configuration from npm config files. Note that we don't care about
* proxy config in env vars, because make-fetch-happen will do that for us.
*
* @returns proxy configuration
*/
async function getNpmProxyConfig(): Promise<Pick<FetchOptions, "proxy" | "noProxy">> {
const proxy = (await getNmpConfig("https-proxy")) ?? (await getNmpConfig("proxy"));
const noProxy = (await getNmpConfig("noproxy")) ?? (await getNmpConfig("no-proxy"));
return { proxy, noProxy };
}
/**
* Download a file from `url` to `dir`. Will try to avoid downloading existing
* files by using the cache directory ~/.keycloakify/cache
*
* If the target directory does not exist, it will be created.
*
* If the target file exists and is out of date, it will be overwritten.
* If the target file exists and there is no etag file, the target file will
* be overwritten.
* If the target file exists, it will be overwritten.
*
* We use make-fetch-happen's internal file cache here, so we don't need to
* worry about redownloading the same file over and over. Unfortunately, that
* cache does not have a single file per entry, but bundles and indexes them,
* so we still need to write the contents to the target directory (possibly
* over and over), cause the current unzip implementation wants random access.
*
* @param url download url
* @param dir target directory
* @param filename target filename
* @returns promise for the full path of the downloaded file
*/
async function download(url: string, dir: string): Promise<string> {
await mkdir(dir, { recursive: true });
const filename = pathBasename(url);
async function download(url: string, dir: string, filename: string): Promise<string> {
const proxyOpts = await getNpmProxyConfig();
const cacheRoot = process.env.XDG_CACHE_HOME ?? homedir();
const cachePath = join(cacheRoot, ".keycloakify/cache");
const opts: FetchOptions = { cachePath, ...proxyOpts };
const response = await fetch(url, opts);
const filepath = pathJoin(dir, filename);
// If downloaded file exists already and has an `.etag` companion file,
// read the etag from that file. This will avoid re-downloading the file
// if it is up to date.
const exists = await maybeStat(filepath);
const etagFilepath = pathJoin(dir, "_" + hash(url).substring(0, 15) + ".etag");
const etag = !exists ? undefined : await maybeReadFile(etagFilepath);
return new Promise((resolve, reject) => {
// use inner method to allow following redirects
function request(url1: URL) {
const headers: Record<string, string> = {};
if (etag) headers["If-None-Match"] = etag;
(url1.protocol === "https:" ? https : http).get(url1, { headers }, response => {
if (response.statusCode === 301 || response.statusCode === 302) {
// follow redirects
request(new URL(response.headers.location!!));
} else if (response.statusCode === 304) {
// up-to-date, resolve now
resolve(filepath);
} else if (response.statusCode !== 200) {
reject(new Error(`Request to ${url1} returned status ${response.statusCode}.`));
} else {
const fp = createWriteStream(filepath, { autoClose: true });
fp.on("err", e => {
fp.close();
unlinkSync(filepath);
reject(e);
});
fp.on("finish", async () => {
// when targetfile has been written, write etag file so that
// next time around we don't need to re-download
const responseEtag = response.headers.etag;
if (responseEtag) await writeFile(etagFilepath, responseEtag, "utf-8");
resolve(filepath);
});
response.pipe(fp);
}
});
}
request(new URL(url));
});
await mkdir(dir, { recursive: true });
await writeFile(filepath, response.body);
return filepath;
}
/**
@ -145,6 +130,7 @@ async function unzip(zipFile: string, dir: string, archiveDir?: string): Promise
// Pull the file out of the archive, write it to the target directory
const input = createRecordReadStream();
const output = createWriteStream(filePath);
output.setMaxListeners(Infinity);
output.on("error", e => reject(Object.assign(e, { filePath })));
output.on("finish", () => resolve(filePath));
input.pipe(output);
@ -181,6 +167,7 @@ async function readFileChunk(file: string, start: number, end: number): Promise<
const chunks: Buffer[] = [];
return new Promise((resolve, reject) => {
const stream = createReadStream(file, { start, end });
stream.setMaxListeners(Infinity);
stream.on("error", e => reject(e));
stream.on("end", () => resolve(Buffer.concat(chunks)));
stream.on("data", chunk => chunks.push(chunk as Buffer));
@ -278,7 +265,8 @@ export async function downloadAndUnzip({
const downloadHash = hash(JSON.stringify({ url, pathOfDirToExtractInArchive })).substring(0, 15);
const extractDirPath = pathJoin(cacheDirPath, `_${downloadHash}`);
const zipFilepath = await download(url, cacheDirPath);
const filename = pathBasename(url);
const zipFilepath = await download(url, cacheDirPath, filename);
const zipMtime = (await stat(zipFilepath)).mtimeMs;
const unzipMtime = (await maybeStat(extractDirPath))?.mtimeMs;

View File

@ -0,0 +1,7 @@
import { capitalize } from "tsafe/capitalize";
export function kebabCaseToCamelCase(kebabCaseString: string): string {
const [first, ...rest] = kebabCaseString.split("-");
return [first, ...rest.map(capitalize)].join("");
}

View File

@ -1,6 +1,7 @@
import { Transform, TransformOptions } from "stream";
import { createReadStream } from "fs";
import { stat } from "fs/promises";
import { Blob } from "buffer";
import { deflateBuffer, deflateStream } from "./deflate";

1
src/index.ts Normal file
View File

@ -0,0 +1 @@
export { createKeycloakAdapter } from "keycloakify/lib/keycloakJsAdapter";

View File

@ -1,58 +0,0 @@
import React, { useState, memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
import { UserProfileFormFields } from "./shared/UserProfileCommons";
export type IdpReviewUserProfileProps = KcProps & {
kcContext: KcContextBase.IdpReviewUserProfile;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const IdpReviewUserProfile = memo((props: IdpReviewUserProfileProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { msg, msgStr } = i18n;
const { url } = kcContext;
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
headerNode={msg("loginIdpReviewProfileTitle")}
formNode={
<form id="kc-idp-review-profile-form" className={clsx(kcProps.kcFormClass)} action={url.loginAction} method="post">
<UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...kcProps} />
<div className={clsx(kcProps.kcFormGroupClass)}>
<div id="kc-form-options" className={clsx(kcProps.kcFormOptionsClass)}>
<div className={clsx(kcProps.kcFormOptionsWrapperClass)} />
</div>
<div id="kc-form-buttons" className={clsx(kcProps.kcFormButtonsClass)}>
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
type="submit"
value={msgStr("doSubmit")}
disabled={!isFomSubmittable}
/>
</div>
</div>
</form>
}
/>
);
});
export default IdpReviewUserProfile;

View File

@ -1,109 +0,0 @@
import React, { lazy, memo, Suspense } from "react";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import type { KcProps } from "./KcProps";
import { __unsafe_useI18n as useI18n } from "../i18n";
import type { I18n } from "../i18n";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
const Login = lazy(() => import("./Login"));
const Register = lazy(() => import("./Register"));
const RegisterUserProfile = lazy(() => import("./RegisterUserProfile"));
const Info = lazy(() => import("./Info"));
const Error = lazy(() => import("./Error"));
const LoginResetPassword = lazy(() => import("./LoginResetPassword"));
const LoginVerifyEmail = lazy(() => import("./LoginVerifyEmail"));
const Terms = lazy(() => import("./Terms"));
const LoginOtp = lazy(() => import("./LoginOtp"));
const LoginPassword = lazy(() => import("./LoginPassword"));
const LoginUsername = lazy(() => import("./LoginUsername"));
const WebauthnAuthenticate = lazy(() => import("./WebauthnAuthenticate"));
const LoginUpdatePassword = lazy(() => import("./LoginUpdatePassword"));
const LoginUpdateProfile = lazy(() => import("./LoginUpdateProfile"));
const LoginIdpLinkConfirm = lazy(() => import("./LoginIdpLinkConfirm"));
const LoginPageExpired = lazy(() => import("./LoginPageExpired"));
const LoginIdpLinkEmail = lazy(() => import("./LoginIdpLinkEmail"));
const LoginConfigTotp = lazy(() => import("./LoginConfigTotp"));
const LogoutConfirm = lazy(() => import("./LogoutConfirm"));
const UpdateUserProfile = lazy(() => import("./UpdateUserProfile"));
const IdpReviewUserProfile = lazy(() => import("./IdpReviewUserProfile"));
export type KcAppProps = KcProps & {
kcContext: KcContextBase;
i18n?: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const KcApp = memo((props_: KcAppProps) => {
const { kcContext, i18n: userProvidedI18n, Template = DefaultTemplate, ...kcProps } = props_;
const i18n = (function useClosure() {
const i18n = useI18n({
kcContext,
"extraMessages": {},
"doSkip": userProvidedI18n !== undefined
});
return userProvidedI18n ?? i18n;
})();
if (i18n === null) {
return null;
}
const commonProps = { i18n, Template, ...kcProps };
return (
<Suspense>
{(() => {
switch (kcContext.pageId) {
case "login.ftl":
return <Login {...{ kcContext, ...commonProps }} />;
case "register.ftl":
return <Register {...{ kcContext, ...commonProps }} />;
case "register-user-profile.ftl":
return <RegisterUserProfile {...{ kcContext, ...commonProps }} />;
case "info.ftl":
return <Info {...{ kcContext, ...commonProps }} />;
case "error.ftl":
return <Error {...{ kcContext, ...commonProps }} />;
case "login-reset-password.ftl":
return <LoginResetPassword {...{ kcContext, ...commonProps }} />;
case "login-verify-email.ftl":
return <LoginVerifyEmail {...{ kcContext, ...commonProps }} />;
case "terms.ftl":
return <Terms {...{ kcContext, ...commonProps }} />;
case "login-otp.ftl":
return <LoginOtp {...{ kcContext, ...commonProps }} />;
case "login-username.ftl":
return <LoginUsername {...{ kcContext, ...commonProps }} />;
case "login-password.ftl":
return <LoginPassword {...{ kcContext, ...commonProps }} />;
case "webauthn-authenticate.ftl":
return <WebauthnAuthenticate {...{ kcContext, ...commonProps }} />;
case "login-update-password.ftl":
return <LoginUpdatePassword {...{ kcContext, ...commonProps }} />;
case "login-update-profile.ftl":
return <LoginUpdateProfile {...{ kcContext, ...commonProps }} />;
case "login-idp-link-confirm.ftl":
return <LoginIdpLinkConfirm {...{ kcContext, ...commonProps }} />;
case "login-idp-link-email.ftl":
return <LoginIdpLinkEmail {...{ kcContext, ...commonProps }} />;
case "login-page-expired.ftl":
return <LoginPageExpired {...{ kcContext, ...commonProps }} />;
case "login-config-totp.ftl":
return <LoginConfigTotp {...{ kcContext, ...commonProps }} />;
case "logout-confirm.ftl":
return <LogoutConfirm {...{ kcContext, ...commonProps }} />;
case "update-user-profile.ftl":
return <UpdateUserProfile {...{ kcContext, ...commonProps }} />;
case "idp-review-user-profile.ftl":
return <IdpReviewUserProfile {...{ kcContext, ...commonProps }} />;
}
})()}
</Suspense>
);
});
export default KcApp;

View File

@ -1,213 +0,0 @@
import { allPropertiesValuesToUndefined } from "../tools/allPropertiesValuesToUndefined";
import { assert } from "tsafe/assert";
/** Class names can be provided as an array or separated by whitespace */
export type KcPropsGeneric<CssClasses extends string> = {
[key in CssClasses]: readonly string[] | string | undefined;
};
export type KcTemplateClassKey =
| "stylesCommon"
| "styles"
| "scripts"
| "kcHtmlClass"
| "kcLoginClass"
| "kcHeaderClass"
| "kcHeaderWrapperClass"
| "kcFormCardClass"
| "kcFormCardAccountClass"
| "kcFormHeaderClass"
| "kcLocaleWrapperClass"
| "kcContentWrapperClass"
| "kcLabelWrapperClass"
| "kcFormGroupClass"
| "kcResetFlowIcon"
| "kcFeedbackSuccessIcon"
| "kcFeedbackWarningIcon"
| "kcFeedbackErrorIcon"
| "kcFeedbackInfoIcon"
| "kcFormSocialAccountContentClass"
| "kcFormSocialAccountClass"
| "kcSignUpClass"
| "kcInfoAreaWrapperClass";
export type KcTemplateProps = KcPropsGeneric<KcTemplateClassKey>;
export const defaultKcTemplateProps = {
"stylesCommon": [
"node_modules/patternfly/dist/css/patternfly.min.css",
"node_modules/patternfly/dist/css/patternfly-additions.min.css",
"lib/zocial/zocial.css"
],
"styles": ["css/login.css"],
"scripts": [],
"kcHtmlClass": ["login-pf"],
"kcLoginClass": ["login-pf-page"],
"kcContentWrapperClass": ["row"],
"kcHeaderClass": ["login-pf-page-header"],
"kcHeaderWrapperClass": [],
"kcFormCardClass": ["card-pf"],
"kcFormCardAccountClass": ["login-pf-accounts"],
"kcFormSocialAccountClass": ["login-pf-social-section"],
"kcFormSocialAccountContentClass": ["col-xs-12", "col-sm-6"],
"kcFormHeaderClass": ["login-pf-header"],
"kcLocaleWrapperClass": [],
"kcFeedbackErrorIcon": ["pficon", "pficon-error-circle-o"],
"kcFeedbackWarningIcon": ["pficon", "pficon-warning-triangle-o"],
"kcFeedbackSuccessIcon": ["pficon", "pficon-ok"],
"kcFeedbackInfoIcon": ["pficon", "pficon-info"],
"kcResetFlowIcon": ["pficon", "pficon-arrow fa-2x"],
"kcFormGroupClass": ["form-group"],
"kcLabelWrapperClass": ["col-xs-12", "col-sm-12", "col-md-12", "col-lg-12"],
"kcSignUpClass": ["login-pf-signup"],
"kcInfoAreaWrapperClass": []
} as const;
assert<typeof defaultKcTemplateProps extends KcTemplateProps ? true : false>();
/** Tu use if you don't want any default */
export const allClearKcTemplateProps = allPropertiesValuesToUndefined(defaultKcTemplateProps);
assert<typeof allClearKcTemplateProps extends KcTemplateProps ? true : false>();
export type KcProps = KcPropsGeneric<
| KcTemplateClassKey
| "kcLogoLink"
| "kcLogoClass"
| "kcContainerClass"
| "kcContentClass"
| "kcFeedbackAreaClass"
| "kcLocaleClass"
| "kcAlertIconClasserror"
| "kcFormAreaClass"
| "kcFormSocialAccountListClass"
| "kcFormSocialAccountDoubleListClass"
| "kcFormSocialAccountListLinkClass"
| "kcWebAuthnKeyIcon"
| "kcWebAuthnDefaultIcon"
| "kcFormClass"
| "kcFormGroupErrorClass"
| "kcLabelClass"
| "kcInputClass"
| "kcInputErrorMessageClass"
| "kcInputWrapperClass"
| "kcFormOptionsClass"
| "kcFormButtonsClass"
| "kcFormSettingClass"
| "kcTextareaClass"
| "kcInfoAreaClass"
| "kcFormGroupHeader"
| "kcButtonClass"
| "kcButtonPrimaryClass"
| "kcButtonDefaultClass"
| "kcButtonLargeClass"
| "kcButtonBlockClass"
| "kcInputLargeClass"
| "kcSrOnlyClass"
| "kcSelectAuthListClass"
| "kcSelectAuthListItemClass"
| "kcSelectAuthListItemFillClass"
| "kcSelectAuthListItemInfoClass"
| "kcSelectAuthListItemLeftClass"
| "kcSelectAuthListItemBodyClass"
| "kcSelectAuthListItemDescriptionClass"
| "kcSelectAuthListItemHeadingClass"
| "kcSelectAuthListItemHelpTextClass"
| "kcSelectAuthListItemIconPropertyClass"
| "kcSelectAuthListItemIconClass"
| "kcSelectAuthListItemTitle"
| "kcAuthenticatorDefaultClass"
| "kcAuthenticatorPasswordClass"
| "kcAuthenticatorOTPClass"
| "kcAuthenticatorWebAuthnClass"
| "kcAuthenticatorWebAuthnPasswordlessClass"
| "kcSelectOTPListClass"
| "kcSelectOTPListItemClass"
| "kcAuthenticatorOtpCircleClass"
| "kcSelectOTPItemHeadingClass"
| "kcFormOptionsWrapperClass"
>;
export const defaultKcProps = {
...defaultKcTemplateProps,
"kcLogoLink": "http://www.keycloak.org",
"kcLogoClass": "login-pf-brand",
"kcContainerClass": "container-fluid",
"kcContentClass": ["col-sm-8", "col-sm-offset-2", "col-md-6", "col-md-offset-3", "col-lg-6", "col-lg-offset-3"],
"kcFeedbackAreaClass": ["col-md-12"],
"kcLocaleClass": ["col-xs-12", "col-sm-1"],
"kcAlertIconClasserror": ["pficon", "pficon-error-circle-o"],
"kcFormAreaClass": ["col-sm-10", "col-sm-offset-1", "col-md-8", "col-md-offset-2", "col-lg-8", "col-lg-offset-2"],
"kcFormSocialAccountListClass": ["login-pf-social", "list-unstyled", "login-pf-social-all"],
"kcFormSocialAccountDoubleListClass": ["login-pf-social-double-col"],
"kcFormSocialAccountListLinkClass": ["login-pf-social-link"],
"kcWebAuthnKeyIcon": ["pficon", "pficon-key"],
"kcWebAuthnDefaultIcon": ["pficon", "pficon-key"],
"kcFormClass": ["form-horizontal"],
"kcFormGroupErrorClass": ["has-error"],
"kcLabelClass": ["control-label"],
"kcInputClass": ["form-control"],
"kcInputErrorMessageClass": ["pf-c-form__helper-text", "pf-m-error", "required", "kc-feedback-text"],
"kcInputWrapperClass": ["col-xs-12", "col-sm-12", "col-md-12", "col-lg-12"],
"kcFormOptionsClass": ["col-xs-12", "col-sm-12", "col-md-12", "col-lg-12"],
"kcFormButtonsClass": ["col-xs-12", "col-sm-12", "col-md-12", "col-lg-12"],
"kcFormSettingClass": ["login-pf-settings"],
"kcTextareaClass": ["form-control"],
"kcInfoAreaClass": ["col-xs-12", "col-sm-4", "col-md-4", "col-lg-5", "details"],
// user-profile grouping
"kcFormGroupHeader": ["pf-c-form__group"],
// css classes for form buttons main class used for all buttons
"kcButtonClass": ["btn"],
// classes defining priority of the button - primary or default (there is typically only one priority button for the form)
"kcButtonPrimaryClass": ["btn-primary"],
"kcButtonDefaultClass": ["btn-default"],
// classes defining size of the button
"kcButtonLargeClass": ["btn-lg"],
"kcButtonBlockClass": ["btn-block"],
// css classes for input
"kcInputLargeClass": ["input-lg"],
// css classes for form accessability
"kcSrOnlyClass": ["sr-only"],
// css classes for select-authenticator form
"kcSelectAuthListClass": ["list-group", "list-view-pf"],
"kcSelectAuthListItemClass": ["list-group-item", "list-view-pf-stacked"],
"kcSelectAuthListItemFillClass": ["pf-l-split__item", "pf-m-fill"],
"kcSelectAuthListItemIconPropertyClass": ["fa-2x", "select-auth-box-icon-properties"],
"kcSelectAuthListItemIconClass": ["pf-l-split__item", "select-auth-box-icon"],
"kcSelectAuthListItemTitle": ["select-auth-box-paragraph"],
"kcSelectAuthListItemInfoClass": ["list-view-pf-main-info"],
"kcSelectAuthListItemLeftClass": ["list-view-pf-left"],
"kcSelectAuthListItemBodyClass": ["list-view-pf-body"],
"kcSelectAuthListItemDescriptionClass": ["list-view-pf-description"],
"kcSelectAuthListItemHeadingClass": ["list-group-item-heading"],
"kcSelectAuthListItemHelpTextClass": ["list-group-item-text"],
// css classes for the authenticators
"kcAuthenticatorDefaultClass": ["fa", "list-view-pf-icon-lg"],
"kcAuthenticatorPasswordClass": ["fa", "fa-unlock list-view-pf-icon-lg"],
"kcAuthenticatorOTPClass": ["fa", "fa-mobile", "list-view-pf-icon-lg"],
"kcAuthenticatorWebAuthnClass": ["fa", "fa-key", "list-view-pf-icon-lg"],
"kcAuthenticatorWebAuthnPasswordlessClass": ["fa", "fa-key", "list-view-pf-icon-lg"],
//css classes for the OTP Login Form
"kcSelectOTPListClass": ["card-pf", "card-pf-view", "card-pf-view-select", "card-pf-view-single-select"],
"kcSelectOTPListItemClass": ["card-pf-body", "card-pf-top-element"],
"kcAuthenticatorOtpCircleClass": ["fa", "fa-mobile", "card-pf-icon-circle"],
"kcSelectOTPItemHeadingClass": ["card-pf-title", "text-center"],
"kcFormOptionsWrapperClass": []
} as const;
assert<typeof defaultKcProps extends KcProps ? true : false>();
/** Tu use if you don't want any default */
export const allClearKcProps = allPropertiesValuesToUndefined(defaultKcProps);
assert<typeof allClearKcProps extends KcProps ? true : false>();

View File

@ -1,65 +0,0 @@
import React, { memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
export type LoginIdpLinkConfirmProps = KcProps & {
kcContext: KcContextBase.LoginIdpLinkConfirm;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const LoginIdpLinkConfirm = memo((props: LoginIdpLinkConfirmProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { url, idpAlias } = kcContext;
const { msg } = i18n;
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
headerNode={msg("confirmLinkIdpTitle")}
formNode={
<form id="kc-register-form" action={url.loginAction} method="post">
<div className={clsx(kcProps.kcFormGroupClass)}>
<button
type="submit"
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonDefaultClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
name="submitAction"
id="updateProfile"
value="updateProfile"
>
{msg("confirmLinkIdpReviewProfile")}
</button>
<button
type="submit"
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonDefaultClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
name="submitAction"
id="linkAccount"
value="linkAccount"
>
{msg("confirmLinkIdpContinue", idpAlias)}
</button>
</div>
</form>
}
/>
);
});
export default LoginIdpLinkConfirm;

View File

@ -1,80 +0,0 @@
import React, { memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
export type LoginResetPasswordProps = KcProps & {
kcContext: KcContextBase.LoginResetPassword;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const LoginResetPassword = memo((props: LoginResetPasswordProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { url, realm, auth } = kcContext;
const { msg, msgStr } = i18n;
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
displayMessage={false}
headerNode={msg("emailForgotTitle")}
formNode={
<form id="kc-reset-password-form" className={clsx(kcProps.kcFormClass)} action={url.loginAction} method="post">
<div className={clsx(kcProps.kcFormGroupClass)}>
<div className={clsx(kcProps.kcLabelWrapperClass)}>
<label htmlFor="username" className={clsx(kcProps.kcLabelClass)}>
{!realm.loginWithEmailAllowed
? msg("username")
: !realm.registrationEmailAsUsername
? msg("usernameOrEmail")
: msg("email")}
</label>
</div>
<div className={clsx(kcProps.kcInputWrapperClass)}>
<input
type="text"
id="username"
name="username"
className={clsx(kcProps.kcInputClass)}
autoFocus
defaultValue={auth !== undefined && auth.showUsername ? auth.attemptedUsername : undefined}
/>
</div>
</div>
<div className={clsx(kcProps.kcFormGroupClass, kcProps.kcFormSettingClass)}>
<div id="kc-form-options" className={clsx(kcProps.kcFormOptionsClass)}>
<div className={clsx(kcProps.kcFormOptionsWrapperClass)}>
<span>
<a href={url.loginUrl}>{msg("backToLogin")}</a>
</span>
</div>
</div>
<div id="kc-form-buttons" className={clsx(kcProps.kcFormButtonsClass)}>
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
type="submit"
value={msgStr("doSubmit")}
/>
</div>
</div>
</form>
}
infoNode={msg("emailInstruction")}
/>
);
});
export default LoginResetPassword;

View File

@ -1,135 +0,0 @@
import React, { memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
export type LoginUpdateProfile = KcProps & {
kcContext: KcContextBase.LoginUpdateProfile;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const LoginUpdateProfile = memo((props: LoginUpdateProfile) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { msg, msgStr } = i18n;
const { url, user, messagesPerField, isAppInitiatedAction } = kcContext;
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
headerNode={msg("loginProfileTitle")}
formNode={
<form id="kc-update-profile-form" className={clsx(kcProps.kcFormClass)} action={url.loginAction} method="post">
{user.editUsernameAllowed && (
<div className={clsx(kcProps.kcFormGroupClass, messagesPerField.printIfExists("username", kcProps.kcFormGroupErrorClass))}>
<div className={clsx(kcProps.kcLabelWrapperClass)}>
<label htmlFor="username" className={clsx(kcProps.kcLabelClass)}>
{msg("username")}
</label>
</div>
<div className={clsx(kcProps.kcInputWrapperClass)}>
<input
type="text"
id="username"
name="username"
defaultValue={user.username ?? ""}
className={clsx(kcProps.kcInputClass)}
/>
</div>
</div>
)}
<div className={clsx(kcProps.kcFormGroupClass, messagesPerField.printIfExists("email", kcProps.kcFormGroupErrorClass))}>
<div className={clsx(kcProps.kcLabelWrapperClass)}>
<label htmlFor="email" className={clsx(kcProps.kcLabelClass)}>
{msg("email")}
</label>
</div>
<div className={clsx(kcProps.kcInputWrapperClass)}>
<input type="text" id="email" name="email" defaultValue={user.email ?? ""} className={clsx(kcProps.kcInputClass)} />
</div>
</div>
<div className={clsx(kcProps.kcFormGroupClass, messagesPerField.printIfExists("firstName", kcProps.kcFormGroupErrorClass))}>
<div className={clsx(kcProps.kcLabelWrapperClass)}>
<label htmlFor="firstName" className={clsx(kcProps.kcLabelClass)}>
{msg("firstName")}
</label>
</div>
<div className={clsx(kcProps.kcInputWrapperClass)}>
<input
type="text"
id="firstName"
name="firstName"
defaultValue={user.firstName ?? ""}
className={clsx(kcProps.kcInputClass)}
/>
</div>
</div>
<div className={clsx(kcProps.kcFormGroupClass, messagesPerField.printIfExists("lastName", kcProps.kcFormGroupErrorClass))}>
<div className={clsx(kcProps.kcLabelWrapperClass)}>
<label htmlFor="lastName" className={clsx(kcProps.kcLabelClass)}>
{msg("lastName")}
</label>
</div>
<div className={clsx(kcProps.kcInputWrapperClass)}>
<input
type="text"
id="lastName"
name="lastName"
defaultValue={user.lastName ?? ""}
className={clsx(kcProps.kcInputClass)}
/>
</div>
</div>
<div className={clsx(kcProps.kcFormGroupClass)}>
<div id="kc-form-options" className={clsx(kcProps.kcFormOptionsClass)}>
<div className={clsx(kcProps.kcFormOptionsWrapperClass)} />
</div>
<div id="kc-form-buttons" className={clsx(kcProps.kcFormButtonsClass)}>
{isAppInitiatedAction ? (
<>
<input
className={clsx(kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonLargeClass)}
type="submit"
defaultValue={msgStr("doSubmit")}
/>
<button
className={clsx(kcProps.kcButtonClass, kcProps.kcButtonDefaultClass, kcProps.kcButtonLargeClass)}
type="submit"
name="cancel-aia"
value="true"
>
{msg("doCancel")}
</button>
</>
) : (
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
type="submit"
defaultValue={msgStr("doSubmit")}
/>
)}
</div>
</div>
</form>
}
/>
);
});
export default LoginUpdateProfile;

View File

@ -1,43 +0,0 @@
import React, { memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import type { I18n } from "../i18n";
export type LoginVerifyEmailProps = KcProps & {
kcContext: KcContextBase.LoginVerifyEmail;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const LoginVerifyEmail = memo((props: LoginVerifyEmailProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { msg } = i18n;
const { url, user } = kcContext;
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
displayMessage={false}
headerNode={msg("emailVerifyTitle")}
formNode={
<>
<p className="instruction">{msg("emailVerifyInstruction1", user?.email)}</p>
<p className="instruction">
{msg("emailVerifyInstruction2")}
<br />
<a href={url.loginAction}>{msg("doClickHere")}</a>
&nbsp;
{msg("emailVerifyInstruction3")}
</p>
</>
}
/>
);
});
export default LoginVerifyEmail;

View File

@ -1,71 +0,0 @@
import React, { memo, useState } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
import { UserProfileFormFields } from "./shared/UserProfileCommons";
export type RegisterUserProfileProps = KcProps & {
kcContext: KcContextBase.RegisterUserProfile;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const RegisterUserProfile = memo((props: RegisterUserProfileProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext;
const { msg, msgStr } = i18n;
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
displayMessage={messagesPerField.exists("global")}
displayRequiredFields={true}
headerNode={msg("registerTitle")}
formNode={
<form id="kc-register-form" className={clsx(kcProps.kcFormClass)} action={url.registrationAction} method="post">
<UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...kcProps} />
{recaptchaRequired && (
<div className="form-group">
<div className={clsx(kcProps.kcInputWrapperClass)}>
<div className="g-recaptcha" data-size="compact" data-sitekey={recaptchaSiteKey} />
</div>
</div>
)}
<div className={clsx(kcProps.kcFormGroupClass)} style={{ "marginBottom": 30 }}>
<div id="kc-form-options" className={clsx(kcProps.kcFormOptionsClass)}>
<div className={clsx(kcProps.kcFormOptionsWrapperClass)}>
<span>
<a href={url.loginUrl}>{msg("backToLogin")}</a>
</span>
</div>
</div>
<div id="kc-form-buttons" className={clsx(kcProps.kcFormButtonsClass)}>
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
type="submit"
value={msgStr("doRegister")}
disabled={!isFomSubmittable}
/>
</div>
</div>
</form>
}
/>
);
});
export default RegisterUserProfile;

View File

@ -1,116 +0,0 @@
import React, { useEffect, memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import { Evt } from "evt";
import { useRerenderOnStateChange } from "evt/hooks";
import { assert } from "tsafe/assert";
import { fallbackLanguageTag } from "../i18n";
import type { I18n } from "../i18n";
import memoize from "memoizee";
import { useConst } from "powerhooks/useConst";
import { useConstCallback } from "powerhooks/useConstCallback";
import { Markdown } from "../tools/Markdown";
import type { Extends } from "tsafe";
export const evtTermMarkdown = Evt.create<string | undefined>(undefined);
export type KcContextLike = {
pageId: KcContextBase["pageId"];
locale?: {
currentLanguageTag: string;
};
};
assert<Extends<KcContextBase, KcContextLike>>();
/** Allow to avoid bundling the terms and download it on demand*/
export function useDownloadTerms(params: {
kcContext: KcContextLike;
downloadTermMarkdown: (params: { currentLanguageTag: string }) => Promise<string>;
}) {
const { kcContext } = params;
const { downloadTermMarkdownMemoized } = (function useClosure() {
const { downloadTermMarkdown } = params;
const downloadTermMarkdownConst = useConstCallback(downloadTermMarkdown);
const downloadTermMarkdownMemoized = useConst(() =>
memoize((currentLanguageTag: string) => downloadTermMarkdownConst({ currentLanguageTag }), { "promise": true })
);
return { downloadTermMarkdownMemoized };
})();
useEffect(() => {
if (kcContext.pageId !== "terms.ftl") {
return;
}
downloadTermMarkdownMemoized(kcContext.locale?.currentLanguageTag ?? fallbackLanguageTag).then(
thermMarkdown => (evtTermMarkdown.state = thermMarkdown)
);
}, []);
}
export type TermsProps = KcProps & {
kcContext: KcContextBase.Terms;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const Terms = memo((props: TermsProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { msg, msgStr } = i18n;
useRerenderOnStateChange(evtTermMarkdown);
const { url } = kcContext;
if (evtTermMarkdown.state === undefined) {
return null;
}
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
displayMessage={false}
headerNode={msg("termsTitle")}
formNode={
<>
<div id="kc-terms-text">{evtTermMarkdown.state && <Markdown>{evtTermMarkdown.state}</Markdown>}</div>
<form className="form-actions" action={url.loginAction} method="POST">
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonClass,
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonLargeClass
)}
name="accept"
id="kc-accept"
type="submit"
value={msgStr("doAccept")}
/>
<input
className={clsx(kcProps.kcButtonClass, kcProps.kcButtonDefaultClass, kcProps.kcButtonLargeClass)}
name="cancel"
id="kc-decline"
type="submit"
value={msgStr("doDecline")}
/>
</form>
<div className="clearfix" />
</>
}
/>
);
});
export default Terms;

View File

@ -1,78 +0,0 @@
import React, { useState, memo } from "react";
import DefaultTemplate from "./Template";
import type { TemplateProps } from "./Template";
import type { KcProps } from "./KcProps";
import type { KcContextBase } from "../getKcContext/KcContextBase";
import { clsx } from "../tools/clsx";
import type { I18n } from "../i18n";
import { UserProfileFormFields } from "./shared/UserProfileCommons";
export type UpdateUserProfileProps = KcProps & {
kcContext: KcContextBase.UpdateUserProfile;
i18n: I18n;
doFetchDefaultThemeResources?: boolean;
Template?: (props: TemplateProps) => JSX.Element | null;
};
const UpdateUserProfile = memo((props: UpdateUserProfileProps) => {
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template = DefaultTemplate, ...kcProps } = props;
const { msg, msgStr } = i18n;
const { url, isAppInitiatedAction } = kcContext;
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
return (
<Template
{...{ kcContext, i18n, doFetchDefaultThemeResources, ...kcProps }}
headerNode={msg("loginProfileTitle")}
formNode={
<form id="kc-update-profile-form" className={clsx(kcProps.kcFormClass)} action={url.loginAction} method="post">
<UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...kcProps} />
<div className={clsx(kcProps.kcFormGroupClass)}>
<div id="kc-form-options" className={clsx(kcProps.kcFormOptionsClass)}>
<div className={clsx(kcProps.kcFormOptionsWrapperClass)}></div>
</div>
<div id="kc-form-buttons" className={clsx(kcProps.kcFormButtonsClass)}>
{isAppInitiatedAction ? (
<>
<input
className={clsx(kcProps.kcButtonClass, kcProps.kcButtonPrimaryClass, kcProps.kcButtonLargeClass)}
type="submit"
value={msgStr("doSubmit")}
/>
<button
className={clsx(kcProps.kcButtonClass, kcProps.kcButtonDefaultClass, kcProps.kcButtonLargeClass)}
type="submit"
name="cancel-aia"
value="true"
formNoValidate
>
{msg("doCancel")}
</button>
</>
) : (
<input
className={clsx(
kcProps.kcButtonClass,
kcProps.kcButtonPrimaryClass,
kcProps.kcButtonBlockClass,
kcProps.kcButtonLargeClass
)}
type="submit"
defaultValue={msgStr("doSubmit")}
disabled={!isFomSubmittable}
/>
)}
</div>
</div>
</form>
}
/>
);
});
export default UpdateUserProfile;

View File

@ -1,173 +0,0 @@
import React, { memo, useEffect, Fragment } from "react";
import type { KcProps } from "../KcProps";
import type { Attribute } from "../../getKcContext/KcContextBase";
import { clsx } from "../../tools/clsx";
import type { ReactComponent } from "../../tools/ReactComponent";
import { useCallbackFactory } from "powerhooks/useCallbackFactory";
import { useFormValidationSlice } from "../../useFormValidationSlice";
import type { I18n } from "../../i18n";
import type { Param0 } from "tsafe/Param0";
export type UserProfileFormFieldsProps = {
kcContext: Param0<typeof useFormValidationSlice>["kcContext"];
i18n: I18n;
} & KcProps &
Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
};
export const UserProfileFormFields = memo(
({ kcContext, onIsFormSubmittableValueChange, i18n, BeforeField, AfterField, ...props }: UserProfileFormFieldsProps) => {
const { advancedMsg } = i18n;
const {
formValidationState: { fieldStateByAttributeName, isFormSubmittable },
formValidationReducer,
attributesWithPassword
} = useFormValidationSlice({
kcContext,
i18n
});
useEffect(() => {
onIsFormSubmittableValueChange(isFormSubmittable);
}, [isFormSubmittable]);
const onChangeFactory = useCallbackFactory(
(
[name]: [string],
[
{
target: { value }
}
]: [React.ChangeEvent<HTMLInputElement | HTMLSelectElement>]
) =>
formValidationReducer({
"action": "update value",
name,
"newValue": value
})
);
const onBlurFactory = useCallbackFactory(([name]: [string]) =>
formValidationReducer({
"action": "focus lost",
name
})
);
let currentGroup = "";
return (
<>
{attributesWithPassword.map((attribute, i) => {
const { group = "", groupDisplayHeader = "", groupDisplayDescription = "" } = attribute;
const { value, displayableErrors } = fieldStateByAttributeName[attribute.name];
const formGroupClassName = clsx(props.kcFormGroupClass, displayableErrors.length !== 0 && props.kcFormGroupErrorClass);
return (
<Fragment key={i}>
{group !== currentGroup && (currentGroup = group) !== "" && (
<div className={formGroupClassName}>
<div className={clsx(props.kcContentWrapperClass)}>
<label id={`header-${group}`} className={clsx(props.kcFormGroupHeader)}>
{advancedMsg(groupDisplayHeader) || currentGroup}
</label>
</div>
{groupDisplayDescription !== "" && (
<div className={clsx(props.kcLabelWrapperClass)}>
<label id={`description-${group}`} className={`${clsx(props.kcLabelClass)}`}>
{advancedMsg(groupDisplayDescription)}
</label>
</div>
)}
</div>
)}
{BeforeField && <BeforeField attribute={attribute} />}
<div className={formGroupClassName}>
<div className={clsx(props.kcLabelWrapperClass)}>
<label htmlFor={attribute.name} className={clsx(props.kcLabelClass)}>
{advancedMsg(attribute.displayName ?? "")}
</label>
{attribute.required && <>*</>}
</div>
<div className={clsx(props.kcInputWrapperClass)}>
{(() => {
const { options } = attribute.validators;
if (options !== undefined) {
return (
<select
id={attribute.name}
name={attribute.name}
onChange={onChangeFactory(attribute.name)}
onBlur={onBlurFactory(attribute.name)}
value={value}
>
{options.options.map(option => (
<option key={option} value={option}>
{option}
</option>
))}
</select>
);
}
return (
<input
type={(() => {
switch (attribute.name) {
case "password-confirm":
case "password":
return "password";
default:
return "text";
}
})()}
id={attribute.name}
name={attribute.name}
value={value}
onChange={onChangeFactory(attribute.name)}
className={clsx(props.kcInputClass)}
aria-invalid={displayableErrors.length !== 0}
disabled={attribute.readOnly}
autoComplete={attribute.autocomplete}
onBlur={onBlurFactory(attribute.name)}
/>
);
})()}
{displayableErrors.length !== 0 &&
(() => {
const divId = `input-error-${attribute.name}`;
return (
<>
<style>{`#${divId} > span: { display: block; }`}</style>
<span
id={divId}
className={clsx(props.kcInputErrorMessageClass)}
style={{
"position": displayableErrors.length === 1 ? "absolute" : undefined
}}
aria-live="polite"
>
{displayableErrors.map(({ errorMessage }) => errorMessage)}
</span>
</>
);
})()}
</div>
</div>
{AfterField && <AfterField attribute={attribute} />}
</Fragment>
);
})}
</>
);
}
);

View File

@ -1,11 +0,0 @@
import type { KcContextBase } from "./KcContextBase";
import type { AndByDiscriminatingKey } from "../tools/AndByDiscriminatingKey";
import { ftlValuesGlobalName } from "../../bin/keycloakify/ftlValuesGlobalName";
export type ExtendsKcContextBase<KcContextExtended extends { pageId: string }> = [KcContextExtended] extends [never]
? KcContextBase
: AndByDiscriminatingKey<"pageId", KcContextExtended & KcContextBase.Common, KcContextBase>;
export function getKcContextFromWindow<KcContextExtended extends { pageId: string } = never>(): ExtendsKcContextBase<KcContextExtended> | undefined {
return typeof window === "undefined" ? undefined : (window as any)[ftlValuesGlobalName];
}

View File

@ -1,3 +0,0 @@
export type { KcContextBase, Attribute, Validators } from "./KcContextBase";
export type { ExtendsKcContextBase } from "./getKcContextFromWindow";
export { getKcContext } from "./getKcContext";

View File

@ -1 +0,0 @@
export * from "./kcContextMocks";

View File

@ -1,137 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Desa",
"doCancel": "Cancel·la",
"doLogOutAllSessions": "Desconnecta de totes les sessions",
"doRemove": "Elimina",
"doAdd": "Afegeix",
"doSignOut": "Desconnectar",
"editAccountHtmlTitle": "Edita compte",
"federatedIdentitiesHtmlTitle": "Identitats federades",
"accountLogHtmlTitle": "Registre del compte",
"changePasswordHtmlTitle": "Canvia contrasenya",
"sessionsHtmlTitle": "Sessions",
"accountManagementTitle": "GestiĂł de Compte Keycloak",
"authenticatorTitle": "Autenticador",
"applicationsHtmlTitle": "Aplicacions",
"authenticatorCode": "Codi d'un sol Ășs",
"email": "Email",
"firstName": "Nom",
"givenName": "Nom de pila",
"fullName": "Nom complet",
"lastName": "Cognoms",
"familyName": "Cognom",
"password": "Contrasenya",
"passwordConfirm": "Confirma la contrasenya",
"passwordNew": "Nova contrasenya",
"username": "Usuari",
"address": "Adreça",
"street": "Carrer",
"locality": "Ciutat o Municipi",
"region": "Estat, ProvĂ­ncia, o RegiĂł",
"postal_code": "Postal code",
"country": "PaĂ­s",
"emailVerified": "Email verificat",
"gssDelegationCredential": "GSS Delegation Credential",
"role_admin": "Administrador",
"role_realm-admin": "Administrador del domini",
"role_create-realm": "Crear domini",
"role_view-realm": "Veure domini",
"role_view-users": "Veure usuaris",
"role_view-applications": "Veure aplicacions",
"role_view-clients": "Veure clients",
"role_view-events": "Veure events",
"role_view-identity-providers": "Veure proveĂŻdors d'identitat",
"role_manage-realm": "Gestionar domini",
"role_manage-users": "Gestinar usuaris",
"role_manage-applications": "Gestionar aplicacions",
"role_manage-identity-providers": "Gestionar proveĂŻdors d'identitat",
"role_manage-clients": "Gestionar clients",
"role_manage-events": "Gestionar events",
"role_view-profile": "Veure perfil",
"role_manage-account": "Gestionar compte",
"role_read-token": "Llegir token",
"role_offline-access": "Accés sense connexió",
"client_account": "Compte",
"client_security-admin-console": "Consola d'AdministraciĂł de Seguretat",
"client_realm-management": "GestiĂł de domini",
"client_broker": "Broker",
"requiredFields": "Camps obligatoris",
"allFieldsRequired": "Tots els camps obligatoris",
"backToApplication": "&laquo; Torna a l'aplicaciĂł",
"backTo": "Torna a {0}",
"date": "Data",
"event": "Event",
"ip": "IP",
"client": "Client",
"clients": "Clients",
"details": "Detalls",
"started": "Iniciat",
"lastAccess": "Últim accĂ©s",
"expires": "Expira",
"applications": "Aplicacions",
"account": "Compte",
"federatedIdentity": "Identitat federada",
"authenticator": "Autenticador",
"sessions": "Sessions",
"log": "Registre",
"application": "AplicaciĂł",
"availablePermissions": "Permisos disponibles",
"grantedPermissions": "Permisos concedits",
"grantedPersonalInfo": "InformaciĂł personal concedida",
"additionalGrants": "Permisos addicionals",
"action": "AcciĂł",
"inResource": "a",
"fullAccess": "Accés total",
"offlineToken": "Codi d'autoritzaciĂł offline",
"revoke": "Revocar permĂ­s",
"configureAuthenticators": "Autenticadors configurats",
"mobile": "MĂČbil",
"totpStep1":
'Instal·la <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> o Google Authenticator al teu telĂšfon mĂČbil. Les dues aplicacions estan disponibles a <a href="https://play.google.com">Google Play</a> i en l\'App Store d\'Apple.',
"totpStep2": "Obre l'aplicaciĂł i escaneja el codi o introdueix la clau.",
"totpStep3": "Introdueix el codi Ășnic que et mostra l'aplicaciĂł d'autenticaciĂł i fes clic a Envia per finalitzar la configuraciĂł",
"missingUsernameMessage": "Si us plau indica el teu usuari.",
"missingFirstNameMessage": "Si us plau indica el nom.",
"invalidEmailMessage": "Email no vĂ lid",
"missingLastNameMessage": "Si us plau indica els teus cognoms.",
"missingEmailMessage": "Si us plau indica l'email.",
"missingPasswordMessage": "Si us plau indica la contrasenya.",
"notMatchPasswordMessage": "Les contrasenyes no coincideixen.",
"missingTotpMessage": "Si us plau indica el teu codi d'autenticaciĂł",
"invalidPasswordExistingMessage": "La contrasenya actual no és correcta.",
"invalidPasswordConfirmMessage": "La confirmaciĂł de contrasenya no coincideix.",
"invalidTotpMessage": "El cĂłdigo de autenticaciĂłn no es vĂĄlido.",
"usernameExistsMessage": "L'usuari ja existeix",
"emailExistsMessage": "L'email ja existeix",
"readOnlyUserMessage": "No pots actualitzar el teu usuari perquÚ el teu compte és de només lectura.",
"readOnlyPasswordMessage": "No pots actualitzar la contrasenya perquÚ el teu compte és de només lectura.",
"successTotpMessage": "AplicaciĂł d'autenticaciĂł mĂČbil configurada.",
"successTotpRemovedMessage": "AplicaciĂł d'autenticaciĂł mĂČbil eliminada.",
"successGrantRevokedMessage": "PermĂ­s revocat correctament",
"accountUpdatedMessage": "El teu compte s'ha actualitzat.",
"accountPasswordUpdatedMessage": "La contrasenya s'ha actualitzat.",
"missingIdentityProviderMessage": "ProveĂŻdor d'identitat no indicat.",
"invalidFederatedIdentityActionMessage": "AcciĂł no vĂ lida o no indicada.",
"identityProviderNotFoundMessage": "No s'ha trobat un proveĂŻdor d'identitat.",
"federatedIdentityLinkNotActiveMessage": "Aquesta identitat ja no estĂ  activa",
"federatedIdentityRemovingLastProviderMessage": "No pots eliminar l'Ășltima identitat federada perquĂš no tens fixada una contrasenya.",
"identityProviderRedirectErrorMessage": "Error en la redirecciĂł al proveĂŻdor d'identitat",
"identityProviderRemovedMessage": "ProveĂŻdor d'identitat esborrat correctament.",
"accountDisabledMessage": "El compte estĂ  desactivada, contacteu amb l'administrador.",
"accountTemporarilyDisabledMessage": "El compte està temporalment desactivat, contacta amb l'administrador o intenta-ho de nou més tard.",
"invalidPasswordMinLengthMessage": "Contrasenya incorrecta: longitud mĂ­nima {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} lletres minĂșscules.",
"invalidPasswordMinDigitsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.",
"invalidPasswordMinUpperCaseCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} lletres majĂșscules.",
"invalidPasswordMinSpecialCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} carĂ cters especials.",
"invalidPasswordNotUsernameMessage": "Contrasenya incorrecta: no pot ser igual al nom d'usuari.",
"invalidPasswordRegexPatternMessage": "Contrasenya incorrecta: no compleix l'expressiĂł regular.",
"invalidPasswordHistoryMessage": "Contrasenya incorrecta: no pot ser igual a cap de les Ășltimes {0} contrasenyes."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,156 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "UloĆŸit",
"doCancel": "ZruĆĄit",
"doLogOutAllSessions": "OdhlĂĄsit vĆĄechny relace",
"doRemove": "Odstranit",
"doAdd": "Pƙidat",
"doSignOut": "OdhlĂĄsit se",
"editAccountHtmlTitle": "Upravit Ășčet",
"federatedIdentitiesHtmlTitle": "Propojené identity",
"accountLogHtmlTitle": "Log Ășčtu",
"changePasswordHtmlTitle": "Změnit heslo",
"sessionsHtmlTitle": "Relace",
"accountManagementTitle": "SprĂĄva ĂșčtĆŻ Keycloak",
"authenticatorTitle": "AutentizĂĄtor",
"applicationsHtmlTitle": "Aplikace",
"authenticatorCode": "JednorĂĄzovĂœ kĂłd",
"email": "E-mail",
"firstName": "PrvnĂ­ kƙestnĂ­ jmĂ©no",
"givenName": "KƙestnĂ­ jmĂ©na",
"fullName": "Celé jméno",
"lastName": "Pƙíjmení",
"familyName": "Rodinné jméno",
"password": "Heslo",
"passwordConfirm": "Nové heslo (znovu)",
"passwordNew": "Nové heslo",
"username": "UĆŸivatelskĂ© jmĂ©no",
"address": "Adresa",
"street": "Ulice",
"locality": "Město nebo lokalita",
"region": "Kraj",
"postal_code": "PSČ",
"country": "StĂĄt",
"emailVerified": "E-mail ověƙen",
"gssDelegationCredential": "GSS delegovanĂ© oprĂĄvněnĂ­",
"role_admin": "SprĂĄvce",
"role_realm-admin": "SprĂĄvce realmu",
"role_create-realm": "Vytvoƙit realm",
"role_view-realm": "Zobrazit realm",
"role_view-users": "Zobrazit uĆŸivatele",
"role_view-applications": "Zobrazit aplikace",
"role_view-clients": "Zobrazit klienty",
"role_view-events": "Zobrazit udĂĄlosti",
"role_view-identity-providers": "Zobrazit poskytovatele identity",
"role_manage-realm": "Spravovat realm",
"role_manage-users": "Spravovat uĆŸivatele",
"role_manage-applications": "Spravovat aplikace",
"role_manage-identity-providers": "Spravovat poskytovatele identity",
"role_manage-clients": "Spravovat klienty",
"role_manage-events": "Spravovat udĂĄlosti",
"role_view-profile": "Zobrazit profil",
"role_manage-account": "Spravovat Ășčet",
"role_manage-account-links": "Spravovat odkazy na Ășčet",
"role_read-token": "Číst token",
"role_offline-access": "Pƙístup offline",
"role_uma_authorization": "Získání oprávnění",
"client_account": "Účet",
"client_security-admin-console": "Administrátorská bezpečnostní konzole",
"client_admin-cli": "Administråtorské CLI",
"client_realm-management": "SprĂĄva realmĆŻ",
"client_broker": "Broker",
"requiredFields": "PoĆŸadovanĂĄ pole",
"allFieldsRequired": "VĆĄechna pole vyĆŸadovanĂĄ",
"backToApplication": "&laquo; Zpět na aplikaci",
"backTo": "Zpět na {0}",
"date": "Datum",
"event": "UdĂĄlost",
"ip": "IP",
"client": "Klient",
"clients": "Klienti",
"details": "Podrobnosti",
"started": "ZahĂĄjeno",
"lastAccess": "Poslední pƙístup",
"expires": "VyprĆĄĂ­",
"applications": "Aplikace",
"account": "Účet",
"federatedIdentity": "PropojenĂĄ identita",
"authenticator": "AutentizĂĄtor",
"sessions": "Relace",
"log": "Log",
"application": "Aplikace",
"availablePermissions": "Dostupná oprávnění",
"grantedPermissions": "UdělenĂ© oprĂĄvněnĂ­",
"grantedPersonalInfo": "Poskytnuté osobní informace",
"additionalGrants": "DodatečnĂ© oprĂĄvněnĂ­",
"action": "Akce",
"inResource": "v",
"fullAccess": "ÚplnĂœ pƙístup",
"offlineToken": "Offline Token",
"revoke": "Zruơit oprávnění",
"configureAuthenticators": "Konfigurované autentizåtory",
"mobile": "MobilnĂ­",
"totpStep1": "Nainstalujte jednu z nĂĄsledujĂ­cĂ­ch aplikacĂ­",
"totpStep2": "Otevƙete aplikaci a naskenujte čárovĂœ kĂłd",
"totpStep3": "Zadejte jednorĂĄzovĂœ kĂłd poskytnutĂœ aplikacĂ­ a klepnutĂ­m na tlačítko UloĆŸit dokončete nastavenĂ­.",
"totpManualStep2": "Otevƙete aplikaci a zadejte klíč",
"totpManualStep3": "PouĆŸijte nĂĄsledujĂ­cĂ­ hodnoty konfigurace, pokud aplikace umoĆŸĆˆuje jejich nastavenĂ­",
"totpUnableToScan": "Nelze skenovat?",
"totpScanBarcode": "Skenovat čárovĂœ kĂłd?",
"totp.totp": "ZaloĆŸeno na čase",
"totp.hotp": "ZaloĆŸeno na čítači",
"totpType": "Typ",
"totpAlgorithm": "Algoritmus",
"totpDigits": "Číslice",
"totpInterval": "Interval",
"totpCounter": "Čítač",
"missingUsernameMessage": "Zadejte uĆŸivatelskĂ© jmĂ©no.",
"missingFirstNameMessage": "Zadejte prosĂ­m kƙestnĂ­ jmĂ©no.",
"invalidEmailMessage": "NeplatnĂĄ e-mailovĂĄ adresa.",
"missingLastNameMessage": "Zadejte prosím pƙíjmení.",
"missingEmailMessage": "Zadejte prosĂ­m e-mail.",
"missingPasswordMessage": "Zadejte prosĂ­m heslo.",
"notMatchPasswordMessage": "Hesla se neshodujĂ­.",
"missingTotpMessage": "Zadejte prosĂ­m kĂłd autentizĂĄtoru.",
"invalidPasswordExistingMessage": "Neplatné ståvající heslo.",
"invalidPasswordConfirmMessage": "NovĂĄ hesla se neshodujĂ­.",
"invalidTotpMessage": "NeplatnĂœ kĂłd autentizĂĄtoru.",
"usernameExistsMessage": "UĆŸivatelskĂ© jmĂ©no jiĆŸ existuje.",
"emailExistsMessage": "E-mail jiĆŸ existuje.",
"readOnlyUserMessage": "NemĆŻĆŸete svĆŻj Ășčet aktualizovat, protoĆŸe je pouze pro čtenĂ­.",
"readOnlyUsernameMessage": "NemĆŻĆŸete aktualizovat svĂ© uĆŸivatelskĂ© jmĂ©no, protoĆŸe je pouze pro čtenĂ­.",
"readOnlyPasswordMessage": "NemĆŻĆŸete aktualizovat svĂ© heslo, protoĆŸe vĂĄĆĄ Ășčet je jen pro čtenĂ­.",
"successTotpMessage": "OvěƙenĂ­ pomocĂ­ OTP Ășspěơně konfigurovĂĄno.",
"successTotpRemovedMessage": "OvěƙenĂ­ pomocĂ­ OTP Ășspěơně odstraněno.",
"successGrantRevokedMessage": "OprĂĄvněnĂ­ bylo Ășspěơně zruĆĄeno.",
"accountUpdatedMessage": "VĂĄĆĄ Ășčet byl aktualizovĂĄn.",
"accountPasswordUpdatedMessage": "VaĆĄe heslo bylo aktualizovĂĄno.",
"missingIdentityProviderMessage": "Chybějící poskytovatel identity.",
"invalidFederatedIdentityActionMessage": "Neplatná nebo chybějící akce.",
"identityProviderNotFoundMessage": "Poskytovatel identity nenalezen.",
"federatedIdentityLinkNotActiveMessage": "Tato identita jiĆŸ nenĂ­ aktivnĂ­.",
"federatedIdentityRemovingLastProviderMessage": "NemĆŻĆŸete odstranit poslednĂ­ propojenou identitu, protoĆŸe nemĂĄte heslo.",
"identityProviderRedirectErrorMessage": "Nepodaƙilo se pƙesměrovat na poskytovatele identity.",
"identityProviderRemovedMessage": "Poskytovatel identity byl Ășspěơně odstraněn.",
"identityProviderAlreadyLinkedMessage": "PropojenĂĄ identita vrĂĄcenĂĄ uĆŸivatelem {0} je jiĆŸ propojena s jinĂœm uĆŸivatelem.",
"staleCodeAccountMessage": "Platnost vyprơela. Zkuste to jeơtě jednou.",
"consentDenied": "Souhlas byl zamĂ­tnut.",
"accountDisabledMessage": "Účet je zakázán, kontaktujte správce.",
"accountTemporarilyDisabledMessage": "Účet je dočasně zakázán, kontaktujte správce nebo zkuste to později.",
"invalidPasswordMinLengthMessage": "NeplatnĂ© heslo: musĂ­ obsahovat minimĂĄlně {0} malĂœch znakĆŻ.",
"invalidPasswordMinLowerCaseCharsMessage": "NeplatnĂ© heslo: musĂ­ obsahovat minimĂĄlně {0} malĂ© znaky.",
"invalidPasswordMinDigitsMessage": "NeplatnĂ© heslo: musĂ­ obsahovat nejmĂ©ně {0} číslic.",
"invalidPasswordMinUpperCaseCharsMessage": "NeplatnĂ© heslo: musĂ­ obsahovat nejmĂ©ně {0} velkĂœch pĂ­smenen.",
"invalidPasswordMinSpecialCharsMessage": "NeplatnĂ© heslo: musĂ­ obsahovat nejmĂ©ně {0} speciĂĄlnĂ­ch znakĆŻ.",
"invalidPasswordNotUsernameMessage": "NeplatnĂ© heslo: nesmĂ­ bĂœt totoĆŸnĂ© s uĆŸivatelskĂœm jmĂ©nem.",
"invalidPasswordRegexPatternMessage": "NeplatnĂ© heslo: neshoduje se zadanĂœm regulĂĄrnĂ­m vĂœrazem.",
"invalidPasswordHistoryMessage": "NeplatnĂ© heslo: NesmĂ­ se opakovat ĆŸĂĄdnĂ© z poslednĂ­ch {0} hesel.",
"invalidPasswordBlacklistedMessage": "NeplatnĂ© heslo: heslo je na černĂ© listině.",
"invalidPasswordGenericMessage": "Neplatné heslo: nové heslo neodpovídå pravidlƯm hesla."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,156 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Speichern",
"doCancel": "Abbrechen",
"doLogOutAllSessions": "Alle Sitzungen abmelden",
"doRemove": "Entfernen",
"doAdd": "HinzufĂŒgen",
"doSignOut": "Abmelden",
"editAccountHtmlTitle": "Benutzerkonto bearbeiten",
"federatedIdentitiesHtmlTitle": "Föderierte IdentitÀten",
"accountLogHtmlTitle": "Benutzerkonto Log",
"changePasswordHtmlTitle": "Passwort Ändern",
"sessionsHtmlTitle": "Sitzungen",
"accountManagementTitle": "Keycloak Benutzerkontoverwaltung",
"authenticatorTitle": "Mehrfachauthentifizierung",
"applicationsHtmlTitle": "Applikationen",
"authenticatorCode": "One-time Code",
"email": "E-Mail",
"firstName": "Vorname",
"givenName": "Vorname",
"fullName": "Voller Name",
"lastName": "Nachname",
"familyName": "Nachname",
"password": "Passwort",
"passwordConfirm": "Passwort bestÀtigen",
"passwordNew": "Neues Passwort",
"username": "Benutzername",
"address": "Adresse",
"street": "Straße",
"region": "Staat, Provinz, Region",
"postal_code": "PLZ",
"locality": "Stadt oder Ortschaft",
"country": "Land",
"emailVerified": "E-Mail verifiziert",
"gssDelegationCredential": "GSS delegierte Berechtigung",
"role_admin": "Admin",
"role_realm-admin": "Realm Admin",
"role_create-realm": "Realm erstellen",
"role_view-realm": "Realm ansehen",
"role_view-users": "Benutzer ansehen",
"role_view-applications": "Applikationen ansehen",
"role_view-clients": "Clients ansehen",
"role_view-events": "Events ansehen",
"role_view-identity-providers": "Identity Provider ansehen",
"role_manage-realm": "Realm verwalten",
"role_manage-users": "Benutzer verwalten",
"role_manage-applications": "Applikationen verwalten",
"role_manage-identity-providers": "Identity Provider verwalten",
"role_manage-clients": "Clients verwalten",
"role_manage-events": "Events verwalten",
"role_view-profile": "Profile ansehen",
"role_manage-account": "Profile verwalten",
"role_manage-account-links": "Profil-Links verwalten",
"role_read-token": "Token lesen",
"role_offline-access": "Offline-Zugriff",
"role_uma_authorization": "Berechtigungen einholen",
"client_account": "Clientkonto",
"client_security-admin-console": "Security Adminkonsole",
"client_realm-management": "Realm-Management",
"client_broker": "Broker",
"requiredFields": "Erforderliche Felder",
"allFieldsRequired": "Alle Felder sind erforderlich",
"backToApplication": "&laquo; ZurĂŒck zur Applikation",
"backTo": "ZurĂŒck zu {0}",
"date": "Datum",
"event": "Ereignis",
"ip": "IP",
"client": "Client",
"clients": "Clients",
"details": "Details",
"started": "Startdatum",
"lastAccess": "Letzter Zugriff",
"expires": "Ablaufdatum",
"applications": "Applikationen",
"account": "Benutzerkonto",
"federatedIdentity": "Föderierte IdentitÀt",
"authenticator": "Mehrfachauthentifizierung",
"sessions": "Sitzungen",
"log": "Log",
"application": "Applikation",
"availablePermissions": "verfĂŒgbare Berechtigungen",
"grantedPermissions": "gewÀhrte Berechtigungen",
"grantedPersonalInfo": "gewÀhrte persönliche Informationen",
"additionalGrants": "zusÀtzliche Berechtigungen",
"action": "Aktion",
"inResource": "in",
"fullAccess": "Vollzugriff",
"offlineToken": "Offline-Token",
"revoke": "Berechtigung widerrufen",
"configureAuthenticators": "Mehrfachauthentifizierung konfigurieren",
"mobile": "Mobil",
"totpStep1": "Installieren Sie eine der folgenden Applikationen auf Ihrem Smartphone:",
"totpStep2": "Öffnen Sie die Applikation und scannen Sie den Barcode.",
"totpStep3": "Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Speichern.",
"totpManualStep2": "Öffnen Sie die Applikation und geben Sie den folgenden SchlĂŒssel ein.",
"totpManualStep3": "Verwenden Sie die folgenden Konfigurationswerte, falls Sie diese fĂŒr die Applikation anpassen können:",
"totpUnableToScan": "Sie können den Barcode nicht scannen?",
"totpScanBarcode": "Barcode scannen?",
"totp.totp": "zeitbasiert (time-based)",
"totp.hotp": "zÀhlerbasiert (counter-based)",
"totpType": "Typ",
"totpAlgorithm": "Algorithmus",
"totpDigits": "Ziffern",
"totpInterval": "Intervall",
"totpCounter": "ZĂ€hler",
"missingUsernameMessage": "Bitte geben Sie einen Benutzernamen ein.",
"missingFirstNameMessage": "Bitte geben Sie einen Vornamen ein.",
"invalidEmailMessage": "UngĂŒltige E-Mail Adresse.",
"missingLastNameMessage": "Bitte geben Sie einen Nachnamen ein.",
"missingEmailMessage": "Bitte geben Sie eine E-Mail Adresse ein.",
"missingPasswordMessage": "Bitte geben Sie ein Passwort ein.",
"notMatchPasswordMessage": "Die Passwörter sind nicht identisch.",
"missingTotpMessage": "Bitte geben Sie den One-time Code ein.",
"invalidPasswordExistingMessage": "Das aktuelle Passwort ist ungĂŒltig.",
"invalidPasswordConfirmMessage": "Die PasswortbestÀtigung ist nicht identisch.",
"invalidTotpMessage": "UngĂŒltiger One-time Code.",
"usernameExistsMessage": "Der Benutzername existiert bereits.",
"emailExistsMessage": "Die E-Mail-Adresse existiert bereits.",
"readOnlyUserMessage": "Sie können Ihr Benutzerkonto nicht Ă€ndern, da es schreibgeschĂŒtzt ist.",
"readOnlyUsernameMessage": "Sie können Ihren Benutzernamen nicht Ă€ndern, da er schreibgeschĂŒtzt ist.",
"readOnlyPasswordMessage": "Sie können Ihr Passwort nicht Ă€ndern, da es schreibgeschĂŒtzt ist.",
"successTotpMessage": "Mehrfachauthentifizierung erfolgreich konfiguriert.",
"successTotpRemovedMessage": "Mehrfachauthentifizierung erfolgreich entfernt.",
"successGrantRevokedMessage": "Berechtigung erfolgreich widerrufen.",
"accountUpdatedMessage": "Ihr Benutzerkonto wurde aktualisiert.",
"accountPasswordUpdatedMessage": "Ihr Passwort wurde aktualisiert.",
"missingIdentityProviderMessage": "Identity Provider nicht angegeben.",
"invalidFederatedIdentityActionMessage": "UngĂŒltige oder fehlende Aktion.",
"identityProviderNotFoundMessage": "Angegebener Identity Provider nicht gefunden.",
"federatedIdentityLinkNotActiveMessage": "Diese IdentitÀt ist nicht mehr aktiv.",
"federatedIdentityRemovingLastProviderMessage": "Sie können den letzten Eintrag nicht entfernen, da Sie kein Passwort haben.",
"identityProviderRedirectErrorMessage": "Fehler bei der Weiterleitung zum Identity Provider.",
"identityProviderRemovedMessage": "Identity Provider erfolgreich entfernt.",
"identityProviderAlreadyLinkedMessage": "Die föderierte IdentitÀt von {0} ist bereits einem anderen Benutzer zugewiesen.",
"staleCodeAccountMessage": "Diese Seite ist nicht mehr gĂŒltig, bitte versuchen Sie es noch einmal.",
"consentDenied": "EinverstÀndnis verweigert.",
"accountDisabledMessage": "Ihr Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin.",
"accountTemporarilyDisabledMessage":
"Ihr Benutzerkonto ist temporÀr gesperrt, bitte kontaktieren Sie den Admin oder versuchen Sie es spÀter noch einmal.",
"invalidPasswordMinLengthMessage": "UngĂŒltiges Passwort: Es muss mindestens {0} Zeichen lang sein.",
"invalidPasswordMinLowerCaseCharsMessage": "UngĂŒltiges Passwort: Es muss mindestens {0} Kleinbuchstaben beinhalten.",
"invalidPasswordMinDigitsMessage": "UngĂŒltiges Passwort: Es muss mindestens {0} Zahl(en) beinhalten.",
"invalidPasswordMinUpperCaseCharsMessage": "UngĂŒltiges Passwort: Es muss mindestens {0} Großbuchstaben beinhalten.",
"invalidPasswordMinSpecialCharsMessage": "UngĂŒltiges Passwort: Es muss mindestens {0} Sonderzeichen beinhalten.",
"invalidPasswordNotUsernameMessage": "UngĂŒltiges Passwort: Es darf nicht gleich sein wie der Benutzername.",
"invalidPasswordRegexPatternMessage": "UngĂŒltiges Passwort: Es entspricht nicht dem Regex-Muster.",
"invalidPasswordHistoryMessage": "UngĂŒltiges Passwort: Es darf nicht einem der letzten {0} Passwörter entsprechen.",
"invalidPasswordBlacklistedMessage": "UngĂŒltiges Passwort: Das Passwort steht auf der Blocklist (schwarzen Liste).",
"invalidPasswordGenericMessge": "UngĂŒltiges Passwort: Das neue Passwort verletzt die Passwort-Richtlinien."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,325 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Save",
"doCancel": "Cancel",
"doLogOutAllSessions": "Log out all sessions",
"doRemove": "Remove",
"doAdd": "Add",
"doSignOut": "Sign Out",
"doLogIn": "Log In",
"doLink": "Link",
"editAccountHtmlTitle": "Edit Account",
"personalInfoHtmlTitle": "Personal Info",
"federatedIdentitiesHtmlTitle": "Federated Identities",
"accountLogHtmlTitle": "Account Log",
"changePasswordHtmlTitle": "Change Password",
"deviceActivityHtmlTitle": "Device Activity",
"sessionsHtmlTitle": "Sessions",
"accountManagementTitle": "Keycloak Account Management",
"authenticatorTitle": "Authenticator",
"applicationsHtmlTitle": "Applications",
"linkedAccountsHtmlTitle": "Linked Accounts",
"accountManagementWelcomeMessage": "Welcome to Keycloak Account Management",
"personalInfoIntroMessage": "Manage your basic information",
"accountSecurityTitle": "Account Security",
"accountSecurityIntroMessage": "Control your password and account access",
"applicationsIntroMessage": "Track and manage your app permission to access your account",
"resourceIntroMessage": "Share your resources among team members",
"passwordLastUpdateMessage": "Your password was updated at",
"updatePasswordTitle": "Update Password",
"updatePasswordMessageTitle": "Make sure you choose a strong password",
"updatePasswordMessage":
"A strong password contains a mix of numbers, letters, and symbols. It is hard to guess, does not resemble a real word, and is only used for this account.",
"personalSubTitle": "Your Personal Info",
"personalSubMessage": "Manage this basic information: your first name, last name and email",
"authenticatorCode": "One-time code",
"email": "Email",
"firstName": "First name",
"givenName": "Given name",
"fullName": "Full name",
"lastName": "Last name",
"familyName": "Family name",
"password": "Password",
"currentPassword": "Current Password",
"passwordConfirm": "Confirmation",
"passwordNew": "New Password",
"username": "Username",
"address": "Address",
"street": "Street",
"locality": "City or Locality",
"region": "State, Province, or Region",
"postal_code": "Zip or Postal code",
"country": "Country",
"emailVerified": "Email verified",
"gssDelegationCredential": "GSS Delegation Credential",
"profileScopeConsentText": "User profile",
"emailScopeConsentText": "Email address",
"addressScopeConsentText": "Address",
"phoneScopeConsentText": "Phone number",
"offlineAccessScopeConsentText": "Offline Access",
"samlRoleListScopeConsentText": "My Roles",
"rolesScopeConsentText": "User roles",
"role_admin": "Admin",
"role_realm-admin": "Realm Admin",
"role_create-realm": "Create realm",
"role_view-realm": "View realm",
"role_view-users": "View users",
"role_view-applications": "View applications",
"role_view-clients": "View clients",
"role_view-events": "View events",
"role_view-identity-providers": "View identity providers",
"role_view-consent": "View consents",
"role_manage-realm": "Manage realm",
"role_manage-users": "Manage users",
"role_manage-applications": "Manage applications",
"role_manage-identity-providers": "Manage identity providers",
"role_manage-clients": "Manage clients",
"role_manage-events": "Manage events",
"role_view-profile": "View profile",
"role_manage-account": "Manage account",
"role_manage-account-links": "Manage account links",
"role_manage-consent": "Manage consents",
"role_read-token": "Read token",
"role_offline-access": "Offline access",
"role_uma_authorization": "Obtain permissions",
"client_account": "Account",
"client_account-console": "Account Console",
"client_security-admin-console": "Security Admin Console",
"client_admin-cli": "Admin CLI",
"client_realm-management": "Realm Management",
"client_broker": "Broker",
"requiredFields": "Required fields",
"allFieldsRequired": "All fields required",
"backToApplication": "&laquo; Back to application",
"backTo": "Back to {0}",
"date": "Date",
"event": "Event",
"ip": "IP",
"client": "Client",
"clients": "Clients",
"details": "Details",
"started": "Started",
"lastAccess": "Last Access",
"expires": "Expires",
"applications": "Applications",
"account": "Account",
"federatedIdentity": "Federated Identity",
"authenticator": "Authenticator",
"device-activity": "Device Activity",
"sessions": "Sessions",
"log": "Log",
"application": "Application",
"availableRoles": "Available Roles",
"grantedPermissions": "Granted Permissions",
"grantedPersonalInfo": "Granted Personal Info",
"additionalGrants": "Additional Grants",
"action": "Action",
"inResource": "in",
"fullAccess": "Full Access",
"offlineToken": "Offline Token",
"revoke": "Revoke Grant",
"configureAuthenticators": "Configured Authenticators",
"mobile": "Mobile",
"totpStep1": "Install one of the following applications on your mobile:",
"totpStep2": "Open the application and scan the barcode:",
"totpStep3": "Enter the one-time code provided by the application and click Save to finish the setup.",
"totpStep3DeviceName": "Provide a Device Name to help you manage your OTP devices.",
"totpManualStep2": "Open the application and enter the key:",
"totpManualStep3": "Use the following configuration values if the application allows setting them:",
"totpUnableToScan": "Unable to scan?",
"totpScanBarcode": "Scan barcode?",
"totp.totp": "Time-based",
"totp.hotp": "Counter-based",
"totpType": "Type",
"totpAlgorithm": "Algorithm",
"totpDigits": "Digits",
"totpInterval": "Interval",
"totpCounter": "Counter",
"totpDeviceName": "Device Name",
"missingUsernameMessage": "Please specify username.",
"missingFirstNameMessage": "Please specify first name.",
"invalidEmailMessage": "Invalid email address.",
"missingLastNameMessage": "Please specify last name.",
"missingEmailMessage": "Please specify email.",
"missingPasswordMessage": "Please specify password.",
"notMatchPasswordMessage": "Passwords don't match.",
"invalidUserMessage": "Invalid user",
"missingTotpMessage": "Please specify authenticator code.",
"missingTotpDeviceNameMessage": "Please specify device name.",
"invalidPasswordExistingMessage": "Invalid existing password.",
"invalidPasswordConfirmMessage": "Password confirmation doesn't match.",
"invalidTotpMessage": "Invalid authenticator code.",
"usernameExistsMessage": "Username already exists.",
"emailExistsMessage": "Email already exists.",
"readOnlyUserMessage": "You can't update your account as it is read-only.",
"readOnlyUsernameMessage": "You can't update your username as it is read-only.",
"readOnlyPasswordMessage": "You can't update your password as your account is read-only.",
"successTotpMessage": "Mobile authenticator configured.",
"successTotpRemovedMessage": "Mobile authenticator removed.",
"successGrantRevokedMessage": "Grant revoked successfully.",
"accountUpdatedMessage": "Your account has been updated.",
"accountPasswordUpdatedMessage": "Your password has been updated.",
"missingIdentityProviderMessage": "Identity provider not specified.",
"invalidFederatedIdentityActionMessage": "Invalid or missing action.",
"identityProviderNotFoundMessage": "Specified identity provider not found.",
"federatedIdentityLinkNotActiveMessage": "This identity is not active anymore.",
"federatedIdentityRemovingLastProviderMessage": "You can't remove last federated identity as you don't have a password.",
"identityProviderRedirectErrorMessage": "Failed to redirect to identity provider.",
"identityProviderRemovedMessage": "Identity provider removed successfully.",
"identityProviderAlreadyLinkedMessage": "Federated identity returned by {0} is already linked to another user.",
"staleCodeAccountMessage": "The page expired. Please try one more time.",
"consentDenied": "Consent denied.",
"accountDisabledMessage": "Account is disabled, contact your administrator.",
"accountTemporarilyDisabledMessage": "Account is temporarily disabled, contact your administrator or try again later.",
"invalidPasswordMinLengthMessage": "Invalid password: minimum length {0}.",
"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 doesn't match password policies.",
"myResources": "My Resources",
"myResourcesSub": "My resources",
"doDeny": "Deny",
"doRevoke": "Revoke",
"doApprove": "Approve",
"doRemoveSharing": "Remove Sharing",
"doRemoveRequest": "Remove Request",
"peopleAccessResource": "People with access to this resource",
"resourceManagedPolicies": "Permissions granting access to this resource",
"resourceNoPermissionsGrantingAccess": "No permissions granting access to this resource",
"anyAction": "Any action",
"description": "Description",
"name": "Name",
"scopes": "Scopes",
"resource": "Resource",
"user": "User",
"peopleSharingThisResource": "People sharing this resource",
"shareWithOthers": "Share with others",
"needMyApproval": "Need my approval",
"requestsWaitingApproval": "Your requests waiting approval",
"icon": "Icon",
"requestor": "Requestor",
"owner": "Owner",
"resourcesSharedWithMe": "Resources shared with me",
"permissionRequestion": "Permission Requestion",
"permission": "Permission",
"shares": "share(s)",
"notBeingShared": "This resource is not being shared.",
"notHaveAnyResource": "You don't have any resources",
"noResourcesSharedWithYou": "There are no resources shared with you",
"havePermissionRequestsWaitingForApproval": "You have {0} permission request(s) waiting for approval.",
"clickHereForDetails": "Click here for details.",
"resourceIsNotBeingShared": "The resource is not being shared",
"locale_ca": "CatalĂ ",
"locale_cs": "Čeơtina",
"locale_de": "Deutsch",
"locale_en": "English",
"locale_es": "Español",
"locale_fr": "Français",
"locale_it": "Italian",
"locale_ja": "æ—„æœŹèȘž",
"locale_nl": "Nederlands",
"locale_no": "Norsk",
"locale_lt": "LietuviĆł",
"locale_pt-BR": "PortuguĂȘs (Brasil)",
"locale_ru": "РуссĐșĐžĐč",
"locale_sk": "Slovenčina",
"locale_sv": "Svenska",
"locale_tr": "Turkish",
"locale_zh-CN": "äž­æ–‡çź€äœ“",
"applicaitonName": "Name",
"applicationType": "Application Type",
"applicationInUse": "In-use app only",
"clearAllFilter": "Clear all filters",
"activeFilters": "Active filters",
"filterByName": "Filter By Name ...",
"allApps": "All applications",
"internalApps": "Internal applications",
"thirdpartyApps": "Third-Party applications",
"appResults": "Results",
"clientNotFoundMessage": "Client not found.",
"authorizedProvider": "Authorized Provider",
"authorizedProviderMessage": "Authorized Providers linked with your account",
"identityProvider": "Identity Provider",
"identityProviderMessage": "To link your account with identity providers you have configured",
"socialLogin": "Social Login",
"userDefined": "User Defined",
"removeAccess": "Remove Access",
"removeAccessMessage": "You will need to grant access again, if you want to use this app account.",
"authenticatorStatusMessage": "Two-factor authentication is currently",
"authenticatorFinishSetUpTitle": "Your Two-Factor Authentication",
"authenticatorFinishSetUpMessage":
"Each time you sign in to your Keycloak account, you will be asked to provide a two-factor authentication code.",
"authenticatorSubTitle": "Set Up Two-Factor Authentication",
"authenticatorSubMessage": "To enhance the security of your account, enable at least one of the available two-factor authentication methods.",
"authenticatorMobileTitle": "Mobile Authenticator",
"authenticatorMobileMessage": "Use mobile Authenticator to get Verification codes as the two-factor authentication.",
"authenticatorMobileFinishSetUpMessage": "The authenticator has been bound to your phone.",
"authenticatorActionSetup": "Set up",
"authenticatorSMSTitle": "SMS Code",
"authenticatorSMSMessage": "Keycloak will send the Verification code to your phone as the two-factor authentication.",
"authenticatorSMSFinishSetUpMessage": "Text messages are sent to",
"authenticatorDefaultStatus": "Default",
"authenticatorChangePhone": "Change Phone Number",
"authenticatorBackupCodesTitle": "Backup Codes",
"authenticatorBackupCodesMessage": "Get your 8-digit backup codes",
"authenticatorBackupCodesFinishSetUpMessage": "12 backup codes were generated at this time. Each one can be used once.",
"authenticatorMobileSetupTitle": "Mobile Authenticator Setup",
"smscodeIntroMessage": "Enter your phone number and a verification code will be sent to your phone.",
"mobileSetupStep1": "Install an authenticator application on your phone. The applications listed here are supported.",
"mobileSetupStep2": "Open the application and scan the barcode:",
"mobileSetupStep3": "Enter the one-time code provided by the application and click Save to finish the setup.",
"scanBarCode": "Want to scan the barcode?",
"enterBarCode": "Enter the one-time code",
"doCopy": "Copy",
"doFinish": "Finish",
"authenticatorSMSCodeSetupTitle": "SMS Code Setup",
"chooseYourCountry": "Choose your country",
"enterYourPhoneNumber": "Enter your phone number",
"sendVerficationCode": "Send Verification Code",
"enterYourVerficationCode": "Enter your verification code",
"authenticatorBackupCodesSetupTitle": "Backup Codes Setup",
"backupcodesIntroMessage":
"If you lose access to your phone, you can still log into your account through backup codes. Keep them somewhere safe and accessible.",
"realmName": "Realm",
"doDownload": "Download",
"doPrint": "Print",
"backupCodesTips-1": "Each backup code can be used once.",
"backupCodesTips-2": "These codes were generated on",
"generateNewBackupCodes": "Generate New Backup Codes",
"backupCodesTips-3": "When you generate new backup codes, the current codes will not work anymore.",
"backtoAuthenticatorPage": "Back to Authenticator Page",
"resources": "Resources",
"sharedwithMe": "Shared with Me",
"share": "Share",
"sharedwith": "Shared with",
"accessPermissions": "Access Permissions",
"permissionRequests": "Permission Requests",
"approve": "Approve",
"approveAll": "Approve all",
"people": "people",
"perPage": "per page",
"currentPage": "Current Page",
"sharetheResource": "Share the resource",
"group": "Group",
"selectPermission": "Select Permission",
"addPeople": "Add people to share your resource with",
"addTeam": "Add team to share your resource with",
"myPermissions": "My Permissions",
"waitingforApproval": "Waiting for approval",
"anyPermission": "Any Permission",
"openshift.scope.user_info": "User information",
"openshift.scope.user_check-access": "User access information",
"openshift.scope.user_full": "Full Access",
"openshift.scope.list-projects": "List projects"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,137 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Guardar",
"doCancel": "Cancelar",
"doLogOutAllSessions": "Desconectar de todas las sesiones",
"doRemove": "Eliminar",
"doAdd": "Añadir",
"doSignOut": "Desconectar",
"editAccountHtmlTitle": "Editar cuenta",
"federatedIdentitiesHtmlTitle": "Identidades federadas",
"accountLogHtmlTitle": "Registro de la cuenta",
"changePasswordHtmlTitle": "Cambiar contraseña",
"sessionsHtmlTitle": "Sesiones",
"accountManagementTitle": "GestiĂłn de Cuenta Keycloak",
"authenticatorTitle": "Autenticador",
"applicationsHtmlTitle": "Aplicaciones",
"authenticatorCode": "CĂłdigo de un solo uso",
"email": "Email",
"firstName": "Nombre",
"givenName": "Nombre de pila",
"fullName": "Nombre completo",
"lastName": "Apellidos",
"familyName": "Apellido",
"password": "Contraseña",
"passwordConfirm": "Confirma la contraseña",
"passwordNew": "Nueva contraseña",
"username": "Usuario",
"address": "DirecciĂłn",
"street": "Calle",
"locality": "Ciudad o Municipio",
"region": "Estado, Provincia, o RegiĂłn",
"postal_code": "CĂłdigo Postal",
"country": "PaĂ­s",
"emailVerified": "Email verificado",
"gssDelegationCredential": "GSS Delegation Credential",
"role_admin": "Administrador",
"role_realm-admin": "Administrador del dominio",
"role_create-realm": "Crear dominio",
"role_view-realm": "Ver dominio",
"role_view-users": "Ver usuarios",
"role_view-applications": "Ver aplicaciones",
"role_view-clients": "Ver clientes",
"role_view-events": "Ver eventos",
"role_view-identity-providers": "Ver proveedores de identidad",
"role_manage-realm": "Gestionar dominio",
"role_manage-users": "Gestionar usuarios",
"role_manage-applications": "Gestionar aplicaciones",
"role_manage-identity-providers": "Gestionar proveedores de identidad",
"role_manage-clients": "Gestionar clientes",
"role_manage-events": "Gestionar eventos",
"role_view-profile": "Ver perfil",
"role_manage-account": "Gestionar cuenta",
"role_read-token": "Leer token",
"role_offline-access": "Acceso sin conexiĂłn",
"client_account": "Cuenta",
"client_security-admin-console": "Consola de AdministraciĂłn de Seguridad",
"client_realm-management": "GestiĂłn de dominio",
"client_broker": "Broker",
"requiredFields": "Campos obligatorios",
"allFieldsRequired": "Todos los campos obligatorios",
"backToApplication": "&laquo; Volver a la aplicaciĂłn",
"backTo": "Volver a {0}",
"date": "Fecha",
"event": "Evento",
"ip": "IP",
"client": "Cliente",
"clients": "Clientes",
"details": "Detalles",
"started": "Iniciado",
"lastAccess": "Último acceso",
"expires": "Expira",
"applications": "Aplicaciones",
"account": "Cuenta",
"federatedIdentity": "Identidad federada",
"authenticator": "Autenticador",
"sessions": "Sesiones",
"log": "Regisro",
"application": "AplicaciĂłn",
"availablePermissions": "Permisos disponibles",
"grantedPermissions": "Permisos concedidos",
"grantedPersonalInfo": "InformaciĂłn personal concedida",
"additionalGrants": "Permisos adicionales",
"action": "AcciĂłn",
"inResource": "en",
"fullAccess": "Acceso total",
"offlineToken": "CĂłdigo de autorizaciĂłn offline",
"revoke": "Revocar permiso",
"configureAuthenticators": "Autenticadores configurados",
"mobile": "MĂłvil",
"totpStep1":
'Instala <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> o Google Authenticator en tu teléfono móvil. Ambas aplicaciones estån disponibles en <a href="https://play.google.com">Google Play</a> y en la App Store de Apple.',
"totpStep2": "Abre la aplicaciĂłn y escanea el cĂłdigo o introduce la clave.",
"totpStep3": "Introduce el cĂłdigo Ășnico que te muestra la aplicaciĂłn de autenticaciĂłn y haz clic en Enviar para finalizar la configuraciĂłn",
"missingUsernameMessage": "Por favor indica tu usuario.",
"missingFirstNameMessage": "Por favor indica el nombre.",
"invalidEmailMessage": "Email no vĂĄlido",
"missingLastNameMessage": "Por favor indica tus apellidos.",
"missingEmailMessage": "Por favor indica el email.",
"missingPasswordMessage": "Por favor indica tu contraseña.",
"notMatchPasswordMessage": "Las contraseñas no coinciden.",
"missingTotpMessage": "Por favor indica tu cĂłdigo de autenticaciĂłn",
"invalidPasswordExistingMessage": "La contraseña actual no es correcta.",
"invalidPasswordConfirmMessage": "La confirmación de contraseña no coincide.",
"invalidTotpMessage": "El cĂłdigo de autenticaciĂłn no es vĂĄlido.",
"usernameExistsMessage": "El usuario ya existe",
"emailExistsMessage": "El email ya existe",
"readOnlyUserMessage": "No puedes actualizar tu usuario porque tu cuenta es de solo lectura.",
"readOnlyPasswordMessage": "No puedes actualizar tu contraseña porque tu cuenta es de solo lectura.",
"successTotpMessage": "AplicaciĂłn de autenticaciĂłn mĂłvil configurada.",
"successTotpRemovedMessage": "AplicaciĂłn de autenticaciĂłn mĂłvil eliminada.",
"successGrantRevokedMessage": "Permiso revocado correctamente",
"accountUpdatedMessage": "Tu cuenta se ha actualizado.",
"accountPasswordUpdatedMessage": "Tu contraseña se ha actualizado.",
"missingIdentityProviderMessage": "Proveedor de identidad no indicado.",
"invalidFederatedIdentityActionMessage": "AcciĂłn no vĂĄlida o no indicada.",
"identityProviderNotFoundMessage": "No se encontrĂł un proveedor de identidad.",
"federatedIdentityLinkNotActiveMessage": "Esta identidad ya no estĂĄ activa",
"federatedIdentityRemovingLastProviderMessage": "No puedes eliminar la Ășltima identidad federada porque no tienes fijada una contraseña.",
"identityProviderRedirectErrorMessage": "Error en la redirecciĂłn al proveedor de identidad",
"identityProviderRemovedMessage": "Proveedor de identidad borrado correctamente.",
"accountDisabledMessage": "La cuenta estĂĄ desactivada, contacta con el administrador.",
"accountTemporarilyDisabledMessage": "La cuenta estå temporalmente desactivada, contacta con el administrador o inténtalo de nuevo mås tarde.",
"invalidPasswordMinLengthMessage": "Contraseña incorrecta: longitud mínima {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Contraseña incorrecta: debe contener al menos {0} letras minĂșsculas.",
"invalidPasswordMinDigitsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.",
"invalidPasswordMinUpperCaseCharsMessage": "Contraseña incorrecta: debe contener al menos {0} letras mayĂșsculas.",
"invalidPasswordMinSpecialCharsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres especiales.",
"invalidPasswordNotUsernameMessage": "Contraseña incorrecta: no puede ser igual al nombre de usuario.",
"invalidPasswordRegexPatternMessage": "Contraseña incorrecta: no cumple la expresión regular.",
"invalidPasswordHistoryMessage": "Contraseña incorrecta: no puede ser igual a ninguna de las Ășltimas {0} contraseñas."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,150 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Sauvegarder",
"doCancel": "Annuler",
"doLogOutAllSessions": "Déconnexion de toutes les sessions",
"doRemove": "Supprimer",
"doAdd": "Ajouter",
"doSignOut": "Déconnexion",
"editAccountHtmlTitle": "Édition du compte",
"federatedIdentitiesHtmlTitle": "Identités fédérées",
"accountLogHtmlTitle": "AccĂšs au compte",
"changePasswordHtmlTitle": "Changer de mot de passe",
"sessionsHtmlTitle": "Sessions",
"accountManagementTitle": "Gestion du compte Keycloak",
"authenticatorTitle": "Authentification",
"applicationsHtmlTitle": "Applications",
"authenticatorCode": "Mot de passe unique",
"email": "Courriel",
"firstName": "Prénom",
"givenName": "Prénom",
"fullName": "Nom complet",
"lastName": "Nom",
"familyName": "Nom de famille",
"password": "Mot de passe",
"passwordConfirm": "Confirmation",
"passwordNew": "Nouveau mot de passe",
"username": "Compte",
"address": "Adresse",
"street": "Rue",
"locality": "Ville ou Localité",
"region": "État, Province ou RĂ©gion",
"postal_code": "Code Postal",
"country": "Pays",
"emailVerified": "Courriel vérifié",
"gssDelegationCredential": "Accréditation de délégation GSS",
"role_admin": "Administrateur",
"role_realm-admin": "Administrateur du domaine",
"role_create-realm": "Créer un domaine",
"role_view-realm": "Voir un domaine",
"role_view-users": "Voir les utilisateurs",
"role_view-applications": "Voir les applications",
"role_view-clients": "Voir les clients",
"role_view-events": "Voir les événements",
"role_view-identity-providers": "Voir les fournisseurs d'identités",
"role_manage-realm": "Gérer le domaine",
"role_manage-users": "Gérer les utilisateurs",
"role_manage-applications": "Gérer les applications",
"role_manage-identity-providers": "Gérer les fournisseurs d'identités",
"role_manage-clients": "Gérer les clients",
"role_manage-events": "Gérer les événements",
"role_view-profile": "Voir le profil",
"role_manage-account": "Gérer le compte",
"role_read-token": "Lire le jeton d'authentification",
"role_offline-access": "AccĂšs hors-ligne",
"client_account": "Compte",
"client_security-admin-console": "Console d'administration de la sécurité",
"client_admin-cli": "Admin CLI",
"client_realm-management": "Gestion du domaine",
"client_broker": "Broker",
"requiredFields": "Champs obligatoires",
"allFieldsRequired": "Tous les champs sont obligatoires",
"backToApplication": "&laquo; Revenir Ă  l'application",
"backTo": "Revenir Ă  {0}",
"date": "Date",
"event": "Evénement",
"ip": "IP",
"client": "Client",
"clients": "Clients",
"details": "Détails",
"started": "Début",
"lastAccess": "Dernier accĂšs",
"expires": "Expiration",
"applications": "Applications",
"account": "Compte",
"federatedIdentity": "Identité fédérée",
"authenticator": "Authentification",
"sessions": "Sessions",
"log": "Connexion",
"application": "Application",
"availablePermissions": "Permissions disponibles",
"grantedPermissions": "Permissions accordées",
"grantedPersonalInfo": "Informations personnelles accordées",
"additionalGrants": "Droits additionnels",
"action": "Action",
"inResource": "dans",
"fullAccess": "AccĂšs complet",
"offlineToken": "Jeton d'authentification hors-ligne",
"revoke": "Révoquer un droit",
"configureAuthenticators": "Authentifications configurées.",
"mobile": "Téléphone mobile",
"totpStep1": "Installez une des applications suivantes sur votre mobile",
"totpStep2": "Ouvrez l'application et scannez le code-barres ou entrez la clef.",
"totpStep3": "Entrez le code Ă  usage unique fourni par l'application et cliquez sur Sauvegarder pour terminer.",
"totpManualStep2": "Ouvrez l'application et entrez la clef",
"totpManualStep3": "Utilisez les valeurs de configuration suivante si l'application les autorise",
"totpUnableToScan": "Impossible de scanner ?",
"totpScanBarcode": "Scanner le code-barres ?",
"totp.totp": "Basé sur le temps",
"totp.hotp": "Basé sur un compteur",
"totpType": "Type",
"totpAlgorithm": "Algorithme",
"totpDigits": "Chiffres",
"totpInterval": "Intervalle",
"totpCounter": "Compteur",
"missingUsernameMessage": "Veuillez entrer votre nom d'utilisateur.",
"missingFirstNameMessage": "Veuillez entrer votre prénom.",
"invalidEmailMessage": "Courriel invalide.",
"missingLastNameMessage": "Veuillez entrer votre nom.",
"missingEmailMessage": "Veuillez entrer votre courriel.",
"missingPasswordMessage": "Veuillez entrer votre mot de passe.",
"notMatchPasswordMessage": "Les mots de passe ne sont pas identiques",
"missingTotpMessage": "Veuillez entrer le code d'authentification.",
"invalidPasswordExistingMessage": "Mot de passe existant invalide.",
"invalidPasswordConfirmMessage": "Le mot de passe de confirmation ne correspond pas.",
"invalidTotpMessage": "Le code d'authentification est invalide.",
"usernameExistsMessage": "Le nom d'utilisateur existe déjà.",
"emailExistsMessage": "Le courriel existe déjà.",
"readOnlyUserMessage": "Vous ne pouvez pas mettre Ă  jour votre compte car il est en lecture seule.",
"readOnlyPasswordMessage": "Vous ne pouvez pas mettre Ă  jour votre mot de passe car votre compte est en lecture seule.",
"successTotpMessage": "L'authentification via téléphone mobile est configurée.",
"successTotpRemovedMessage": "L'authentification via téléphone mobile est supprimée.",
"successGrantRevokedMessage": "Droit révoqué avec succÚs.",
"accountUpdatedMessage": "Votre compte a été mis à jour.",
"accountPasswordUpdatedMessage": "Votre mot de passe a été mis à jour.",
"missingIdentityProviderMessage": "Le fournisseur d'identité n'est pas spécifié.",
"invalidFederatedIdentityActionMessage": "Action manquante ou invalide.",
"identityProviderNotFoundMessage": "Le fournisseur d'identité spécifié n'est pas trouvé.",
"federatedIdentityLinkNotActiveMessage": "Cette identité n'est plus active dorénavant.",
"federatedIdentityRemovingLastProviderMessage":
"Vous ne pouvez pas supprimer votre derniÚre fédération d'identité sans avoir de mot de passe spécifié.",
"identityProviderRedirectErrorMessage": "Erreur de redirection vers le fournisseur d'identité.",
"identityProviderRemovedMessage": "Le fournisseur d'identité a été supprimé correctement.",
"identityProviderAlreadyLinkedMessage": "Le fournisseur d'identité retourné par {0} est déjà lié à un autre utilisateur.",
"accountDisabledMessage": "Ce compte est désactivé, veuillez contacter votre administrateur.",
"accountTemporarilyDisabledMessage": "Ce compte est temporairement désactivé, veuillez contacter votre administrateur ou réessayez plus tard.",
"invalidPasswordMinLengthMessage": "Mot de passe invalide: longueur minimale {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Mot de passe invalide: doit contenir au moins {0} lettre(s) en minuscule.",
"invalidPasswordMinDigitsMessage": "Mot de passe invalide: doit contenir au moins {0} chiffre(s).",
"invalidPasswordMinUpperCaseCharsMessage": "Mot de passe invalide: doit contenir au moins {0} lettre(s) en majuscule.",
"invalidPasswordMinSpecialCharsMessage": "Mot de passe invalide: doit contenir au moins {0} caractÚre(s) spéciaux.",
"invalidPasswordNotUsernameMessage": "Mot de passe invalide: ne doit pas ĂȘtre identique au nom d'utilisateur.",
"invalidPasswordRegexPatternMessage": "Mot de passe invalide: ne valide pas l'expression rationnelle.",
"invalidPasswordHistoryMessage": "Mot de passe invalide: ne doit pas ĂȘtre Ă©gal aux {0} derniers mots de passe."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,310 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Salva",
"doCancel": "Annulla",
"doLogOutAllSessions": "Effettua il logout da tutte le sessioni",
"doRemove": "Elimina",
"doAdd": "Aggiungi",
"doSignOut": "Esci",
"doLogIn": "Log In",
"doLink": "Link",
"editAccountHtmlTitle": "Modifica Account",
"personalInfoHtmlTitle": "Informazioni personali",
"federatedIdentitiesHtmlTitle": "IdentitĂ  federate",
"accountLogHtmlTitle": "Log dell'account",
"changePasswordHtmlTitle": "Cambia password",
"deviceActivityHtmlTitle": "AttivitĂ  dei dispositivi",
"sessionsHtmlTitle": "Sessioni",
"accountManagementTitle": "Gestione degli account di Keycloak",
"authenticatorTitle": "Autenticatore",
"applicationsHtmlTitle": "Applicazioni",
"linkedAccountsHtmlTitle": "Account collegati",
"accountManagementWelcomeMessage": "Benvenuto nella gestione degli account di Keycloak",
"personalInfoIntroMessage": "Gestisci le tue informazioni di base",
"accountSecurityTitle": "Sicurezza dell'account",
"accountSecurityIntroMessage": "Controlla la tua password e gli accessi dell'account",
"applicationsIntroMessage": "Traccia e gestisci i permessi delle applicazioni nell'accesso al tuo account",
"resourceIntroMessage": "Condividi le tue risorse tra i membri del team",
"passwordLastUpdateMessage": "La tua password Ăš stata aggiornata il",
"updatePasswordTitle": "Aggiornamento password",
"updatePasswordMessageTitle": "Assicurati di scegliere una password robusta",
"updatePasswordMessage":
"Una password robusta contiene un misto di numeri, lettere, e simboli. È difficile da indovinare, non assomiglia a una parola reale, ed Ú utilizzata solo per questo account.",
"personalSubTitle": "Le tue informazioni personali",
"personalSubMessage": "Gestisce queste informazioni di base: il tuo nome, cognome, e indirizzo email",
"authenticatorCode": "Codice monouso",
"email": "Email",
"firstName": "Nome",
"givenName": "Nome",
"fullName": "Nome completo",
"lastName": "Cognome",
"familyName": "Cognome",
"password": "Password",
"currentPassword": "Password attuale",
"passwordConfirm": "Conferma password",
"passwordNew": "Nuova password",
"username": "Username",
"address": "Indirizzo",
"street": "Via",
"locality": "CittĂ  o localitĂ ",
"region": "Stato, Provincia, o Regione",
"postal_code": "CAP",
"country": "Paese",
"emailVerified": "Email verificata",
"gssDelegationCredential": "Credenziali delega GSS",
"profileScopeConsentText": "Profilo utente",
"emailScopeConsentText": "Indirizzo email",
"addressScopeConsentText": "Indirizzo",
"phoneScopeConsentText": "Numero di telefono",
"offlineAccessScopeConsentText": "Accesso offline",
"samlRoleListScopeConsentText": "I miei ruoli",
"rolesScopeConsentText": "Ruoli utente",
"role_admin": "Admin",
"role_realm-admin": "Realm admin",
"role_create-realm": "Crea realm",
"role_view-realm": "Visualizza realm",
"role_view-users": "Visualizza utenti",
"role_view-applications": "Visualizza applicazioni",
"role_view-clients": "Visualizza client",
"role_view-events": "Visualizza eventi",
"role_view-identity-providers": "Visualizza identity provider",
"role_view-consent": "Visualizza consensi",
"role_manage-realm": "Gestisci realm",
"role_manage-users": "Gestisci utenti",
"role_manage-applications": "Gestisci applicazioni",
"role_manage-identity-providers": "Gestisci identity provider",
"role_manage-clients": "Gestisci client",
"role_manage-events": "Gestisci eventi",
"role_view-profile": "Visualizza profilo",
"role_manage-account": "Gestisci account",
"role_manage-account-links": "Gestisci i link dell'account",
"role_manage-consent": "Gestisci consensi",
"role_read-token": "Leggi token",
"role_offline-access": "Accesso offline",
"role_uma_authorization": "Ottieni permessi",
"client_account": "Account",
"client_account-console": "Console account",
"client_security-admin-console": "Console di amministrazione di sicurezza",
"client_admin-cli": "Admin CLI",
"client_realm-management": "Gestione realm",
"client_broker": "Broker",
"requiredFields": "Campi obbligatori",
"allFieldsRequired": "Tutti campi obbligatori",
"backToApplication": "&laquo; Torna all'applicazione",
"backTo": "Torna a {0}",
"date": "Data",
"event": "Evento",
"ip": "IP",
"client": "Client",
"clients": "Client",
"details": "Dettagli",
"started": "Iniziato",
"lastAccess": "Ultimo accesso",
"expires": "Scade",
"applications": "Applicazioni",
"account": "Account",
"federatedIdentity": "IdentitĂ  federate",
"authenticator": "Autenticatore",
"device-activity": "AttivitĂ  dei dispositivi",
"sessions": "Sessioni",
"log": "Log",
"application": "Applicazione",
"availablePermissions": "Autorizzazioni disponibili",
"grantedPermissions": "Autorizzazioni concesse",
"grantedPersonalInfo": "Informazioni personali concesse",
"additionalGrants": "Ulteriori concessioni",
"action": "Azione",
"inResource": "in",
"fullAccess": "Accesso completo",
"offlineToken": "Token offline",
"revoke": "Revoca concessione",
"configureAuthenticators": "Autenticatori configurati",
"mobile": "Dispositivo mobile",
"totpStep1": "Installa una delle seguenti applicazioni sul tuo dispositivo mobile",
"totpStep2": "Apri l'applicazione e scansiona il codice QR",
"totpStep3": "Scrivi il codice monouso fornito dall'applicazione e clicca Salva per completare il setup.",
"totpStep3DeviceName": "Fornisci il nome del dispositivo per aiutarti a gestire i dispositivi di autenticazione.",
"totpManualStep2": "Apri l'applicazione e scrivi la chiave",
"totpManualStep3": "Usa le seguenti impostazioni se l'applicazione lo consente",
"totpUnableToScan": "Non riesci a scansionare il codice QR?",
"totpScanBarcode": "Vuoi scansionare il codice QR?",
"totp.totp": "Basato sull'ora",
"totp.hotp": "Basato sul contatore",
"totpType": "Tipo",
"totpAlgorithm": "Algoritmo",
"totpDigits": "Cifre",
"totpInterval": "Intervallo",
"totpCounter": "Contatore",
"totpDeviceName": "Nome dispositivo",
"missingUsernameMessage": "Inserisci lo username.",
"missingFirstNameMessage": "Inserisci il nome.",
"invalidEmailMessage": "Indirizzo email non valido.",
"missingLastNameMessage": "Inserisci il cognome.",
"missingEmailMessage": "Inserisci l'indirizzo email.",
"missingPasswordMessage": "Inserisci la password.",
"notMatchPasswordMessage": "Le password non coincidono.",
"invalidUserMessage": "Utente non valido",
"missingTotpMessage": "Inserisci il codice di autenticazione.",
"missingTotpDeviceNameMessage": "Inserisci il nome del dispositivo di autenticazione.",
"invalidPasswordExistingMessage": "Password esistente non valida.",
"invalidPasswordConfirmMessage": "La password di conferma non coincide.",
"invalidTotpMessage": "Codice di autenticazione non valido.",
"usernameExistsMessage": "Username giĂ  esistente.",
"emailExistsMessage": "Email giĂ  esistente.",
"readOnlyUserMessage": "Non puoi aggiornare il tuo account poiché Ú in modalità sola lettura.",
"readOnlyUsernameMessage": "Non puoi aggiornare il tuo nome utente poiché Ú in modalità sola lettura.",
"readOnlyPasswordMessage": "Non puoi aggiornare il tuo account poiché Ú in modalità sola lettura.",
"successTotpMessage": "Autenticatore mobile configurato.",
"successTotpRemovedMessage": "Autenticatore mobile eliminato.",
"successGrantRevokedMessage": "Concessione revocata con successo.",
"accountUpdatedMessage": "Il tuo account Ăš stato aggiornato.",
"accountPasswordUpdatedMessage": "La tua password Ăš stata aggiornata.",
"missingIdentityProviderMessage": "Identity provider non specificato.",
"invalidFederatedIdentityActionMessage": "Azione non valida o mancante.",
"identityProviderNotFoundMessage": "L'identity provider specificato non Ăš stato trovato.",
"federatedIdentityLinkNotActiveMessage": "Questo identity non Ăš piĂč attivo.",
"federatedIdentityRemovingLastProviderMessage": "Non puoi rimuovere l'ultima identitĂ  federata poichĂ© non hai piĂč la password.",
"identityProviderRedirectErrorMessage": "Il reindirizzamento all'identity provider Ăš fallito.",
"identityProviderRemovedMessage": "Identity provider eliminato correttamente.",
"identityProviderAlreadyLinkedMessage": "L'identitĂ  federata restituita da {0} Ăš giĂ  collegata ad un altro utente.",
"staleCodeAccountMessage": "La pagina Ăš scaduta. Prova di nuovo.",
"consentDenied": "Consenso negato.",
"accountDisabledMessage": "Account disabilitato, contatta l'amministratore.",
"accountTemporarilyDisabledMessage": "L'account Ăš temporaneamente disabilitato, contatta l'amministratore o riprova piĂč tardi.",
"invalidPasswordMinLengthMessage": "Password non valida: lunghezza minima {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Password non valida: deve contenere almeno {0} caratteri minuscoli.",
"invalidPasswordMinDigitsMessage": "Password non valida: deve contenere almeno {0} numeri.",
"invalidPasswordMinUpperCaseCharsMessage": "Password non valida: deve contenere almeno {0} caratteri maiuscoli.",
"invalidPasswordMinSpecialCharsMessage": "Password non valida: deve contenere almeno {0} caratteri speciali.",
"invalidPasswordNotUsernameMessage": "Password non valida: non deve essere uguale allo username.",
"invalidPasswordRegexPatternMessage": "Password non valida: fallito il match con una o piĂč espressioni regolari.",
"invalidPasswordHistoryMessage": "Password non valida: non deve essere uguale a una delle ultime {0} password.",
"invalidPasswordBlacklistedMessage": "Password non valida: la password non Ăš consentita.",
"invalidPasswordGenericMessage": "Password non valida: la nuova password non rispetta le indicazioni previste.",
"myResources": "Le mie risorse",
"myResourcesSub": "Le mie risorse",
"doDeny": "Nega",
"doRevoke": "Revoca",
"doApprove": "Approva",
"doRemoveSharing": "Rimuovi condivisione",
"doRemoveRequest": "Rimuovi richiesta",
"peopleAccessResource": "Persone che hanno accesso a questa risorsa",
"resourceManagedPolicies": "Permessi che danno accesso a questa risorsa",
"resourceNoPermissionsGrantingAccess": "Nessun permesso dĂ  accesso a questa risorsa",
"anyAction": "Qualsiasi azione",
"description": "Descrizione",
"name": "Nome",
"scopes": "Ambito",
"resource": "Risorsa",
"user": "Utente",
"peopleSharingThisResource": "Persone che condividono questa risorsa",
"shareWithOthers": "Condividi con altri",
"needMyApproval": "Richiede la mia approvazione",
"requestsWaitingApproval": "La tua richiesta Ăš in attesa di approvazione",
"icon": "Icona",
"requestor": "Richiedente",
"owner": "Proprietario",
"resourcesSharedWithMe": "Risorse condivise con me",
"permissionRequestion": "Richiesta di permesso",
"permission": "Permesso",
"shares": "condivisioni",
"notBeingShared": "Questa risorsa non Ăš in condivisione.",
"notHaveAnyResource": "Non hai nessuna risorsa",
"noResourcesSharedWithYou": "Non ci sono risorse condivise con te",
"havePermissionRequestsWaitingForApproval": "Hai {0} richiesta(e) di permesso in attesa di approvazione.",
"clickHereForDetails": "Clicca qui per i dettagli.",
"resourceIsNotBeingShared": "La risorsa non Ăš in condivisione",
"locale_it": "Italiano",
"applicaitonName": "Nome",
"applicationType": "Tipo applicazione",
"applicationInUse": "In-use app only",
"clearAllFilter": "Azzera tutti i filtri",
"activeFilters": "Filtri attivi",
"filterByName": "Filtra per nome ...",
"allApps": "Tutte le applicazioni",
"internalApps": "Applicazioni interne",
"thirdpartyApps": "Applicazioni di terze parti",
"appResults": "Risultati",
"clientNotFoundMessage": "Client non trovato.",
"authorizedProvider": "Provider autorizzato",
"authorizedProviderMessage": "Provider autorizzati collegati al tuo account",
"identityProvider": "Identity provider",
"identityProviderMessage": "Collegare il tuo account con gli identity provider che hai configurato",
"socialLogin": "Social Login",
"userDefined": "Definito dall'utente",
"removeAccess": "Rimuovi accesso",
"removeAccessMessage": "Devi concedere di nuovo l'accesso, se vuoi utilizzare l'account di questa applicazione.",
"authenticatorStatusMessage": "L'autenticazione a due fattori Ăš attualmente",
"authenticatorFinishSetUpTitle": "La tua autenticazione a due fattori",
"authenticatorFinishSetUpMessage":
"Ogni volta che effettui l'accesso al tuo account Keycloak, ti verrĂ  richiesto di fornire il tuo codice di autenticazione a due fattori.",
"authenticatorSubTitle": "Imposta l'autenticazione a due fattori",
"authenticatorSubMessage":
"Per incrementare la sicurezza del tuo account, attiva almeno uno dei metodi disponibili per l'autenticazione a due fattori.",
"authenticatorMobileTitle": "Autenticatore mobile",
"authenticatorMobileMessage": "Utilizza l'autenticatore mobile per ottenere i codici di verifica per l'autenticazione a due fattori.",
"authenticatorMobileFinishSetUpMessage": "L'autenticatore Ăš stato collegato al tuo telefono.",
"authenticatorActionSetup": "Set up",
"authenticatorSMSTitle": "Codice SMS",
"authenticatorSMSMessage": "Keycloak invierĂ  il codice di verifica al tuo telefono per l'autenticazione a due fattori.",
"authenticatorSMSFinishSetUpMessage": "I messaggi di testo vengono inviati a",
"authenticatorDefaultStatus": "Default",
"authenticatorChangePhone": "Cambia numero di telefono",
"authenticatorBackupCodesTitle": "Codici di backup",
"authenticatorBackupCodesMessage": "Ottieni i tuoi codici di backup a otto cifre",
"authenticatorBackupCodesFinishSetUpMessage": "Sono stati generati dodici codici di backup. Ognuno puĂČ essere usato una sola volta.",
"authenticatorMobileSetupTitle": "Setup autenticatore mobile",
"smscodeIntroMessage": "Inserisci il tuo numero di telefono e ti verrĂ  inviato un codice di verifica.",
"mobileSetupStep1": "Installa un'applicazione di autenticazione sul tuo telefono. Sono supportate le applicazioni qui elencate.",
"mobileSetupStep2": "Apri l'applicazione e scansiona il codice QR:",
"mobileSetupStep3": "Inserisci il codice monouso fornito dall'applicazione e clicca Salva per completare il setup.",
"scanBarCode": "Vuoi scansionare il codice QR?",
"enterBarCode": "Inserisci il codice monouso",
"doCopy": "Copia",
"doFinish": "Termina",
"authenticatorSMSCodeSetupTitle": "Setup codice SMS",
"chooseYourCountry": "Scegli la tua nazione",
"enterYourPhoneNumber": "Inserisci il tuo numero di telefono",
"sendVerficationCode": "Invia il codice di verifica",
"enterYourVerficationCode": "Inserisci il codice di verifica",
"authenticatorBackupCodesSetupTitle": "Setup backup codici",
"backupcodesIntroMessage":
"Se non disponi piĂč del tuo telefono, puoi comunque accedere al tuo account attraverso i codici di backup. Conservali in un posto sicuro e accessibile.",
"realmName": "Realm",
"doDownload": "Download",
"doPrint": "Stampa",
"backupCodesTips-1": "Ogni codice di backup puĂČ essere usato una sola volta.",
"backupCodesTips-2": "Questi codici sono stati generati il",
"generateNewBackupCodes": "Genera dei nuovi codici di backup",
"backupCodesTips-3": "Quando generi dei nuovi codici di backup, quelli attuali non funzioneranno piĂč.",
"backtoAuthenticatorPage": "Torna alla pagina dell'autenticatore",
"resources": "Risorse",
"sharedwithMe": "Condiviso con me",
"share": "Condiviso",
"sharedwith": "Condiviso con",
"accessPermissions": "Permessi di accesso",
"permissionRequests": "Richieste di permesso",
"approve": "Approva",
"approveAll": "Approva tutti",
"people": "persone",
"perPage": "per pagina",
"currentPage": "Pagina corrente",
"sharetheResource": "Condividi la risorsa",
"group": "Gruppo",
"selectPermission": "Seleziona permessi",
"addPeople": "Aggiungi persone con le quali condividere la tua risorsa",
"addTeam": "Aggiungi gruppi con i quali condividere la tua risorsa",
"myPermissions": "Miei permessi",
"waitingforApproval": "Attesa dell'approvazione",
"anyPermission": "Qualsiasi permesso",
"openshift.scope.user_info": "Informazioni utente",
"openshift.scope.user_check-access": "Informazioni per l'accesso dell'utente",
"openshift.scope.user_full": "Accesso completo",
"openshift.scope.list-projects": "Elenca progetti"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,324 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "保歘",
"doCancel": "ă‚­ăƒŁăƒłă‚»ăƒ«",
"doLogOutAllSessions": "ć…šă‚»ăƒƒă‚·ăƒ§ăƒłă‹ă‚‰ăƒ­ă‚°ă‚ąă‚Šăƒˆ",
"doRemove": "扊陀",
"doAdd": "èżœćŠ ",
"doSignOut": "ă‚”ă‚€ăƒłă‚ąă‚Šăƒˆ",
"doLogIn": "ăƒ­ă‚°ă‚€ăƒł",
"doLink": "ăƒȘンク",
"editAccountHtmlTitle": "ă‚ąă‚«ă‚Šăƒłăƒˆăźç·šé›†",
"personalInfoHtmlTitle": "怋äșșæƒ…ć ±",
"federatedIdentitiesHtmlTitle": "連æșæžˆăżă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒ",
"accountLogHtmlTitle": "ă‚ąă‚«ă‚Šăƒłăƒˆăƒ­ă‚°",
"changePasswordHtmlTitle": "パă‚čăƒŻăƒŒăƒ‰ć€‰æ›Ž",
"deviceActivityHtmlTitle": "ăƒ‡ăƒă‚€ă‚čăƒ»ă‚ąă‚Żăƒ†ă‚Łăƒ“ăƒ†ă‚ŁăƒŒ",
"sessionsHtmlTitle": "ă‚»ăƒƒă‚·ăƒ§ăƒł",
"accountManagementTitle": "Keycloakă‚ąă‚«ă‚ŠăƒłăƒˆçźĄç†",
"authenticatorTitle": "ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒ",
"applicationsHtmlTitle": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"linkedAccountsHtmlTitle": "ăƒȘăƒłă‚Żă•ă‚ŒăŸă‚ąă‚«ă‚Šăƒłăƒˆ",
"accountManagementWelcomeMessage": "Keycloakă‚ąă‚«ă‚ŠăƒłăƒˆçźĄç†ăžă‚ˆă†ă“ă",
"personalInfoIntroMessage": "ćŸșæœŹæƒ…ć ±ă‚’çźĄç†ă™ă‚‹",
"accountSecurityTitle": "ă‚ąă‚«ă‚Šăƒłăƒˆăƒ»ă‚»ă‚­ăƒ„ăƒȘăƒ†ă‚ŁăƒŒ",
"accountSecurityIntroMessage": "パă‚čăƒŻăƒŒăƒ‰ăšă‚ąă‚«ă‚Šăƒłăƒˆăƒ»ă‚ąă‚Żă‚»ă‚čă‚’ćˆ¶ćŸĄă™ă‚‹",
"applicationsIntroMessage": "ă‚ąă‚«ă‚Šăƒłăƒˆăžă‚ąă‚Żă‚»ă‚čă™ă‚‹ăŸă‚ă«ă‚ąăƒ—ăƒȘăźăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłă‚’èżœè·Ąă—ăŠçźĄç†ă™ă‚‹",
"resourceIntroMessage": "ăƒăƒŒăƒ ăƒĄăƒłăƒăƒŒé–“ă§ăƒȘă‚œăƒŒă‚čă‚’ć…±æœ‰ă™ă‚‹",
"passwordLastUpdateMessage": "パă‚čăƒŻăƒŒăƒ‰ăŻæ›Žæ–°ă•ă‚ŒăŸă—ăŸ",
"updatePasswordTitle": "パă‚čăƒŻăƒŒăƒ‰ăźæ›Žæ–°",
"updatePasswordMessageTitle": "ćŒ·ćŠ›ăȘパă‚čăƒŻăƒŒăƒ‰ă‚’éžæŠžă—ăŠăă ă•ă„",
"updatePasswordMessage":
"ćŒ·ćŠ›ăȘパă‚čăƒŻăƒŒăƒ‰ăŻă€æ•°ć­—ă€æ–‡ć­—ă€èš˜ć·ă‚’ć«ăżăŸă™ă€‚æŽšæžŹăŒé›Łă—ăă€ćźŸćœšă™ă‚‹èš€è‘‰ă«äŒŒăŠăŠă‚‰ăšă€ă“ăźă‚ąă‚«ă‚Šăƒłăƒˆă ă‘ă§äœżç”šă•ă‚ŒăŠă„ăŸă™ă€‚",
"personalSubTitle": "怋äșșæƒ…ć ±",
"personalSubMessage": "こぼćŸșæœŹæƒ…ć ±ă‚’çźĄç†ă—ăŠăă ă•ă„ïŒšćă€ć§“ă€ăƒĄăƒŒăƒ«",
"authenticatorCode": "ăƒŻăƒłă‚żă‚€ăƒ ă‚łăƒŒăƒ‰",
"email": "EăƒĄăƒŒăƒ«",
"firstName": "損",
"givenName": "損",
"fullName": "æ°ć",
"lastName": "槓",
"familyName": "槓",
"password": "パă‚čăƒŻăƒŒăƒ‰",
"currentPassword": "çŸćœšăźăƒ‘ă‚čăƒŻăƒŒăƒ‰",
"passwordConfirm": "æ–°ă—ă„ăƒ‘ă‚čăƒŻăƒŒăƒ‰ïŒˆçąșèȘïŒ‰",
"passwordNew": "æ–°ă—ă„ăƒ‘ă‚čăƒŻăƒŒăƒ‰",
"username": "ăƒŠăƒŒă‚¶ăƒŒć",
"address": "䜏所",
"street": "ç•Ș㜰",
"locality": "澂ćŒșç”ș村",
"region": "郜道ćșœçœŒ",
"postal_code": "éƒ”äŸżç•Șć·",
"country": "ć›œ",
"emailVerified": "çąșèȘæžˆăżEăƒĄăƒŒăƒ«",
"gssDelegationCredential": "GSS槔è­Čă‚ŻăƒŹăƒ‡ăƒłă‚·ăƒŁăƒ«",
"profileScopeConsentText": "ăƒŠăƒŒă‚¶ăƒŒăƒ»ăƒ—ăƒ­ăƒ•ă‚Ąă‚€ăƒ«",
"emailScopeConsentText": "ăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚č",
"addressScopeConsentText": "ケドレă‚č",
"phoneScopeConsentText": "電話ç•Șć·",
"offlineAccessScopeConsentText": "ă‚Șăƒ•ăƒ©ă‚€ăƒłăƒ»ă‚ąă‚Żă‚»ă‚č",
"samlRoleListScopeConsentText": "ăƒ­ăƒŒăƒ«",
"rolesScopeConsentText": "ăƒŠăƒŒă‚¶ăƒŒăƒ­ăƒŒăƒ«",
"role_admin": "çźĄç†è€…",
"role_realm-admin": "ăƒŹăƒ«ăƒ çźĄç†è€…",
"role_create-realm": "ăƒŹăƒ«ăƒ ăźäœœæˆ",
"role_view-realm": "ăƒŹăƒ«ăƒ ăźć‚ç…§",
"role_view-users": "ăƒŠăƒŒă‚¶ăƒŒăźć‚ç…§",
"role_view-applications": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăźć‚ç…§",
"role_view-clients": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăźć‚ç…§",
"role_view-events": "ă‚€ăƒ™ăƒłăƒˆăźć‚ç…§",
"role_view-identity-providers": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăźć‚ç…§",
"role_view-consent": "ćŒæ„ăźć‚ç…§",
"role_manage-realm": "ăƒŹăƒ«ăƒ ăźçźĄç†",
"role_manage-users": "ăƒŠăƒŒă‚¶ăƒŒăźçźĄç†",
"role_manage-applications": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăźçźĄç†",
"role_manage-identity-providers": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăźçźĄç†",
"role_manage-clients": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăźçźĄç†",
"role_manage-events": "ă‚€ăƒ™ăƒłăƒˆăźçźĄç†",
"role_view-profile": "ăƒ—ăƒ­ăƒ•ă‚Ąă‚€ăƒ«ăźć‚ç…§",
"role_manage-account": "ă‚ąă‚«ă‚ŠăƒłăƒˆăźçźĄç†",
"role_manage-account-links": "ă‚ąă‚«ă‚ŠăƒłăƒˆăƒȘンクぼ缡理",
"role_manage-consent": "ćŒæ„ăźçźĄç†",
"role_read-token": "ăƒˆăƒŒă‚Żăƒłăźć‚ç…§",
"role_offline-access": "ă‚Șăƒ•ăƒ©ă‚€ăƒłăƒ»ă‚ąă‚Żă‚»ă‚č",
"role_uma_authorization": "ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłăźć–ćŸ—",
"client_account": "ă‚ąă‚«ă‚Šăƒłăƒˆ",
"client_account-console": "ă‚ąă‚«ă‚Šăƒłăƒˆăƒ»ă‚łăƒłă‚œăƒŒăƒ«",
"client_security-admin-console": "ă‚»ă‚­ăƒ„ăƒȘăƒ†ă‚ŁăƒŒçźĄç†ă‚łăƒłă‚œăƒŒăƒ«",
"client_admin-cli": "缡理CLI",
"client_realm-management": "ăƒŹăƒ«ăƒ çźĄç†",
"client_broker": "ăƒ–ăƒ­ăƒŒă‚«ăƒŒ",
"requiredFields": "濅須",
"allFieldsRequired": "ć…šăŠăźć…„ćŠ›é …ç›źăŒćż…é ˆ",
"backToApplication": "&laquo; ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă«æˆ»ă‚‹",
"backTo": "{0}ă«æˆ»ă‚‹",
"date": "旄付",
"event": "ă‚€ăƒ™ăƒłăƒˆ",
"ip": "IP",
"client": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆ",
"clients": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆ",
"details": "è©łçŽ°",
"started": "開構",
"lastAccess": "æœ€ç”‚ă‚ąă‚Żă‚»ă‚č",
"expires": "有ćŠč期限",
"applications": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"account": "ă‚ąă‚«ă‚Šăƒłăƒˆ",
"federatedIdentity": "連æșæžˆăżă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒ",
"authenticator": "ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒ",
"device-activity": "ăƒ‡ăƒă‚€ă‚čăƒ»ă‚ąă‚Żăƒ†ă‚Łăƒ“ăƒ†ă‚ŁăƒŒ",
"sessions": "ă‚»ăƒƒă‚·ăƒ§ăƒł",
"log": "ログ",
"application": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"availableRoles": "ćˆ©ç”šćŻèƒœăȘăƒ­ăƒŒăƒ«",
"grantedPermissions": "èš±ćŻă•ă‚ŒăŸăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"grantedPersonalInfo": "èš±ćŻă•ă‚ŒăŸć€‹äșșæƒ…ć ±",
"additionalGrants": "èżœćŠ ăźèš±ćŻ",
"action": "ă‚ąă‚Żă‚·ăƒ§ăƒł",
"inResource": "in",
"fullAccess": "ăƒ•ăƒ«ă‚ąă‚Żă‚»ă‚č",
"offlineToken": "ă‚Șăƒ•ăƒ©ă‚€ăƒłăƒ»ăƒˆăƒŒă‚Żăƒł",
"revoke": "èš±ćŻăźć–ă‚Šæ¶ˆă—",
"configureAuthenticators": "èš­ćźšæžˆăżăźă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒ",
"mobile": "ăƒąăƒă‚€ăƒ«",
"totpStep1": "ăƒąăƒă‚€ăƒ«ă«ä»„äž‹ăźă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăźă„ăšă‚Œă‹ă‚’ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăŠăă ă•ă„ă€‚",
"totpStep2": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚’é–‹ăă€ăƒăƒŒă‚łăƒŒăƒ‰ă‚’ă‚čキャンしどください。",
"totpStep3": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă§æäŸ›ă•ă‚ŒăŸăƒŻăƒłă‚żă‚€ăƒ ă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠäżć­˜ă‚’ă‚ŻăƒȘăƒƒă‚Żă—ă€ă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—ă‚’ćźŒäș†ă—ăŠăă ă•ă„ă€‚",
"totpStep3DeviceName": "OTPăƒ‡ăƒă‚€ă‚čた知理にćœčç«‹ă€ă‚ˆă†ăȘăƒ‡ăƒă‚€ă‚čćă‚’æŒ‡ćźšă—ăŠăă ă•ă„ă€‚",
"totpManualStep2": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚’é–‹ăă€ă‚­ăƒŒă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"totpManualStep3": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăŒèš­ćźšă§ăă‚‹ć ŽćˆăŻă€æŹĄăźèš­ćźšć€€ă‚’äœżç”šă—ăŠăă ă•ă„ă€‚",
"totpUnableToScan": "ă‚čă‚­ăƒŁăƒłă§ăăŸă›ă‚“ă‹ïŒŸ",
"totpScanBarcode": "ăƒăƒŒă‚łăƒŒăƒ‰ă‚’ă‚čă‚­ăƒŁăƒłă—ăŸă™ă‹ïŒŸ",
"totp.totp": "æ™‚é–“ăƒ™ăƒŒă‚č",
"totp.hotp": "ă‚«ă‚Šăƒłă‚żăƒŒăƒ™ăƒŒă‚č",
"totpType": "ă‚żă‚€ăƒ—",
"totpAlgorithm": "ă‚ąăƒ«ă‚ŽăƒȘă‚șム",
"totpDigits": "æ•°ć­—",
"totpInterval": "間隔",
"totpCounter": "ă‚«ă‚Šăƒłă‚żăƒŒ",
"totpDeviceName": "ăƒ‡ăƒă‚€ă‚č損",
"missingUsernameMessage": "ăƒŠăƒŒă‚¶ăƒŒćă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"missingFirstNameMessage": "ćă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"invalidEmailMessage": "無ćŠčăȘăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čです。",
"missingLastNameMessage": "ć§“ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"missingEmailMessage": "EăƒĄăƒŒăƒ«ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"missingPasswordMessage": "パă‚čăƒŻăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"notMatchPasswordMessage": "パă‚čăƒŻăƒŒăƒ‰ăŒäž€è‡Žă—ăŠă„ăŸă›ă‚“ă€‚",
"invalidUserMessage": "無ćŠčăȘăƒŠăƒŒă‚¶ăƒŒă§ă™ă€‚",
"missingTotpMessage": "ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăƒ»ă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„ă€‚",
"missingTotpDeviceNameMessage": "ăƒ‡ăƒă‚€ă‚čćă‚’æŒ‡ćźšă—ăŠăă ă•ă„ă€‚",
"invalidPasswordExistingMessage": "æ—ąć­˜ăźăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŒäžæ­Łă§ă™ă€‚",
"invalidPasswordConfirmMessage": "æ–°ă—ă„ăƒ‘ă‚čăƒŻăƒŒăƒ‰ïŒˆçąșèȘïŒ‰ăšäž€è‡Žă—ăŠă„ăŸă›ă‚“ă€‚",
"invalidTotpMessage": "無ćŠčăȘă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăƒ»ă‚łăƒŒăƒ‰ă§ă™ă€‚",
"usernameExistsMessage": "æ—ąă«ć­˜ćœšă™ă‚‹ăƒŠăƒŒă‚¶ăƒŒćă§ă™ă€‚",
"emailExistsMessage": "æ—ąă«ć­˜ćœšă™ă‚‹EăƒĄăƒŒăƒ«ă§ă™ă€‚",
"readOnlyUserMessage": "èȘ­ăżć–ă‚Šć°‚ç”šăźăŸă‚ă€ă‚ąă‚«ă‚Šăƒłăƒˆă‚’æ›Žæ–°ă™ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"readOnlyUsernameMessage": "èȘ­ăżć–ă‚Šć°‚ç”šăźăŸă‚ă€ăƒŠăƒŒă‚¶ăƒŒćă‚’æ›Žæ–°ă™ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"readOnlyPasswordMessage": "èȘ­ăżć–ă‚Šć°‚ç”šăźăŸă‚ă€ăƒ‘ă‚čăƒŻăƒŒăƒ‰ă‚’æ›Žæ–°ă™ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"successTotpMessage": "ăƒąăƒă‚€ăƒ«ăƒ»ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăŒèš­ćźšă•ă‚ŒăŸă—ăŸă€‚",
"successTotpRemovedMessage": "ăƒąăƒă‚€ăƒ«ăƒ»ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăŒć‰Šé™€ă•ă‚ŒăŸă—ăŸă€‚",
"successGrantRevokedMessage": "èš±ćŻăŒæ­Łćžžă«ć–ă‚Šæ¶ˆă—ă•ă‚ŒăŸă—ăŸă€‚",
"accountUpdatedMessage": "ă‚ąă‚«ă‚ŠăƒłăƒˆăŒæ›Žæ–°ă•ă‚ŒăŸă—ăŸă€‚",
"accountPasswordUpdatedMessage": "パă‚čăƒŻăƒŒăƒ‰ăŒæ›Žæ–°ă•ă‚ŒăŸă—ăŸă€‚",
"missingIdentityProviderMessage": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăŒæŒ‡ćźšă•ă‚ŒăŠă„ăŸă›ă‚“ă€‚",
"invalidFederatedIdentityActionMessage": "無ćŠčăŸăŸăŻć­˜ćœšă—ăȘă„ă‚ąă‚Żă‚·ăƒ§ăƒłă§ă™ă€‚",
"identityProviderNotFoundMessage": "æŒ‡ćźšă•ă‚ŒăŸă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăŒèŠ‹ă€ă‹ă‚ŠăŸă›ă‚“ă€‚",
"federatedIdentityLinkNotActiveMessage": "ă“ăźă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăŻæœ‰ćŠčă§ăŻă‚ă‚ŠăŸă›ă‚“ă€‚",
"federatedIdentityRemovingLastProviderMessage": "パă‚čăƒŻăƒŒăƒ‰ăŒăȘă„ăŸă‚ă€æœ€ćŸŒăźé€Łæșæžˆăżă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăŒć‰Šé™€ă§ăăŸă›ă‚“ă€‚",
"identityProviderRedirectErrorMessage": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăžăźăƒȘăƒ€ă‚€ăƒŹă‚Żăƒˆă«ć€±æ•—ă—ăŸă—ăŸă€‚",
"identityProviderRemovedMessage": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăŒæ­Łćžžă«ć‰Šé™€ă•ă‚ŒăŸă—ăŸă€‚",
"identityProviderAlreadyLinkedMessage": "{0}ă‹ă‚‰èż”ă•ă‚ŒăŸé€Łæșæžˆăżă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăŻæ—ąă«ä»–ăźăƒŠăƒŒă‚¶ăƒŒă«é–ąé€Łä»˜ă‘ă•ă‚ŒăŠă„ăŸă™ă€‚",
"staleCodeAccountMessage": "有ćŠčæœŸé™ćˆ‡ă‚Œă§ă™ă€‚ć†ćșŠăŠè©Šă—ăă ă•ă„ă€‚",
"consentDenied": "ćŒæ„ăŒæ‹’ćŠă•ă‚ŒăŸă—ăŸă€‚",
"accountDisabledMessage": "ă‚ąă‚«ă‚ŠăƒłăƒˆăŒç„ĄćŠčă§ă™ă€‚çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚",
"accountTemporarilyDisabledMessage": "ă‚ąă‚«ă‚ŠăƒłăƒˆăŒäž€æ™‚çš„ă«ç„ĄćŠčă§ă™ă€‚çźĄç†è€…ă«é€Łç”Ąă™ă‚‹ă‹ă€ă—ă°ă‚‰ăæ™‚é–“ă‚’ăŠă„ăŠă‹ă‚‰ć†ćșŠăŠè©Šă—ăă ă•ă„ă€‚",
"invalidPasswordMinLengthMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æœ€ć°{0}ăźé•·ă•ăŒćż…èŠă§ă™ă€‚",
"invalidPasswordMinLowerCaseCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźć°æ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinDigitsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźæ•°ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinUpperCaseCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰:民ăȘくべも{0}æ–‡ć­—ăźć€§æ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinSpecialCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźç‰čæźŠæ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordNotUsernameMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: ăƒŠăƒŒă‚¶ăƒŒćăšćŒă˜ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻçŠæ­ąă•ă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordRegexPatternMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æ­ŁèŠèĄšçŸăƒ‘ă‚żăƒŒăƒłăšäž€è‡Žă—ăŸă›ă‚“ă€‚",
"invalidPasswordHistoryMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æœ€èż‘ăź{0}パă‚čăƒŻăƒŒăƒ‰ăźă„ăšă‚Œă‹ăšćŒă˜ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻçŠæ­ąă•ă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordBlacklistedMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: パă‚čăƒŻăƒŒăƒ‰ăŒăƒ–ăƒ©ăƒƒă‚ŻăƒȘă‚čăƒˆă«ć«ăŸă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordGenericMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æ–°ă—ă„ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻăƒ‘ă‚čăƒŻăƒŒăƒ‰ăƒ»ăƒăƒȘă‚·ăƒŒăšäž€è‡Žă—ăŸă›ă‚“ă€‚",
"myResources": "ăƒžă‚€ăƒȘă‚œăƒŒă‚č",
"myResourcesSub": "ăƒžă‚€ăƒȘă‚œăƒŒă‚č",
"doDeny": "æ‹’ćŠ",
"doRevoke": "ć–ă‚Šæ¶ˆă—",
"doApprove": "æ‰żèȘ",
"doRemoveSharing": "ć…±æœ‰ăźć‰Šé™€",
"doRemoveRequest": "èŠæ±‚ăźć‰Šé™€",
"peopleAccessResource": "こぼăƒȘă‚œăƒŒă‚čにスクセă‚čできるäșș",
"resourceManagedPolicies": "こぼăƒȘă‚œăƒŒă‚čぞたスクセă‚čă‚’èš±ćŻă™ă‚‹ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"resourceNoPermissionsGrantingAccess": "こぼăƒȘă‚œăƒŒă‚čぞたスクセă‚čă‚’èš±ćŻă™ă‚‹æš©é™ăŻă‚ă‚ŠăŸă›ă‚“",
"anyAction": "ä»»æ„ăźă‚ąă‚Żă‚·ăƒ§ăƒł",
"description": "èȘŹæ˜Ž",
"name": "損才",
"scopes": "ă‚čă‚łăƒŒăƒ—",
"resource": "ăƒȘă‚œăƒŒă‚č",
"user": "ăƒŠăƒŒă‚¶ăƒŒ",
"peopleSharingThisResource": "こぼăƒȘă‚œăƒŒă‚čă‚’ć…±æœ‰ă—ăŠă„ă‚‹äșș",
"shareWithOthers": "他äșșăšć…±æœ‰",
"needMyApproval": "æ‰żèȘăŒćż…èЁ",
"requestsWaitingApproval": "æ‰żèȘćŸ…ăĄăźèŠæ±‚",
"icon": "ă‚ąă‚€ă‚łăƒł",
"requestor": "芁求者",
"owner": "ă‚ȘăƒŒăƒŠăƒŒ",
"resourcesSharedWithMe": "ć…±æœ‰ă—ăŠă„ă‚‹ăƒȘă‚œăƒŒă‚č",
"permissionRequestion": "ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłăźèŠæ±‚",
"permission": "ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"shares": "ć…±æœ‰ïŒˆè€‡æ•°ïŒ‰",
"notBeingShared": "こぼăƒȘă‚œăƒŒă‚čăŻć…±æœ‰ă•ă‚ŒăŠă„ăŸă›ă‚“ă€‚",
"notHaveAnyResource": "ăƒȘă‚œăƒŒă‚čăŒă‚ă‚ŠăŸă›ă‚“ă€‚",
"noResourcesSharedWithYou": "ć…±æœ‰ă—ăŠă„ă‚‹ăƒȘă‚œăƒŒă‚čăŻă‚ă‚ŠăŸă›ă‚“",
"havePermissionRequestsWaitingForApproval": "æ‰żèȘă‚’ćŸ…ăŁăŠă„ă‚‹{0}ć€‹ăźăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłăźèŠæ±‚ăŒă‚ă‚ŠăŸă™ă€‚",
"clickHereForDetails": "è©łçŽ°ăŻă“ăĄă‚‰ă‚’ă‚ŻăƒȘックしどください。",
"resourceIsNotBeingShared": "ăƒȘă‚œăƒŒă‚čăŻć…±æœ‰ă•ă‚ŒăŠă„ăŸă›ă‚“ă€‚",
"locale_ca": "CatalĂ ",
"locale_de": "Deutsch",
"locale_en": "English",
"locale_es": "Español",
"locale_fr": "Français",
"locale_it": "Italian",
"locale_ja": "æ—„æœŹèȘž",
"locale_nl": "Nederlands",
"locale_no": "Norsk",
"locale_lt": "LietuviĆł",
"locale_pt-BR": "PortuguĂȘs (Brasil)",
"locale_ru": "РуссĐșĐžĐč",
"locale_sk": "Slovenčina",
"locale_sv": "Svenska",
"locale_tr": "Turkish",
"locale_zh-CN": "äž­æ–‡çź€äœ“",
"applicaitonName": "損才",
"applicationType": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăƒ»ă‚żă‚€ăƒ—",
"applicationInUse": "äœżç”šäž­ăźă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăźăż",
"clearAllFilter": "すăčăŠăźăƒ•ă‚Łăƒ«ă‚żăƒŒă‚’ă‚ŻăƒȘケ",
"activeFilters": "ケクティブăȘăƒ•ă‚Łăƒ«ă‚żăƒŒ",
"filterByName": "ćć‰ă§ăƒ•ă‚Łăƒ«ă‚żăƒȘング...",
"allApps": "すăčどぼケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"internalApps": "憅郹ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"thirdpartyApps": "ă‚”ăƒŒăƒ‰ăƒ‘ăƒŒăƒ†ă‚ŁăƒŒăźă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒł",
"appResults": "甐果",
"clientNotFoundMessage": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăŒèŠ‹ă€ă‹ă‚ŠăŸă›ă‚“ă€‚",
"authorizedProvider": "èȘćŻæžˆăżăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒ",
"authorizedProviderMessage": "ă‚ąă‚«ă‚Šăƒłăƒˆă«ăƒȘンクされたèȘćŻæžˆăżăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒ",
"identityProvider": "ă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒ",
"identityProviderMessage": "ă‚ąă‚«ă‚Šăƒłăƒˆăšèš­ćźšă—ăŸă‚ąă‚€ăƒ‡ăƒłăƒ†ă‚Łăƒ†ă‚ŁăƒŒăƒ»ăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒă‚’ăƒȘăƒłă‚Żă™ă‚‹ă«ăŻ",
"socialLogin": "ă‚œăƒŒă‚·ăƒŁăƒ«ăƒ»ăƒ­ă‚°ă‚€ăƒł",
"userDefined": "ăƒŠăƒŒă‚¶ăƒŒćźšçŸ©",
"removeAccess": "スクセă‚čæš©ăźć‰Šé™€",
"removeAccessMessage": "こぼケプăƒȘăƒ»ă‚ąă‚«ă‚Šăƒłăƒˆă‚’äœżç”šă™ă‚‹ć ŽćˆăŻă€ă‚ąă‚Żă‚»ă‚čæš©ă‚’ć†ćșŠä»˜äžŽă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"authenticatorStatusMessage": "2芁玠èȘèšŒăŻçŸćœš",
"authenticatorFinishSetUpTitle": "あăȘたぼ2芁玠èȘèšŒ",
"authenticatorFinishSetUpMessage": "Keycloakă‚ąă‚«ă‚Šăƒłăƒˆă«ă‚”ă‚€ăƒłă‚€ăƒłă™ă‚‹ăŸăłă«ă€2芁玠èȘèšŒă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă™ă‚‹ă‚ˆă†ă«æ±‚ă‚ă‚‰ă‚ŒăŸă™ă€‚",
"authenticatorSubTitle": "2芁玠èȘèšŒă‚’èš­ćźšă™ă‚‹",
"authenticatorSubMessage": "ă‚ąă‚«ă‚Šăƒłăƒˆăźă‚»ă‚­ăƒ„ăƒȘăƒ†ă‚ŁăƒŒă‚’ćŒ·ćŒ–ă™ă‚‹ă«ăŻă€ćˆ©ç”šćŻèƒœăȘ2芁玠èȘèšŒăźæ–čćŒăźă†ăĄć°‘ăȘくべも1ă€ă‚’æœ‰ćŠčă«ă—ăŸă™ă€‚",
"authenticatorMobileTitle": "ăƒąăƒă‚€ăƒ«ăƒ»ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒ",
"authenticatorMobileMessage": "ăƒąăƒă‚€ăƒ«ăƒ»ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒă‚’äœżç”šă—ăŠă€2芁玠èȘèšŒăšă—おçąșèȘă‚łăƒŒăƒ‰ă‚’ć–ćŸ—ă—ăŸă™ă€‚",
"authenticatorMobileFinishSetUpMessage": "ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăŻă‚ăȘたぼæșćžŻé›»è©±ă«ăƒă‚€ăƒłăƒ‰ă•ă‚ŒăŠă„ăŸă™ă€‚",
"authenticatorActionSetup": "ă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—",
"authenticatorSMSTitle": "SMSă‚łăƒŒăƒ‰",
"authenticatorSMSMessage": "Keycloakは、2芁玠èȘèšŒăšă—おçąșèȘă‚łăƒŒăƒ‰ă‚’æșćžŻé›»è©±ă«é€äżĄă—ăŸă™ă€‚",
"authenticatorSMSFinishSetUpMessage": "テキă‚čăƒˆăƒ»ăƒĄăƒƒă‚»ăƒŒă‚žăŒæŹĄăźé›»è©±ç•Șć·ćź›ă«é€äżĄă•ă‚ŒăŸă™ïŒš",
"authenticatorDefaultStatus": "ăƒ‡ăƒ•ă‚©ăƒ«ăƒˆ",
"authenticatorChangePhone": "電話ç•Șć·ăźć€‰æ›Ž",
"authenticatorBackupCodesTitle": "ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰",
"authenticatorBackupCodesMessage": "8æĄăźăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ăźć…„æ‰‹",
"authenticatorBackupCodesFinishSetUpMessage": "ă“ăźæ™‚ç‚čで12ć€‹ăźăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ăŒç”Ÿæˆă•ă‚ŒăŸă—ăŸă€‚ăă‚Œăžă‚Œäž€ćșŠă ă‘äœżç”šă§ăăŸă™ă€‚",
"authenticatorMobileSetupTitle": "ăƒąăƒă‚€ăƒ«ăƒ»ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăźă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—",
"smscodeIntroMessage": "電話ç•Șć·ă‚’ć…„ćŠ›ă™ă‚‹ăšă€çąșèȘă‚łăƒŒăƒ‰ăŒă‚ăȘăŸăźé›»è©±ă«é€äżĄă•ă‚ŒăŸă™ă€‚",
"mobileSetupStep1":
"æșćžŻé›»è©±ă«ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăƒ»ă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚’ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăŸă™ă€‚ă“ă“ă«ăƒȘă‚čトされどいるケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăŒă‚”ăƒăƒŒăƒˆă•ă‚ŒăŠă„ăŸă™ă€‚",
"mobileSetupStep2": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚’é–‹ăă€ăƒăƒŒă‚łăƒŒăƒ‰ă‚’ă‚čキャンしどください。",
"mobileSetupStep3": "ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‹ă‚‰æäŸ›ă•ă‚ŒăŸăƒŻăƒłă‚żă‚€ăƒ ă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ă€äżć­˜ă‚’ă‚ŻăƒȘăƒƒă‚Żă—ăŠă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—ă‚’ç”‚äș†ă—ăŸă™ă€‚",
"scanBarCode": "ăƒăƒŒă‚łăƒŒăƒ‰ă‚’ă‚čă‚­ăƒŁăƒłă—ăŸă™ă‹ïŒŸ",
"enterBarCode": "ăƒŻăƒłă‚żă‚€ăƒ ă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„",
"doCopy": "ă‚łăƒ”ăƒŒ",
"doFinish": "甂äș†",
"authenticatorSMSCodeSetupTitle": "SMSă‚łăƒŒăƒ‰ăźă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—",
"chooseYourCountry": "ć›œă‚’éžă‚“ă§ăă ă•ă„",
"enterYourPhoneNumber": "電話ç•Șć·ă‚’ć…„ćŠ›ă—ăŠăă ă•ă„",
"sendVerficationCode": "çąșèȘă‚łăƒŒăƒ‰ăźé€äżĄ",
"enterYourVerficationCode": "çąșèȘă‚łăƒŒăƒ‰ă‚’ć…„抛しどください",
"authenticatorBackupCodesSetupTitle": "ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ăźă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—",
"backupcodesIntroMessage":
"æșćžŻé›»è©±ă«ă‚ąă‚Żă‚»ă‚čできăȘă„ć Žćˆă§ă‚‚ă€ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ă‚’äœżç”šă—ăŠă‚ąă‚«ă‚Šăƒłăƒˆă«ăƒ­ă‚°ă‚€ăƒłă§ăăŸă™ă€‚ă©ă“ă‹ćź‰ć…šă§ă‚ąă‚Żă‚»ă‚čćŻèƒœăȘć Žæ‰€ă«äżçźĄă—ăŠăă ă•ă„ă€‚",
"realmName": "ハルム",
"doDownload": "ăƒ€ă‚Šăƒłăƒ­ăƒŒăƒ‰",
"doPrint": "ć°ćˆ·",
"backupCodesTips-1": "ć„ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ăŻ1ć›žäœżç”šă§ăăŸă™ă€‚",
"backupCodesTips-2": "ă“ă‚Œă‚‰ăźă‚łăƒŒăƒ‰ăŻă“ăźæ—„ă«ç”Ÿæˆă•ă‚ŒăŸă—ăŸïŒš",
"generateNewBackupCodes": "æ–°ă—ă„ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ă‚’ç”Ÿæˆă™ă‚‹",
"backupCodesTips-3": "æ–°ă—ă„ăƒăƒƒă‚Żă‚ąăƒƒăƒ—ăƒ»ă‚łăƒŒăƒ‰ă‚’ç”Ÿæˆă™ă‚‹ăšă€çŸćœšăźă‚łăƒŒăƒ‰ăŻæ©Ÿèƒœă—ăȘくăȘă‚ŠăŸă™ă€‚",
"backtoAuthenticatorPage": "ă‚ȘăƒŒă‚»ăƒłăƒ†ă‚Łă‚±ăƒŒă‚żăƒŒăƒ»ăƒšăƒŒă‚žă«æˆ»ă‚‹",
"resources": "ăƒȘă‚œăƒŒă‚č",
"sharedwithMe": "ç§ăšć…±æœ‰",
"share": "ć…±æœ‰",
"sharedwith": "ć…±æœ‰",
"accessPermissions": "スクセă‚čăƒ»ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"permissionRequests": "ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłăźèŠæ±‚",
"approve": "æ‰żèȘ",
"approveAll": "すăčăŠæ‰żèȘ",
"people": "äșș",
"perPage": "1ăƒšăƒŒă‚žă‚ăŸă‚Š",
"currentPage": "çŸćœšăźăƒšăƒŒă‚ž",
"sharetheResource": "ăƒȘă‚œăƒŒă‚čăźć…±æœ‰",
"group": "ă‚°ăƒ«ăƒŒăƒ—",
"selectPermission": "ăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒłă‚’éžæŠž",
"addPeople": "あăȘたぼăƒȘă‚œăƒŒă‚čă‚’ć…±æœ‰ă™ă‚‹äșșă‚’èżœćŠ ",
"addTeam": "あăȘたぼăƒȘă‚œăƒŒă‚čă‚’ć…±æœ‰ă™ă‚‹ăƒăƒŒăƒ ă‚’èżœćŠ ",
"myPermissions": "ç§ăźăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"waitingforApproval": "æ‰żèȘćŸ…づ",
"anyPermission": "ä»»æ„ăźăƒ‘ăƒŒăƒŸăƒƒă‚·ăƒ§ăƒł",
"openshift.scope.user_info": "ăƒŠăƒŒă‚¶ăƒŒæƒ…ć ±",
"openshift.scope.user_check-access": "ăƒŠăƒŒă‚¶ăƒŒă‚ąă‚Żă‚»ă‚čæƒ…ć ±",
"openshift.scope.user_full": "ăƒ•ăƒ«ă‚ąă‚Żă‚»ă‚č",
"openshift.scope.list-projects": "ăƒ—ăƒ­ă‚žă‚§ă‚Żăƒˆăźäž€èŠ§èĄšç€ș"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,143 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Saugoti",
"doCancel": "AtĆĄaukti",
"doLogOutAllSessions": "Atjungti visas sesijas",
"doRemove": "Ć alinti",
"doAdd": "Pridėti",
"doSignOut": "Atsijungti",
"editAccountHtmlTitle": "Redaguoti paskyrą",
"federatedIdentitiesHtmlTitle": "Susietos paskyros",
"accountLogHtmlTitle": "Paskyros ĆŸurnalas",
"changePasswordHtmlTitle": "Keisti slaptaĆŸodÄŻ",
"sessionsHtmlTitle": "Prisijungimo sesijos",
"accountManagementTitle": "Keycloak NaudotojĆł Administravimas",
"authenticatorTitle": "Autentifikatorius",
"applicationsHtmlTitle": "Programos",
"authenticatorCode": "Vienkartinis kodas",
"email": "El. paĆĄtas",
"firstName": "Vardas",
"givenName": "Pavardė",
"fullName": "Pilnas vardas",
"lastName": "Pavardė",
"familyName": "Pavardė",
"password": "SlaptaĆŸodis",
"passwordConfirm": "Pakartotas slaptaĆŸodis",
"passwordNew": "Naujas slaptaĆŸodis",
"username": "Naudotojo vardas",
"address": "Adresas",
"street": "Gatvė",
"locality": "Miestas arba vietovė",
"region": "Rajonas",
"postal_code": "PaĆĄto kodas",
"country": "Ć alis",
"emailVerified": "El. paĆĄto adresas patvirtintas",
"gssDelegationCredential": "GSS prisijungimo duomenĆł delegavimas",
"role_admin": "Administratorius",
"role_realm-admin": "Srities administravimas",
"role_create-realm": "Kurti sritÄŻ",
"role_view-realm": "PerĆŸiĆ«rėti sritÄŻ",
"role_view-users": "PerĆŸiĆ«rėti naudotojus",
"role_view-applications": "PerĆŸiĆ«rėti programas",
"role_view-clients": "PerĆŸiĆ«rėti klientines programas",
"role_view-events": "PerĆŸiĆ«rėti ÄŻvykiĆł ĆŸurnalą",
"role_view-identity-providers": "PerĆŸiĆ«rėti tapatybės teikėjus",
"role_manage-realm": "Valdyti sritis",
"role_manage-users": "Valdyti naudotojus",
"role_manage-applications": "Valdyti programas",
"role_manage-identity-providers": "Valdyti tapatybės teikėjus",
"role_manage-clients": "Valdyti programas",
"role_manage-events": "Valdyti ÄŻvykius",
"role_view-profile": "PerĆŸiĆ«rėti paskyrą",
"role_manage-account": "Valdyti paskyrą",
"role_read-token": "Skaityti prieigos rakơą",
"role_offline-access": "Darbas neprisijungus",
"role_uma_authorization": "Äźgauti UMA autorizavimo teises",
"client_account": "Paskyra",
"client_security-admin-console": "Saugumo administravimo konsolė",
"client_admin-cli": "Administravimo CLI",
"client_realm-management": "Srities valdymas",
"client_broker": "Tarpininkas",
"requiredFields": "Privalomi laukai",
"allFieldsRequired": "Visi laukai yra privalomi",
"backToApplication": "&laquo; GrÄŻĆŸti ÄŻ programą",
"backTo": "Atgal ÄŻ {0}",
"date": "Data",
"event": "Äźvykis",
"ip": "IP",
"client": "Klientas",
"clients": "Klientai",
"details": "Detaliau",
"started": "Sukƫrimo laikas",
"lastAccess": "Vėliausia prieiga",
"expires": "Galioja iki",
"applications": "Programos",
"account": "Paskyra",
"federatedIdentity": "Susieta tapatybė",
"authenticator": "Autentifikatorius",
"sessions": "Sesijos",
"log": "Äźvykiai",
"application": "Programa",
"availablePermissions": "Galimos teisės",
"grantedPermissions": "ļgalintos teisės",
"grantedPersonalInfo": "ļgalinta asmeninė informacija",
"additionalGrants": "Papildomi ÄŻgaliojimai",
"action": "Veiksmas",
"inResource": "yra",
"fullAccess": "Pilna prieiga",
"offlineToken": "ReĆŸimo neprisijungus raktas (token)",
"revoke": "Atơaukti įgaliojimą",
"configureAuthenticators": "Sukonfigƫruotas autentifikatorius",
"mobile": "Mobilus",
"totpStep1":
'ļdiekite <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> arba Google Authenticator savo įrenginyje. Programėlės prieinamos <a href="https://play.google.com">Google Play</a> ir Apple App Store.',
"totpStep2": "Atidarykite programėlę ir nuskenuokite barkodą arba įveskite kodą.",
"totpStep3": "ļveskite programėlėje sugeneruotą vieną kartą galiojantį kodą ir paspauskite Saugoti norėdami prisijungti.",
"missingUsernameMessage": "Praơome įvesti naudotojo vardą.",
"missingFirstNameMessage": "Praơome įvesti vardą.",
"invalidEmailMessage": "Neteisingas el. paĆĄto adresas.",
"missingLastNameMessage": "Praơome įvesti pavardę.",
"missingEmailMessage": "Praơome įvesti el. paơto adresą.",
"missingPasswordMessage": "PraĆĄome ÄŻvesti slaptaĆŸodÄŻ.",
"notMatchPasswordMessage": "SlaptaĆŸodĆŸiai nesutampa.",
"missingTotpMessage": "Praơome įvesti autentifikacijos kodą.",
"invalidPasswordExistingMessage": "Neteisingas dabartinis slaptaĆŸodis.",
"invalidPasswordConfirmMessage": "Pakartotas slaptaĆŸodis nesutampa.",
"invalidTotpMessage": "Neteisingas autentifikacijos kodas.",
"usernameExistsMessage": "Toks naudotojas jau egzistuoja.",
"emailExistsMessage": "El. paĆĄto adresas jau egzistuoja.",
"readOnlyUserMessage": "Tik skaitymui sukonfigĆ«ruotos paskyros duomenĆł atnaujinti neleidĆŸiama.",
"readOnlyPasswordMessage": "Tik skaitymui sukonfigĆ«ruotos paskyros slaptaĆŸodĆŸio atnaujinti neleidĆŸiama.",
"successTotpMessage": "Mobilus autentifikatorius sukonfigƫruotas.",
"successTotpRemovedMessage": "Mobilus autentifikatorius paĆĄalintas.",
"successGrantRevokedMessage": "ļgalinimas paơalintas sėkmingai.",
"accountUpdatedMessage": "JĆ«sĆł paskyros duomenys sėkmingai atnaujinti.",
"accountPasswordUpdatedMessage": "JĆ«sĆł paskyros slaptaĆŸodis pakeistas.",
"missingIdentityProviderMessage": "Nenurodytas tapatybės teikėjas.",
"invalidFederatedIdentityActionMessage": "Neteisingas arba neĆŸinomas veiksmas.",
"identityProviderNotFoundMessage": "Nurodytas tapatybės teikėjas nerastas.",
"federatedIdentityLinkNotActiveMessage": "Nurodyta susieta tapatybė neaktyvi.",
"federatedIdentityRemovingLastProviderMessage":
"JĆ«s negalite paĆĄalinti paskutinio tapatybės teikėjo sąsajos, nes JĆ«s neturite nusistatę paskyros slaptaĆŸodĆŸio.",
"identityProviderRedirectErrorMessage": "Klaida nukreipiant į tapatybės teikėjo puslapį.",
"identityProviderRemovedMessage": "Tapatybės teikėjas sėkmingai paơalintas.",
"identityProviderAlreadyLinkedMessage": "Susieta tapatybė iơ {0} jau susieta su kita paskyra.",
"staleCodeAccountMessage": "Puslapio galiojimas baigėsi. Bandykite dar kartą.",
"consentDenied": "Prieiga draudĆŸiama.",
"accountDisabledMessage": "Paskyros galiojimas sustabdytas, kreipkitės į administratoriƳ.",
"accountTemporarilyDisabledMessage": "Paskyros galiojimas laikinai sustabdytas. Kreipkitės į administratoriƳ arba pabandykite vėliau.",
"invalidPasswordMinLengthMessage": "Per trumpas slaptaĆŸodis: maĆŸiausias ilgis {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} maĆŸÄ…ją raidę.",
"invalidPasswordMinDigitsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} skaitmenÄŻ.",
"invalidPasswordMinUpperCaseCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} didĆŸiąją raidę.",
"invalidPasswordMinSpecialCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} specialĆł simbolÄŻ.",
"invalidPasswordNotUsernameMessage": "Neteisingas slaptaĆŸodis: slaptaĆŸodis negali sutapti su naudotojo vardu.",
"invalidPasswordRegexPatternMessage": "Neteisingas slaptaĆŸodis: slaptaĆŸodis netenkina regex taisyklės(iĆł).",
"invalidPasswordHistoryMessage": "Neteisingas slaptaĆŸodis: slaptaĆŸodis negali sutapti su prieĆĄ tai buvusiais {0} slaptaĆŸodĆŸiais."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,143 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Opslaan",
"doCancel": "Annuleer",
"doLogOutAllSessions": "Alle sessies uitloggen",
"doRemove": "Verwijder",
"doAdd": "Voeg toe",
"doSignOut": "Afmelden",
"editAccountHtmlTitle": "Bewerk account",
"federatedIdentitiesHtmlTitle": "Federated Identities",
"accountLogHtmlTitle": "Account log",
"changePasswordHtmlTitle": "Verander wachtwoord",
"sessionsHtmlTitle": "Sessies",
"accountManagementTitle": "Keycloak Accountbeheer",
"authenticatorTitle": "Authenticator",
"applicationsHtmlTitle": "Toepassingen",
"authenticatorCode": "Eenmalige code",
"email": "E-mailadres",
"firstName": "Voornaam",
"givenName": "Voornaam",
"fullName": "Volledige naam",
"lastName": "Achternaam",
"familyName": "Achternaam",
"password": "Wachtwoord",
"passwordConfirm": "Bevestiging",
"passwordNew": "Nieuw Wachtwoord",
"username": "Gebruikersnaam",
"address": "Adres",
"street": "Straat",
"locality": "Stad of plaats",
"region": "Staat, provincie of regio",
"postal_code": "Postcode",
"country": "Land",
"emailVerified": "E-mailadres geverifieerd",
"gssDelegationCredential": "GSS gedelegeerde aanmeldgegevens",
"role_admin": "Beheer",
"role_realm-admin": "Realmbeheer",
"role_create-realm": "Creëer realm",
"role_view-realm": "Bekijk realm",
"role_view-users": "Bekijk gebruikers",
"role_view-applications": "Bekijk toepassingen",
"role_view-clients": "Bekijk clients",
"role_view-events": "Bekijk gebeurtenissen",
"role_view-identity-providers": "Bekijk identity providers",
"role_manage-realm": "Beheer realm",
"role_manage-users": "Beheer gebruikers",
"role_manage-applications": "Beheer toepassingen",
"role_manage-identity-providers": "Beheer identity providers",
"role_manage-clients": "Beheer clients",
"role_manage-events": "Beheer gebeurtenissen",
"role_view-profile": "Bekijk profiel",
"role_manage-account": "Beheer account",
"role_manage-account-links": "Beheer accountkoppelingen",
"role_read-token": "Lees token",
"role_offline-access": "Offline toegang",
"role_uma_authorization": "Verkrijg UMA rechten",
"client_account": "Account",
"client_security-admin-console": "Console Veligheidsbeheer",
"client_admin-cli": "Beheer CLI",
"client_realm-management": "Realmbeheer",
"client_broker": "Broker",
"requiredFields": "Verplichte velden",
"allFieldsRequired": "Alle velden verplicht",
"backToApplication": "&laquo; Terug naar toepassing",
"backTo": "Terug naar {0}",
"date": "Datum",
"event": "Gebeurtenis",
"ip": "IP",
"client": "Client",
"clients": "Clients",
"details": "Details",
"started": "Gestart",
"lastAccess": "Laatste toegang",
"expires": "Vervalt",
"applications": "Toepassingen",
"account": "Account",
"federatedIdentity": "Federated Identity",
"authenticator": "Authenticator",
"sessions": "Sessies",
"log": "Log",
"application": "Toepassing",
"availablePermissions": "Beschikbare rechten",
"grantedPermissions": "Gegunde rechten",
"grantedPersonalInfo": "Gegunde Persoonsgegevens",
"additionalGrants": "Verdere vergunningen",
"action": "Actie",
"inResource": "in",
"fullAccess": "Volledige toegang",
"offlineToken": "Offline Token",
"revoke": "Vergunning intrekken",
"configureAuthenticators": "Ingestelde authenticators",
"mobile": "Mobiel nummer",
"totpStep1": "Installeer een van de onderstaande applicaties op uw mobiele apparaat:",
"totpStep2": "Open de toepassing en scan de QR-code of voer de sleutel in.",
"totpStep3": "Voer de door de toepassing gegeven eenmalige code in en klik op Opslaan om de configuratie af te ronden.",
"missingUsernameMessage": "Gebruikersnaam ontbreekt.",
"missingFirstNameMessage": "Voornaam onbreekt.",
"invalidEmailMessage": "Ongeldig e-mailadres.",
"missingLastNameMessage": "Achternaam ontbreekt.",
"missingEmailMessage": "E-mailadres ontbreekt.",
"missingPasswordMessage": "Wachtwoord ontbreekt.",
"notMatchPasswordMessage": "Wachtwoorden komen niet overeen.",
"missingTotpMessage": "Authenticatiecode ontbreekt.",
"invalidPasswordExistingMessage": "Ongeldig bestaand wachtwoord.",
"invalidPasswordConfirmMessage": "Wachtwoordbevestiging komt niet overeen.",
"invalidTotpMessage": "Ongeldige authenticatiecode.",
"emailExistsMessage": "E-mailadres bestaat reeds.",
"readOnlyUserMessage": "U kunt uw account niet bijwerken aangezien het account alleen-lezen is.",
"readOnlyPasswordMessage": "U kunt uw wachtwoord niet wijzigen omdat uw account alleen-lezen is.",
"successTotpMessage": "Mobiele authenticator geconfigureerd.",
"successTotpRemovedMessage": "Mobiele authenticator verwijderd.",
"successGrantRevokedMessage": "Vergunning succesvol ingetrokken",
"accountUpdatedMessage": "Uw account is gewijzigd.",
"accountPasswordUpdatedMessage": "Uw wachtwoord is gewijzigd.",
"missingIdentityProviderMessage": "Geen identity provider aangegeven.",
"invalidFederatedIdentityActionMessage": "Ongeldige of ontbrekende actie op federated identity.",
"identityProviderNotFoundMessage": "Gespecificeerde identity provider niet gevonden.",
"federatedIdentityLinkNotActiveMessage": "Deze federated identity is niet langer geldig.",
"federatedIdentityRemovingLastProviderMessage":
"U kunt de laatste federated identity provider niet verwijderen aangezien u dan niet langer zou kunnen inloggen.",
"identityProviderRedirectErrorMessage": "Kon niet herverwijzen naar identity provider.",
"identityProviderRemovedMessage": "Identity provider met succes verwijderd.",
"identityProviderAlreadyLinkedMessage": "Door {0} teruggegeven federated identity is al gekoppeld aan een andere gebruiker.",
"staleCodeAccountMessage": "De pagina is verlopen. Probeer het nogmaals.",
"consentDenied": "Toestemming geweigerd",
"accountDisabledMessage": "Account is gedeactiveerd. Contacteer de beheerder.",
"accountTemporarilyDisabledMessage": "Account is tijdelijk deactiveerd, neem contact op met de beheerder of probeer het later opnieuw.",
"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."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,153 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Lagre",
"doCancel": "Avbryt",
"doLogOutAllSessions": "Logg ut av alle sesjoner",
"doRemove": "Fjern",
"doAdd": "Legg til",
"doSignOut": "Logg ut",
"editAccountHtmlTitle": "Rediger konto",
"federatedIdentitiesHtmlTitle": "Federerte identiteter",
"accountLogHtmlTitle": "Kontologg",
"changePasswordHtmlTitle": "Endre passord",
"sessionsHtmlTitle": "Sesjoner",
"accountManagementTitle": "Keycloak kontoadministrasjon",
"authenticatorTitle": "Autentikator",
"applicationsHtmlTitle": "Applikasjoner",
"authenticatorCode": "Engangskode",
"email": "E-post",
"firstName": "Fornavn",
"givenName": "Fornavn",
"fullName": "Fullt navn",
"lastName": "Etternavn",
"familyName": "Etternavn",
"password": "Passord",
"passwordConfirm": "Bekreftelse",
"passwordNew": "Nytt passord",
"username": "Brukernavn",
"address": "Adresse",
"street": "Gate-/veinavn + husnummer",
"locality": "By",
"region": "Fylke",
"postal_code": "Postnummer",
"country": "Land",
"emailVerified": "E-post bekreftet",
"gssDelegationCredential": "GSS legitimasjonsdelegering",
"role_admin": "Administrator",
"role_realm-admin": "Administrator for sikkerhetsdomene",
"role_create-realm": "Opprette sikkerhetsdomene",
"role_view-realm": "Se sikkerhetsdomene",
"role_view-users": "Se brukere",
"role_view-applications": "Se applikasjoner",
"role_view-clients": "Se klienter",
"role_view-events": "Se hendelser",
"role_view-identity-providers": "Se identitetsleverandĂžrer",
"role_manage-realm": "Administrere sikkerhetsdomene",
"role_manage-users": "Administrere brukere",
"role_manage-applications": "Administrere applikasjoner",
"role_manage-identity-providers": "Administrere identitetsleverandĂžrer",
"role_manage-clients": "Administrere klienter",
"role_manage-events": "Administrere hendelser",
"role_view-profile": "Se profil",
"role_manage-account": "Administrere konto",
"role_read-token": "Lese token",
"role_offline-access": "Frakoblet tilgang",
"role_uma_authorization": "Skaffe tillatelser",
"client_account": "Konto",
"client_security-admin-console": "Sikkerhetsadministrasjonskonsoll",
"client_admin-cli": "Kommandolinje-grensesnitt for administrator",
"client_realm-management": "Sikkerhetsdomene-administrasjon",
"client_broker": "Broker",
"requiredFields": "Obligatoriske felt",
"allFieldsRequired": "Alle felt mÄ fylles ut",
"backToApplication": "&laquo; Tilbake til applikasjonen",
"backTo": "Tilbake til {0}",
"date": "Dato",
"event": "Hendelse",
"ip": "IP",
"client": "Klient",
"clients": "Klienter",
"details": "Detaljer",
"started": "Startet",
"lastAccess": "Sist benyttet",
"expires": "UtlĂžper",
"applications": "Applikasjoner",
"account": "Konto",
"federatedIdentity": "Federert identitet",
"authenticator": "Autentikator",
"sessions": "Sesjoner",
"log": "Logg",
"application": "Applikasjon",
"availablePermissions": "Tilgjengelige rettigheter",
"grantedPermissions": "Innvilgede rettigheter",
"grantedPersonalInfo": "Innvilget personlig informasjon",
"additionalGrants": "Ekstra rettigheter",
"action": "Handling",
"inResource": "i",
"fullAccess": "Full tilgang",
"offlineToken": "Offline token",
"revoke": "Opphev rettighet",
"configureAuthenticators": "Konfigurerte autentikatorer",
"mobile": "Mobiltelefon",
"totpStep1": "Installer ett av fÞlgende programmer pÄ mobilen din.",
"totpStep2": "Åpne applikasjonen og skann strekkoden eller skriv inn koden.",
"totpStep3": "Skriv inn engangskoden gitt av applikasjonen og klikk Lagre for Ă„ fullfĂžre.",
"missingUsernameMessage": "Vennligst oppgi brukernavn.",
"missingFirstNameMessage": "Vennligst oppgi fornavn.",
"invalidEmailMessage": "Ugyldig e-postadresse.",
"missingLastNameMessage": "Vennligst oppgi etternavn.",
"missingEmailMessage": "Vennligst oppgi e-postadresse.",
"missingPasswordMessage": "Vennligst oppgi passord.",
"notMatchPasswordMessage": "Passordene er ikke like.",
"missingTotpMessage": "Vennligst oppgi engangskode.",
"invalidPasswordExistingMessage": "Ugyldig eksisterende passord.",
"invalidPasswordConfirmMessage": "Passordene er ikke like.",
"invalidTotpMessage": "Ugyldig engangskode.",
"usernameExistsMessage": "Brukernavnet finnes allerede.",
"emailExistsMessage": "E-postadressen finnes allerede.",
"readOnlyUserMessage": "Du kan ikke oppdatere kontoen din ettersom den er skrivebeskyttet.",
"readOnlyPasswordMessage": "Du kan ikke oppdatere passordet ditt ettersom kontoen din er skrivebeskyttet.",
"successTotpMessage": "Autentikator for mobiltelefon er konfigurert.",
"successTotpRemovedMessage": "Autentikator for mobiltelefon er fjernet.",
"successGrantRevokedMessage": "Vellykket oppheving av rettighet.",
"accountUpdatedMessage": "Kontoen din har blitt oppdatert.",
"accountPasswordUpdatedMessage": "Ditt passord har blitt oppdatert.",
"missingIdentityProviderMessage": "IdentitetsleverandĂžr er ikke spesifisert.",
"invalidFederatedIdentityActionMessage": "Ugyldig eller manglende handling.",
"identityProviderNotFoundMessage": "Spesifisert identitetsleverandĂžr ikke funnet.",
"federatedIdentityLinkNotActiveMessage": "Denne identiteten er ikke lenger aktiv.",
"federatedIdentityRemovingLastProviderMessage": "Du kan ikke fjerne siste federerte identitet ettersom du ikke har et passord.",
"identityProviderRedirectErrorMessage": "Redirect til identitetsleverandĂžr feilet.",
"identityProviderRemovedMessage": "Fjerning av identitetsleverandĂžr var vellykket.",
"identityProviderAlreadyLinkedMessage": "Federert identitet returnert av {0} er allerede koblet til en annen bruker.",
"staleCodeAccountMessage": "Siden har utlĂžpt. Vennligst prĂžv en gang til.",
"consentDenied": "Samtykke avslÄtt.",
"accountDisabledMessage": "Konto er deaktivert, kontakt administrator.",
"accountTemporarilyDisabledMessage": "Konto er midlertidig deaktivert, kontakt administrator eller prĂžv igjen senere.",
"invalidPasswordMinLengthMessage": "Ugyldig passord: minimum lengde {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Ugyldig passord: mÄ inneholde minimum {0} smÄ bokstaver.",
"invalidPasswordMinDigitsMessage": "Ugyldig passord: mÄ inneholde minimum {0} sifre.",
"invalidPasswordMinUpperCaseCharsMessage": "Ugyldig passord: mÄ inneholde minimum {0} store bokstaver.",
"invalidPasswordMinSpecialCharsMessage": "Ugyldig passord: mÄ inneholde minimum {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.",
"locale_ca": "CatalĂ ",
"locale_de": "Deutsch",
"locale_en": "English",
"locale_es": "Español",
"locale_fr": "Français",
"locale_it": "Italian",
"locale_ja": "æ—„æœŹèȘž",
"locale_no": "Norsk",
"locale_nl": "Nederlands",
"locale_pt-BR": "PortuguĂȘs (Brasil)",
"locale_ru": "РуссĐșĐžĐč",
"locale_zh-CN": "äž­æ–‡çź€äœ“"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,8 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {};
export default messages;
/* spell-checker: enable */

View File

@ -1,140 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Salvar",
"doCancel": "Cancelar",
"doLogOutAllSessions": "Sair de todas as sessÔes",
"doRemove": "Remover",
"doAdd": "Adicionar",
"doSignOut": "Sair",
"editAccountHtmlTitle": "Editar Conta",
"federatedIdentitiesHtmlTitle": "Identidades Federadas",
"accountLogHtmlTitle": "Log da conta",
"changePasswordHtmlTitle": "Alterar senha",
"sessionsHtmlTitle": "SessÔes",
"accountManagementTitle": "Gerenciamento de Conta",
"authenticatorTitle": "Autenticator",
"applicationsHtmlTitle": "Aplicativos",
"authenticatorCode": "CĂłdigo autenticador",
"email": "E-mail",
"firstName": "Primeiro nome",
"givenName": "Primeiro nome",
"fullName": "Nome completo",
"lastName": "Sobrenome",
"familyName": "Sobrenome",
"password": "Senha",
"passwordConfirm": "Confirmação",
"passwordNew": "Nova senha",
"username": "Nome de usĂșario",
"address": "Endereço",
"street": "Logradouro",
"locality": "Cidade ou Localidade",
"region": "Estado",
"postal_code": "CEP",
"country": "PaĂ­s",
"emailVerified": "E-mail verificado",
"gssDelegationCredential": "GSS Delegação de Credencial",
"role_admin": "Admin",
"role_realm-admin": "Realm Admin",
"role_create-realm": "Cria realm",
"role_view-realm": "Visualiza realm",
"role_view-users": "Visualiza usuĂĄrios",
"role_view-applications": "Visualiza aplicaçÔes",
"role_view-clients": "Visualiza clientes",
"role_view-events": "Visualiza eventos",
"role_view-identity-providers": "Visualiza provedores de identidade",
"role_manage-realm": "Gerencia realm",
"role_manage-users": "Gerencia usuĂĄrios",
"role_manage-applications": "Gerencia aplicaçÔes",
"role_manage-identity-providers": "Gerencia provedores de identidade",
"role_manage-clients": "Gerencia clientes",
"role_manage-events": "Gerencia eventos",
"role_view-profile": "Visualiza perfil",
"role_manage-account": "Gerencia conta",
"role_read-token": "LĂȘ token",
"role_offline-access": "Acesso Offline",
"role_uma_authorization": "Obter permissÔes",
"client_account": "Conta",
"client_security-admin-console": "Console de Administração de Segurança",
"client_admin-cli": "Admin CLI",
"client_realm-management": "Gerenciamento de Realm",
"client_broker": "Broker",
"requiredFields": "Campos obrigatĂłrios",
"allFieldsRequired": "Todos os campos sĂŁo obrigatĂłrios",
"backToApplication": "&laquo; Voltar para aplicação",
"backTo": "Voltar para {0}",
"date": "Data",
"event": "Evento",
"ip": "IP",
"client": "Cliente",
"clients": "Clientes",
"details": "Detalhes",
"started": "Iniciado",
"lastAccess": "Último acesso",
"expires": "Expira",
"applications": "Aplicativos",
"account": "Conta",
"federatedIdentity": "Identidade Federada",
"authenticator": "Autenticador",
"sessions": "SessÔes",
"log": "Log",
"application": "Aplicativo",
"availablePermissions": "PermissÔes Disponíveis",
"grantedPermissions": "PermissÔes Concedidas",
"grantedPersonalInfo": "InformaçÔes Pessoais Concedidas",
"additionalGrants": "ConcessÔes Adicionais",
"action": "Ação",
"inResource": "em",
"fullAccess": "Acesso Completo",
"offlineToken": "Offline Token",
"revoke": "Revogar ConcessÔes",
"configureAuthenticators": "Autenticadores Configurados",
"mobile": "Mobile",
"totpStep1":
'Instalar <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> ou Google Authenticator em seu dispositivo. Ambas aplicaçÔes estão disponíveis no <a href="https://play.google.com">Google Play</a> e na Apple App Store.',
"totpStep2": "Abra o aplicativo e escaneie o cĂłdigo de barras ou entre com o cĂłdigo.",
"totpStep3": "Digite o código fornecido pelo aplicativo e clique em Salvar para concluir a configuração.",
"missingUsernameMessage": "Por favor, especifique o nome de usuĂĄrio.",
"missingFirstNameMessage": "Por favor, informe o primeiro nome.",
"invalidEmailMessage": "E-mail invĂĄlido.",
"missingLastNameMessage": "Por favor, informe o sobrenome.",
"missingEmailMessage": "Por favor, informe o e-mail.",
"missingPasswordMessage": "Por favor, informe a senha.",
"notMatchPasswordMessage": "As senhas nĂŁo coincidem.",
"missingTotpMessage": "Por favor, informe o cĂłdigo autenticador.",
"invalidPasswordExistingMessage": "Senha atual invĂĄlida.",
"invalidPasswordConfirmMessage": "A senha de confirmação não coincide.",
"invalidTotpMessage": "CĂłdigo autenticador invĂĄlido.",
"usernameExistsMessage": "Este nome de usuĂĄrio jĂĄ existe.",
"emailExistsMessage": "Este e-mail jĂĄ existe.",
"readOnlyUserMessage": "VocĂȘ nĂŁo pode atualizar sua conta, uma vez que Ă© apenas de leitura",
"readOnlyPasswordMessage": "VocĂȘ nĂŁo pode atualizar sua senha, sua conta Ă© somente leitura",
"successTotpMessage": "Autenticador mobile configurado.",
"successTotpRemovedMessage": "Autenticador mobile removido.",
"successGrantRevokedMessage": "ConcessÔes revogadas com sucesso.",
"accountUpdatedMessage": "Sua conta foi atualizada",
"accountPasswordUpdatedMessage": "Sua senha foi atualizada",
"missingIdentityProviderMessage": "Provedor de identidade nĂŁo especificado",
"invalidFederatedIdentityActionMessage": "Ação invålida ou ausente",
"identityProviderNotFoundMessage": "O provedor de identidade especificado nĂŁo foi encontrado",
"federatedIdentityLinkNotActiveMessage": "Esta identidade nĂŁo estĂĄ mais em atividade",
"federatedIdentityRemovingLastProviderMessage": "VocĂȘ nĂŁo pode remover a Ășltima identidade federada como vocĂȘ nĂŁo tem senha",
"identityProviderRedirectErrorMessage": "Falha ao redirecionar para o provedor de identidade",
"identityProviderRemovedMessage": "Provedor de identidade removido com sucesso",
"identityProviderAlreadyLinkedMessage": "Identidade federada retornado por {0} jĂĄ estĂĄ ligado a outro usuĂĄrio.",
"accountDisabledMessage": "Conta desativada, contate o administrador",
"accountTemporarilyDisabledMessage": "A conta estĂĄ temporariamente indisponĂ­vel, contate o administrador ou tente novamente mais tarde",
"invalidPasswordMinLengthMessage": "Senha invĂĄlida: comprimento mĂ­nimo {0}",
"invalidPasswordMinLowerCaseCharsMessage": "Senha invĂĄlida: deve conter pelo menos {0} caractere(s) minĂșsculo",
"invalidPasswordMinDigitsMessage": "Senha invĂĄlida: deve conter pelo menos {0} nĂșmero(s)",
"invalidPasswordMinUpperCaseCharsMessage": "Senha invĂĄlida: deve conter pelo menos {0} caractere(s) maiĂșsculo",
"invalidPasswordMinSpecialCharsMessage": "Senha invĂĄlida: deve conter pelo menos {0} caractere(s) especial",
"invalidPasswordNotUsernameMessage": "Senha invĂĄlida: nĂŁo deve ser igual ao nome de usuĂĄrio",
"invalidPasswordRegexPatternMessage": "Senha invĂĄlida: nĂŁo corresponde ao padrĂŁo da expressĂŁo regular.",
"invalidPasswordHistoryMessage": "Senha invĂĄlida: nĂŁo pode ser igual a qualquer uma das {0} Ășltimas senhas."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,143 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "ĐĄĐŸŃ…Ń€Đ°ĐœĐžŃ‚ŃŒ",
"doCancel": "ĐžŃ‚ĐŒĐ”ĐœĐ°",
"doLogOutAllSessions": "ВыĐčто Оз ĐČсДх сДссОĐč",
"doRemove": "ĐŁĐŽĐ°Đ»ĐžŃ‚ŃŒ",
"doAdd": "Đ”ĐŸĐ±Đ°ĐČоть",
"doSignOut": "Đ’Ń‹Ń…ĐŸĐŽ",
"editAccountHtmlTitle": "Đ˜Đ·ĐŒĐ”ĐœĐ”ĐœĐžĐ” ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО",
"federatedIdentitiesHtmlTitle": "ЀДЎДратОĐČĐœŃ‹Đ” ĐžĐŽĐ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€Ń‹",
"accountLogHtmlTitle": "Đ›ĐŸĐł ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО",
"changePasswordHtmlTitle": "ĐĄĐŒĐ”ĐœĐ° ĐżĐ°Ń€ĐŸĐ»Ń",
"sessionsHtmlTitle": "ХДссОО",
"accountManagementTitle": "УпраĐČĐ»Đ”ĐœĐžĐ” ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč Đ·Đ°ĐżĐžŃŃŒŃŽ",
"authenticatorTitle": "ĐŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€",
"applicationsHtmlTitle": "ĐŸŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ",
"authenticatorCode": "ĐžĐŽĐœĐŸŃ€Đ°Đ·ĐŸĐČыĐč ĐșĐŸĐŽ",
"email": "E-mail",
"firstName": "Đ˜ĐŒŃ",
"givenName": "Đ˜ĐŒŃ",
"fullName": "ĐŸĐŸĐ»ĐœĐŸĐ” ĐžĐŒŃ",
"lastName": "Đ€Đ°ĐŒĐžĐ»ĐžŃ",
"familyName": "Đ€Đ°ĐŒĐžĐ»ĐžŃ",
"password": "ĐŸĐ°Ń€ĐŸĐ»ŃŒ",
"passwordConfirm": "ĐŸĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”ĐœĐžĐ” ĐżĐ°Ń€ĐŸĐ»Ń",
"passwordNew": "ĐĐŸĐČыĐč ĐżĐ°Ń€ĐŸĐ»ŃŒ",
"username": "Đ˜ĐŒŃ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń",
"address": "АЎрДс",
"street": "УлОца",
"locality": "Đ“ĐŸŃ€ĐŸĐŽ",
"region": "Đ Đ”ĐłĐžĐŸĐœ",
"postal_code": "ĐŸĐŸŃ‡Ń‚ĐŸĐČыĐč ĐžĐœĐŽĐ”Đșс",
"country": "ĐĄŃ‚Ń€Đ°ĐœĐ°",
"emailVerified": "E-mail ĐżĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”Đœ",
"gssDelegationCredential": "Đ”Đ”Đ»Đ”ĐłĐžŃ€ĐŸĐČĐ°ĐœĐžĐ” ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… ĐŽĐ°ĐœĐœŃ‹Ń… чДрДз GSS",
"role_admin": "ĐĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€",
"role_realm-admin": "ĐĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ realm",
"role_create-realm": "ĐĄĐŸĐ·ĐŽĐ°Ń‚ŃŒ realm",
"role_view-realm": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ realm",
"role_view-users": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČатДлДĐč",
"role_view-applications": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐč",
"role_view-clients": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ĐșĐ»ĐžĐ”ĐœŃ‚ĐŸĐČ",
"role_view-events": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ŃĐŸĐ±Ń‹Ń‚ĐžĐč",
"role_view-identity-providers": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ĐżŃ€ĐŸĐČаĐčĐŽĐ”Ń€ĐŸĐČ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč",
"role_manage-realm": "УпраĐČĐ»Đ”ĐœĐžĐ” realm",
"role_manage-users": "УпраĐČĐ»Đ”ĐœĐžĐ” ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»ŃĐŒĐž",
"role_manage-applications": "УпраĐČĐ»Đ”ĐœĐžĐ” ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃĐŒĐž",
"role_manage-identity-providers": "УпраĐČĐ»Đ”ĐœĐžĐ” ĐżŃ€ĐŸĐČаĐčĐŽĐ”Ń€Đ°ĐŒĐž ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč",
"role_manage-clients": "УпраĐČĐ»Đ”ĐœĐžĐ” ĐșĐ»ĐžĐ”ĐœŃ‚Đ°ĐŒĐž",
"role_manage-events": "УпраĐČĐ»Đ”ĐœĐžĐ” ŃĐŸĐ±Ń‹Ń‚ĐžŃĐŒĐž",
"role_view-profile": "ĐŸŃ€ĐŸŃĐŒĐŸŃ‚Ń€ ĐżŃ€ĐŸŃ„ĐžĐ»Ń",
"role_manage-account": "УпраĐČĐ»Đ”ĐœĐžĐ” ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč Đ·Đ°ĐżĐžŃŃŒŃŽ",
"role_read-token": "Đ§Ń‚Đ”ĐœĐžĐ” Ń‚ĐŸĐșĐ”ĐœĐ°",
"role_offline-access": "Đ”ĐŸŃŃ‚ŃƒĐż ĐŸŃ„Ń„Đ»Đ°ĐčĐœ",
"role_uma_authorization": "ĐŸĐŸĐ»ŃƒŃ‡Đ”ĐœĐžĐ” Ń€Đ°Đ·Ń€Đ”ŃˆĐ”ĐœĐžĐč",
"client_account": "ĐŁŃ‡Đ”Ń‚ĐœĐ°Ń Đ·Đ°ĐżĐžŃŃŒ",
"client_security-admin-console": "ĐšĐŸĐœŃĐŸĐ»ŃŒ Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€Đ° Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž",
"client_admin-cli": "ĐšĐŸĐŒĐ°ĐœĐŽĐœŃ‹Đč ĐžĐœŃ‚Đ”Ń€Ń„Đ”Đčс Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€Đ°",
"client_realm-management": "УпраĐČĐ»Đ”ĐœĐžĐ” Realm",
"client_broker": "Đ‘Ń€ĐŸĐșДр",
"requiredFields": "ĐžĐ±ŃĐ·Đ°Ń‚Đ”Đ»ŃŒĐœŃ‹Đ” ĐżĐŸĐ»Ń",
"allFieldsRequired": "ВсД ĐżĐŸĐ»Ń ĐŸĐ±ŃĐ·Đ°Ń‚Đ”Đ»ŃŒĐœŃ‹",
"backToApplication": "&laquo; ĐĐ°Đ·Đ°ĐŽ ĐČ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”",
"backTo": "ĐĐ°Đ·Đ°ĐŽ ĐČ {0}",
"date": "Дата",
"event": "ĐĄĐŸĐ±Ń‹Ń‚ĐžĐ”",
"ip": "IP",
"client": "ĐšĐ»ĐžĐ”ĐœŃ‚",
"clients": "ĐšĐ»ĐžĐ”ĐœŃ‚Ń‹",
"details": "ДДталО",
"started": "Начата",
"lastAccess": "ĐŸĐŸŃĐ»Đ”ĐŽĐœĐžĐč ĐŽĐŸŃŃ‚ŃƒĐż",
"expires": "Đ˜ŃŃ‚Đ”ĐșаДт",
"applications": "ĐŸŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ",
"account": "ĐŁŃ‡Đ”Ń‚ĐœĐ°Ń Đ·Đ°ĐżĐžŃŃŒ",
"federatedIdentity": "ЀДЎДратОĐČĐœŃ‹Đč ĐžĐŽĐ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€",
"authenticator": "ĐŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€",
"sessions": "ХДссОО",
"log": "Đ–ŃƒŃ€ĐœĐ°Đ»",
"application": "ĐŸŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”",
"availablePermissions": "Đ”ĐŸŃŃ‚ŃƒĐżĐœŃ‹Đ” Ń€Đ°Đ·Ń€Đ”ŃˆĐ”ĐœĐžŃ",
"grantedPermissions": "ĐĄĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐœŃ‹Đ” Ń€Đ°Đ·Ń€Đ”ŃˆĐ”ĐœĐžŃ",
"grantedPersonalInfo": "ĐĄĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐœĐ°Ń ĐżĐ”Ń€ŃĐŸĐœĐ°Đ»ŃŒĐœĐ°Ń ĐžĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃ",
"additionalGrants": "Đ”ĐŸĐżĐŸĐ»ĐœĐžŃ‚Đ”Đ»ŃŒĐœŃ‹Đ” ŃĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐžŃ",
"action": "ДДĐčстĐČОД",
"inResource": "ĐČ",
"fullAccess": "ĐŸĐŸĐ»ĐœŃ‹Đč ĐŽĐŸŃŃ‚ŃƒĐż",
"offlineToken": "ОффлаĐčĐœ Ń‚ĐŸĐșĐ”Đœ",
"revoke": "ĐžŃ‚ĐŸĐ·ĐČать ŃĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐžĐ”",
"configureAuthenticators": "ĐĄĐșĐŸĐœŃ„ĐžĐłŃƒŃ€ĐžŃ€ĐŸĐČĐ°ĐœĐœŃ‹Đ” Đ°ŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€Ń‹",
"mobile": "ĐœĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐ” ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”",
"totpStep1":
'ĐŁŃŃ‚Đ°ĐœĐŸĐČОтД <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> ОлО Google Authenticator. Оба ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ ĐŽĐŸŃŃ‚ŃƒĐżĐœŃ‹ ĐœĐ° <a href="https://play.google.com">Google Play</a> Đž ĐČ Apple App Store.',
"totpStep2": "ОтĐșŃ€ĐŸĐčтД ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ” Đž ĐżŃ€ĐŸŃĐșĐ°ĐœĐžŃ€ŃƒĐčтД барĐșĐŸĐŽ, Đ»ĐžĐ±ĐŸ ĐČĐČДЎОтД Đșлюч.",
"totpStep3": "ВĐČДЎОтД ĐŸĐŽĐœĐŸŃ€Đ°Đ·ĐŸĐČыĐč ĐșĐŸĐŽ, ĐČŃ‹ĐŽĐ°ĐœĐœŃ‹Đč ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐ”ĐŒ, Đž ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ŃĐŸŃ…Ń€Đ°ĐœĐžŃ‚ŃŒ ĐŽĐ»Ń заĐČĐ”Ń€ŃˆĐ”ĐœĐžŃ ŃƒŃŃ‚Đ°ĐœĐŸĐČĐșĐž.",
"missingUsernameMessage": "ВĐČДЎОтД ĐžĐŒŃ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń.",
"missingFirstNameMessage": "ВĐČДЎОтД ĐžĐŒŃ.",
"invalidEmailMessage": "ВĐČДЎОтД ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč E-mail.",
"missingLastNameMessage": "ВĐČДЎОтД Ń„Đ°ĐŒĐžĐ»ĐžŃŽ.",
"missingEmailMessage": "ВĐČДЎОтД E-mail.",
"missingPasswordMessage": "ВĐČДЎОтД ĐżĐ°Ń€ĐŸĐ»ŃŒ.",
"notMatchPasswordMessage": "ĐŸĐ°Ń€ĐŸĐ»Đž ĐœĐ” ŃĐŸĐČпаЮают.",
"missingTotpMessage": "ВĐČДЎОтД ĐșĐŸĐŽ Đ°ŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€Đ°.",
"invalidPasswordExistingMessage": "ĐĄŃƒŃ‰Đ”ŃŃ‚ĐČующоĐč ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐœĐ”ĐČĐ”Ń€ĐœŃ‹Đč.",
"invalidPasswordConfirmMessage": "ĐŸĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”ĐœĐžĐ” ĐżĐ°Ń€ĐŸĐ»Ń ĐœĐ” ŃĐŸĐČпаЎаДт.",
"invalidTotpMessage": "ĐĐ”ĐČĐ”Ń€ĐœŃ‹Đč ĐșĐŸĐŽ Đ°ŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€Đ°.",
"usernameExistsMessage": "Đ˜ĐŒŃ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń ужД ŃŃƒŃ‰Đ”ŃŃ‚ĐČŃƒĐ”Ń‚.",
"emailExistsMessage": "E-mail ужД ŃŃƒŃ‰Đ”ŃŃ‚ĐČŃƒĐ”Ń‚.",
"readOnlyUserMessage": "Вы ĐœĐ” ĐŒĐŸĐ¶Đ”Ń‚Đ” ĐŸĐ±ĐœĐŸĐČоть ĐžĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃŽ ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО, т.Đș. ĐŸĐœĐ° ĐŽĐŸŃŃ‚ŃƒĐżĐœĐ° Ń‚ĐŸĐ»ŃŒĐșĐŸ ĐŽĐ»Ń Ń‡Ń‚Đ”ĐœĐžŃ.",
"readOnlyPasswordMessage": "Вы ĐœĐ” ĐŒĐŸĐ¶Đ”Ń‚Đ” ĐŸĐ±ĐœĐŸĐČоть ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО, т.Đș. ĐŸĐœ ĐŽĐŸŃŃ‚ŃƒĐżĐ”Đœ Ń‚ĐŸĐ»ŃŒĐșĐŸ ĐŽĐ»Ń Ń‡Ń‚Đ”ĐœĐžŃ.",
"successTotpMessage": "ĐŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€ ĐČ ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐŒ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐž сĐșĐŸĐœŃ„ĐžĐłŃƒŃ€ĐžŃ€ĐŸĐČĐ°Đœ.",
"successTotpRemovedMessage": "ĐŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€ ĐČ ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐŒ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžĐž ŃƒĐŽĐ°Đ»Đ”Đœ.",
"successGrantRevokedMessage": "ĐĄĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐžĐ” ĐŸŃ‚ĐŸĐ·ĐČĐ°ĐœĐŸ ŃƒŃĐżĐ”ŃˆĐœĐŸ.",
"accountUpdatedMessage": "Ваша ŃƒŃ‡Đ”Ń‚ĐœĐ°Ń Đ·Đ°ĐżĐžŃŃŒ ĐŸĐ±ĐœĐŸĐČĐ»Đ”ĐœĐ°.",
"accountPasswordUpdatedMessage": "Ваш ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ.",
"missingIdentityProviderMessage": "ĐŸŃ€ĐŸĐČаĐčЎДр ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč ĐœĐ” Đ·Đ°ĐŽĐ°Đœ.",
"invalidFederatedIdentityActionMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœĐŸĐ” ОлО ĐœĐ”ĐŽĐŸĐżŃƒŃŃ‚ĐžĐŒĐŸĐ” ĐŽĐ”ĐčстĐČОД.",
"identityProviderNotFoundMessage": "Đ—Đ°ĐŽĐ°ĐœĐœŃ‹Đč ĐżŃ€ĐŸĐČаĐčЎДр ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč ĐœĐ” ĐœĐ°ĐčĐŽĐ”Đœ.",
"federatedIdentityLinkNotActiveMessage": "Đ˜ĐŽĐ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€ Đ±ĐŸĐ»ŃŒŃˆĐ” ĐœĐ” аĐșтоĐČĐ”Đœ.",
"federatedIdentityRemovingLastProviderMessage": "Вы ĐœĐ” ĐŒĐŸĐ¶Đ”Ń‚Đ” ŃƒĐŽĐ°Đ»ĐžŃ‚ŃŒ ĐżĐŸŃĐ»Đ”ĐŽĐœĐžĐč фДЎДратОĐČĐœŃ‹Đč ĐžĐŽĐ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€, т.Đș. Вы ĐœĐ” ĐžĐŒĐ”Đ”Ń‚Đ” ĐżĐ°Ń€ĐŸĐ»Ń.",
"identityProviderRedirectErrorMessage": "ĐžŃˆĐžĐ±Đșа ĐżĐ”Ń€Đ”ĐœĐ°ĐżŃ€Đ°ĐČĐ»Đ”ĐœĐžŃ ĐČ ĐżŃ€ĐŸĐČаĐčЎДр ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč.",
"identityProviderRemovedMessage": "ĐŸŃ€ĐŸĐČаĐčЎДр ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč ŃƒŃĐżĐ”ŃˆĐœĐŸ ŃƒĐŽĐ°Đ»Đ”Đœ.",
"identityProviderAlreadyLinkedMessage": "ЀДЎДратОĐČĐœŃ‹Đč ĐžĐŽĐ”ĐœŃ‚ĐžŃ„ĐžĐșĐ°Ń‚ĐŸŃ€, ĐČĐŸĐ·ĐČŃ€Đ°Ń‰Đ”ĐœĐœŃ‹Đč {0} ужД ĐžŃĐżĐŸĐ»ŃŒĐ·ŃƒĐ”Ń‚ŃŃ ĐŽŃ€ŃƒĐłĐžĐŒ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Đ”ĐŒ.",
"staleCodeAccountMessage": "ĐĄŃ‚Ń€Đ°ĐœĐžŃ†Đ° ŃƒŃŃ‚Đ°Ń€Đ”Đ»Đ°. ĐŸĐŸĐżŃ€ĐŸĐ±ŃƒĐčтД ДщД раз.",
"consentDenied": "В ŃĐŸĐłĐ»Đ°ŃĐŸĐČĐ°ĐœĐžĐž ĐŸŃ‚ĐșĐ°Đ·Đ°ĐœĐŸ.",
"accountDisabledMessage": "ĐŁŃ‡Đ”Ń‚ĐœĐ°Ń Đ·Đ°ĐżĐžŃŃŒ Đ·Đ°Đ±Đ»ĐŸĐșĐžŃ€ĐŸĐČĐ°ĐœĐ°, ĐŸĐ±Ń€Đ°Ń‚ĐžŃ‚Đ”ŃŃŒ Đș Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€Ńƒ.",
"accountTemporarilyDisabledMessage": "ĐŁŃ‡Đ”Ń‚ĐœĐ°Ń Đ·Đ°ĐżĐžŃŃŒ ĐČŃ€Đ”ĐŒĐ”ĐœĐœĐŸ Đ·Đ°Đ±Đ»ĐŸĐșĐžŃ€ĐŸĐČĐ°ĐœĐ°, ĐŸĐ±Ń€Đ°Ń‚ĐžŃ‚Đ”ŃŃŒ Đș Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€Ńƒ ОлО ĐżĐŸĐżŃ€ĐŸĐ±ŃƒĐčтД ĐżĐŸĐ·Đ¶Đ”.",
"invalidPasswordMinLengthMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐŽĐ»ĐžĐœĐ° ĐżĐ°Ń€ĐŸĐ»Ń ĐŽĐŸĐ»Đ¶ĐœĐ° Đ±Ń‹Ń‚ŃŒ ĐœĐ” ĐŒĐ”ĐœĐ”Đ” {0} ŃĐžĐŒĐČĐŸĐ»Đ°(ĐŸĐČ).",
"invalidPasswordMinLowerCaseCharsMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐŽĐ”Ń€Đ¶Đ°Ń‚ŃŒ ĐœĐ” ĐŒĐ”ĐœĐ”Đ” {0} ŃĐžĐŒĐČĐŸĐ»Đ°(ĐŸĐČ) ĐČ ĐœĐžĐ¶ĐœĐ”ĐŒ рДгОстрД.",
"invalidPasswordMinDigitsMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐŽĐ”Ń€Đ¶Đ°Ń‚ŃŒ ĐœĐ” ĐŒĐ”ĐœĐ”Đ” {0} цофр(ы).",
"invalidPasswordMinUpperCaseCharsMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐŽĐ”Ń€Đ¶Đ°Ń‚ŃŒ ĐœĐ” ĐŒĐ”ĐœĐ”Đ” {0} ŃĐžĐŒĐČĐŸĐ»Đ°(ĐŸĐČ) ĐČ ĐČĐ”Ń€Ń…ĐœĐ”ĐŒ рДгОстрД.",
"invalidPasswordMinSpecialCharsMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐŽĐ”Ń€Đ¶Đ°Ń‚ŃŒ ĐœĐ” ĐŒĐ”ĐœĐ”Đ” {0} ŃĐżĐ”Ń†ŃĐžĐŒĐČĐŸĐ»Đ°(ĐŸĐČ).",
"invalidPasswordNotUsernameMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐœĐ” ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐČпаЮать с ĐžĐŒĐ”ĐœĐ”ĐŒ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń.",
"invalidPasswordRegexPatternMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐœĐ” ŃƒĐŽĐŸĐČлДтĐČĐŸŃ€ŃĐ”Ń‚ Ń€Đ”ĐłŃƒĐ»ŃŃ€ĐœĐŸĐŒŃƒ ĐČŃ‹Ń€Đ°Đ¶Đ”ĐœĐžŃŽ.",
"invalidPasswordHistoryMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐœĐ” ĐŽĐŸĐ»Đ¶Đ”Đœ ŃĐŸĐČпаЮать с ĐżĐŸŃĐ»Đ”ĐŽĐœĐžĐŒ(Đž) {0} ĐżĐ°Ń€ĐŸĐ»ŃĐŒĐž.",
"invalidPasswordGenericMessage": "ĐĐ”ĐșĐŸŃ€Ń€Đ”ĐșŃ‚ĐœŃ‹Đč ĐżĐ°Ń€ĐŸĐ»ŃŒ: ĐœĐŸĐČыĐč ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐœĐ” ŃĐŸĐŸŃ‚ĐČДтстĐČŃƒĐ”Ń‚ праĐČĐžĐ»Đ°ĐŒ ĐżĐ°Ń€ĐŸĐ»Ń."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,180 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "UloĆŸiĆ„",
"doCancel": "ZruƥiƄ",
"doLogOutAllSessions": "OdhlĂĄsenie vĆĄetkĂœch relĂĄciĂ­",
"doRemove": "OdstråniƄ",
"doAdd": "PridaƄ",
"doSignOut": "OdhlåsiƄ",
"editAccountHtmlTitle": "UpraviĆ„ Ășčet",
"federatedIdentitiesHtmlTitle": "PrepojenĂĄ identita",
"accountLogHtmlTitle": "DennĂ­k zmien uĆŸĂ­vateÄŸskĂœch Ășčtov",
"changePasswordHtmlTitle": "Zmena hesla",
"sessionsHtmlTitle": "RelĂĄcie",
"accountManagementTitle": "SprĂĄva Ășčtu Keycloak",
"authenticatorTitle": "AutentifikĂĄtor",
"applicationsHtmlTitle": "AplikĂĄcie",
"authenticatorCode": "JednorĂĄzovĂœ kĂłd",
"email": "E-mail",
"firstName": "Meno",
"givenName": "Meno pri narodenĂ­",
"fullName": "Celé meno",
"lastName": "Priezvisko",
"familyName": "Rodné meno",
"password": "Heslo",
"passwordConfirm": "Potrvrdenie hesla",
"passwordNew": "Nové heslo",
"username": "Meno pouĆŸĂ­vateÄŸa",
"address": "Adresa",
"street": "Ulica",
"locality": "Mesto alebo lokalita",
"region": "Kraj",
"postal_code": "PSČ",
"country": "Ć tĂĄt",
"emailVerified": "E-mail overenĂœ",
"gssDelegationCredential": "GSS delegované opråvnenie",
"role_admin": "AdministrĂĄtor",
"role_realm-admin": "AdministrĂĄtor realmu",
"role_create-realm": "VytvoriƄ realm",
"role_view-realm": "ZobraziƄ realm",
"role_view-users": "ZobraziĆ„ pouĆŸĂ­vateÄŸov",
"role_view-applications": "ZobraziƄ aplikåcie",
"role_view-clients": "ZobraziƄ klientov",
"role_view-events": "ZobraziƄ udalosti",
"role_view-identity-providers": "ZobraziĆ„ klientov poskytovateÄŸov identity",
"role_manage-realm": "SpravovaƄ realm",
"role_manage-users": "SpravovaĆ„ pouĆŸĂ­vateÄŸov",
"role_manage-applications": "SpravovaƄ aplikåcie",
"role_manage-identity-providers": "SpravovaĆ„ poskytovateÄŸov identity",
"role_manage-clients": "SpravovaƄ klientov",
"role_manage-events": "SpravovaƄ udalosti",
"role_view-profile": "ZobraziƄ profil",
"role_manage-account": "SpravovaĆ„ Ășčet",
"role_manage-account-links": "SpravovaĆ„ odkazy na Ășčet",
"role_read-token": "ČítaĆ„ token",
"role_offline-access": "Offline prĂ­stup",
"role_uma_authorization": "AutorizĂĄcia pouĆŸĂ­vateÄŸom riadenĂ©ho prĂ­stupu",
"client_account": "Účet klienta",
"client_security-admin-console": "Bezpečnostná administrátorská konzola",
"client_admin-cli": "SpravovaƄ CLI klienta",
"client_realm-management": "SpravovaƄ realmy klienta",
"client_broker": "Broker",
"requiredFields": "Povinné polia",
"allFieldsRequired": "VĆĄetky poĆŸadovanĂ© polia",
"backToApplication": "&laquo; SpÀƄ na aplikåciu",
"backTo": "SpÀƄ na {0}",
"date": "DĂĄtum",
"event": "UdalosƄ",
"ip": "IP",
"client": "Klient",
"clients": "Klienti",
"details": "Podrobnosti",
"started": "Začíname",
"lastAccess": "PoslednĂœ prĂ­stup",
"expires": "VyprĆĄĂ­",
"applications": "AplikĂĄcie",
"account": "Účet",
"federatedIdentity": "PrepojenĂĄ identita",
"authenticator": "AutentifikĂĄtor",
"sessions": "RelĂĄcie",
"log": "DennĂ­k",
"application": "AplikĂĄcia",
"availablePermissions": "Dostupné opråvnenia",
"grantedPermissions": "Pridelené opråvnenia",
"grantedPersonalInfo": "Poskytnuté osobné informåcie",
"additionalGrants": "DodatočnĂ© oprĂĄvnenia",
"action": "Akcia",
"inResource": "v",
"fullAccess": "ÚplnĂœ prĂ­stup",
"offlineToken": "Offline token",
"revoke": "ZruƥiƄ opråvnenie",
"configureAuthenticators": "Nakonfigurované autentifikåtory",
"mobile": "MobilnĂœ",
"totpStep1":
'NainĆĄtalujte vo svojom zariadenĂ­ <a href="https://freeotp.github.io/" target="_blank"> FreeOTP </a> alebo Google Authenticator. Obidve aplikĂĄcie sĂș k dispozĂ­cii v <a href="https://play.google.com"> Google Play </a> a Apple App Store.',
"totpStep2": "Otvorte aplikĂĄciu a naskenujte čiarovĂœ kĂłd alebo zadajte kÄŸĂșč.",
"totpStep3": "Zadajte jednorazovĂœ kĂłd poskytnutĂœ aplikĂĄciou a kliknutĂ­m na tlačidlo UloĆŸiĆ„ dokončíte nastavenie.",
"totpManualStep2": "Otvorte aplikĂĄciu a zadajte kÄŸĂșč",
"totpManualStep3": "PouĆŸite nasledujĂșce hodnoty konfigurĂĄcie, ak aplikĂĄcia umoĆŸĆˆuje ich nastavenie",
"totpUnableToScan": "NemoĆŸno skenovaĆ„?",
"totpScanBarcode": "Skenovanie čiarovĂ©ho kĂłdu?",
"totp.totp": "ZaloĆŸenĂ© na čase",
"totp.hotp": "ZaloĆŸenĂ© na počítadle",
"totpType": "Typ",
"totpAlgorithm": "Algoritmus",
"totpDigits": "Číslica",
"totpInterval": "Interval",
"totpCounter": "Počítadlo",
"missingUsernameMessage": "Zadajte pouĆŸĂ­vateÄŸskĂ© meno.",
"missingFirstNameMessage": "Zadajte meno.",
"invalidEmailMessage": "NeplatnĂĄ e-mailovĂĄ adresa.",
"missingLastNameMessage": "Zadajte priezvisko.",
"missingEmailMessage": "Zadajte e-mail.",
"missingPasswordMessage": "Zadajte heslo, prosĂ­m.",
"notMatchPasswordMessage": "HeslĂĄ sa nezhodujĂș.",
"missingTotpMessage": "Zadajte jednorazovĂœ kĂłd, prosĂ­m",
"invalidPasswordExistingMessage": "NeplatnĂ© existujĂșce heslo.",
"invalidPasswordConfirmMessage": "Potvrdenie hesla sa nezhoduje.",
"invalidTotpMessage": "NeplatnĂœ jednorazovĂœ kĂłd.",
"usernameExistsMessage": "UĆŸĂ­vateÄŸskĂ© meno uĆŸ existuje.",
"emailExistsMessage": "E-mail uĆŸ existuje.",
"readOnlyUserMessage": "VĂĄĆĄ Ășčet nemĂŽĆŸete aktualizovaĆ„, pretoĆŸe je iba na čítanie.",
"readOnlyUsernameMessage": "NemĂŽĆŸete aktualizovaĆ„ svoje pouĆŸĂ­vateÄŸskĂ© meno, pretoĆŸe je iba na čítanie.",
"readOnlyPasswordMessage": "Heslo nemĂŽĆŸete aktualizovaĆ„, pretoĆŸe vĂĄĆĄ Ășčet je iba na čítanie.",
"successTotpMessage": "Konfiguråcia mobilného autentifikåtora.",
"successTotpRemovedMessage": "MobilnĂœ autentifikĂĄtor bol odstrĂĄnenĂœ.",
"successGrantRevokedMessage": "OprĂĄvnenie bolo ĂșspeĆĄne zruĆĄenĂ©.",
"accountUpdatedMessage": "VĂĄĆĄ Ășčet bol aktualizovanĂœ.",
"accountPasswordUpdatedMessage": "Vaƥe heslo bolo aktualizované.",
"missingIdentityProviderMessage": "PoskytovateÄŸ identity nie je zadanĂœ.",
"invalidFederatedIdentityActionMessage": "NeplatnĂĄ alebo chĂœbajĂșca akcia.",
"identityProviderNotFoundMessage": "ZadanĂœ poskytovateÄŸ identity nenĂĄjdenĂœ.",
"federatedIdentityLinkNotActiveMessage": "Identita uĆŸ nie je aktĂ­vna.",
"federatedIdentityRemovingLastProviderMessage": "NemĂŽĆŸete odstrĂĄniĆ„ poslednĂș spojenĂș identitu, pretoĆŸe nemĂĄte heslo.",
"identityProviderRedirectErrorMessage": "Nepodarilo sa presmerovaĆ„ na poskytovateÄŸa identity.",
"identityProviderRemovedMessage": "PoskytovateÄŸ identity bol ĂșspeĆĄne odstrĂĄnenĂœ.",
"identityProviderAlreadyLinkedMessage": "SpojenĂĄ identita vrĂĄtenĂĄ {0} je uĆŸ prepojenĂĄ s inĂœm pouĆŸĂ­vateÄŸom.",
"staleCodeAccountMessage": "PlatnosĆ„ vyprĆĄala. SkĂșste eĆĄte raz.",
"consentDenied": "SĂșhlas bol zamietnutĂœ.",
"accountDisabledMessage": "Účet je zakĂĄzanĂœ, kontaktujte sprĂĄvcu.",
"accountTemporarilyDisabledMessage": "Účet je dočasne zakĂĄzanĂœ, kontaktujte administrĂĄtora alebo skĂșste neskĂŽr.",
"invalidPasswordMinLengthMessage": "NeplatnĂ© heslo: minimĂĄlna dÄșĆŸka {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Neplatné heslo: musí obsahovaƄ minimålne {0} malé písmenå.",
"invalidPasswordMinDigitsMessage": "NeplatnĂ© heslo: musĂ­ obsahovaĆ„ aspoƈ {0} číslic.",
"invalidPasswordMinUpperCaseCharsMessage": "NeplatnĂ© heslo: musĂ­ obsahovaĆ„ aspoƈ {0} veÄŸkĂ© pĂ­smenĂĄ.",
"invalidPasswordMinSpecialCharsMessage": "Neplatné heslo: musí obsahovaƄ aspoƈ {0} ƥpeciålne znaky.",
"invalidPasswordNotUsernameMessage": "NeplatnĂ© heslo: nesmie byĆ„ rovnakĂ© ako pouĆŸĂ­vateÄŸskĂ© meno.",
"invalidPasswordRegexPatternMessage": "NeplatnĂ© heslo: nezodpovedĂĄ regulĂĄrnemu vĂœrazu.",
"invalidPasswordHistoryMessage": "NeplatnĂ© heslo: nesmie sa rovnaĆ„ ĆŸiadnemu z poslednĂœch {0} hesiel.",
"invalidPasswordBlacklistedMessage": "NeplatnĂ© heslo: heslo je na čiernej listine.",
"invalidPasswordGenericMessage": "Neplatné heslo: nové heslo nezodpovedå pravidlåm hesiel.",
"myResources": "Moje Zdroje",
"myResourcesSub": "Moje zdroje",
"doDeny": "ZakåzaƄ",
"doRevoke": "OdvolaƄ",
"doApprove": "SchvåliƄ",
"doRemoveSharing": "OdstrĂĄnenie zdieÄŸania",
"doRemoveRequest": "OdstrĂĄniĆ„ poĆŸiadavku",
"peopleAccessResource": "Äœudia s prĂ­stupom k tomuto zdroju",
"name": "NĂĄzov",
"scopes": "Rozsahy",
"resource": "Zdroj",
"user": "PouĆŸĂ­vateÄŸ",
"peopleSharingThisResource": "Äœudia zdieÄŸajĂșci tento zdroj",
"shareWithOthers": "ZdieÄŸaĆ„ s ostatnĂœmi",
"needMyApproval": "Potrebuje mĂŽj sĂșhlas",
"requestsWaitingApproval": "VaĆĄe poĆŸiadavky čakajĂș na schvĂĄlenie",
"icon": "Ikona",
"requestor": "ĆœiadateÄŸ",
"owner": "VlastnĂ­k",
"resourcesSharedWithMe": "Zdroje zdieÄŸanĂ© so mnou",
"permissionRequestion": "Ćœiadosti o povolenie",
"permission": "OprĂĄvnenie",
"shares": "podiel (y)"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,139 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Spara",
"doCancel": "Avbryt",
"doLogOutAllSessions": "Logga ut frÄn samtliga sessioner",
"doRemove": "Ta bort",
"doAdd": "LĂ€gg till",
"doSignOut": "Logga ut",
"editAccountHtmlTitle": "Redigera konto",
"federatedIdentitiesHtmlTitle": "Federerade identiteter",
"accountLogHtmlTitle": "Kontologg",
"changePasswordHtmlTitle": "Byt lösenord",
"sessionsHtmlTitle": "Sessioner",
"accountManagementTitle": "Kontohantering för Keycloak",
"authenticatorTitle": "Autentiserare",
"applicationsHtmlTitle": "Applikationer",
"authenticatorCode": "EngÄngskod",
"email": "E-post",
"firstName": "Förnamn",
"lastName": "Efternamn",
"password": "Lösenord",
"passwordConfirm": "BekrÀftelse",
"passwordNew": "Nytt lösenord",
"username": "AnvÀndarnamn",
"address": "Adress",
"street": "Gata",
"locality": "Postort",
"region": "Stat, Provins eller Region",
"postal_code": "Postnummer",
"country": "Land",
"emailVerified": "E-post verifierad",
"gssDelegationCredential": "GSS Delegation Credential",
"role_admin": "Administratör",
"role_realm-admin": "Realm-administratör",
"role_create-realm": "Skapa realm",
"role_view-realm": "Visa realm",
"role_view-users": "Visa anvÀndare",
"role_view-applications": "Visa applikationer",
"role_view-clients": "Visa klienter",
"role_view-events": "Visa event",
"role_view-identity-providers": "Visa identitetsleverantörer",
"role_manage-realm": "Hantera realm",
"role_manage-users": "Hantera anvÀndare",
"role_manage-applications": "Hantera applikationer",
"role_manage-identity-providers": "Hantera identitetsleverantörer",
"role_manage-clients": "Hantera klienter",
"role_manage-events": "Hantera event",
"role_view-profile": "Visa profil",
"role_manage-account": "Hantera konto",
"role_read-token": "LĂ€s element",
"role_offline-access": "Åtkomst offline",
"role_uma_authorization": "ErhÄll tillstÄnd",
"client_account": "Konto",
"client_security-admin-console": "SÀkerhetsadministratörskonsol",
"client_admin-cli": "Administratörs-CLI",
"client_realm-management": "Realmhantering",
"requiredFields": "Obligatoriska fÀlt",
"allFieldsRequired": "Samtliga fÀlt krÀvs",
"backToApplication": "&laquo; Tillbaka till applikationen",
"backTo": "Tillbaka till {0}",
"date": "Datum",
"event": "Event",
"ip": "IP",
"client": "Klient",
"clients": "Klienter",
"details": "Detaljer",
"started": "Startade",
"lastAccess": "Senast Ätkomst",
"expires": "Upphör",
"applications": "Applikationer",
"account": "Konto",
"federatedIdentity": "Federerad identitet",
"authenticator": "Autentiserare",
"sessions": "Sessioner",
"log": "Logg",
"application": "Applikation",
"availablePermissions": "TillgÀngliga rÀttigheter",
"grantedPermissions": "Beviljade rÀttigheter",
"grantedPersonalInfo": "Medgiven personlig information",
"additionalGrants": "Ytterligare medgivanden",
"action": "ÅtgĂ€rd",
"inResource": "i",
"fullAccess": "FullstÀndig Ätkomst",
"offlineToken": "Offline token",
"revoke": "UpphÀv rÀttighet",
"configureAuthenticators": "Konfigurerade autentiserare",
"mobile": "Mobil",
"totpStep1":
'Installera <a href="https://freeotp.github.io/" target="_blank">FreeOTP</a> eller Google Authenticator pÄ din enhet. BÄda applikationerna finns tillgÀngliga pÄ <a href="https://play.google.com">Google Play</a> och Apple App Store.',
"totpStep2": "Öppna applikationen och skanna streckkoden eller skriv i nyckeln.",
"totpStep3": "Fyll i engÄngskoden som tillhandahÄlls av applikationen och klicka pÄ Spara för att avsluta instÀllningarna.",
"missingUsernameMessage": "VÀnligen ange anvÀndarnamn.",
"missingFirstNameMessage": "VÀnligen ange förnamn.",
"invalidEmailMessage": "Ogiltig e-postadress.",
"missingLastNameMessage": "VĂ€nligen ange efternamn.",
"missingEmailMessage": "VĂ€nligen ange e-post.",
"missingPasswordMessage": "VÀnligen ange lösenord.",
"notMatchPasswordMessage": "Lösenorden matchar inte.",
"missingTotpMessage": "VĂ€nligen ange autentiseringskoden.",
"invalidPasswordExistingMessage": "Det nuvarande lösenordet Àr ogiltigt.",
"invalidPasswordConfirmMessage": "LösenordsbekrÀftelsen matchar inte.",
"invalidTotpMessage": "Autentiseringskoden Àr ogiltig.",
"usernameExistsMessage": "AnvÀndarnamnet finns redan.",
"emailExistsMessage": "E-posten finns redan.",
"readOnlyUserMessage": "Du kan inte uppdatera ditt konto eftersom det Àr skrivskyddat.",
"readOnlyPasswordMessage": "Du kan inte uppdatera ditt lösenord eftersom ditt konto Àr skrivskyddat.",
"successTotpMessage": "Mobilautentiseraren Àr instÀlld.",
"successTotpRemovedMessage": "Mobilautentiseraren Àr borttagen.",
"successGrantRevokedMessage": "UpphÀvandet av rÀttigheten lyckades.",
"accountUpdatedMessage": "Ditt konto har uppdaterats.",
"accountPasswordUpdatedMessage": "Ditt lösenord har uppdaterats.",
"missingIdentityProviderMessage": "Identitetsleverantör Àr inte angiven.",
"invalidFederatedIdentityActionMessage": "ÅtgĂ€rden Ă€r ogiltig eller saknas.",
"identityProviderNotFoundMessage": "Angiven identitetsleverantör hittas inte.",
"federatedIdentityLinkNotActiveMessage": "Den hÀr identiteten Àr inte lÀngre aktiv.",
"federatedIdentityRemovingLastProviderMessage": "Du kan inte ta bort senaste federerade identiteten eftersom du inte har ett lösenord.",
"identityProviderRedirectErrorMessage": "Misslyckades med att omdirigera till identitetsleverantör.",
"identityProviderRemovedMessage": "Borttagningen av identitetsleverantören lyckades.",
"identityProviderAlreadyLinkedMessage": "Den federerade identiteten som returnerades av {0} Àr redan lÀnkad till en annan anvÀndare.",
"staleCodeAccountMessage": "Sidan har upphört att gÀlla. VÀnligen försök igen.",
"consentDenied": "Samtycket förnekades.",
"accountDisabledMessage": "Kontot Àr inaktiverat, kontakta administratör.",
"accountTemporarilyDisabledMessage": "Kontot Àr tillfÀlligt inaktiverat, kontakta administratör eller försök igen senare.",
"invalidPasswordMinLengthMessage": "Ogiltigt lösenord. Minsta lÀngd Àr {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Ogiltigt lösenord: mÄste innehÄlla minst {0} smÄ bokstÀver.",
"invalidPasswordMinDigitsMessage": "Ogiltigt lösenord: mÄste innehÄlla minst {0} siffror.",
"invalidPasswordMinUpperCaseCharsMessage": "Ogiltigt lösenord: mÄste innehÄlla minst {0} stora bokstÀver.",
"invalidPasswordMinSpecialCharsMessage": "Ogiltigt lösenord: mÄste innehÄlla minst {0} specialtecken.",
"invalidPasswordNotUsernameMessage": "Ogiltigt lösenord: FÄr inte vara samma som anvÀndarnamnet.",
"invalidPasswordRegexPatternMessage": "Ogiltigt lösenord: matchar inte kravet för lösenordsmönster.",
"invalidPasswordHistoryMessage": "Ogiltigt lösenord: FÄr inte vara samma som de senaste {0} lösenorden.",
"invalidPasswordGenericMessage": "Ogiltigt lösenord: Det nya lösenordet stÀmmer inte med lösenordspolicyn."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,309 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "Kaydet",
"doCancel": "İptal",
"doLogOutAllSessions": "TĂŒm Oturumları Kapat",
"doRemove": "Sil",
"doAdd": "Ekle",
"doSignOut": "Çıkıß",
"doLogIn": "Oturum aç",
"doLink": "Bağlantı",
"editAccountHtmlTitle": "Hesabım",
"personalInfoHtmlTitle": "Kißisel bilgi",
"federatedIdentitiesHtmlTitle": "Değißtirilen Kimlikler",
"accountLogHtmlTitle": "Kullanıcı Logları",
"changePasswordHtmlTitle": "ƞifre DeğiƟtirme",
"deviceActivityHtmlTitle": "Cihaz Etkinliği",
"sessionsHtmlTitle": "Oturum",
"accountManagementTitle": "Keycloak Kullanıcı Hesabı Yönetimi",
"authenticatorTitle": "Kimlik Doğrulama",
"applicationsHtmlTitle": "Uygulama",
"linkedAccountsHtmlTitle": "Bağlantılı Hesaplar",
"accountManagementWelcomeMessage": "Keycloak Hesap Yönetimine Hoß Geldiniz",
"personalInfoIntroMessage": "Temel bilgilerinizi yönetin",
"accountSecurityTitle": "Hesap GĂŒvenliği",
"accountSecurityIntroMessage": "ƞifrenizi ve hesap eriƟiminizi kontrol edin",
"applicationsIntroMessage": "Hesabınıza erißmek için uygulama izninizi takip edin ve yönetin",
"resourceIntroMessage": "Kaynaklarınızı ekip ĂŒyeleri arasında paylaßın",
"passwordLastUpdateMessage": "ƞifreniz gĂŒncellendi",
"updatePasswordTitle": "ƞifre gĂŒncelle",
"updatePasswordMessageTitle": "GĂŒĂ§lĂŒ bir ßifre seçtiğinizden emin olun",
"updatePasswordMessage":
"GĂŒĂ§lĂŒ bir ßifre, sayılar, harfler ve sembollerin karıßımından olußmalıdır. Tahmin etmesi zor ve gerçek bir kelimeye benzemeyen ßifre sadece bu hesap için kullanılır.",
"personalSubTitle": "Kißisel Bilgileriniz",
"personalSubMessage": "Bu temel bilgileri yönetin: adınız, soyadınız ve e-posta adresiniz",
"authenticatorCode": "Kimlik Doğrulama Kodu",
"email": "E-Mail",
"firstName": "Ad",
"givenName": "Ad",
"fullName": "Ad Soyad",
"lastName": "Soyad",
"familyName": "Soyad",
"password": "ƞifre",
"currentPassword": "ƞimdiki ƞifre",
"passwordConfirm": "ƞifre Doğrulama",
"passwordNew": "Yeni ƞifre",
"username": "Kullanıcı Adı",
"address": "Adres",
"street": "Cadde",
"region": "Bölge",
"postal_code": "Posta Kodu",
"locality": "ƞehir",
"country": "Ülke",
"emailVerified": "E-Mail Doğrulandı",
"gssDelegationCredential": "GSS Yetki Bilgisi",
"profileScopeConsentText": "Kullanıcı profili",
"emailScopeConsentText": "Email adresi",
"addressScopeConsentText": "Adres",
"phoneScopeConsentText": "Telefon numarası",
"offlineAccessScopeConsentText": "Çevrimdıßı Erißim",
"samlRoleListScopeConsentText": "Rollerim",
"rolesScopeConsentText": "Kullanıcı rolleri",
"role_admin": "Admin",
"role_realm-admin": "Realm Admin",
"role_create-realm": "Realm Olußtur",
"role_view-realm": "Realm görĂŒntĂŒle",
"role_view-users": "Kullanıcıları görĂŒntĂŒle",
"role_view-applications": "Uygulamaları görĂŒntĂŒle",
"role_view-clients": "İstemci görĂŒntĂŒle",
"role_view-events": "Olay görĂŒntĂŒle",
"role_view-identity-providers": "Kimlik Sağlayıcılar",
"role_manage-realm": "Realm yönet",
"role_manage-users": "Kullanıcıları yönet",
"role_manage-applications": "Uygulamaları yönet",
"role_manage-identity-providers": "Kimlik Sağlayıcıları Yönet",
"role_manage-clients": "İstemci yönet",
"role_manage-events": "Olay yönet",
"role_view-profile": "Profilleri görĂŒntĂŒle",
"role_manage-account": "Profilleri Yönet",
"role_manage-account-links": "Profil bağlantılarını yönet",
"role_read-token": "Token oku",
"role_offline-access": "Çevirimdıßı Yetki",
"role_uma_authorization": "İzinleri Al",
"client_account": "MĂŒĆŸteri Hesabı",
"client_security-admin-console": "GĂŒvenlik Yönetici Konsolu",
"client_admin-cli": "Admin CLI",
"client_realm-management": "Realm-Management",
"client_broker": "Broker",
"requiredFields": "Zorunlu Alanlar",
"allFieldsRequired": "TĂŒm Alanlar Zorunlu",
"backToApplication": "&laquo; Uygulamaya Dön",
"backTo": "Geri Dön {0}",
"date": "GĂŒn",
"event": "Olay",
"ip": "IP",
"client": "İstemci",
"clients": "İstemciler",
"details": "Detaylar",
"started": "Baßlangıç Tarihi",
"lastAccess": "Son Erißim Tarihi",
"expires": "Son Kullanma Tarihi",
"applications": "Uygulama",
"account": "Hesap",
"federatedIdentity": "Federal Kimlik",
"authenticator": "Kimlik Doğrulama",
"device-activity": "Cihaz Etkinliği",
"sessions": "Oturum",
"log": "Log",
"application": "Uygulama",
"availablePermissions": "Kullanılabilir İzinler",
"availableRoles": "Kullanılabilir Roller",
"grantedPermissions": "Verilen İzinler",
"grantedPersonalInfo": "İzin Verilen Kißisel Bilgiler",
"additionalGrants": "Ek İzinler",
"action": "Aksiyon",
"inResource": "Kaynak",
"fullAccess": "Tam Yetki",
"offlineToken": "Çevirimdıßı-Token",
"revoke": "İzni İptal et",
"configureAuthenticators": "Çoklu Kimlik Doğrulama",
"mobile": "Mobil",
"totpStep1": "Akıllı Telefonunuza aßağıdaki uygulamalardan birini yĂŒkleyin:",
"totpStep2": "Uygulamayı açın ve barkodu okutun.",
"totpStep3": "Uygulama tarafından olußturulan tek seferlik kodu girin ve Kaydet'i tıklayın.",
"totpManualStep2": "Uygulamayı açın ve aßağıdaki anahtarı girin.",
"totpManualStep3": "Bunları uygulama için özelleßtirebilirseniz aßağıdaki yapılandırma değerlerini kullanın:",
"totpUnableToScan": "Barkodu tarayamıyor musunuz?",
"totpScanBarcode": "Barkod Tara?",
"totp.totp": "Zaman bazlı (time-based)",
"totp.hotp": "Sayaç tabanlı (counter-based)",
"totpType": "Tip",
"totpAlgorithm": "Algoritma",
"totpDigits": "Basamak",
"totpInterval": "Aralık",
"totpCounter": "Sayaç",
"missingUsernameMessage": "LĂŒtfen bir kullanıcı adı giriniz.",
"missingFirstNameMessage": "LĂŒtfen bir ad girin.",
"invalidEmailMessage": "Geçersiz e-posta adresi.",
"missingLastNameMessage": "LĂŒtfen bir soyadı giriniz.",
"missingEmailMessage": "LĂŒtfen bir e-mail adresi giriniz.",
"missingPasswordMessage": "LĂŒtfen bir ßifre giriniz.",
"notMatchPasswordMessage": "ƞifreler aynı değil.",
"missingTotpMessage": "LĂŒtfen tek seferlik kodu girin.",
"invalidPasswordExistingMessage": "Mevcut Ɵifre geçersiz.",
"invalidPasswordConfirmMessage": "ƞifre onayı aynı değil.",
"invalidTotpMessage": "Geçersiz tek seferlik kod.",
"usernameExistsMessage": "Kullanıcı adı zaten mevcut.",
"emailExistsMessage": "E-posta adresi zaten mevcut.",
"readOnlyUserMessage": "Yazma korumalı olduğundan kullanıcı hesabınızı değißtiremezsiniz.",
"readOnlyUsernameMessage": "Yazma korumalı olduğundan kullanıcı adınızı değißtiremezsiniz.",
"readOnlyPasswordMessage": "Yazma korumalı olduğundan ßifrenizi değißtiremezsiniz.",
"successTotpMessage": "Çoklu kimlik doğrulaması baßarıyla yapılandırıldı.",
"successTotpRemovedMessage": "Çoklu kimlik doğrulama baßarıyla kaldırıldı.",
"successGrantRevokedMessage": "İzin baßarıyla iptal edildi.",
"accountUpdatedMessage": "Kullanıcı hesabınız gĂŒncellendi.",
"accountPasswordUpdatedMessage": "ƞifreniz gĂŒncellendi.",
"missingIdentityProviderMessage": "Kimlik Sağlayıcısı belirtilmemiß.",
"invalidFederatedIdentityActionMessage": "Geçersiz veya eksik eylem.",
"identityProviderNotFoundMessage": "Belirtilen Kimlik Sağlayıcı bulunamadı.",
"federatedIdentityLinkNotActiveMessage": "Bu kimlik artık aktif değil.",
"federatedIdentityRemovingLastProviderMessage": "ƞifreniz olmadığı için son girißi kaldıramazsınız.",
"identityProviderRedirectErrorMessage": "Kimlik sağlayıcıya iletilirken hata olußtu.",
"identityProviderRemovedMessage": "Kimlik Sağlayıcısı baßarıyla kaldırıldı.",
"identityProviderAlreadyLinkedMessage": "Değißtirilmiß {0} kimliği baßka bir kullanıcıya atanmıß.",
"staleCodeAccountMessage": "Bu sayfa artık geçerli değil, lĂŒtfen tekrar deneyin.",
"consentDenied": "Onay reddedildi.",
"accountDisabledMessage": "Hesabınız kilitlendi, lĂŒtfen yöneticiyle iletißime geçin.",
"accountTemporarilyDisabledMessage": "Hesabınız geçici olarak kilitlendi, lĂŒtfen yöneticiyle iletißime geçin veya daha sonra tekrar deneyin.",
"invalidPasswordMinLengthMessage": "Geçersiz ƞifre: En az {0} karakter uzunluğunda olmalı.",
"invalidPasswordMinLowerCaseCharsMessage": "Geçersiz ƞifre : En az {0} kĂŒĂ§ĂŒk harf içermelidir.",
"invalidPasswordMinDigitsMessage": "Geçersiz ƞifre: En az {0} sayı(lar) içermelidir.",
"invalidPasswordMinUpperCaseCharsMessage": "Geçersiz ƞifre: En az {0} bĂŒyĂŒk harf içermelidir.",
"invalidPasswordMinSpecialCharsMessage": "Geçersiz ƞifre: En az {0} özel karakter içermelidir.",
"invalidPasswordNotUsernameMessage": "Geçersiz ƞifre: Kullanıcı adıyla aynı olamaz.",
"invalidPasswordRegexPatternMessage": "Geçersiz ƞifre: Regex Patternine uygun değil.",
"invalidPasswordHistoryMessage": "Geçersiz ƞifre: Son {0} Ɵifreden biri olamaz.",
"invalidPasswordBlacklistedMessage": "Geçersiz ƞifre: ƞifre bloklanmıß ßifreler listesindedir (kara liste).",
"invalidPasswordGenericMessge": "Geçersiz ƞifre: Yeni ßifre, ßifre kurallarını ihlal ediyor.",
"myResources": "Kaynaklarım",
"myResourcesSub": "Kaynaklarım",
"doDeny": "Reddet",
"doRevoke": "Geri al",
"doApprove": "Onayla",
"doRemoveSharing": "Paylaßımı Kaldır",
"doRemoveRequest": "İsteği Kaldır",
"peopleAccessResource": "Bu kaynağa erißimi olan kißiler",
"resourceManagedPolicies": "Bu kaynağa erißim izni veren izinler",
"resourceNoPermissionsGrantingAccess": "Bu kaynağa erißim izni verilmeyen izin yok",
"anyAction": "Herhangi bir eylem",
"description": "Açıklama",
"name": "İsim",
"scopes": "Kapsam",
"resource": "Kaynak",
"user": "Kullanıcı",
"peopleSharingThisResource": "Bu kaynağı paylaßan kullanıcılar",
"shareWithOthers": "Baßkalarıyla paylaß",
"needMyApproval": "Onayım gerekli",
"requestsWaitingApproval": "Talepleriniz onay bekliyor",
"icon": "Icon",
"requestor": "Talep eden",
"owner": "Sahip",
"resourcesSharedWithMe": "Kaynaklar benimle paylaßıldı",
"permissionRequestion": "İzin Talepleri",
"permission": "İzin",
"shares": "Paylaßım(lar)",
"locale_ca": "Katalanca",
"locale_de": "Almanca",
"locale_en": "İngilizce",
"locale_es": "İspanyolca",
"locale_fr": "Fransızca",
"locale_it": "İtalyanca",
"locale_ja": "Japonca",
"locale_nl": "Felemenkçe",
"locale_no": "Norveçce",
"locale_pl": "Lehçe",
"locale_pt_BR": "Portekizce",
"locale_pt-BR": "Portekizce",
"locale_ru": "Rusça",
"locale_lt": "Litvanca",
"locale_zh-CN": "Çince",
"locale_sk": "Slovakça",
"locale_sv": "İsveççe",
"locale_tr": "TĂŒrkçe",
"applicaitonName": "İsim",
"applicationType": "Uygulama Tipi",
"applicationInUse": "Yalnızca uygulama içi kullanım",
"clearAllFilter": "TĂŒm filtreleri temizle",
"activeFilters": "Aktif filtreler",
"filterByName": "İsme Göre Filtrele ...",
"allApps": "BĂŒtĂŒn uygulamalar",
"internalApps": "İç uygulamalar",
"thirdpartyApps": "ĂœĂ§ĂŒncĂŒ parti uygulamalar",
"appResults": "Sonuçlar",
"authorizedProvider": "Yetkili Tedarikçi",
"authorizedProviderMessage": "Yetkili Sağlayıcılar hesabınızla bağlantılı",
"identityProvider": "Kimlik Sağlayıcısı",
"identityProviderMessage": "Hesabınızı yapılandırdığınız kimlik sağlayıcılarıyla bağlamak için",
"socialLogin": "Sosyal Giriß",
"userDefined": "Kullanıcı tanımlı",
"removeAccess": "Erißimi Kaldır",
"removeAccessMessage": "Bu uygulama hesabını kullanmak istiyorsanız tekrar erißim vermeniz gerekir.",
"authenticatorStatusMessage": "İki faktörlĂŒ kimlik doğrulama aktif",
"authenticatorFinishSetUpTitle": "İki FaktörlĂŒ Doğrulama",
"authenticatorFinishSetUpMessage": "Keycloak hesabınızda her oturum açtığınızda, iki faktörlĂŒ bir doğrulama kodu girmeniz istenecektir.",
"authenticatorSubTitle": "İki FaktörlĂŒ Kimlik Doğrulamayı Ayarlama",
"authenticatorSubMessage":
"Hesabınızın gĂŒvenliğini artırmak için mevcut iki faktörlĂŒ kimlik doğrulama yöntemlerinden en az birini etkinleßtirin.",
"authenticatorMobileTitle": "Mobil Kimlik Doğrulayıcı",
"authenticatorMobileMessage": "Doğrulama kodlarını iki faktörlĂŒ kimlik doğrulama olarak almak için mobil Doğrulayıcı'yı kullanın.",
"authenticatorMobileFinishSetUpMessage": "Doğrulayıcı, telefonunuza bağlı.",
"authenticatorActionSetup": "Kur",
"authenticatorSMSTitle": "SMS Kodu",
"authenticatorSMSMessage": "Keycloak, doğrulama kodunu telefonunuza iki faktörlĂŒ kimlik doğrulaması olarak gönderecektir.",
"authenticatorSMSFinishSetUpMessage": "Kısa mesajlar gönderilir",
"authenticatorDefaultStatus": "Varsayılan",
"authenticatorChangePhone": "Telefon Numarasını Değißtir",
"authenticatorBackupCodesTitle": "Yedekleme Kodları",
"authenticatorBackupCodesMessage": "8 haneli yedek kodlarınızı alın",
"authenticatorBackupCodesFinishSetUpMessage": "ƞu anda 12 haneli yedek kod olußturuldu. Her biri bir kez kullanılabilir.",
"authenticatorMobileSetupTitle": "Mobil Kimlik Doğrulama Kurulumu",
"smscodeIntroMessage": "Telefon numaranızı girin ve telefonunuza bir doğrulama kodu gönderilecektir.",
"mobileSetupStep1": "Telefonunuza bir kimlik doğrulama uygulaması yĂŒkleyin. Burada listelenen uygulamalar desteklenmektedir.",
"mobileSetupStep2": "Uygulamayı açın ve barkodu tarayın.",
"mobileSetupStep3": "Uygulama tarafından sağlanan tek seferlik kodu girin ve kurulumu tamamlamak için Kaydet'e tıklayın.",
"scanBarCode": "Barkodu taramak ister misiniz?",
"enterBarCode": "Tek seferlik kodu girin",
"doCopy": "Kopyala",
"doFinish": "Bitir",
"authenticatorSMSCodeSetupTitle": "SMS Kodu Kurulumu",
"chooseYourCountry": "Ülkenizi seçin",
"enterYourPhoneNumber": "Telefon numaranızı girin",
"sendVerficationCode": "Doğrulama kodu Gönder",
"enterYourVerficationCode": "Onaylama kodunu girin",
"authenticatorBackupCodesSetupTitle": "Yedekleme Kodları Kurulumu",
"backupcodesIntroMessage":
"Telefonunuza erißimi kaybederseniz, yine de yedek kodlar aracılığıyla hesabınıza giriß yapabilirsiniz. Onları gĂŒvenli ve erißilebilir bir yerde saklayın.",
"realmName": "Realm",
"doDownload": "İndir",
"doPrint": "Yazdır",
"backupCodesTips-1": "Her yedek kod bir kez kullanılabilir.",
"backupCodesTips-2": "Bu kodlar ĂŒzerinde olußturuldu",
"generateNewBackupCodes": "Yeni Yedekleme Kodları Olußtur",
"backupCodesTips-3": "Yeni yedek kodlar olußturduğunuzda, mevcut kodlar artık çalıßmayacaktır.",
"backtoAuthenticatorPage": "Kimlik Doğrulayıcı Sayfasına Geri Dön",
"resources": "Kaynaklar",
"sharedwithMe": "Benimle paylaßtı",
"share": "Paylaßım",
"sharedwith": "İle paylaßtı",
"accessPermissions": "Erißim İzinleri",
"permissionRequests": "İzin İstekleri",
"approve": "Onayla",
"approveAll": "TĂŒmĂŒnĂŒ onayla",
"people": "İnsanlar",
"perPage": "Sayfa baßına",
"currentPage": "Geçerli sayfa",
"sharetheResource": "Kaynağı paylaß",
"group": "Grup",
"selectPermission": "İzin Seç",
"addPeople": "Kaynağınızı paylaßmak için kullanıcı ekleyin",
"addTeam": "Kaynağınızı paylaßmak için ekip ekleyin",
"myPermissions": "İzinlerim",
"waitingforApproval": "Onay bekleniyor",
"anyPermission": "Herhangi bir izin"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,155 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"doSave": "保歘",
"doCancel": "ć–æ¶ˆ",
"doLogOutAllSessions": "登ć‡șæ‰€æœ‰äŒšèŻ",
"doRemove": "ćˆ é™€",
"doAdd": "æ·»ćŠ ",
"doSignOut": "登ć‡ș",
"editAccountHtmlTitle": "猖蟑莊户",
"federatedIdentitiesHtmlTitle": "铟掄的èș«ä»œ",
"accountLogHtmlTitle": "èŽŠæˆ·æ—„ćż—",
"changePasswordHtmlTitle": "曎æ”č毆码",
"sessionsHtmlTitle": "äŒšèŻ",
"accountManagementTitle": "KeycloakèŽŠæˆ·çźĄç†",
"authenticatorTitle": "èź€èŻè€…",
"applicationsHtmlTitle": "ćș”甚",
"authenticatorCode": "äž€æŹĄæ€§èź€èŻç ",
"email": "甔歐邟件",
"firstName": "損",
"givenName": "槓",
"fullName": "慹損",
"lastName": "槓",
"familyName": "槓",
"password": "毆码",
"passwordConfirm": "çĄźèź€",
"passwordNew": "æ–°ćŻ†ç ",
"username": "ç”šæˆ·ć",
"address": "朰杀",
"street": "èĄ—é“",
"locality": "ćŸŽćž‚äœæ‰€",
"region": "省è‡ȘæČ»ćŒșïŒŒç›ŽèŸ–ćž‚",
"postal_code": "é‚źæ”żçŒ–ç ",
"country": "ć›œćź¶",
"emailVerified": "éȘŒèŻèż‡çš„Email",
"gssDelegationCredential": "GSS Delegation Credential",
"role_admin": "缡理摘",
"role_realm-admin": "柟缡理摘",
"role_create-realm": "戛ć»ș㟟",
"role_view-realm": "æŸ„çœ‹ćŸŸ",
"role_view-users": "柄看甚户",
"role_view-applications": "柄看ćș”甚",
"role_view-clients": "æŸ„çœ‹ćźąæˆ·",
"role_view-events": "柄看äș‹ä»¶",
"role_view-identity-providers": "柄看èș«ä»œæäŸ›è€…",
"role_manage-realm": "缡理柟",
"role_manage-users": "çźĄç†ç”šæˆ·",
"role_manage-applications": "缡理ćș”甚",
"role_manage-identity-providers": "缡理èș«ä»œæäŸ›è€…",
"role_manage-clients": "çźĄç†ćźąæˆ·",
"role_manage-events": "缡理äș‹ä»¶",
"role_view-profile": "æŸ„çœ‹ç”šæˆ·äżĄæŻ",
"role_manage-account": "çźĄç†èŽŠæˆ·",
"role_read-token": "èŻ»ć– token",
"role_offline-access": "犻çșżèźżé—ź",
"role_uma_authorization": "èŽ·ć–æŽˆæƒ",
"client_account": "莊户",
"client_security-admin-console": "ćź‰ć…šçźĄç†ç»ˆç«Ż",
"client_admin-cli": "çźĄç†ć‘œä»€èĄŒ",
"client_realm-management": "柟缡理",
"client_broker": "代理",
"requiredFields": "濅楫éĄč",
"allFieldsRequired": "所有éĄč濅楫",
"backToApplication": "« 曞戰ćș”甚",
"backTo": "曞戰 {0}",
"date": "旄期",
"event": "äș‹ä»¶",
"ip": "IP",
"client": "ćźąæˆ·ç«Ż",
"clients": "ćźąæˆ·ç«Ż",
"details": "èŻŠæƒ…",
"started": "ćŒ€ć§‹",
"lastAccess": "æœ€ćŽäž€æŹĄèźżé—ź",
"expires": "èż‡æœŸæ—¶é—Ž",
"applications": "ćș”甚",
"account": "莊户",
"federatedIdentity": "ć…łè”èș«ä»œ",
"authenticator": "èź€èŻæ–č",
"sessions": "äŒšèŻ",
"log": "æ—„ćż—",
"application": "ćș”甚",
"availablePermissions": "ćŻç”šæƒé™",
"grantedPermissions": "授äșˆæƒé™",
"grantedPersonalInfo": "授权的äžȘäșșäżĄæŻ",
"additionalGrants": "ćŻæŽˆäșˆçš„æƒé™",
"action": "操䜜",
"inResource": "in",
"fullAccess": "所有权限",
"offlineToken": "犻çșż token",
"revoke": "æ”¶ć›žæŽˆæƒ",
"configureAuthenticators": "é…çœźçš„èź€èŻè€…",
"mobile": "手æœș",
"totpStep1":
'ćœšäœ çš„èźŸć€‡äžŠćź‰èŁ… <a href="https://fedorahosted.org/freeotp/" target="_blank">FreeOTP</a> 或者 Google Authenticator.䞀äžȘćș”ç”šćŻä»„从 <a href="https://play.google.com">Google Play</a> 撌 Apple App Storeäž‹èœœă€‚',
"totpStep2": "æ‰“ćŒ€ćș”甚扫描äșŒç»Žç èŸ“ć…„éȘŒèŻç ",
"totpStep3": "èŸ“ć…„ćș”ç”šæäŸ›çš„äž€æŹĄæ€§éȘŒèŻç ć•ć‡»äżć­˜",
"missingUsernameMessage": "èŻ·æŒ‡ćźšç”šæˆ·ć",
"missingFirstNameMessage": "èŻ·æŒ‡ćźšć",
"invalidEmailMessage": "æ— æ•ˆçš„ç””ć­é‚źçź±ćœ°ć€",
"missingLastNameMessage": "èŻ·æŒ‡ćźšć§“",
"missingEmailMessage": "èŻ·æŒ‡ćźšé‚źä»¶ćœ°ć€",
"missingPasswordMessage": "èŻ·èŸ“ć…„ćŻ†ç ",
"notMatchPasswordMessage": "毆码侍ćŒč配",
"missingTotpMessage": "èŻ·æŒ‡ćźšèź€èŻè€…ä»Łç ",
"invalidPasswordExistingMessage": "æ— æ•ˆçš„æ—§ćŻ†ç ",
"invalidPasswordConfirmMessage": "çĄźèź€ćŻ†ç äžç›žçŹŠ",
"invalidTotpMessage": "æ— æ•ˆçš„èź€èŻç ",
"usernameExistsMessage": "ç”šæˆ·ćć·Čç»ć­˜ćœš",
"emailExistsMessage": "甔歐邟矱ć·Čç»ć­˜ćœš",
"readOnlyUserMessage": "æ— æł•äżźæ”čèŽŠæˆ·ïŒŒć› äžșćźƒæ˜ŻćȘèŻ»çš„ă€‚",
"readOnlyPasswordMessage": "äžćŻä»„æ›ŽèŻ„èŽŠæˆ·ć› äžșćźƒæ˜ŻćȘèŻ»çš„ă€‚",
"successTotpMessage": "手æœșèź€èŻè€…é…çœźćźŒæŻ•",
"successTotpRemovedMessage": "手æœșèź€èŻè€…ć·Čćˆ é™€",
"successGrantRevokedMessage": "æŽˆæƒæˆćŠŸć›žæ”¶",
"accountUpdatedMessage": "悚的莊户ć·Č经曎新",
"accountPasswordUpdatedMessage": "æ‚šçš„ćŻ†ç ć·Čç»äżźæ”č",
"missingIdentityProviderMessage": "èș«ä»œæäŸ›è€…æœȘæŒ‡ćźš",
"invalidFederatedIdentityActionMessage": "无效或者çŒșć°‘æ“äœœ",
"identityProviderNotFoundMessage": "æŒ‡ćźšçš„èș«ä»œæäŸ›è€…æœȘæ‰Ÿćˆ°",
"federatedIdentityLinkNotActiveMessage": "èż™äžȘèș«ä»œäžć†äœżç”šäș†ă€‚",
"federatedIdentityRemovingLastProviderMessage": "äœ äžćŻä»„ç§»é™€æœ€ćŽäž€äžȘèș«ä»œæäŸ›è€…ć› äžș䜠æČĄæœ‰èźŸçœźćŻ†ç ",
"identityProviderRedirectErrorMessage": "ć°èŻ•é‡ćźšć‘ćˆ°èș«ä»œæäŸ›ć•†ć€±èŽ„",
"identityProviderRemovedMessage": "èș«ä»œæäŸ›ć•†æˆćŠŸćˆ é™€",
"identityProviderAlreadyLinkedMessage": "铟掄的èș«ä»œ {0} ć·Čç»èżžæŽ„ćˆ°ć·Čæœ‰ç”šæˆ·ă€‚",
"staleCodeAccountMessage": "éĄ”éąèż‡æœŸă€‚èŻ·ć†èŻ•äž€æŹĄă€‚",
"consentDenied": "äžćŒæ„",
"accountDisabledMessage": "莊户ć·Čç»ć…łé—­ïŒŒèŻ·è”çł»çźĄç†ć‘˜",
"accountTemporarilyDisabledMessage": "èŽŠæˆ·æš‚æ—¶ć…łé—­ïŒŒèŻ·è”çł»çźĄç†ć‘˜æˆ–çšćŽć†èŻ•ă€‚",
"invalidPasswordMinLengthMessage": "æ— æ•ˆçš„ćŻ†ç :æœ€çŸ­é•żćșŠ {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "æ— æ•ˆçš„ćŻ†ç : è‡łć°‘ćŒ…ć« {0} ć°ć†™ć­—æŻă€‚",
"invalidPasswordMinDigitsMessage": "æ— æ•ˆçš„ćŻ†ç : è‡łć°‘ćŒ…ć« {0} æ•°ć­—ă€‚",
"invalidPasswordMinUpperCaseCharsMessage": "æ— æ•ˆçš„ćŻ†ç : è‡łć°‘ćŒ…ć« {0} ć€§ć†™ć­—æŻ",
"invalidPasswordMinSpecialCharsMessage": "æ— æ•ˆçš„ćŻ†ç : è‡łć°‘ćŒ…ć« {0} äžȘç‰čæźŠć­—çŹŠ",
"invalidPasswordNotUsernameMessage": "æ— æ•ˆçš„ćŻ†ç : äžèƒœäžŽç”šæˆ·ćç›žćŒ",
"invalidPasswordRegexPatternMessage": "æ— æ•ˆçš„ćŻ†ç : æ— æł•äžŽæ­Łćˆ™èĄšèŸŸćŒćŒč配",
"invalidPasswordHistoryMessage": "æ— æ•ˆçš„ćŻ†ç : 䞍胜䞎äč‹ć‰çš„{0} äžȘæ—§ćŻ†ç ç›žćŒ",
"locale_ca": "CatalĂ ",
"locale_de": "Deutsch",
"locale_en": "English",
"locale_es": "Español",
"locale_fr": "Français",
"locale_it": "Italian",
"locale_ja": "æ—„æœŹèȘž",
"locale_nl": "Nederlands",
"locale_no": "Norsk",
"locale_lt": "LietuviĆł",
"locale_pt-BR": "PortuguĂȘs (Brasil)",
"locale_ru": "РуссĐșĐžĐč",
"locale_zh-CN": "äž­æ–‡çź€äœ“"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,17 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordHistoryMessage": "Contrasenya incorrecta: no pot ser igual a cap de les Ășltimes {0} contrasenyes.",
"invalidPasswordMinDigitsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.",
"invalidPasswordMinLengthMessage": "Contrasenya incorrecta: longitud mĂ­nima {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} lletres minĂșscules.",
"invalidPasswordMinSpecialCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} carĂ cters especials.",
"invalidPasswordMinUpperCaseCharsMessage": "Contrasenya incorrecta: ha de contenir almenys {0} lletres majĂșscules.",
"invalidPasswordNotUsernameMessage": "Contrasenya incorrecta: no pot ser igual al nom d'usuari.",
"invalidPasswordRegexPatternMessage": "Contrasenya incorrecta: no compleix l'expressiĂł regular."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,19 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "UngĂŒltiges Passwort: muss mindestens {0} Zeichen beinhalten.",
"invalidPasswordMinLowerCaseCharsMessage": "UngĂŒltiges Passwort: muss mindestens {0} Kleinbuchstaben beinhalten.",
"invalidPasswordMinDigitsMessage": "UngĂŒltiges Passwort: muss mindestens {0} Ziffern beinhalten.",
"invalidPasswordMinUpperCaseCharsMessage": "UngĂŒltiges Passwort: muss mindestens {0} Großbuchstaben beinhalten.",
"invalidPasswordMinSpecialCharsMessage": "UngĂŒltiges Passwort: muss mindestens {0} Sonderzeichen beinhalten.",
"invalidPasswordNotUsernameMessage": "UngĂŒltiges Passwort: darf nicht identisch mit dem Benutzernamen sein.",
"invalidPasswordRegexPatternMessage": "UngĂŒltiges Passwort: stimmt nicht mit Regex-Muster ĂŒberein.",
"invalidPasswordHistoryMessage": "UngĂŒltiges Passwort: darf nicht identisch mit einem der letzten {0} Passwörter sein.",
"invalidPasswordBlacklistedMessage": "UngĂŒltiges Passwort: Passwort ist zu bekannt und auf der schwarzen Liste.",
"invalidPasswordGenericMessage": "UngĂŒltiges Passwort: neues Passwort erfĂŒllt die Passwort-Anforderungen nicht."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,44 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "Invalid password: minimum length {0}.",
"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.",
"pairwiseMalformedSectorIdentifierURI": "Malformed Sector Identifier URI.",
"pairwiseFailedToGetRedirectURIs": "Failed to get redirect URIs from the Sector Identifier URI.",
"pairwiseRedirectURIsMismatch": "Client redirect URIs does not match redirect URIs fetched from the Sector Identifier URI."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,17 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "Contraseña incorrecta: longitud mínima {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Contraseña incorrecta: debe contener al menos {0} letras minĂșsculas.",
"invalidPasswordMinDigitsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres numéricos.",
"invalidPasswordMinUpperCaseCharsMessage": "Contraseña incorrecta: debe contener al menos {0} letras mayĂșsculas.",
"invalidPasswordMinSpecialCharsMessage": "Contraseña incorrecta: debe contener al menos {0} caracteres especiales.",
"invalidPasswordNotUsernameMessage": "Contraseña incorrecta: no puede ser igual al nombre de usuario.",
"invalidPasswordRegexPatternMessage": "Contraseña incorrecta: no cumple la expresión regular.",
"invalidPasswordHistoryMessage": "Contraseña incorrecta: no puede ser igual a ninguna de las Ășltimas {0} contraseñas."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,17 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "Mot de passe invalide : longueur minimale requise de {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Mot de passe invalide : doit contenir au moins {0} lettre(s) en minuscule.",
"invalidPasswordMinDigitsMessage": "Mot de passe invalide : doit contenir au moins {0} chiffre(s).",
"invalidPasswordMinUpperCaseCharsMessage": "Mot de passe invalide : doit contenir au moins {0} lettre(s) en majuscule.",
"invalidPasswordMinSpecialCharsMessage": "Mot de passe invalide : doit contenir au moins {0} caractÚre(s) spéciaux.",
"invalidPasswordNotUsernameMessage": "Mot de passe invalide : ne doit pas ĂȘtre identique au nom d'utilisateur.",
"invalidPasswordRegexPatternMessage": "Mot de passe invalide : ne valide pas l'expression rationnelle.",
"invalidPasswordHistoryMessage": "Mot de passe invalide : ne doit pas ĂȘtre Ă©gal aux {0} derniers mot de passe."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,8 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {};
export default messages;
/* spell-checker: enable */

View File

@ -1,37 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æœ€ć°{0}ăźé•·ă•ăŒćż…èŠă§ă™ă€‚",
"invalidPasswordMinLowerCaseCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźć°æ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinDigitsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźæ•°ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinUpperCaseCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźć€§æ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordMinSpecialCharsMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: 民ăȘくべも{0}æ–‡ć­—ăźç‰čæźŠæ–‡ć­—ă‚’ć«ă‚€ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"invalidPasswordNotUsernameMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: ăƒŠăƒŒă‚¶ăƒŒćăšćŒă˜ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻçŠæ­ąă•ă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordRegexPatternMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æ­ŁèŠèĄšçŸăƒ‘ă‚żăƒŒăƒłăšäž€è‡Žă—ăŸă›ă‚“ă€‚",
"invalidPasswordHistoryMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æœ€èż‘ăź{0}パă‚čăƒŻăƒŒăƒ‰ăźă„ăšă‚Œă‹ăšćŒă˜ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻçŠæ­ąă•ă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordBlacklistedMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: パă‚čăƒŻăƒŒăƒ‰ăŒăƒ–ăƒ©ăƒƒă‚ŻăƒȘă‚čăƒˆă«ć«ăŸă‚ŒăŠă„ăŸă™ă€‚",
"invalidPasswordGenericMessage": "無ćŠčăȘパă‚čăƒŻăƒŒăƒ‰: æ–°ă—ă„ăƒ‘ă‚čăƒŻăƒŒăƒ‰ăŻăƒ‘ă‚čăƒŻăƒŒăƒ‰ăƒ»ăƒăƒȘă‚·ăƒŒăšäž€è‡Žă—ăŸă›ă‚“ă€‚",
"ldapErrorInvalidCustomFilter": "LDAPăƒ•ă‚Łăƒ«ă‚żăƒŒăźă‚«ă‚čă‚żăƒ èš­ćźšăŒă€ă€Œ(ă€ă‹ă‚‰é–‹ć§‹ăŸăŸăŻă€Œ)ă€ă§ç”‚äș†ăšăȘăŁăŠă„ăŸă›ă‚“ă€‚",
"ldapErrorConnectionTimeoutNotNumber": "æŽ„ç¶šă‚żă‚€ăƒ ă‚ąă‚ŠăƒˆăŻæ•°ć­—ă§ăȘければăȘă‚ŠăŸă›ă‚“",
"ldapErrorReadTimeoutNotNumber": "èȘ­ăżć–ă‚Šă‚żă‚€ăƒ ă‚ąă‚ŠăƒˆăŻæ•°ć­—ă§ăȘければăȘă‚ŠăŸă›ă‚“",
"ldapErrorMissingClientId": "ăƒŹăƒ«ăƒ ăƒ­ăƒŒăƒ«ăƒ»ăƒžăƒƒăƒ”ăƒłă‚°ă‚’äœżç”šă—ăȘă„ć ŽćˆăŻă€ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆIDăŻèš­ćźšć†…ă§æäŸ›ă•ă‚Œă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType":
"ă‚°ăƒ«ăƒŒăƒ—ăźç¶™æ‰żă‚’ç¶­æŒă™ă‚‹ă“ăšăšă€UIDăƒĄăƒłăƒăƒŒă‚·ăƒƒăƒ—ăƒ»ă‚żă‚€ăƒ—ă‚’äœżç”šă™ă‚‹ă“ăšăŻćŒæ™‚ă«ă§ăăŸă›ă‚“ă€‚",
"ldapErrorCantWriteOnlyForReadOnlyLdap": "LDAPăƒ—ăƒ­ăƒă‚€ăƒ€ăƒŒăƒ»ăƒąăƒŒăƒ‰ăŒWRITABLEではăȘい栮搈は、write onlyă‚’èš­ćźšă™ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"ldapErrorCantWriteOnlyAndReadOnly": "write-onlyずread-onlyă‚’äž€ç·’ă«èš­ćźšă™ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"ldapErrorCantEnableStartTlsAndConnectionPooling": "StartTLSăšæŽ„ç¶šăƒ—ăƒŒăƒȘングぼ価æ–čă‚’æœ‰ćŠčă«ă§ăăŸă›ă‚“ă€‚",
"clientRedirectURIsFragmentError": "ăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIにURIăƒ•ăƒ©ă‚°ăƒĄăƒłăƒˆă‚’ć«ă‚ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"clientRootURLFragmentError": "ăƒ«ăƒŒăƒˆURLにURLăƒ•ăƒ©ă‚°ăƒĄăƒłăƒˆă‚’ć«ă‚ă‚‹ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"pairwiseMalformedClientRedirectURI": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆă«ç„ĄćŠčăȘăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIăŒć«ăŸă‚ŒăŠă„ăŸă—ăŸă€‚",
"pairwiseClientRedirectURIsMissingHost": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăźăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIă«ăŻæœ‰ćŠčăȘホă‚čăƒˆăƒ»ă‚łăƒłăƒăƒŒăƒăƒłăƒˆăŒć«ăŸă‚ŒăŠă„ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚",
"pairwiseClientRedirectURIsMultipleHosts":
"èš­ćźšă•ă‚ŒăŸă‚»ăƒŹă‚Żă‚żăƒŒè­˜ćˆ„ć­URIがăȘă„ć ŽćˆăŻă€ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăźăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIăŻè€‡æ•°ăźăƒ›ă‚čăƒˆăƒ»ă‚łăƒłăƒăƒŒăƒăƒłăƒˆă‚’ć«ă‚€ă“ăšăŻă§ăăŸă›ă‚“ă€‚",
"pairwiseMalformedSectorIdentifierURI": "äžæ­ŁăȘă‚»ăƒŹă‚Żă‚żăƒŒè­˜ćˆ„ć­URIです。",
"pairwiseFailedToGetRedirectURIs": "ă‚»ă‚Żă‚żăƒŒè­˜ćˆ„ć­URIからăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIă‚’ć–ćŸ—ă§ăăŸă›ă‚“ă§ă—ăŸă€‚",
"pairwiseRedirectURIsMismatch": "ă‚Żăƒ©ă‚€ă‚ąăƒłăƒˆăźăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIăŻă€ă‚»ă‚Żă‚żăƒŒè­˜ćˆ„ć­URIからフェッチされたăƒȘăƒ€ă‚€ăƒŹă‚ŻăƒˆURIăšäž€è‡Žă—ăŸă›ă‚“ă€‚"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,31 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "Per trumpas slaptaĆŸodis: maĆŸiausias ilgis {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} maĆŸÄ…ją raidę.",
"invalidPasswordMinDigitsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} skaitmenÄŻ.",
"invalidPasswordMinUpperCaseCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} didĆŸiąją raidę.",
"invalidPasswordMinSpecialCharsMessage": "Neteisingas slaptaĆŸodis: privaloma ÄŻvesti {0} specialĆł simbolÄŻ.",
"invalidPasswordNotUsernameMessage": "Neteisingas slaptaĆŸodis: slaptaĆŸodis negali sutapti su naudotojo vardu.",
"invalidPasswordRegexPatternMessage": "Neteisingas slaptaĆŸodis: slaptaĆŸodis netenkina regex taisyklės(iĆł).",
"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."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,34 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"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."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,22 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "Ugyldig passord: minimum lengde {0}.",
"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"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,8 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {};
export default messages;
/* spell-checker: enable */

View File

@ -1,25 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"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"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,32 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"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."
};
export default messages;
/* spell-checker: enable */

View File

@ -1,32 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"invalidPasswordMinLengthMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšæœ€çŸ­é•żćșŠ {0}.",
"invalidPasswordMinLowerCaseCharsMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšè‡łć°‘ćŒ…ć« {0} ć°ć†™ć­—æŻ",
"invalidPasswordMinDigitsMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšè‡łć°‘ćŒ…ć« {0} äžȘæ•°ć­—",
"invalidPasswordMinUpperCaseCharsMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšæœ€çŸ­é•żćșŠ {0} ć€§ć†™ć­—æŻ",
"invalidPasswordMinSpecialCharsMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšæœ€çŸ­é•żćșŠ {0} ç‰čæźŠć­—çŹŠ",
"invalidPasswordNotUsernameMessage": "æ— æ•ˆçš„ćŻ†ç ïŒš äžćŻä»„äžŽç”šæˆ·ćç›žćŒ",
"invalidPasswordRegexPatternMessage": "æ— æ•ˆçš„ćŻ†ç ïŒš æ— æł•äžŽæ­Łćˆ™èĄšèŸŸćŒćŒč配",
"invalidPasswordHistoryMessage": "æ— æ•ˆçš„ćŻ†ç ïŒšäžèƒœäžŽæœ€ćŽäœżç”šçš„ {0} äžȘ毆码盾搌",
"ldapErrorInvalidCustomFilter": 'ćźšćˆ¶çš„ LDAPèż‡æ»€ć™šäžæ˜Żä»„ "(" ćŒ€ć€Žæˆ–ä»„ ")"ç»“ć°Ÿ.',
"ldapErrorConnectionTimeoutNotNumber": "Connection Timeout ćż…éĄ»æ˜ŻäžȘæ•°ć­—",
"ldapErrorMissingClientId": "ćœ“ćŸŸè§’è‰Čæ˜ ć°„æœȘćŻç”šæ—¶ïŒŒćźąæˆ·ç«Ż ID éœ€èŠæŒ‡ćźšă€‚",
"ldapErrorCantPreserveGroupInheritanceWithUIDMembershipType": "æ— æł•ćœšäœżç”šUIDæˆć‘˜ç±»ćž‹çš„ćŒæ—¶ç»ŽæŠ€ç»„ç»§æ‰żć±žæ€§ă€‚",
"ldapErrorCantWriteOnlyForReadOnlyLdap": "ćœ“LDAP提䟛æ–čäžæ˜ŻćŻć†™æšĄćŒæ—¶ïŒŒæ— æł•èźŸçœźćȘ憙",
"ldapErrorCantWriteOnlyAndReadOnly": "æ— æł•ćŒæ—¶èźŸçœźćȘèŻ»ć’ŒćȘ憙",
"clientRedirectURIsFragmentError": "重漚搑URL䞍ćș”ćŒ…ć«URIç‰‡æź”",
"clientRootURLFragmentError": "æ čURL 䞍ćș”ćŒ…ć« URL ç‰‡æź”",
"pairwiseMalformedClientRedirectURI": "ćźąæˆ·ç«ŻćŒ…ć«äž€äžȘæ— æ•ˆçš„é‡ćźšć‘URL",
"pairwiseClientRedirectURIsMissingHost": "ćźąæˆ·ç«Żé‡ćźšć‘URL需芁有䞀äžȘ有效的䞻æœș",
"pairwiseClientRedirectURIsMultipleHosts":
"Without a configured Sector Identifier URI, client redirect URIs must not contain multiple host components.",
"pairwiseMalformedSectorIdentifierURI": "Malformed Sector Identifier URI.",
"pairwiseFailedToGetRedirectURIs": "æ— æł•ä»ŽæœćŠĄć™šèŽ·ćŸ—é‡ćźšć‘URL",
"pairwiseRedirectURIsMismatch": "ćźąæˆ·ç«Żçš„é‡ćźšć‘URIäžŽæœćŠĄć™šç«ŻèŽ·ć–çš„URIé…çœźäžćŒč配。"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,41 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "VerificaciĂł d'email",
"emailVerificationBody":
"AlgĂș ha creat un compte de {2} amb aquesta adreça de correu electrĂČnic. Si has estat tu, fes clic a l'enllaç segĂŒent per verificar la teva adreça de correu electrĂČnic.\n\n{0}\n\nAquest enllaç expirarĂ  en {1} minuts.\n\nSi tu no has creat aquest compte, simplement ignora aquest missatge.",
"emailVerificationBodyHtml":
'<p>AlgĂș ha creat un compte de {2} amb aquesta adreça de correu electrĂČnic. Si has estat tu, fes clic a l\'enllaç segĂŒent per verificar la teva adreça de correu electrĂČnic.</p><p><a href="{0}">{0}</a></p><p> Aquest enllaç expirarĂ  en {1} minuts.</p><p> Si tu no has creat aquest compte, simplement ignora aquest missatge.</p>',
"passwordResetSubject": "Reinicia contrasenya",
"passwordResetBody":
"AlgĂș ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l'enllaç segĂŒent per a reiniciar-les.\n\n{0}\n\nAquest enllaç expirarĂ  en {1} minuts.\n\nSi no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzarĂ  cap canvi.",
"passwordResetBodyHtml":
'<p>AlgĂș ha demanat de canviar les credencials del teu compte de {2}. Si has estat tu, fes clic a l\'enllaç segĂŒent per a reiniciar-les.</p><p><a href="{0}">{0}</a></p><p>Aquest enllaç expirarĂ  en {1} minuts.</p><p>Si no vols reiniciar les teves credencials, simplement ignora aquest missatge i no es realitzarĂ  cap canvi.</p>',
"executeActionsSubject": "Actualitza el teu compte",
"executeActionsBody":
"L'administrador ha sol·licitat que actualitzis el teu compte de {2}. Fes clic a l'enllaç inferior per iniciar aquest procĂ©s.\n\n{0}\n\nAquest enllaç expirarĂ  en {1} minutes.\n\nSi no estĂ s al tant que l'administrador hagi sol·licitat aixĂČ, simplement ignora aquest missatge i no es realitzarĂ  cap canvi.",
"executeActionsBodyHtml":
"<p>L'administrador ha sol·licitat que actualitzis el teu compte de {2}. Fes clic a l'enllaç inferior per iniciar aquest procĂ©s.</p><p><a href=\"{0}\">{0}</a></p><p>Aquest enllaç expirarĂ  en {1} minutes.</p><p>Si no estĂ s al tant que l'administrador hagi sol·licitat aixĂČ, simplement ignora aquest missatge i no es realitzarĂ  cap canvi.</p>",
"eventLoginErrorSubject": "Fallada en l'inici de sessiĂł",
"eventLoginErrorBody":
"S'ha detectat un intent d'accés fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.",
"eventLoginErrorBodyHtml":
"<p>S'ha detectat un intent d'accés fallit al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.</p>",
"eventRemoveTotpSubject": "Esborrat OTP",
"eventRemoveTotpBody": "OTP s'ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, per favor contacta amb l'administrador.",
"eventRemoveTotpBodyHtml":
"<p>OTP s'ha eliminat del teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador. </ P>",
"eventUpdatePasswordSubject": "ActualitzaciĂł de contrasenya",
"eventUpdatePasswordBody": "La teva contrasenya s'ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.",
"eventUpdatePasswordBodyHtml":
"<p>La teva contrasenya s'ha actualitzat el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.</p>",
"eventUpdateTotpSubject": "ActualitzaciĂł de OTP",
"eventUpdateTotpBody": "OTP s'ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.",
"eventUpdateTotpBodyHtml":
"<p>OTP s'ha actualitzat al teu compte el {0} des de {1}. Si no has estat tu, si us plau contacta amb l'administrador.</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,69 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Ověƙení e-mailu",
"emailVerificationBody":
"Někdo vytvoƙil Ășčet {2} s touto e-mailovou adresou. Pokud jste to vy, klikněte na nĂ­ĆŸe uvedenĂœ odkaz a ověƙte svou e-mailovou adresu \n\n{0}\n\nTento odkaz vyprĆĄĂ­ za {1} minuty.\n\nPokud jste tento Ășčet nevytvoƙili, tuto zprĂĄvu ignorujte.",
"emailVerificationBodyHtml":
'<p>Někdo vytvoƙil Ășčet {2} s touto e-mailovou adresou. Pokud jste to vy, klikněte na nĂ­ĆŸe uvedenĂœ odkaz a ověƙte svou e-mailovou adresu. </p><p><a href="{0}">Odkaz na ověƙenĂ­ e-mailovĂ© adresy</a></p><p>Platnost odkazu vyprĆĄĂ­ za {1} minut.</p><p>Pokud jste tento Ășčet nevytvoƙili, tuto zprĂĄvu ignorujte.</p>',
"emailTestSubject": "[KEYCLOAK] - testovacĂ­ zprĂĄva",
"emailTestBody": "Toto je testovacĂ­ zprĂĄva",
"emailTestBodyHtml": "<p>Toto je testovacĂ­ zprĂĄva </p>",
"identityProviderLinkSubject": "Odkaz {0}",
"identityProviderLinkBody":
'Někdo chce propojit vĂĄĆĄ Ășčet "{1}" s Ășčtem "{0}" uĆŸivatele {2}. Pokud jste to vy, klikněte na nĂ­ĆŸe uvedenĂœ odkaz a propojte Ășčty. \n\n{3}\n\nPlatnost tohoto odkazu je {5}.\n\nPokud nechcete propojit Ășčet, tuto zprĂĄvu ignorujte. Pokud propojĂ­te Ășčty, budete se moci pƙihlĂĄsit jako {1} pomocĂ­ {0}.',
"identityProviderLinkBodyHtml":
'<p>Někdo prĂĄvě poĆŸĂĄdal o změnu hesla u vaĆĄeho Ășčtu {2}. Pokud jste to vy, pro jeho změnu klikněte na odkaz nĂ­ĆŸe.</p><p><a href="{0}">Odkaz na změnu hesla.</a></p><p>Platnost tohoto odkazu je {3}.</p><p>Pokud heslo změnit nechcete, tuto zprĂĄvu ignorujte a nic se nezměnĂ­.</p>',
"passwordResetSubject": "Zapomenuté heslo",
"passwordResetBody":
"Někdo prĂĄvě poĆŸĂĄdal o změnu hesla u vaĆĄeho Ășčtu {2}. Pokud jste to vy, pro jeho změnu klikněte na odkaz nĂ­ĆŸe.\n\n{0}\n\nPlatnost tohoto odkazu je {3}.\n\nPokud heslo změnit nechcete, tuto zprĂĄvu ignorujte a nic se nezměnĂ­.",
"passwordResetBodyHtml":
'<p> Někdo prĂĄvě poĆŸĂĄdal o změnu pověƙenĂ­ vaĆĄeho Ășčtu {2}. Pokud jste to vy, klikněte na odkaz nĂ­ĆŸe, abyste je resetovali.</p><p><a href="{0}">Odkaz na obnovenĂ­ pověƙenĂ­ </a></p><p> Platnost tohoto odkazu vyprĆĄĂ­ během {1} minut.</p><p> Pokud nechcete obnovit vaĆĄe pověƙenĂ­, ignorujte tuto zprĂĄvu a nic se nezměnĂ­.</p>',
"executeActionsSubject": "Aktualizujte svĆŻj Ășčet",
"executeActionsBody":
"VĂĄĆĄ administrĂĄtor vĂĄs poĆŸĂĄdal o provedenĂ­ nĂĄsledujĂ­cĂ­ch akcĂ­ u Ășčtu {2}: {3}. Začněte kliknutĂ­m na nĂ­ĆŸe uvedenĂœ odkaz.\n\n{0}\n\nPlatnost tohoto odkazu je {4}.\n\nPokud si nejste jisti, zda je tento poĆŸadavek v poƙádku, ignorujte tuto zprĂĄvu.",
"executeActionsBodyHtml":
'<p>VĂĄĆĄ administrĂĄtor vĂĄs poĆŸĂĄdal o provedenĂ­ nĂĄsledujĂ­cĂ­ch akcĂ­ u Ășčtu {2}: {3}. Začněte kliknutĂ­m na nĂ­ĆŸe uvedenĂœ odkaz.</p><p><a href="{0}">Odkaz na aktualizaci Ășčtu.</a></p><p>Platnost tohoto odkazu je {4}.</p><p>Pokud si nejste jisti, zda je tento poĆŸadavek v poƙádku, ignorujte tuto zprĂĄvu.</p>',
"eventLoginErrorSubject": "Chyba pƙihláơení",
"eventLoginErrorBody": "Někdo se neĂșspěơně pokusil pƙihlĂĄsit k Ășčtu {0} z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.",
"eventLoginErrorBodyHtml": "<p>Někdo se neĂșspěơně pokusil pƙihlĂĄsit k Ășčtu {0} z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.</p>",
"eventRemoveTotpSubject": "Odebrat TOTP",
"eventRemoveTotpBody": "V Ășčtu {0} bylo odebrĂĄno nastavenĂ­ OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.",
"eventRemoveTotpBodyHtml": "<p>V Ășčtu {0} bylo odebrĂĄno nastavenĂ­ OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.</p>",
"eventUpdatePasswordSubject": "Aktualizace hesla",
"eventUpdatePasswordBody": "V Ășčtu {0} bylo změněno heslo z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.",
"eventUpdatePasswordBodyHtml": "<p>V Ășčtu {0} bylo změněno heslo z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.</p>",
"eventUpdateTotpSubject": "Aktualizace OTP",
"eventUpdateTotpBody": "V Ășčtu {0} bylo změněno nastavenĂ­ OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.",
"eventUpdateTotpBodyHtml": "<p>V Ășčtu {0} bylo změněno nastavenĂ­ OTP z {1}. Pokud jste to nebyli vy, kontaktujte administrĂĄtora.</p>",
"requiredAction.CONFIGURE_TOTP": "Konfigurace OTP",
"requiredAction.terms_and_conditions": "SmluvnĂ­ podmĂ­nky",
"requiredAction.UPDATE_PASSWORD": "Aktualizace hesla",
"requiredAction.UPDATE_PROFILE": "Aktualizace profilu",
"requiredAction.VERIFY_EMAIL": "Ověƙení e-mailu",
"linkExpirationFormatter.timePeriodUnit.seconds": "sekund",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "sekunda",
"linkExpirationFormatter.timePeriodUnit.seconds.2": "sekundy",
"linkExpirationFormatter.timePeriodUnit.seconds.3": "sekundy",
"linkExpirationFormatter.timePeriodUnit.seconds.4": "sekundy",
"linkExpirationFormatter.timePeriodUnit.minutes": "minut",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minuta",
"linkExpirationFormatter.timePeriodUnit.minutes.2": "minuty",
"linkExpirationFormatter.timePeriodUnit.minutes.3": "minuty",
"linkExpirationFormatter.timePeriodUnit.minutes.4": "minuty",
"linkExpirationFormatter.timePeriodUnit.hours": "hodin",
"linkExpirationFormatter.timePeriodUnit.hours.1": "hodina",
"linkExpirationFormatter.timePeriodUnit.hours.2": "hodiny",
"linkExpirationFormatter.timePeriodUnit.hours.3": "hodiny",
"linkExpirationFormatter.timePeriodUnit.hours.4": "hodiny",
"linkExpirationFormatter.timePeriodUnit.days": "dnĂ­",
"linkExpirationFormatter.timePeriodUnit.days.1": "den",
"linkExpirationFormatter.timePeriodUnit.days.2": "dny",
"linkExpirationFormatter.timePeriodUnit.days.3": "dny",
"linkExpirationFormatter.timePeriodUnit.days.4": "dny"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,45 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "E-Mail verifizieren",
"emailVerificationBody":
"Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls Sie das waren, dann klicken Sie auf den Link, um die E-Mail-Adresse zu verifizieren.\n\n{0}\n\nDieser Link wird in {1} Minuten ablaufen.\n\nFalls Sie dieses Konto nicht erstellt haben, dann können sie diese Nachricht ignorieren.",
"emailVerificationBodyHtml":
'<p>Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls das Sie waren, klicken Sie auf den Link, um die E-Mail-Adresse zu verifizieren.</p><p><a href="{0}">Link zur BestÀtigung der E-Mail-Adresse</a></p><p>Dieser Link wird in {1} Minuten ablaufen.</p><p>Falls Sie dieses Konto nicht erstellt haben, dann können sie diese Nachricht ignorieren.</p>',
"identityProviderLinkSubject": "Link {0}",
"identityProviderLinkBody":
"Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{3}\n\n Die GĂŒltigkeit des Links wird in {4} Minuten verfallen.\n\nSollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} ĂŒber {0} ermöglicht.",
"identityProviderLinkBodyHtml":
'<p>Es wurde beantragt Ihren Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Sollten Sie dies beantragt haben, klicken Sie auf den unten stehenden Link.</p><p><a href="{3}">Link zur BestĂ€tigung der KontoverknĂŒpfung</a></p><p>Die GĂŒltigkeit des Links wird in {4} Minuten verfallen.</p><p>Sollten Sie Ihren Account nicht verlinken wollen, ignorieren Sie diese Nachricht. Wenn Sie die Accounts verlinken wird ein Login auf {1} ĂŒber {0} ermöglicht.</p>',
"passwordResetSubject": "Passwort zurĂŒcksetzen",
"passwordResetBody":
"Es wurde eine Änderung der Anmeldeinformationen fĂŒr Ihren Account {2} angefordert. Wenn Sie diese Änderung beantragt haben, klicken Sie auf den unten stehenden Link.\n\n{0}\n\nDie GĂŒltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie keine Änderung vollziehen wollen können Sie diese Nachricht ignorieren und an Ihrem Account wird nichts geĂ€ndert.",
"passwordResetBodyHtml":
'<p>Es wurde eine Änderung der Anmeldeinformationen fĂŒr Ihren Account {2} angefordert. Wenn Sie diese Änderung beantragt haben, klicken Sie auf den unten stehenden Link.</p><p><a href="{0}">Link zum ZurĂŒcksetzen von Anmeldeinformationen</a></p><p>Die GĂŒltigkeit des Links wird in {1} Minuten verfallen.</p><p>Sollten Sie keine Änderung vollziehen wollen können Sie diese Nachricht ignorieren und an Ihrem Account wird nichts geĂ€ndert.</p>',
"executeActionsSubject": "Aktualisieren Sie Ihr Konto",
"executeActionsBody":
"Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.\n\n{0}\n\nDie GĂŒltigkeit des Links wird in {1} Minuten verfallen.\n\nSollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unverĂ€ndert.",
"executeActionsBodyHtml":
'<p>Ihr Administrator hat Sie aufgefordert Ihren Account {2} zu aktualisieren. Klicken Sie auf den unten stehenden Link um den Prozess zu starten.</p><p><a href="{0}">Link zum Account-Update</a></p><p>Die GĂŒltigkeit des Links wird in {1} Minuten verfallen.</p><p>Sollten Sie sich dieser Aufforderung nicht bewusst sein, ignorieren Sie diese Nachricht und Ihr Account bleibt unverĂ€ndert.</p>',
"eventLoginErrorSubject": "Fehlgeschlagene Anmeldung",
"eventLoginErrorBody":
"Jemand hat um {0} von {1} versucht, sich mit Ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.",
"eventLoginErrorBodyHtml":
"<p>Jemand hat um {0} von {1} versucht, sich mit Ihrem Konto anzumelden. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>",
"eventRemoveTotpSubject": "OTP Entfernt",
"eventRemoveTotpBody": "OTP wurde von Ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.",
"eventRemoveTotpBodyHtml":
"<p>OTP wurde von Ihrem Konto am {0} von {1} entfernt. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>",
"eventUpdatePasswordSubject": "Passwort Aktualisiert",
"eventUpdatePasswordBody": "Ihr Passwort wurde am {0} von {1} geÀndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.",
"eventUpdatePasswordBodyHtml":
"<p>Ihr Passwort wurde am {0} von {1} geÀndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>",
"eventUpdateTotpSubject": "OTP Aktualisiert",
"eventUpdateTotpBody": "OTP wurde am {0} von {1} geÀndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.",
"eventUpdateTotpBodyHtml": "<p>OTP wurde am {0} von {1} geÀndert. Falls das nicht Sie waren, dann kontaktieren Sie bitte Ihren Admin.</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,61 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Verify email",
"emailVerificationBody":
"Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn't create this account, just ignore this message.",
"emailVerificationBodyHtml":
'<p>Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address</p><p><a href="{0}">Link to e-mail address verification</a></p><p>This link will expire within {3}.</p><p>If you didn\'t create this account, just ignore this message.</p>',
"emailTestSubject": "[KEYCLOAK] - SMTP test message",
"emailTestBody": "This is a test message",
"emailTestBodyHtml": "<p>This is a test message</p>",
"identityProviderLinkSubject": "Link {0}",
"identityProviderLinkBody":
'Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {5}.\n\nIf you don\'t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.',
"identityProviderLinkBodyHtml":
'<p>Someone wants to link your <b>{1}</b> account with <b>{0}</b> account of user {2} . If this was you, click the link below to link accounts</p><p><a href="{3}">Link to confirm account linking</a></p><p>This link will expire within {5}.</p><p>If you don\'t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.</p>',
"passwordResetSubject": "Reset password",
"passwordResetBody":
"Someone just requested to change your {2} account's credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don't want to reset your credentials, just ignore this message and nothing will be changed.",
"passwordResetBodyHtml":
"<p>Someone just requested to change your {2} account's credentials. If this was you, click on the link below to reset them.</p><p><a href=\"{0}\">Link to reset credentials</a></p><p>This link will expire within {3}.</p><p>If you don't want to reset your credentials, just ignore this message and nothing will be changed.</p>",
"executeActionsSubject": "Update Your Account",
"executeActionsBody":
"Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.",
"executeActionsBodyHtml":
'<p>Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.</p><p><a href="{0}">Link to account update</a></p><p>This link will expire within {4}.</p><p>If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.</p>',
"eventLoginErrorSubject": "Login error",
"eventLoginErrorBody":
"A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.",
"eventLoginErrorBodyHtml":
"<p>A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.</p>",
"eventRemoveTotpSubject": "Remove OTP",
"eventRemoveTotpBody": "OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.",
"eventRemoveTotpBodyHtml": "<p>OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.</p>",
"eventUpdatePasswordSubject": "Update password",
"eventUpdatePasswordBody": "Your password was changed on {0} from {1}. If this was not you, please contact an administrator.",
"eventUpdatePasswordBodyHtml": "<p>Your password was changed on {0} from {1}. If this was not you, please contact an administrator.</p>",
"eventUpdateTotpSubject": "Update OTP",
"eventUpdateTotpBody": "OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.",
"eventUpdateTotpBodyHtml": "<p>OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.</p>",
"requiredAction.CONFIGURE_TOTP": "Configure OTP",
"requiredAction.terms_and_conditions": "Terms and Conditions",
"requiredAction.UPDATE_PASSWORD": "Update Password",
"requiredAction.UPDATE_PROFILE": "Update Profile",
"requiredAction.VERIFY_EMAIL": "Verify Email",
"linkExpirationFormatter.timePeriodUnit.seconds": "seconds",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "second",
"linkExpirationFormatter.timePeriodUnit.minutes": "minutes",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minute",
"linkExpirationFormatter.timePeriodUnit.hours": "hours",
"linkExpirationFormatter.timePeriodUnit.hours.1": "hour",
"linkExpirationFormatter.timePeriodUnit.days": "days",
"linkExpirationFormatter.timePeriodUnit.days.1": "day",
"emailVerificationBodyCode": "Please verify your email address by entering in the following code.\n\n{0}\n\n.",
"emailVerificationBodyCodeHtml": "<p>Please verify your email address by entering in the following code.</p><p><b>{0}</b></p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,40 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "VerificaciĂłn de email",
"emailVerificationBody":
"Alguien ha creado una cuenta de {2} con esta direcciĂłn de email. Si has sido tĂș, haz click en el enlace siguiente para verificar tu direcciĂłn de email.\n\n{0}\n\nEste enlace expirarĂĄ en {1} minutos.\n\nSi tĂș no has creado esta cuenta, simplemente ignora este mensaje.",
"emailVerificationBodyHtml":
'<p>Alguien ha creado una cuenta de {2} con esta direcciĂłn de email. Si has sido tĂș, haz click en el enlace siguiente para verificar tu direcciĂłn de email.</p><p><a href="{0}">{0}</a></p><p>Este enlace expirarĂĄ en {1} minutos.</p><p>Si tĂș no has creado esta cuenta, simplemente ignora este mensaje.</p>',
"passwordResetSubject": "Reiniciar contraseña",
"passwordResetBody":
"Alguien ha solicitado cambiar las credenciales de tu cuenta de {2}. Si has sido tĂș, haz clic en el enlace siguiente para reiniciarlas.\n\n{0}\n\nEste enlace expirarĂĄ en {1} minutos.\n\nSi no quieres reiniciar tus credenciales, simplemente ignora este mensaje y no se realizarĂĄ ningĂșn cambio.",
"passwordResetBodyHtml":
'<p>Alguien ha solicitado cambiar las credenciales de tu cuenta de {2}. Si has sido tĂș, haz clic en el enlace siguiente para reiniciarlas.</p><p><a href="{0}">{0}</a></p><p>Este enlace expirarĂĄ en {1} minutos.</p><p>Si no quieres reiniciar tus credenciales, simplemente ignora este mensaje y no se realizarĂĄ ningĂșn cambio.</p>',
"executeActionsSubject": "Actualiza tu cuenta",
"executeActionsBody":
"El administrador ha solicitado que actualices tu cuenta de {2}. Haz clic en el enlace inferior para iniciar este proceso.\n\n{0}\n\nEste enlace expirarĂĄ en {1} minutos.\n\nSi no estĂĄs al tanto de que el administrador haya solicitado esto, simplemente ignora este mensaje y no se realizarĂĄ ningĂșn cambio.",
"executeActionsBodyHtml":
'<p>El administrador ha solicitado que actualices tu cuenta de {2}. Haz clic en el enlace inferior para iniciar este proceso.</p><p><a href="{0}">{0}</a></p><p>Este enlace expirarĂĄ en {1} minutos.</p><p>Si no estĂĄs al tanto de que el administrador haya solicitado esto, simplemente ignora este mensaje y no se realizarĂĄ ningĂșn cambio.</p>',
"eventLoginErrorSubject": "Fallo en el inicio de sesiĂłn",
"eventLoginErrorBody":
"Se ha detectado un intento de acceso fallido a tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.",
"eventLoginErrorBodyHtml":
"<p>Se ha detectado un intento de acceso fallido a tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.</p>",
"eventRemoveTotpSubject": "Borrado OTP",
"eventRemoveTotpBody": "OTP fue eliminado de tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.",
"eventRemoveTotpBodyHtml": "<p>OTP fue eliminado de tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.</p>",
"eventUpdatePasswordSubject": "Actualización de contraseña",
"eventUpdatePasswordBody": "Tu contraseña se ha actualizado el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.",
"eventUpdatePasswordBodyHtml":
"<p>Tu contraseña se ha actualizado el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.</p>",
"eventUpdateTotpSubject": "ActualizaciĂłn de OTP",
"eventUpdateTotpBody": "OTP se ha actualizado en tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.",
"eventUpdateTotpBodyHtml":
"<p>OTP se ha actualizado en tu cuenta el {0} desde {1}. Si no has sido tĂș, por favor contacta con el administrador.</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,44 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Vérification du courriel",
"emailVerificationBody":
"Quelqu'un vient de crĂ©er un compte \"{2}\" avec votre courriel. Si vous ĂȘtes Ă  l'origine de cette requĂȘte, veuillez cliquer sur le lien ci-dessous afin de vĂ©rifier votre adresse de courriel\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon, veuillez ignorer ce message.",
"emailVerificationBodyHtml":
'<p>Quelqu\'un vient de crĂ©er un compte "{2}" avec votre courriel. Si vous ĂȘtes Ă  l\'origine de cette requĂȘte, veuillez cliquer sur le lien ci-dessous afin de vĂ©rifier votre adresse de courriel</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon, veuillez ignorer ce message.</p>',
"passwordResetSubject": "Réinitialiser le mot de passe",
"passwordResetBody":
"Quelqu'un vient de demander une rĂ©initialisation de mot de passe pour votre compte {2}. Si vous ĂȘtes Ă  l'origine de cette requĂȘte, veuillez cliquer sur le lien ci-dessous pour le mettre Ă  jour.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon, veuillez ignorer ce message ; aucun changement ne sera effectuĂ© sur votre compte.",
"passwordResetBodyHtml":
"<p>Quelqu'un vient de demander une rĂ©initialisation de mot de passe pour votre compte {2}. Si vous ĂȘtes Ă  l'origine de cette requĂȘte, veuillez cliquer sur le lien ci-dessous pour le mettre Ă  jour.</p><p><a href=\"{0}\">Lien pour rĂ©initialiser votre mot de passe</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon, veuillez ignorer ce message ; aucun changement ne sera effectuĂ© sur votre compte.</p>",
"executeActionsSubject": "Mettre Ă  jour votre compte",
"executeActionsBody":
"Votre administrateur vient de demander une mise Ă  jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSi vous n'ĂȘtes pas Ă  l'origine de cette requĂȘte, veuillez ignorer ce message ; aucun changement ne sera effectuĂ© sur votre compte.",
"executeActionsBodyHtml":
"<p>Votre administrateur vient de demander une mise Ă  jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.</p><p><a href=\"{0}\">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Si vous n'ĂȘtes pas Ă  l'origine de cette requĂȘte, veuillez ignorer ce message ; aucun changement ne sera effectuĂ© sur votre compte.</p>",
"eventLoginErrorSubject": "Erreur de connexion",
"eventLoginErrorBody":
"Une tentative de connexion a Ă©tĂ© dĂ©tectĂ©e sur votre compte {0} depuis {1}. Si vous n'ĂȘtes pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.",
"eventLoginErrorBodyHtml":
"<p>Une tentative de connexion a Ă©tĂ© dĂ©tectĂ©e sur votre compte {0} depuis {1}. Si vous n'ĂȘtes pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.</p>",
"eventRemoveTotpSubject": "Suppression du OTP",
"eventRemoveTotpBody":
"Le OTP a Ă©tĂ© supprimĂ© de votre compte {0} depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.",
"eventRemoveTotpBodyHtml":
"<p>Le OTP a Ă©tĂ© supprimĂ© de votre compte {0} depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.</p>",
"eventUpdatePasswordSubject": "Mise Ă  jour du mot de passe",
"eventUpdatePasswordBody":
"Votre mot de passe pour votre compte {0} a Ă©tĂ© modifiĂ© depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.",
"eventUpdatePasswordBodyHtml":
"<p>Votre mot de passe pour votre compte {0} a Ă©tĂ© modifiĂ© depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.</p>",
"eventUpdateTotpSubject": "Mise Ă  jour du OTP",
"eventUpdateTotpBody":
"Le OTP a Ă©tĂ© mis Ă  jour pour votre compte {0} depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.",
"eventUpdateTotpBodyHtml":
"<p>Le OTP a Ă©tĂ© mis Ă  jour pour votre compte {0} depuis {1}. Si vous n'Ă©tiez pas Ă  l'origine de cette requĂȘte, veuillez contacter votre administrateur.</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,66 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Verifica l'email",
"emailVerificationBody":
"Qualcuno ha creato un account {2} con questo indirizzo email. Se sei stato tu, fai clic sul link seguente per verificare il tuo indirizzo email\n\n{0}\n\nQuesto link scadrĂ  in {3}.\n\nSe non sei stato tu a creare questo account, ignora questo messaggio.",
"emailVerificationBodyHtml":
'<p>Qualcuno ha creato un account {2} con questo indirizzo email. Se sei stato tu, fai clic sul link seguente per verificare il tuo indirizzo email</p><p><a href="{0}">{0}</a></p><p>Questo link scadrĂ  in {3}.</p><p>Se non sei stato tu a creare questo account, ignora questo messaggio.</p>',
"emailTestSubject": "[KEYCLOAK] - messaggio di test SMTP",
"emailTestBody": "Questo Ăš un messaggio di test",
"emailTestBodyHtml": "<p>Questo Ăš un messaggio di test</p>",
"identityProviderLinkSubject": "Link {0}",
"identityProviderLinkBody":
'Qualcuno vuole associare il tuo account "{1}" con l\'account "{0}" dell\'utente {2}. Se sei stato tu, fai clic sul link seguente per associare gli account\n\n{3}\n\nQuesto link scadrĂ  in {5}.\n\nSe non vuoi associare l\'account, ignora questo messaggio. Se associ gli account, potrai accedere a {1} attraverso {0}.',
"identityProviderLinkBodyHtml":
"<p>Qualcuno vuole associare il tuo account <b>{1}</b> con l'account <b>{0}</b> dell'utente {2}. Se sei stato tu, fai clic sul link seguente per associare gli account</p><p><a href=\"{3}\">{3}</a></p><p>Questo link scadrĂ  in {5}.</p><p>Se non vuoi associare l'account, ignora questo messaggio. Se associ gli account, potrai accedere a {1} attraverso {0}.</p>",
"passwordResetSubject": "Reimposta la password",
"passwordResetBody":
"Qualcuno ha appena richiesto di cambiare le credenziali di accesso al tuo account {2}. Se sei stato tu, fai clic sul link seguente per reimpostarle.\n\n{0}\n\nQuesto link e codice scadranno in {3}.\n\nSe non vuoi reimpostare le tue credenziali di accesso, ignora questo messaggio e non verrĂ  effettuato nessun cambio.",
"passwordResetBodyHtml":
'<p>Qualcuno ha appena richiesto di cambiare le credenziali di accesso al tuo account {2}. Se sei stato tu, fai clic sul link seguente per reimpostarle.</p><p><a href="{0}">{0}</a></p><p>Questo link scadrĂ  in {3}.</p><p>Se non vuoi reimpostare le tue credenziali di accesso, ignora questo messaggio e non verrĂ  effettuato nessun cambio.</p>',
"executeActionsSubject": "Aggiorna il tuo account",
"executeActionsBody":
"Il tuo amministratore ha appena richiesto un aggiornamento del tuo account {2} ed Ăš necessario che tu esegua la/le seguente/i azione/i: {3}. Fai clic sul link seguente per iniziare questo processo.\n\n{0}\n\nQuesto link scadrĂ  in {4}.\n\nSe non sei a conoscenza della richiesta del tuo amministratore, ignora questo messaggio e non verrĂ  effettuato nessun cambio.",
"executeActionsBodyHtml":
'<p>Il tuo amministratore ha appena richiesto un aggiornamento del tuo account {2} ed Ăš necessario che tu esegua la/le seguente/i azione/i: {3}. Fai clic sul link seguente per iniziare questo processo.</p><p><a href="{0}">Link to account update</a></p><p>Questo link scadrĂ  in {4}.</p><p>Se non sei a conoscenza della richiesta del tuo amministratore, ignora questo messaggio e non verrĂ  effettuato nessun cambio.</p>',
"eventLoginErrorSubject": "Errore di accesso",
"eventLoginErrorBody":
"È stato rilevato un tentativo fallito di accesso al tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.",
"eventLoginErrorBodyHtml":
"<p>È stato rilevato un tentativo fallito di accesso al tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.</p>",
"eventRemoveTotpSubject": "Rimozione OTP (password temporanea valida una volta sola)",
"eventRemoveTotpBody":
"La OTP (password temporanea valida una volta sola) Ăš stata rimossa dal tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.",
"eventRemoveTotpBodyHtml":
"<p>La OTP (password temporanea valida una volta sola) Ăš stata rimossa dal tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.</p>",
"eventUpdatePasswordSubject": "Aggiornamento password",
"eventUpdatePasswordBody": "La tua password Ăš stata cambiata il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.",
"eventUpdatePasswordBodyHtml":
"<p>La tua password Ăš stata cambiata il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.</p>",
"eventUpdateTotpSubject": "Aggiornamento OTP (password temporanea valida una volta sola)",
"eventUpdateTotpBody":
"La OTP (password temporanea valida una volta sola) Ăš stata aggiornata per il tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.",
"eventUpdateTotpBodyHtml":
"<p>La OTP (password temporanea valida una volta sola) Ăš stata aggiornata per il tuo account il {0} da {1}. Se non sei stato tu, per favore contatta l'amministratore.</p>",
"requiredAction.CONFIGURE_TOTP": "Configurazione OTP",
"requiredAction.terms_and_conditions": "Termini e condizioni",
"requiredAction.UPDATE_PASSWORD": "Aggiornamento password",
"requiredAction.UPDATE_PROFILE": "Aggiornamento profilo",
"requiredAction.VERIFY_EMAIL": "Verifica dell'indirizzo email",
"linkExpirationFormatter.timePeriodUnit.seconds": "secondi",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "secondo",
"linkExpirationFormatter.timePeriodUnit.minutes": "minuti",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minuto",
"linkExpirationFormatter.timePeriodUnit.hours": "ore",
"linkExpirationFormatter.timePeriodUnit.hours.1": "ora",
"linkExpirationFormatter.timePeriodUnit.days": "giorni",
"linkExpirationFormatter.timePeriodUnit.days.1": "giorno",
"emailVerificationBodyCode": "Per favore verifica il tuo indirizzo email inserendo il codice seguente.\n\n{0}\n\n.",
"emailVerificationBodyCodeHtml": "<p>Per favore verifica il tuo indirizzo email inserendo il codice seguente.</p><p><b>{0}</b></p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,60 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "EăƒĄăƒŒăƒ«ăźçąșèȘ",
"emailVerificationBody":
"ă“ăźăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čで{2}ă‚ąă‚«ă‚ŠăƒłăƒˆăŒäœœæˆă•ă‚ŒăŸă—ăŸă€‚ä»„äž‹ăźăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čたçąșèȘă‚’ćźŒäș†ă—ăŠăă ă•ă„ă€‚\n\n{0}\n\nこぼăƒȘンクは{3}ă ă‘æœ‰ćŠčです。\n\nă‚‚ă—ă“ăźă‚ąă‚«ă‚Šăƒłăƒˆăźäœœæˆă«ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒŒăƒ«ă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚",
"emailVerificationBodyHtml":
'<p>ă“ăźăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čで{2}ă‚ąă‚«ă‚ŠăƒłăƒˆăŒäœœæˆă•ă‚ŒăŸă—ăŸă€‚ä»„äž‹ăźăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čたçąșèȘă‚’ćźŒäș†ă—ăŠăă ă•ă„ă€‚</p><p><a href="{0}">ăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čたçąșèȘ</a></p><p>こぼăƒȘンクは{3}ă ă‘æœ‰ćŠčです。</p><p>ă‚‚ă—ă“ăźă‚ąă‚«ă‚Šăƒłăƒˆăźäœœæˆă«ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒŒăƒ«ă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚</p>',
"emailTestSubject": "[KEYCLOAK] - SMTPテă‚čăƒˆăƒĄăƒƒă‚»ăƒŒă‚ž",
"emailTestBody": "これはテă‚čăƒˆăƒĄăƒƒă‚»ăƒŒă‚žă§ă™",
"emailTestBodyHtml": "<p>これはテă‚čăƒˆăƒĄăƒƒă‚»ăƒŒă‚žă§ă™</p>",
"identityProviderLinkSubject": "ăƒȘンク {0}",
"identityProviderLinkBody":
'あăȘたぼ"{1}"ă‚ąă‚«ă‚Šăƒłăƒˆăš{2}ăƒŠăƒŒă‚¶ăƒŒăź"{0}"ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚ŻăŒèŠæ±‚ă•ă‚ŒăŸă—ăŸă€‚ä»„äž‹ăźăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒăŁăŠăă ă•ă„ă€‚\n\n{3}\n\nこぼăƒȘンクは{5}ă ă‘æœ‰ćŠčです。\n\nă‚‚ă—ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒă‚ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒă†ă“ăšă§ă€{0}ç”Œç”±ă§{1}ă«ăƒ­ă‚°ă‚€ăƒłă™ă‚‹ă“ăšăŒă§ăă‚‹ă‚ˆă†ă«ăȘă‚ŠăŸă™ă€‚',
"identityProviderLinkBodyHtml":
'<p>あăȘたぼ<b>{1}</b>ă‚ąă‚«ă‚Šăƒłăƒˆăš{2}ăƒŠăƒŒă‚¶ăƒŒăź<b>{0}</b>ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚ŻăŒèŠæ±‚ă•ă‚ŒăŸă—ăŸă€‚ä»„äž‹ăźăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒăŁăŠăă ă•ă„ă€‚</p><p><a href="{3}">ă‚ąă‚«ă‚ŠăƒłăƒˆăƒȘンクぼçąșèȘ</a></p><p>こぼăƒȘンクは{5}ă ă‘æœ‰ćŠčです。</p><p>ă‚‚ă—ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒă‚ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚ă‚ąă‚«ă‚ŠăƒłăƒˆăźăƒȘăƒłă‚Żă‚’èĄŒă†ă“ăšă§ă€{0}ç”Œç”±ă§{1}ă«ăƒ­ă‚°ă‚€ăƒłă™ă‚‹ă“ăšăŒă§ăă‚‹ă‚ˆă†ă«ăȘă‚ŠăŸă™ă€‚</p>',
"passwordResetSubject": "パă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆ",
"passwordResetBody":
"あăȘたぼ{2}ă‚ąă‚«ă‚Šăƒłăƒˆăźăƒ‘ă‚čăƒŻăƒŒăƒ‰ăźć€‰æ›ŽăŒèŠæ±‚ă•ă‚ŒăŠă„ăŸă™ă€‚ä»„äž‹ăźăƒȘンクをクăƒȘックしどパă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆă‚’èĄŒăŁăŠăă ă•ă„ă€‚\n\n{0}\n\nこぼăƒȘンクは{3}ă ă‘æœ‰ćŠčです。\n\nもしパă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆă‚’èĄŒă‚ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚äœ•ă‚‚ć€‰æ›Žă•ă‚ŒăŸă›ă‚“ă€‚",
"passwordResetBodyHtml":
'<p>あăȘたぼ{2}ă‚ąă‚«ă‚Šăƒłăƒˆăźăƒ‘ă‚čăƒŻăƒŒăƒ‰ăźć€‰æ›ŽăŒèŠæ±‚ă•ă‚ŒăŠă„ăŸă™ă€‚ä»„äž‹ăźăƒȘンクをクăƒȘックしどパă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆă‚’èĄŒăŁăŠăă ă•ă„ă€‚</p><p><a href="{0}">パă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆ</a></p><p>こぼăƒȘンクは{3}ă ă‘æœ‰ćŠčです。</p><p>もしパă‚čăƒŻăƒŒăƒ‰ăźăƒȘă‚»ăƒƒăƒˆă‚’èĄŒă‚ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚äœ•ă‚‚ć€‰æ›Žă•ă‚ŒăŸă›ă‚“ă€‚</p>',
"executeActionsSubject": "ă‚ąă‚«ă‚Šăƒłăƒˆăźæ›Žæ–°",
"executeActionsBody":
"æŹĄăźă‚ąă‚Żă‚·ăƒ§ăƒłă‚’ćźŸèĄŒă™ă‚‹ă“ăšă«ă‚ˆă‚Šă€çźĄç†è€…ă‚ˆă‚Šă‚ăȘたぼ{2}ă‚ąă‚«ă‚Šăƒłăƒˆăźæ›Žæ–°ăŒèŠæ±‚ă•ă‚ŒăŠă„ăŸă™: {3}。仄䞋たăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠă“ăźăƒ—ăƒ­ă‚»ă‚čを開構しどください。\n\n{0}\n\nこぼăƒȘンクは{4}ă ă‘æœ‰ćŠčです。\n\nçźĄç†è€…ă‹ă‚‰ăźă“ăźć€‰æ›ŽèŠæ±‚ă«ă€ă„ăŠă”ć­˜çŸ„ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚äœ•ă‚‚ć€‰æ›Žă•ă‚ŒăŸă›ă‚“ă€‚",
"executeActionsBodyHtml":
'<p>æŹĄăźă‚ąă‚Żă‚·ăƒ§ăƒłă‚’ćźŸèĄŒă™ă‚‹ă“ăšă«ă‚ˆă‚Šă€çźĄç†è€…ă‚ˆă‚Šă‚ăȘたぼ{2}ă‚ąă‚«ă‚Šăƒłăƒˆăźæ›Žæ–°ăŒèŠæ±‚ă•ă‚ŒăŠă„ăŸă™: {3}。仄䞋たăƒȘンクをクăƒȘăƒƒă‚Żă—ăŠă“ăźăƒ—ăƒ­ă‚»ă‚čを開構しどください。</p><p><a href="{0}">ă‚ąă‚«ă‚Šăƒłăƒˆăźæ›Žæ–°</a></p><p>こぼăƒȘンクは{4}ă ă‘æœ‰ćŠčです。</p><p>çźĄç†è€…ă‹ă‚‰ăźă“ăźć€‰æ›ŽèŠæ±‚ă«ă€ă„ăŠă”ć­˜çŸ„ăȘă„ć ŽćˆăŻă€ă“ăźăƒĄăƒƒă‚»ăƒŒă‚žă‚’ç„ĄèŠ–ă—ăŠăă ă•ă„ă€‚äœ•ă‚‚ć€‰æ›Žă•ă‚ŒăŸă›ă‚“ă€‚</p>',
"eventLoginErrorSubject": "ăƒ­ă‚°ă‚€ăƒłă‚šăƒ©ăƒŒ",
"eventLoginErrorBody": "{0}に{1}ă‹ă‚‰ăźăƒ­ă‚°ă‚€ăƒłć€±æ•—ăŒă‚ăȘăŸăźă‚ąă‚«ă‚Šăƒłăƒˆă§æ€œć‡șă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚",
"eventLoginErrorBodyHtml":
"<p>{0}に{1}ă‹ă‚‰ăźăƒ­ă‚°ă‚€ăƒłć€±æ•—ăŒă‚ăȘăŸăźă‚ąă‚«ă‚Šăƒłăƒˆă§æ€œć‡șă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻçźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚</p>",
"eventRemoveTotpSubject": "OTPた扊陀",
"eventRemoveTotpBody": "{0}に{1}ă‹ă‚‰ăźæ“äœœă§OTPăŒć‰Šé™€ă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚",
"eventRemoveTotpBodyHtml": "<p>{0}に{1}ă‹ă‚‰ăźæ“äœœă§OTPăŒć‰Šé™€ă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚</p>",
"eventUpdatePasswordSubject": "パă‚čăƒŻăƒŒăƒ‰ăźæ›Žæ–°",
"eventUpdatePasswordBody": "{0}に{1}ă‹ă‚‰ăźæ“äœœă§ă‚ăȘたぼパă‚čăƒŻăƒŒăƒ‰ăŒć€‰æ›Žă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚",
"eventUpdatePasswordBodyHtml": "<p>{0}に{1}ă‹ă‚‰ăźæ“äœœă§ă‚ăȘたぼパă‚čăƒŻăƒŒăƒ‰ăŒć€‰æ›Žă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚</p>",
"eventUpdateTotpSubject": "OTPăźæ›Žæ–°",
"eventUpdateTotpBody": "{0}に{1}ă‹ă‚‰ăźæ“äœœă§OTPăŒæ›Žæ–°ă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚",
"eventUpdateTotpBodyHtml": "<p>{0}に{1}ă‹ă‚‰ăźæ“äœœă§OTPăŒæ›Žæ–°ă•ă‚ŒăŸă—ăŸă€‚ćżƒćœ“ăŸă‚ŠăŒăȘă„ć ŽćˆăŻă€çźĄç†è€…ă«é€Łç”Ąă—ăŠăă ă•ă„ă€‚</p>",
"requiredAction.CONFIGURE_TOTP": "OTPăźèš­ćźš",
"requiredAction.terms_and_conditions": "ćˆ©ç”šèŠçŽ„",
"requiredAction.UPDATE_PASSWORD": "パă‚čăƒŻăƒŒăƒ‰ăźæ›Žæ–°",
"requiredAction.UPDATE_PROFILE": "ăƒ—ăƒ­ăƒ•ă‚Ąă‚€ăƒ«ăźæ›Žæ–°",
"requiredAction.VERIFY_EMAIL": "EăƒĄăƒŒăƒ«ăźçąșèȘ",
"linkExpirationFormatter.timePeriodUnit.seconds": "秒",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "秒",
"linkExpirationFormatter.timePeriodUnit.minutes": "戆",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "戆",
"linkExpirationFormatter.timePeriodUnit.hours": "時間",
"linkExpirationFormatter.timePeriodUnit.hours.1": "時間",
"linkExpirationFormatter.timePeriodUnit.days": "æ—„",
"linkExpirationFormatter.timePeriodUnit.days.1": "æ—„",
"emailVerificationBodyCode": "æŹĄăźă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čをçąșèȘă—ăŠăă ă•ă„ă€‚\n\n{0}\n\n.",
"emailVerificationBodyCodeHtml": "<p>æŹĄăźă‚łăƒŒăƒ‰ă‚’ć…„ćŠ›ă—ăŠăƒĄăƒŒăƒ«ă‚ąăƒ‰ăƒŹă‚čをçąșèȘă—ăŠăă ă•ă„ă€‚</p><p><b>{0}</b></p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,44 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "El. paĆĄto patvirtinimas",
"emailVerificationBody":
"Paskyra {2} sukurta naudojant ĆĄÄŻ el. paĆĄto adresą. Jei tai buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą\n\n{0}\n\nĆ i nuoroda galioja {1} min.\n\nJei paskyros nekĆ«rėte, tuomet ignuoruokite ĆĄÄŻ laiĆĄką. ",
"emailVerificationBodyHtml":
'<p>Paskyra {2} sukurta naudojant ĆĄÄŻ el. paĆĄto adresą. Jei tao buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą</p><p><a href=LT"{0}">{0}</a></p><p>Ć i nuoroda galioja {1} min.</p><p>nJei paskyros nekĆ«rėte, tuomet ignuoruokite ĆĄÄŻ laiĆĄką.</p>',
"identityProviderLinkSubject": "Sąsaja {0}",
"identityProviderLinkBody":
'KaĆŸas pageidauja susieti JĆ«sĆł "{1}" paskyrą su "{0}" {2} naudotojo paskyrą. Jei tai buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą norėdami susieti paskyras\n\n{3}\n\nĆ i nuoroda galioja {4} min.\n\nJei paskyrĆł susieti nenorite, tuomet ignoruokite ĆĄÄŻ laiĆĄką. Jei paskyras susiesite, tuomet prie {1} galėsiste prisijungti per {0}.',
"identityProviderLinkBodyHtml":
'<p>ĆŸas pageidauja susieti JĆ«sĆł <b>{1}</b> paskyrą su <b>{0}</b> {2} naudotojo paskyrą. Jei tai buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą norėdami susieti paskyras</p><p><a href=LT"{3}">{3}</a></p><p>Ć i nuoroda galioja {4} min.</p><p>Jei paskyrĆł susieti nenorite, tuomet ignoruokite ĆĄÄŻ laiĆĄką. Jei paskyras susiesite, tuomet prie {1} galėsiste prisijungti per {0}.</p>',
"passwordResetSubject": "SlaptaĆŸodĆŸio atkĆ«rimas",
"passwordResetBody":
"KaĆŸkas pageidauja pakeisti JĆ«sĆł paskyros {2} slaptaĆŸodÄŻ. Jei tai buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą slaptaĆŸodĆŸio pakeitimui.\n\n{0}\n\nĆ i nuoroda ir kodas galioja {1} min.\n\nJei nepageidajate keisti slaptaĆŸodĆŸio, tuomet ignoruokite ĆĄÄŻ laiĆĄką ir niekas nebus pakeista.",
"passwordResetBodyHtml":
'<p>KaĆŸkas pageidauja pakeisti JĆ«sĆł paskyros {2} slaptaĆŸodÄŻ. Jei tai buvote JĆ«s, tuomet paspauskite ĆŸemiau esančią nuorodą slaptaĆŸodĆŸio pakeitimui.</p><p><a href=LT"{0}">{0}</a></p><p>Ć i nuoroda ir kodas galioja {1} min.</p><p>Jei nepageidajate keisti slaptaĆŸodĆŸio, tuomet ignoruokite ĆĄÄŻ laiĆĄką ir niekas nebus pakeista.</p>',
"executeActionsSubject": "Atnaujinkite savo paskyrą",
"executeActionsBody":
"Sistemos administratorius pageidauja, kad JĆ«s atnaujintumėte savo {2} paskyrą. Paspauskite ĆŸemiau esančią nuorodą paskyros duomenĆł atnaujinimui.\n\n{0}\n\nĆ i nuoroda galioja {1} min.\n\nJei JĆ«s neasate tikri, kad tai administratoriaus pageidavimas, tuomet ignoruokite ĆĄÄŻ laiĆĄką ir niekas nebus pakeista.",
"executeActionsBodyHtml":
'<p>Sistemos administratorius pageidauja, kad JĆ«s atnaujintumėte savo {2} paskyrą. Paspauskite ĆŸemiau esančią nuorodą paskyros duomenĆł atnaujinimui.</p><p><a href=LT"{0}">{0}</a></p><p>Ć i nuoroda galioja {1} min.</p><p>Jei JĆ«s neasate tikri, kad tai administratoriaus pageidavimas, tuomet ignoruokite ĆĄÄŻ laiĆĄką ir niekas nebus pakeista.</p>',
"eventLoginErrorSubject": "Nesėkmingas bandymas prisijungti prie jĆ«sĆł paskyros",
"eventLoginErrorBody":
"Bandymas prisijungti prie jĆ«sĆł paskyros {0} iĆĄ {1} nesėkmingas. Jei tai nebuvote jĆ«s, tuomet susisiekite su administratoriumi",
"eventLoginErrorBodyHtml":
"<p>Bandymas prisijungti prie jĆ«sĆł paskyros {0} iĆĄ {1} nesėkmingas. Jei tai nebuvote jĆ«s, tuomet susisiekite su administratoriumi</p>",
"eventRemoveTotpSubject": "OTP paĆĄalinimas",
"eventRemoveTotpBody": "KaĆŸkas pageidauja atsieti TOPT JĆ«sĆł {1} paskyroje su {0}. Jei tai nebuvote JĆ«s, tuomet susisiekite su administratoriumi",
"eventRemoveTotpBodyHtml":
"<p>KaĆŸkas pageidauja atsieti TOPT JĆ«sĆł <b>{1}</b> paskyroje su <b>{0}</b>. Jei tai nebuvote JĆ«s, tuomet susisiekite su administratoriumi</p>",
"eventUpdatePasswordSubject": "SlaptaĆŸodĆŸio atnaujinimas",
"eventUpdatePasswordBody": "{1} paskyroje {0} pakeisas jĆ«sĆł slaptaĆŸodis. Jei JĆ«s nekeitėte, tuomet susisiekite su administratoriumi",
"eventUpdatePasswordBodyHtml": "<p>{1} paskyroje {0} pakeisas jĆ«sĆł slaptaĆŸodis. Jei JĆ«s nekeitėte, tuomet susisiekite su administratoriumi</p>",
"eventUpdateTotpSubject": "OTP atnaujinimas",
"eventUpdateTotpBody": "OTP JƫsƳ {1} paskyroje su {0} buvo atnaujintas. Jei tai nebuvote Jƫs, tuomet susisiekite su administratoriumi",
"eventUpdateTotpBodyHtml": "<p>OTP JƫsƳ {1} paskyroje su {0} buvo atnaujintas. Jei tai nebuvote Jƫs, tuomet susisiekite su administratoriumi</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,54 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Bevestig e-mailadres",
"emailVerificationBody":
"Iemand heeft een {2} account aangemaakt met dit e-mailadres. Als u dit was, klikt u op de onderstaande koppeling om uw e-mailadres te bevestigen \n\n{0}\n\nDeze koppeling zal binnen {3} vervallen.\n\nU kunt dit bericht negeren indien u dit account niet heeft aangemaakt.",
"emailVerificationBodyHtml":
'<p>Iemand heeft een {2} account aangemaakt met dit e-mailadres. Als u dit was, klikt u op de onderstaande koppeling om uw e-mailadres te bevestigen</p><p><a href="{0}">Koppeling naar e-mailadres bevestiging</a></p><p>Deze koppeling zal binnen {3} vervallen.</p<p>U kunt dit bericht negeren indien u dit account niet heeft aangemaakt.</p>',
"emailTestSubject": "[KEYCLOAK] - SMTP testbericht",
"emailTestBody": "Dit is een testbericht",
"emailTestBodyHtml": "<p>Dit is een testbericht</p>",
"identityProviderLinkSubject": "Koppel {0}",
"identityProviderLinkBody":
'Iemand wil uw "{1}" account koppelen met "{0}" account van gebruiker {2}. Als u dit was, klik dan op de onderstaande link om de accounts te koppelen\n\n{3}\n\nDeze link zal over {5} vervallen.\n\nAls u de accounts niet wilt koppelen, negeer dan dit bericht. Als u accounts koppelt, dan kunt u bij {1} inloggen via {0}.',
"identityProviderLinkBodyHtml":
'<p>Iemand wil uw "{1}" account koppelen met "{0}" account van gebruiker {2}. Als u dit was, klik dan op de onderstaande link om de accounts te koppelen</p><p><a href="{3}">Link om accounts te koppelen</a></p><p>Deze link zal over {5} vervallen.</p><p>Als u de accounts niet wilt koppelen, negeer dan dit bericht. Als u accounts koppelt, dan kunt u bij {1} inloggen via {0}.</p>',
"passwordResetSubject": "Wijzig wachtwoord",
"passwordResetBody":
"Iemand verzocht de aanmeldgegevens van uw {2} account te wijzigen. Als u dit was, klik dan op de onderstaande koppeling om ze te wijzigen.\n\n{0}\n\nDe link en de code zullen binnen {3} vervallen.\n\nAls u uw aanmeldgegevens niet wilt wijzigen, negeer dan dit bericht en er zal niets gewijzigd worden.",
"passwordResetBodyHtml":
'<p>Iemand verzocht de aanmeldgegevens van uw {2} account te wijzigen. Als u dit was, klik dan op de onderstaande koppeling om ze te wijzigen.</p><p><a href="{0}">Wijzig aanmeldgegevens</a></p><p>De link en de code zullen binnen {3} vervallen.</p><p>Als u uw aanmeldgegevens niet wilt wijzigen, negeer dan dit bericht en er zal niets gewijzigd worden.</p>',
"executeActionsSubject": "Wijzig uw account",
"executeActionsBody":
"Uw beheerder heeft u verzocht uw {2} account te wijzigen. Klik op de onderstaande koppeling om dit proces te starten. \n\n{0}\n\nDeze link zal over {4} vervallen. \n\nAls u niet over dit verzoek op de hoogte was, negeer dan dit bericht om uw account ongewijzigd te laten.",
"executeActionsBodyHtml":
'<p>Uw beheerder heeft u verzocht uw {2} account te wijzigen. Klik op de onderstaande koppeling om dit proces te starten.</p><p><a href="{0}">Link naar account wijziging</a></p><p>Deze link zal over {4} vervallen.</p><p>Als u niet over dit verzoek op de hoogte was, negeer dan dit bericht om uw account ongewijzigd te laten.</p>',
"eventLoginErrorSubject": "Inlogfout",
"eventLoginErrorBody":
"Er is een foutieve inlogpoging gedetecteerd op uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met de beheerder.",
"eventLoginErrorBodyHtml":
"<p>Er is een foutieve inlogpoging gedetecteerd op uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met de beheerder.</p>",
"eventRemoveTotpSubject": "OTP verwijderd",
"eventRemoveTotpBody": "OTP is verwijderd van uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met uw beheerder.",
"eventRemoveTotpBodyHtml": "<p>OTP is verwijderd van uw account om {0} vanuit {1}. Als u dit niet was, neem dan contact op met uw beheerder.</p>",
"eventUpdatePasswordSubject": "Wachtwoord gewijzigd",
"eventUpdatePasswordBody": "Uw wachtwoord is gewijzigd om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.",
"eventUpdatePasswordBodyHtml": "<p>Uw wachtwoord is gewijzigd om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.</p>",
"eventUpdateTotpSubject": "OTP gewijzigd",
"eventUpdateTotpBody": "OTP is gewijzigd voor uw account om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.",
"eventUpdateTotpBodyHtml": "<p>OTP is gewijzigd voor uw account om {0} door {1}. Als u dit niet was, neem dan contact op met uw beheerder.</p>",
"linkExpirationFormatter.timePeriodUnit.seconds": "seconden",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "seconde",
"linkExpirationFormatter.timePeriodUnit.minutes": "minuten",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minuut",
"linkExpirationFormatter.timePeriodUnit.hours": "uur",
"linkExpirationFormatter.timePeriodUnit.hours.1": "uur",
"linkExpirationFormatter.timePeriodUnit.days": "dagen",
"linkExpirationFormatter.timePeriodUnit.days.1": "dag"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,45 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Bekreft e-postadresse",
"emailVerificationBody":
"Noen har opprettet en {2} konto med denne e-postadressen. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä bekrefte e-postadressen din\n\n{0}\n\nDenne lenken vil utlÞpe om {1} minutter.\n\nHvis du ikke opprettet denne kontoen, vennligst ignorer denne meldingen.",
"emailVerificationBodyHtml":
'<p>Noen har opprettet en {2} konto med denne e-postadressen. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä bekrefte e-postadressen din</p><p><a href="{0}">{0}</a></p><p>Denne lenken vil utlÞpe om {1} minutter.</p><p>Hvis du ikke opprettet denne kontoen, vennligst ignorer denne meldingen.</p>',
"identityProviderLinkSubject": "Lenke {0}",
"identityProviderLinkBody":
"Noen vil koble din <b>{1}</b> konto med <b>{0}</b> konto til bruker {2}. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä koble kontoene\n\n{3}\n\nDenne lenken vil utlÞpe om {4} minutter\n\nHvis du ikke vil koble kontoene, vennligst ignorer denne meldingen. Hvis du kobler kontoene sammen vil du kunne logge inn til {1} gjennom {0}.",
"identityProviderLinkBodyHtml":
'<p>Noen vil koble din <b>{1}</b> konto med <b>{0}</b> konto til bruker {2}. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä koble kontoene.</p><p><a href="{3}">{3}</a></p><p>Denne lenken vil utlÞpe om {4} minutter.</p><p>Hvis du ikke vil koble kontoene, vennligst ignorer denne meldingen. Hvis du kobler kontoene sammen vil du kunne logge inn til {1} gjennom {0}.</p>',
"passwordResetSubject": "Tilbakestill passord",
"passwordResetBody":
"Noen har bedt om Ä endre innloggingsdetaljene til din konto {2}. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä tilbakestille dem.\n\n{0}\n\nDenne lenken vil utlÞpe om {1} minutter.\n\nHvis du ikke vil tilbakestille din innloggingsdata, vennligst ignorer denne meldingen og ingenting vil bli endret.",
"passwordResetBodyHtml":
'<p>Noen har bedt om Ä endre innloggingsdetaljene til din konto {2}. Hvis dette var deg, klikk pÄ lenken nedenfor for Ä tilbakestille dem.</p><p><a href="{0}">{0}</a></p><p>Denne lenken vil utlÞpe om {1} minutter.</p><p>Hvis du ikke vil tilbakestille din innloggingsdata, vennligst ignorer denne meldingen og ingenting vil bli endret.</p>',
"executeActionsSubject": "Oppdater kontoen din",
"executeActionsBody":
"Administrator har anmodet at du oppdaterer din {2} konto. Klikk pÄ lenken nedenfor for Ä starte denne prosessen\n\n{0}\n\nDenne lenken vil utlÞpe om {1} minutter.\n\nHvis du ikke var klar over at administrator har bedt om dette, vennligst ignorer denne meldingen og ingenting vil bli endret.",
"executeActionsBodyHtml":
'<p>Administrator har anmodet at du oppdaterer din {2} konto. Klikk pÄ linken nedenfor for Ä starte denne prosessen.</p><p><a href="{0}">{0}</a></p><p>Denne lenken vil utlÞpe om {1} minutter.</p><p>Hvis du ikke var klar over at administrator har bedt om dette, ignorer denne meldingen og ingenting vil bli endret. </p>',
"eventLoginErrorSubject": "Innlogging feilet",
"eventLoginErrorBody":
"Et mislykket innloggingsforsÞk ble oppdaget pÄ din konto pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.",
"eventLoginErrorBodyHtml":
"<p>Et mislykket innloggingsforsÞk ble oppdaget pÄ din konto pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.</p>",
"eventRemoveTotpSubject": "Fjern engangskode",
"eventRemoveTotpBody": "Engangskode ble fjernet fra kontoen din pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.",
"eventRemoveTotpBodyHtml":
"<p>Engangskode ble fjernet fra kontoen din pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.</p>",
"eventUpdatePasswordSubject": "Oppdater passord",
"eventUpdatePasswordBody": "Ditt passord ble endret i {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.",
"eventUpdatePasswordBodyHtml": "<p>Ditt passord ble endret i {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. </p>",
"eventUpdateTotpSubject": "Oppdater engangskode",
"eventUpdateTotpBody": "Engangskode ble oppdatert for kontoen din pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator.",
"eventUpdateTotpBodyHtml":
"<p>Engangskode ble oppdatert for kontoen din pÄ {0} fra {1}. Hvis dette ikke var deg, vennligst kontakt administrator. </p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,72 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Zweryfikuj email",
"emailVerificationBody":
"Ktoƛ utworzyƂ juĆŒ konto {2} z tym adresem e-mail. Jeƛli to Ty, kliknij poniĆŒszy link, aby zweryfikować swĂłj adres e-mail \n\n{0}\n\nLink ten wygaƛnie w ciągu {3}.\n\nJeƛli nie utworzyƂeƛ tego konta, po prostu zignoruj tę wiadomoƛć.",
"emailVerificationBodyHtml":
'<p>Ktoƛ utworzyƂ juĆŒ konto {2} z tym adresem e-mail. Jeƛli to Ty, kliknij <a href="{0}">ten link</a> aby zweryfikować swĂłj adres e-mail</p><p>Link ten wygaƛnie w ciągu {3}</p><p>Jeƛli nie utworzyƂeƛ tego konta, po prostu zignoruj tę wiadomoƛć.</p>',
"emailTestSubject": "[KEYCLOAK] - wiadomoƛć testowa SMTP",
"emailTestBody": "To jest wiadomoƛć testowa",
"emailTestBodyHtml": "<p>To jest wiadomoƛć testowa</p>",
"identityProviderLinkSubject": "Link {0}",
"identityProviderLinkBody":
'Ktoƛ chce poƂączyć Twoje konto "{1}" z kontem "{0}" uĆŒytkownika {2}. Jeƛli to Ty, kliknij poniĆŒszy link by poƂączyć konta\n\n{3}\n\nTen link wygaƛnie w ciągu {5}.\n\nJeƛli nie chcesz poƂączyć konta to zignoruj tę wiadomoƛć. Jeƛli poƂączysz konta, będziesz mĂłgƂ się zalogować na {1} przez {0}.',
"identityProviderLinkBodyHtml":
'<p>Ktoƛ chce poƂączyć Twoje konto <b>{1}</b> z kontem <b>{0}</b> uĆŒytkownika {2}. Jeƛli to Ty, kliknij <a href="{3}">ten link</a> by poƂączyć konta.</p><p>Ten link wygaƛnie w ciągu {5}.</p><p>Jeƛli nie chcesz poƂączyć konta to zignoruj tę wiadomoƛć. Jeƛli poƂączysz konta, będziesz mĂłgƂ się zalogować na {1} przez {0}.</p>',
"passwordResetSubject": "Zresetuj hasƂo",
"passwordResetBody":
"Ktoƛ wƂaƛnie poprosiƂ o zmianę danych logowania Twojego konta {2}. Jeƛli to Ty, kliknij poniĆŒszy link, aby je zresetować.\n\n{0}\n\nTen link i kod stracą waĆŒnoƛć w ciągu {3}.\n\nJeƛli nie chcesz zresetować swoich danych logowania, po prostu zignoruj tę wiadomoƛć i nic się nie zmieni.",
"passwordResetBodyHtml":
'<p>Ktoƛ wƂaƛnie poprosiƂ o zmianę poƛwiadczeƄ Twojego konta {2}. Jeƛli to Ty, kliknij poniĆŒszy link, aby je zresetować.</p><p><a href="{0}">Link do resetowania poƛwiadczeƄ</a></p><p>Ten link wygaƛnie w ciągu {3}.</p><p>Jeƛli nie chcesz resetować swoich poƛwiadczeƄ, po prostu zignoruj tę wiadomoƛć i nic się nie zmieni.</p>',
"executeActionsSubject": "Zaktualizuj swoje konto",
"executeActionsBody":
"Administrator wƂaƛnie zaĆŒÄ…daƂ aktualizacji konta {2} poprzez wykonanie następujących dziaƂaƄ: {3}. Kliknij poniĆŒszy link, aby rozpocząć ten proces.\n\n{0}\n\nTen link wygaƛnie w ciągu {4}.\n\nJeƛli nie masz pewnoƛci, ĆŒe administrator tego zaĆŒÄ…daƂ, po prostu zignoruj tę wiadomoƛć i nic się nie zmieni.",
"executeActionsBodyHtml":
'<p>Administrator wƂaƛnie zaĆŒÄ…daƂ aktualizacji konta {2} poprzez wykonanie następujących dziaƂaƄ: {3}. Kliknij <a href="{0}">ten link</a>, aby rozpocząć proces.</p><p>Link ten wygaƛnie w ciągu {4}.</p><p>Jeƛli nie masz pewnoƛci, ĆŒe administrator tego zaĆŒÄ…daƂ, po prostu zignoruj tę wiadomoƛć i nic się nie zmieni.</p>',
"eventLoginErrorSubject": "BƂąd logowania",
"eventLoginErrorBody": "Nieudana próba logowania zostaƂa wykryta na Twoim koncie {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.",
"eventLoginErrorBodyHtml":
"<p>Nieudana próba logowania zostaƂa wykryta na Twoim koncie {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.</p>",
"eventRemoveTotpSubject": "UsuƄ hasƂo jednorazowe (OTP)",
"eventRemoveTotpBody": "HasƂo jednorazowe (OTP) zostaƂo usunięte z Twojego konta w {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.",
"eventRemoveTotpBodyHtml":
"<p>HasƂo jednorazowe (OTP) zostaƂo usunięte z Twojego konta w {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.</p>",
"eventUpdatePasswordSubject": "Aktualizuj hasƂo",
"eventUpdatePasswordBody": "Twoje hasƂo zostaƂo zmienione {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.",
"eventUpdatePasswordBodyHtml": "<p>Twoje hasƂo zostaƂo zmienione {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.</p>",
"eventUpdateTotpSubject": "Aktualizuj hasƂo jednorazowe (OTP)",
"eventUpdateTotpBody":
"HasƂo jednorazowe (OTP) zostaƂo zaktualizowane na Twoim koncie {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.",
"eventUpdateTotpBodyHtml":
"<p>HasƂo jednorazowe (OTP) zostaƂo zaktualizowane na Twoim koncie {0} z {1}. Jeƛli to nie Ty, skontaktuj się z administratorem.</p>",
"requiredAction.CONFIGURE_TOTP": "Konfiguracja hasƂa jednorazowego (OTP)",
"requiredAction.terms_and_conditions": "Regulamin",
"requiredAction.UPDATE_PASSWORD": "Aktualizacja hasƂa",
"requiredAction.UPDATE_PROFILE": "Aktualizacja profilu",
"requiredAction.VERIFY_EMAIL": "Weryfikacja adresu e-mail",
"linkExpirationFormatter.timePeriodUnit.seconds": "sekund",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "sekunda",
"linkExpirationFormatter.timePeriodUnit.seconds.2": "sekundy",
"linkExpirationFormatter.timePeriodUnit.seconds.3": "sekundy",
"linkExpirationFormatter.timePeriodUnit.seconds.4": "sekundy",
"linkExpirationFormatter.timePeriodUnit.minutes": "minut",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minuta",
"linkExpirationFormatter.timePeriodUnit.minutes.2": "minuty",
"linkExpirationFormatter.timePeriodUnit.minutes.3": "minuty",
"linkExpirationFormatter.timePeriodUnit.minutes.4": "minuty",
"linkExpirationFormatter.timePeriodUnit.hours": "godzin",
"linkExpirationFormatter.timePeriodUnit.hours.1": "godzina",
"linkExpirationFormatter.timePeriodUnit.hours.2": "godziny",
"linkExpirationFormatter.timePeriodUnit.hours.3": "godziny",
"linkExpirationFormatter.timePeriodUnit.hours.4": "godziny",
"linkExpirationFormatter.timePeriodUnit.days": "dni",
"linkExpirationFormatter.timePeriodUnit.days.1": "dzieƄ",
"emailVerificationBodyCode": "PotwierdĆș swĂłj adres e-mail wprowadzając następujący kod.\n\n{0}\n\n.",
"emailVerificationBodyCodeHtml": "<p>PotwierdĆș swĂłj adres e-mail, wprowadzając następujący kod.</p><p><b>{0}</b></p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,63 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Verificação de e-mail",
"emailVerificationBody":
"AlguĂ©m criou uma conta {2} com este endereço de e-mail. Se foi vocĂȘ, clique no link abaixo para verificar o seu endereço de email\n\n{0}\n\nEste link irĂĄ expirar dentro de {3}.\n\nSe nĂŁo foi vocĂȘ que criou esta conta, basta ignorar esta mensagem.",
"emailVerificationBodyHtml":
'<p>AlguĂ©m criou uma conta {2} com este endereço de e-mail. Se foi vocĂȘ, clique no link abaixo para verificar o seu endereço de email</p><p><a href="{0}">{0}</a></p><p>Este link irĂĄ expirar dentro de {3}.</p><p>Se nĂŁo foi vocĂȘ que criou esta conta, basta ignorar esta mensagem.</p>',
"emailTestSubject": "[KEYCLOAK] - SMTP mensagem de teste",
"emailTestBody": "Esta Ă© uma mensagem de teste",
"emailTestBodyHtml": "<p>Esta Ă© uma mensagem de teste</p>",
"identityProviderLinkSubject": "Vincular {0}",
"identityProviderLinkBody":
'AlguĂ©m quer vincular sua conta "{1}" com a conta "{0}" do usuĂĄrio {2} . Se foi vocĂȘ, clique no link abaixo para vincular as contas.\n\n{3}\n\nEste link irĂĄ expirar em {5}.\n\nSe vocĂȘ nĂŁo quer vincular a conta, apenas ignore esta mensagem. Se vocĂȘ vincular as contas, vocĂȘ serĂĄ capaz de logar em {1} atrĂĄvĂ©s de {0}.',
"identityProviderLinkBodyHtml":
'<p>AlguĂ©m quer vincular sua conta <b>{1}</b> com a conta <b>{0}</b> do usuĂĄrio {2} . Se foi vocĂȘ, clique no link abaixo para vincular as contas.</p><p><a href="{3}">{3}</a></p><p>Este link irĂĄ expirar em {5}.</p><p>Se vocĂȘ nĂŁo quer vincular a conta, apenas ignore esta mensagem. Se vocĂȘ vincular as contas, vocĂȘ serĂĄ capaz de logar em {1} atrĂĄvĂ©s de {0}.</p>',
"passwordResetSubject": "Redefinição de senha",
"passwordResetBody":
"AlguĂ©m solicitou uma alteração de senha da sua conta {2}. Se foi vocĂȘ, clique no link abaixo para redefini-la.\n\n{0}\n\nEste link e cĂłdigo expiram em {3}.\n\nSe vocĂȘ nĂŁo deseja redefinir sua senha, apenas ignore esta mensagem e nada serĂĄ alterado.",
"passwordResetBodyHtml":
'<p>AlguĂ©m solicitou uma alteração de senha da sua conta {2}. Se foi vocĂȘ, clique no link abaixo para redefini-la.</p><p><a href="{0}">Link para redefinir a senha</a></p><p>Este link irĂĄ expirar em {3}.</p><p>Se vocĂȘ nĂŁo deseja redefinir sua senha, apenas ignore esta mensagem e nada serĂĄ alterado.</p>',
"executeActionsSubject": "Atualização de conta",
"executeActionsBody":
"O administrador solicitou que vocĂȘ atualize sua conta {2} executando a(s) seguinte(s) ação(Ă”es): {3}. Clique no link abaixo para iniciar o processo.\n\n{0}\n\nEste link irĂĄ expirar em {4}.\n\nSe vocĂȘ nĂŁo tem conhecimento de que o administrador solicitou isso, basta ignorar esta mensagem e nada serĂĄ alterado.",
"executeActionsBodyHtml":
'<p>O administrador solicitou que vocĂȘ atualize sua conta {2} executando a(s) seguinte(s) ação(Ă”es): {3}. Clique no link abaixo para iniciar o processo.</p><p><a href="{0}">Link to account update</a></p><p>Este link irĂĄ expirar em {4}.</p><p>Se vocĂȘ nĂŁo tem conhecimento de que o administrador solicitou isso, basta ignorar esta mensagem e nada serĂĄ alterado.</p>',
"eventLoginErrorSubject": "Erro de login",
"eventLoginErrorBody":
"Uma tentativa de login mal sucedida para a sua conta foi detectada em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.",
"eventLoginErrorBodyHtml":
"<p>Uma tentativa de login mal sucedida para a sua conta foi detectada em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.</p>",
"eventRemoveTotpSubject": "Remover OTP",
"eventRemoveTotpBody": "OTP foi removido da sua conta em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.",
"eventRemoveTotpBodyHtml":
"<p>OTP foi removido da sua conta em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.</p>",
"eventUpdatePasswordSubject": "Atualização de senha",
"eventUpdatePasswordBody": "Sua senha foi alterada em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.",
"eventUpdatePasswordBodyHtml": "<p>Sua senha foi alterada em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.</p>",
"eventUpdateTotpSubject": "Atualização OTP",
"eventUpdateTotpBody": "OTP foi atualizado para a sua conta em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.",
"eventUpdateTotpBodyHtml":
"<p>OTP foi atualizado para a sua conta em {0} de {1}. Se nĂŁo foi vocĂȘ, por favor, entre em contato com um administrador.</p>",
"requiredAction.CONFIGURE_TOTP": "Configurar OTP",
"requiredAction.terms_and_conditions": "Termos e CondiçÔes",
"requiredAction.UPDATE_PASSWORD": "Atualizar Senha",
"requiredAction.UPDATE_PROFILE": "Atualizar Perfil",
"requiredAction.VERIFY_EMAIL": "Verificar E-mail",
"linkExpirationFormatter.timePeriodUnit.seconds": "segundos",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "segundo",
"linkExpirationFormatter.timePeriodUnit.minutes": "minutos",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minuto",
"linkExpirationFormatter.timePeriodUnit.hours": "horas",
"linkExpirationFormatter.timePeriodUnit.hours.1": "hora",
"linkExpirationFormatter.timePeriodUnit.days": "dias",
"linkExpirationFormatter.timePeriodUnit.days.1": "dia",
"emailVerificationBodyCode": "Verifique seu endereço de e-mail digitando o seguinte código.\n\n{0}\n\n.",
"emailVerificationBodyCodeHtml": "<p>Verifique seu endereço de e-mail digitando o seguinte código.</p><p><b>{0}</b></p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,45 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "ĐŸĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”ĐœĐžĐ” E-mail",
"emailVerificationBody":
"ĐšŃ‚ĐŸ-Ń‚ĐŸ ŃĐŸĐ·ĐŽĐ°Đ» ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ {2} с ŃŃ‚ĐžĐŒ E-mail. ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐœĐ° ŃĐ»Đ”ĐŽŃƒŃŽŃ‰ŃƒŃŽ ссылĐșу ĐŽĐ»Ń ĐżĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”ĐœĐžŃ ĐČĐ°ŃˆĐ”ĐłĐŸ email\n\n{0}\n\nЭта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.\n\nЕслО Вы ĐœĐ” ŃĐŸĐ·ĐŽĐ°ĐČалО ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ.",
"emailVerificationBodyHtml":
'<p>ĐšŃ‚ĐŸ-Ń‚ĐŸ ŃĐŸĐ·ĐŽĐ°Đ» ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ {2} с ŃŃ‚ĐžĐŒ E-mail. ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐżĐŸ ссылĐșĐ” ĐŽĐ»Ń ĐżĐŸĐŽŃ‚ĐČĐ”Ń€Đ¶ĐŽĐ”ĐœĐžŃ ĐČĐ°ŃˆĐ”ĐłĐŸ E-mail</p><p><a href="{0}">{0}</a></p><p>Эта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.</p><p>ЕслО Вы ĐœĐ” ŃĐŸĐ·ĐŽĐ°ĐČалО ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ.</p>',
"identityProviderLinkSubject": "ХсылĐșа {0}",
"identityProviderLinkBody":
'ĐšŃ‚ĐŸ-Ń‚ĐŸ Ń…ĐŸŃ‡Đ”Ń‚ сĐČŃĐ·Đ°Ń‚ŃŒ ĐČашу ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ "{1}" с "{0}" ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč Đ·Đ°ĐżĐžŃŃŒŃŽ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń {2} . ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐżĐŸ ŃĐ»Đ”ĐŽŃƒŃŽŃ‰Đ”Đč ссылĐșĐ”, Ń‡Ń‚ĐŸĐ±Ń‹ сĐČŃĐ·Đ°Ń‚ŃŒ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Đ” запОсО\n\n{3}\n\nЭта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {4} ĐŒĐžĐœŃƒŃ‚.\n\nЕслО ŃŃ‚ĐŸ ĐœĐ” Ń…ĐŸŃ‚ĐžŃ‚Đ” ĐŸĐ±ŃŠĐ”ĐŽĐžĐœŃŃ‚ŃŒ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Đ” запОсО, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ. ĐŸĐŸŃĐ»Đ” ĐŸĐ±ŃŠĐ”ĐŽĐžĐœĐ”ĐœĐžŃ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč Вы ĐŒĐŸĐ¶Đ”Ń‚Đ” ĐČĐŸĐčто ĐČ {1} чДрДз {0}.',
"identityProviderLinkBodyHtml":
'<p>ĐšŃ‚ĐŸ-Ń‚ĐŸ Ń…ĐŸŃ‡Đ”Ń‚ сĐČŃĐ·Đ°Ń‚ŃŒ ĐČашу ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ <b>{1}</b> с <b>{0}</b> ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč Đ·Đ°ĐżĐžŃŃŒŃŽ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń {2} . ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐżĐŸ ŃĐ»Đ”ĐŽŃƒŃŽŃ‰Đ”Đč ссылĐșĐ”, Ń‡Ń‚ĐŸĐ±Ń‹ сĐČŃĐ·Đ°Ń‚ŃŒ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Đ” запОсО</p><p><a href="{3}">{3}</a></p><p>Эта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {4} ĐŒĐžĐœŃƒŃ‚.</p><p>ЕслО ŃŃ‚ĐŸ ĐœĐ” Ń…ĐŸŃ‚ĐžŃ‚Đ” ĐŸĐ±ŃŠĐ”ĐŽĐžĐœŃŃ‚ŃŒ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Đ” запОсО, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ. ĐŸĐŸŃĐ»Đ” ĐŸĐ±ŃŠĐ”ĐŽĐžĐœĐ”ĐœĐžŃ ŃƒŃ‡Đ”Ń‚ĐœŃ‹Ń… запОсДĐč Вы ĐŒĐŸĐ¶Đ”Ń‚Đ” ĐČĐŸĐčто ĐČ {1} чДрДз {0}.</p>',
"passwordResetSubject": "ĐĄĐ±Ń€ĐŸŃ ĐżĐ°Ń€ĐŸĐ»Ń",
"passwordResetBody":
"ĐšŃ‚ĐŸ-Ń‚ĐŸ Ń‚ĐŸĐ»ŃŒĐșĐŸ Ń‡Ń‚ĐŸ Đ·Đ°ĐżŃ€ĐŸŃĐžĐ» ĐžĐ·ĐŒĐ”ĐœĐ”ĐœĐžĐ” ĐżĐ°Ń€ĐŸĐ»Ń ĐŸŃ‚ Đ’Đ°ŃˆĐ”Đč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {2}. ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐœĐ° ŃĐ»Đ”ĐŽŃƒŃŽŃ‰ŃƒŃŽ ссылĐșу, Ń‡Ń‚ĐŸĐ±Ń‹ ŃĐ±Ń€ĐŸŃĐžŃ‚ŃŒ Đ”ĐłĐŸ.\n\n{0}\n\nЭта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.\n\nЕслО Вы ĐœĐ” Ń…ĐŸŃ‚ĐžŃ‚Đ” сбрасыĐČать ĐżĐ°Ń€ĐŸĐ»ŃŒ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ.",
"passwordResetBodyHtml":
'<p>ĐšŃ‚ĐŸ-Ń‚ĐŸ Ń‚ĐŸĐ»ŃŒĐșĐŸ Ń‡Ń‚ĐŸ Đ·Đ°ĐżŃ€ĐŸŃĐžĐ» ĐžĐ·ĐŒĐ”ĐœĐ”ĐœĐžĐ” ĐżĐ°Ń€ĐŸĐ»Ń ĐŸŃ‚ Đ’Đ°ŃˆĐ”Đč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {2}. ЕслО ŃŃ‚ĐŸ былО Вы, ĐœĐ°Đ¶ĐŒĐžŃ‚Đ” ĐœĐ° ŃĐ»Đ”ĐŽŃƒŃŽŃ‰ŃƒŃŽ ссылĐșу, Ń‡Ń‚ĐŸĐ±Ń‹ ŃĐ±Ń€ĐŸŃĐžŃ‚ŃŒ Đ”ĐłĐŸ.</p><p><a href="{0}">{0}</a></p><p>Эта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.</p><p>ЕслО Вы ĐœĐ” Ń…ĐŸŃ‚ĐžŃ‚Đ” сбрасыĐČать ĐżĐ°Ń€ĐŸĐ»ŃŒ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ Đž ĐœĐžŃ‡Đ”ĐłĐŸ ĐœĐ” ĐžĐ·ĐŒĐ”ĐœĐžŃ‚ŃŃ.</p>',
"executeActionsSubject": "ĐžĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžĐ” Đ’Đ°ŃˆĐ”Đč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО",
"executeActionsBody":
"ĐĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ ĐżŃ€ĐŸŃĐžŃ‚ Вас ĐŸĐ±ĐœĐŸĐČоть ĐŽĐ°ĐœĐœŃ‹Đ” Đ’Đ°ŃˆĐ”Đč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {2}. ĐĐ°Đ¶ĐŒĐžŃ‚Đ” ĐżĐŸ ŃĐ»Đ”ĐŽŃƒŃŽŃ‰Đ”Đč ссылĐșĐ” Ń‡Ń‚ĐŸĐ±Ń‹ ĐœĐ°Ń‡Đ°Ń‚ŃŒ ŃŃ‚ĐŸŃ‚ ĐżŃ€ĐŸŃ†Đ”ŃŃ.\n\n{0}\n\nЭта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.\n\nЕслО у ĐČас Đ”ŃŃ‚ŃŒ ĐżĐŸĐŽĐŸĐ·Ń€Đ”ĐœĐžŃ, Ń‡Ń‚ĐŸ Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ ĐœĐ” ĐŒĐŸĐł ŃĐŽĐ”Đ»Đ°Ń‚ŃŒ таĐșĐŸĐč Đ·Đ°ĐżŃ€ĐŸŃ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ.",
"executeActionsBodyHtml":
'<p>ĐĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ ĐżŃ€ĐŸŃĐžŃ‚ Вас ĐŸĐ±ĐœĐŸĐČоть ĐŽĐ°ĐœĐœŃ‹Đ” Đ’Đ°ŃˆĐ”Đč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {2}. ĐĐ°Đ¶ĐŒĐžŃ‚Đ” ĐżĐŸ ŃĐ»Đ”ĐŽŃƒŃŽŃ‰Đ”Đč ссылĐșĐ” Ń‡Ń‚ĐŸĐ±Ń‹ ĐœĐ°Ń‡Đ°Ń‚ŃŒ ŃŃ‚ĐŸŃ‚ ĐżŃ€ĐŸŃ†Đ”ŃŃ.</p><p><a href="{0}">{0}</a></p><p>Эта ссылĐșа ŃƒŃŃ‚Đ°Ń€Đ”Đ”Ń‚ чДрДз {1} ĐŒĐžĐœŃƒŃ‚.</p><p>ЕслО у ĐČас Đ”ŃŃ‚ŃŒ ĐżĐŸĐŽĐŸĐ·Ń€Đ”ĐœĐžŃ, Ń‡Ń‚ĐŸ Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ ĐœĐ” ĐŒĐŸĐł ŃĐŽĐ”Đ»Đ°Ń‚ŃŒ таĐșĐŸĐč Đ·Đ°ĐżŃ€ĐŸŃ, ĐżŃ€ĐŸŃŃ‚ĐŸ ĐżŃ€ĐŸĐžĐłĐœĐŸŃ€ĐžŃ€ŃƒĐčтД ŃŃ‚ĐŸ ĐżĐžŃŃŒĐŒĐŸ.</p>',
"eventLoginErrorSubject": "ĐžŃˆĐžĐ±Đșа ĐČŃ…ĐŸĐŽĐ°",
"eventLoginErrorBody":
"Была зафОĐșŃĐžŃ€ĐŸĐČĐ°ĐœĐ° ĐœĐ”ŃƒĐŽĐ°Ń‡ĐœĐ°Ń ĐżĐŸĐżŃ‹Ń‚Đșа ĐČŃ…ĐŸĐŽĐ° ĐČ Đ’Đ°ŃˆŃƒ ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.",
"eventLoginErrorBodyHtml":
"<p>Была зафОĐșŃĐžŃ€ĐŸĐČĐ°ĐœĐ° ĐœĐ”ŃƒĐŽĐ°Ń‡ĐœĐ°Ń ĐżĐŸĐżŃ‹Ń‚Đșа ĐČŃ…ĐŸĐŽĐ° ĐČ Đ’Đ°ŃˆŃƒ ŃƒŃ‡Đ”Ń‚ĐœŃƒŃŽ Đ·Đ°ĐżĐžŃŃŒ {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.</p>",
"eventRemoveTotpSubject": "ĐŁĐŽĐ°Đ»ĐžŃ‚ŃŒ OTP",
"eventRemoveTotpBody": "OTP был ŃƒĐŽĐ°Đ»Đ”Đœ Оз ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {0} c {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.",
"eventRemoveTotpBodyHtml":
"<p>OTP был ŃƒĐŽĐ°Đ»Đ”Đœ Оз ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {0} c {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.</p>",
"eventUpdatePasswordSubject": "ĐžĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžĐ” ĐżĐ°Ń€ĐŸĐ»Ń",
"eventUpdatePasswordBody": "Ваш ĐżĐ°Ń€ĐŸĐ»ŃŒ был ĐžĐ·ĐŒĐ”ĐœĐ”Đœ ĐČ {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.",
"eventUpdatePasswordBodyHtml": "<p>Ваш ĐżĐ°Ń€ĐŸĐ»ŃŒ был ĐžĐ·ĐŒĐ”ĐœĐ”Đœ ĐČ {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.</p>",
"eventUpdateTotpSubject": "ĐžĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžĐ” OTP",
"eventUpdateTotpBody": "OTP был ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ ĐČ ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.",
"eventUpdateTotpBodyHtml":
"<p>OTP был ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ ĐČ ĐČашДĐč ŃƒŃ‡Đ”Ń‚ĐœĐŸĐč запОсО {0} с {1}. ЕслО ŃŃ‚ĐŸ былО ĐœĐ” Вы, ĐżĐŸĐ¶Đ°Đ»ŃƒĐčста, сĐČŃĐ¶ĐžŃ‚Đ”ŃŃŒ с Đ°ĐŽĐŒĐžĐœĐžŃŃ‚Ń€Đ°Ń‚ĐŸŃ€ĐŸĐŒ.</p>"
};
export default messages;
/* spell-checker: enable */

View File

@ -1,58 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Overenie e-mailu",
"emailVerificationBody":
"Niekto vytvoril Ășčet {2} s touto e-mailovou adresou. Ak ste to vy, kliknite na niĆŸĆĄie uvedenĂœ odkaz a overte svoju e-mailovĂș adresu \n\n{0}\n\nTento odkaz uplynie do {1} minĂșt.\n\nAk ste tento Ășčet nevytvorili, ignorujte tĂșto sprĂĄvu.",
"emailVerificationBodyHtml":
'<p>Niekto vytvoril Ășčet {2} s touto e-mailovou adresou. Ak ste to vy, kliknite na niĆŸĆĄie uvedenĂœ odkaz na overenie svojej e-mailovej adresy.</p><p><a href="{0}"> Odkaz na overenie e-mailovej adresy </a></p><p>PlatnosĆ„ odkazu vyprĆĄĂ­ za {1} minĂșt.</p><p> Ak ste tento Ășčet nevytvorili, ignorujte tĂșto sprĂĄvu.</p>',
"emailTestSubject": "[KEYCLOAK] - Testovacia sprĂĄva SMTP",
"emailTestBody": "Toto je skĂșĆĄobnĂĄ sprĂĄva",
"emailTestBodyHtml": "<p>Toto je skĂșĆĄobnĂĄ sprĂĄva</p>",
"identityProviderLinkSubject": "Odkaz {0}",
"identityProviderLinkBody":
'Niekto chce prepojiĆ„ vĂĄĆĄ Ășčet "{1}" s Ășčtom {0}"pouĆŸĂ­vateÄŸa {2}. Ak ste to vy, kliknutĂ­m na odkaz niĆŸĆĄie prepojte Ășčty. \n\n{3}\n\nTento odkaz uplynie do {4} minĂșt.\n\nAk nechcete prepojiĆ„ Ășčet, jednoducho ignorujte tĂșto sprĂĄvu , Ak prepĂĄjate Ășčty, budete sa mĂŽcĆ„ prihlĂĄsiĆ„ do {1} aĆŸ {0}.',
"identityProviderLinkBodyHtml":
'<p>Niekto chce prepojiĆ„ vĂĄĆĄ Ășčet <b>{1}</b> s Ășčtom <b>{0}</b> pouĆŸĂ­vateÄŸa {2}. Ak ste to vy, kliknutĂ­m na odkaz niĆŸĆĄie prepojte Ășčty</p><p><a href="{3}">Odkaz na potvrdenie prepojenia Ășčtu </a></p><p> PlatnosĆ„ tohto odkazu vyprĆĄĂ­ v rĂĄmci {4} minĂșt.</p><p>Ak nechcete prepojiĆ„ Ășčet, ignorujte tĂșto sprĂĄvu. Ak prepojujete Ășčty, budete sa mĂŽcĆ„ prihlĂĄsiĆ„ do {1} aĆŸ {0}.</p>',
"passwordResetSubject": "Obnovenie hesla",
"passwordResetBody":
"Niekto poĆŸiadal, aby ste zmenili svoje poverenia Ășčtu {2}. Ak ste to vy, kliknite na odkaz uvedenĂœ niĆŸĆĄie, aby ste ich vynulovali.\n\n{0}\n\nTento odkaz a kĂłd uplynie do {1} minĂșt.\n\nAk nechcete obnoviĆ„ svoje poverenia , ignorujte tĂșto sprĂĄvu a nič sa nezmenĂ­.",
"passwordResetBodyHtml":
'<p>Niekto poĆŸiadal, aby ste zmenili svoje poverenia Ășčtu {2}. Ak ste to vy, kliknutĂ­m na odkaz niĆŸĆĄie ich resetujte.</p><p><a href="{0}">Odkaz na obnovenie poverenĂ­ </a></p><p>PlatnosĆ„ tohto odkazu vyprĆĄĂ­ v priebehu {1} minĂșt.</p><p>Ak nechcete obnoviĆ„ svoje poverenia, ignorujte tĂșto sprĂĄvu a nič sa nezmenĂ­.</p>',
"executeActionsSubject": "Aktualizujte svoj Ășčet",
"executeActionsBody":
"VĂĄĆĄ administrĂĄtor prĂĄve poĆŸiadal o aktualizĂĄciu vĂĄĆĄho Ășčtu {2} vykonanĂ­m nasledujĂșcich akciĂ­: {3}. KliknutĂ­m na odkaz uvedenĂœ niĆŸĆĄie spustĂ­te tento proces.\n\n{0}\n\nTento odkaz vyprĆĄĂ­ za {1} minĂșty.\n\nAk si nie ste vedomĂœ, ĆŸe vĂĄĆĄ adminstrĂĄtor o toto poĆŸiadal, ignorujte tĂșto sprĂĄvu a nič bude zmenenĂ©.",
"executeActionsBodyHtml":
'<p>VĂĄĆĄ sprĂĄvca prĂĄve poĆŸiadal o aktualizĂĄciu vĂĄĆĄho Ășčtu {2} vykonanĂ­m nasledujĂșcich akciĂ­: {3}. KliknutĂ­m na odkaz uvedenĂœ niĆŸĆĄie spustĂ­te tento proces.</p><p><a href="{0}"> Odkaz na aktualizĂĄciu Ășčtu </a></p><p> PlatnosĆ„ tohto odkazu uplynie do {1} minĂșty.</p><p> Ak si nie ste vedomĂ­, ĆŸe vĂĄĆĄ adminstrĂĄtor o toto poĆŸiadal, ignorujte tĂșto sprĂĄvu a nič sa nezmenĂ­.</p>',
"eventLoginErrorSubject": "Chyba prihlĂĄsenia",
"eventLoginErrorBody": "Bol zistenĂœ neĂșspeĆĄnĂœ pokus o prihlĂĄsenie do vĂĄĆĄho Ășčtu v {0} z {1}. Ak ste to neboli vy, obrĂĄĆ„te sa na administrĂĄtora.",
"eventLoginErrorBodyHtml":
"<p>Bol zistenĂœ neĂșspeĆĄnĂœ pokus o prihlĂĄsenie vĂĄĆĄho Ășčtu na {0} z {1}. Ak ste to neboli vy, kontaktujte administrĂĄtora.</p>",
"eventRemoveTotpSubject": "OdstråniƄ TOTP",
"eventRemoveTotpBody": "OTP bol odstrĂĄnenĂœ z vĂĄĆĄho Ășčtu dƈa {0} z {1}. Ak ste to neboli vy, obrĂĄĆ„te sa na administrĂĄtora.",
"eventRemoveTotpBodyHtml": "<p>OTP bol odstrĂĄnenĂœ z vĂĄĆĄho Ășčtu dƈa {0} z {1}. Ak ste to neboli vy, kontaktujte administrĂĄtora.</p>",
"eventUpdatePasswordSubject": "AktualizovaƄ heslo",
"eventUpdatePasswordBody": "Vaƥe heslo bolo zmenené na {0} z {1}. Ak ste to neboli vy, obråƄte sa na administråtora.",
"eventUpdatePasswordBodyHtml": "<p>Vaƥe heslo bolo zmenené na {0} z {1}. Ak ste to neboli vy, kontaktujte administråtora.</p>",
"eventUpdateTotpSubject": "AktualizĂĄcia TOTP",
"eventUpdateTotpBody": "TOTP bol aktualizovanĂœ pre vĂĄĆĄ Ășčet na {0} z {1}. Ak ste to neboli vy, obrĂĄĆ„te sa na administrĂĄtora.",
"eventUpdateTotpBodyHtml": "<p>TOTP bol aktualizovanĂœ pre vĂĄĆĄ Ășčet dƈa {0} z {1}. Ak ste to neboli vy, kontaktujte administrĂĄtora.</p>",
"requiredAction.CONFIGURE_TOTP": "KonfigurĂĄcia OTP",
"requiredAction.terms_and_conditions": "Zmluvné podmienky",
"requiredAction.UPDATE_PASSWORD": "AktualizovaƄ heslo",
"requiredAction.UPDATE_PROFILE": "AktualizovaƄ profil",
"requiredAction.VERIFY_EMAIL": "OveriƄ e-mail",
"linkExpirationFormatter.timePeriodUnit.seconds": "sekundy",
"linkExpirationFormatter.timePeriodUnit.seconds.1": "sekunda",
"linkExpirationFormatter.timePeriodUnit.minutes": "minuty",
"linkExpirationFormatter.timePeriodUnit.minutes.1": "minĂșta",
"linkExpirationFormatter.timePeriodUnit.hours": "hodiny",
"linkExpirationFormatter.timePeriodUnit.hours.1": "hodina",
"linkExpirationFormatter.timePeriodUnit.days": "dni",
"linkExpirationFormatter.timePeriodUnit.days.1": "deƈ "
};
export default messages;
/* spell-checker: enable */

View File

@ -1,46 +0,0 @@
//This code was automatically generated by running dist/bin/generate-i18n-messages.js
//PLEASE DO NOT EDIT MANUALLY
/* spell-checker: disable */
const messages = {
"emailVerificationSubject": "Verifiera e-post",
"emailVerificationBody":
"NÄgon har skapat ett {2} konto med den hÀr e-postadressen. Om det var du, klicka dÄ pÄ lÀnken nedan för att verifiera din e-postadress\n\n{0}\n\nDen hÀr lÀnken kommer att upphöra inom {1} minuter.\n\nOm det inte var du som skapade det hÀr kontot, ignorera i sÄ fall det hÀr meddelandet.",
"emailVerificationBodyHtml":
'<p>NÄgon har skapat ett {2} konto med den hÀr e-postadressen. Om det var du, klicka dÄ pÄ lÀnken nedan för att verifiera din e-postadress</p><p><a href="{0}">{0}</a></p><p>Den hÀr lÀnken kommer att upphöra inom {1} minuter.</p><p>Om det inte var du som skapade det hÀr kontot, ignorera i sÄ fall det hÀr meddelandet.</p>',
"identityProviderLinkSubject": "LĂ€nk {0}",
"identityProviderLinkBody":
'NÄgon vill lÀnka ditt "{1}" konto med "{0}" kontot tillhörande anvÀndaren {2} . Om det var du, klicka dÄ pÄ lÀnken nedan för att lÀnka kontona\n\n{3}\n\nDen hÀr lÀnken kommer att upphöra inom {4} minuter.\n\nOm du inte vill lÀnka kontot, ignorera i sÄ fall det hÀr meddelandet. Om du lÀnkar kontona, sÄ kan du logga in till {1} genom {0}.',
"identityProviderLinkBodyHtml":
'<p>NÄgon vill lÀnka ditt <b>{1}</b> konto med <b>{0}</b> kontot tillhörande anvÀndaren {2} . Om det var du, klicka dÄ pÄ lÀnken nedan för att lÀnka kontona</p><p><a href="{3}">{3}</a></p><p>Den hÀr lÀnken kommer att upphöra inom {4} minuter.</p><p>Om du inte vill lÀnka kontot, ignorera i sÄ fall det hÀr meddelandet. Om du lÀnkar kontona, sÄ kan du logga in till {1} genom {0}.</p>',
"passwordResetSubject": "ÅterstĂ€ll lösenord",
"passwordResetBody":
"NÄgon har precis bett om att Àndra anvÀndaruppgifter för ditt konto {2}. Om det var du, klicka dÄ pÄ lÀnken nedan för att ÄterstÀlla dem.\n\n{0}\n\nDen hÀr lÀnken och koden kommer att upphöra inom {1} minuter.\n\nOm du inte vill ÄterstÀlla dina kontouppgifter, ignorera i sÄ fall det hÀr meddelandet sÄ kommer inget att Àndras.",
"passwordResetBodyHtml":
'<p>NÄgon har precis bett om att Àndra anvÀndaruppgifter för ditt konto {2}. Om det var du, klicka dÄ pÄ lÀnken nedan för att ÄterstÀlla dem.</p><p><a href="{0}">{0}</a></p><p>Den hÀr lÀnken och koden kommer att upphöra inom {1} minuter.</p><p>Om du inte vill ÄterstÀlla dina kontouppgifter, ignorera i sÄ fall det hÀr meddelandet sÄ kommer inget att Àndras.</p>',
"executeActionsSubject": "Uppdatera ditt konto",
"executeActionsBody":
"Din administratör har precis bett om att du skall uppdatera ditt {2} konto. Klicka pÄ lÀnken för att pÄbörja processen.\n\n{0}\n\nDen hÀr lÀnken kommer att upphöra inom {1} minuter.\n\nOm du Àr omedveten om att din administratör har bett om detta, ignorera i sÄ fall det hÀr meddelandet sÄ kommer inget att Àndras.",
"executeActionsBodyHtml":
'<p>Din administratör har precis bett om att du skall uppdatera ditt {2} konto. Klicka pÄ lÀnken för att pÄbörja processen.</p><p><a href="{0}">{0}</a></p><p>Den hÀr lÀnken kommer att upphöra inom {1} minuter.</p><p>Om du Àr omedveten om att din administratör har bett om detta, ignorera i sÄ fall det hÀr meddelandet sÄ kommer inget att Àndras.</p>',
"eventLoginErrorSubject": "Inloggningsfel",
"eventLoginErrorBody":
"Ett misslyckat inloggningsförsök har upptÀckts pÄ ditt konto pÄ {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.",
"eventLoginErrorBodyHtml":
"<p>Ett misslyckat inloggningsförsök har upptÀckts pÄ ditt konto den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.</p>",
"eventRemoveTotpSubject": "Ta bort OTP",
"eventRemoveTotpBody": "OTP togs bort frÄn ditt konto den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.",
"eventRemoveTotpBodyHtml":
"<p>OTP togs bort frÄn ditt konto den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.</p>",
"eventUpdatePasswordSubject": "Uppdatera lösenord",
"eventUpdatePasswordBody": "Ditt lösenord Àndrades den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.",
"eventUpdatePasswordBodyHtml":
"<p>Ditt lösenord Àndrades den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.</p>",
"eventUpdateTotpSubject": "Uppdatera OTP",
"eventUpdateTotpBody": "OTP uppdaterades för ditt konto den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.",
"eventUpdateTotpBodyHtml":
"<p>OTP uppdaterades för ditt konto den {0} frÄn {1}. Om det inte var du, vÀnligen kontakta i sÄ fall en administratör.</p>"
};
export default messages;
/* spell-checker: enable */

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