@keycloakify/keycloak-account-ui 260200.1.3 → 260305.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/KcAccountUiLoader.d.ts +33 -0
- package/KcAccountUiLoader.js +32 -10
- package/KcAccountUiLoader.js.map +1 -1
- package/keycloak-theme/account/KcPage.tsx +1 -1
- package/keycloak-theme/account/account-security/AccountRow.tsx +7 -11
- package/keycloak-theme/account/account-security/SigningIn.tsx +3 -3
- package/keycloak-theme/account/api/methods.ts +0 -25
- package/keycloak-theme/account/i18n/messages_ca.properties +8 -7
- package/keycloak-theme/account/i18n/messages_de.properties +1 -0
- package/keycloak-theme/account/i18n/messages_el.properties +1 -1
- package/keycloak-theme/account/i18n/messages_en.properties +19 -0
- package/keycloak-theme/account/i18n/messages_es.properties +1 -0
- package/keycloak-theme/account/i18n/messages_fr.properties +5 -4
- package/keycloak-theme/account/i18n/messages_it.properties +1 -0
- package/keycloak-theme/account/i18n/messages_ja.properties +72 -71
- package/keycloak-theme/account/i18n/messages_ka.properties +1 -0
- package/keycloak-theme/account/i18n/messages_ky.properties +226 -0
- package/keycloak-theme/account/i18n/messages_pt_BR.properties +154 -28
- package/keycloak-theme/account/i18n/messages_ru.properties +74 -14
- package/keycloak-theme/account/personal-info/PersonalInfo.tsx +15 -10
- package/keycloak-theme/account/root/Root.tsx +18 -4
- package/package.json +6 -6
- package/src/KcAccountUiLoader.tsx +86 -11
- package/src/zKcContextLike.ts +2 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/zKcContextLike.js +2 -1
- package/zKcContextLike.js.map +1 -1
|
@@ -14,30 +14,30 @@ signOutAllDevices=Finalizar Sessão em Todos os Dispositivos
|
|
|
14
14
|
backTo=Voltar para {{app}}
|
|
15
15
|
applicationType=Tipo de aplicação
|
|
16
16
|
myResources=Meus Recursos
|
|
17
|
-
linkedAccountsIntroMessage=
|
|
18
|
-
password=
|
|
17
|
+
linkedAccountsIntroMessage=Gerencie logins por meio de contas de terceiros.
|
|
18
|
+
password=Minha senha
|
|
19
19
|
setUpNew=Configurar {{name}}
|
|
20
20
|
lastAccessedOn=Último acesso em
|
|
21
21
|
resourceAlreadyShared=O recurso já foi compartilhado com este usuário.
|
|
22
22
|
permissions=Permissões
|
|
23
23
|
accountUpdatedMessage=Sua conta foi atualizada.
|
|
24
|
-
credentialCreatedAt
|
|
24
|
+
credentialCreatedAt=<0>Criado</0> {{date}}.
|
|
25
25
|
password-help-text=Entre inserindo a sua senha.
|
|
26
26
|
deleteAccount=Apagar Conta
|
|
27
27
|
infoMessage=Ao clicar em 'Remover Acesso', você irá remover as permissões concedidas a esta aplicação. Ela não poderá mais utilizar as suas informações.
|
|
28
28
|
add=Adicionar
|
|
29
29
|
unknownOperatingSystem=Sistema Operacional Desconhecido
|
|
30
30
|
edit=Editar
|
|
31
|
-
otp-display-name=
|
|
31
|
+
otp-display-name=Aplicativo Autenticador
|
|
32
32
|
ipAddress=Endereço IP
|
|
33
33
|
resourceName=Nome do Recurso
|
|
34
|
-
unlinkedEmpty=Nenhum
|
|
34
|
+
unlinkedEmpty=Nenhum provedor vinculado
|
|
35
35
|
linkedEmpty=Nenhum Provedor Conectado
|
|
36
36
|
done=Pronto
|
|
37
37
|
basic-authentication=Autenticação Básica
|
|
38
38
|
socialLogin=Login Social
|
|
39
39
|
notInUse=Não utilizado
|
|
40
|
-
unShareAllConfirm=Tem certeza de que
|
|
40
|
+
unShareAllConfirm=Tem certeza de que deseja remover todos os compartilhamentos?
|
|
41
41
|
firstName=Primeiro nome
|
|
42
42
|
two-factor=Autenticação de Dois Fatores
|
|
43
43
|
name=Nome
|
|
@@ -46,7 +46,7 @@ unknownUser=Anônimo
|
|
|
46
46
|
offlineAccess=Acesso Offline
|
|
47
47
|
removeModalMessage=Isto irá remover a permissão atual de acesso concedido para {{name}}. Você precisará repetir o processo de concessão se for utilizar o app novamente.
|
|
48
48
|
lastName=Sobrenome
|
|
49
|
-
invalidEmailMessage=
|
|
49
|
+
invalidEmailMessage='{{0}}': Email inválido.
|
|
50
50
|
password-display-name=Senha
|
|
51
51
|
expires=Expira em
|
|
52
52
|
notSetUp={{name}} não está configurada.
|
|
@@ -57,14 +57,14 @@ link=Conectar Conta
|
|
|
57
57
|
description=Descrição
|
|
58
58
|
update=Atualizar
|
|
59
59
|
signedInDevices=Dispositivos autenticados
|
|
60
|
-
missingPasswordMessage=Por favor, informe a senha.
|
|
61
|
-
otp-help-text=Insira o código de verificação do
|
|
60
|
+
missingPasswordMessage='{{0}}': Por favor, informe a senha.
|
|
61
|
+
otp-help-text=Insira o código de verificação do aplicativo autenticador.
|
|
62
62
|
currentSession=Sessão Atual
|
|
63
|
-
missingEmailMessage=Por favor, informe o
|
|
64
|
-
applicationsIntroMessage=
|
|
65
|
-
missingLastNameMessage=Por favor, informe o sobrenome.
|
|
63
|
+
missingEmailMessage='{{0}}': Por favor, informe o email.
|
|
64
|
+
applicationsIntroMessage=Veja os aplicativos aos quais sua conta tem acesso
|
|
65
|
+
missingLastNameMessage='{{0}}': Por favor, informe o sobrenome.
|
|
66
66
|
linkedLoginProviders=Provedores de Acesso Conectados
|
|
67
|
-
missingFirstNameMessage=Por favor, informe o primeiro nome.
|
|
67
|
+
missingFirstNameMessage='{{0}}': Por favor, informe o primeiro nome.
|
|
68
68
|
signedOutSession=Deslogado {{browser}}/{{os}}
|
|
69
69
|
inUse=Em uso
|
|
70
70
|
client=Cliente
|
|
@@ -72,31 +72,157 @@ share=Compartilhar
|
|
|
72
72
|
systemDefined=Definido pelo Sistema
|
|
73
73
|
close=Fechar
|
|
74
74
|
internalApp=Interna
|
|
75
|
-
email=
|
|
76
|
-
accessGrantedOn=Acesso concedido em
|
|
77
|
-
signOutWarning=Finalizar
|
|
78
|
-
unShareSuccess=
|
|
79
|
-
signOutAllDevicesWarning=Esta ação
|
|
80
|
-
signingIn=Entrando
|
|
81
|
-
permissionRequests=
|
|
75
|
+
email=Email
|
|
76
|
+
accessGrantedOn=Acesso concedido em:
|
|
77
|
+
signOutWarning=Finalizar sessão?
|
|
78
|
+
unShareSuccess=Recurso descompartilhado com sucesso.
|
|
79
|
+
signOutAllDevicesWarning=Esta ação desconectará todos os dispositivos que fizeram login na sua conta, incluindo o dispositivo atual que você está usando.
|
|
80
|
+
signingIn=Entrando
|
|
81
|
+
permissionRequests=Solicitações de permissão
|
|
82
82
|
shareSuccess=O recurso foi compartilhado com sucesso.
|
|
83
83
|
stopUsingCred=Para de usar {{name}}?
|
|
84
84
|
thirdPartyApp=De Terceiros
|
|
85
|
-
missingUsernameMessage=Por favor, especifique o nome de usuário.
|
|
85
|
+
missingUsernameMessage='{{0}}': Por favor, especifique o nome de usuário.
|
|
86
86
|
fullName={{givenName}} {{familyName}}
|
|
87
87
|
resources=Recursos
|
|
88
|
-
started=
|
|
89
|
-
resourceIntroMessage=Compartilhe seus recursos com membros
|
|
88
|
+
started=Iniciado
|
|
89
|
+
resourceIntroMessage=Compartilhe seus recursos com membros da equipe
|
|
90
90
|
unLink=Desconectar Conta
|
|
91
|
-
requestor=
|
|
92
|
-
updateSuccess=
|
|
91
|
+
requestor=Solicitante
|
|
92
|
+
updateSuccess=Recurso atualizado com sucesso.
|
|
93
93
|
application=Aplicativo
|
|
94
94
|
unShare=Descompartilhar tudo
|
|
95
|
-
unlinkedLoginProviders=Provedores de
|
|
96
|
-
applicationDetails=Detalhes da Aplicação
|
|
97
|
-
successRemovedMessage={{userLabel}}
|
|
95
|
+
unlinkedLoginProviders=Provedores de login não vinculados
|
|
96
|
+
applicationDetails=Detalhes da Aplicação {{clientId}}
|
|
97
|
+
successRemovedMessage={{userLabel}} removido com sucesso.
|
|
98
98
|
deleteAccountWarning=Esta ação é irreversível. Todos os seus dados serão apagados permanentemente e não poderão ser recuperados.
|
|
99
99
|
removeAccess=Remover Acesso
|
|
100
100
|
user=Usuário
|
|
101
101
|
applications=Aplicativos
|
|
102
102
|
username=Nome de usuário
|
|
103
|
+
removeConsentSuccess=Consentimento removido com sucesso
|
|
104
|
+
noGroupsText=Você não está participando de nenhum grupo
|
|
105
|
+
required=Obrigatório
|
|
106
|
+
path=Caminho
|
|
107
|
+
deviceActivity=Atividade do dispositivo
|
|
108
|
+
error-username-invalid-character='{{0}}' contém caractere inválido.
|
|
109
|
+
usernamePlaceholder=Nome do usuário ou e-mail
|
|
110
|
+
scopesHelp=Os escopos associados com este recurso.
|
|
111
|
+
deny=Negar
|
|
112
|
+
selectALocale=Selecione um local
|
|
113
|
+
signOut=Sair
|
|
114
|
+
accept=Aceitar
|
|
115
|
+
updateEmail=Atualizar email
|
|
116
|
+
status=Status
|
|
117
|
+
error-invalid-blank=Por favor, especifique um valor de '{{0}}'.
|
|
118
|
+
profileScopeConsentText=Perfil de usuário
|
|
119
|
+
phoneScopeConsentText=Número de telefone
|
|
120
|
+
emailScopeConsentText=Email
|
|
121
|
+
addressScopeConsentText=Endereço
|
|
122
|
+
offlineAccessScopeConsentText=Acesso Offline
|
|
123
|
+
termsAndConditionsDeclined=Você precisa aceitar os termos e condições para continuar
|
|
124
|
+
directMembership=Associação direta
|
|
125
|
+
error-invalid-length-too-short='{{0}}' deve ter o tamanho mínimo de {{1}}.
|
|
126
|
+
linkedAccounts=Contas vinculadas
|
|
127
|
+
refresh=Atualizar
|
|
128
|
+
defaultLocale=Selecione...
|
|
129
|
+
error-invalid-email=Endereço de email inválido.
|
|
130
|
+
error-invalid-value='{{0}}' tem valor inválido.
|
|
131
|
+
choose=Selecione...
|
|
132
|
+
delete=Excluir
|
|
133
|
+
updateCredAriaLabel=Atualizar credencial
|
|
134
|
+
resourceSharedWith_one=O recurso está compartilhado com <0>{{username}}</0>
|
|
135
|
+
resourceSharedWith_zero=Esse recurso não é compartilhado.
|
|
136
|
+
save=Salvar
|
|
137
|
+
error-user-attribute-required=Por favor, informe '{{0}}'.
|
|
138
|
+
scopeTypeHelp=Escopos de cliente, que serão adicionados como escopos padrão a cada cliente criado
|
|
139
|
+
error-empty=Por favor, especifique um valor de '{{0}}'.
|
|
140
|
+
error-invalid-uri-fragment='{{0}}' é um fragmento da URL inválido.
|
|
141
|
+
removeConsentError=Não foi possível remover o consentimento devido a: {{error}}
|
|
142
|
+
groupsListHeader=Cabeçalho da lista de grupos
|
|
143
|
+
privacyPolicy=Política de privacidade
|
|
144
|
+
avatar=Avatar
|
|
145
|
+
confirm=Confirmar
|
|
146
|
+
selectOne=Selecione uma opção
|
|
147
|
+
personalInfoDescription=Gerencie suas informações básicas
|
|
148
|
+
signingInDescription=Configure as formas de login.
|
|
149
|
+
personalInfo=Informações pessoais
|
|
150
|
+
flowTypeHelp=Que tipo de formulário é esse
|
|
151
|
+
accountSecurity=Segurança da conta
|
|
152
|
+
groupDescriptionLabel=Visualizar os grupos aos quais você está associado
|
|
153
|
+
manageAccount=Gerenciar conta
|
|
154
|
+
error-invalid-length-too-long='{{0}}' precisa ter um tamanho máximo de {{2}}.
|
|
155
|
+
shareError=Não foi possível compartilhar o recurso devido a: {{error}}
|
|
156
|
+
logo=Logo
|
|
157
|
+
permissionRequest=Solicitações de permissão - {{name}}
|
|
158
|
+
somethingWentWrong=Alguma coisa deu errado
|
|
159
|
+
tryAgain=Tente novamente
|
|
160
|
+
rolesScope=Se não houver mapeamento de escopo de papel definido, cada usuário terá permissão para usar este escopo de cliente. Se houver mapeamentos de escopo de papel definidos, o usuário deve ser membro de pelo menos um dos papéis.
|
|
161
|
+
unShareError=Não foi possível desfazer o compartilhamento do recurso devido a: {{error}}
|
|
162
|
+
clientTypeHelp=O tipo deste recurso. Pode ser usado para agrupar diferentes instâncias de recurso com o mesmo tipo.
|
|
163
|
+
noGroups=Nenhum grupo
|
|
164
|
+
error-invalid-number='{{0}}' é um número inválido.
|
|
165
|
+
shareTheResource=Compartilhar o recurso - {{nome}}
|
|
166
|
+
groupsListColumnsNames=Nomes das colunas da lista de grupos
|
|
167
|
+
error-user-attribute-read-only=O campo {{0}} é somente leitura.
|
|
168
|
+
error-invalid-date='{{0}}' é uma data inválida.
|
|
169
|
+
general=Geral
|
|
170
|
+
unLinkError=Não foi possível desvincular devido a: {{error}}
|
|
171
|
+
errorSignOutMessage=Não foi possível finalizar a sessão: {{error}}
|
|
172
|
+
hasAccessTo=Tem acesso a
|
|
173
|
+
updateError=Não foi possível atualizar o recurso devido a: {{error}}
|
|
174
|
+
editTheResource=Editar o recurso - {{name}}
|
|
175
|
+
aliasHelp=Nome da configuração
|
|
176
|
+
groups=Grupos
|
|
177
|
+
errorRemovedMessage=Não foi possível remover {{userLabel}} devido a: {{error}}
|
|
178
|
+
termsOfService=Termos de serviço
|
|
179
|
+
jumpToSection=Ir para a seção
|
|
180
|
+
linkError=Não foi possível vincular devido a: {{error}}
|
|
181
|
+
shareWith=Compartilhar com
|
|
182
|
+
error-pattern-no-match='{{0}}' não corresponde ao formato exigido.
|
|
183
|
+
resourceSharedWith_other=Recurso compartilhado com <0>{{username}}\\</0> e <1>{{other}}\\</1> outros usuários
|
|
184
|
+
error-person-name-invalid-character='{{0}}' contém caractere inválido.
|
|
185
|
+
unLinkSuccess=Conta desvinculada com sucesso
|
|
186
|
+
sharedWithMe=Compartilhados Comigo
|
|
187
|
+
webauthn-passwordless-display-name=Chave de Segurança
|
|
188
|
+
webauthn-help-text=Use sua chave de segurança para fazer login.
|
|
189
|
+
webauthn-passwordless-help-text=Use sua chave de segurança para fazer login sem senha.
|
|
190
|
+
passwordless=Sem senha
|
|
191
|
+
error-invalid-multivalued-size=O atributo {{0}} deve ter no mínimo {{1}} e no máximo {{2}} valor(es).
|
|
192
|
+
recovery-authn-code=Meus códigos de autenticação de recuperação
|
|
193
|
+
recovery-authn-codes-display-name=Códigos de autenticação de recuperação
|
|
194
|
+
recovery-authn-codes-help-text=Estes códigos podem ser usados para recuperar seu acesso caso seus outros métodos de 2FA não estejam disponíveis.
|
|
195
|
+
recovery-codes-number-used={{0}} códigos de recuperação usados
|
|
196
|
+
recovery-codes-number-remaining={{0}} códigos de recuperação restantes
|
|
197
|
+
recovery-codes-generate-new-codes=Gere novos códigos para garantir acesso à sua conta
|
|
198
|
+
oid4vci=Credenciais Verificáveis
|
|
199
|
+
verifiableCredentialsTitle=Credenciais Verificáveis
|
|
200
|
+
verifiableCredentialsDescription=Selecione a credencial para importar para sua carteira.
|
|
201
|
+
verifiableCredentialsIssuerAlert=Não foi possível obter as informações do emissor.
|
|
202
|
+
verifiableCredentialsConfigAlert=Não foi possível obter a configuração de credencial.
|
|
203
|
+
verifiableCredentialsOfferAlert=Não foi possível obter uma oferta.
|
|
204
|
+
verifiableCredentialsSelectionDefault=Selecione a configuração de credencial.
|
|
205
|
+
organizations=Organizações
|
|
206
|
+
emptyUserOrganizations=Nenhuma organização
|
|
207
|
+
searchOrganization=Buscar por organização
|
|
208
|
+
organizationList=Lista de organizações
|
|
209
|
+
domains=Domínios
|
|
210
|
+
error-number-out-of-range-too-small='{{0}}' precisa ter um valor mínimo de {{1}}.
|
|
211
|
+
scopeNameHelp=Nome do escopo de cliente. Deve ser único no realm. O nome não deve conter espaços, pois é usado como valor do parâmetro de escopo
|
|
212
|
+
createFlowHelp=Você pode criar um fluxo de nível superior dentro deste formulário
|
|
213
|
+
error-invalid-length='{{0}}' precisa ter um tamanho entre {{1}} e {{2}} caracteres.
|
|
214
|
+
webauthn-display-name=Chave de Segurança
|
|
215
|
+
clientDescriptionHelp=Especifica a descrição do cliente. Por exemplo 'Meu cliente para TimeSheets'. Também aceita chaves para valores localizados. Por exemplo: ${meu_cliente_descricao}
|
|
216
|
+
error-number-out-of-range-too-big='{{0}}' precisa ter um valor máximo de {{2}}.
|
|
217
|
+
addMultivaluedLabel=Adicionar {{fieldLabel}}
|
|
218
|
+
error-number-out-of-range='{{0}}' deve ser um número entre {{1}} e {{2}}.
|
|
219
|
+
shareUser=Adicionar usuários para compartilhar seu recurso
|
|
220
|
+
samlRoleListScopeConsentText=Meus Papéis
|
|
221
|
+
organizationDescription=Visualizar as organizações às quais você se juntou
|
|
222
|
+
error-invalid-uri-scheme='{{0}}' tem um esquema de URL inválido.
|
|
223
|
+
scopeDescriptionHelp=Descrição do escopo de cliente
|
|
224
|
+
rolesScopeConsentText=Papéis de usuário
|
|
225
|
+
somethingWentWrongDescription=Desculpe, ocorreu um erro inesperado.
|
|
226
|
+
error-invalid-uri='{{0}}' é uma URL inválida.
|
|
227
|
+
emptyUserOrganizationsInstructions=Você ainda não se juntou a nenhuma organização.
|
|
228
|
+
accountUpdatedError=Não foi possível atualizar a conta devido a erros de validação
|
|
@@ -22,6 +22,7 @@ credentialCreatedAt=<0>Создан</0> {{date}}.
|
|
|
22
22
|
error-username-invalid-character='{{0}}' содержит недопустимый символ.
|
|
23
23
|
usernamePlaceholder=Имя пользователя или email
|
|
24
24
|
infoMessage=Нажав кнопку Удалить доступ, вы удалите предоставленные разрешения для этого приложения. Это приложение больше не будет использовать вашу информацию.
|
|
25
|
+
scopesHelp=Области, связанные с этим ресурсом.
|
|
25
26
|
unknownOperatingSystem=Неизвестная операционная система
|
|
26
27
|
deny=Запрещено
|
|
27
28
|
edit=Редактировать
|
|
@@ -34,37 +35,47 @@ accept=Подтвердить
|
|
|
34
35
|
error-invalid-length-too-short='{{0}}' должна иметь минимальную длину {{1}}.
|
|
35
36
|
resourceSharedWith_one=Ресурс является общим для <0>{{username}}</0>
|
|
36
37
|
error-number-out-of-range-too-big='{{0}}' должно иметь максимальное значение {{2}}.
|
|
38
|
+
updateEmail=Обновить e-mail
|
|
37
39
|
two-factor=Двухфакторная аутентификация
|
|
38
40
|
resourceSharedWith_zero=Этот ресурс не является общим.
|
|
39
41
|
signedInDevicesExplanation=Выполните выход с незнакомых устройств.
|
|
42
|
+
addMultivaluedLabel=Добавить {{fieldLabel}}
|
|
40
43
|
status=Статус
|
|
41
44
|
error-number-out-of-range-too-small='{{0}}' должно иметь минимальное значение {{1}}.
|
|
45
|
+
invalidEmailMessage='{{0}}': Неверный адрес электронной почты.
|
|
42
46
|
lastName=Фамилия
|
|
43
47
|
removeModalMessage=Это приведет к удалению предоставленного в данный момент разрешения доступа для {{name}}. Вам нужно будет снова предоставить доступ, если вы хотите использовать это приложение.
|
|
44
48
|
clients=Клиенты
|
|
49
|
+
createFlowHelp=Вы можете создать сценарий верхнего уровня в этом
|
|
45
50
|
filterByName=Фильтровать по названию...
|
|
46
51
|
refreshPage=Обновить страницу
|
|
47
52
|
save=Сохранить
|
|
48
53
|
error-user-attribute-required=Пожалуйста, уточните '{{0}}'.
|
|
49
54
|
currentSession=Текущая сессия
|
|
55
|
+
clientDescriptionHelp=Указывает описание клиента. Например, "Мой клиент для расписаний". Поддерживает также ключи для локализованных значений. Например: ${my_client_description}
|
|
56
|
+
scopeTypeHelp=Клиентские области, которые будут добавлены в качестве областей по умолчанию для каждого созданного клиента
|
|
50
57
|
error-empty=Пожалуйста, укажите значение '{{0}}'.
|
|
51
58
|
error-invalid-uri-fragment='{{0}}' является недопустимым фрагментом URL-адреса.
|
|
52
59
|
error-invalid-blank=Пожалуйста, укажите значение '{{0}}'.
|
|
60
|
+
missingFirstNameMessage='{{0}}': Укажите имя.
|
|
53
61
|
signedOutSession=Сессия завершена {{browser}}/{{os}}
|
|
54
62
|
share=Делиться
|
|
55
63
|
close=Закрыть
|
|
56
64
|
email=E-mail
|
|
57
65
|
signOutWarning=Завершить сессию?
|
|
58
|
-
removeConsentError=Не удалось удалить согласия
|
|
66
|
+
removeConsentError=Не удалось удалить согласия из-за: {{error}}
|
|
59
67
|
signOutAllDevicesWarning=Это действие приведет к выходу из системы всех устройств, которые вошли в вашу учетную запись, включая текущее устройство, которое вы используете.
|
|
60
68
|
unShareSuccess=Ресурс успешно удален из общего доступа.
|
|
61
69
|
signingIn=Вход
|
|
62
70
|
stopUsingCred=Остановить использование {{name}}?
|
|
71
|
+
groupsListHeader=Заголовок списка групп
|
|
63
72
|
error-number-out-of-range='{{0}}' должно быть число в диапазоне от {{1}} до {{2}}.
|
|
64
73
|
privacyPolicy=Политика конфиденциальности
|
|
65
74
|
thirdPartyApp=Внешний
|
|
66
75
|
started=Начата
|
|
67
76
|
avatar=Аватар
|
|
77
|
+
scopeDescriptionHelp=Описание сферы деятельности клиента
|
|
78
|
+
confirm=Подтвердить
|
|
68
79
|
updateSuccess=Ресурс успешно обновлен.
|
|
69
80
|
selectOne=Выберите опцию
|
|
70
81
|
unShare=Не делитесь всем
|
|
@@ -72,10 +83,11 @@ linkedAccounts=Связанные учетные записи
|
|
|
72
83
|
personalInfoDescription=Управление данными о себе
|
|
73
84
|
removeAccess=Удалить доступ
|
|
74
85
|
signingInDescription=Настройте способы входа в систему.
|
|
75
|
-
somethingWentWrongDescription=Извините, произошла непредвиденная ошибка.
|
|
76
86
|
personalInfo=Личная информация
|
|
77
87
|
removeCred=Удалить {{name}}
|
|
78
88
|
signOutAllDevices=Выход на всех устройствах
|
|
89
|
+
scopeNameHelp=Имя клиентской области. Должно быть уникальным в realm. Имя не должно содержать пробелов, так как оно используется как значение параметра области
|
|
90
|
+
flowTypeHelp=Какой это сценарий
|
|
79
91
|
error-invalid-email=Неверный адрес электронной почты.
|
|
80
92
|
myResources=Мои ресурсы
|
|
81
93
|
linkedAccountsIntroMessage=Управляйте входами в систему через сторонние учетные записи.
|
|
@@ -83,9 +95,9 @@ accountSecurity=Безопасность
|
|
|
83
95
|
groupDescriptionLabel=Просмотр групп, в которых вы состоите
|
|
84
96
|
manageAccount=Управление учетной записью
|
|
85
97
|
resourceAlreadyShared=Ресурс уже является общим для этого пользователя.
|
|
86
|
-
accountUpdatedMessage=Ваша учетная запись была обновлена.
|
|
87
98
|
error-invalid-length-too-long='{{0}}' должна иметь максимальную длину {{2}}.
|
|
88
|
-
|
|
99
|
+
accountUpdatedMessage=Ваша учетная запись была обновлена.
|
|
100
|
+
shareError=Не удалось предоставить общий доступ к ресурсу из-за: {{error}}
|
|
89
101
|
logo=Logo
|
|
90
102
|
password-help-text=Вход с использованием ввода пароля.
|
|
91
103
|
deleteAccount=Удалить аккаунт
|
|
@@ -93,18 +105,22 @@ permissionRequest=Запросы на разрешение - {{name}}
|
|
|
93
105
|
add=Добавить
|
|
94
106
|
error-invalid-value='{{0}}' имеет недопустимое значение.
|
|
95
107
|
somethingWentWrong=Что-то пошло не так
|
|
96
|
-
|
|
108
|
+
somethingWentWrongDescription=Извините, произошла непредвиденная ошибка.
|
|
109
|
+
tryAgain=Попробовать снова
|
|
110
|
+
rolesScope=Если сопоставление области действия ролей не определено, каждому пользователю разрешено использовать эту клиентскую область действия. Если сопоставления области действия ролей определены, пользователь должен быть членом хотя бы одной из ролей.
|
|
111
|
+
unShareError=Не удалось отключить общий доступ к ресурсу из-за: {{error}}
|
|
97
112
|
ipAddress=IP адрес
|
|
98
|
-
tryAgain=Пробовать снова
|
|
99
113
|
resourceName=Имя ресурса
|
|
100
114
|
unlinkedEmpty=Нет несвязанных поставщиков
|
|
101
115
|
done=Выполнено
|
|
102
116
|
basic-authentication=Базовая аутентификация
|
|
103
117
|
socialLogin=Вход в социальную сеть
|
|
104
118
|
notInUse=Не используется
|
|
119
|
+
unShareAllConfirm=Вы уверены, что хотите отменить все общие доступы?
|
|
105
120
|
firstName=Имя
|
|
106
121
|
name=Имя
|
|
107
|
-
|
|
122
|
+
clientTypeHelp=Тип этого ресурса. Может использоваться для группировки различных экземпляров ресурсов с одинаковым типом.
|
|
123
|
+
unknownUser=Анонимный
|
|
108
124
|
offlineAccess=Offline доступ
|
|
109
125
|
password-display-name=Пароль
|
|
110
126
|
expires=Истекает
|
|
@@ -118,14 +134,20 @@ update=Обновить
|
|
|
118
134
|
choose=Выбрать...
|
|
119
135
|
signedInDevices=Выполнен вход на устройствах
|
|
120
136
|
delete=Удалить
|
|
137
|
+
missingPasswordMessage='{{0}}': Укажите пароль.
|
|
121
138
|
otp-help-text=Ввод проверочного кода из приложения аутентификатора.
|
|
139
|
+
groupsListColumnsNames=Имена колонок списка групп
|
|
122
140
|
error-invalid-uri-scheme='{{0}}' имеет недопустимую схему URL-адресов.
|
|
141
|
+
error-user-attribute-read-only=Поле {{0}} доступно только для чтения.
|
|
142
|
+
general=Общий
|
|
123
143
|
error-invalid-date='{{0}}' неверная дата.
|
|
144
|
+
missingEmailMessage='{{0}}': Укажите адрес электронной почты.
|
|
124
145
|
accountUpdatedError=Не удалось обновить учетную запись из-за ошибок проверки
|
|
125
|
-
unLinkError=Не удалось отключить связь
|
|
146
|
+
unLinkError=Не удалось отключить связь из-за: {{error}}
|
|
126
147
|
applicationsIntroMessage=Отслеживайте разрешения ваших приложений на доступ к вашей учетной записи и управляйте ими
|
|
127
148
|
error-invalid-length='{{0}}' должен иметь длину от {{1}} до {{2}}.
|
|
128
|
-
|
|
149
|
+
missingLastNameMessage='{{0}}': Укажите фамилию.
|
|
150
|
+
errorSignOutMessage=Не удалось выйти из системы: {{error}}
|
|
129
151
|
linkedLoginProviders=Связанные поставщики идентификации
|
|
130
152
|
inUse=Используется
|
|
131
153
|
client=Клиент
|
|
@@ -133,28 +155,30 @@ error-invalid-uri='{{0}}' является недопустимым URL-адре
|
|
|
133
155
|
systemDefined=Определенная система
|
|
134
156
|
hasAccessTo=Имеет доступ к
|
|
135
157
|
internalApp=Внутренний
|
|
136
|
-
updateError=Не удалось обновить ресурс
|
|
137
|
-
accessGrantedOn=Доступ, предоставленный
|
|
158
|
+
updateError=Не удалось обновить ресурс из-за: {{error}}
|
|
159
|
+
accessGrantedOn=Доступ, предоставленный на:
|
|
138
160
|
editTheResource=Редактировать ресурс - {{name}}
|
|
139
161
|
permissionRequests=Запросы на разрешение
|
|
140
162
|
shareSuccess=Ресурсу успешно предоставлен общий доступ.
|
|
163
|
+
missingUsernameMessage='{{0}}': Укажите имя пользователя.
|
|
164
|
+
aliasHelp=Название конфигурации
|
|
141
165
|
fullName={{givenName}} {{familyName}}
|
|
142
166
|
groups=Группы
|
|
143
167
|
resources=Ресурсы
|
|
144
168
|
resourceIntroMessage=Делитесь своими ресурсами с членами команды
|
|
145
169
|
unLink=Отсоединить учетную запись
|
|
146
|
-
errorRemovedMessage=Не удалось удалить {{userLabel}}
|
|
170
|
+
errorRemovedMessage=Не удалось удалить {{userLabel}} из-за: {{error}}
|
|
147
171
|
termsOfService=Условия обслуживания
|
|
172
|
+
jumpToSection=Перейти к разделу
|
|
148
173
|
linkError=Не удалось установить связь из-за {{error}}
|
|
149
174
|
requestor=Запрашивающий
|
|
150
|
-
shareWith
|
|
175
|
+
shareWith=Поделиться с
|
|
151
176
|
updateCredAriaLabel=Обновить учетные данные
|
|
152
177
|
error-pattern-no-match='{{0}}' не соответствует требуемому формату.
|
|
153
178
|
application=Приложения
|
|
154
179
|
unlinkedLoginProviders=Несвязанные поставщики идентификации
|
|
155
180
|
applicationDetails=Детали приложения
|
|
156
181
|
successRemovedMessage={{userLabel}} был удалён.
|
|
157
|
-
middleName=Отчество
|
|
158
182
|
deleteAccountWarning=Это необратимо. Все ваши данные будут безвозвратно уничтожены.
|
|
159
183
|
resourceSharedWith_other=Ресурс является общим для <0>{{username}}</0> и <1>{{other}}</1> других пользователей
|
|
160
184
|
error-person-name-invalid-character='{{0}}' содержит недопустимый символ.
|
|
@@ -164,3 +188,39 @@ unLinkSuccess=Учетная запись успешно отсоединена
|
|
|
164
188
|
applications=Приложения
|
|
165
189
|
sharedWithMe=Поделился со мной
|
|
166
190
|
username=Имя пользователя
|
|
191
|
+
webauthn-display-name=Ключ доступа
|
|
192
|
+
webauthn-help-text=Для входа используйте свой ключ доступа.
|
|
193
|
+
webauthn-passwordless-display-name=Ключ доступа
|
|
194
|
+
webauthn-passwordless-help-text=Используйте свой ключ доступа для входа без пароля.
|
|
195
|
+
passwordless=Без пароля
|
|
196
|
+
error-invalid-multivalued-size=Атрибут {{0}} должен иметь не менее {{1}} и не более {{2}} значений.
|
|
197
|
+
recovery-authn-code=Мои коды аутентификации восстановления
|
|
198
|
+
recovery-authn-codes-display-name=Восстановление кодов аутентификации
|
|
199
|
+
recovery-authn-codes-help-text=Эти коды можно использовать для восстановления доступа в случае, если другие средства двухфакторной аутентификации недоступны.
|
|
200
|
+
recovery-codes-number-used={{0}} использовано кодов восстановления
|
|
201
|
+
recovery-codes-number-remaining={{0}} оставшихся кодов восстановления
|
|
202
|
+
recovery-codes-generate-new-codes=Сгенерируйте новые коды, чтобы обеспечить доступ к вашей учетной записи
|
|
203
|
+
oid4vci=Проверяемые учетные данные
|
|
204
|
+
verifiableCredentialsTitle=Проверяемые учетные данные
|
|
205
|
+
verifiableCredentialsDescription=Выберите учетные данные для импорта в ваш кошелек.
|
|
206
|
+
verifiableCredentialsIssuerAlert=Не удалось получить информацию об эмитенте.
|
|
207
|
+
verifiableCredentialsConfigAlert=Не удалось получить конфигурацию учетных данных.
|
|
208
|
+
verifiableCredentialsOfferAlert=Не удалось получить предложение.
|
|
209
|
+
verifiableCredentialsSelectionDefault=Выберите конфигурацию учетных данных.
|
|
210
|
+
profileScopeConsentText=Профиль пользователя
|
|
211
|
+
emailScopeConsentText=Адрес электронной почты
|
|
212
|
+
addressScopeConsentText=Адрес
|
|
213
|
+
phoneScopeConsentText=Номер телефона
|
|
214
|
+
offlineAccessScopeConsentText=Оффлайн доступ
|
|
215
|
+
samlRoleListScopeConsentText=Мои роли (SAML)
|
|
216
|
+
rolesScopeConsentText=Роли пользователей
|
|
217
|
+
organizations=Организации
|
|
218
|
+
organizationDescription=Просмотр организаций, к которым вы присоединились
|
|
219
|
+
emptyUserOrganizations=Нет организаций
|
|
220
|
+
emptyUserOrganizationsInstructions=Вы пока не вступили ни в одну организацию.
|
|
221
|
+
searchOrganization=Поиск организации
|
|
222
|
+
organizationList=Список организаций
|
|
223
|
+
domains=Домены
|
|
224
|
+
refresh=Обновить
|
|
225
|
+
termsAndConditionsDeclined=Чтобы продолжить, вам необходимо принять Условия и Положения
|
|
226
|
+
defaultLocale=Выбрать...
|
|
@@ -75,13 +75,14 @@ export const PersonalInfo = () => {
|
|
|
75
75
|
);
|
|
76
76
|
await savePersonalInfo(context, { ...user, attributes });
|
|
77
77
|
const locale = attributes["locale"]?.toString();
|
|
78
|
-
if (locale)
|
|
79
|
-
i18n.changeLanguage(locale, (error) => {
|
|
78
|
+
if (locale) {
|
|
79
|
+
await i18n.changeLanguage(locale, (error) => {
|
|
80
80
|
if (error) {
|
|
81
81
|
console.warn("Error(s) loading locale", locale, error);
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
-
|
|
84
|
+
}
|
|
85
|
+
await context.keycloak.updateToken();
|
|
85
86
|
addAlert(t("accountUpdatedMessage"));
|
|
86
87
|
} catch (error) {
|
|
87
88
|
addAlert(t("accountUpdatedError"), AlertVariant.danger);
|
|
@@ -122,11 +123,15 @@ export const PersonalInfo = () => {
|
|
|
122
123
|
((key: unknown, params) =>
|
|
123
124
|
t(key as TFuncKey, params as any)) as TFunction
|
|
124
125
|
}
|
|
125
|
-
renderer={(attribute) =>
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
renderer={(attribute) => {
|
|
127
|
+
const annotations = attribute.annotations
|
|
128
|
+
? attribute.annotations
|
|
129
|
+
: {};
|
|
130
|
+
return attribute.name === "email" &&
|
|
131
|
+
updateEmailFeatureEnabled &&
|
|
132
|
+
updateEmailActionEnabled &&
|
|
133
|
+
annotations["kc.required.action.supported"] &&
|
|
134
|
+
(!isRegistrationEmailAsUsername || isEditUserNameAllowed) ? (
|
|
130
135
|
<Button
|
|
131
136
|
id="update-email-btn"
|
|
132
137
|
variant="link"
|
|
@@ -138,8 +143,8 @@ export const PersonalInfo = () => {
|
|
|
138
143
|
>
|
|
139
144
|
{t("updateEmail")}
|
|
140
145
|
</Button>
|
|
141
|
-
) : undefined
|
|
142
|
-
}
|
|
146
|
+
) : undefined;
|
|
147
|
+
}}
|
|
143
148
|
/>
|
|
144
149
|
{!allFieldsReadOnly() && (
|
|
145
150
|
<ActionGroup>
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
// @ts-nocheck
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
ErrorPage,
|
|
7
|
+
useEnvironment,
|
|
8
|
+
KeycloakContext,
|
|
9
|
+
} from "../../shared/keycloak-ui-shared";
|
|
6
10
|
import { Page, Spinner } from "../../shared/@patternfly/react-core";
|
|
7
11
|
import { Suspense, useState } from "react";
|
|
8
12
|
import {
|
|
@@ -18,12 +22,21 @@ import { Header } from "./Header";
|
|
|
18
22
|
import { MenuItem, PageNav } from "./PageNav";
|
|
19
23
|
import { routes } from "../routes";
|
|
20
24
|
|
|
21
|
-
function mapRoutes(
|
|
25
|
+
function mapRoutes(
|
|
26
|
+
context: KeycloakContext<Environment>,
|
|
27
|
+
content: MenuItem[],
|
|
28
|
+
): RouteObject[] {
|
|
22
29
|
return content
|
|
23
30
|
.map((item) => {
|
|
24
31
|
if ("children" in item) {
|
|
25
|
-
return mapRoutes(item.children);
|
|
32
|
+
return mapRoutes(context, item.children);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Do not add route disabled via feature flags
|
|
36
|
+
if (item.isVisible && !context.environment.features[item.isVisible]) {
|
|
37
|
+
return null;
|
|
26
38
|
}
|
|
39
|
+
|
|
27
40
|
return {
|
|
28
41
|
...item,
|
|
29
42
|
element:
|
|
@@ -32,6 +45,7 @@ function mapRoutes(content: MenuItem[]): RouteObject[] {
|
|
|
32
45
|
: undefined,
|
|
33
46
|
};
|
|
34
47
|
})
|
|
48
|
+
.filter((item) => !!item)
|
|
35
49
|
.flat();
|
|
36
50
|
}
|
|
37
51
|
|
|
@@ -53,7 +67,7 @@ export const Root = () => {
|
|
|
53
67
|
</Page>
|
|
54
68
|
),
|
|
55
69
|
errorElement: <ErrorPage />,
|
|
56
|
-
children: mapRoutes(content),
|
|
70
|
+
children: mapRoutes(context, content),
|
|
57
71
|
},
|
|
58
72
|
]);
|
|
59
73
|
},
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@keycloakify/keycloak-account-ui",
|
|
3
3
|
"main": "index.js",
|
|
4
4
|
"types": "index.d.ts",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "260305.0.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git://github.com/keycloakify/keycloak-account-ui.git"
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
"@patternfly/react-core": "^5.4.14",
|
|
24
24
|
"@patternfly/react-icons": "^5.4.2",
|
|
25
25
|
"@patternfly/react-table": "^5.4.16",
|
|
26
|
-
"i18next": "^
|
|
26
|
+
"i18next": "^25.2.1",
|
|
27
27
|
"i18next-fetch-backend": "^6.0.0",
|
|
28
28
|
"keycloak-js": "^26.2.0",
|
|
29
29
|
"lodash-es": "^4.17.21",
|
|
30
30
|
"react": "^18.3.1",
|
|
31
|
-
"react-hook-form": "^7.
|
|
32
|
-
"react-i18next": "^15.
|
|
33
|
-
"react-router-dom": "^6.30.
|
|
34
|
-
"@keycloakify/keycloak-ui-shared": "~
|
|
31
|
+
"react-hook-form": "^7.59.0",
|
|
32
|
+
"react-i18next": "^15.5.3",
|
|
33
|
+
"react-router-dom": "^6.30.1",
|
|
34
|
+
"@keycloakify/keycloak-ui-shared": "~260305.0.0",
|
|
35
35
|
"@types/lodash-es": "^4.17.12",
|
|
36
36
|
"@types/react": "^18.3.18"
|
|
37
37
|
}
|