feat: Support more flexible login method control (#2566)

This commit is contained in:
HGZ-20 2024-01-02 21:11:52 +08:00 committed by GitHub
parent 3373174c65
commit e3f28e8b4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 737 additions and 190 deletions

View File

@ -342,7 +342,28 @@ func (c *ApiController) Login() {
return
}
var application *object.Application
application, err = object.GetApplication(fmt.Sprintf("admin/%s", authForm.Application))
if err != nil {
c.ResponseError(err.Error(), nil)
return
}
if application == nil {
c.ResponseError(fmt.Sprintf(c.T("auth:The application: %s does not exist"), authForm.Application))
return
}
verificationCodeType := object.GetVerifyType(authForm.Username)
if verificationCodeType == object.VerifyTypeEmail && !application.IsCodeSigninViaEmailEnabled() {
c.ResponseError(c.T("auth:The login method: login with email is not enabled for the application"))
return
}
if verificationCodeType == object.VerifyTypePhone && !application.IsCodeSigninViaSmsEnabled() {
c.ResponseError(c.T("auth:The login method: login with SMS is not enabled for the application"))
return
}
var checkDest string
if verificationCodeType == object.VerifyTypePhone {
authForm.CountryCode = user.GetCountryCode(authForm.CountryCode)
@ -378,7 +399,7 @@ func (c *ApiController) Login() {
c.ResponseError(fmt.Sprintf(c.T("auth:The application: %s does not exist"), authForm.Application))
return
}
if !application.EnablePassword {
if !application.IsPasswordEnabled() {
c.ResponseError(c.T("auth:The login method: login with password is not enabled for the application"))
return
}

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Das Konto für den Anbieter %s und Benutzernamen %s (%s) existiert nicht und es ist nicht erlaubt, ein neues Konto anzumelden. Bitte wenden Sie sich an Ihren IT-Support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Das Konto für den Anbieter %s und Benutzernamen %s (%s) ist bereits mit einem anderen Konto verknüpft: %s (%s)",
"The application: %s does not exist": "Die Anwendung: %s existiert nicht",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "Die Anmeldeart \"Anmeldung mit Passwort\" ist für die Anwendung nicht aktiviert",
"The provider: %s is not enabled for the application": "Der Anbieter: %s ist nicht für die Anwendung aktiviert",
"Unauthorized operation": "Nicht autorisierte Operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "La cuenta para el proveedor: %s y el nombre de usuario: %s (%s) no existe y no se permite registrarse como una nueva cuenta, por favor contacte a su soporte de TI",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "La cuenta para proveedor: %s y nombre de usuario: %s (%s) ya está vinculada a otra cuenta: %s (%s)",
"The application: %s does not exist": "La aplicación: %s no existe",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "El método de inicio de sesión: inicio de sesión con contraseña no está habilitado para la aplicación",
"The provider: %s is not enabled for the application": "El proveedor: %s no está habilitado para la aplicación",
"Unauthorized operation": "Operación no autorizada",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Le compte pour le fournisseur : %s et le nom d'utilisateur : %s (%s) n'existe pas et n'est pas autorisé à s'inscrire comme nouveau compte, veuillez contacter votre support informatique",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Le compte du fournisseur : %s et le nom d'utilisateur : %s (%s) sont déjà liés à un autre compte : %s (%s)",
"The application: %s does not exist": "L'application : %s n'existe pas",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "La méthode de connexion : connexion avec mot de passe n'est pas activée pour l'application",
"The provider: %s is not enabled for the application": "Le fournisseur :%s n'est pas activé pour l'application",
"Unauthorized operation": "Opération non autorisée",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Akun untuk penyedia: %s dan nama pengguna: %s (%s) tidak ada dan tidak diizinkan untuk mendaftar sebagai akun baru, silakan hubungi dukungan IT Anda",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Akun untuk provider: %s dan username: %s (%s) sudah terhubung dengan akun lain: %s (%s)",
"The application: %s does not exist": "Aplikasi: %s tidak ada",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "Metode login: login dengan kata sandi tidak diaktifkan untuk aplikasi tersebut",
"The provider: %s is not enabled for the application": "Penyedia: %s tidak diaktifkan untuk aplikasi ini",
"Unauthorized operation": "Operasi tidak sah",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "プロバイダー名:%sとユーザー名%s%sのアカウントは存在しません。新しいアカウントとしてサインアップすることはできません。 ITサポートに連絡してください",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "プロバイダのアカウント:%s とユーザー名:%s (%s) は既に別のアカウント:%s (%s) にリンクされています",
"The application: %s does not exist": "アプリケーション: %sは存在しません",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "ログイン方法:パスワードでのログインはアプリケーションで有効になっていません",
"The provider: %s is not enabled for the application": "プロバイダー:%sはアプリケーションでは有効化されていません",
"Unauthorized operation": "不正操作",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "공급자 계정 %s과 사용자 이름 %s (%s)는 존재하지 않으며 새 계정으로 등록할 수 없습니다. IT 지원팀에 문의하십시오",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "공급자 계정 %s과 사용자 이름 %s(%s)는 이미 다른 계정 %s(%s)에 연결되어 있습니다",
"The application: %s does not exist": "해당 애플리케이션(%s)이 존재하지 않습니다",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "어플리케이션에서는 암호를 사용한 로그인 방법이 활성화되어 있지 않습니다",
"The provider: %s is not enabled for the application": "제공자 %s은(는) 응용 프로그램에서 활성화되어 있지 않습니다",
"Unauthorized operation": "무단 조작",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Аккаунт для провайдера: %s и имя пользователя: %s (%s) не существует и не может быть зарегистрирован как новый аккаунт. Пожалуйста, обратитесь в службу поддержки IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Аккаунт поставщика: %s и имя пользователя: %s (%s) уже связаны с другим аккаунтом: %s (%s)",
"The application: %s does not exist": "Приложение: %s не существует",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "Метод входа: вход с паролем не включен для приложения",
"The provider: %s is not enabled for the application": "Провайдер: %s не включен для приложения",
"Unauthorized operation": "Несанкционированная операция",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Tài khoản cho nhà cung cấp: %s và tên người dùng: %s (%s) không tồn tại và không được phép đăng ký như một tài khoản mới, vui lòng liên hệ với bộ phận hỗ trợ công nghệ thông tin của bạn",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Tài khoản cho nhà cung cấp: %s và tên người dùng: %s (%s) đã được liên kết với tài khoản khác: %s (%s)",
"The application: %s does not exist": "Ứng dụng: %s không tồn tại",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with password is not enabled for the application": "Phương thức đăng nhập: đăng nhập bằng mật khẩu không được kích hoạt cho ứng dụng",
"The provider: %s is not enabled for the application": "Nhà cung cấp: %s không được kích hoạt cho ứng dụng",
"Unauthorized operation": "Hoạt động không được ủy quyền",

View File

@ -15,6 +15,8 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "提供商账户: %s 与用户名: %s (%s) 不存在且 不允许注册新账户, 请联系IT支持",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "提供商账户: %s与用户名: %s (%s)已经与其他账户绑定: %s (%s)",
"The application: %s does not exist": "应用%s不存在",
"The login method: login with SMS is not enabled for the application": "该应用禁止采用短信登录方式",
"The login method: login with email is not enabled for the application": "该应用禁止采用邮箱登录方式",
"The login method: login with password is not enabled for the application": "该应用禁止采用密码登录方式",
"The provider: %s is not enabled for the application": "该应用的提供商: %s未被启用",
"Unauthorized operation": "未授权的操作",

View File

@ -45,6 +45,23 @@
"alertType": "None"
}
],
"signinMethods": [
{
"name": "Password",
"displayName": "Password",
"rule": "None",
},
{
"name": "Verification code",
"displayName": "Verification code",
"rule": "All",
},
{
"name": "WebAuthn",
"displayName": "WebAuthn",
"rule": "None",
},
],
"signupItems": [
{
"name": "ID",

View File

@ -24,6 +24,12 @@ import (
"github.com/xorm-io/core"
)
type SigninMethod struct {
Name string `xorm:"varchar(100) notnull pk" json:"name"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Rule string `json:"rule"`
}
type SignupItem struct {
Name string `json:"name"`
Visible bool `json:"visible"`
@ -63,6 +69,7 @@ type Application struct {
OrgChoiceMode string `json:"orgChoiceMode"`
SamlReplyUrl string `xorm:"varchar(100)" json:"samlReplyUrl"`
Providers []*ProviderItem `xorm:"mediumtext" json:"providers"`
SigninMethods []*SigninMethod `xorm:"varchar(2000)" json:"signinMethods"`
SignupItems []*SignupItem `xorm:"varchar(2000)" json:"signupItems"`
GrantTypes []string `xorm:"varchar(1000)" json:"grantTypes"`
OrganizationObj *Organization `xorm:"-" json:"organizationObj"`
@ -191,6 +198,25 @@ func extendApplicationWithOrg(application *Application) (err error) {
return
}
func extendApplicationWithSigninMethods(application *Application) (err error) {
if len(application.SigninMethods) == 0 {
if application.EnablePassword {
signinMethod := &SigninMethod{Name: "Password", DisplayName: "Password", Rule: "None"}
application.SigninMethods = append(application.SigninMethods, signinMethod)
}
if application.EnableCodeSignin {
signinMethod := &SigninMethod{Name: "Verification code", DisplayName: "Verification code", Rule: "All"}
application.SigninMethods = append(application.SigninMethods, signinMethod)
}
if application.EnableWebAuthn {
signinMethod := &SigninMethod{Name: "WebAuthn", DisplayName: "WebAuthn", Rule: "None"}
application.SigninMethods = append(application.SigninMethods, signinMethod)
}
}
return
}
func getApplication(owner string, name string) (*Application, error) {
if owner == "" || name == "" {
return nil, nil
@ -213,6 +239,11 @@ func getApplication(owner string, name string) (*Application, error) {
return nil, err
}
err = extendApplicationWithSigninMethods(&application)
if err != nil {
return nil, err
}
return &application, nil
} else {
return nil, nil
@ -237,6 +268,11 @@ func GetApplicationByOrganizationName(organization string) (*Application, error)
return nil, err
}
err = extendApplicationWithSigninMethods(&application)
if err != nil {
return nil, err
}
return &application, nil
} else {
return nil, nil
@ -284,6 +320,11 @@ func GetApplicationByClientId(clientId string) (*Application, error) {
return nil, err
}
err = extendApplicationWithSigninMethods(&application)
if err != nil {
return nil, err
}
return &application, nil
} else {
return nil, nil
@ -485,6 +526,45 @@ func (application *Application) IsRedirectUriValid(redirectUri string) bool {
return false
}
func (application *Application) IsPasswordEnabled() bool {
if len(application.SigninMethods) == 0 {
return application.EnablePassword
} else {
for _, signinMethod := range application.SigninMethods {
if signinMethod.Name == "Password" {
return true
}
}
return false
}
}
func (application *Application) IsCodeSigninViaEmailEnabled() bool {
if len(application.SigninMethods) == 0 {
return application.EnableCodeSignin
} else {
for _, signinMethod := range application.SigninMethods {
if signinMethod.Name == "Verification code" && signinMethod.Rule != "Phone only" {
return true
}
}
return false
}
}
func (application *Application) IsCodeSigninViaSmsEnabled() bool {
if len(application.SigninMethods) == 0 {
return application.EnableCodeSignin
} else {
for _, signinMethod := range application.SigninMethods {
if signinMethod.Name == "Verification code" && signinMethod.Rule != "Email only" {
return true
}
}
return false
}
}
func IsOriginAllowed(origin string) (bool, error) {
applications, err := GetApplications("")
if err != nil {

View File

@ -180,6 +180,11 @@ func initBuiltInApplication() {
Providers: []*ProviderItem{
{Name: "provider_captcha_default", CanSignUp: false, CanSignIn: false, CanUnlink: false, Prompted: false, SignupGroup: "", Rule: "None", Provider: nil},
},
SigninMethods: []*SigninMethod{
{Name: "Password", DisplayName: "Password", Rule: "None"},
{Name: "Verification code", DisplayName: "Verification code", Rule: "All"},
{Name: "WebAuthn", DisplayName: "WebAuthn", Rule: "None"},
},
SignupItems: []*SignupItem{
{Name: "ID", Visible: false, Required: true, Prompted: false, Rule: "Random"},
{Name: "Username", Visible: true, Required: true, Prompted: false, Rule: "None"},

View File

@ -136,6 +136,9 @@ func readInitDataFromFile(filePath string) (*InitData, error) {
if application.Providers == nil {
application.Providers = []*ProviderItem{}
}
if application.SigninMethods == nil {
application.SigninMethods = []*SigninMethod{}
}
if application.SignupItems == nil {
application.SignupItems = []*SignupItem{}
}

View File

@ -27,6 +27,7 @@ import LoginPage from "./auth/LoginPage";
import i18next from "i18next";
import UrlTable from "./table/UrlTable";
import ProviderTable from "./table/ProviderTable";
import SigninTable from "./table/SigninTable";
import SignupTable from "./table/SignupTable";
import SamlAttributeTable from "./table/SamlAttributeTable";
import PromptPage from "./auth/PromptPage";
@ -429,16 +430,6 @@ class ApplicationEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Enable password"), i18next.t("application:Enable password - Tooltip"))} :
</Col>
<Col span={1} >
<Switch checked={this.state.application.enablePassword} onChange={checked => {
this.updateApplicationField("enablePassword", checked);
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Enable signup"), i18next.t("application:Enable signup - Tooltip"))} :
@ -469,26 +460,6 @@ class ApplicationEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Enable code signin"), i18next.t("application:Enable code signin - Tooltip"))} :
</Col>
<Col span={1} >
<Switch checked={this.state.application.enableCodeSignin} onChange={checked => {
this.updateApplicationField("enableCodeSignin", checked);
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Enable WebAuthn signin"), i18next.t("application:Enable WebAuthn signin - Tooltip"))} :
</Col>
<Col span={1} >
<Switch checked={this.state.application.enableWebAuthn} onChange={checked => {
this.updateApplicationField("enableWebAuthn", checked);
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Enable Email linking"), i18next.t("application:Enable Email linking - Tooltip"))} :
@ -499,6 +470,20 @@ class ApplicationEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 22 : 2}>
{Setting.getLabel(i18next.t("application:Signin methods"), i18next.t("application:Signin methods - Tooltip"))} :
</Col>
<Col span={22} >
<SigninTable
title={i18next.t("application:Signin methods")}
table={this.state.application.signinMethods}
onUpdateTable={(value) => {
this.updateApplicationField("signinMethods", value);
}}
/>
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 22 : 2}>
{Setting.getLabel(i18next.t("application:Org choice mode"), i18next.t("application:Org choice mode - Tooltip"))} :
@ -950,7 +935,7 @@ class ApplicationEditPage extends React.Component {
const signInUrl = `/login/oauth/authorize?client_id=${this.state.application.clientId}&response_type=code&redirect_uri=${redirectUri}&scope=read&state=casdoor`;
const maskStyle = {position: "absolute", top: "0px", left: "0px", zIndex: 10, height: "97%", width: "100%", background: "rgba(0,0,0,0.4)"};
if (!this.state.application.enablePassword) {
if (!Setting.isPasswordEnabled(this.state.application)) {
signUpUrl = signInUrl.replace("/login/oauth/authorize", "/signup/oauth/authorize");
}
@ -974,7 +959,7 @@ class ApplicationEditPage extends React.Component {
}}>
<div style={{position: "relative", width: previewWidth, border: "1px solid rgb(217,217,217)", boxShadow: "10px 10px 5px #888888", overflow: "auto"}}>
{
this.state.application.enablePassword ? (
Setting.isPasswordEnabled(this.state.application) ? (
<div className="loginBackground" style={{backgroundImage: `url(${this.state.application?.formBackgroundUrl})`, overflow: "auto"}}>
<SignupPage application={this.state.application} preview = "auto" />
</div>
@ -1049,6 +1034,7 @@ class ApplicationEditPage extends React.Component {
submitApplicationEdit(exitAfterSave) {
const application = Setting.deepCopy(this.state.application);
application.providers = application.providers?.filter(provider => this.state.providers.map(provider => provider.name).includes(provider.name));
application.signinMethods = application.signinMethods?.filter(signinMethod => ["Password", "Verification code", "WebAuthn"].includes(signinMethod.name));
ApplicationBackend.updateApplication("admin", this.state.applicationName, application)
.then((res) => {

View File

@ -46,6 +46,11 @@ class ApplicationListPage extends BaseListPage {
providers: [
{name: "provider_captcha_default", canSignUp: false, canSignIn: false, canUnlink: false, prompted: false, signupGroup: "", rule: ""},
],
SigninMethods: [
{name: "Password", displayName: "Password", rule: "None"},
{name: "Verification code", displayName: "Verification code", rule: "All"},
{name: "WebAuthn", displayName: "WebAuthn", rule: "None"},
],
signupItems: [
{name: "ID", visible: false, required: true, rule: "Random"},
{name: "Username", visible: true, required: true, rule: "None"},

View File

@ -1131,11 +1131,35 @@ export function renderLogo(application) {
}
}
export function isPasswordEnabled(application) {
if (application) {
return application.signinMethods.filter(item => item.name === "Password").length > 0;
} else {
return false;
}
}
export function isCodeSigninEnabled(application) {
if (application) {
return application.signinMethods.filter(item => item.name === "Verification code").length > 0;
} else {
return false;
}
}
export function isWebAuthnEnabled(application) {
if (application) {
return application.signinMethods.filter(item => item.name === "WebAuthn").length > 0;
} else {
return false;
}
}
export function getLoginLink(application) {
let url;
if (application === null) {
url = null;
} else if (!application.enablePassword && window.location.pathname.includes("/auto-signup/oauth/authorize")) {
} else if (!isPasswordEnabled(application) && window.location.pathname.includes("/auto-signup/oauth/authorize")) {
url = window.location.href.replace("/auto-signup/oauth/authorize", "/login/oauth/authorize");
} else if (authConfig.appName === application.name) {
url = "/login";
@ -1191,7 +1215,7 @@ export function renderSignupLink(application, text) {
let url;
if (application === null) {
url = null;
} else if (!application.enablePassword && window.location.pathname.includes("/login/oauth/authorize")) {
} else if (!isPasswordEnabled(application) && window.location.pathname.includes("/login/oauth/authorize")) {
url = window.location.href.replace("/login/oauth/authorize", "/auto-signup/oauth/authorize");
} else if (authConfig.appName === application.name) {
url = "/signup";

View File

@ -201,19 +201,33 @@ class LoginPage extends React.Component {
}
getDefaultLoginMethod(application) {
if (application?.enablePassword) {
return "password";
}
if (application?.enableCodeSignin) {
return "verificationCode";
}
if (application?.enableWebAuthn) {
return "webAuthn";
if (application?.signinMethods.length > 0) {
switch (application?.signinMethods[0].name) {
case "Password": return "password";
case "Verification code": {
switch (application?.signinMethods[0].rule) {
case "All": return "verificationCode"; // All
case "Email only": return "verificationCodeEmail";
case "Phone only": return "verificationCodePhone";
}
break;
}
case "WebAuthn": return "webAuthn";
}
}
return "password";
}
getPlaceholder() {
switch (this.state.loginMethod) {
case "verificationCode": return i18next.t("login:Email or phone");
case "verificationCodeEmail": return i18next.t("login:Email");
case "verificationCodePhone": return i18next.t("login:Phone");
default: return i18next.t("login:username, Email or phone");
}
}
onUpdateAccount(account) {
this.props.onUpdateAccount(account);
}
@ -487,7 +501,7 @@ class LoginPage extends React.Component {
);
}
const showForm = application.enablePassword || application.enableCodeSignin || application.enableWebAuthn;
const showForm = Setting.isPasswordEnabled(application) || Setting.isCodeSigninEnabled(application) || Setting.isWebAuthnEnabled(application);
if (showForm) {
let loginWidth = 320;
if (Setting.getLanguage() === "fr") {
@ -546,7 +560,13 @@ class LoginPage extends React.Component {
rules={[
{
required: true,
message: i18next.t("login:Please input your Email or Phone!"),
message: () => {
switch (this.state.loginMethod) {
case "verificationCodeEmail": return i18next.t("login:Please input your Email!");
case "verificationCodePhone": return i18next.t("login:Please input your Phone!");
default: return i18next.t("login:Please input your Email or Phone!");
}
},
},
{
validator: (_, value) => {
@ -561,6 +581,19 @@ class LoginPage extends React.Component {
} else {
this.setState({validEmail: false});
}
} else if (this.state.loginMethod === "verificationCodeEmail") {
if (!Setting.isValidEmail(value)) {
this.setState({validEmail: false});
this.setState({validEmailOrPhone: false});
return Promise.reject(i18next.t("login:The input is not valid Email!"));
} else {
this.setState({validEmail: true});
}
} else if (this.state.loginMethod === "verificationCodePhone") {
if (!Setting.isValidPhone(value)) {
this.setState({validEmailOrPhone: false});
return Promise.reject(i18next.t("login:The input is not valid phone number!"));
}
}
this.setState({validEmailOrPhone: true});
@ -572,7 +605,7 @@ class LoginPage extends React.Component {
<Input
id="input"
prefix={<UserOutlined className="site-form-item-icon" />}
placeholder={(this.state.loginMethod === "verificationCode") ? i18next.t("login:Email or phone") : i18next.t("login:username, Email or phone")}
placeholder={this.getPlaceholder()}
onChange={e => {
this.setState({
username: e.target.value,
@ -842,12 +875,12 @@ class LoginPage extends React.Component {
prefix={<LockOutlined className="site-form-item-icon" />}
type="password"
placeholder={i18next.t("general:Password")}
disabled={!application.enablePassword}
disabled={!Setting.isPasswordEnabled(application)}
/>
</Form.Item>
</Col>
);
} else if (this.state.loginMethod === "verificationCode") {
} else if (this.state.loginMethod?.includes("verificationCode")) {
return (
<Col span={24}>
<Form.Item
@ -871,9 +904,26 @@ class LoginPage extends React.Component {
renderMethodChoiceBox() {
const application = this.getApplicationObj();
const items = [];
application.enablePassword ? items.push({label: i18next.t("general:Password"), key: "password"}) : null;
application.enableCodeSignin ? items.push({label: i18next.t("login:Verification code"), key: "verificationCode"}) : null;
application.enableWebAuthn ? items.push({label: i18next.t("login:WebAuthn"), key: "webAuthn"}) : null;
const generateItemKey = (name, rule) => {
return `${name}-${rule}`;
};
const itemsMap = new Map([
[generateItemKey("Password", "None"), {label: i18next.t("general:Password"), key: "password"}],
[generateItemKey("Verification code", "All"), {label: i18next.t("login:Verification code"), key: "verificationCode"}],
[generateItemKey("Verification code", "Email only"), {label: i18next.t("login:Verification code"), key: "verificationCodeEmail"}],
[generateItemKey("Verification code", "Phone only"), {label: i18next.t("login:Verification code"), key: "verificationCodePhone"}],
[generateItemKey("WebAuthn", "None"), {label: i18next.t("login:WebAuthn"), key: "webAuthn"}],
]);
application?.signinMethods.forEach((signinMethod) => {
const item = itemsMap.get(generateItemKey(signinMethod.name, signinMethod.rule));
if (item) {
const label = signinMethod.name === signinMethod.displayName ? item.label : signinMethod.displayName;
items.push({label: label, key: item.key});
}
});
if (items.length > 1) {
return (
@ -1003,7 +1053,7 @@ class LoginPage extends React.Component {
}
const visibleOAuthProviderItems = (application.providers === null) ? [] : application.providers.filter(providerItem => this.isProviderVisible(providerItem));
if (this.props.preview !== "auto" && !application.enablePassword && !application.enableCodeSignin && !application.enableWebAuthn && visibleOAuthProviderItems.length === 1) {
if (this.props.preview !== "auto" && !Setting.isPasswordEnabled(application) && !Setting.isCodeSigninEnabled(application) && !Setting.isWebAuthnEnabled(application) && visibleOAuthProviderItems.length === 1) {
Setting.goToLink(Provider.getAuthUrl(application, visibleOAuthProviderItems[0].provider, "signup"));
return (
<div style={{display: "flex", justifyContent: "center", alignItems: "center", width: "100%"}}>

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Aktivieren Sie SAML-Komprimierung",
"Enable SAML compression - Tooltip": "Ob SAML-Antwortnachrichten komprimiert werden sollen, wenn Casdoor als SAML-IdP verwendet wird",
"Enable WebAuthn signin": "Anmeldung mit WebAuthn aktivieren",
"Enable WebAuthn signin - Tooltip": "Ob Benutzern erlaubt werden soll, sich mit WebAuthn anzumelden",
"Enable code signin": "Code Anmeldung aktivieren",
"Enable code signin - Tooltip": "Ob Benutzern erlaubt werden soll, sich mit einem Telefon- oder E-Mail-Bestätigungscode anzumelden",
"Enable password": "Passwort aktivieren",
"Enable password - Tooltip": "Ob Benutzern erlaubt werden soll, sich mit einem Passwort anzumelden",
"Enable side panel": "Sidepanel aktivieren",
"Enable signin session - Tooltip": "Ob Casdoor eine Sitzung aufrechterhält, nachdem man sich von der Anwendung aus bei Casdoor angemeldet hat",
"Enable signup": "Registrierung aktivieren",
@ -100,6 +94,8 @@
"Sign Up Error": "Registrierungsfehler",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Anmeldesession",
"Signup items": "Registrierungs Items",
"Signup items - Tooltip": "Items, die Benutzer ausfüllen müssen, wenn sie neue Konten registrieren",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Zugehörigkeits-URL",
"Affiliation URL - Tooltip": "Die Homepage-URL für die Zugehörigkeit",
"All": "All",
"Application": "Applikation",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Anwendungen",
@ -214,6 +211,7 @@
"Edit": "Bearbeiten",
"Email": "E-Mail",
"Email - Tooltip": "Gültige E-Mail-Adresse",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Berechtigungen, die diesem Benutzer gehören",
"Phone": "Telefon",
"Phone - Tooltip": "Telefonnummer",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Pläne",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Automatische Anmeldung",
"Continue with": "Weitermachen mit",
"Email": "Email",
"Email or phone": "E-Mail oder Telefon",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "Kein Konto?",
"Or sign in with another account": "Oder mit einem anderen Konto anmelden",
"Phone": "Phone",
"Please input your Email or Phone!": "Bitte geben Sie Ihre E-Mail oder Telefonnummer ein!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Bitte geben Sie Ihren Code ein!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Bitte geben Sie Ihr Passwort ein!",
@ -450,6 +453,8 @@
"Signing in...": "Anmelden...",
"Successfully logged in with WebAuthn credentials": "Erfolgreich mit WebAuthn-Anmeldeinformationen angemeldet",
"The input is not valid Email or phone number!": "Die Eingabe ist keine gültige E-Mail-Adresse oder Telefonnummer!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Zum Zugriff",
"Verification code": "Verifizierungscode",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Use C14N10 instead of C14N11 in SAML",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Activar la compresión SAML",
"Enable SAML compression - Tooltip": "Si comprimir o no los mensajes de respuesta SAML cuando se utiliza Casdoor como proveedor de identidad SAML",
"Enable WebAuthn signin": "Permite iniciar sesión con WebAuthn",
"Enable WebAuthn signin - Tooltip": "Si permitir a los usuarios iniciar sesión con WebAuthn",
"Enable code signin": "Habilitar la firma de código",
"Enable code signin - Tooltip": "Si permitir que los usuarios inicien sesión con código de verificación de teléfono o correo electrónico",
"Enable password": "Habilitar contraseña",
"Enable password - Tooltip": "Si permitir que los usuarios inicien sesión con contraseña",
"Enable side panel": "Habilitar panel lateral",
"Enable signin session - Tooltip": "Si Casdoor mantiene una sesión después de iniciar sesión en Casdoor desde la aplicación",
"Enable signup": "Habilitar registro",
@ -100,6 +94,8 @@
"Sign Up Error": "Error de registro",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Sesión de inicio de sesión",
"Signup items": "Artículos de registro",
"Signup items - Tooltip": "Elementos para que los usuarios los completen al registrar nuevas cuentas",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "URL de afiliación",
"Affiliation URL - Tooltip": "La URL de la página de inicio para la afiliación",
"All": "All",
"Application": "Aplicación",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Aplicaciones",
@ -214,6 +211,7 @@
"Edit": "Editar",
"Email": "Correo electrónico",
"Email - Tooltip": "Dirección de correo electrónico válida",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permisos propiedad de este usuario",
"Phone": "Teléfono",
"Phone - Tooltip": "Número de teléfono",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Planes",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Inicio de sesión automático",
"Continue with": "Continúe con",
"Email": "Email",
"Email or phone": "Correo electrónico o teléfono",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "¿No tienes cuenta?",
"Or sign in with another account": "O inicia sesión con otra cuenta",
"Phone": "Phone",
"Please input your Email or Phone!": "¡Por favor introduzca su correo electrónico o teléfono!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "¡Por favor ingrese su código!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "¡Ingrese su contraseña, por favor!",
@ -450,6 +453,8 @@
"Signing in...": "Iniciando sesión...",
"Successfully logged in with WebAuthn credentials": "Inició sesión correctamente con las credenciales de WebAuthn",
"The input is not valid Email or phone number!": "¡La entrada no es un correo electrónico o número de teléfono válido!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "para acceder",
"Verification code": "Código de verificación",
"WebAuthn": "WebAuthn (Autenticación Web)",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Activer la compression SAML",
"Enable SAML compression - Tooltip": "Compresser ou non les messages de réponse SAML lorsque Casdoor est utilisé en tant que fournisseur d'identité SAML",
"Enable WebAuthn signin": "Autoriser la connexion via WebAuthn",
"Enable WebAuthn signin - Tooltip": "Permettre la connexion avec WebAuthn",
"Enable code signin": "Autoriser la connexion avec un code",
"Enable code signin - Tooltip": "Permettre la connexion avec un code de vérification par téléphone ou par e-mail",
"Enable password": "Activer le mot de passe",
"Enable password - Tooltip": "Permettre la connecter avec un mot de passe",
"Enable side panel": "Activer le panneau latéral",
"Enable signin session - Tooltip": "Conserver une session après la connexion à Casdoor à partir de l'application",
"Enable signup": "Activer l'inscription",
@ -100,6 +94,8 @@
"Sign Up Error": "Erreur d'inscription",
"Signin": "Connexion",
"Signin (Default True)": "Connexion (Vrai par défaut)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Session de connexion",
"Signup items": "Champs d'inscription",
"Signup items - Tooltip": "Champs à remplir lors de l'enregistrement de nouveaux comptes",
@ -173,6 +169,7 @@
"Admin": "Administration",
"Affiliation URL": "URL d'affiliation",
"Affiliation URL - Tooltip": "URL du site web de l'affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Info-bulle",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Modifier",
"Email": "E-mail",
"Email - Tooltip": "Adresse e-mail valide",
"Email only": "Email only",
"Enable": "Activer",
"Enabled": "Activé",
"Enabled successfully": "Activé avec succès",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions détenues par ce compte",
"Phone": "Téléphone",
"Phone - Tooltip": "Numéro de téléphone",
"Phone only": "Phone only",
"Plan": "Offre",
"Plan - Tooltip": "Offre - Infobulle",
"Plans": "Offres",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Connexion automatique",
"Continue with": "Continuer avec",
"Email": "Email",
"Email or phone": "Email ou téléphone",
"Failed to obtain MetaMask authorization": "Échec de l'obtention de l'autorisation MetaMask",
"Failed to obtain Web3-Onboard authorization": "Échec de l'obtention de l'autorisation MetaMask",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "Le plugin MetaMask n'a pas été détecté",
"No account?": "Pas de compte ?",
"Or sign in with another account": "Ou connectez-vous avec un autre compte",
"Phone": "Phone",
"Please input your Email or Phone!": "Veuillez saisir votre adresse e-mail ou votre numéro de téléphone !",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Veuillez saisir votre code !",
"Please input your organization name!": "Veuillez saisir le nom de votre organisation !",
"Please input your password!": "Veuillez saisir votre mot de passe !",
@ -450,6 +453,8 @@
"Signing in...": "Connexion en cours...",
"Successfully logged in with WebAuthn credentials": "Connexion avec les identifiants WebAuthn réussie",
"The input is not valid Email or phone number!": "L'entrée n'est pas une adresse e-mail ou un numéro de téléphone valide !",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Pour accéder à",
"Verification code": "Code de vérification",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Aktifkan kompresi SAML",
"Enable SAML compression - Tooltip": "Apakah pesan respons SAML harus dikompres saat Casdoor digunakan sebagai SAML idp?",
"Enable WebAuthn signin": "Aktifkan masuk WebAuthn",
"Enable WebAuthn signin - Tooltip": "Apakah mengizinkan pengguna untuk masuk dengan WebAuthn",
"Enable code signin": "Aktifkan tanda tangan kode",
"Enable code signin - Tooltip": "Apakah mengizinkan pengguna untuk login dengan kode verifikasi telepon atau email",
"Enable password": "Aktifkan kata sandi",
"Enable password - Tooltip": "Apakah harus memperbolehkan pengguna untuk masuk dengan kata sandi",
"Enable side panel": "Aktifkan panel samping",
"Enable signin session - Tooltip": "Apakah Casdoor mempertahankan sesi setelah login ke Casdoor dari aplikasi",
"Enable signup": "Aktifkan pendaftaran",
@ -100,6 +94,8 @@
"Sign Up Error": "Kesalahan Pendaftaran",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Sesi masuk",
"Signup items": "Item pendaftaran",
"Signup items - Tooltip": "Item-item yang harus diisi pengguna saat mendaftar untuk akun baru",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "URL Afiliasi",
"Affiliation URL - Tooltip": "URL halaman depan untuk afiliasi",
"All": "All",
"Application": "Aplikasi",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Aplikasi",
@ -214,6 +211,7 @@
"Edit": "Mengedit",
"Email": "Email",
"Email - Tooltip": "Alamat email yang valid",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Izin dimiliki oleh pengguna ini",
"Phone": "Telepon",
"Phone - Tooltip": "Nomor telepon",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Rencana",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Masuk otomatis",
"Continue with": "Lanjutkan dengan",
"Email": "Email",
"Email or phone": "Email atau telepon",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "Tidak memiliki akun?",
"Or sign in with another account": "Atau masuk dengan akun lain",
"Phone": "Phone",
"Please input your Email or Phone!": "Silahkan masukkan email atau nomor telepon Anda!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Silakan masukkan kode Anda!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Masukkan kata sandi Anda!",
@ -450,6 +453,8 @@
"Signing in...": "Masuk...",
"Successfully logged in with WebAuthn credentials": "Berhasil masuk dengan kredensial WebAuthn",
"The input is not valid Email or phone number!": "Input yang Anda masukkan tidak valid, tidak sesuai dengan Email atau nomor telepon!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Untuk mengakses",
"Verification code": "Kode verifikasi",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "SAMLの圧縮を有効にする",
"Enable SAML compression - Tooltip": "CasdoorをSAML IdPとして使用する場合、SAMLレスポンスメッセージを圧縮するかどうか。圧縮する: 圧縮するかどうか。圧縮しない: 圧縮しないかどうか",
"Enable WebAuthn signin": "WebAuthnのサインインを可能にする",
"Enable WebAuthn signin - Tooltip": "WebAuthnでのユーザーログインを許可するかどうか",
"Enable code signin": "コード署名の有効化",
"Enable code signin - Tooltip": "ユーザーが電話番号やメールの確認コードでログインできるかどうかを許可するかどうか",
"Enable password": "パスワードを有効にする",
"Enable password - Tooltip": "パスワードでのユーザーログインを許可するかどうか",
"Enable side panel": "サイドパネルを有効にする",
"Enable signin session - Tooltip": "アプリケーションから Casdoor にログイン後、Casdoor がセッションを維持しているかどうか",
"Enable signup": "サインアップを有効にする",
@ -100,6 +94,8 @@
"Sign Up Error": "サインアップエラー",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "サインインセッション",
"Signup items": "サインアップアイテム",
"Signup items - Tooltip": "新しいアカウントを登録する際にユーザーが入力するアイテム",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "所属するURL",
"Affiliation URL - Tooltip": "所属先のホームページURL",
"All": "All",
"Application": "アプリケーション",
"Application - Tooltip": "Application - Tooltip",
"Applications": "アプリケーション",
@ -214,6 +211,7 @@
"Edit": "編集",
"Email": "電子メール",
"Email - Tooltip": "有効な電子メールアドレス",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "このユーザーが所有する権限",
"Phone": "電話",
"Phone - Tooltip": "電話番号",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "プラン",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "自動サインイン",
"Continue with": "続ける",
"Email": "Email",
"Email or phone": "メールまたは電話",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "アカウントがありませんか?",
"Or sign in with another account": "別のアカウントでサインインする",
"Phone": "Phone",
"Please input your Email or Phone!": "あなたのメールアドレスまたは電話番号を入力してください!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "あなたのコードを入力してください!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "パスワードを入力してください!",
@ -450,6 +453,8 @@
"Signing in...": "サインイン中...",
"Successfully logged in with WebAuthn credentials": "WebAuthnの認証情報で正常にログインしました",
"The input is not valid Email or phone number!": "入力されたのは有効なメールアドレスまたは電話番号ではありません",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "アクセスする",
"Verification code": "確認コード",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "SAML 압축 사용 가능하게 설정하기",
"Enable SAML compression - Tooltip": "카스도어가 SAML idp로 사용될 때 SAML 응답 메시지를 압축할 것인지 여부",
"Enable WebAuthn signin": "WebAuthn 로그인 기능 활성화",
"Enable WebAuthn signin - Tooltip": "웹 인증을 사용하여 사용자가 로그인할 수 있는지 여부",
"Enable code signin": "코드 서명 활성화",
"Enable code signin - Tooltip": "사용자가 전화번호 또는 이메일 인증 코드로 로그인하는 것을 허용할지 여부",
"Enable password": "비밀번호 사용 활성화",
"Enable password - Tooltip": "비밀번호로 로그인하도록 사용자에게 허용할지 여부",
"Enable side panel": "측면 패널 활성화",
"Enable signin session - Tooltip": "애플리케이션에서 Casdoor에 로그인 한 후 Casdoor가 세션을 유지하는 지 여부",
"Enable signup": "가입 가능하게 만들기",
@ -100,6 +94,8 @@
"Sign Up Error": "가입 오류",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "로그인 세션",
"Signup items": "가입 항목",
"Signup items - Tooltip": "새로운 계정 등록시 사용자가 작성해야하는 항목들",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "소속 URL",
"Affiliation URL - Tooltip": "소속 홈페이지 URL",
"All": "All",
"Application": "응용 프로그램",
"Application - Tooltip": "Application - Tooltip",
"Applications": "응용 프로그램",
@ -214,6 +211,7 @@
"Edit": "편집",
"Email": "이메일",
"Email - Tooltip": "유효한 이메일 주소",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "이 사용자가 소유한 권한",
"Phone": "전화기",
"Phone - Tooltip": "전화 번호",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "플랜",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "자동 로그인",
"Continue with": "계속하다",
"Email": "Email",
"Email or phone": "이메일 또는 전화",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "계정이 없나요?",
"Or sign in with another account": "다른 계정으로 로그인하세요",
"Phone": "Phone",
"Please input your Email or Phone!": "이메일 또는 전화번호를 입력해주세요!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "코드를 입력해주세요!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "비밀번호를 입력해주세요!",
@ -450,6 +453,8 @@
"Signing in...": "로그인 중...",
"Successfully logged in with WebAuthn credentials": "WebAuthn 자격 증명으로 로그인 성공적으로 수행했습니다",
"The input is not valid Email or phone number!": "입력한 값은 유효한 이메일 또는 전화번호가 아닙니다!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "접근하다",
"Verification code": "인증 코드",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Ativar compressão SAML",
"Enable SAML compression - Tooltip": "Se deve comprimir as mensagens de resposta SAML quando o Casdoor é usado como provedor de identidade SAML",
"Enable WebAuthn signin": "Ativar login WebAuthn",
"Enable WebAuthn signin - Tooltip": "Se permite que os usuários façam login com WebAuthn",
"Enable code signin": "Ativar login com código",
"Enable code signin - Tooltip": "Se permite que os usuários façam login com código de verificação de telefone ou e-mail",
"Enable password": "Ativar senha",
"Enable password - Tooltip": "Se permite que os usuários façam login com senha",
"Enable side panel": "Ativar painel lateral",
"Enable signin session - Tooltip": "Se o Casdoor mantém uma sessão depois de fazer login no Casdoor a partir da aplicação",
"Enable signup": "Ativar registro",
@ -100,6 +94,8 @@
"Sign Up Error": "Erro ao Registrar",
"Signin": "Login",
"Signin (Default True)": "Login (Padrão Verdadeiro)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Sessão de login",
"Signup items": "Itens de registro",
"Signup items - Tooltip": "Itens para os usuários preencherem ao registrar novas contas",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "URL da Afiliação",
"Affiliation URL - Tooltip": "A URL da página inicial para a afiliação",
"All": "All",
"Application": "Aplicação",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Aplicações",
@ -214,6 +211,7 @@
"Edit": "Editar",
"Email": "E-mail",
"Email - Tooltip": "Endereço de e-mail válido",
"Email only": "Email only",
"Enable": "Habilitar",
"Enabled": "Habilitado",
"Enabled successfully": "Habilitado com sucesso",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissões pertencentes a este usuário",
"Phone": "Telefone",
"Phone - Tooltip": "Número de telefone",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Kế hoạch",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Entrar automaticamente",
"Continue with": "Continuar com",
"Email": "Email",
"Email or phone": "Email ou telefone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "Não possui uma conta?",
"Or sign in with another account": "Ou entre com outra conta",
"Phone": "Phone",
"Please input your Email or Phone!": "Por favor, informe seu email ou telefone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Por favor, informe o código!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Por favor, informe sua senha!",
@ -450,6 +453,8 @@
"Signing in...": "Entrando...",
"Successfully logged in with WebAuthn credentials": "Logado com sucesso usando credenciais WebAuthn",
"The input is not valid Email or phone number!": "O valor inserido não é um email ou número de telefone válido!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Para acessar",
"Verification code": "Código de verificação",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Включите сжатие SAML",
"Enable SAML compression - Tooltip": "Нужно ли сжимать сообщения ответа SAML при использовании Casdoor в качестве SAML-идентификатора",
"Enable WebAuthn signin": "Активировать вход в систему с помощью WebAuthn",
"Enable WebAuthn signin - Tooltip": "Разрешить ли пользователям входить с помощью WebAuthn",
"Enable code signin": "Включить подпись кода",
"Enable code signin - Tooltip": "Разрешить пользователям входить с помощью кода подтверждения телефона или электронной почты?",
"Enable password": "Активировать пароль",
"Enable password - Tooltip": "Разрешить пользователям входить в систему с помощью пароля",
"Enable side panel": "Включить боковую панель",
"Enable signin session - Tooltip": "Будет ли сохранена сессия в Casdoor после входа в него из приложения?",
"Enable signup": "Включить регистрацию",
@ -100,6 +94,8 @@
"Sign Up Error": "Ошибка при регистрации",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Сессия входа в систему",
"Signup items": "Элементы регистрации",
"Signup items - Tooltip": "Элементы, которые пользователи должны заполнить при регистрации новых аккаунтов",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "URL принадлежности",
"Affiliation URL - Tooltip": "URL домашней страницы для аффилированности",
"All": "All",
"Application": "Приложение",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Приложения",
@ -214,6 +211,7 @@
"Edit": "Редактировать",
"Email": "Электронная почта",
"Email - Tooltip": "Действительный адрес электронной почты",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Разрешения, принадлежащие этому пользователю",
"Phone": "Телефон",
"Phone - Tooltip": "Номер телефона",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Планы",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Автоматическая авторизация",
"Continue with": "Продолжайте с",
"Email": "Email",
"Email or phone": "Электронная почта или телефон",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "Нет аккаунта?",
"Or sign in with another account": "Или войти с другой учетной записью",
"Phone": "Phone",
"Please input your Email or Phone!": "Пожалуйста, введите свой адрес электронной почты или номер телефона!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Пожалуйста, введите свой код!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Пожалуйста, введите свой пароль!",
@ -450,6 +453,8 @@
"Signing in...": "Вход в систему...",
"Successfully logged in with WebAuthn credentials": "Успешный вход с учетными данными WebAuthn",
"The input is not valid Email or phone number!": "Ввод не является действительным адресом электронной почты или телефонным номером!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Для доступа",
"Verification code": "Код подтверждения",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Enable SAML compression",
"Enable SAML compression - Tooltip": "Whether to compress SAML response messages when Casdoor is used as SAML idp",
"Enable WebAuthn signin": "Enable WebAuthn signin",
"Enable WebAuthn signin - Tooltip": "Whether to allow users to login with WebAuthn",
"Enable code signin": "Enable code signin",
"Enable code signin - Tooltip": "Whether to allow users to login with phone or Email verification code",
"Enable password": "Enable password",
"Enable password - Tooltip": "Whether to allow users to login with password",
"Enable side panel": "Enable side panel",
"Enable signin session - Tooltip": "Whether Casdoor maintains a session after logging into Casdoor from the application",
"Enable signup": "Enable signup",
@ -100,6 +94,8 @@
"Sign Up Error": "Sign Up Error",
"Signin": "Signin",
"Signin (Default True)": "Signin (Default True)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Signin session",
"Signup items": "Signup items",
"Signup items - Tooltip": "Items for users to fill in when registering new accounts",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Affiliation URL",
"Affiliation URL - Tooltip": "The homepage URL for the affiliation",
"All": "All",
"Application": "Application",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Applications",
@ -214,6 +211,7 @@
"Edit": "Edit",
"Email": "Email",
"Email - Tooltip": "Valid email address",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Permissions owned by this user",
"Phone": "Phone",
"Phone - Tooltip": "Phone number",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Plans",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Auto sign in",
"Continue with": "Continue with",
"Email": "Email",
"Email or phone": "Email or phone",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "No account?",
"Or sign in with another account": "Or sign in with another account",
"Phone": "Phone",
"Please input your Email or Phone!": "Please input your Email or Phone!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Please input your code!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Please input your password!",
@ -450,6 +453,8 @@
"Signing in...": "Signing in...",
"Successfully logged in with WebAuthn credentials": "Successfully logged in with WebAuthn credentials",
"The input is not valid Email or phone number!": "The input is not valid Email or phone number!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "To access",
"Verification code": "Verification code",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML compression": "Cho phép nén SAML",
"Enable SAML compression - Tooltip": "Liệu có nén các thông điệp phản hồi SAML khi Casdoor được sử dụng làm SAML idp không?",
"Enable WebAuthn signin": "Kích hoạt đăng nhập bằng WebAuthn",
"Enable WebAuthn signin - Tooltip": "Có nên cho phép người dùng đăng nhập bằng WebAuthn không?",
"Enable code signin": "Cho phép đăng nhập mã",
"Enable code signin - Tooltip": "Liệu có nên cho phép người dùng đăng nhập bằng mã xác minh điện thoại hoặc Email không?",
"Enable password": "Cho phép mật khẩu",
"Enable password - Tooltip": "Có nên cho phép người dùng đăng nhập bằng mật khẩu không?",
"Enable side panel": "Cho phép bên thanh phẩm",
"Enable signin session - Tooltip": "Có phải Casdoor duy trì phiên sau khi đăng nhập vào Casdoor từ ứng dụng không?",
"Enable signup": "Kích hoạt đăng ký",
@ -100,6 +94,8 @@
"Sign Up Error": "Lỗi đăng ký",
"Signin": "Đăng nhập",
"Signin (Default True)": "Đăng nhập (Mặc định đúng)",
"Signin methods": "Signin methods",
"Signin methods - Tooltip": "Signin methods - Tooltip",
"Signin session": "Phiên đăng nhập",
"Signup items": "Các mục đăng ký",
"Signup items - Tooltip": "Các thông tin cần được người dùng điền khi đăng ký tài khoản mới",
@ -173,6 +169,7 @@
"Admin": "Admin",
"Affiliation URL": "Đường dẫn liên kết liên kết",
"Affiliation URL - Tooltip": "Đường dẫn URL trang chủ của liên kết",
"All": "All",
"Application": "Ứng dụng",
"Application - Tooltip": "Application - Tooltip",
"Applications": "Ứng dụng",
@ -214,6 +211,7 @@
"Edit": "Sửa",
"Email": "Email: Thư điện tử",
"Email - Tooltip": "Địa chỉ email hợp lệ",
"Email only": "Email only",
"Enable": "Enable",
"Enabled": "Enabled",
"Enabled successfully": "Enabled successfully",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "Quyền sở hữu của người dùng này",
"Phone": "Điện thoại",
"Phone - Tooltip": "Số điện thoại",
"Phone only": "Phone only",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Tooltip",
"Plans": "Kế hoạch",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "Tự động đăng nhập",
"Continue with": "Tiếp tục với",
"Email": "Email",
"Email or phone": "Email hoặc điện thoại",
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "MetaMask plugin not detected",
"No account?": "Không có tài khoản?",
"Or sign in with another account": "Hoặc đăng nhập bằng tài khoản khác",
"Phone": "Phone",
"Please input your Email or Phone!": "Vui lòng nhập địa chỉ Email hoặc số điện thoại của bạn!",
"Please input your Email!": "Please input your Email!",
"Please input your Phone!": "Please input your Phone!",
"Please input your code!": "Vui lòng nhập mã của bạn!",
"Please input your organization name!": "Please input your organization name!",
"Please input your password!": "Vui lòng nhập mật khẩu của bạn!",
@ -450,6 +453,8 @@
"Signing in...": "Đăng nhập...",
"Successfully logged in with WebAuthn credentials": "Đã đăng nhập thành công với thông tin WebAuthn",
"The input is not valid Email or phone number!": "Đầu vào không phải là địa chỉ Email hoặc số điện thoại hợp lệ!",
"The input is not valid Email!": "The input is not valid Email!",
"The input is not valid phone number!": "The input is not valid phone number!",
"To access": "Để truy cập",
"Verification code": "Mã xác thực",
"WebAuthn": "WebAuthn",

View File

@ -36,12 +36,6 @@
"Enable SAML C14N10 - Tooltip": "在SAML协议里使用C14N10而不是C14N11",
"Enable SAML compression": "压缩SAML响应",
"Enable SAML compression - Tooltip": "Casdoor作为SAML IdP时是否压缩SAML响应信息",
"Enable WebAuthn signin": "启用WebAuthn登录",
"Enable WebAuthn signin - Tooltip": "是否支持用户在登录页面通过WebAuthn方式登录",
"Enable code signin": "启用验证码登录",
"Enable code signin - Tooltip": "是否允许用手机或邮箱验证码登录",
"Enable password": "开启密码",
"Enable password - Tooltip": "是否允许密码登录",
"Enable side panel": "启用侧面板",
"Enable signin session - Tooltip": "从应用登录Casdoor后Casdoor是否保持会话",
"Enable signup": "启用注册",
@ -100,6 +94,8 @@
"Sign Up Error": "注册错误",
"Signin": "登录",
"Signin (Default True)": "登录 (默认同意)",
"Signin methods": "登录方式",
"Signin methods - Tooltip": "添加允许用户登录的方式,默认所有方式均可登录",
"Signin session": "保持登录会话",
"Signup items": "注册项",
"Signup items - Tooltip": "注册用户注册时需要填写的项目",
@ -173,6 +169,7 @@
"Admin": "管理工具",
"Affiliation URL": "工作单位URL",
"Affiliation URL - Tooltip": "工作单位的官网URL",
"All": "全部允许",
"Application": "应用",
"Application - Tooltip": "应用",
"Applications": "应用",
@ -214,6 +211,7 @@
"Edit": "编辑",
"Email": "电子邮箱",
"Email - Tooltip": "合法的电子邮件地址",
"Email only": "仅支持邮件",
"Enable": "启用",
"Enabled": "已开启",
"Enabled successfully": "启用成功",
@ -288,6 +286,7 @@
"Permissions - Tooltip": "该用户所拥有的权限",
"Phone": "手机号",
"Phone - Tooltip": "手机号",
"Phone only": "仅支持手机号",
"Plan": "计划",
"Plan - Tooltip": "订阅里的计划",
"Plans": "计划",
@ -427,6 +426,7 @@
"login": {
"Auto sign in": "下次自动登录",
"Continue with": "使用以下账号继续",
"Email": "Email",
"Email or phone": "Email或手机号",
"Failed to obtain MetaMask authorization": "获取MetaMask授权失败",
"Failed to obtain Web3-Onboard authorization": "获取 Web3-Onboard 授权失败",
@ -436,7 +436,10 @@
"MetaMask plugin not detected": "未检测到MetaMask插件",
"No account?": "没有账号?",
"Or sign in with another account": "或者,登录其他账号",
"Phone": "手机号",
"Please input your Email or Phone!": "请输入您的Email或手机号!",
"Please input your Email!": "请输入您的Email!",
"Please input your Phone!": "请输入您的手机号!",
"Please input your code!": "请输入您的验证码!",
"Please input your organization name!": "请输入组织的名字!",
"Please input your password!": "请输入您的密码!",
@ -450,6 +453,8 @@
"Signing in...": "正在登录...",
"Successfully logged in with WebAuthn credentials": "成功使用WebAuthn证书登录",
"The input is not valid Email or phone number!": "您输入的电子邮箱格式或手机号有误!",
"The input is not valid Email!": "您输入的电子邮箱格式有误!",
"The input is not valid phone number!": "您输入的手机号有误!",
"To access": "访问",
"Verification code": "验证码",
"WebAuthn": "Web身份验证",

View File

@ -0,0 +1,195 @@
// Copyright 2023 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import React from "react";
import {DeleteOutlined, DownOutlined, UpOutlined} from "@ant-design/icons";
import {Button, Col, Input, Row, Select, Table, Tooltip} from "antd";
import * as Setting from "../Setting";
import i18next from "i18next";
const {Option} = Select;
class SigninTable extends React.Component {
constructor(props) {
super(props);
this.state = {
classes: props,
};
}
updateTable(table) {
this.props.onUpdateTable(table);
}
updateField(table, index, key, value) {
table[index][key] = value;
this.updateTable(table);
}
addRow(table) {
const row = {
name: Setting.getNewRowNameForTable(table, "Please select a signin method"),
displayName: "",
rule: "None",
};
if (table === undefined) {
table = [];
}
table = Setting.addRow(table, row);
this.updateTable(table);
}
deleteRow(items, table, i) {
table = Setting.deleteRow(table, i);
this.updateTable(table);
}
upRow(table, i) {
table = Setting.swapRow(table, i - 1, i);
this.updateTable(table);
}
downRow(table, i) {
table = Setting.swapRow(table, i, i + 1);
this.updateTable(table);
}
renderTable(table) {
const items = [
{name: "Password", displayName: i18next.t("general:Password")},
{name: "Verification code", displayName: i18next.t("login:Verification code")},
{name: "WebAuthn", displayName: i18next.t("login:WebAuthn")},
];
const columns = [
{
title: i18next.t("general:Name"),
dataIndex: "name",
key: "name",
render: (text, record, index) => {
const getItemDisplayName = (text) => {
const item = items.filter(item => item.name === text);
if (item.length === 0) {
return "";
}
return item[0].displayName;
};
return (
<Select virtual={false} style={{width: "100%"}}
value={getItemDisplayName(text)}
onChange={value => {
this.updateField(table, index, "name", value);
this.updateField(table, index, "displayName", value);
if (value === "Verification code") {
this.updateField(table, index, "rule", "All");
} else {
this.updateField(table, index, "rule", "None");
}
}} >
{
Setting.getDeduplicatedArray(items, table, "name").map((item, index) => <Option key={index} value={item.name}>{item.displayName}</Option>)
}
</Select>
);
},
},
{
title: i18next.t("general:Display name"),
dataIndex: "displayName",
key: "displayName",
width: "300px",
render: (text, record, index) => {
return (
<Input value={text} onChange={e => {
this.updateField(table, index, "displayName", e.target.value);
}} />
);
},
},
{
title: i18next.t("application:Rule"),
dataIndex: "rule",
key: "rule",
width: "155px",
render: (text, record, index) => {
let options = [];
if (record.name === "Verification code") {
options = [
{id: "All", name: i18next.t("general:All")},
{id: "Email only", name: i18next.t("general:Email only")},
{id: "Phone only", name: i18next.t("general:Phone only")},
];
}
if (options.length === 0) {
return null;
}
return (
<Select virtual={false} style={{width: "100%"}} value={text} onChange={(value => {
this.updateField(table, index, "rule", value);
})} options={options.map(item => Setting.getOption(item.name, item.id))} />
);
},
},
{
title: i18next.t("general:Action"),
key: "action",
width: "100px",
render: (text, record, index) => {
return (
<div>
<Tooltip placement="bottomLeft" title={i18next.t("general:Up")}>
<Button style={{marginRight: "5px"}} disabled={index === 0} icon={<UpOutlined />} size="small" onClick={() => this.upRow(table, index)} />
</Tooltip>
<Tooltip placement="topLeft" title={i18next.t("general:Down")}>
<Button style={{marginRight: "5px"}} disabled={index === table.length - 1} icon={<DownOutlined />} size="small" onClick={() => this.downRow(table, index)} />
</Tooltip>
<Tooltip placement="topLeft" title={i18next.t("general:Delete")}>
<Button icon={<DeleteOutlined />} size="small" disabled={Setting.getDeduplicatedArray(items, table, "name").length >= items.length - 1} onClick={() => this.deleteRow(items, table, index)} />
</Tooltip>
</div>
);
},
},
];
return (
<Table scroll={{x: "max-content"}} rowKey="name" columns={columns} dataSource={table} size="middle" bordered pagination={false}
title={() => (
<div>
{this.props.title}&nbsp;&nbsp;&nbsp;&nbsp;
<Button style={{marginRight: "5px"}} type="primary" size="small" disabled={Setting.getDeduplicatedArray(items, table, "name").length === 0} onClick={() => this.addRow(table)}>{i18next.t("general:Add")}</Button>
</div>
)}
/>
);
}
render() {
return (
<div>
<Row style={{marginTop: "20px"}}>
<Col span={24}>
{
this.renderTable(this.props.table)
}
</Col>
</Row>
</div>
);
}
}
export default SigninTable;