mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-10 15:32:05 -03:30
* Updated translation for Turkish Language: tr 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 Portuguese (Brazil) Language: pt_BR Updated translation for Portuguese (Brazil) Language: pt_BR Co-authored-by: Felipe Zorzo <felipe.b.zorzo@gmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Signed-off-by: Felipe Zorzo <felipe.b.zorzo@gmail.com> Signed-off-by: Hosted Weblate <hosted@weblate.org> * Updated translation for German Language: de Updated translation for German Language: de Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Robin <39960884+robson90@users.noreply.github.com> Co-authored-by: Till Reymann <till.reymann@gmail.com> Signed-off-by: Hosted Weblate <hosted@weblate.org> Signed-off-by: Robin <39960884+robson90@users.noreply.github.com> Signed-off-by: Till Reymann <till.reymann@gmail.com> * Updated translation for Russian Language: ru Co-authored-by: Eugene Pasternak <pasternake@gmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Signed-off-by: Eugene Pasternak <pasternake@gmail.com> Signed-off-by: Hosted Weblate <hosted@weblate.org> * Updated translation for Romanian Language: ro Updated translation for Romanian Language: ro Updated translation for Romanian Language: ro Translated using Weblate (Romanian) Translation: Keycloak/Theme base/admin Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/ro/ 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> * Updated translation for Catalan Language: ca Updated translation for Catalan Language: ca Updated translation for Catalan Language: ca 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> * 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> Signed-off-by: Hosted Weblate <hosted@weblate.org> Signed-off-by: 秉虎 <s96016641@gmail.com> * Updated translation for Chinese (Simplified Han script) Language: zh_Hans Updated translation for Chinese (Simplified Han script) Language: zh_Hans Translated using Weblate (Chinese (Simplified Han script)) Translation: Keycloak/Theme base/admin Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/zh_Hans/ Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Nagi <nagi@mptree.com> Signed-off-by: Hosted Weblate <hosted@weblate.org> Signed-off-by: Nagi <nagi@mptree.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: Felipe Zorzo <felipe.b.zorzo@gmail.com> Signed-off-by: Robin <39960884+robson90@users.noreply.github.com> Signed-off-by: Till Reymann <till.reymann@gmail.com> Signed-off-by: Eugene Pasternak <pasternake@gmail.com> Signed-off-by: Liviu Roman <contact@liviuroman.com> Signed-off-by: Jordi Mallach <jordi@mallach.net> Signed-off-by: Sylvain Pichon <service@spichon.fr> Signed-off-by: 秉虎 <s96016641@gmail.com> Signed-off-by: Nagi <nagi@mptree.com> Co-authored-by: Alpertunga <a_ertin@msn.com> Co-authored-by: Arif EROL <arif.erol16@gmail.com> Co-authored-by: Felipe Zorzo <felipe.b.zorzo@gmail.com> Co-authored-by: Robin <39960884+robson90@users.noreply.github.com> Co-authored-by: Till Reymann <till.reymann@gmail.com> Co-authored-by: Eugene Pasternak <pasternake@gmail.com> Co-authored-by: Liviu Roman <contact@liviuroman.com> Co-authored-by: Jordi Mallach <jordi@mallach.net> Co-authored-by: Sylvain Pichon <service@spichon.fr> Co-authored-by: 秉虎 <s96016641@gmail.com> Co-authored-by: Nagi <nagi@mptree.com>
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