authentication and calendar-sync passwords keyed (214 -> 163)

Authentication reaches zero -- sign-in, bootstrap, forgot and reset password. These
are the first words a new account reads, which is why the brief ranked them above
the larger screens.

DavAppPasswords had the third toLocaleDateString(undefined, ...) in the shell; it now
uses useFormat().date like the other two.

DebugPanel's three labels are keyed too. Worth knowing rather than acting on: that
panel is rendered behind showDebug, which Background.tsx hardcodes to false, so it
never appears. Keyed rather than deleted because removing it is not my call.
This commit is contained in:
2026-08-23 05:15:22 +00:00
parent 7f8455f1af
commit b978e09327
9 changed files with 189 additions and 63 deletions
+51
View File
@@ -360,6 +360,21 @@
"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."
},
"dav": {
"newDevice": "New device",
"create": "Create",
"none": "No devices yet.",
"placeholder": "Pixel 9, iPad, Thunderbird…",
"revoke": "Revoke",
"delete": "Delete",
"copyFailed": "Could not copy — select and copy manually",
"createFailed": "Could not create the app password",
"revoked": "Revoked — that device will stop syncing",
"revokeFailed": "Could not revoke",
"deleteFailed": "Could not delete",
"copyField": "Copy {{field}}",
"copied": "{{what}} copied"
}
},
"header": {
@@ -484,5 +499,41 @@
"submitted": "Bug report submitted",
"failed": "Failed to submit bug report",
"submit": "Submit"
},
"auth": {
"signInTitle": "Welcome Back",
"signInSubtitle": "Sign in to your account",
"emailOrUsername": "Email or username",
"password": "Password",
"forgotPassword": "Forgot password?",
"emailPlaceholder": "you@example.com",
"passwordPlaceholder": "Your password",
"forgotTitle": "Forgot Password",
"forgotSubtitle": "Enter your email to receive a reset link",
"email": "Email",
"backToLogin": "Back to login",
"checkEmail": "Check your email",
"checkEmailHint": "Click it to reset your password.",
"resetOk": "Password reset successfully. Please sign in.",
"verifying": "Verifying…",
"invalidLink": "Invalid Link",
"invalidLinkHint": "This reset link is invalid or has expired.",
"resetTitle": "Reset Password",
"resetSubtitle": "Enter your new password",
"confirmPassword": "Confirm Password",
"minChars": "Min 12 characters",
"confirmPlaceholder": "Confirm your password",
"bootstrapTitle": "Welcome, Admin",
"bootstrapSubtitle": "Create your administrator account",
"name": "Name",
"username": "Username",
"namePlaceholder": "Your name",
"adminEmailPlaceholder": "admin@example.com",
"bootstrapOk": "Administrator account created. Please sign in.",
"debug": {
"controls": "Controls:",
"camera": "Camera:",
"model": "Model:"
}
}
}
+51
View File
@@ -360,6 +360,21 @@
"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."
},
"dav": {
"newDevice": "Novo dispositivo",
"create": "Criar",
"none": "Ainda não há dispositivos.",
"placeholder": "Pixel 9, iPad, Thunderbird…",
"revoke": "Revogar",
"delete": "Eliminar",
"copyFailed": "Não foi possível copiar — selecione e copie manualmente",
"createFailed": "Não foi possível criar a palavra-passe de aplicação",
"revoked": "Revogada — esse dispositivo deixa de sincronizar",
"revokeFailed": "Não foi possível revogar",
"deleteFailed": "Não foi possível eliminar",
"copyField": "Copiar {{field}}",
"copied": "{{what}} copiado"
}
},
"header": {
@@ -484,5 +499,41 @@
"submitted": "Comunicação de erro enviada",
"failed": "Falha ao enviar a comunicação de erro",
"submit": "Enviar"
},
"auth": {
"signInTitle": "Bem-vindo de volta",
"signInSubtitle": "Inicie sessão na sua conta",
"emailOrUsername": "Email ou nome de utilizador",
"password": "Palavra-passe",
"forgotPassword": "Esqueceu-se da palavra-passe?",
"emailPlaceholder": "utilizador@exemplo.com",
"passwordPlaceholder": "A sua palavra-passe",
"forgotTitle": "Recuperar palavra-passe",
"forgotSubtitle": "Introduza o seu email para receber um link de recuperação",
"email": "Email",
"backToLogin": "Voltar ao início de sessão",
"checkEmail": "Verifique o seu email",
"checkEmailHint": "Clique nele para redefinir a palavra-passe.",
"resetOk": "Palavra-passe redefinida com sucesso. Inicie sessão.",
"verifying": "A verificar…",
"invalidLink": "Link inválido",
"invalidLinkHint": "Este link de recuperação é inválido ou expirou.",
"resetTitle": "Redefinir palavra-passe",
"resetSubtitle": "Introduza a sua nova palavra-passe",
"confirmPassword": "Confirmar palavra-passe",
"minChars": "Mínimo 12 caracteres",
"confirmPlaceholder": "Confirme a sua palavra-passe",
"bootstrapTitle": "Bem-vindo, Administrador",
"bootstrapSubtitle": "Crie a sua conta de administrador",
"name": "Nome",
"username": "Nome de utilizador",
"namePlaceholder": "O seu nome",
"adminEmailPlaceholder": "admin@exemplo.com",
"bootstrapOk": "Conta de administrador criada. Inicie sessão.",
"debug": {
"controls": "Controlos:",
"camera": "Câmara:",
"model": "Modelo:"
}
}
}