mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-02 13:03:08 +00:00
Closes #10671 # Which Problems Are Solved Users with password authentication disabled in their organization were seeing "Username Password not allowed!" error instead of being redirected to their organization's configured Identity Provider. This affected domain discovery and multi-tenancy use cases in Login V2. # How the Problems Are Solved - Updated `redirectUserToIDP` to accept optional `userId` and `organization` parameters - Added fallback logic to check organization-level IDPs via `getActiveIdentityProviders` - Updated all call sites to pass appropriate organization context - Added test coverage for the fallback behavior # Additional Changes - Consolidated duplicate logic by removing `redirectUserToSingleIDPIfAvailable` function, which is now handled by the unified `redirectUserToIDP` function - improved error handling on verification page --------- Co-authored-by: Ramon <mail@conblem.me>
436 lines
15 KiB
JSON
436 lines
15 KiB
JSON
{
|
||
"common": {
|
||
"back": "返回",
|
||
"title": "使用 Zitadel 登录"
|
||
},
|
||
"accounts": {
|
||
"title": "账户",
|
||
"description": "选择您要使用的账户。",
|
||
"addAnother": "添加另一个账户",
|
||
"noResults": "未找到账户",
|
||
"verified": "已验证",
|
||
"expired": "已过期"
|
||
},
|
||
"logout": {
|
||
"title": "注销",
|
||
"description": "选择您想注销的账户",
|
||
"noResults": "未找到账户",
|
||
"clear": "注销会话",
|
||
"verifiedAt": "最后活动时间:{time}",
|
||
"success": {
|
||
"title": "注销成功",
|
||
"description": "您已成功注销。"
|
||
}
|
||
},
|
||
"loginname": {
|
||
"title": "欢迎回来!",
|
||
"description": "请输入您的登录信息。",
|
||
"register": "注册新用户",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"loginname": "登录名",
|
||
"username": "用户名",
|
||
"usernameOrPhoneNumber": "用户名或电话号码",
|
||
"usernameOrEmail": "用户名或电子邮箱"
|
||
},
|
||
"required": {
|
||
"loginName": "此字段为必填项"
|
||
},
|
||
"errors": {
|
||
"internalError": "发生内部错误",
|
||
"couldNotGetLoginSettings": "无法获取登录设置",
|
||
"couldNotSearchUsers": "无法搜索用户",
|
||
"couldNotGetDomain": "无法获取域名",
|
||
"couldNotGetHost": "无法获取主机",
|
||
"couldNotStartIDPFlow": "无法启动身份提供者流程",
|
||
"moreThanOneUserFound": "找到多个用户。请提供唯一标识符。",
|
||
"userNotFound": "系统中未找到用户",
|
||
"couldNotCreateSession": "无法为用户创建会话",
|
||
"initialUserNotSupported": "不支持初始用户",
|
||
"usernamePasswordNotAllowed": "不允许使用用户名和密码!请联系管理员了解更多信息。",
|
||
"passkeysNotAllowed": "不允许使用 Passkey!请联系管理员了解更多信息。",
|
||
"couldNotFindIdentityProvider": "找不到身份提供者。",
|
||
"userNotActive": "用户未激活。请联系管理员了解更多信息。"
|
||
}
|
||
},
|
||
"zitadel": {
|
||
"errors": {
|
||
"errorOccured": "发生错误",
|
||
"multipleUsersFound": "找到多个用户",
|
||
"userNotFound": "系统中未找到用户"
|
||
}
|
||
},
|
||
"password": {
|
||
"verify": {
|
||
"title": "密码",
|
||
"description": "请输入您的密码。",
|
||
"resetPassword": "重置密码",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"password": "密码"
|
||
},
|
||
"required": {
|
||
"password": "此字段为必填项"
|
||
},
|
||
"errors": {
|
||
"couldNotVerifyPassword": "无法验证密码",
|
||
"couldNotResetPassword": "无法重置密码"
|
||
},
|
||
"info": {
|
||
"passwordResetSent": "密码已重置。请检查您的电子邮件"
|
||
}
|
||
},
|
||
"set": {
|
||
"title": "设置密码",
|
||
"description": "为您的账户设置密码",
|
||
"codeSent": "验证码已发送到您的邮箱。",
|
||
"noCodeReceived": "没有收到验证码?",
|
||
"resend": "重发验证码",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"code": "验证码",
|
||
"newPassword": "新密码",
|
||
"confirmPassword": "确认密码"
|
||
},
|
||
"required": {
|
||
"code": "此字段为必填项",
|
||
"newPassword": "必须提供密码!",
|
||
"confirmPassword": "此字段为必填项"
|
||
},
|
||
"errors": {
|
||
"couldNotSetPassword": "无法设置密码",
|
||
"couldNotResetPassword": "无法重置密码",
|
||
"couldNotVerifyPassword": "无法验证密码"
|
||
}
|
||
},
|
||
"change": {
|
||
"title": "更改密码",
|
||
"description": "为您的账户设置密码",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"newPassword": "新密码",
|
||
"confirmPassword": "确认密码"
|
||
},
|
||
"required": {
|
||
"newPassword": "必须提供新密码!",
|
||
"confirmPassword": "此字段为必填项"
|
||
},
|
||
"errors": {
|
||
"couldNotChangePassword": "无法更改密码",
|
||
"couldNotVerifyPassword": "无法验证密码",
|
||
"unknownError": "未知错误"
|
||
}
|
||
},
|
||
"complexity": {
|
||
"length": "必须至少有 {minLength} 个字符。",
|
||
"hasSymbol": "必须包含一个符号。",
|
||
"hasNumber": "必须包含一个数字。",
|
||
"hasUppercase": "必须包含一个大写字母。",
|
||
"hasLowercase": "必须包含一个小写字母。",
|
||
"equals": "密码确认匹配。",
|
||
"matches": "匹配",
|
||
"doesNotMatch": "不匹配"
|
||
},
|
||
"errors": {
|
||
"noHostFound": "未找到主机",
|
||
"couldNotSendResetLink": "无法发送密码重置链接",
|
||
"couldNotCreateSessionForUser": "无法为用户创建会话",
|
||
"couldNotVerifyPassword": "无法验证密码",
|
||
"failedToAuthenticate": "身份验证失败。您已尝试输入密码 {failedAttempts} 次,共允许 {maxPasswordAttempts} 次。{lockoutMessage}",
|
||
"failedToAuthenticateNoLimit": "身份验证失败。",
|
||
"accountLockedContactAdmin": " 请联系管理员以解锁您的账户",
|
||
"userNotFound": "系统中未找到用户",
|
||
"initialUserNotSupported": "不支持初始用户",
|
||
"userInitialStateNotSupported": "不支持用户初始状态",
|
||
"codeOrVerificationRequired": "您必须提供验证码或通过有效的用户验证",
|
||
"verificationRequired": "必须完成用户验证",
|
||
"couldNotLoadSession": "无法加载会话",
|
||
"couldNotLoadAuthMethods": "无法加载验证方法",
|
||
"failedPrecondition": "前置条件失败",
|
||
"sessionNotValid": "会话无效"
|
||
}
|
||
},
|
||
"idp": {
|
||
"title": "使用 SSO 登录",
|
||
"description": "选择以下提供商中的一个进行登录",
|
||
"orSignInWith": "或使用以下方式登录",
|
||
"signInWithApple": "用 Apple 登录",
|
||
"signInWithGoogle": "用 Google 登录",
|
||
"signInWithAzureAD": "用 AzureAD 登录",
|
||
"signInWithGithub": "用 GitHub 登录",
|
||
"signInWithGitlab": "用 GitLab 登录",
|
||
"loginSuccess": {
|
||
"title": "登录成功",
|
||
"description": "您已成功登录!"
|
||
},
|
||
"linkingSuccess": {
|
||
"title": "账户已链接",
|
||
"description": "您已成功链接您的账户!"
|
||
},
|
||
"registerSuccess": {
|
||
"title": "注册成功",
|
||
"description": "您已成功注册!"
|
||
},
|
||
"loginError": {
|
||
"title": "登录失败",
|
||
"description": "登录时发生错误。"
|
||
},
|
||
"linkingError": {
|
||
"title": "账户链接失败",
|
||
"description": "链接账户时发生错误。"
|
||
},
|
||
"completeRegister": {
|
||
"title": "完成注册",
|
||
"description": "完成您的账户注册。"
|
||
},
|
||
"accountNotFound": {
|
||
"title": "未找到账户",
|
||
"description": "我们无法找到与您的身份提供商凭据关联的账户。",
|
||
"info": "未找到现有账户。请使用现有账户登录或联系您的管理员寻求帮助。",
|
||
"backToLogin": "返回登录"
|
||
},
|
||
"registrationFailed": {
|
||
"title": "注册不可用",
|
||
"description": "我们无法完成注册过程。",
|
||
"info": "无法确定注册的组织。请联系您的管理员寻求帮助。",
|
||
"backToLogin": "返回登录"
|
||
}
|
||
},
|
||
"ldap": {
|
||
"title": "使用 LDAP 登录",
|
||
"description": "请输入您的 LDAP 凭据。",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"username": "用户名",
|
||
"password": "密码"
|
||
},
|
||
"required": {
|
||
"username": "此字段为必填项",
|
||
"password": "此字段为必填项"
|
||
}
|
||
},
|
||
"mfa": {
|
||
"verify": {
|
||
"title": "验证您的身份",
|
||
"description": "选择以下的一个因素。",
|
||
"noResults": "没有可设置的第二因素。"
|
||
},
|
||
"set": {
|
||
"title": "设置双因素认证",
|
||
"description": "选择以下的一个第二因素。",
|
||
"skip": "跳过"
|
||
}
|
||
},
|
||
"otp": {
|
||
"verify": {
|
||
"title": "验证双因素",
|
||
"totpDescription": "请输入认证应用程序中的验证码。",
|
||
"smsDescription": "输入通过短信收到的验证码。",
|
||
"emailDescription": "输入通过电子邮件收到的验证码。",
|
||
"noCodeReceived": "没有收到验证码?",
|
||
"resendCode": "重发验证码",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"code": "验证码"
|
||
},
|
||
"required": {
|
||
"code": "此字段为必填项"
|
||
}
|
||
},
|
||
"set": {
|
||
"title": "设置双因素认证",
|
||
"totpDescription": "使用认证应用程序扫描二维码。",
|
||
"smsDescription": "输入您的电话号码以接收短信验证码。",
|
||
"emailDescription": "输入您的电子邮箱地址以接收电子邮件验证码。",
|
||
"totpRegisterDescription": "扫描二维码或手动导航到URL。",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"code": "验证码"
|
||
},
|
||
"required": {
|
||
"code": "此字段为必填项"
|
||
}
|
||
}
|
||
},
|
||
"passkey": {
|
||
"verify": {
|
||
"title": "使用密钥认证",
|
||
"description": "您的设备将请求指纹、面部识别或屏幕锁",
|
||
"usePassword": "使用密码",
|
||
"submit": "继续"
|
||
},
|
||
"set": {
|
||
"title": "设置密钥",
|
||
"description": "您的设备将请求指纹、面部识别或屏幕锁",
|
||
"info": {
|
||
"description": "密钥是在设备上如指纹、Apple FaceID 或类似的认证方法。",
|
||
"link": "无密码认证"
|
||
},
|
||
"skip": "跳过",
|
||
"submit": "继续"
|
||
}
|
||
},
|
||
"u2f": {
|
||
"verify": {
|
||
"title": "验证双因素",
|
||
"description": "使用您的设备验证帐户。"
|
||
},
|
||
"set": {
|
||
"title": "设置双因素认证",
|
||
"description": "设置设备为第二因素。",
|
||
"submit": "继续"
|
||
}
|
||
},
|
||
"register": {
|
||
"methods": {
|
||
"passkey": "密钥",
|
||
"password": "密码"
|
||
},
|
||
"disabled": {
|
||
"title": "注册已禁用",
|
||
"description": "您的设置不允许注册新用户。"
|
||
},
|
||
"missingdata": {
|
||
"title": "缺少数据",
|
||
"description": "请提供所有必需的数据。"
|
||
},
|
||
"title": "注册",
|
||
"description": "创建您的 ZITADEL 账户。",
|
||
"noMethodAvailableWarning": "没有可用的认证方法。请联系您的系统管理员。",
|
||
"selectMethod": "选择您想使用的认证方法",
|
||
"agreeTo": "注册即表示您同意条款和条件",
|
||
"termsOfService": "服务条款",
|
||
"privacyPolicy": "隐私政策",
|
||
"submit": "继续",
|
||
"password": {
|
||
"title": "设置密码",
|
||
"description": "为您的账户设置密码",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"password": "密码",
|
||
"confirmPassword": "确认密码"
|
||
},
|
||
"required": {
|
||
"password": "必须提供密码!",
|
||
"confirmPassword": "此字段为必填项"
|
||
}
|
||
},
|
||
"labels": {
|
||
"firstname": "名字",
|
||
"lastname": "姓氏",
|
||
"email": "电子邮箱"
|
||
},
|
||
"required": {
|
||
"firstname": "此字段为必填项",
|
||
"lastname": "此字段为必填项",
|
||
"email": "此字段为必填项"
|
||
},
|
||
"errors": {
|
||
"couldNotCreateUser": "无法创建用户",
|
||
"couldNotCreateSession": "无法创建会话",
|
||
"userNotFound": "系统中未找到用户",
|
||
"couldNotLinkIDP": "无法将 IDP 关联到用户",
|
||
"couldNotRegisterUser": "无法注册用户"
|
||
}
|
||
},
|
||
"invite": {
|
||
"title": "邀请用户",
|
||
"description": "提供您想邀请的用户的电子邮箱地址和姓名。",
|
||
"info": "用户将收到一封包含进一步说明的电子邮件。",
|
||
"notAllowed": "您的设置不允许邀请用户。",
|
||
"submit": "继续",
|
||
"success": {
|
||
"title": "用户已邀请",
|
||
"description": "邮件已成功发送。",
|
||
"verified": "用户已被邀请并已验证其电子邮件。",
|
||
"notVerifiedYet": "用户已被邀请。他们将收到一封包含进一步说明的电子邮件。",
|
||
"submit": "邀请另一位用户"
|
||
}
|
||
},
|
||
"signedin": {
|
||
"title": "欢迎 {user}!",
|
||
"description": "您已登录。",
|
||
"continue": "继续",
|
||
"error": {
|
||
"title": "错误",
|
||
"description": "登录时发生错误。"
|
||
}
|
||
},
|
||
"verify": {
|
||
"userIdMissing": "未提供用户 ID!",
|
||
"successTitle": "用户已验证",
|
||
"successDescription": "用户已成功验证。",
|
||
"setupAuthenticator": "设置认证器",
|
||
"verify": {
|
||
"title": "验证用户",
|
||
"description": "输入验证邮件中的验证码。",
|
||
"noCodeReceived": "没有收到验证码?",
|
||
"resendCode": "重发验证码",
|
||
"codeSent": "刚刚发送了一封包含验证码的电子邮件。",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"code": "验证码"
|
||
},
|
||
"required": {
|
||
"code": "此字段为必填项"
|
||
}
|
||
},
|
||
"errors": {
|
||
"couldNotResendEmail": "无法重新发送邮件",
|
||
"couldNotVerifyUser": "无法验证用户",
|
||
"couldNotVerifyInvite": "无法验证邀请",
|
||
"couldNotVerifyEmail": "无法验证邮箱",
|
||
"couldNotVerify": "无法验证",
|
||
"couldNotLoadUser": "无法加载用户",
|
||
"couldNotLoadAuthenticators": "无法加载可用的身份验证器",
|
||
"couldNotCreateSession": "无法创建会话",
|
||
"noHostFound": "未找到主机",
|
||
"userAlreadyVerified": "用户已验证!",
|
||
"couldNotResendInvite": "无法重新发送邀请",
|
||
"inviteSendFailed": "发送邀请邮件失败",
|
||
"emailSendFailed": "发送验证邮件失败"
|
||
}
|
||
},
|
||
"authenticator": {
|
||
"title": "选择认证方式",
|
||
"description": "选择您想使用的认证方法",
|
||
"noMethodsAvailable": "没有可用的认证方法",
|
||
"allSetup": "您已经设置好了一个认证器!",
|
||
"linkWithIDP": "或将其与身份提供者关联"
|
||
},
|
||
"device": {
|
||
"usercode": {
|
||
"title": "设备代码",
|
||
"description": "输入代码。",
|
||
"submit": "继续",
|
||
"labels": {
|
||
"code": "验证码"
|
||
},
|
||
"required": {
|
||
"code": "此字段为必填项"
|
||
}
|
||
},
|
||
"request": {
|
||
"title": "{appName} 想要连接:",
|
||
"description": "{appName} 将访问:",
|
||
"disclaimer": "点击“允许”即表示您允许此应用程序和 Zitadel 根据其各自的服务条款和隐私政策使用您的信息。您可以随时撤销此访问权限。",
|
||
"submit": "允许",
|
||
"deny": "拒绝"
|
||
},
|
||
"scope": {
|
||
"openid": "验证您的身份。",
|
||
"email": "访问您的电子邮件地址。",
|
||
"profile": "访问您的完整个人资料信息。",
|
||
"offline_access": "允许离线访问您的账户。"
|
||
}
|
||
},
|
||
"error": {
|
||
"noUserCode": "未提供用户代码!",
|
||
"noDeviceRequest": "没有找到设备请求。",
|
||
"unknownContext": "无法获取用户的上下文。请先输入用户名或提供 loginName 作为搜索参数。",
|
||
"sessionExpired": "当前会话已过期,请重新登录。",
|
||
"failedLoading": "加载数据失败,请再试一次。",
|
||
"tryagain": "重试"
|
||
}
|
||
}
|