feat(typescript): add i18n for input labels in Login V2 (#10233)

# Which Problems Are Solved

- Most inputs have hardcoded label

# How the Problems Are Solved

- add usage of i18n library for every label
- add labels to i18n translation files

# Additional Changes

- fixed key used in `device-code-form.tsx` by submit button
- `v2-default.json` was update and contains all values from login app
not only newly added key for labels.

# Additional Context

N.A

---------

Co-authored-by: David Skewis <david@zitadel.com>
Co-authored-by: Max Peintner <max@caos.ch>
(cherry picked from commit 832e78f9bc)
This commit is contained in:
Adam Kida
2025-08-29 07:12:12 +02:00
committed by Livio Spring
parent 73d6cc71f3
commit 678f9ad448
20 changed files with 1786 additions and 716 deletions

View File

@@ -27,6 +27,12 @@
"description": "Geben Sie Ihre Anmeldedaten ein.",
"register": "Neuen Benutzer registrieren",
"submit": "Weiter",
"labels": {
"loginname": "Loginname",
"username": "Benutzername",
"usernameOrPhoneNumber": "Benutzername oder Telefonnummer",
"usernameOrEmail": "Benutzername oder E-Mail"
},
"required": {
"loginName": "Dieses Feld ist erforderlich"
}
@@ -37,6 +43,9 @@
"description": "Geben Sie Ihr Passwort ein.",
"resetPassword": "Passwort zurücksetzen",
"submit": "Weiter",
"labels": {
"password": "Passwort"
},
"required": {
"password": "Dieses Feld ist erforderlich"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "Keinen Code erhalten?",
"resend": "Erneut senden",
"submit": "Weiter",
"labels": {
"code": "Code",
"newPassword": "Neues Passwort",
"confirmPassword": "Neues Passwort wiederholen"
},
"required": {
"code": "Dieses Feld ist erforderlich",
"newPassword": "Bitte geben Sie ein Passwort ein!",
@@ -58,6 +72,10 @@
"title": "Passwort ändern",
"description": "Legen Sie das Passwort für Ihr Konto fest",
"submit": "Weiter",
"labels": {
"newPassword": "Neues Passwort",
"confirmPassword": "Neues Passwort wiederholen"
},
"required": {
"newPassword": "Bitte geben Sie ein neues Passwort ein!",
"confirmPassword": "Dieses Feld ist erforderlich"
@@ -101,9 +119,11 @@
"ldap": {
"title": "LDAP Login",
"description": "Geben Sie Ihre LDAP-Anmeldedaten ein.",
"username": "Benutzername",
"password": "Passwort",
"submit": "Weiter",
"labels": {
"username": "Benutzername",
"password": "Passwort"
},
"required": {
"username": "Dieses Feld ist erforderlich",
"password": "Dieses Feld ist erforderlich"
@@ -130,6 +150,9 @@
"noCodeReceived": "Keinen Code erhalten?",
"resendCode": "Code erneut senden",
"submit": "Weiter",
"labels": {
"code": "Code"
},
"required": {
"code": "Dieses Feld ist erforderlich"
}
@@ -141,6 +164,9 @@
"emailDescription": "Geben Sie Ihre E-Mail-Adresse ein, um einen Code per E-Mail zu erhalten.",
"totpRegisterDescription": "Scannen Sie den QR-Code oder navigieren Sie manuell zur URL.",
"submit": "Weiter",
"labels": {
"code": "Code"
},
"required": {
"code": "Dieses Feld ist erforderlich"
}
@@ -178,7 +204,7 @@
"register": {
"methods": {
"passkey": "Passkey",
"password": "Password"
"password": "Passwort"
},
"disabled": {
"title": "Registrierung deaktiviert",
@@ -201,11 +227,20 @@
"title": "Passwort festlegen",
"description": "Legen Sie das Passwort für Ihr Konto fest",
"submit": "Weiter",
"labels": {
"password": "Passwort",
"confirmPassword": "Neues Passwort wiederholen"
},
"required": {
"password": "Bitte geben Sie ein Passwort ein!",
"confirmPassword": "Dieses Feld ist erforderlich"
}
},
"labels": {
"firstname": "Vorname",
"lastname": "Nachname",
"email": "E-Mail"
},
"required": {
"firstname": "Dieses Feld ist erforderlich",
"lastname": "Dieses Feld ist erforderlich",
@@ -247,6 +282,9 @@
"resendCode": "Code erneut senden",
"codeSent": "Ein Code wurde gerade an Ihre E-Mail-Adresse gesendet.",
"submit": "Weiter",
"labels": {
"code": "Code"
},
"required": {
"code": "Dieses Feld ist erforderlich"
}
@@ -264,6 +302,9 @@
"title": "Gerätecode",
"description": "Geben Sie den Code ein.",
"submit": "Weiter",
"labels": {
"code": "Code"
},
"required": {
"code": "Dieses Feld ist erforderlich"
}

View File

@@ -27,6 +27,12 @@
"description": "Enter your login data.",
"register": "Register new user",
"submit": "Continue",
"labels": {
"loginname": "Loginname",
"username": "Username",
"usernameOrPhoneNumber": "Username or phone number",
"usernameOrEmail": "Username or email"
},
"required": {
"loginName": "This field is required"
}
@@ -37,6 +43,9 @@
"description": "Enter your password.",
"resetPassword": "Reset Password",
"submit": "Continue",
"labels": {
"password": "Password"
},
"required": {
"password": "This field is required"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "Didn't receive a code?",
"resend": "Resend code",
"submit": "Continue",
"labels": {
"code": "Code",
"newPassword": "New Password",
"confirmPassword": "Confirm Password"
},
"required": {
"code": "This field is required",
"newPassword": "You have to provide a password!",
@@ -58,6 +72,10 @@
"title": "Change Password",
"description": "Set the password for your account",
"submit": "Continue",
"labels": {
"newPassword": "New Password",
"confirmPassword": "Confirm Password"
},
"required": {
"newPassword": "You have to provide a new password!",
"confirmPassword": "This field is required"
@@ -101,9 +119,11 @@
"ldap": {
"title": "LDAP Login",
"description": "Enter your LDAP credentials.",
"username": "Username",
"password": "Password",
"submit": "Continue",
"labels": {
"username": "Username",
"password": "Password"
},
"required": {
"username": "This field is required",
"password": "This field is required"
@@ -130,6 +150,9 @@
"noCodeReceived": "Didn't receive a code?",
"resendCode": "Resend code",
"submit": "Continue",
"labels": {
"code": "Code"
},
"required": {
"code": "This field is required"
}
@@ -141,6 +164,9 @@
"emailDescription": "Enter your email address to receive a code via email.",
"totpRegisterDescription": "Scan the QR Code or navigate to the URL manually.",
"submit": "Continue",
"labels": {
"code": "Code"
},
"required": {
"code": "This field is required"
}
@@ -201,11 +227,20 @@
"title": "Set Password",
"description": "Set the password for your account",
"submit": "Continue",
"labels": {
"password": "Password",
"confirmPassword": "Confirm Password"
},
"required": {
"password": "You have to provide a password!",
"confirmPassword": "This field is required"
}
},
"labels": {
"firstname": "First name",
"lastname": "Last name",
"email": "E-mail"
},
"required": {
"firstname": "This field is required",
"lastname": "This field is required",
@@ -247,6 +282,9 @@
"resendCode": "Resend code",
"codeSent": "A code has just been sent to your email address.",
"submit": "Continue",
"labels": {
"code": "Code"
},
"required": {
"code": "This field is required"
}
@@ -264,6 +302,9 @@
"title": "Device code",
"description": "Enter the code displayed on your app or device.",
"submit": "Continue",
"labels": {
"code": "Code"
},
"required": {
"code": "This field is required"
}

View File

@@ -27,6 +27,12 @@
"description": "Introduce tus datos de acceso.",
"register": "Registrar nuevo usuario",
"submit": "Continuar",
"labels": {
"loginname": "Nombre de inicio de sesión",
"username": "Nombre de usuario",
"usernameOrPhoneNumber": "Nombre de usuario o número de teléfono",
"usernameOrEmail": "Nombre de usuario o correo electrónico"
},
"required": {
"loginName": "Este campo es obligatorio"
}
@@ -37,6 +43,9 @@
"description": "Introduce tu contraseña.",
"resetPassword": "Restablecer contraseña",
"submit": "Continuar",
"labels": {
"password": "Contraseña"
},
"required": {
"password": "Este campo es obligatorio"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "¿No recibiste un código?",
"resend": "Reenviar código",
"submit": "Continuar",
"labels": {
"code": "Código",
"newPassword": "Nueva contraseña",
"confirmPassword": "Confirmar contraseña"
},
"required": {
"code": "Este campo es obligatorio",
"newPassword": "¡Debes proporcionar una contraseña!",
@@ -58,6 +72,10 @@
"title": "Cambiar Contraseña",
"description": "Establece la contraseña para tu cuenta",
"submit": "Continuar",
"labels": {
"newPassword": "Nueva contraseña",
"confirmPassword": "Confirmar contraseña"
},
"required": {
"newPassword": "¡Debes proporcionar una nueva contraseña!",
"confirmPassword": "Este campo es obligatorio"
@@ -101,9 +119,11 @@
"ldap": {
"title": "Iniciar sesión con LDAP",
"description": "Introduce tus credenciales LDAP.",
"username": "Nombre de usuario",
"password": "Contraseña",
"submit": "Continuar",
"labels": {
"username": "Nombre de usuario",
"password": "Contraseña"
},
"required": {
"username": "Este campo es obligatorio",
"password": "Este campo es obligatorio"
@@ -130,6 +150,9 @@
"noCodeReceived": "¿No recibiste un código?",
"resendCode": "Reenviar código",
"submit": "Continuar",
"labels": {
"code": "Código"
},
"required": {
"code": "Este campo es obligatorio"
}
@@ -141,6 +164,9 @@
"emailDescription": "Introduce tu dirección de correo electrónico para recibir un código por correo electrónico.",
"totpRegisterDescription": "Escanea el código QR o navega manualmente a la URL.",
"submit": "Continuar",
"labels": {
"code": "Código"
},
"required": {
"code": "Este campo es obligatorio"
}
@@ -201,11 +227,20 @@
"title": "Establecer Contraseña",
"description": "Establece la contraseña para tu cuenta",
"submit": "Continuar",
"labels": {
"password": "Contraseña",
"confirmPassword": "Confirmar contraseña"
},
"required": {
"password": "¡Debes proporcionar una contraseña!",
"confirmPassword": "Este campo es obligatorio"
}
},
"labels": {
"firstname": "Nombre",
"lastname": "Apellidos",
"email": "Correo electrónico"
},
"required": {
"firstname": "Este campo es obligatorio",
"lastname": "Este campo es obligatorio",
@@ -247,6 +282,9 @@
"resendCode": "Reenviar código",
"codeSent": "Se ha enviado un código a tu dirección de correo electrónico.",
"submit": "Continuar",
"labels": {
"code": "Código"
},
"required": {
"code": "Este campo es obligatorio"
}
@@ -264,6 +302,9 @@
"title": "Código del dispositivo",
"description": "Introduce el código.",
"submit": "Continuar",
"labels": {
"code": "Código"
},
"required": {
"code": "Este campo es obligatorio"
}

View File

@@ -27,6 +27,12 @@
"description": "Inserisci i tuoi dati di accesso.",
"register": "Registrati come nuovo utente",
"submit": "Continua",
"labels": {
"loginname": "Nome di accesso",
"username": "Nome utente",
"usernameOrPhoneNumber": "Nome utente o numero di telefono",
"usernameOrEmail": "Nome utente o e-mail"
},
"required": {
"loginName": "Questo campo è obbligatorio"
}
@@ -37,6 +43,9 @@
"description": "Inserisci la tua password.",
"resetPassword": "Reimposta Password",
"submit": "Continua",
"labels": {
"password": "Password"
},
"required": {
"password": "Questo campo è obbligatorio"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "Non hai ricevuto un codice?",
"resend": "Invia di nuovo",
"submit": "Continua",
"labels": {
"code": "Codice",
"newPassword": "Nuova password",
"confirmPassword": "Conferma password"
},
"required": {
"code": "Questo campo è obbligatorio",
"newPassword": "Devi fornire una password!",
@@ -58,6 +72,10 @@
"title": "Cambia Password",
"description": "Imposta la password per il tuo account",
"submit": "Continua",
"labels": {
"newPassword": "Nuova password",
"confirmPassword": "Conferma password"
},
"required": {
"newPassword": "Devi fornire una nuova password!",
"confirmPassword": "Questo campo è obbligatorio"
@@ -101,9 +119,11 @@
"ldap": {
"title": "Accedi con LDAP",
"description": "Inserisci le tue credenziali LDAP.",
"username": "Nome utente",
"password": "Password",
"submit": "Continua",
"labels": {
"username": "Nome utente",
"password": "Password"
},
"required": {
"username": "Questo campo è obbligatorio",
"password": "Questo campo è obbligatorio"
@@ -130,6 +150,9 @@
"noCodeReceived": "Non hai ricevuto un codice?",
"resendCode": "Invia di nuovo il codice",
"submit": "Continua",
"labels": {
"code": "Codice"
},
"required": {
"code": "Questo campo è obbligatorio"
}
@@ -141,6 +164,9 @@
"emailDescription": "Inserisci il tuo indirizzo email per ricevere un codice via email.",
"totpRegisterDescription": "Scansiona il codice QR o naviga manualmente all'URL.",
"submit": "Continua",
"labels": {
"code": "Codice"
},
"required": {
"code": "Questo campo è obbligatorio"
}
@@ -201,11 +227,20 @@
"title": "Imposta Password",
"description": "Imposta la password per il tuo account",
"submit": "Continua",
"labels": {
"password": "Password",
"confirmPassword": "Conferma password"
},
"required": {
"password": "Devi fornire una password!",
"confirmPassword": "Questo campo è obbligatorio"
}
},
"labels": {
"firstname": "Nome",
"lastname": "Cognome",
"email": "E-mail"
},
"required": {
"firstname": "Questo campo è obbligatorio",
"lastname": "Questo campo è obbligatorio",
@@ -247,6 +282,9 @@
"resendCode": "Invia di nuovo il codice",
"codeSent": "Un codice è stato appena inviato al tuo indirizzo email.",
"submit": "Continua",
"labels": {
"code": "Codice"
},
"required": {
"code": "Questo campo è obbligatorio"
}
@@ -264,6 +302,9 @@
"title": "Codice dispositivo",
"description": "Inserisci il codice.",
"submit": "Continua",
"labels": {
"code": "Codice"
},
"required": {
"code": "Questo campo è obbligatorio"
}

View File

@@ -27,6 +27,12 @@
"description": "Wprowadź dane logowania.",
"register": "Zarejestruj nowego użytkownika",
"submit": "Kontynuuj",
"labels": {
"loginname": "Login",
"username": "Nazwa użytkownika",
"usernameOrPhoneNumber": "Nazwa użytkownika lub numer telefonu",
"usernameOrEmail": "Nazwa użytkownika lub e-mail"
},
"required": {
"loginName": "To pole jest wymagane"
}
@@ -37,6 +43,9 @@
"description": "Wprowadź swoje hasło.",
"resetPassword": "Zresetuj hasło",
"submit": "Kontynuuj",
"labels": {
"password": "Hasło"
},
"required": {
"password": "To pole jest wymagane"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "Nie otrzymałeś kodu?",
"resend": "Wyślij kod ponownie",
"submit": "Kontynuuj",
"labels": {
"code": "Kod",
"newPassword": "Nowe hasło",
"confirmPassword": "Potwierdź nowe hasło"
},
"required": {
"code": "To pole jest wymagane",
"newPassword": "Musisz podać hasło!",
@@ -58,6 +72,10 @@
"title": "Zmień hasło",
"description": "Ustaw nowe hasło dla swojego konta",
"submit": "Kontynuuj",
"labels": {
"newPassword": "Nowe hasło",
"confirmPassword": "Potwierdź nowe hasło"
},
"required": {
"newPassword": "Musisz podać nowe hasło!",
"confirmPassword": "To pole jest wymagane"
@@ -101,9 +119,11 @@
"ldap": {
"title": "Zaloguj się przez LDAP",
"description": "Wprowadź swoje dane logowania LDAP.",
"username": "Nazwa użytkownika",
"password": "Hasło",
"submit": "Kontynuuj",
"labels": {
"username": "Nazwa użytkownika",
"password": "Hasło"
},
"required": {
"username": "To pole jest wymagane",
"password": "To pole jest wymagane"
@@ -130,6 +150,9 @@
"noCodeReceived": "Nie otrzymałeś kodu?",
"resendCode": "Wyślij kod ponownie",
"submit": "Kontynuuj",
"labels": {
"code": "Kod"
},
"required": {
"code": "To pole jest wymagane"
}
@@ -141,6 +164,9 @@
"emailDescription": "Wprowadź swój adres e-mail, aby otrzymać kod e-mailem.",
"totpRegisterDescription": "Zeskanuj kod QR lub otwórz adres URL ręcznie.",
"submit": "Kontynuuj",
"labels": {
"code": "Kod"
},
"required": {
"code": "To pole jest wymagane"
}
@@ -201,11 +227,20 @@
"title": "Ustaw hasło",
"description": "Ustaw hasło dla swojego konta",
"submit": "Kontynuuj",
"labels": {
"password": "Hasło",
"confirmPassword": "Potwierdź hasło"
},
"required": {
"password": "Musisz podać hasło!",
"confirmPassword": "To pole jest wymagane"
}
},
"labels": {
"firstname": "Imię",
"lastname": "Nazwisko",
"email": "E-mail"
},
"required": {
"firstname": "To pole jest wymagane",
"lastname": "To pole jest wymagane",
@@ -247,6 +282,9 @@
"resendCode": "Wyślij kod ponownie",
"codeSent": "Kod został właśnie wysłany na twój adres e-mail.",
"submit": "Kontynuuj",
"labels": {
"code": "Kod"
},
"required": {
"code": "To pole jest wymagane"
}
@@ -264,6 +302,9 @@
"title": "Kod urządzenia",
"description": "Wprowadź kod.",
"submit": "Kontynuuj",
"labels": {
"code": "Kod"
},
"required": {
"code": "To pole jest wymagane"
}

View File

@@ -27,6 +27,12 @@
"description": "Введите свои данные для входа.",
"register": "Зарегистрировать нового пользователя",
"submit": "Продолжить",
"labels": {
"loginname": "Логин",
"username": "Имя пользователя",
"usernameOrPhoneNumber": "Имя пользователя или номер телефона",
"usernameOrEmail": "Имя пользователя или электронная почта"
},
"required": {
"loginName": "Это поле обязательно для заполнения"
}
@@ -37,6 +43,9 @@
"description": "Введите ваш пароль.",
"resetPassword": "Сбросить пароль",
"submit": "Продолжить",
"labels": {
"password": "Пароль"
},
"required": {
"password": "Это поле обязательно для заполнения"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "Не получили код?",
"resend": "Отправить код повторно",
"submit": "Продолжить",
"labels": {
"code": "Код",
"newPassword": "Новый пароль",
"confirmPassword": "Подтвердите пароль"
},
"required": {
"code": "Это поле обязательно для заполнения",
"newPassword": "Вы должны указать пароль!",
@@ -58,6 +72,10 @@
"title": "Изменить пароль",
"description": "Установите пароль для вашего аккаунта",
"submit": "Продолжить",
"labels": {
"newPassword": "Новый пароль",
"confirmPassword": "Подтвердите пароль"
},
"required": {
"newPassword": "Вы должны указать новый пароль!",
"confirmPassword": "Это поле обязательно для заполнения"
@@ -101,9 +119,11 @@
"ldap": {
"title": "Войти через LDAP",
"description": "Введите ваши учетные данные LDAP.",
"username": "Имя пользователя",
"password": "Пароль",
"submit": "Продолжить",
"labels": {
"username": "Имя пользователя",
"password": "Пароль"
},
"required": {
"username": "Это поле обязательно для заполнения",
"password": "Это поле обязательно для заполнения"
@@ -130,6 +150,9 @@
"noCodeReceived": "Не получили код?",
"resendCode": "Отправить код повторно",
"submit": "Продолжить",
"labels": {
"code": "Код"
},
"required": {
"code": "Это поле обязательно для заполнения"
}
@@ -141,6 +164,9 @@
"emailDescription": "Введите email для получения кода.",
"totpRegisterDescription": "Отсканируйте QR-код или перейдите по ссылке вручную.",
"submit": "Продолжить",
"labels": {
"code": "Код"
},
"required": {
"code": "Это поле обязательно для заполнения"
}
@@ -201,11 +227,20 @@
"title": "Установить пароль",
"description": "Установите пароль для вашего аккаунта",
"submit": "Продолжить",
"labels": {
"password": "Пароль",
"confirmPassword": "Подтвердите пароль"
},
"required": {
"password": "Вы должны указать пароль!",
"confirmPassword": "Это поле обязательно для заполнения"
}
},
"labels": {
"firstname": "Имя",
"lastname": "Фамилия",
"email": "Электронная почта"
},
"required": {
"firstname": "Это поле обязательно для заполнения",
"lastname": "Это поле обязательно для заполнения",
@@ -247,6 +282,9 @@
"resendCode": "Отправить код повторно",
"codeSent": "Код отправлен на ваш email.",
"submit": "Продолжить",
"labels": {
"code": "Код"
},
"required": {
"code": "Это поле обязательно для заполнения"
}
@@ -264,6 +302,9 @@
"title": "Код устройства",
"description": "Введите код.",
"submit": "Продолжить",
"labels": {
"code": "Код"
},
"required": {
"code": "Это поле обязательно для заполнения"
}

View File

@@ -27,6 +27,12 @@
"description": "请输入您的登录信息。",
"register": "注册新用户",
"submit": "继续",
"labels": {
"loginname": "登录名",
"username": "用户名",
"usernameOrPhoneNumber": "用户名或电话号码",
"usernameOrEmail": "用户名或电子邮箱"
},
"required": {
"loginName": "此字段为必填项"
}
@@ -37,6 +43,9 @@
"description": "请输入您的密码。",
"resetPassword": "重置密码",
"submit": "继续",
"labels": {
"password": "密码"
},
"required": {
"password": "此字段为必填项"
}
@@ -48,6 +57,11 @@
"noCodeReceived": "没有收到验证码?",
"resend": "重发验证码",
"submit": "继续",
"labels": {
"code": "验证码",
"newPassword": "新密码",
"confirmPassword": "确认密码"
},
"required": {
"code": "此字段为必填项",
"newPassword": "必须提供密码!",
@@ -58,6 +72,10 @@
"title": "更改密码",
"description": "为您的账户设置密码",
"submit": "继续",
"labels": {
"newPassword": "新密码",
"confirmPassword": "确认密码"
},
"required": {
"newPassword": "必须提供新密码!",
"confirmPassword": "此字段为必填项"
@@ -101,9 +119,11 @@
"ldap": {
"title": "使用 LDAP 登录",
"description": "请输入您的 LDAP 凭据。",
"username": "用户名",
"password": "密码",
"submit": "继续",
"labels": {
"username": "用户名",
"password": "密码"
},
"required": {
"username": "此字段为必填项",
"password": "此字段为必填项"
@@ -130,6 +150,9 @@
"noCodeReceived": "没有收到验证码?",
"resendCode": "重发验证码",
"submit": "继续",
"labels": {
"code": "验证码"
},
"required": {
"code": "此字段为必填项"
}
@@ -141,6 +164,9 @@
"emailDescription": "输入您的电子邮箱地址以接收电子邮件验证码。",
"totpRegisterDescription": "扫描二维码或手动导航到URL。",
"submit": "继续",
"labels": {
"code": "验证码"
},
"required": {
"code": "此字段为必填项"
}
@@ -201,11 +227,20 @@
"title": "设置密码",
"description": "为您的账户设置密码",
"submit": "继续",
"labels": {
"password": "密码",
"confirmPassword": "确认密码"
},
"required": {
"password": "必须提供密码!",
"confirmPassword": "此字段为必填项"
}
},
"labels": {
"firstname": "名字",
"lastname": "姓氏",
"email": "电子邮箱"
},
"required": {
"firstname": "此字段为必填项",
"lastname": "此字段为必填项",
@@ -247,6 +282,9 @@
"resendCode": "重发验证码",
"codeSent": "刚刚发送了一封包含验证码的电子邮件。",
"submit": "继续",
"labels": {
"code": "验证码"
},
"required": {
"code": "此字段为必填项"
}
@@ -264,6 +302,9 @@
"title": "设备代码",
"description": "输入代码。",
"submit": "继续",
"labels": {
"code": "验证码"
},
"required": {
"code": "此字段为必填项"
}

View File

@@ -161,7 +161,7 @@ export function ChangePasswordForm({
{...register("password", {
required: t("change.required.newPassword"),
})}
label="New Password"
label={t("change.labels.newPassword")}
error={errors.password?.message as string}
data-testid="password-change-text-input"
/>
@@ -174,7 +174,7 @@ export function ChangePasswordForm({
{...register("confirmPassword", {
required: t("change.required.confirmPassword"),
})}
label="Confirm Password"
label={t("change.labels.confirmPassword")}
error={errors.confirmPassword?.message as string}
data-testid="password-change-confirm-text-input"
/>

View File

@@ -66,7 +66,7 @@ export function DeviceCodeForm({ userCode }: { userCode?: string }) {
type="text"
autoComplete="one-time-code"
{...register("userCode", { required: t("usercode.required.code") })}
label="Code"
label={t("usercode.labels.code")}
data-testid="code-text-input"
/>
</div>
@@ -89,7 +89,7 @@ export function DeviceCodeForm({ userCode }: { userCode?: string }) {
data-testid="submit-button"
>
{loading && <Spinner className="mr-2 h-5 w-5" />}{" "}
<Translated i18nKey="verify.submit" namespace="verify" />
<Translated i18nKey="usercode.submit" namespace="device" />
</Button>
</div>
</form>

View File

@@ -69,7 +69,7 @@ export function LDAPUsernamePasswordForm({ idpId, link }: Props) {
type="text"
autoComplete="username"
{...register("loginName", { required: t("required.username") })}
label={t("username")}
label={t("labels.username")}
data-testid="username-text-input"
/>
@@ -78,7 +78,7 @@ export function LDAPUsernamePasswordForm({ idpId, link }: Props) {
type="password"
autoComplete="password"
{...register("password", { required: t("required.password") })}
label={t("password")}
label={t("labels.password")}
data-testid="password-text-input"
/>
</div>

View File

@@ -253,7 +253,7 @@ export function LoginOTP({
<TextInput
type="text"
{...register("code", { required: t("verify.required.code") })}
label="Code"
label={t("verify.labels.code")}
autoComplete="one-time-code"
data-testid="code-text-input"
/>

View File

@@ -122,7 +122,7 @@ export function PasswordForm({
type="password"
autoComplete="password"
{...register("password", { required: t("verify.required.password") })}
label="Password"
label={t("verify.labels.password")}
data-testid="password-text-input"
/>
{!loginSettings?.hidePasswordReset && (

View File

@@ -106,7 +106,7 @@ export function RegisterFormIDPIncomplete({
autoComplete="firstname"
required
{...register("firstname", { required: t("required.firstname") })}
label="First name"
label={t("labels.firstname")}
error={errors.firstname?.message as string}
data-testid="firstname-text-input"
/>
@@ -117,7 +117,7 @@ export function RegisterFormIDPIncomplete({
autoComplete="lastname"
required
{...register("lastname", { required: t("required.lastname") })}
label="Last name"
label={t("labels.lastname")}
error={errors.lastname?.message as string}
data-testid="lastname-text-input"
/>
@@ -128,7 +128,7 @@ export function RegisterFormIDPIncomplete({
autoComplete="email"
required
{...register("email", { required: t("required.email") })}
label="E-mail"
label={t("labels.email")}
error={errors.email?.message as string}
data-testid="email-text-input"
/>

View File

@@ -134,7 +134,7 @@ export function RegisterForm({
autoComplete="firstname"
required
{...register("firstname", { required: t("required.firstname") })}
label="First name"
label={t("labels.firstname")}
error={errors.firstname?.message as string}
data-testid="firstname-text-input"
/>
@@ -145,7 +145,7 @@ export function RegisterForm({
autoComplete="lastname"
required
{...register("lastname", { required: t("required.lastname") })}
label="Last name"
label={t("labels.lastname")}
error={errors.lastname?.message as string}
data-testid="lastname-text-input"
/>
@@ -156,7 +156,7 @@ export function RegisterForm({
autoComplete="email"
required
{...register("email", { required: t("required.email") })}
label="E-mail"
label={t("labels.email")}
error={errors.email?.message as string}
data-testid="email-text-input"
/>

View File

@@ -221,7 +221,7 @@ export function SetPasswordForm({
{...register("code", {
required: t("set.required.code"),
})}
label="Code"
label={t("set.labels.code")}
autoComplete="one-time-code"
error={errors.code?.message as string}
data-testid="code-text-input"
@@ -236,7 +236,7 @@ export function SetPasswordForm({
{...register("password", {
required: t("set.required.newPassword"),
})}
label="New Password"
label={t("set.labels.newPassword")}
error={errors.password?.message as string}
data-testid="password-set-text-input"
/>
@@ -249,7 +249,7 @@ export function SetPasswordForm({
{...register("confirmPassword", {
required: t("set.required.confirmPassword"),
})}
label="Confirm Password"
label={t("set.labels.confirmPassword")}
error={errors.confirmPassword?.message as string}
data-testid="password-set-confirm-text-input"
/>

View File

@@ -120,7 +120,7 @@ export function SetRegisterPasswordForm({
{...register("password", {
required: t("password.required.password"),
})}
label="Password"
label={t("password.labels.password")}
error={errors.password?.message as string}
data-testid="password-text-input"
/>
@@ -133,7 +133,7 @@ export function SetRegisterPasswordForm({
{...register("confirmPassword", {
required: t("password.required.confirmPassword"),
})}
label="Confirm Password"
label={t("password.labels.confirmPassword")}
error={errors.confirmPassword?.message as string}
data-testid="password-confirm-text-input"
/>

View File

@@ -126,7 +126,7 @@ export function TotpRegister({
<TextInput
type="text"
{...register("code", { required: t("set.required.code") })}
label="Code"
label={t("set.labels.code")}
data-testid="code-text-input"
/>
</div>

View File

@@ -86,16 +86,16 @@ export function UsernameForm({
}
}, []);
let inputLabel = "Loginname";
let inputLabel = t("labels.loginname");
if (
loginSettings?.disableLoginWithEmail &&
loginSettings?.disableLoginWithPhone
) {
inputLabel = "Username";
inputLabel = t("labels.username");
} else if (loginSettings?.disableLoginWithEmail) {
inputLabel = "Username or phone number";
inputLabel = t("labels.usernameOrPhoneNumber");
} else if (loginSettings?.disableLoginWithPhone) {
inputLabel = "Username or email";
inputLabel = t("labels.usernameOrEmail");
}
return (

View File

@@ -139,7 +139,7 @@ export function VerifyForm({
type="text"
autoComplete="one-time-code"
{...register("code", { required: t("verify.required.code") })}
label="Code"
label={t("verify.labels.code")}
data-testid="code-text-input"
/>
</div>

File diff suppressed because it is too large Load Diff