keycloak/js/apps/admin-ui
Weblate (bot) d75d61abaa
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Translations update from Hosted Weblate (#47175)
* Updated translation for Turkish

Language: tr

Updated translation for Turkish

Language: tr

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Arif EROL <arif.erol16@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Arif EROL <arif.erol16@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for German

Language: de

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robin <39960884+robson90@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Robin <39960884+robson90@users.noreply.github.com>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for Romanian

Language: ro

Updated translation for Romanian

Language: ro

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Romanian

Language: ro

Updated translation for Romanian

Language: ro

Updated translation for Romanian

Language: ro

Updated translation for Romanian

Language: ro

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Liviu Roman <contact@liviuroman.com>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Italian

Language: it

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: albanobattistella <albano_battistella@hotmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: albanobattistella <albano_battistella@hotmail.com>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Indonesian

Language: id

Updated translation for Indonesian

Language: id

Updated translation for Indonesian

Language: id

Co-authored-by: Andika Triwidada <andika@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Andika Triwidada <andika@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for Dutch

Language: nl

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Dutch

Language: nl

Updated translation for Dutch

Language: nl

Co-authored-by: Andy Airey <airey.andy@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jan Herrygers <jherrygers@vaa.com>
Signed-off-by: Andy Airey <airey.andy@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Jan Herrygers <jherrygers@vaa.com>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for French

Language: fr

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for French

Language: fr

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Sylvain Pichon <service@spichon.fr>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Swedish

Language: sv

Updated translation for Swedish

Language: sv

Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Daniel Nylander <daniel@danielnylander.se>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

---------

Signed-off-by: Arif EROL <arif.erol16@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Robin <39960884+robson90@users.noreply.github.com>
Signed-off-by: Liviu Roman <contact@liviuroman.com>
Signed-off-by: albanobattistella <albano_battistella@hotmail.com>
Signed-off-by: Andika Triwidada <andika@gmail.com>
Signed-off-by: Andy Airey <airey.andy@gmail.com>
Signed-off-by: Jan Herrygers <jherrygers@vaa.com>
Signed-off-by: Sylvain Pichon <service@spichon.fr>
Signed-off-by: Daniel Nylander <daniel@danielnylander.se>
Co-authored-by: Arif EROL <arif.erol16@gmail.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Robin <39960884+robson90@users.noreply.github.com>
Co-authored-by: Liviu Roman <contact@liviuroman.com>
Co-authored-by: albanobattistella <albano_battistella@hotmail.com>
Co-authored-by: Andika Triwidada <andika@gmail.com>
Co-authored-by: Andy Airey <airey.andy@gmail.com>
Co-authored-by: Jan Herrygers <jherrygers@vaa.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
2026-03-20 01:31:38 +01:00
..
maven-resources Allow read-only view of IDP mapper config with view-identity-providers role 2026-03-18 14:17:02 +01:00
maven-resources-community/theme/keycloak.v2/admin/messages Translations update from Hosted Weblate (#47175) 2026-03-20 01:31:38 +01:00
public Show login page for quick theme and change basic attributes (#45483) 2026-02-13 16:34:42 +01:00
src Allow read-only view of IDP mapper config with view-identity-providers role 2026-03-18 14:17:02 +01:00
test Hide 'Include sub-group users' for org groups. 2026-03-18 14:12:55 +01:00
.gitignore Add lib directory of Admin Console to .gitignore (#31579) 2024-07-24 17:31:35 +02:00
CONTRIBUTING.md Add documentation for running UI test cases locally using playwright 2026-01-28 12:29:13 +01:00
package.json removed static reference to i18n and environment (#46315) 2026-03-16 18:12:28 +01:00
playwright.config.ts Disable test retries for admin console (#42289) 2025-09-02 15:49:33 -04:00
pom.xml Update custom Maven build cache configuration for js directory 2024-12-10 10:07:02 +00:00
README.md Replace i18next backend with i18next-fetch-backend (#37633) 2025-02-26 08:36:12 -05:00
tsconfig.json Move root PNPM workspace to js directory (#35456) 2024-11-29 17:20:32 +01:00
tsconfig.node.json Rework project structure so it matches the main repo 2023-03-07 11:55:19 +01:00
vite.config.ts in development mode use the message.properties as file (#39406) 2025-05-16 09:15:35 -04:00

Keycloak Admin UI

This project is the next generation of the Keycloak Admin UI. It is written with React and PatternFly 4 and uses Vite.

Features

Contains all the "pages" from the admin-ui as re-usable components, all the functions to save and the side menu to use in your own build of the admin-ui

Install

npm i @keycloak/keycloak-admin-ui

Usage

To use these pages you'll need to add KeycloakProvider in your component hierarchy to setup what client, realm and url to use.

import { KeycloakProvider } from "@keycloak/keycloak-ui-shared";

//...

<KeycloakProvider environment={{
      authServerUrl: "http://localhost:8080",
      realm: "master",
      clientId: "security-admin-console"
  }}>
  {/* rest of you application */}
</KeycloakProvider>

Translation

For the translation we use react-i18next you can set it up as described on their website. If you want to use the translations that are provided then you need to add i18next-fetch-backend to your project and add:


backend: {
  loadPath: `http://localhost:8180/resources/master/admin/{{lng}}`,
  parse: (data: string) => {
    const messages = JSON.parse(data);

    return Object.fromEntries(
      messages.map(({ key, value }) => [key, value])
    );
  },
},

to the i18next config object.

Building

To build a library instead of an app you need to add the LIB=true environment variable.

LIB=true pnpm run build