mirror of
https://github.com/zitadel/zitadel.git
synced 2025-01-08 17:17:57 +00:00
feat: internationalization Bulgarian (#5998)
* Feature BG init * lint fix * Fix merge conflict * merge main branch add bg lang * reference centrally defined langs * refactor supportedLanguages --------- Co-authored-by: Livio Spring <livio.a@gmail.com> Co-authored-by: Elio Bischof <eliobischof@gmail.com> Co-authored-by: Max Peintner <max@caos.ch> Co-authored-by: Elio Bischof <elio@zitadel.com>
This commit is contained in:
parent
7b69449207
commit
4378eb7cb5
@ -1,5 +1,6 @@
|
|||||||
import { CommonModule, registerLocaleData } from '@angular/common';
|
import { CommonModule, registerLocaleData } from '@angular/common';
|
||||||
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||||
|
import localeBg from '@angular/common/locales/bg';
|
||||||
import localeDe from '@angular/common/locales/de';
|
import localeDe from '@angular/common/locales/de';
|
||||||
import localeEn from '@angular/common/locales/en';
|
import localeEn from '@angular/common/locales/en';
|
||||||
import localeEs from '@angular/common/locales/es';
|
import localeEs from '@angular/common/locales/es';
|
||||||
@ -80,6 +81,8 @@ registerLocaleData(localePl);
|
|||||||
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/pl.json'));
|
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/pl.json'));
|
||||||
registerLocaleData(localeZh);
|
registerLocaleData(localeZh);
|
||||||
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/zh.json'));
|
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/zh.json'));
|
||||||
|
registerLocaleData(localeBg);
|
||||||
|
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/bg.json'));
|
||||||
|
|
||||||
export class WebpackTranslateLoader implements TranslateLoader {
|
export class WebpackTranslateLoader implements TranslateLoader {
|
||||||
getTranslation(lang: string): Observable<any> {
|
getTranslation(lang: string): Observable<any> {
|
||||||
|
@ -19,6 +19,7 @@ import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
|||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
import { InfoSectionType } from '../../info-section/info-section.component';
|
import { InfoSectionType } from '../../info-section/info-section.component';
|
||||||
import { WarnDialogComponent } from '../../warn-dialog/warn-dialog.component';
|
import { WarnDialogComponent } from '../../warn-dialog/warn-dialog.component';
|
||||||
import { PolicyComponentServiceType } from '../policy-component-types.enum';
|
import { PolicyComponentServiceType } from '../policy-component-types.enum';
|
||||||
@ -109,7 +110,7 @@ export class LoginTextsComponent implements OnInit, OnDestroy {
|
|||||||
@Input() public serviceType: PolicyComponentServiceType = PolicyComponentServiceType.MGMT;
|
@Input() public serviceType: PolicyComponentServiceType = PolicyComponentServiceType.MGMT;
|
||||||
|
|
||||||
public KeyNamesArray: string[] = KeyNamesArray;
|
public KeyNamesArray: string[] = KeyNamesArray;
|
||||||
public LOCALES: string[] = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
public LOCALES: string[] = supportedLanguages;
|
||||||
|
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
|||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
import { InfoSectionType } from '../../info-section/info-section.component';
|
import { InfoSectionType } from '../../info-section/info-section.component';
|
||||||
import { WarnDialogComponent } from '../../warn-dialog/warn-dialog.component';
|
import { WarnDialogComponent } from '../../warn-dialog/warn-dialog.component';
|
||||||
import { PolicyComponentServiceType } from '../policy-component-types.enum';
|
import { PolicyComponentServiceType } from '../policy-component-types.enum';
|
||||||
@ -441,7 +442,7 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public locale: string = 'en';
|
public locale: string = 'en';
|
||||||
public LOCALES: string[] = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
public LOCALES: string[] = supportedLanguages;
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
||||||
this.serviceType === PolicyComponentServiceType.ADMIN
|
this.serviceType === PolicyComponentServiceType.ADMIN
|
||||||
|
@ -20,6 +20,7 @@ import { AdminService } from 'src/app/services/admin.service';
|
|||||||
import { Breadcrumb, BreadcrumbService, BreadcrumbType } from 'src/app/services/breadcrumb.service';
|
import { Breadcrumb, BreadcrumbService, BreadcrumbType } from 'src/app/services/breadcrumb.service';
|
||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'cnsl-org-create',
|
selector: 'cnsl-org-create',
|
||||||
@ -45,7 +46,7 @@ export class OrgCreateComponent {
|
|||||||
public pwdForm?: UntypedFormGroup;
|
public pwdForm?: UntypedFormGroup;
|
||||||
|
|
||||||
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
||||||
public languages: string[] = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
public languages: string[] = supportedLanguages;
|
||||||
|
|
||||||
public policy?: PasswordComplexityPolicy.AsObject;
|
public policy?: PasswordComplexityPolicy.AsObject;
|
||||||
public usePassword: boolean = false;
|
public usePassword: boolean = false;
|
||||||
|
@ -13,6 +13,7 @@ import { ToastService } from 'src/app/services/toast.service';
|
|||||||
|
|
||||||
import { CountryCallingCodesService, CountryPhoneCode } from 'src/app/services/country-calling-codes.service';
|
import { CountryCallingCodesService, CountryPhoneCode } from 'src/app/services/country-calling-codes.service';
|
||||||
import { formatPhone } from 'src/app/utils/formatPhone';
|
import { formatPhone } from 'src/app/utils/formatPhone';
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
import {
|
import {
|
||||||
containsLowerCaseValidator,
|
containsLowerCaseValidator,
|
||||||
containsNumberValidator,
|
containsNumberValidator,
|
||||||
@ -33,7 +34,7 @@ import {
|
|||||||
export class UserCreateComponent implements OnInit, OnDestroy {
|
export class UserCreateComponent implements OnInit, OnDestroy {
|
||||||
public user: AddHumanUserRequest.AsObject = new AddHumanUserRequest().toObject();
|
public user: AddHumanUserRequest.AsObject = new AddHumanUserRequest().toObject();
|
||||||
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
||||||
public languages: string[] = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
public languages: string[] = supportedLanguages;
|
||||||
public selected: CountryPhoneCode | undefined;
|
public selected: CountryPhoneCode | undefined;
|
||||||
public countryPhoneCodes: CountryPhoneCode[] = [];
|
public countryPhoneCodes: CountryPhoneCode[] = [];
|
||||||
public userForm!: UntypedFormGroup;
|
public userForm!: UntypedFormGroup;
|
||||||
|
@ -23,6 +23,7 @@ import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
|||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
import { formatPhone } from 'src/app/utils/formatPhone';
|
import { formatPhone } from 'src/app/utils/formatPhone';
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
import { EditDialogComponent, EditDialogType } from './edit-dialog/edit-dialog.component';
|
import { EditDialogComponent, EditDialogType } from './edit-dialog/edit-dialog.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -33,7 +34,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', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
public languages: string[] = supportedLanguages;
|
||||||
|
|
||||||
private subscription: Subscription = new Subscription();
|
private subscription: Subscription = new Subscription();
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import { Breadcrumb, BreadcrumbService, BreadcrumbType } from 'src/app/services/
|
|||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
import { formatPhone } from 'src/app/utils/formatPhone';
|
import { formatPhone } from 'src/app/utils/formatPhone';
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
import { EditDialogComponent, EditDialogType } from '../auth-user-detail/edit-dialog/edit-dialog.component';
|
import { EditDialogComponent, EditDialogType } from '../auth-user-detail/edit-dialog/edit-dialog.component';
|
||||||
import { ResendEmailDialogComponent } from '../auth-user-detail/resend-email-dialog/resend-email-dialog.component';
|
import { ResendEmailDialogComponent } from '../auth-user-detail/resend-email-dialog/resend-email-dialog.component';
|
||||||
import { MachineSecretDialogComponent } from './machine-secret-dialog/machine-secret-dialog.component';
|
import { MachineSecretDialogComponent } from './machine-secret-dialog/machine-secret-dialog.component';
|
||||||
@ -44,7 +45,7 @@ export class UserDetailComponent implements OnInit {
|
|||||||
public user!: User.AsObject;
|
public user!: User.AsObject;
|
||||||
public metadata: Metadata.AsObject[] = [];
|
public metadata: Metadata.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', 'es', 'it', 'fr', 'ja', 'pl', 'zh'];
|
public languages: string[] = supportedLanguages;
|
||||||
|
|
||||||
public ChangeType: any = ChangeType;
|
public ChangeType: any = ChangeType;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import { DatePipe } from '@angular/common';
|
|||||||
import { Pipe, PipeTransform } from '@angular/core';
|
import { Pipe, PipeTransform } from '@angular/core';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import * as moment from 'moment';
|
import * as moment from 'moment';
|
||||||
|
import { supportedLanguages } from 'src/app/utils/language';
|
||||||
|
|
||||||
@Pipe({
|
@Pipe({
|
||||||
name: 'localizedDate',
|
name: 'localizedDate',
|
||||||
@ -22,9 +23,7 @@ export class LocalizedDatePipe implements PipeTransform {
|
|||||||
return moment(value).format(`${format}, HH:mm`);
|
return moment(value).format(`${format}, HH:mm`);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const lang = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'].includes(this.translateService.currentLang)
|
const lang = supportedLanguages.includes(this.translateService.currentLang) ? this.translateService.currentLang : 'en';
|
||||||
? this.translateService.currentLang
|
|
||||||
: 'en';
|
|
||||||
const datePipe: DatePipe = new DatePipe(lang);
|
const datePipe: DatePipe = new DatePipe(lang);
|
||||||
return datePipe.transform(value, pattern ?? 'mediumDate');
|
return datePipe.transform(value, pattern ?? 'mediumDate');
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
export const supportedLanguages = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh'];
|
export const supportedLanguages = ['de', 'en', 'es', 'fr', 'it', 'ja', 'pl', 'zh', 'bg'];
|
||||||
export const supportedLanguagesRegexp: RegExp = /de|en|es|fr|it|ja|pl|zh/;
|
export const supportedLanguagesRegexp: RegExp = /de|en|es|fr|it|ja|pl|zh|bg/;
|
||||||
export const fallbackLanguage: string = 'en';
|
export const fallbackLanguage: string = 'en';
|
||||||
|
2177
console/src/assets/i18n/bg.json
Normal file
2177
console/src/assets/i18n/bg.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1039,7 +1039,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP Einstellungen",
|
"TITLE": "SMTP Einstellungen",
|
||||||
@ -1238,7 +1239,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Email Verification erfolgreich",
|
"emailVerificationDoneText": "Email Verification erfolgreich",
|
||||||
@ -2106,7 +2108,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Manager hinzufügen",
|
"ADD": "Manager hinzufügen",
|
||||||
|
@ -1040,7 +1040,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP Settings",
|
"TITLE": "SMTP Settings",
|
||||||
@ -1239,7 +1240,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Email verification done",
|
"emailVerificationDoneText": "Email verification done",
|
||||||
@ -2103,7 +2105,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Add a Manager",
|
"ADD": "Add a Manager",
|
||||||
|
@ -1040,7 +1040,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Ajustes SMTP",
|
"TITLE": "Ajustes SMTP",
|
||||||
@ -1239,7 +1240,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Verificación de email realizada",
|
"emailVerificationDoneText": "Verificación de email realizada",
|
||||||
@ -2103,7 +2105,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Añadir un Mánager",
|
"ADD": "Añadir un Mánager",
|
||||||
|
@ -1039,7 +1039,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Paramètres SMTP",
|
"TITLE": "Paramètres SMTP",
|
||||||
@ -1238,7 +1239,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Vérification de l'email effectuée",
|
"emailVerificationDoneText": "Vérification de l'email effectuée",
|
||||||
@ -2095,7 +2097,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Ajouter un manager",
|
"ADD": "Ajouter un manager",
|
||||||
|
@ -1039,7 +1039,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Impostazioni SMTP",
|
"TITLE": "Impostazioni SMTP",
|
||||||
@ -1238,7 +1239,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
|
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
|
||||||
@ -2107,7 +2109,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Aggiungi un manager",
|
"ADD": "Aggiungi un manager",
|
||||||
|
@ -1040,7 +1040,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP設定",
|
"TITLE": "SMTP設定",
|
||||||
@ -1234,7 +1235,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "メール認証が完了しました",
|
"emailVerificationDoneText": "メール認証が完了しました",
|
||||||
@ -2098,7 +2100,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "マネージャーを追加する",
|
"ADD": "マネージャーを追加する",
|
||||||
|
@ -1039,7 +1039,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "Ustawienia SMTP",
|
"TITLE": "Ustawienia SMTP",
|
||||||
@ -1238,7 +1239,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "Weryfikacja adresu e-mail zakończona",
|
"emailVerificationDoneText": "Weryfikacja adresu e-mail zakończona",
|
||||||
@ -2107,7 +2109,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "Dodaj managera",
|
"ADD": "Dodaj managera",
|
||||||
|
@ -1039,7 +1039,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"SMTP": {
|
"SMTP": {
|
||||||
"TITLE": "SMTP 设置",
|
"TITLE": "SMTP 设置",
|
||||||
@ -1237,7 +1238,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"KEYS": {
|
"KEYS": {
|
||||||
"emailVerificationDoneText": "电子邮件验证完成",
|
"emailVerificationDoneText": "电子邮件验证完成",
|
||||||
@ -2094,7 +2096,8 @@
|
|||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
"zh": "简体中文"
|
"zh": "简体中文",
|
||||||
|
"bg": "Български"
|
||||||
},
|
},
|
||||||
"MEMBER": {
|
"MEMBER": {
|
||||||
"ADD": "添加管理者",
|
"ADD": "添加管理者",
|
||||||
|
@ -42,6 +42,7 @@ ZITADEL is available in the following languages
|
|||||||
- 日本語 (ja)
|
- 日本語 (ja)
|
||||||
- Polish(pl)
|
- Polish(pl)
|
||||||
- 简体中文(zh)
|
- 简体中文(zh)
|
||||||
|
- Bulgarian (bg)
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
440
internal/api/ui/login/static/i18n/bg.yaml
Normal file
440
internal/api/ui/login/static/i18n/bg.yaml
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
Login:
|
||||||
|
Title: Добре дошъл обратно!
|
||||||
|
Description: Въведете вашите данни за вход.
|
||||||
|
TitleLinking: Влезте за потребителско свързване
|
||||||
|
DescriptionLinking: >-
|
||||||
|
Въведете вашите данни за вход, за да свържете вашия външен потребител с
|
||||||
|
потребител на ZITADEL.
|
||||||
|
LoginNameLabel: Потребителско име
|
||||||
|
UsernamePlaceHolder: потребителско име
|
||||||
|
LoginnamePlaceHolder: потребителско име@домейн
|
||||||
|
ExternalUserDescription: Влезте с външен потребител.
|
||||||
|
MustBeMemberOfOrg: 'Потребителят трябва да е член на {{.OrgName}} организация.'
|
||||||
|
RegisterButtonText: регистрирам
|
||||||
|
NextButtonText: следващия
|
||||||
|
LDAP:
|
||||||
|
Title: Влизам
|
||||||
|
Description: Въведете вашите данни за вход.
|
||||||
|
LoginNameLabel: Потребителско име
|
||||||
|
PasswordLabel: Парола
|
||||||
|
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: нова парола
|
||||||
|
NewPasswordConfirm: потвърди парола
|
||||||
|
NextButtonText: следващия
|
||||||
|
ResendButtonText: код за препращане
|
||||||
|
InitUserDone:
|
||||||
|
Title: Потребителят е активиран
|
||||||
|
Description: Имейлът е потвърден и паролата е успешно зададена
|
||||||
|
NextButtonText: следващия
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
InitMFAPrompt:
|
||||||
|
Title: 2-факторна настройка
|
||||||
|
Description: >-
|
||||||
|
Двуфакторното удостоверяване ви дава допълнителна сигурност за вашия
|
||||||
|
потребителски акаунт.
|
||||||
|
Provider0: 'Приложение за удостоверяване (напр. Google/Microsoft Authenticator, Authy)'
|
||||||
|
Provider1: 'Зависи от устройството (напр. FaceID, Windows Hello, пръстов отпечатък)'
|
||||||
|
NextButtonText: следващия
|
||||||
|
SkipButtonText: пропуснете
|
||||||
|
InitMFAOTP:
|
||||||
|
Title: 2-факторна проверка
|
||||||
|
Description: 'Създайте своя 2-фактор. '
|
||||||
|
OTPDescription: >-
|
||||||
|
Сканирайте кода с вашето приложение за удостоверяване (напр.
|
||||||
|
Google/Microsoft Authenticator, Authy) или копирайте тайната и поставете
|
||||||
|
генерирания код по-долу.
|
||||||
|
SecretLabel: Тайна
|
||||||
|
CodeLabel: Код
|
||||||
|
NextButtonText: следващия
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
InitMFAU2F:
|
||||||
|
Title: Добавете ключ за сигурност
|
||||||
|
Description: >-
|
||||||
|
Ключът за сигурност е метод за потвърждение, който може да бъде вграден във
|
||||||
|
вашия телефон, да използва Bluetooth или да се включи директно в USB порта
|
||||||
|
на вашия компютър.
|
||||||
|
TokenNameLabel: Име на защитния ключ/устройство
|
||||||
|
NotSupported: 'WebAuthN не се поддържа от вашия браузър. '
|
||||||
|
RegisterTokenButtonText: Добавете ключ за сигурност
|
||||||
|
ErrorRetry: >-
|
||||||
|
Опитайте отново, създайте ново предизвикателство или изберете различен
|
||||||
|
метод.
|
||||||
|
InitMFADone:
|
||||||
|
Title: Ключът за сигурност е проверен
|
||||||
|
Description: 'Страхотно! '
|
||||||
|
NextButtonText: следващия
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
MFAProvider:
|
||||||
|
Provider0: 'Приложение за удостоверяване (напр. Google/Microsoft Authenticator, Authy)'
|
||||||
|
Provider1: 'Зависи от устройството (напр. FaceID, Windows Hello, пръстов отпечатък)'
|
||||||
|
ChooseOther: или изберете друга опция
|
||||||
|
VerifyMFAOTP:
|
||||||
|
Title: Проверете 2-фактора
|
||||||
|
Description: Проверете вашия втори фактор
|
||||||
|
CodeLabel: Код
|
||||||
|
NextButtonText: следващия
|
||||||
|
VerifyMFAU2F:
|
||||||
|
Title: 2-факторна проверка
|
||||||
|
Description: >-
|
||||||
|
Потвърдете своя 2-фактор с регистрираното устройство (напр. FaceID, Windows
|
||||||
|
Hello, пръстов отпечатък)
|
||||||
|
NotSupported: 'WebAuthN не се поддържа от вашия браузър. '
|
||||||
|
ErrorRetry: 'Опитайте отново, създайте нова заявка или изберете друг метод.'
|
||||||
|
ValidateTokenButtonText: Проверете 2-фактора
|
||||||
|
Passwordless:
|
||||||
|
Title: Вход без парола
|
||||||
|
Description: >-
|
||||||
|
Влезте с методи за удостоверяване, предоставени от вашето устройство, като
|
||||||
|
FaceID, Windows Hello или пръстов отпечатък.
|
||||||
|
NotSupported: 'WebAuthN не се поддържа от вашия браузър. '
|
||||||
|
ErrorRetry: >-
|
||||||
|
Опитайте отново, създайте ново предизвикателство или изберете различен
|
||||||
|
метод.
|
||||||
|
LoginWithPwButtonText: Влезте с парола
|
||||||
|
ValidateTokenButtonText: Влезте без парола
|
||||||
|
PasswordlessPrompt:
|
||||||
|
Title: Настройка без парола
|
||||||
|
Description: 'Искате ли да настроите влизане без парола? '
|
||||||
|
DescriptionInit: 'Трябва да настроите влизане без парола. '
|
||||||
|
PasswordlessButtonText: Преминете без парола
|
||||||
|
NextButtonText: следващия
|
||||||
|
SkipButtonText: пропуснете
|
||||||
|
PasswordlessRegistration:
|
||||||
|
Title: Настройка без парола
|
||||||
|
Description: >-
|
||||||
|
Добавете вашето удостоверяване, като предоставите име (напр. MyMobilePhone,
|
||||||
|
MacBook и т.н.) и след това щракнете върху бутона „Регистриране без парола“
|
||||||
|
по-долу.
|
||||||
|
TokenNameLabel: Име на устройството
|
||||||
|
NotSupported: 'WebAuthN не се поддържа от вашия браузър. '
|
||||||
|
RegisterTokenButtonText: Регистрирайте се без парола
|
||||||
|
ErrorRetry: >-
|
||||||
|
Опитайте отново, създайте ново предизвикателство или изберете различен
|
||||||
|
метод.
|
||||||
|
PasswordlessRegistrationDone:
|
||||||
|
Title: Настройка без парола
|
||||||
|
Description: Успешно добавено устройство за без парола.
|
||||||
|
DescriptionClose: Сега можете да затворите този прозорец.
|
||||||
|
NextButtonText: следващия
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
PasswordChange:
|
||||||
|
Title: Промяна на паролата
|
||||||
|
Description: 'Променете паролата си. '
|
||||||
|
OldPasswordLabel: Стара парола
|
||||||
|
NewPasswordLabel: нова парола
|
||||||
|
NewPasswordConfirmLabel: Потвърждение на парола
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
NextButtonText: следващия
|
||||||
|
Footer: Долен колонтитул
|
||||||
|
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: или се регистрирайте при външен потребител
|
||||||
|
LoginButtonText: Влизам
|
||||||
|
RegistrationUser:
|
||||||
|
Title: Регистрация
|
||||||
|
Description: 'Въведете своите потребителски данни. '
|
||||||
|
DescriptionOrgRegister: Въведете своите потребителски данни.
|
||||||
|
EmailLabel: Електронна поща
|
||||||
|
UsernameLabel: Потребителско име
|
||||||
|
FirstnameLabel: Първо име
|
||||||
|
LastnameLabel: Фамилия
|
||||||
|
LanguageLabel: език
|
||||||
|
German: Deutsch
|
||||||
|
English: Английски
|
||||||
|
Italian: Италиано
|
||||||
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
|
Polish: Полски
|
||||||
|
Japanese: 日本語
|
||||||
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
|
GenderLabel: Пол
|
||||||
|
Female: Женски пол
|
||||||
|
Male: Мъжки
|
||||||
|
Diverse: разнообразен / X
|
||||||
|
PasswordLabel: Парола
|
||||||
|
PasswordConfirmLabel: Потвърждение на парола
|
||||||
|
TosAndPrivacyLabel: Правила и условия
|
||||||
|
TosConfirm: Приемам
|
||||||
|
TosLinkText: TOS
|
||||||
|
PrivacyConfirm: Приемам
|
||||||
|
PrivacyLinkText: политика за поверителност
|
||||||
|
ExternalLogin: или се регистрирайте при външен потребител
|
||||||
|
BackButtonText: Влизам
|
||||||
|
NextButtonText: следващия
|
||||||
|
ExternalRegistrationUserOverview:
|
||||||
|
Title: Регистрация на външен потребител
|
||||||
|
Description: 'Взехме вашите потребителски данни от избрания доставчик. '
|
||||||
|
EmailLabel: Електронна поща
|
||||||
|
UsernameLabel: Потребителско име
|
||||||
|
FirstnameLabel: Първо име
|
||||||
|
LastnameLabel: Фамилия
|
||||||
|
NicknameLabel: Псевдоним
|
||||||
|
PhoneLabel: Телефонен номер
|
||||||
|
LanguageLabel: език
|
||||||
|
German: Deutsch
|
||||||
|
English: Английски
|
||||||
|
Italian: Италиано
|
||||||
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
|
Japanese: 日本語
|
||||||
|
Polish: Полски
|
||||||
|
Spanish: Español
|
||||||
|
TosAndPrivacyLabel: Правила и условия
|
||||||
|
TosConfirm: Приемам
|
||||||
|
TosLinkText: TOS
|
||||||
|
PrivacyConfirm: Приемам
|
||||||
|
PrivacyLinkText: политика за поверителност
|
||||||
|
ExternalLogin: или се регистрирайте при външен потребител
|
||||||
|
BackButtonText: обратно
|
||||||
|
NextButtonText: спаси
|
||||||
|
RegistrationOrg:
|
||||||
|
Title: Регистрация на организация
|
||||||
|
Description: Въведете името на вашата организация и потребителските данни.
|
||||||
|
OrgNameLabel: Наименование на организацията
|
||||||
|
EmailLabel: Електронна поща
|
||||||
|
UsernameLabel: Потребителско име
|
||||||
|
FirstnameLabel: Първо име
|
||||||
|
LastnameLabel: Фамилия
|
||||||
|
PasswordLabel: Парола
|
||||||
|
PasswordConfirmLabel: Потвърждение на парола
|
||||||
|
TosAndPrivacyLabel: Правила и условия
|
||||||
|
TosConfirm: Приемам
|
||||||
|
TosLinkText: TOS
|
||||||
|
PrivacyConfirm: Приемам
|
||||||
|
PrivacyLinkText: политика за поверителност
|
||||||
|
SaveButtonText: Създайте организация
|
||||||
|
LoginSuccess:
|
||||||
|
Title: Успешен вход
|
||||||
|
AutoRedirectDescription: 'Ще бъдете насочени обратно към вашето приложение автоматично. '
|
||||||
|
RedirectedDescription: Сега можете да затворите този прозорец.
|
||||||
|
NextButtonText: следващия
|
||||||
|
LogoutDone:
|
||||||
|
Title: Излязъл
|
||||||
|
Description: Вие излязохте успешно.
|
||||||
|
LoginButtonText: Влизам
|
||||||
|
LinkingUsersDone:
|
||||||
|
Title: Свързване с потребители
|
||||||
|
Description: Свързването с потребители е готово.
|
||||||
|
CancelButtonText: анулиране
|
||||||
|
NextButtonText: следващия
|
||||||
|
ExternalNotFound:
|
||||||
|
Title: Външен потребител не е намерен
|
||||||
|
Description: 'Външен потребител не е намерен. '
|
||||||
|
LinkButtonText: Връзка
|
||||||
|
AutoRegisterButtonText: регистрирам
|
||||||
|
TosAndPrivacyLabel: Правила и условия
|
||||||
|
TosConfirm: Приемам
|
||||||
|
TosLinkText: TOS
|
||||||
|
PrivacyConfirm: Приемам
|
||||||
|
PrivacyLinkText: политика за поверителност
|
||||||
|
German: Deutsch
|
||||||
|
English: Английски
|
||||||
|
Italian: Италиано
|
||||||
|
French: Français
|
||||||
|
Chinese: 简体中文
|
||||||
|
Polish: Полски
|
||||||
|
Japanese: 日本語
|
||||||
|
Spanish: Español
|
||||||
|
DeviceAuth:
|
||||||
|
Title: Упълномощаване на устройството
|
||||||
|
UserCode:
|
||||||
|
Label: Потребителски код
|
||||||
|
Description: 'Въведете потребителския код, представен на устройството.'
|
||||||
|
ButtonNext: следващия
|
||||||
|
Action:
|
||||||
|
Description: Дайте достъп до устройството.
|
||||||
|
GrantDevice: сте на път да предоставите устройство
|
||||||
|
AccessToScopes: достъп до следните обхвати
|
||||||
|
Button:
|
||||||
|
Allow: позволява
|
||||||
|
Deny: отричам
|
||||||
|
Done:
|
||||||
|
Description: Свършен.
|
||||||
|
Approved: 'Упълномощаването на устройството е одобрено. '
|
||||||
|
Denied: 'Упълномощаването на устройството е отказано. '
|
||||||
|
Footer:
|
||||||
|
PoweredBy: Задвижвани от
|
||||||
|
Tos: TOS
|
||||||
|
PrivacyPolicy: Политика за поверителност
|
||||||
|
Help: Помогне
|
||||||
|
SupportEmail: Поддръжка на имейл
|
||||||
|
Errors:
|
||||||
|
Internal: Възникна вътрешна грешка
|
||||||
|
AuthRequest:
|
||||||
|
NotFound: Не може да се намери authrequest
|
||||||
|
UserAgentNotCorresponding: Потребителският агент не отговаря
|
||||||
|
UserAgentNotFound: ID на потребителски агент не е намерен
|
||||||
|
TokenNotFound: Токенът не е намерен
|
||||||
|
RequestTypeNotSupported: Типът заявка не се поддържа
|
||||||
|
MissingParameters: Липсват задължителни параметри
|
||||||
|
User:
|
||||||
|
NotFound: Потребителят не може да бъде намерен
|
||||||
|
AlreadyExists: Вече съществува потребител
|
||||||
|
Inactive: Потребителят е неактивен
|
||||||
|
NotFoundOnOrg: Потребителят не може да бъде намерен в избраната организация
|
||||||
|
NotAllowedOrg: Потребителят не е член на необходимата организация
|
||||||
|
NotMatchingUserID: Потребителят и потребителят в заявката за удостоверяване не съвпадат
|
||||||
|
UserIDMissing: UserID е празен
|
||||||
|
Invalid: Невалидни потребителски данни
|
||||||
|
DomainNotAllowedAsUsername: Домейнът вече е резервиран и не може да се използва
|
||||||
|
NotAllowedToLink: Потребителят няма право да се свързва с външен доставчик на данни за вход
|
||||||
|
Profile:
|
||||||
|
NotFound: Профилът не е намерен
|
||||||
|
NotChanged: Профилът не е променен
|
||||||
|
Empty: Профилът е празен
|
||||||
|
FirstNameEmpty: Първото име в профила е празно
|
||||||
|
LastNameEmpty: Фамилията в профила е празна
|
||||||
|
IDMissing: Липсва ID на потребителския профил
|
||||||
|
Email:
|
||||||
|
NotFound: Имейлът не е намерен
|
||||||
|
Invalid: Имейлът е невалиден
|
||||||
|
AlreadyVerified: Имейлът вече е потвърден
|
||||||
|
NotChanged: Имейлът не е променен
|
||||||
|
Empty: Имейлът е празен
|
||||||
|
IDMissing: Имейл ID липсва
|
||||||
|
Phone:
|
||||||
|
NotFound: Телефонът не е намерен
|
||||||
|
Invalid: Телефонът е невалиден
|
||||||
|
AlreadyVerified: Телефонът вече е потвърден
|
||||||
|
Empty: Телефонът е празен
|
||||||
|
NotChanged: Телефонът не е сменен
|
||||||
|
Address:
|
||||||
|
NotFound: Адресът не е намерен
|
||||||
|
NotChanged: Адресът не е променен
|
||||||
|
Username:
|
||||||
|
AlreadyExists: Потребителско име вече е заето
|
||||||
|
Reserved: Потребителско име вече е заето
|
||||||
|
Empty: Потребителското име е празно
|
||||||
|
Password:
|
||||||
|
ConfirmationWrong: Потвърждението на паролата е грешно
|
||||||
|
Empty: Паролата е празна
|
||||||
|
Invalid: Паролата е невалидна
|
||||||
|
InvalidAndLocked: >-
|
||||||
|
Паролата е невалидна и потребителят е заключен, свържете се с вашия
|
||||||
|
администратор.
|
||||||
|
UsernameOrPassword:
|
||||||
|
Invalid: Потребителското име или паролата са невалидни
|
||||||
|
PasswordComplexityPolicy:
|
||||||
|
NotFound: Политиката за парола не е намерена
|
||||||
|
MinLength: Паролата е твърде кратка
|
||||||
|
HasLower: Паролата трябва да съдържа малка буква
|
||||||
|
HasUpper: Паролата трябва да съдържа горна буква
|
||||||
|
HasNumber: Паролата трябва да съдържа число
|
||||||
|
HasSymbol: Паролата трябва да съдържа символ
|
||||||
|
Code:
|
||||||
|
Expired: Кодът е изтекъл
|
||||||
|
Invalid: Кодът е невалиден
|
||||||
|
Empty: Кодът е празен
|
||||||
|
CryptoCodeNil: Крипто кодът е нула
|
||||||
|
NotFound: Не може да се намери код
|
||||||
|
GeneratorAlgNotSupported: Неподдържан генераторен алгоритъм
|
||||||
|
EmailVerify:
|
||||||
|
UserIDEmpty: UserID е празен
|
||||||
|
ExternalData:
|
||||||
|
CouldNotRead: Външните данни не могат да бъдат прочетени правилно
|
||||||
|
MFA:
|
||||||
|
NoProviders: Няма налични многофакторни доставчици
|
||||||
|
OTP:
|
||||||
|
AlreadyReady: Многофакторният OTP (OneTimePassword) вече е настроен
|
||||||
|
NotExisting: Многофакторният OTP (OneTimePassword) не съществува
|
||||||
|
InvalidCode: Невалиден код
|
||||||
|
NotReady: Многофакторният OTP (OneTimePassword) не е готов
|
||||||
|
Locked: Потребителят е заключен
|
||||||
|
SomethingWentWrong: Нещо се обърка
|
||||||
|
NotActive: Потребителят не е активен
|
||||||
|
ExternalIDP:
|
||||||
|
IDPTypeNotImplemented: Типът IDP не е внедрен
|
||||||
|
NotAllowed: Външен доставчик на вход не е разрешен
|
||||||
|
IDPConfigIDEmpty: Идентификационният номер на доставчика е празен
|
||||||
|
ExternalUserIDEmpty: ID на външен потребител е празен
|
||||||
|
UserDisplayNameEmpty: Екранното име на потребителя е празно
|
||||||
|
NoExternalUserData: Не са получени външни потребителски данни
|
||||||
|
CreationNotAllowed: Създаването на нов потребител не е разрешено на този доставчик
|
||||||
|
LinkingNotAllowed: Свързването на потребител не е разрешено на този доставчик
|
||||||
|
GrantRequired: 'Влизането не е възможно. '
|
||||||
|
ProjectRequired: 'Влизането не е възможно. '
|
||||||
|
IdentityProvider:
|
||||||
|
InvalidConfig: Конфигурацията на доставчика на самоличност е невалидна
|
||||||
|
IAM:
|
||||||
|
LockoutPolicy:
|
||||||
|
NotExisting: Политиката за блокиране не съществува
|
||||||
|
Org:
|
||||||
|
LoginPolicy:
|
||||||
|
RegistrationNotAllowed: Регистрацията не е разрешена
|
||||||
|
DeviceAuth:
|
||||||
|
NotExisting: Потребителският код не съществува
|
||||||
|
optional: (по избор)
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: Geschlecht
|
GenderLabel: Geschlecht
|
||||||
Female: weiblich
|
Female: weiblich
|
||||||
Male: männlich
|
Male: männlich
|
||||||
|
@ -316,7 +316,7 @@ ExternalNotFound:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
DeviceAuth:
|
DeviceAuth:
|
||||||
Title: Device Authorization
|
Title: Device Authorization
|
||||||
UserCode:
|
UserCode:
|
||||||
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: Género
|
GenderLabel: Género
|
||||||
Female: Mujer
|
Female: Mujer
|
||||||
Male: Hombre
|
Male: Hombre
|
||||||
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: Genre
|
GenderLabel: Genre
|
||||||
Female: Femme
|
Female: Femme
|
||||||
Male: Homme
|
Male: Homme
|
||||||
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: Genere
|
GenderLabel: Genere
|
||||||
Female: Femminile
|
Female: Femminile
|
||||||
Male: Maschile
|
Male: Maschile
|
||||||
|
@ -214,6 +214,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: 性別
|
GenderLabel: 性別
|
||||||
Female: 女性
|
Female: 女性
|
||||||
Male: 男性
|
Male: 男性
|
||||||
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: Płeć
|
GenderLabel: Płeć
|
||||||
Female: Kobieta
|
Female: Kobieta
|
||||||
Male: Mężczyzna
|
Male: Mężczyzna
|
||||||
|
@ -222,6 +222,7 @@ RegistrationUser:
|
|||||||
Polish: Polski
|
Polish: Polski
|
||||||
Japanese: 日本語
|
Japanese: 日本語
|
||||||
Spanish: Español
|
Spanish: Español
|
||||||
|
Bulgarian: Български
|
||||||
GenderLabel: 性别
|
GenderLabel: 性别
|
||||||
Female: 女性
|
Female: 女性
|
||||||
Male: 男性
|
Male: 男性
|
||||||
|
@ -76,6 +76,8 @@
|
|||||||
</option>
|
</option>
|
||||||
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalNotFound.Chinese"}}
|
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalNotFound.Chinese"}}
|
||||||
</option>
|
</option>
|
||||||
|
<option value="bg" id="bg" {{if (selectedLanguage "bg")}} selected {{end}}>{{t "ExternalNotFound.Bulgarian"}}
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
59
internal/notification/static/i18n/bg.yaml
Normal file
59
internal/notification/static/i18n/bg.yaml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
InitCode:
|
||||||
|
Title: ZITADEL - Инициализиране на потребител
|
||||||
|
PreHeader: Инициализиране на потребителя
|
||||||
|
Subject: Инициализиране на потребителя
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: >-
|
||||||
|
Този потребител е създаден в ZITADEL. {{.PreferredLoginName}} за да
|
||||||
|
влезете. {{.Code}}) Ако не сте поискали този имейл, моля, игнорирайте го.
|
||||||
|
ButtonText: Завършете инициализацията
|
||||||
|
PasswordReset:
|
||||||
|
Title: ZITADEL - Нулиране на парола
|
||||||
|
PreHeader: Нулирайте паролата
|
||||||
|
Subject: Нулирайте паролата
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: >-
|
||||||
|
Получихме заявка за повторно задаване на парола. {{.Code}}) Ако не сте
|
||||||
|
поискали този имейл, моля, игнорирайте го.
|
||||||
|
ButtonText: Нулирайте паролата
|
||||||
|
VerifyEmail:
|
||||||
|
Title: ZITADEL - Потвърдете имейл
|
||||||
|
PreHeader: Потвърди Имейл
|
||||||
|
Subject: Потвърди Имейл
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: >-
|
||||||
|
Добавен е нов имейл. {{.Code}}) Ако не сте добавили нов имейл, моля,
|
||||||
|
игнорирайте този имейл.
|
||||||
|
ButtonText: Потвърди Имейл
|
||||||
|
VerifyPhone:
|
||||||
|
Title: ZITADEL - Потвърдете телефона
|
||||||
|
PreHeader: Потвърдете телефона
|
||||||
|
Subject: Потвърдете телефона
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: 'Добавен е нов телефонен номер. {{.Code}}'
|
||||||
|
ButtonText: Потвърдете телефона
|
||||||
|
DomainClaimed:
|
||||||
|
Title: ZITADEL - Домейнът е заявен
|
||||||
|
PreHeader: Промяна на имейл/потребителско име
|
||||||
|
Subject: Домейнът е заявен
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: >-
|
||||||
|
Домейнът {{.Domain}} е заявено от организация. {{.Username}} не е част от
|
||||||
|
тази организация. {{.TempUsername}}) за това влизане.
|
||||||
|
ButtonText: Влизам
|
||||||
|
PasswordlessRegistration:
|
||||||
|
Title: ZITADEL - Добавете вход без парола
|
||||||
|
PreHeader: Добавете вход без парола
|
||||||
|
Subject: Добавете вход без парола
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: 'Получихме заявка за добавяне на токен за влизане без парола. '
|
||||||
|
ButtonText: Добавете вход без парола
|
||||||
|
PasswordChange:
|
||||||
|
Title: ZITADEL - Паролата на потребителя е променена
|
||||||
|
PreHeader: Промяна на паролата
|
||||||
|
Subject: Паролата на потребителя е променена
|
||||||
|
Greeting: 'Здравейте {{.DisplayName}},'
|
||||||
|
Text: >-
|
||||||
|
Паролата на вашия потребител е променена, ако тази промяна не е направена от
|
||||||
|
вас, моля, незабавно нулирайте паролата си.
|
||||||
|
ButtonText: Влизам
|
1238
internal/static/i18n/bg.yaml
Normal file
1238
internal/static/i18n/bg.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user