Files
Weblate (bot) 658faf210f Translations update from Hosted Weblate (#44953)
* Updated translation for Turkish

Language: tr

Updated translation for Turkish

Language: tr

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

* Updated translation for German

Language: de

Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for Russian

Language: ru

Translated using Weblate (Russian)

Translation: Keycloak/Admin backend
Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/ru/

Updated translation for Russian

Language: ru

Updated translation for Russian

Language: ru

Co-authored-by: Anton Petrov <petrov9810@gmail.com>
Co-authored-by: Dmitry Mazurov <dimabzz@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Алексей Корн <korn3r@gmail.com>
Signed-off-by: Anton Petrov <petrov9810@gmail.com>
Signed-off-by: Dmitry Mazurov <dimabzz@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Алексей Корн <korn3r@gmail.com>

* Updated translation for Catalan

Language: ca

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jordi Mallach <jordi@mallach.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Jordi Mallach <jordi@mallach.net>

* Translated using Weblate (Czech)

Translation: Keycloak/Admin backend
Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/cs/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Martin Kylián <martin.kylian@gmail.com>
Signed-off-by: Martin Kylián <martin.kylian@gmail.com>

* Updated translation for Spanish

Language: es

Co-authored-by: Ariel Anthieni <aanthieni@kan.com.ar>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Ariel Anthieni <aanthieni@kan.com.ar>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for French

Language: fr

Updated translation for French

Language: fr

Updated translation for French

Language: fr

Updated translation for French

Language: fr

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>

* Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 秉虎 <s96016641@gmail.com>
Co-authored-by: 翁震軒 <benwater12@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: 秉虎 <s96016641@gmail.com>
Signed-off-by: 翁震軒 <benwater12@gmail.com>

---------

Signed-off-by: Alpertunga <a_ertin@msn.com>
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: Anton Petrov <petrov9810@gmail.com>
Signed-off-by: Dmitry Mazurov <dimabzz@gmail.com>
Signed-off-by: Алексей Корн <korn3r@gmail.com>
Signed-off-by: Jordi Mallach <jordi@mallach.net>
Signed-off-by: Martin Kylián <martin.kylian@gmail.com>
Signed-off-by: Ariel Anthieni <aanthieni@kan.com.ar>
Signed-off-by: Sylvain Pichon <service@spichon.fr>
Signed-off-by: 秉虎 <s96016641@gmail.com>
Signed-off-by: 翁震軒 <benwater12@gmail.com>
Co-authored-by: Alpertunga <a_ertin@msn.com>
Co-authored-by: Arif EROL <arif.erol16@gmail.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Anton Petrov <petrov9810@gmail.com>
Co-authored-by: Dmitry Mazurov <dimabzz@gmail.com>
Co-authored-by: Алексей Корн <korn3r@gmail.com>
Co-authored-by: Jordi Mallach <jordi@mallach.net>
Co-authored-by: Martin Kylián <martin.kylian@gmail.com>
Co-authored-by: Ariel Anthieni <aanthieni@kan.com.ar>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: 秉虎 <s96016641@gmail.com>
Co-authored-by: 翁震軒 <benwater12@gmail.com>
2025-12-21 22:15:31 +01: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