user management keyed (267 -> 214)

Accounts, permissions and the create-user form. The confirm dialogs for removing an
account and resetting a password were multi-line JSX the scanner cannot see, so they
were converted on sight rather than from its list.

Cancel comes from ui.button.cancel in all four places it appears here.
This commit is contained in:
2026-08-23 05:10:17 +00:00
parent f6b9ddc877
commit 7f8455f1af
5 changed files with 185 additions and 77 deletions
+51
View File
@@ -309,6 +309,57 @@
"saveFailed": "Failed to save provider",
"connectedTo": "Connected to {{name}}"
}
},
"users": {
"loadingPermissions": "Loading permissions…",
"permissionsFailed": "Could not load permissions.",
"deniedUnlessGranted": "Everything is denied unless granted here.",
"read": "Read",
"full": "Full",
"noAccess": "No access",
"role": "Role",
"permissionsSaved": "Saved what {{role}}s can reach",
"copyBeforeClosing": "Copy what you need before closing — none of it can be shown again.",
"password": "Password",
"linuxAccount": "Linux account",
"sshKey": "Their SSH public key",
"addToGitea": "Add this to their Gitea account",
"linuxIncomplete": "The account works, but its Linux side did not finish",
"done": "Done",
"addAccount": "Add account",
"newAccount": "New account",
"email": "Email",
"name": "Name",
"username": "Username",
"usernameHint": "Letters, numbers, dots, hyphens and underscores.",
"generatePassword": "Generate a password",
"copyPassword": "Copy the password",
"passwordHint": "At least 12 characters, with upper and lower case, a number and a symbol.",
"sshPlaceholder": "ssh-ed25519 AAAAC3Nza… ana@laptop",
"passwordCopied": "Password copied",
"loadingAccounts": "Loading accounts…",
"accountsFailed": "Could not load the accounts.",
"removeAccount": "Remove account",
"generateNewPassword": "Generate a new password",
"serverOwner": "Server owner",
"copySshTitle": "Copy their SSH public key (add it to their Gitea account)",
"resetPasswordTitle": "Generate a new password — shown once, and signs them out everywhere",
"copyNewPassword": "Copy the new password",
"publicKeyCopied": "Public key copied",
"copyFailed": "Could not copy — select it and copy by hand",
"repairFor": "Repair {{email}}’s Linux account",
"linuxAccountFor": "Linux account: {{osUser}} — click to repair or replace their SSH key",
"copySshFor": "Copy {{email}}’s SSH public key",
"resetPasswordFor": "Reset {{email}}’s password",
"removeFor": "Remove {{email}}",
"provisionPrompt": "Linux account for {{email}}.\n\nPaste an SSH public key to allow them to SSH in, or leave empty to keep the current one.",
"createLinux": "Create a Linux account",
"noLinux": "No Linux account — click to create one",
"removeTitle": "Remove {{email}}?",
"removeBody": "This deletes the account and everything belonging to it — passkeys, dashboards, saved layouts, and anything an installed plugin keeps for them. It cannot be undone.",
"resetTitle": "Reset the password for {{email}}?",
"resetBody": "A new password is generated and shown to you once — it is not stored anywhere and cannot be looked up afterwards. Their existing password stops working immediately, and they are signed out everywhere.",
"resetLinuxNote": "Their Linux account ({{osUser}}) is not affected: it has no password, and SSH keys are unchanged."
}
},
"header": {
+51
View File
@@ -309,6 +309,57 @@
"saveFailed": "Falha ao guardar o fornecedor",
"connectedTo": "Ligado a {{name}}"
}
},
"users": {
"loadingPermissions": "A carregar permissões…",
"permissionsFailed": "Não foi possível carregar as permissões.",
"deniedUnlessGranted": "Tudo é negado a menos que seja concedido aqui.",
"read": "Leitura",
"full": "Total",
"noAccess": "Sem acesso",
"role": "Função",
"permissionsSaved": "Guardado o que os {{role}} podem alcançar",
"copyBeforeClosing": "Copie o que precisa antes de fechar — nada disto pode ser mostrado outra vez.",
"password": "Palavra-passe",
"linuxAccount": "Conta Linux",
"sshKey": "A sua chave pública SSH",
"addToGitea": "Adicione isto à conta Gitea dele",
"linuxIncomplete": "A conta funciona, mas a parte Linux não ficou concluída",
"done": "Concluído",
"addAccount": "Adicionar conta",
"newAccount": "Nova conta",
"email": "Email",
"name": "Nome",
"username": "Nome de utilizador",
"usernameHint": "Letras, números, pontos, hífenes e underscores.",
"generatePassword": "Gerar uma palavra-passe",
"copyPassword": "Copiar a palavra-passe",
"passwordHint": "Pelo menos 12 caracteres, com maiúsculas e minúsculas, um número e um símbolo.",
"sshPlaceholder": "ssh-ed25519 AAAAC3Nza… ana@portatil",
"passwordCopied": "Palavra-passe copiada",
"loadingAccounts": "A carregar contas…",
"accountsFailed": "Não foi possível carregar as contas.",
"removeAccount": "Remover conta",
"generateNewPassword": "Gerar uma nova palavra-passe",
"serverOwner": "Proprietário do servidor",
"copySshTitle": "Copiar a sua chave pública SSH (adicione-a à conta Gitea dele)",
"resetPasswordTitle": "Gerar uma nova palavra-passe — mostrada uma única vez, e termina a sessão em todo o lado",
"copyNewPassword": "Copiar a nova palavra-passe",
"publicKeyCopied": "Chave pública copiada",
"copyFailed": "Não foi possível copiar — selecione e copie manualmente",
"repairFor": "Reparar a conta Linux de {{email}}",
"linuxAccountFor": "Conta Linux: {{osUser}} — clique para reparar ou substituir a chave SSH",
"copySshFor": "Copiar a chave pública SSH de {{email}}",
"resetPasswordFor": "Redefinir a palavra-passe de {{email}}",
"removeFor": "Remover {{email}}",
"provisionPrompt": "Conta Linux para {{email}}.\n\nCole uma chave pública SSH para lhe permitir aceder por SSH, ou deixe vazio para manter a atual.",
"createLinux": "Criar uma conta Linux",
"noLinux": "Sem conta Linux — clique para criar uma",
"removeTitle": "Remover {{email}}?",
"removeBody": "Isto elimina a conta e tudo o que lhe pertence — passkeys, painéis, layouts guardados e tudo o que qualquer plugin instalado guarde para ela. Não pode ser desfeito.",
"resetTitle": "Redefinir a palavra-passe de {{email}}?",
"resetBody": "É gerada uma nova palavra-passe e mostrada uma única vez — não é guardada em nenhum lugar e não pode ser consultada depois. A palavra-passe atual deixa de funcionar imediatamente, e a sessão é terminada em todo o lado.",
"resetLinuxNote": "A conta Linux ({{osUser}}) não é afetada: não tem palavra-passe, e as chaves SSH ficam inalteradas."
}
},
"header": {