Skip to content

Translations update from Hosted Weblate - #51336

Open
weblate wants to merge 8 commits into
keycloak:mainfrom
weblate:weblate-keycloak-admin-ui
Open

Translations update from Hosted Weblate#51336
weblate wants to merge 8 commits into
keycloak:mainfrom
weblate:weblate-keycloak-admin-ui

Conversation

@weblate

@weblate weblate commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Translations update from Hosted Weblate for Keycloak/Admin UI.

Current translation status:

Weblate translation status

@weblate
weblate requested review from a team as code owners July 31, 2026 12:43
Copilot AI balanced review requested due to automatic review settings July 31, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates localized strings from Hosted Weblate across Keycloak themes and JavaScript UIs.

Changes:

  • Adds translations for workflows, passkeys, credentials, and OID4VC.
  • Improves existing login, account, email, and Admin UI translations.
  • Adds localized theme descriptions.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
themes/.../welcome/messages/messages_pt_BR.properties Adds Portuguese welcome-theme description.
themes/.../keycloak/email/messages/messages_es.properties Adds Spanish email-theme description.
themes/.../login/messages/messages_zh_Hant.properties Updates WebAuthn errors.
themes/.../login/messages/messages_tr.properties Updates recovery and wallet strings.
themes/.../login/messages/messages_pt_BR.properties Adds login, credential, and passkey strings.
themes/.../login/messages/messages_fr.properties Updates WebAuthn and provider-login strings.
themes/.../login/messages/messages_es.properties Adds a passkey error translation.
themes/.../login/messages/messages_cs.properties Updates recovery and wallet strings.
themes/.../login/messages/messages_ca.properties Corrects identity-token terminology.
themes/.../email/messages/messages_pt_BR.properties Adds credential-offer email strings.
themes/.../email/messages/messages_ca.properties Improves security and invitation emails.
themes/.../admin/messages/messages_zh_Hant.properties Adds workflow validation messages.
themes/.../admin/messages/messages_tr.properties Adds workflow validation messages.
themes/.../admin/messages/messages_pt_BR.properties Adds client and workflow messages.
themes/.../admin/messages/messages_fr.properties Adds workflow validation messages.
themes/.../admin/messages/messages_es.properties Adds workflow validation messages.
themes/.../admin/messages/messages_cs.properties Adds workflow validation messages.
themes/.../admin/messages/messages_ca.properties Adds workflow validation messages.
themes/.../account/messages/messages_pt_BR.properties Adds roles and credential-management strings.
themes/.../account/messages/messages_it.properties Refines roles and credential descriptions.
themes/.../account/messages/messages_ca.properties Improves token and revocation terminology.
js/apps/admin-ui/.../messages_tr.properties Updates scope, credential, and passkey strings.
js/apps/admin-ui/.../messages_pt_BR.properties Adds the DID translation.
js/apps/admin-ui/.../messages_it.properties Adds role translations.
js/apps/admin-ui/.../messages_fr.properties Improves scope and SSF descriptions.
js/apps/admin-ui/.../messages_cs.properties Updates scope, credential, and passkey strings.
js/apps/admin-ui/.../messages_ca.properties Corrects a translation typo.
js/apps/account-ui/.../messages_es.properties Updates the page-not-found translation.

Comment on lines +523 to +527
webauthn-error-registration-aaguid-attestation-required=Votre organisation demande des clés de sécurité vérifiées. Le format d'attestation "aucun" (none) n'est pas accepté ; veuillez utiliser une clé qui fournit une attestation.
webauthn-error-api-not-allowed=L'opération sur la clé d'accès n'a pas été autorisée ou a expirée. Vous avez peut-être annulé la demande, pris trop de temps à répondre, ou l'opération peut ne pas être autorisée dans ce contexte. Veuillez essayer à nouveau.
webauthn-error-api-invalid-state=Cette clé d'accès est déjà enregistrée.
webauthn-error-api-security=Une erreur de sécurité est arrivée durant l'opération sur la clé d'accès. Veuillez vous assurer que vous êtes sur le bon site et essayer à nouveau.
webauthn-error-duplicated-device=L'appareil existe déjà avec le même nom.
webauthn-error-api-invalid-state=Cette clé d'accès est déjà enregistrée.
webauthn-error-api-security=Une erreur de sécurité est arrivée durant l'opération sur la clé d'accès. Veuillez vous assurer que vous êtes sur le bon site et essayer à nouveau.
webauthn-error-duplicated-device=L'appareil existe déjà avec le même nom.
webauthn-error-registration-attachment-mismatch=Votre organisation demande un type de clé de sécurité différent (type d'attachement de l'authentificateur invalide ''{0}''). Veuillez utiliser le type correct.
signInWithProvider=Se connecter avec {0}
webauthn-error-registration-not-allowed-aaguid=Ce modèle de clé de sécurité n''est pas autorisé (AAGUID {0}). Veuillez utiliser une clé de sécurité différente.
webauthn-error-registration-aaguid-attestation-required=Votre organisation demande des clés de sécurité vérifiées. Le format d'attestation "aucun" (none) n'est pas accepté ; veuillez utiliser une clé qui fournit une attestation.
webauthn-error-api-not-allowed=L'opération sur la clé d'accès n'a pas été autorisée ou a expirée. Vous avez peut-être annulé la demande, pris trop de temps à répondre, ou l'opération peut ne pas être autorisée dans ce contexte. Veuillez essayer à nouveau.
clientPostLogoutRedirectURIsFragmentError=Une URI de redirection après déconnexion ne doit pas contenir de fragment d''URL
clientPostLogoutRedirectURIsIllegalSchemeError=Une URI de redirection après déconnexion utilise un schéma interdit
clientPostLogoutRedirectURIsInvalid=Une URL de redirection après déconnexion n''est pas une URI valide
workflowSingleRestartStepOnly=Un workflow ne peut avoir qu'une seule étape de redémarrage.
Comment on lines +85 to +86
workflowStepUsesRequired=La donnée ''utilise'' d'une étape ne peut pas être nulle ou vide.
workflowRestartStepMustBeLast=L'étape de redémarrage du workflow doit être la dernière étape.
Comment on lines +88 to +89
workflowStepAfterNegative=La configuration de l'étape "après" ne peut pas être négative.
workflowStepAfterInvalid=La configuration de l'étape "après" n'est pas valide : {0}.
workflowStepProviderNotFound=Impossible de trouver le fournisseur de l''étape : {0}.
workflowNameEmpty=Le nom de workflow ne peut pas être nul ou vide.
workflowNameDuplicate=Le nom de workflow doit être unique. Un workflow avec un nom "{0}" existe déjà.
workflowCannotChangeStepsWithScheduled=Impossible de changer le nombre ou l'ordre des étapes lorsqu'il y a des ressources planifiées pour le workflow.
workflowNameDuplicate=Nombre de flujo de trabajo debe ser único. Un flujo de trabajo con nombre ''{0}'' ya existe.
workflowCannotUpdateSupports=No se puede actualizar la configuración de ''supports''.
workflowExpressionMaxDepth=La expresión excede el máximo permitido con profundidad de anidamiento de {0}.
workflowExpressionMaxLength=La expresión excede el máximo permitido con longitud de {0} caracteres..
workflowConditionIdpNotSet=沒設定預期的身分提供者別名。
workflowConditionIdpNotFound=找不到名字是 {0} 的身分提供者。
workflowConditionAttributeNotSet=沒設定預期的鍵值對配對。
workflowConditionAttributeInvalid=讀取鍵值隊發生錯誤 {0} 錯誤 。預期的格式「key:value」。
@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 9ac0a58 to 61fef24 Compare July 31, 2026 12:48
Copilot AI review requested due to automatic review settings July 31, 2026 12:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 61fef24 to a850886 Compare July 31, 2026 17:45
Copilot AI review requested due to automatic review settings July 31, 2026 17:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from a850886 to 8899774 Compare July 31, 2026 18:06
Copilot AI review requested due to automatic review settings July 31, 2026 18:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@keycloak-github-bot keycloak-github-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unreported flaky test detected, please review

@keycloak-github-bot

Copy link
Copy Markdown

Unreported flaky test detected

If the flaky tests below are affected by the changes, please review and update the changes accordingly. Otherwise, a maintainer should report the flaky tests prior to merging the PR.

org.keycloak.testsuite.forms.MultipleTabsLoginTest#multipleTabsLoginAndPassiveCheck

Keycloak CI - Forms IT (chrome)

org.opentest4j.MultipleFailuresError: 
Multiple Failures (2 failures)
	org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#multipleTabsParallelLoginTestWithAuthSessionExpiredInTheMiddle

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#loginActionWithoutExecutionInRequiredActions

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#multipleTabsParallelLoginTestWithAuthSessionExpiredAndRefreshInTab1

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#testLoginPageRefresh

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#loginWithDifferentClients

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#multipleTabsParallelLoginTestWithAuthSessionExpiredAndRegisterClick

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#multipleTabsParallelLoginTest

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#expiredAuthenticationAction_expiredCodeCurrentExecution

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.forms.MultipleTabsLoginTest#testInjectRedirectUriInClientDataAfterAuthSessionExpiration

Keycloak CI - Forms IT (chrome)

org.openqa.selenium.TimeoutException: 
timeout: Timed out receiving message from renderer: 10.000
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

org.keycloak.testsuite.webauthn.registration.WebAuthnOtherSettingsTest#timeout

Keycloak CI - WebAuthn IT

org.openqa.selenium.WebDriverException: 
unknown error: unhandled inspector error: {"code":-32000,"message":"Node with given id does not belong to the document"}
  (Session info: chrome=150.0.7871.128)
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.17.0-1020-azure', java.version: '25.0.3'
...

Report flaky test

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 8899774 to 6361d13 Compare August 1, 2026 11:41
Copilot AI review requested due to automatic review settings August 1, 2026 11:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.

Suppressed comments (3)

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • 「取的」是錯字,這裡應使用表示「obtain」的「取得」,否則說明文字不通順。
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • 「權仗」是錯字;此處的 token exchange 應譯為「權杖交換」。
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3003

  • 這段更新後的說明仍遺漏英文來源中「參數化作用域目前不能指定為 Default 類型」的限制,繁中使用者因此看不到一項重要的設定約束。請補上該句。
parameterizedScopeHelp=如果開啟,則此範圍將被視為動態範圍,該範圍將包含靜態和可變部分。當多個具有重疊名稱前綴的參數化作用域被指派給同一個客戶端時,將會符合最具體(最長前綴)的作用域。

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 6361d13 to d7527d2 Compare August 2, 2026 00:46
Copilot AI review requested due to automatic review settings August 2, 2026 00:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

Suppressed comments (5)

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3003

  • This translation omits the source warning that parameterized scopes cannot be assigned as the Default type. That configuration restriction should remain visible to Traditional Chinese users.
parameterizedScopeHelp=如果開啟,則此範圍將被視為動態範圍,該範圍將包含靜態和可變部分。當多個具有重疊名稱前綴的參數化作用域被指派給同一個客戶端時,將會符合最具體(最長前綴)的作用域。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Correct the typo so this says “obtain” (取得) rather than the ungrammatical 取的.
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Correct 權仗 to the established Traditional Chinese term 權杖 for “token.”
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_fr.properties:3937

  • The idiomatic French phrase is à quel point; à que point is grammatically incorrect.
webAuthnPolicyResidentKeyHelp=Indique à l'authentificateur à que point un identifiant découvrable (clé résidente) est souhaité à l'enregistrement. Remplace et prend la priorité sur l'option obsolète 'Nécessite un identifiant découvrable'.

themes/src/main/resources-community/theme/base/admin/messages/messages_zh_Hant.properties:115

  • {0} is the invalid key-value pair (see UserAttributeWorkflowConditionProvider.java:161), but this wording presents it as the type of error. Place the argument after 「鍵值對」 so the message identifies the malformed input correctly.
workflowConditionAttributeInvalid=讀取鍵值對發生 {0} 錯誤 。預期的格式「key:value」。

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from d7527d2 to c0b1f03 Compare August 3, 2026 00:46
Copilot AI review requested due to automatic review settings August 3, 2026 00:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.

Suppressed comments (6)

themes/src/main/resources-community/theme/base/login/messages/messages_id.properties:504

  • This value is formatted with MessageFormat, so the single apostrophes are consumed and users see none without the intended quotation marks. Escape them as doubled apostrophes, consistent with the English source and the adjacent {0} translation.
webauthn-error-registration-aaguid-attestation-required=Organisasi Anda memerlukan kunci keamanan yang terverifikasi. Format atestasi 'none' tidak diterima; silakan gunakan kunci yang menyediakan atestasi.

themes/src/main/resources-community/theme/base/login/messages/messages_tr.properties:424

  • This login message is passed through MessageFormat, which consumes the unmatched apostrophe and renders Passkeyinizi. Double the apostrophe so the Turkish possessive separator remains visible.
webauthn-error-registration=Passkey'inizi kaydetme başarısız oldu.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Correct the typo so the phrase reads “obtain a new VC.”
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Correct the typo in “token exchange” (權杖交換).
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_fr.properties:3937

  • The correct French expression is à quel point, not à que point.
webAuthnPolicyResidentKeyHelp=Indique à l'authentificateur à que point un identifiant découvrable (clé résidente) est souhaité à l'enregistrement. Remplace et prend la priorité sur l'option obsolète 'Nécessite un identifiant découvrable'.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_ka.properties:1573

  • Correct ჩაართვა to the established noun form ჩართვა; the same “Enable Passkeys” translation already uses it at line 1335.
webAuthnPolicyPasswordlessPasskeysEnabled=საკვანძო გასაღებების ჩაართვა

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 804d58b to ffd65ee Compare August 10, 2026 00:26
Copilot AI review requested due to automatic review settings August 10, 2026 00:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated no new comments.

Suppressed comments (6)

themes/src/main/resources-community/theme/base/login/messages/messages_tr.properties:424

  • The login message is rendered through MessageFormat, so this unescaped apostrophe is consumed as quoting and users see Passkeyinizi. Double it to preserve the Turkish apostrophe.
webauthn-error-registration=Passkey'inizi kaydetme başarısız oldu.

themes/src/main/resources-community/theme/base/login/messages/messages_id.properties:504

  • Single quotes are control characters for the login theme's MessageFormat; these quotes disappear from the rendered message. Escape them as doubled apostrophes so the literal 'none' remains visible.
webauthn-error-registration-aaguid-attestation-required=Organisasi Anda memerlukan kunci keamanan yang terverifikasi. Format atestasi 'none' tidak diterima; silakan gunakan kunci yang menyediakan atestasi.

themes/src/main/resources-community/theme/base/login/messages/messages_fr.properties:534

  • This login bundle is processed by MessageFormat, which consumes the unescaped apostrophe and renders nest. Use the doubled-apostrophe escaping already used by the surrounding French messages.
oid4vpQrExpired=Le QR code n'est plus valide. Pour relancer le processus de connexion

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Correct the Traditional Chinese typo 取的 to 取得.
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Correct the typo 權仗 to 權杖 (token).
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_fr.properties:3937

  • Correct the French grammatical error à que point to à quel point.
webAuthnPolicyResidentKeyHelp=Indique à l'authentificateur à que point un identifiant découvrable (clé résidente) est souhaité à l'enregistrement. Remplace et prend la priorité sur l'option obsolète 'Nécessite un identifiant découvrable'.

@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from ffd65ee to 5514597 Compare August 10, 2026 14:36
Copilot AI review requested due to automatic review settings August 10, 2026 14:36
@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from 5514597 to d858c34 Compare August 10, 2026 14:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 21 out of 21 changed files in this pull request and generated no new comments.

Suppressed comments (11)

themes/src/main/resources-community/theme/base/login/messages/messages_pt_BR.properties:531

  • {0} is the identity-provider name, but this wording attaches it to the user's Keycloak account and leaves provider account {1} unlabeled. Keep {0} {1} together as the external account, matching the source message.
identityProviderLinkConfirmedAlreadyMessage=A vinculação da sua conta {0} com a conta {1} já foi confirmada.

themes/src/main/resources-community/theme/base/login/messages/messages_pt_BR.properties:251

  • {0} is the identity-provider name, but this wording attaches it to the user's Keycloak account and leaves provider account {1} unlabeled. Keep {0} {1} together as the external account, matching the source message.

This issue also appears on line 531 of the same file.

identityProviderLinkSuccess=Você confirmou com sucesso a vinculação da sua conta {0} com a conta {1}. Por favor, retorne ao seu navegador original e continue o login por lá.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:521

  • {0} is the identity-provider name and {1} its account identifier, but this translation associates {0} with the user's own account. Keep both placeholders on the external account to preserve the source meaning.
identityProviderLinkConfirmedAlreadyMessage=Verknüpfung Ihres Benutzerkontos {0} mit Benutzerkonto {1} wurde bereits bestätigt.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:523

  • Correct the German verb “is” to “ist”.
webauthn-error-registration-not-allowed-aaguid=Dieses Sicherheitsschlüssel-Modell is nicht erlaubt (AAGUID {0}). Bitte einen anderen Sicherheitsschlüssel nutzen.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Correct 取的 to 取得 so the sentence says the wallet can obtain a new VC.
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Correct 權仗 to 權杖 in the term for token exchange.
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_pt_BR.properties:1226

  • “Paudado” is misspelled; the Portuguese status should be “Pausado”.
ssfStreamStatus.paused=Paudado

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_fr.properties:3937

  • The French expression is à quel point, not à que point.
webAuthnPolicyResidentKeyHelp=Indique à l'authentificateur à que point un identifiant découvrable (clé résidente) est souhaité à l'enregistrement. Remplace et prend la priorité sur l'option obsolète 'Nécessite un identifiant découvrable'.

themes/src/main/resources-community/theme/base/login/messages/messages_fr.properties:534

  • Login messages are passed through MessageFormat, where a single apostrophe is consumed as quoting syntax, so this renders nest instead of n'est. Escape the apostrophe by doubling it.
oid4vpQrExpired=Le QR code n'est plus valide. Pour relancer le processus de connexion

themes/src/main/resources-community/theme/base/login/messages/messages_id.properties:504

  • MessageFormat consumes this pair of single quotes, so the literal attestation value is displayed without its intended quotation marks. Double each apostrophe to preserve the quotes.
webauthn-error-registration-aaguid-attestation-required=Organisasi Anda memerlukan kunci keamanan yang terverifikasi. Format atestasi 'none' tidak diterima; silakan gunakan kunci yang menyediakan atestasi.

themes/src/main/resources-community/theme/base/login/messages/messages_tr.properties:424

  • Login messages are passed through MessageFormat, so this single apostrophe is consumed and the user sees Passkeyinizi. Double it to preserve the intended apostrophe.
webauthn-error-registration=Passkey'inizi kaydetme başarısız oldu.

Copilot AI review requested due to automatic review settings August 10, 2026 14:43
@weblate
weblate force-pushed the weblate-keycloak-admin-ui branch from d858c34 to ee7dce0 Compare August 10, 2026 14:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 22 out of 22 changed files in this pull request and generated no new comments.

Suppressed comments (12)

themes/src/main/resources-community/theme/base/login/messages/messages_fr.properties:534

  • This bundle is rendered through MessageFormat, so the single apostrophe is consumed and users see “nest” instead of “n'est”. Escape it as two apostrophes, as the neighboring French messages do.
oid4vpQrExpired=Le QR code n'est plus valide. Pour relancer le processus de connexion

themes/src/main/resources-community/theme/base/login/messages/messages_pt_BR.properties:531

  • The caller supplies the identity-provider alias as {0} and its username as {1}, but this translation assigns {0} to the user's own account. Keep the two values together on the provider account to avoid displaying the alias as the local account name.
identityProviderLinkConfirmedAlreadyMessage=A vinculação da sua conta {0} com a conta {1} já foi confirmada.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:523

  • Correct the German verb “is” to “ist”.
webauthn-error-registration-not-allowed-aaguid=Dieses Sicherheitsschlüssel-Modell is nicht erlaubt (AAGUID {0}). Bitte einen anderen Sicherheitsschlüssel nutzen.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:526

  • Capitalize the formal German pronoun “Sie”.
webauthn-error-api-not-allowed=Die Passkey-Operation war nicht erlaubt oder dauerte zu lange. Sie haben die Anfrage entweder abgebrochen, die Bearbeitung dauerte zu lange oder die Operation ist in diesem Kontext nicht erlaubt. Bitte versuchen sie es erneut.

themes/src/main/resources-community/theme/base/login/messages/messages_tr.properties:424

  • Login messages are processed by MessageFormat, which consumes this apostrophe. Double it so the rendered Turkish text retains Passkey'inizi.
webauthn-error-registration=Passkey'inizi kaydetme başarısız oldu.

themes/src/main/resources-community/theme/base/login/messages/messages_id.properties:504

  • MessageFormat consumes the single quotes around this technical value, so the rendered message loses the intended quoting. Double the apostrophes, as in the English and other localized bundles.
webauthn-error-registration-aaguid-attestation-required=Organisasi Anda memerlukan kunci keamanan yang terverifikasi. Format atestasi 'none' tidak diterima; silakan gunakan kunci yang menyediakan atestasi.

themes/src/main/resources-community/theme/base/login/messages/messages_pt_BR.properties:251

  • The arguments passed for this message are the identity-provider alias and identity-provider username, respectively, but {0} is currently attached to “sua conta”. This produces text such as “sua conta github com a conta alice”; keep both placeholders on the provider account.

This issue also appears on line 531 of the same file.

identityProviderLinkSuccess=Você confirmou com sucesso a vinculação da sua conta {0} com a conta {1}. Por favor, retorne ao seu navegador original e continue o login por lá.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:521

  • The caller passes the provider alias as {0} and provider username as {1}, but this sentence attaches the alias to the user's own account. Reorder the placeholders so both identify the linked provider account.

This issue also appears in the following locations of the same file:

  • line 523
  • line 526
identityProviderLinkConfirmedAlreadyMessage=Verknüpfung Ihres Benutzerkontos {0} mit Benutzerkonto {1} wurde bereits bestätigt.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_pt_BR.properties:1226

  • Correct the Portuguese typo “Paudado” to “Pausado”.
ssfStreamStatus.paused=Paudado

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_fr.properties:3937

  • Correct the French phrase “à que point” to “à quel point”.
webAuthnPolicyResidentKeyHelp=Indique à l'authentificateur à que point un identifiant découvrable (clé résidente) est souhaité à l'enregistrement. Remplace et prend la priorité sur l'option obsolète 'Nécessite un identifiant découvrable'.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Correct “取的” to “取得” so the sentence says the wallet can obtain a new VC.
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Correct “權仗” to “權杖”, the term used for token in this bundle.
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

weblate and others added 2 commits August 10, 2026 16:51
Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Turkish

Language: tr

Updated translation for Turkish

Language: tr

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>
Added translation using Weblate (Portuguese (Brazil))

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (1 of 1 strings)

Added translation using Weblate (Portuguese (Brazil))

Updated translation for Portuguese (Brazil)

Language: pt_BR

Updated translation for Portuguese (Brazil)

Language: pt_BR

Updated translation for Portuguese (Brazil)

Language: pt_BR

Updated translation for Portuguese (Brazil)

Language: pt_BR

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Gustavo Bretas <gustavobretas@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Gustavo Bretas <gustavobretas@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-v2-login-theme/pt_BR/
Translation: Keycloak/Keycloak v2 Login theme
Copilot AI review requested due to automatic review settings August 10, 2026 14:51
weblate and others added 6 commits August 10, 2026 16:51
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: Johannes Bergmann <johbergmann@web.de>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Johannes Bergmann <johbergmann@web.de>
Updated by "Cleanup translation files" hook in Weblate.

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

Updated translation for Indonesian

Language: id

Translated using Weblate (Indonesian)

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

Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Arif Budiman <arifpedia@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Language: fr

Translated using Weblate (French)

Translation: Keycloak/Admin backend
Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/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 by "Cleanup translation files" hook in Weblate.

Updated translation for Georgian

Language: ka

Updated translation for Georgian

Language: ka

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Language: zh_Hant

Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Updated translation for Chinese (Traditional Han script)

Language: zh_Hant

Translated using Weblate (Chinese (Traditional Han script))

Translation: Keycloak/Admin backend
Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.

Suppressed comments (5)

themes/src/main/resources-community/theme/keycloak/login/messages/messages_pt_BR.properties:1

  • This file is effectively empty (only a blank line). If it’s intentionally a placeholder, consider adding a comment explaining that; otherwise, remove it to avoid clutter and confusion about whether pt_BR is actually supported for this bundle.
    themes/src/main/resources-community/theme/keycloak/email/messages/messages_pt_BR.properties:1
  • This file is effectively empty (only a blank line). If it’s not meant to override anything, it should be removed; if it is a placeholder, add an explanatory comment so future updates don’t assume translations are missing.
    js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_pt_BR.properties:1226
  • Typo in Portuguese: Paudado should be Pausado.
ssfStreamStatus.paused=Paudado

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Likely typo in Traditional Chinese: 來取的新的 VC should be 來取得新的 VC (missing ).
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_de.properties:1767

  • This change capitalizes HMAC which is good, but please also check the nearby newly-added German login string Dieses Sicherheitsschlüssel-Modell is nicht erlaubt (in themes/.../messages_de.properties)—is should be ist.
hmacGenerated=HMAC-generiert

oid4vpScanQrCodeTitle=Scanner le QR code
oid4vpScanQrCode=Utilisez votre appli de portefeuille sur un autre appareil pour scanner ce code
oid4vpQrCodeAlt=QR code pour se connecter avec un portefeuille sur un autre appareil
oid4vpQrExpired=Le QR code n'est plus valide. Pour relancer le processus de connexion
Copilot AI review requested due to automatic review settings August 10, 2026 15:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (10)

themes/src/main/resources-community/theme/keycloak/login/messages/messages_pt_BR.properties:1

  • This newly added pt_BR bundle is effectively empty (only a blank line). If this file is meant to introduce translations, it should contain key/value pairs; if not needed, consider removing it to avoid confusion and accidental theme overrides.
    themes/src/main/resources-community/theme/keycloak/email/messages/messages_pt_BR.properties:1
  • This newly added pt_BR bundle is effectively empty (only a blank line). If it isn't intended to contain translations yet, consider removing it or at least adding a comment explaining why it exists.
    themes/src/main/resources-community/theme/base/login/messages/messages_tr.properties:428
  • These strings contain an ASCII apostrophe (') which is treated specially by Java MessageFormat-based rendering used by Keycloak message bundles (it can cause the apostrophe to disappear or text to be mis-rendered). Escape the apostrophe by doubling it (e.g., Passkey''inizi) or switch to a typographic apostrophe (’) consistently, as already used elsewhere in this file.
webauthn-error-registration=Passkey'inizi kaydetme başarısız oldu.
webauthn-error-api-get=Passkey ile kimlik doğrulama başarısız oldu.
webauthn-error-different-user=İlk doğrulanan kullanıcı, Geçiş Anahtarı ile doğrulanan kullanıcı değil.
webauthn-error-auth-verification=Passkey kimlik doğrulama sonucu geçersiz.
webauthn-error-register-verification=Passkey kayıt sonucu geçersiz.

themes/src/main/resources-community/theme/base/login/messages/messages_fr.properties:534

  • This message contains an unescaped ASCII apostrophe (n'est). In Keycloak's MessageFormat-based bundles, single quotes should be escaped as '' to avoid rendering issues (e.g., n''est).
oid4vpQrExpired=Le QR code n'est plus valide. Pour relancer le processus de connexion

themes/src/main/resources-community/theme/base/login/messages/messages_id.properties:504

  • This string uses ASCII single quotes around 'none'. In MessageFormat-based rendering, single quotes should be escaped by doubling them (''none'') to avoid formatting/rendering issues.
webauthn-error-registration-aaguid-attestation-required=Organisasi Anda memerlukan kunci keamanan yang terverifikasi. Format atestasi 'none' tidak diterima; silakan gunakan kunci yang menyediakan atestasi.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_pt_BR.properties:1226

  • Correct typo in Portuguese label: 'Paudado' → 'Pausado'.
ssfStreamStatus.paused=Paudado

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:523

  • Typo in German: 'is' should be 'ist'.
webauthn-error-registration-not-allowed-aaguid=Dieses Sicherheitsschlüssel-Modell is nicht erlaubt (AAGUID {0}). Bitte einen anderen Sicherheitsschlüssel nutzen.

themes/src/main/resources-community/theme/base/login/messages/messages_de.properties:526

  • In German formal address, 'sie' should be capitalized to 'Sie' (Bitte versuchen Sie es erneut.).
webauthn-error-api-not-allowed=Die Passkey-Operation war nicht erlaubt oder dauerte zu lange. Sie haben die Anfrage entweder abgebrochen, die Bearbeitung dauerte zu lange oder die Operation ist in diesem Kontext nicht erlaubt. Bitte versuchen sie es erneut.

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:2249

  • Typo in zh-Hant: '取的新的' should be '取得新的' to read naturally.
credentialLifetimeHelp=已簽發憑證的效期。超過這個時間後,憑證將會過期且無法更新。錢包可以在效期尚未過期前更新憑證來取的新的 VC。

js/apps/admin-ui/maven-resources-community/theme/keycloak.v2/admin/messages/messages_zh_Hant.properties:3515

  • Likely typo in zh-Hant for 'token exchange': '權仗交換' should be '權杖交換'.
supportJwtClaimInIntrospectionResponseHelp=如果啟用,使用標頭「Accept: application/jwt」的內省請求還將包含名為「jwt」的聲明,其中包含以 JWT 存取權杖編碼的內省結果的聲明。此開關已棄用。請使用權仗交換功能來取代此功能。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants