Added two factor login, otp code widget and intl

This commit is contained in:
2025-12-19 13:47:31 +01:00
parent 076951af24
commit 0b2f1ff869
21 changed files with 1041 additions and 209 deletions

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "Du hast noch kein Konto?",
"createOneNow": "Jetzt eines erstellen"
"createOneNow": "Jetzt eines erstellen",
"errorEmailRequired": "E-Mail ist erforderlich.",
"errorEmailInvalid": "Bitte gib eine gültige E-Mail-Adresse ein.",
"errorPasswordRequired": "Passwort ist erforderlich.",
"errorPasswordMinLength": "Das Passwort muss mindestens 6 Zeichen lang sein.",
"twoFactorTitle": "Zwei-Faktor-Authentifizierung",
"twoFactorSubtitle": "Gib den 6-stelligen Code ein, um fortzufahren.",
"twoFactorCodeLabel": "Bestätigungscode",
"twoFactorCodeHint": "6-stelliger Code",
"twoFactorVerify": "Bestätigen",
"close": "Schließen",
"errorTwoFactorCodeRequired": "Der Bestätigungscode ist erforderlich.",
"errorTwoFactorCodeInvalidLength": "Der Code muss 6-stellig sein.",
"errorTwoFactorCodeInvalid": "Ungültiger Code. Bitte versuche es erneut."
}

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "Don't have an account?",
"createOneNow": "Create one now"
"createOneNow": "Create one now",
"errorEmailRequired": "Email is required.",
"errorEmailInvalid": "Please enter a valid email address.",
"errorPasswordRequired": "Password is required.",
"errorPasswordMinLength": "Password must be at least 6 characters.",
"twoFactorTitle": "Two-factor authentication",
"twoFactorSubtitle": "Enter the 6-digit code to continue.",
"twoFactorCodeLabel": "Verification code",
"twoFactorCodeHint": "6-digit code",
"twoFactorVerify": "Verify",
"close": "Close",
"errorTwoFactorCodeRequired": "The verification code is required.",
"errorTwoFactorCodeInvalidLength": "The code must be 6 digits.",
"errorTwoFactorCodeInvalid": "Invalid code. Please try again."
}

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "¿No tienes cuenta?",
"createOneNow": "Crear una ahora"
"createOneNow": "Crear una ahora",
"errorEmailRequired": "El email es obligatorio.",
"errorEmailInvalid": "Introduce un email válido.",
"errorPasswordRequired": "La contraseña es obligatoria.",
"errorPasswordMinLength": "La contraseña debe tener al menos 6 caracteres.",
"twoFactorTitle": "Autenticación en dos pasos",
"twoFactorSubtitle": "Introduce el código de 6 dígitos para continuar.",
"twoFactorCodeLabel": "Código de verificación",
"twoFactorCodeHint": "Código de 6 dígitos",
"twoFactorVerify": "Verificar",
"close": "Cerrar",
"errorTwoFactorCodeRequired": "El código de verificación es obligatorio.",
"errorTwoFactorCodeInvalidLength": "El código debe tener 6 dígitos.",
"errorTwoFactorCodeInvalid": "Código incorrecto. Inténtalo de nuevo."
}

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "Tu n'as pas de compte ?",
"createOneNow": "Crée-en un maintenant"
"createOneNow": "Crée-en un maintenant",
"errorEmailRequired": "L'e-mail est obligatoire.",
"errorEmailInvalid": "Veuillez saisir une adresse e-mail valide.",
"errorPasswordRequired": "Le mot de passe est obligatoire.",
"errorPasswordMinLength": "Le mot de passe doit contenir au moins 6 caractères.",
"twoFactorTitle": "Authentification à deux facteurs",
"twoFactorSubtitle": "Saisissez le code à 6 chiffres pour continuer.",
"twoFactorCodeLabel": "Code de vérification",
"twoFactorCodeHint": "Code à 6 chiffres",
"twoFactorVerify": "Vérifier",
"close": "Fermer",
"errorTwoFactorCodeRequired": "Le code de vérification est obligatoire.",
"errorTwoFactorCodeInvalidLength": "Le code doit contenir 6 chiffres.",
"errorTwoFactorCodeInvalid": "Code incorrect. Veuillez réessayer."
}

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "Non hai un account?",
"createOneNow": "Creane uno adesso"
"createOneNow": "Creane uno adesso",
"errorEmailRequired": "L'email è obbligatoria.",
"errorEmailInvalid": "Inserisci un'email valida.",
"errorPasswordRequired": "La password è obbligatoria.",
"errorPasswordMinLength": "La password deve contenere almeno 6 caratteri.",
"twoFactorTitle": "Autenticazione a due fattori",
"twoFactorSubtitle": "Inserisci il codice a 6 cifre per continuare.",
"twoFactorCodeLabel": "Codice di verifica",
"twoFactorCodeHint": "Codice a 6 cifre",
"twoFactorVerify": "Verifica",
"close": "Chiudi",
"errorTwoFactorCodeRequired": "Il codice di verifica è obbligatorio.",
"errorTwoFactorCodeInvalidLength": "Il codice deve essere di 6 cifre.",
"errorTwoFactorCodeInvalid": "Codice non valido. Riprova."
}

View File

@@ -30,5 +30,18 @@
"google": "Google",
"apple": "Apple",
"dontHaveAccount": "Não tem conta?",
"createOneNow": "Criar uma agora"
"createOneNow": "Criar uma agora",
"errorEmailRequired": "O e-mail é obrigatório.",
"errorEmailInvalid": "Introduz um e-mail válido.",
"errorPasswordRequired": "A palavra-passe é obrigatória.",
"errorPasswordMinLength": "A palavra-passe deve ter pelo menos 6 caracteres.",
"twoFactorTitle": "Autenticação de dois fatores",
"twoFactorSubtitle": "Introduz o código de 6 dígitos para continuar.",
"twoFactorCodeLabel": "Código de verificação",
"twoFactorCodeHint": "Código de 6 dígitos",
"twoFactorVerify": "Verificar",
"close": "Fechar",
"errorTwoFactorCodeRequired": "O código de verificação é obrigatório.",
"errorTwoFactorCodeInvalidLength": "O código deve ter 6 dígitos.",
"errorTwoFactorCodeInvalid": "Código inválido. Tenta novamente."
}

View File

@@ -35,4 +35,18 @@ class I18n {
static const String apple = "apple";
static const String dontHaveAccount = "dontHaveAccount";
static const String createOneNow = "createOneNow";
static const String errorEmailRequired = 'errorEmailRequired';
static const String errorEmailInvalid = 'errorEmailInvalid';
static const String errorPasswordRequired = 'errorPasswordRequired';
static const String errorPasswordMinLength = 'errorPasswordMinLength';
static const String twoFactorTitle = 'twoFactorTitle';
static const String twoFactorSubtitle = 'twoFactorSubtitle';
static const String twoFactorCodeLabel = 'twoFactorCodeLabel';
static const String twoFactorCodeHint = 'twoFactorCodeHint';
static const String twoFactorVerify = 'twoFactorVerify';
static const String close = 'close';
static const String errorTwoFactorCodeRequired = 'errorTwoFactorCodeRequired';
static const String errorTwoFactorCodeInvalidLength =
'errorTwoFactorCodeInvalidLength';
static const String errorTwoFactorCodeInvalid = 'errorTwoFactorCodeInvalid';
}