diff --git a/js/apps/account-ui/maven-resources/theme/keycloak.v3/account/messages/messages_en.properties b/js/apps/account-ui/maven-resources/theme/keycloak.v3/account/messages/messages_en.properties index 331884984c..3300b830d1 100644 --- a/js/apps/account-ui/maven-resources/theme/keycloak.v3/account/messages/messages_en.properties +++ b/js/apps/account-ui/maven-resources/theme/keycloak.v3/account/messages/messages_en.properties @@ -180,3 +180,5 @@ unLinkSuccess=Successfully unlinked account applications=Applications sharedWithMe=Shared with Me username=Username +webauthn-display-name=Security Key +webauthn-help-text=Use your security key to sign in. diff --git a/js/apps/account-ui/public/locales/en/translation.json b/js/apps/account-ui/public/locales/en/translation.json deleted file mode 100644 index 9efbabec73..0000000000 --- a/js/apps/account-ui/public/locales/en/translation.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "accept": "Accept", - "accessGrantedOn": "Access granted on: ", - "accountSecurity": "Account security", - "accountUpdatedError": "Could not update account due to validation errors", - "accountUpdatedMessage": "Your account has been updated.", - "add": "Add", - "addMultivaluedLabel": "Add {{fieldLabel}}", - "aliasHelp": "Name of the configuration", - "application": "Application", - "applicationDetails": "Application details for {{clientId}}", - "applications": "Applications", - "applicationsIntroMessage": "View applications your account has access to", - "applicationType": "Application type", - "avatar": "Avatar", - "backTo": "Back to {{app}}", - "basic-authentication": "Basic authentication", - "cancel": "Cancel", - "choose": "Choose...", - "client": "Client", - "clientDescriptionHelp": "Specifies description of the client. For example 'My Client for TimeSheets'. Supports keys for localized values as well. For example: ${my_client_description}", - "clients": "Clients", - "clientTypeHelp": "The type of this resource. It can be used to group different resource instances with the same type.", - "close": "Close", - "confirm": "Confirm", - "createFlowHelp": "You can create a top level flow within this from", - "credentialCreatedAt": "<0>Created {{date}}.", - "currentSession": "Current session", - "delete": "Delete", - "deleteAccount": "Delete account", - "deleteAccountWarning": "This is irreversible. All your data will be permanently destroyed, and irretrievable.", - "deny": "Deny", - "description": "Description", - "deviceActivity": "Device activity", - "directMembership": "Direct membership", - "done": "Done", - "edit": "Edit", - "editTheResource": "Edit the resource - {{name}}", - "email": "Email", - "error-empty": "Please specify value of '{{0}}'.", - "error-invalid-blank": "Please specify value of '{{0}}'.", - "error-invalid-date": "'{{0}}' is invalid date.", - "error-invalid-email": "Invalid email address.", - "error-invalid-length-too-long": "'{{0}}' must have maximal length of {{2}}.", - "error-invalid-length-too-short": "'{{0}}' must have minimal length of {{1}}.", - "error-invalid-length": "'{{0}}' must have a length between {{1}} and {{2}}.", - "error-invalid-number": "'{{0}}' is invalid number.", - "error-invalid-uri-fragment": "'{{0}}' is invalid URL fragment.", - "error-invalid-uri-scheme": "'{{0}}' has invalid URL scheme.", - "error-invalid-uri": "'{{0}}' is invalid URL.", - "error-invalid-value": "'{{0}}' has invalid value.", - "error-number-out-of-range-too-big": "'{{0}}' must have maximal value of {{2}}.", - "error-number-out-of-range-too-small": "'{{0}}' must have minimal value of {{1}}.", - "error-number-out-of-range": "'{{0}}' must be a number between {{1}} and {{2}}.", - "error-pattern-no-match": "'{{0}}' doesn't match required format.", - "error-person-name-invalid-character": "'{{0}}' contains invalid character.", - "error-user-attribute-read-only": "The field {{0}} is read only.", - "error-user-attribute-required": "Please specify '{{0}}'.", - "error-username-invalid-character": "'{{0}}' contains invalid character.", - "errorRemovedMessage": "Could not remove {{userLabel}} due to: {{error}}", - "errorSignOutMessage": "Could not be signed out: {{error}}", - "expires": "Expires", - "filterByName": "Filter by name...", - "firstName": "First name", - "flowTypeHelp": "What kind of form is it", - "fullName": "{{givenName}} {{familyName}}", - "general": "General", - "groupDescriptionLabel": "View groups that you are associated with", - "groups": "Groups", - "groupsListColumnsNames": "Groups list columns names", - "groupsListHeader": "Groups list header", - "hasAccessTo": "Has access to", - "infoMessage": "By clicking Remove Access, you will remove granted permissions of this application. This application will no longer use your information.", - "internalApp": "Internal", - "inUse": "In use", - "invalidEmailMessage": "'{{0}}': Invalid email address.", - "ipAddress": "IP address", - "jumpToSection": "Jump to section", - "lastAccessedOn": "Last accessed", - "lastName": "Last name", - "link": "Link account", - "linkedAccounts": "Linked accounts", - "linkedAccountsIntroMessage": "Manage logins through third-party accounts.", - "linkedEmpty": "No linked providers", - "linkedLoginProviders": "Linked login providers", - "linkError": "Could not link due to: {{error}}", - "logo": "Logo", - "manageAccount": "Manage account", - "missingEmailMessage": "'{{0}}': Please specify email.", - "missingFirstNameMessage": "'{{0}}': Please specify first name.", - "missingLastNameMessage": "'{{0}}': Please specify last name.", - "missingPasswordMessage": "'{{0}}': Please specify password.", - "missingUsernameMessage": "'{{0}}': Please specify username.", - "myResources": "My Resources", - "name": "Name", - "noGroups": "No groups", - "noGroupsText": "You are not joined in any group", - "notInUse": "Not in use", - "notSetUp": "{{name}} is not set up.", - "offlineAccess": "Offline access", - "otp-display-name": "Authenticator application", - "otp-help-text": "Enter a verification code from authenticator application.", - "password-display-name": "Password", - "password-help-text": "Sign in by entering your password.", - "password": "My password", - "path": "Path", - "permissionRequest": "Permission requests - {{name}}", - "permissionRequests": "Permission requests", - "permissions": "Permissions", - "personalInfo": "Personal info", - "personalInfoDescription": "Manage your basic information", - "privacyPolicy": "Privacy policy", - "refreshPage": "Refresh the page", - "removeAccess": "Remove access", - "removeConsentError": "Could not remove consent due to: {{error}}", - "removeConsentSuccess": "Successfully removed consent", - "removeCred": "Remove {{name}}", - "removeModalMessage": "This will remove the currently granted access permission for {{name}}. You will need to grant access again if you want to use this app.", - "requestor": "Requestor", - "required": "Required", - "resourceAlreadyShared": "Resource is already shared with this user.", - "resourceIntroMessage": "Share your resources among team members", - "resourceName": "Resource name", - "resources": "Resources", - "resourceSharedWith_one": "Resource is shared with <0>{{username}}", - "resourceSharedWith_other": "Resource is shared with <0>{{username}} and <1>{{other}} other users", - "resourceSharedWith_zero": "This resource is not shared.", - "rolesScope": "If there is no role scope mapping defined, each user is permitted to use this client scope. If there are role scope mappings defined, the user must be a member of at least one of the roles.", - "save": "Save", - "scopeDescriptionHelp": "Description of the client scope", - "scopeNameHelp": "Name of the client scope. Must be unique in the realm. Name should not contain space characters as it is used as value of scope parameter", - "scopesHelp": "The scopes associated with this resource.", - "scopeTypeHelp": "Client scopes, which will be added as default scopes to each created client", - "selectALocale": "Select a locale", - "selectOne": "Select an option", - "setUpNew": "Set up {{name}}", - "share": "Share", - "sharedWithMe": "Shared with Me", - "shareError": "Could not share the resource due to: {{error}}", - "shareSuccess": "Resource successfully shared.", - "shareTheResource": "Share the resource - {{name}}", - "shareUser": "Add users to share your resource with", - "shareWith": "Share with ", - "signedInDevices": "Signed in devices", - "signedInDevicesExplanation": "Sign out of any unfamiliar devices.", - "signedOutSession": "Signed out {{browser}}/{{os}}", - "signingIn": "Signing in", - "signingInDescription": "Configure ways to sign in.", - "signOut": "Sign out", - "signOutAllDevices": "Sign out all devices", - "signOutAllDevicesWarning": "This action will sign out all the devices that have signed in to your account, including the current device you are using.", - "signOutWarning": "Sign out the session?", - "socialLogin": "Social login", - "somethingWentWrong": "Something went wrong", - "somethingWentWrongDescription": "Sorry, an unexpected error has occurred.", - "started": "Started", - "status": "Status", - "stopUsingCred": "Stop using {{name}}?", - "successRemovedMessage": "{{userLabel}} was removed.", - "systemDefined": "System defined", - "termsOfService": "Terms of service", - "thirdPartyApp": "Third-party", - "tryAgain": "Try again", - "two-factor": "Two-factor authentication", - "unknownOperatingSystem": "Unknown operating system", - "unknownUser": "Anonymous", - "unLink": "Unlink account", - "unlinkedEmpty": "No unlinked providers", - "unlinkedLoginProviders": "Unlinked login providers", - "unLinkError": "Could not unlink due to: {{error}}", - "unLinkSuccess": "Successfully unlinked account", - "unShare": "Unshare all", - "unShareAllConfirm": "Are you sure you want to completely remove all shares?", - "unShareError": "Could not un-share the resource due to: {{error}}", - "unShareSuccess": "Resource successfully un-shared.", - "update": "Update", - "updateCredAriaLabel": "Update credential", - "updateEmail": "Update email", - "updateError": "Could not update the resource due to: {{error}}", - "updateSuccess": "Resource successfully updated.", - "user": "User", - "username": "Username", - "usernamePlaceholder": "Username or email" -} diff --git a/js/apps/account-ui/src/i18next.d.ts b/js/apps/account-ui/src/i18next.d.ts index 8365abae5c..fe33a5d093 100644 --- a/js/apps/account-ui/src/i18next.d.ts +++ b/js/apps/account-ui/src/i18next.d.ts @@ -1,16 +1,10 @@ // https://www.i18next.com/overview/typescript import "i18next"; -import translation from "../public/locales/en/translation.json"; - declare module "i18next" { interface CustomTypeOptions { - defaultNS: "translation"; - resources: { - translation: typeof translation; - }; // TODO: This flag should be removed and code that errors out should be made functional. - // This will have to be done incrementally as the amount of errors the default produces is just too much. + // This will have to be done incrementally as the amount of errors the defaults produce is just too much. allowObjectInHTMLChildren: true; } } diff --git a/js/apps/admin-ui/src/i18next.d.ts b/js/apps/admin-ui/src/i18next.d.ts index d59c506c9f..16d7f165b5 100644 --- a/js/apps/admin-ui/src/i18next.d.ts +++ b/js/apps/admin-ui/src/i18next.d.ts @@ -3,8 +3,8 @@ import "i18next"; declare module "i18next" { interface CustomTypeOptions { - // TODO: These flags should be removed and code that errors out should be made functional. - // This will have to be done incrementally as the amount of errors the defaults produce is just too much. + // TODO: This flag should be removed and code that errors out should be made functional. + // This will have to be done incrementally as the amount of errors the default produces is just too much. allowObjectInHTMLChildren: true; } }