feat: internationalization Chinese (#4222)

* feat: internationalization chinese

* typo: optimize the semantic expression of copywriting

* Update internal/api/ui/login/static/i18n/zh.yaml

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/it.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/en.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/zh.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/api/ui/login/static/i18n/zh.yaml

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/it.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/it.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/en.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/en.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* minor: add Chinese to other language file

* Update console/src/app/app.module.ts

Co-authored-by: Max Peintner <max@caos.ch>

* Update console/src/app/app.module.ts

Co-authored-by: Max Peintner <max@caos.ch>

Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
George 2022-09-08 21:15:31 +08:00 committed by GitHub
parent 5052aa1c12
commit 8ab85afd15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 3259 additions and 23 deletions

View File

@ -271,16 +271,16 @@ export class AppComponent implements OnDestroy {
}
private setLanguage(): void {
this.translate.addLangs(['en', 'de']);
this.translate.addLangs(['en', 'de', 'zh']);
this.translate.setDefaultLang('en');
this.authService.user.subscribe((userprofile) => {
if (userprofile) {
// this.user = userprofile;
const cropped = navigator.language.split('-')[0] ?? 'en';
const fallbackLang = cropped.match(/en|de|it/) ? cropped : 'en';
const fallbackLang = cropped.match(/en|de|it|zh/) ? cropped : 'en';
const lang = userprofile?.human?.profile?.preferredLanguage.match(/en|de|it/)
const lang = userprofile?.human?.profile?.preferredLanguage.match(/en|de|it|zh/)
? userprofile.human.profile?.preferredLanguage
: fallbackLang;
this.translate.use(lang);

View File

@ -1,6 +1,10 @@
import { CommonModule, registerLocaleData } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import localeDe from '@angular/common/locales/de';
import localeZh from '@angular/common/locales/zh';
import localeFr from '@angular/common/locales/fr';
import localeIt from '@angular/common/locales/it';
import localeEn from '@angular/common/locales/en';
import { APP_INITIALIZER, NgModule } from '@angular/core';
import { MatNativeDateModule } from '@angular/material/core';
import { MatDialogModule } from '@angular/material/dialog';
@ -55,6 +59,10 @@ import { ThemeService } from './services/theme.service';
import { ToastService } from './services/toast.service';
registerLocaleData(localeDe);
registerLocaleData(localeZh);
registerLocaleData(localeFr);
registerLocaleData(localeIt);
registerLocaleData(localeEn);
export class WebpackTranslateLoader implements TranslateLoader {
getTranslation(lang: string): Observable<any> {

View File

@ -25,7 +25,7 @@ import { EditDialogComponent, EditDialogType } from './edit-dialog/edit-dialog.c
export class AuthUserDetailComponent implements OnDestroy {
public user?: User.AsObject;
public genders: Gender[] = [Gender.GENDER_MALE, Gender.GENDER_FEMALE, Gender.GENDER_DIVERSE];
public languages: string[] = ['de', 'en', 'it'];
public languages: string[] = ['de', 'en', 'fr', 'it', 'zh'];
private subscription: Subscription = new Subscription();

View File

@ -22,11 +22,8 @@ export class LocalizedDatePipe implements PipeTransform {
return moment(value).format(`${format}, HH:mm`);
}
} else {
const lang = this.translateService.currentLang === ('de' || 'it' || 'en') ? this.translateService.currentLang : 'en';
const datePipe: DatePipe = new DatePipe(
lang,
// ['de', 'it', 'en'].includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en',
);
const lang = ['de', 'en', 'fr', 'it', 'zh'].includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en';
const datePipe: DatePipe = new DatePipe(lang);
return datePipe.transform(value, pattern ?? 'mediumDate');
}
}

View File

@ -892,7 +892,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "Chinese"
},
"SMTP": {
"TITLE": "SMTP Einstellungen",
@ -1072,7 +1073,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "Chinese"
},
"KEYS": {
"emailVerificationDoneText": "Email Verification erfolgreich",
@ -1817,7 +1819,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "Chinese"
},
"MEMBER": {
"ADD": "Manager hinzufügen",

View File

@ -892,7 +892,8 @@
"de": "Deutsch",
"it": "Italiano",
"en": "English",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "SMTP Settings",
@ -1072,7 +1073,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Email verification done",
@ -1520,9 +1522,9 @@
"DEACTIVATE": "Deactivate",
"ACTIVATE": "Activate",
"DELETE": "Delete",
"DELETE_TITLE": "Delete Idp",
"DELETE_TITLE": "Delete IDP",
"DELETE_DESCRIPTION": "You are about to delete an identity provider. The resulting changes are irrevocable. Do you really want to do this?",
"DELETE_SELECTION_TITLE": "Delete Idp",
"DELETE_SELECTION_TITLE": "Delete IDP",
"DELETE_SELECTION_DESCRIPTION": "You are about to delete an identity provider. The resulting changes are irrevocable. Do you really want to do this?",
"EMPTY": "No IDP available",
"OIDC": {
@ -1817,7 +1819,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Add a Manager",

View File

@ -892,7 +892,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "Paramètres SMTP",
@ -1072,7 +1073,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Vérification de l'email effectuée",
@ -1817,7 +1819,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Ajouter un manager",

View File

@ -892,7 +892,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "Impostazioni SMTP",
@ -1072,7 +1073,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
@ -1817,7 +1819,8 @@
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français"
"fr": "Français",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Aggiungi un manager",

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,7 @@ ZITADEL is available in the following languages
- German (de)
- Italian (it)
- French (fr)
- 简体中文zh
A language is displayed based on your agent's language header. The default language is English.

View File

@ -209,6 +209,7 @@ RegistrationUser:
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
GenderLabel: Geschlecht
Female: weiblich
Male: männlich

View File

@ -209,6 +209,7 @@ RegistrationUser:
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
GenderLabel: Gender
Female: Female
Male: Male

View File

@ -209,6 +209,7 @@ RegistrationUser:
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
GenderLabel: Genre
Female: Femme
Male: Homme

View File

@ -211,6 +211,7 @@ RegistrationUser:
French: Français
GenderLabel: Genere
Female: Femminile
Chinese: 简体中文
Male: Maschile
Diverse: diverso / X
PasswordLabel: Password

View File

@ -0,0 +1,377 @@
Login:
Title: 欢迎回来!
Description: 输入您的登录数据。
TitleLinking: 登录以进行用户链接
DescriptionLinking: 输入您的登录数据以将您的外部用户与 ZITADEL 用户关联。
LoginNameLabel: 登录名
UsernamePlaceHolder: 用户名
LoginnamePlaceHolder: username@domain
ExternalUserDescription: 使用外部用户登录。
MustBeMemberOfOrg: 用户必须是 {{.OrgName}} 组织的成员。
RegisterButtonText: 注册
NextButtonText: 继续
SelectAccount:
Title: 选择账户
Description: 使用您的 ZITADEL 帐户
TitleLinking: 选择用于用户链接的帐户
DescriptionLinking: 选择您的帐户以与您的外部用户关联。
OtherUser: 其他用户
SessionState0: 启用
SessionState1: 停用
MustBeMemberOfOrg: 用户必须是 {{.OrgName}} 组织的成员。
Password:
Title: 密码
Description: 输入您的登录数据。
PasswordLabel: 密码
MinLength: 密码
HasUppercase: 大写字母
HasLowercase: 小写字母
HasNumber: 数字
HasSymbol: 符号
Confirmation: 确认匹配
ResetLinkText: 重设密码
BackButtonText: 后退
NextButtonText: 继续
UsernameChange:
Title: 更改用户名
Description: 设置您的新用户名
UsernameLabel: 用户名
CancelButtonText: 取消
NextButtonText: 继续
UsernameChangeDone:
Title: 用户名已更改
Description: 您的用户名已成功更改。
NextButtonText: 继续
InitPassword:
Title: 设置密码
Description: 您将到一个验证码,您必须在下面输入该验证码以设置您的新密码。
CodeLabel: 验证码
NewPasswordLabel: 新密码
NewPasswordConfirmLabel: 确认密码
ResendButtonText: 重新发送
NextButtonText: 继续
InitPasswordDone:
Title: 密码设置
Description: 密码设置成功
NextButtonText: 继续
CancelButtonText: 取消
InitUser:
Title: 激活用户
Description: 您将收到一个验证码,您必须在下面输入该验证码,以验证您的电子邮件并设置您的新密码。
CodeLabel: 验证码
NewPasswordLabel: 新密码
NewPasswordConfirmLabel: 确认密码
NextButtonText: 继续
ResendButtonText: 重新发送
InitUserDone:
Title: 用户已激活
Description: 邮箱验证和密码设置成功
NextButtonText: 继续
CancelButtonText: 取消
InitMFAPrompt:
Title: 多因素身份认证设置
Description: 您想设置多因素身份认证吗?
Provider0: OTP一次性密码
Provider1: U2F通用两步验证
NextButtonText: 继续
SkipButtonText: 跳过
InitMFAOTP:
Title: 多因素验证
Description: 验证您的多因素身份认证。
OTPDescription: 使用您的身份验证器应用程序(例如 Google Authenticator扫描代码或复制密码并在下方插入生成的代码。
SecretLabel: 秘钥
CodeLabel: 验证码
NextButtonText: 继续
CancelButtonText: 取消
InitMFAU2F:
Title: 多因素身份认证设置 U2F / WebAuthN
Description: 通过提供名称添加您的令牌,然后单击下面的“注册令牌”按钮。
TokenNameLabel: 令牌/机器的名称
NotSupported: 您的浏览器不支持 WebAuthN。请确保它是最新的或使用其他版本例如 Chrome、Safari、Firefox
RegisterTokenButtonText: 注册令牌
ErrorRetry: 重试、创建新挑战码或选择不同的方法。
InitMFADone:
Title: 多因素身份认证验证完成
Description: 多因素验证成功完成。必须在每次登录时输入多因素身份认证。
NextButtonText: 继续
CancelButtonText: 取消
MFAProvider:
Provider0: OTP一次性密码
Provider1: U2F通用第二因素身份认证
ChooseOther: 或选择其他选项
VerifyMFAOTP:
Title: 验证多因素
Description: 验证您的多因素
CodeLabel: 验证码
NextButtonText: 继续
VerifyMFAU2F:
Title: 多因素验证
Description: 验证您的多因素 U2F / WebAuthN 令牌
NotSupported: 您的浏览器不支持 WebAuthN。确保您使用的是最新版本或将您的浏览器更改为受支持的版本Chrome、Safari、Firefox
ErrorRetry: 重试、创建新请求或选择其他方法。
ValidateTokenButtonText: 验证令牌
Passwordless:
Title: 无密码登录
Description: 验证您的令牌
NotSupported: 您的浏览器不支持 WebAuthN。请确保它是最新的或使用其他版本例如 Chrome、Safari、Firefox
ErrorRetry: 重试、创建新挑战码或选择不同的方法。
LoginWithPwButtonText: 使用密码登录
ValidateTokenButtonText: 验证令牌
PasswordlessPrompt:
Title: 无密码登录设置
Description: 您想设置无密码登录吗?
DescriptionInit: 您需要设置无密码登录,使用您提供的链接来注册您的设备。
PasswordlessButtonText: 去设置无密码登录
NextButtonText: 继续
SkipButtonText: 跳过
PasswordlessRegistration:
Title: 无密码设置
Description: 通过提供名称添加您的令牌,然后单击下面的“注册令牌”按钮。
TokenNameLabel: 令牌/机器的名称
NotSupported: 您的浏览器不支持 WebAuthN。请确保它是最新的或使用其他版本例如 Chrome、Safari、Firefox
RegisterTokenButtonText: 注册令牌
ErrorRetry: 重试、创建新挑战码或选择不同的方法。
PasswordlessRegistrationDone:
Title: 无密码登录设置完成
Description: 已成功添加无密码令牌。
DescriptionClose: 您现在可以关闭此窗口
NextButtonText: 继续
CancelButtonText: 取消
PasswordChange:
Title: 更改密码
Description: 更改您的密码。输入您的旧密码和新密码。
OldPasswordLabel: 旧密码
NewPasswordLabel: 新密码
NewPasswordConfirmLabel: 确认密码
CancelButtonText: 取消
NextButtonText: 继续
PasswordChangeDone:
Title: 更改密码
Description: 您的密码已成功更改。
NextButtonText: 继续
PasswordResetDone:
Title: 重置链
Description: 请检查您的电子邮件以重置您的密码。
NextButtonText: 继续
EmailVerification:
Title: 电子邮件验证
Description: 我们已向您发送一封电子邮件以验证您的地址。请在下面的表格中输入验证码。
CodeLabel: 验证码
NextButtonText: 继续
ResendButtonText: 重新发送
EmailVerificationDone:
Title: 电子邮件验证
Description: 您的电子邮件地址已成功验证。
NextButtonText: 继续
CancelButtonText: 取消
LoginButtonText: 登录
RegisterOption:
Title: 注册选项
Description: 选择您的注册方式
RegisterUsernamePasswordButtonText: 使用用户名密码
ExternalLoginDescription: 或使用外部身份提供者
RegistrationUser:
Title: 注册
Description: 输入您的用户数据。您的电子邮件地址将用作登录名。
DescriptionOrgRegister: 输入您的用户数据。
EmailLabel: 电子邮箱
UsernameLabel: 用户名
FirstnameLabel:
LastnameLabel:
LanguageLabel: 语言
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
GenderLabel: 性别
Female: 女性
Male: 男性
Diverse: 其他 / X
PasswordLabel: 密码
PasswordConfirmLabel: 确认密码
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
TosConfirmAnd:
PrivacyLinkText: 隐私政策
ExternalLogin: 使用外部身份提供者注册
BackButtonText: 返回
NextButtonText: 继续
ExternalRegistrationUserOverview:
Title: 外部用户注册
Description: 我们已从所选提供商处获取您的用户详细信息。您现在可以更改或完善它们。
EmailLabel: 电子邮件
UsernameLabel: 用户名
FirstnameLabel:
LastnameLabel:
NicknameLabel: 昵称
PhoneLabel: 手机号码
LanguageLabel: 语言
German: 德语
English: 英语
Italian: 意大利语
French: 法语
Chinese: 简体中文
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
TosConfirmAnd:
PrivacyLinkText: 隐私政策
ExternalLogin: 使用外部身份提供者注册
BackButtonText: 返回
NextButtonText: 保存
RegistrationOrg:
Title: 注册组织
Description: 输入您的组织名称和用户数据。
OrgNameLabel: 组织名称
EmailLabel: 电子邮件
UsernameLabel: 用户名
FirstnameLabel:
LastnameLabel:
PasswordLabel: 密码
PasswordConfirmLabel: 确认密码
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
TosConfirmAnd:
PrivacyLinkText: 隐私政策
SaveButtonText: 创建组织
LoginSuccess:
Title: 登陆成功
AutoRedirectDescription: 您将被自动引导至您的应用程序。如果没有,请单击下面的按钮。之后您可以关闭窗口。
RedirectedDescription: 您现在可以关闭此窗口。
NextButtonText: 继续
LogoutDone:
Title: 退出登录
Description: 您已成功退出登录。
LoginButtonText: 登录
LinkingUsersDone:
Title: 用户链接
Description: 用户链接完成。
CancelButtonText: 取消
NextButtonText: 继续
ExternalNotFoundOption:
Title: 外部用户
Description: 未找到外部用户。你想绑定你已存在的用户还是自动注册一个新用户。
LinkButtonText: 绑定
AutoRegisterButtonText: 注册
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
TosConfirmAnd:
PrivacyLinkText: 隐私政策
German: 德语
English: 英语
Italian: 意大利语
French: 法语
Chinese: 简体中文
Footer:
PoweredBy: Powered By
Tos: 服务条款
PrivacyPolicy: 隐私政策
Help: 帮助
Errors:
Internal: 发生了内部错误
AuthRequest:
NotFound: 找不到授权请求
UserAgentNotCorresponding: 用户代理未响应
UserAgentNotFound: 未找到用户代理 ID
TokenNotFound: 找不到令牌
RequestTypeNotSupported: 不支持请求的类型
MissingParameters: 缺少必需的参数
User:
NotFound: 找不到用户
Inactive: 用户处于停用状态
NotFoundOnOrg: 在所选组织中找不到用户
NotAllowedOrg: 用户不是所需组织的成员
NotMatchingUserID: 身份验证请求中的用户信息不匹配
UserIDMissing: 用户 ID 为空
Invalid: 无效的用户数据
DomainNotAllowedAsUsername: 域名已存在,但无法使用
NotAllowedToLink: 不允许用户使用外部身份提供者注册
Password:
ConfirmationWrong: 密码不一致
Empty: 密码为空
Invalid: 密码无效
InvalidAndLocked: 密码无效且用户被锁定,请联系您的管理员。
UsernameOrPassword:
Invalid: 用户名或密码无效
PasswordComplexityPolicy:
NotFound: 未找到密码策略
MinLength: 密码太短
HasLower: 密码必须包含小写字母
HasUpper: 密码必须包含大写字母
HasNumber: 密码必须包含数字
HasSymbol: 密码必须包含符号
Code:
Expired: 验证码已过期
Invalid: 无效的验证码
Empty: 验证码不能为空
CryptoCodeNil: 加密代码为空
NotFound: 找不到验证码
GeneratorAlgNotSupported: 不支持的生成器算法
EmailVerify:
UserIDEmpty: 用户 ID 为空
ExternalData:
CouldNotRead: 无法正确读取外部数据
MFA:
NoProviders: 没有可用的多因素提供商
OTP:
AlreadyReady: OTP (一次性密码) 已设置
NotExisting: OTP (一次性密码) 不存在
InvalidCode: 无效的验证码
NotReady: OTP (一次性密码) 还没准备好
Locked: 用户被锁定
SomethingWentWrong: 似乎出问题了
NotActive: 用户已停用
ExternalIDP:
IDPTypeNotImplemented: IDP 类型未实现
NotAllowed: 不允许使用外部身份提供者登录
IDPConfigIDEmpty: 身份提供者 ID 为空
ExternalUserIDEmpty: 外部用户 ID 为空
UserDisplayNameEmpty: 用户显示名称为空
NoExternalUserData: 未收到外部用户数据
GrantRequired: 无法登录,用户需要在应用程序上拥有至少一项授权,请联系您的管理员。
ProjectRequired: 无法登录,用户的组织必须授予项目,请联系您的管理员。
IdentityProvider:
InvalidConfig: 身份提供者配置无效
IAM:
LockoutPolicy:
NotExisting: 用户锁定政策不存在
optional: (可选)

View File

@ -0,0 +1,42 @@
InitCode:
Title: ZITADEL - 初始化用户
PreHeader: 初始化用户
Subject: 初始化用户
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 此用户是在 ZITADEL 中创建的。使用用户名 {{.PreferredLoginName}} 登录。请单击下面的按钮完成初始化过程。(代码 {{.Code}})如果不是您本人操作,请忽略它。
ButtonText: 完成初始化
PasswordReset:
Title: ZITADEL - 重置密码
PreHeader: 重置密码
Subject: 重置密码
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 我们收到了密码重置请求。请使用下面的按钮重置您的密码。(验证码 {{.Code}})如果不是您本人操作,请忽略它。
ButtonText: 重置密码
VerifyEmail:
Title: ZITADEL - 验证电子邮箱
PreHeader: 验证电子邮箱
Subject: 验证电子邮箱
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 已添加新电子邮件。请使用下面的按钮来验证您的邮件。(验证码 {{.Code}})如果不是您本人操作,请忽略此电子邮件。
ButtonText: 验证电子邮箱
VerifyPhone:
Title: ZITADEL - 验证手机号码
PreHeader: 验证手机号码
Subject: 验证手机号码
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 您的用户中添加了一个新的手机号码,请使用以下验证码进行验证 {{.Code}}
ButtonText: 验证手机号码
DomainClaimed:
Title: ZITADEL - 域名所有权验证
PreHeader: 更改电子邮件/用户名
Subject: 域名所有权验证
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 域 {{.Domain}} 已被组织使用。您当前的用户 {{.Username}} 不属于此组织。因此,您必须在登录时更改您的电子邮件。我们为此登录创建了一个临时用户名 ({{.TempUsername}})。
ButtonText: 登录
PasswordlessRegistration:
Title: ZITADEL - 添加无密码登录
PreHeader: 添加无密码登录
Subject: 添加无密码登录
Greeting: 你好 {{.FirstName}} {{.LastName}},
Text: 我们收到了为无密码登录添加令牌的请求。请使用下面的按钮添加您的令牌或设备以进行无密码登录。
ButtonText: 添加无密码登录

View File

@ -0,0 +1,900 @@
Errors:
Internal: 发生了内部错误
NoChangesFound: 没有变化
OriginNotAllowed: 这个"来源"是不被允许的
IDMissing: ID 丢失
ResourceOwnerMissing: 组织没有资源所有者
RemoveFailed: 无法移除
ProjectionName:
Invalid: 错误的映射名称
Assets:
EmptyKey: 资产的 Key 为空
Store:
NotInitialized: 资产存储未初始化
NotConfigured: 未配置资产存储
Bucket:
Internal: 创建桶时出现内部错误
AlreadyExists: 存储桶已存在
CreateFailed: 未创建存储桶
ListFailed: 无法读取存储桶
RemoveFailed: 未删除存储桶
SetPublicFailed: 无法将存储桶设置为公开
Object:
PutFailed: 未创建对象
GetFailed: 无法读取对象
NotFound: 找不到对象
PresignedTokenFailed: 无法创建签名令牌
ListFailed: 无法读取对象列表
RemoveFailed: 无法移除对象
Limit:
ExceedsDefault: 超出默认限制
Language:
NotParsed: 无法解析语言
OIDCSettings:
NotFound: OIDC 配置未找到
AlreadyExists: OIDC 配置已存在
SecretGenerator:
AlreadyExists: 秘密生成器已经存在
TypeMissing: 缺少秘钥生成器类型
NotFound: 未找到秘钥生成器
SMSConfig:
NotFound: 未找到 SMS 配置
AlreadyActive: SMS 配置已启用
AlreadyDeactivated: SMS 配置已停用
SMTPConfig:
NotFound: 未找到 SMTP 配置
AlreadyExists: SMTP 配置已存在
SenderAdressNotCustomDomain: 发件人地址必须在在实例的域名设置中验证。
Notification:
NoDomain: 未找到对应的域名
User:
NotFound: 找不到用户
AlreadyExists: 用户已存在
NotFoundOnOrg: 在所选组织中找不到用户
NotAllowedOrg: 用户不是所需组织的成员
UserIDMissing: 缺少用户 ID
DomainPolicyNil: 组织策略为空
EmailAsUsernameNotAllowed: 电子邮件不允许作为用户名
Invalid: 用户数据无效
DomainNotAllowedAsUsername: 域已保存,但无法使用
AlreadyInactive: 用户已处于停用状态
NotInactive: 用户未处于停用状态
CantDeactivateInitial: 处于初始状态的用户只能删除不能停用
ShouldBeActiveOrInitial: 用户不是处于启用的的或初始化的
AlreadyInitialised: 用户已经初始化
NotInitialised: 用户尚未初始化
NotLocked: 用户未锁定
NoChanges: 未发现任何更改
InitCodeNotFound: 未找到初始化验证码
UsernameNotChanged: 用户名未更改
Profile:
NotFound: 未找到个人资料
NotChanged: 个人资料未更改
Invalid: 个人资料数据无效
Email:
NotFound: 电子邮件没有找到
Invalid: 电子邮件无效
AlreadyVerified: 电子邮件已经过验证
NotChanged: 电子邮件未更改
Phone:
NotFound: 手机号码未找到
Invalid: 手机号码无效
AlreadyVerified: 手机号码已经验证
Address:
NotFound: 找不到地址
NotChanged: 地址没有改变
Machine:
Key:
NotFound: 未找到机器密钥
PAT:
NotFound: 未找到个人访问令牌
NotHuman: 用户必须是个人
NotMachine: 用户必须是技术人员
WrongType: 此用户类型不允许
NotAllowedToLink: 不允许使用外部身份提供者登录并注册用户
Username:
AlreadyExists: 用户名已被使用
Reserved: 用户名已被使用
Code:
Empty: 验证码为空
NotFound: 验证码不存在
Expired: 验证码已过期
GeneratorAlgNotSupported: 不支持的生成器算法
Password:
NotFound: 未找到密码
Empty: 密码为空
Invalid: 密码无效
NotSet: 用户未设置密码
PasswordComplexityPolicy:
NotFound: 未找到密码策略
MinLength: 密码太短
MinLengthNotAllowed: 给定的最小长度不被允许
HasLower: 密码必须包含小写
HasUpper: 密码必须包含大写
HasNumber: 密码必须包含数字
HasSymbol: 密码必须包含符号
ExternalIDP:
Invalid: 外部 IDP 无效
IDPConfigNotExisting: IDP 提供者对此组织无效
NotAllowed: 此组织不允许外部 IDP
MinimumExternalIDPNeeded: 必须添加至少一个 IDP
AlreadyExists: 外部 IDP 已存在
NotFound: 未找到外部 IDP
MFA:
OTP:
AlreadyReady: OTP (一次性密码) 已经设置好了
NotExisting: OTP (一次性密码) 不存在
NotReady: OTP (一次性密码) 还没准备好
InvalidCode: 无效的验证码
U2F:
NotExisting: U2F 不存在
Passwordless:
NotExisting: 未设置无密码登录
WebAuthN:
NotFound: 找不到 WebAuthN 令牌
BeginRegisterFailed: WebAuthN 注册失败
MarshalError: 编组数据错误
ErrorOnParseCredential: 解析凭证数据时出错
CreateCredentialFailed: 创建凭据时出错
BeginLoginFailed: WebAuthN 登录失败
ValidateLoginFailed: 验证登录凭据时出错
CloneWarning: 凭证可能被克隆
RefreshToken:
Invalid: Refresh Token 无效
NotFound: 未找到 Refresh Token
Org:
AlreadyExists: 组织名称已被占用
Invalid: 组织无效
AlreadyDeactivated: 组织已停用
AlreadyActive: 组织已处于启用状态
Empty: 组织为空
NotFound: 未找到组织
NotChanged: 组织信息未改变
InvalidDomain: 无效的域名
DomainMissing: 域名缺失
DomainNotOnOrg: 组织中不存在域
DomainNotVerified: 域名未验证
DomainAlreadyVerified: 域已经过验证
DomainVerificationTypeInvalid: 域名验证类型无效
DomainVerificationMissing: 域名验证尚未开始
DomainVerificationFailed: 域名验证失败
PrimaryDomainNotDeletable: 不得删除主域名
DomainNotFound: 未找到域名
MemberIDMissing: 成员 ID 丢失
MemberNotFound: 未找到组织成员
InvalidMember: 组织成员无效
UserIDMissing: 缺少用户 ID
PolicyAlreadyExists: 策略已存在
PolicyNotExisting: 策略不存在
IdpInvalid: IDP 配置无效
IdpNotExisting: IDP 配置不存在
OIDCConfigInvalid: OIDC IDP 配置无效
IdpIsNotOIDC: IDP 配置不是 OIDC 类型
Domain:
AlreadyExists: 域名已存在
InvalidCharacter: 只有字母数字字符,.和 - 允许用于域名中
IDP:
InvalidSearchQuery: 无效的搜索查询
LoginPolicy:
NotFound: 未找到登录策略
Invalid: 登录策略无效
RedirectURIInvalid: 默认重定向 URL 无效
NotExisting: 登录策略不存在
AlreadyExists: 登录策略已存在
IdpProviderAlreadyExisting: IDP 提供者已存在
IdpProviderNotExisting: IDP 提供者不存在
RegistrationNotAllowed: 不允许注册
UsernamePasswordNotAllowed: 不允许使用用户名/密码登录
MFA:
AlreadyExists: 多因素身份认证已经存在
NotExisting: 多因素身份认证不存在
Unspecified: 多因素身份认证无效
MailTemplate:
NotFound: 未找到默认邮件模板
NotChanged: 默认邮件模板未更改
AlreadyExists: 默认邮件模板已存在
Invalid: 默认邮件模板无效
CustomMessageText:
NotFound: 未找到默认消息文本
NotChanged: 默认消息文本未更改
AlreadyExists: 默认消息文本已存在
Invalid: 默认消息文本无效
PasswordComplexityPolicy:
NotFound: 未找到密码复杂性策略
Empty: 密码复杂性策略为空
NotExisting: 密码复杂性策略不存在
AlreadyExists: 密码复杂性策略已存在
PasswordLockoutPolicy:
NotFound: 密码锁定策略不存在
Empty: 密码锁定策略为空
NotExisting: 密码锁定策略不存在
AlreadyExists: 密码锁定策略已存在
PasswordAgePolicy:
NotFound: 密码过期策略不存在
Empty: 密码过期策略为空
NotExisting: 密码过期策略不存在
AlreadyExists: 密码过期策略已存在
OrgIAMPolicy:
Empty: 组织 IAM 策略为空
NotExisting: 组织 IAM 策略不存在
AlreadyExists: 组织 IAM 策略已存在
Project:
ProjectIDMissing: P缺少项目 ID
AlreadyExists: 项目以存在于组织中
OrgNotExisting: 组织不存在
UserNotExisting: 用户不存在
CouldNotGenerateClientSecret: 无法生成客户端秘钥
Invalid: 项目无效
NotActive: 项目不是启用状态
NotInactive: 项目不是停用状态
NotFound: 项目不存在
UserIDMissing: 缺少用户 ID
Member:
NotFound: 项目成员不存在
Invalid: 项目成员无效
AlreadyExists: 项目成员已存在
NotExisting: 项目成员不存在
MinimumOneRoleNeeded: 必须添加至少一个角色
Role:
AlreadyExists: 角色已存在
Invalid: 角色无效
NotExisting: 角色不存在
IDMissing: 丢失 ID
App:
AlreadyExists: 应用已存在
NotFound: 应用不存在
Invalid: 无效的应用
NotExisting: 应用不存在
NotActive: 应用不是启用状态
NotInactive: 应用不是停用状态
OIDCConfigInvalid: OIDC 配置无效
APIConfigInvalid: API 配置无效
IsNotOIDC: 应用不是 OIDC 类型
IsNotAPI: 应用不是 API 类型
OIDCAuthMethodNoSecret: 选择的 OIDC 身份验证方法不需要秘钥
APIAuthMethodNoSecret: 选择的 API 身份验证方法不需要秘钥
AuthMethodNoPrivateKeyJWT: 选择的身份验证方法不需要 Key
ClientSecretInvalid: Client Secret 无效
RequiredFieldsMissing: 缺少一些必填字段
Grant:
AlreadyExists: 项目授权已存在
NotFound: 授权不存在
Invalid: 项目授权无效
NotExisting: 项目授权不存在
HasNotExistingRole: 角色不存在与项目中
NotActive: 项目授权不是启用状态
NotInactive: 项目授权不是停用状态
IAM:
Member:
RolesNotChanged: 角色没有改变
MemberInvalid: 成员无效
MemberAlreadyExisting: 成员已存在
MemberNotExisting: 成员不存在
IDMissing: ID 丢失
IAMProjectIDMissing: IAM 项目 ID 缺失
IamProjectAlreadySet: IAM 项目 ID 已设置
IdpInvalid: IDP 配置无效
IdpNotExisting: IDP 配置不存在
OIDCConfigInvalid: OIDC IDP 配置无效
IdpIsNotOIDC: IDP 配置不是 OIDC 类型
LoginPolicyInvalid: 登录策略无效
LoginPolicyNotExisting: 登录策略不存在
IdpProviderInvalid: IDP 提供者无效
LoginPolicy:
NotFound: 默认登录策略不存在
NotChanged: 默认登录策略没有改变
NotExisting: 默认登录策略不存在
AlreadyExists: 默认登录策略已存在
RedirectURIInvalid: 默认重定向 URL 无效
MFA:
AlreadyExists: MFA 已存在
NotExisting: MFA 不存在
Unspecified: MFA 无效
IDP:
AlreadyExists: 身份提供者已存在
NotExisting: 身份提供者不存在
Invalid: 身份提供者无效
IDPConfig:
AlreadyExists: 身份提供者配置已存在
NotInactive: 身份提供者配置不是停用状态
NotActive: 身份提供者配置不是启动状态
LabelPolicy:
NotFound: 默认私有策略不存在
NotChanged: 默认私有策略未更改
MailTemplate:
NotFound: 默认邮件模板不存在
NotChanged: 默认邮件模板未更改
AlreadyExists: 默认邮件模板已存在
Invalid: 默认邮件模板无效
CustomMessageText:
NotFound: 默认消息文本不存在
NotChanged: 默认消息文本未更改
AlreadyExists: 默认消息文本已存在
Invalid: 默认消息文本无效
PasswordComplexityPolicy:
NotFound: 默认密码复杂策略不存在
NotExisting: 默认密码复杂策略不存在
AlreadyExists: 默认密码复杂策略已存在
Empty: 默认密码复杂策略为空
NotChanged: 默认密码复杂策略未更改
PasswordAgePolicy:
NotFound: 默认密码有效期策略不存在
NotExisting: 默认密码有效期策略不存在
AlreadyExists: 默认密码有效期策略已存在
Empty: 默认密码有效期策略为空
NotChanged: 默认密码有效期策略未更改
PasswordLockoutPolicy:
NotFound: 默认密码锁策略不存在
NotExisting: 默认密码锁策略不存在
AlreadyExists: 默认密码锁策略已存在
Empty: 默认密码锁策略为空
NotChanged: 默认密码锁策略未更改
DomainPolicy:
NotFound: 组织 IAM 策略不存在
Empty: 组织 IAM 策略为空
NotExisting: 组织 IAM 策略不存在
AlreadyExists: 组织 IAM 策略已存在
NotChanged: 组织 IAM 策略未更改
Policy:
AlreadyExists: 策略已存在
Label:
Invalid:
PrimaryColor: 主色调不是有效的十六进制颜色值
BackgroundColor: 背景颜色不是有效的十六进制颜色值
WarnColor: 警告颜色不是有效的十六进制颜色值
FontColor: 字体颜色不是有效的十六进制颜色值
PrimaryColorDark: 主色调 (深色模式) 不是有效的十六进制颜色值
BackgroundColorDark: 背景颜色 (深色模式) 不是有效的十六进制颜色值
WarnColorDark: 警告颜色 (深色模式) 不是有效的十六进制颜色值
FontColorDark: 字体颜色 (深色模式) 不是有效的十六进制颜色值
UserGrant:
AlreadyExists: 用户授权已存在
NotFound: 用户授权不存在
Invalid: 用户授权无效
NotChanged: 用户授权未更改
IDMissing: 没有 ID
NotActive: 用户授权不是启用状态
NotInactive: 用户授权不是停用状态
NoPermissionForProject: 用户对此项目没有权限
RoleKeyNotFound: 角色不存在
Member:
AlreadyExists: 成员已存在
IDPConfig:
AlreadyExists: IDP 配置名称已存在
NotExisting: 身份提供者配置不存在
Changes:
NotFound: 未找到任何历史记录
AuditRetention: 历史记录在审核日志保留范围之外
Token:
NotFound: 令牌不存在
UserSession:
NotFound: 用户会话不存在
Key:
ExpireBeforeNow: 过期日期是过去的无效日期
Login:
LoginPolicy:
MFA:
ForceAndNotConfigured: MFA 已根据需要进行配置,但未配置任何可能的提供程序。请联系您的系统管理员。
Step:
Started:
AlreadyExists: 设置已存在
Done:
AlreadyExists: 设置完成已存在
CustomText:
AlreadyExists: 自定义文本已存在
Invalid: 自定义文本无效
NotFound: 自定义文本不存在
TranslationFile:
ReadError: 读取翻译文件时出错
MergeError: 翻译文件无法与自定义翻译合并
NotFound: 翻译文件不存在
MetaData:
NotFound: 元数据不存在
NoData: 元数据列表为空
Invalid: 元数据无效
KeyNotExisting: 一个或多个键不存在
Action:
Invalid: 动作无效
NotFound: 动作不存在
NotActive: 动作不是启用状态
NotInactive: 动作不是停用状态
MaxAllowed: 不允许额外的动作
Flow:
FlowTypeMissing: 缺少身份认证流程类型
Empty: 身份认证流程为空
WrongTriggerType: 触发器类型无效
NoChanges: 未更改
ActionIDsNotExist: 动作 ID 不存在
Query:
CloseRows: SQL 语句无法完成
SQLStatement: 无法创建 SQL 语句
InvalidRequest: 请求无效
EventTypes:
user:
added: 已添加用户
selfregistered: 自注册用户
initialization:
code:
added: 生成初始化代码
sent: 发送初始化代码
check:
succeeded: 初始化检查成功
failed: 初始化检查失败
token:
added: 已创建访问令牌
username:
reserved: 保留用户名
released: 用户名已发布
email:
reserved: 电子邮件地址已保留
released: 电子邮件地址已发布
changed: 电子邮件地址已更改
verified: 电子邮件地址已验证
verification:
failed: 电子邮件验证失败
code:
added: 生成电子邮件验证码
sent: 发送电子邮件验证码
machine:
added: 添加了服务用户
changed: 更改了服务用户
key:
added: 添加服务用户 Key
removed: 删除服务用户 Key
human:
added: 添加用户
selfregistered: 自注册用户
avatar:
added: 添加了头像
removed: 删除了头像
initialization:
code:
added: 生成初始化验证码
sent: 发送初始化验证码
check:
succeeded: 初始化检查成功
failed: 初始化检查失败
username:
reserved: 保留用户名
released: 用户名已发布
email:
changed: 电子邮件地址已更改
verified: 电子邮件地址已验证
verification:
failed: 电子邮件地址验证失败
code:
added: 生成电子邮件地址验证码
sent: 发送电子邮件地址验证码
password:
changed: 更改密码
code:
added: 生成重置密码验证码
sent: 发送重置密码验证码
check:
succeeded: 密码检查成功
failed: 密码检查失败
externallogin:
check:
succeeded: 外部登录成功
externalidp:
added: 添加了外部 IDP
removed: 移除了外部 IDP
cascade:
removed: 移除了外部 IDP
phone:
changed: 修改手机号码
verified: 已验证手机号码
verification:
failed: 手机号码验证失败
code:
added: 生成手机号码验证码
sent: 发送手机号码验证码
removed: 删除手机号码
profile:
changed: 更改个人资料
address:
changed: 更改用户地址
mfa:
otp:
added: 添加 MFA OTP
verified: 验证 MFA OTP
removed: 删除 MFA OTP
check:
succeeded: 验证 MFA OTP 成功
failed: 验证 MFA OTP 失败
u2f:
token:
added: 添加 MFA U2F 令牌
verified: 验证 MFA U2F 令牌
removed: 删除 MFA U2F 令牌
begin:
login: 开始验证 MFA U2F
check:
succeeded: 验证 MFA U2F 成功
failed: 验证 MFA U2F 失败
signcount:
changed: MFA U2F 令牌的校验和已更改
init:
skipped: 跳过 MFA 初始化
passwordless:
token:
added: 添加无密码登录令牌
verified: 验证无密码登录令牌
removed: 删除无密码登录令牌
begin:
login: 无密码登录检查开始
check:
succeeded: 无密码登录检查成功
failed: 无密码登录检查失败
signcount:
changed: 无密码登录令牌的校验和已更改
initialization:
code:
added: 添加无密码初始化验证码
sent: 发送无密码初始化验证码
requested: 发起无密码初始化验证码请求
check:
succeeded: 无密码初始化验证码验证成功
failed: 无密码初始化验证码验证失败
signed:
out: 用户退出登录
refresh:
token:
added: 创建 Refresh Token
renewed: 删除 Refresh Token
removed: 删除 Refresh Token
locked: 用户锁定
unlocked: 解锁用户
deactivated: 停用用户
reactivated: 启用用户
removed: 删除用户
password:
changed: 修改密码
code:
added: 生成重置密码验证码
sent: 发送验证码
check:
succeeded: 密码检查成功
failed: 密码检查失败
phone:
changed: 更改手机号码
verified: 验证手机号码
verification:
failed: 手机号码验证失败
code:
added: 生成的手机号码验证码
sent: 发送手机号码验证码
profile:
changed: 修改用户资料
address:
changed: 修改用户地址
mfa:
otp:
added: 添加 MFA OTP
verified: 验证 MFA OTP
removed: 删除 MFA OTP
check:
succeeded: MFA OTP 验证成功
failed: MFA OTP 验证失败
init:
skipped: 跳过 MFA 初始化
signed:
out: 用户退出登录
grant:
added: 添加授权
changed: 更改授权
removed: 删除授权
deactivated: 停用授权
reactivated: 启用授权
reserved: 保留授权
released: 释放授权
cascade:
removed: 删除授权
changed: 更改授权
metadata:
set: 用户元数据集
removed: 删除用户元数据
removed.all: 删除所有用户元数据
org:
added: 添加组织
changed: 更改组织
deactivated: 停用组织
reactivated: 启用组织
removed: 删除组织
domain:
added: 添加域名
verification:
added: 添加域名验证
failed: 域名验证失败
verified: 验证域名
removed: 删除域名
primary:
set: 设置主域名
reserved: 保留域名
released: 释放域名
name:
reserved: 保留组织名
released: 释放组织名
member:
added: 添加组织成员
changed: 更改组织成员
removed: 删除组织成员
cascade:
removeD: 已删除组织成员
iam:
policy:
added: 添加系统策略
changed: 更改系统策略
removed: 删除系统策略
idp:
config:
added: 添加 IDP 配置
changed: 更改 IDP 配置
removed: 删除 IDP 配置
deactivated: 停用 IDP 配置
reactivated: 启用 IDP 配置
oidc:
config:
added: 添加 OIDC IDP 配置
changed: 更改 OIDC IDP 配置
saml:
config:
added: 添加 SAML IDP 配置
changed: 更改 SAML IDP 配置
customtext:
set: 设置自定义文本
removed: 删除自定义文本
template:
removed: 删除自定义文本模板
policy:
login:
added: 添加登录策略
changed: 更改登录策略
removed: 删除登录策略
idpprovider:
added: 添加 IDP 到登录策略
removed: 从登录策略删除 IDP
secondfactor:
added: 添加两步认证到登录策略
removed: 删除两步认证到登录策略
multifactor:
added: 添加 MFA 到登录策略
removed: 从登录策略删除 MFA
password:
complexity:
added: 添加密码复杂性策略
changed: 更改密码复杂性策略
removed: 删除密码复杂性策略
age:
added: 添加密码有效期策略
changed: 更改密码有效期策略
removed: 删除密码有效期策略
lockout:
added: 添加密码锁策略
changed: 更改密码锁策略
removed: 删除密码锁策略
label:
added: 添加标签策略
changed: 更改标签策略
activated: 启用标签策略
removed: 删除标签策略
logo:
added: 添加 Logo 标签策略
removed: 从标签策略删除 Logo
dark:
added: 添加 Logo (深色模式) Logo 标签策略
removed: 删除 Logo (深色模式) Logo 标签策略
icon:
added: 添加图标到标签策略
removed: 从标签策略中删除图标
dark:
added: 添加图标(dark mode) 到标签策略
removed: 从标签策略中删除图标 (深色模式)
font:
added: 字体添加到标签策略
removed: 从标签策略中删除字体
assets:
removed: 从标签策略中删除的资产
privacy:
added: 添加隐私政策和服务条款
changed: 更改隐私政策和服务条款
removed: 删除隐私政策和服务条款
flow:
trigger_actions:
set: 设置动作
cascade:
removed: 删除动作级联
removed: 删除动作
project:
added: 添加项目
changed: 更改项目
deactivated: 停用项目
reactivated: 启用项目
removed: 删除项目
member:
added: 添加项目成员
changed: 更改项目成员
removed: 删除项目成员
cascade:
removed: 移除项目成员级联
role:
added: 添加项目角色
changed: 更改项目角色
removed: 删除项目角色
grant:
added: 添加外部授权
changed: 更改外部授权
removed: 删除外部授权
deactivated: 停用外部授权
reactivated: 启用外部授权
cascade:
changed: 更改外部授权
member:
added: 添加访问成员
changed: 更改访问成员
removed: 删除访问成员
cascade:
removeD: 删除管理访问级联
application:
added: 添加应用
changed: 更改应用
removed: 删除应用
deactivated: 停用应用
reactivated: 启用应用
oidc:
secret:
check:
succeeded: 检查 OIDC Client Secret 成功
failed: 检查 OIDC Client Secret 失败
key:
added: 添加应用 Key
removed: 删除应用 Key
config:
oidc:
added: 添加 OIDC 配置
changed: 更改 OIDC 配置
secret:
changed: 更改 OIDC Secret
api:
added: 添加 API 配置
changed: 更改 API 配置
secret:
changed: 更改 API Secret
policy:
password:
complexity:
added: 添加密码复杂性策略
changed: 更改密码复杂性策略
age:
added: 添加密码过期策略
changed: 更改密码过期策略
lockout:
added: 添加密码锁定策略
changed: 更改密码锁定策略
iam:
setup:
started: 开始 ZITADEL 配置
done: ZITADEL 配置完成
global:
org:
set: 设置全局组织
project:
iam:
set: 设置 ZITADEL 项目
member:
added: 添加 ZITADEL 成员
changed: 更改 ZITADEL 成员
removed: 删除 ZITADEL 成员
cascade:
removed: 删除 ZITADEL 成员级联
idp:
config:
added: 添加 IDP 配置
changed: 更改 IDP 配置
removed: 删除 IDP 配置
deactivated: 停用 IDP 配置
reactivated: 启用 IDP 配置
oidc:
config:
added: 添加 OIDC IDP 配置
changed: 更改 OIDC IDP 配置
saml:
config:
added: 添加 SAML IDP 配置
changed: 更改 SAML IDP 配置
customtext:
set: 设置文本
removed: 删除文本
policy:
login:
added: 添加默认登录策略
changed: 更改默认登录策略
idpprovider:
added: IDP 添加到默认登录策略
removed: 从默认登录策略中删除 IDP
label:
added: 添加标签策略
changed: 更改标签策略
activated: 启用标签策略
logo:
added: 添加 Logo 标签策略
removed: 从标签策略删除 Logo
dark:
added: 添加 Logo (深色模式) Logo 标签策略
removed: 删除Logo (深色模式) Logo 标签策略
icon:
added: 添加图标到标签策略
removed: 从标签策略中删除图标
dark:
added: 添加图标(dark mode) 到标签策略
removed: 从标签策略中删除图标 (深色模式)
font:
added: 字体添加到标签策略
removed: 从标签策略中删除字体
assets:
removed: 从标签策略中删除的资产
default:
language:
set: 设置默认语言
oidc:
settings:
added: 添加 OIDC 配置
changed: 更改 OIDC 配置
removed: 删除 OIDC 配置
secret:
generator:
added: 添加秘钥生成器
changed: 更改秘钥生成器
removed: 删除秘钥生成器
smtp:
config:
added: 添加 SMTP 配置
changed: 更改 SMTP 配置
password:
changed: 更改 SMTP 安全设置
sms:
config:
twilio:
added: 添加 Twilio SMS 提供者
changed: 更改 Twilio SMS 提供者
token:
changed: 更改 Twilio SMS 提供者令牌
removed: 删除 Twilio SMS 提供者
activated: 启用 Twilio SMS 提供者
deactivated: 停用 Twilio SMS 提供者
key_pair:
added: 添加密钥对
action:
added: 添加动作
changed: 更改动作
deactivated: 停用动作
reactivated: 启用动作
removed: 删除动作
Application:
OIDC:
UnsupportedVersion: 不支持您的 OIDC 版本
V1:
NotCompliant: 您的配置不符合要求,并且与 OIDC 1.0 标准不同。
NoRedirectUris: 必须至少注册一个重定向 URL。
NotAllCombinationsAreAllowed: 配置是合规的,但并非所有可能的组合都是允许的。
Code:
RedirectUris:
HttpOnlyForWeb: 授权方式为 Code 模式时,仅允许 Web 和 Native 应用类型的应用使用 HTTP 重定向。
CustomOnlyForNative: 授权方式为 Code 时支持自定义原生 App Schema (e.g appname:// )
Implicit:
RedirectUris:
CustomNotAllowed: 授权类型为隐式时不允许自定义重定向 URL。
HttpNotAllowed: 授权类型为隐式时不允许 HTTP 重定向 URL。
HttpLocalhostOnlyForNative: http://localhost 重定向 URL 仅允许用于本机应用程序。
Native:
AuthMethodType:
NotNone: 原生应用的身份验证方式应该为 None。
RedirectUris:
MustBeHttpLocalhost: 重定向 URL 必须以您自己的协议、http://127.0.0.1、http://[::1] 或 http://localhost 开头。
UserAgent:
AuthMethodType:
NotNone: UserAgent 应用应使用 None 身份验证方式。
GrantType:
Refresh:
NoAuthCode: Refresh Token 仅允许与授权码Authorization Code模式一起使用。