mirror of
https://github.com/zitadel/zitadel.git
synced 2025-03-01 01:17:23 +00:00
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:
parent
5052aa1c12
commit
8ab85afd15
@ -271,16 +271,16 @@ export class AppComponent implements OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private setLanguage(): void {
|
private setLanguage(): void {
|
||||||
this.translate.addLangs(['en', 'de']);
|
this.translate.addLangs(['en', 'de', 'zh']);
|
||||||
this.translate.setDefaultLang('en');
|
this.translate.setDefaultLang('en');
|
||||||
|
|
||||||
this.authService.user.subscribe((userprofile) => {
|
this.authService.user.subscribe((userprofile) => {
|
||||||
if (userprofile) {
|
if (userprofile) {
|
||||||
// this.user = userprofile;
|
// this.user = userprofile;
|
||||||
const cropped = navigator.language.split('-')[0] ?? 'en';
|
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
|
? userprofile.human.profile?.preferredLanguage
|
||||||
: fallbackLang;
|
: fallbackLang;
|
||||||
this.translate.use(lang);
|
this.translate.use(lang);
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
import { CommonModule, registerLocaleData } from '@angular/common';
|
import { CommonModule, registerLocaleData } from '@angular/common';
|
||||||
import { HttpClientModule } from '@angular/common/http';
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
import localeDe from '@angular/common/locales/de';
|
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 { APP_INITIALIZER, NgModule } from '@angular/core';
|
||||||
import { MatNativeDateModule } from '@angular/material/core';
|
import { MatNativeDateModule } from '@angular/material/core';
|
||||||
import { MatDialogModule } from '@angular/material/dialog';
|
import { MatDialogModule } from '@angular/material/dialog';
|
||||||
@ -55,6 +59,10 @@ import { ThemeService } from './services/theme.service';
|
|||||||
import { ToastService } from './services/toast.service';
|
import { ToastService } from './services/toast.service';
|
||||||
|
|
||||||
registerLocaleData(localeDe);
|
registerLocaleData(localeDe);
|
||||||
|
registerLocaleData(localeZh);
|
||||||
|
registerLocaleData(localeFr);
|
||||||
|
registerLocaleData(localeIt);
|
||||||
|
registerLocaleData(localeEn);
|
||||||
|
|
||||||
export class WebpackTranslateLoader implements TranslateLoader {
|
export class WebpackTranslateLoader implements TranslateLoader {
|
||||||
getTranslation(lang: string): Observable<any> {
|
getTranslation(lang: string): Observable<any> {
|
||||||
|
@ -25,7 +25,7 @@ import { EditDialogComponent, EditDialogType } from './edit-dialog/edit-dialog.c
|
|||||||
export class AuthUserDetailComponent implements OnDestroy {
|
export class AuthUserDetailComponent implements OnDestroy {
|
||||||
public user?: User.AsObject;
|
public user?: User.AsObject;
|
||||||
public genders: Gender[] = [Gender.GENDER_MALE, Gender.GENDER_FEMALE, Gender.GENDER_DIVERSE];
|
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();
|
private subscription: Subscription = new Subscription();
|
||||||
|
|
||||||
|
@ -22,11 +22,8 @@ export class LocalizedDatePipe implements PipeTransform {
|
|||||||
return moment(value).format(`${format}, HH:mm`);
|
return moment(value).format(`${format}, HH:mm`);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const lang = this.translateService.currentLang === ('de' || 'it' || 'en') ? this.translateService.currentLang : 'en';
|
const lang = ['de', 'en', 'fr', 'it', 'zh'].includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en';
|
||||||
const datePipe: DatePipe = new DatePipe(
|
const datePipe: DatePipe = new DatePipe(lang);
|
||||||
lang,
|
|
||||||
// ['de', 'it', 'en'].includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en',
|
|
||||||
);
|
|
||||||
return datePipe.transform(value, pattern ?? 'mediumDate');
|
return datePipe.transform(value, pattern ?? 'mediumDate');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -892,7 +892,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "Chinese"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP Einstellungen",
|
"TITLE": "SMTP Einstellungen",
|
||||||
@ -1072,7 +1073,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "Chinese"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Email Verification erfolgreich",
|
"emailVerificationDoneText": "Email Verification erfolgreich",
|
||||||
@ -1817,7 +1819,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "Chinese"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Manager hinzufügen",
|
"ADD": "Manager hinzufügen",
|
||||||
|
@ -892,7 +892,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP Settings",
|
"TITLE": "SMTP Settings",
|
||||||
@ -1072,7 +1073,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Email verification done",
|
"emailVerificationDoneText": "Email verification done",
|
||||||
@ -1520,9 +1522,9 @@
|
|||||||
"DEACTIVATE": "Deactivate",
|
"DEACTIVATE": "Deactivate",
|
||||||
"ACTIVATE": "Activate",
|
"ACTIVATE": "Activate",
|
||||||
"DELETE": "Delete",
|
"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_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?",
|
"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",
|
"EMPTY": "No IDP available",
|
||||||
"OIDC": {
|
"OIDC": {
|
||||||
@ -1817,7 +1819,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Add a Manager",
|
"ADD": "Add a Manager",
|
||||||
|
@ -892,7 +892,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Paramètres SMTP",
|
"TITLE": "Paramètres SMTP",
|
||||||
@ -1072,7 +1073,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Vérification de l'email effectuée",
|
"emailVerificationDoneText": "Vérification de l'email effectuée",
|
||||||
@ -1817,7 +1819,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Ajouter un manager",
|
"ADD": "Ajouter un manager",
|
||||||
|
@ -892,7 +892,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Impostazioni SMTP",
|
"TITLE": "Impostazioni SMTP",
|
||||||
@ -1072,7 +1073,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
|
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
|
||||||
@ -1817,7 +1819,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"fr": "Français"
|
"fr": "Français",
|
||||||
|
"zh": "简体中文"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Aggiungi un manager",
|
"ADD": "Aggiungi un manager",
|
||||||
|
1895
console/src/assets/i18n/zh.json
Normal file
1895
console/src/assets/i18n/zh.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -37,6 +37,7 @@ ZITADEL is available in the following languages
|
|||||||
- German (de)
|
- German (de)
|
||||||
- Italian (it)
|
- Italian (it)
|
||||||
- French (fr)
|
- French (fr)
|
||||||
|
- 简体中文(zh)
|
||||||
|
|
||||||
A language is displayed based on your agent's language header. The default language is English.
|
A language is displayed based on your agent's language header. The default language is English.
|
||||||
|
|
||||||
|
@ -209,6 +209,7 @@ RegistrationUser:
|
|||||||
English: English
|
English: English
|
||||||
Italian: Italiano
|
Italian: Italiano
|
||||||
French: Français
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
GenderLabel: Geschlecht
|
GenderLabel: Geschlecht
|
||||||
Female: weiblich
|
Female: weiblich
|
||||||
Male: männlich
|
Male: männlich
|
||||||
|
@ -209,6 +209,7 @@ RegistrationUser:
|
|||||||
English: English
|
English: English
|
||||||
Italian: Italiano
|
Italian: Italiano
|
||||||
French: Français
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
GenderLabel: Gender
|
GenderLabel: Gender
|
||||||
Female: Female
|
Female: Female
|
||||||
Male: Male
|
Male: Male
|
||||||
|
@ -209,6 +209,7 @@ RegistrationUser:
|
|||||||
English: English
|
English: English
|
||||||
Italian: Italiano
|
Italian: Italiano
|
||||||
French: Français
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
GenderLabel: Genre
|
GenderLabel: Genre
|
||||||
Female: Femme
|
Female: Femme
|
||||||
Male: Homme
|
Male: Homme
|
||||||
|
@ -211,6 +211,7 @@ RegistrationUser:
|
|||||||
French: Français
|
French: Français
|
||||||
GenderLabel: Genere
|
GenderLabel: Genere
|
||||||
Female: Femminile
|
Female: Femminile
|
||||||
|
Chinese: 简体中文
|
||||||
Male: Maschile
|
Male: Maschile
|
||||||
Diverse: diverso / X
|
Diverse: diverso / X
|
||||||
PasswordLabel: Password
|
PasswordLabel: Password
|
||||||
|
377
internal/api/ui/login/static/i18n/zh.yaml
Normal file
377
internal/api/ui/login/static/i18n/zh.yaml
Normal 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: (可选)
|
42
internal/notification/static/i18n/zh.yaml
Normal file
42
internal/notification/static/i18n/zh.yaml
Normal 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: 添加无密码登录
|
900
internal/static/i18n/zh.yaml
Normal file
900
internal/static/i18n/zh.yaml
Normal 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)模式一起使用。
|
Loading…
x
Reference in New Issue
Block a user