feat: internationalization Polish (#5117)

* Add Polish translations

* Add references to Polish translations in files

* Make a consistent translation of languages in Chinese translation

* Add missing language references to fr, it and zh

* Translation corrections

* Add missing language references to zh

* Translation corrections

* add latest translation keys

* Translation corrections and addition of some new ones

* translate auth requests exhausted

* add new untranslated keys

* Translation corrections, fix indentation

---------

Co-authored-by: Elio Bischof <eliobischof@gmail.com>
This commit is contained in:
uiopak 2023-02-13 12:03:34 +01:00 committed by GitHub
parent 0e812cf0f4
commit 84fa20f1ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 3691 additions and 37 deletions

View File

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

View File

@ -4,6 +4,7 @@ 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 localePl from '@angular/common/locales/pl';
import localeEn from '@angular/common/locales/en';
import { APP_INITIALIZER, NgModule } from '@angular/core';
import { MatNativeDateModule } from '@angular/material/core';
@ -66,6 +67,8 @@ registerLocaleData(localeFr);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/fr.json'));
registerLocaleData(localeIt);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/it.json'));
registerLocaleData(localePl);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/pl.json'));
registerLocaleData(localeEn);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/en.json'));

View File

@ -109,7 +109,7 @@ export class LoginTextsComponent implements OnInit, OnDestroy {
@Input() public serviceType: PolicyComponentServiceType = PolicyComponentServiceType.MGMT;
public KeyNamesArray: string[] = KeyNamesArray;
public LOCALES: string[] = ['en', 'de', 'it'];
public LOCALES: string[] = ['en', 'de', 'it', 'fr', 'pl', 'zh'];
private sub: Subscription = new Subscription();

View File

@ -441,7 +441,7 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
};
public locale: string = 'en';
public LOCALES: string[] = ['en', 'de', 'it'];
public LOCALES: string[] = ['en', 'de', 'it', 'fr', 'pl', 'zh'];
private sub: Subscription = new Subscription();
public canWrite$: Observable<boolean> = this.authService.isAllowed([
this.serviceType === PolicyComponentServiceType.ADMIN

View File

@ -59,7 +59,7 @@ export class OrgCreateComponent {
public pwdForm?: UntypedFormGroup;
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
public languages: string[] = ['de', 'en', 'it', 'fr'];
public languages: string[] = ['de', 'en', 'it', 'fr', 'pl', 'zh'];
public policy?: PasswordComplexityPolicy.AsObject;
public usePassword: boolean = false;

View File

@ -44,7 +44,7 @@ function passwordConfirmValidator(c: AbstractControl): any {
export class UserCreateComponent implements OnInit, OnDestroy {
public user: AddHumanUserRequest.AsObject = new AddHumanUserRequest().toObject();
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
public languages: string[] = ['de', 'en', 'it', 'fr'];
public languages: string[] = ['de', 'en', 'it', 'fr', 'pl', 'zh'];
public selected: CountryPhoneCode | undefined;
public countryPhoneCodes: CountryPhoneCode[] = [];
public userForm!: UntypedFormGroup;

View File

@ -31,7 +31,7 @@ import { formatPhone } from 'src/app/utils/formatPhone';
export class AuthUserDetailComponent implements OnDestroy {
public user?: User.AsObject;
public genders: Gender[] = [Gender.GENDER_MALE, Gender.GENDER_FEMALE, Gender.GENDER_DIVERSE];
public languages: string[] = ['de', 'en', 'fr', 'it', 'zh'];
public languages: string[] = ['de', 'en', 'fr', 'it', 'pl', 'zh'];
private subscription: Subscription = new Subscription();

View File

@ -42,7 +42,7 @@ export class UserDetailComponent implements OnInit {
public user!: User.AsObject;
public metadata: Metadata.AsObject[] = [];
public genders: Gender[] = [Gender.GENDER_MALE, Gender.GENDER_FEMALE, Gender.GENDER_DIVERSE];
public languages: string[] = ['de', 'en', 'it', 'fr'];
public languages: string[] = ['de', 'en', 'it', 'fr', 'pl', 'zh'];
public ChangeType: any = ChangeType;

View File

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

View File

@ -973,7 +973,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "Chinese"
"zh": "简体中文",
"pl": "Polski"
},
"SMTP": {
"TITLE": "SMTP Einstellungen",
@ -1164,7 +1165,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "Chinese"
"zh": "简体中文",
"pl": "Polski"
},
"KEYS": {
"emailVerificationDoneText": "Email Verification erfolgreich",
@ -1938,7 +1940,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "Chinese"
"zh": "简体中文",
"pl": "Polski"
},
"MEMBER": {
"ADD": "Manager hinzufügen",

View File

@ -973,7 +973,8 @@
"it": "Italiano",
"en": "English",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"SMTP": {
"TITLE": "SMTP Settings",
@ -1164,7 +1165,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"KEYS": {
"emailVerificationDoneText": "Email verification done",
@ -1938,7 +1940,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"MEMBER": {
"ADD": "Add a Manager",

View File

@ -973,7 +973,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"SMTP": {
"TITLE": "Paramètres SMTP",
@ -1164,7 +1165,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"KEYS": {
"emailVerificationDoneText": "Vérification de l'email effectuée",
@ -1926,7 +1928,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"MEMBER": {
"ADD": "Ajouter un manager",

View File

@ -974,7 +974,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"SMTP": {
"TITLE": "Impostazioni SMTP",
@ -1165,7 +1166,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"KEYS": {
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
@ -1939,7 +1941,8 @@
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"MEMBER": {
"ADD": "Aggiungi un manager",

File diff suppressed because it is too large Load Diff

View File

@ -973,7 +973,8 @@
"it": "Italiano",
"en": "English",
"fr": "Français",
"zh": "简体中文"
"zh": "简体中文",
"pl": "Polski"
},
"SMTP": {
"TITLE": "SMTP 设置",
@ -1159,11 +1160,12 @@
"UNSAVED_DESCRIPTION": "您在未保存的情况下进行了更改。您现在要保存吗?",
"LOCALE": "本地化",
"LOCALES": {
"de": "德语",
"en": "英语",
"it": "意大利语",
"fr": "法语",
"zh": "简体中文"
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
},
"KEYS": {
"emailVerificationDoneText": "电子邮件验证完成",
@ -1921,11 +1923,12 @@
"3": "其他"
},
"LANGUAGES": {
"de": "德语",
"en": "英语",
"it": "意大利语",
"fr": "法语",
"zh": "简体中文"
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
},
"MEMBER": {
"ADD": "添加管理者",

View File

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

View File

@ -211,6 +211,7 @@ RegistrationUser:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: Geschlecht
Female: weiblich
Male: männlich
@ -241,6 +242,7 @@ ExternalRegistrationUserOverview:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: Allgemeine Geschäftsbedingungen und Datenschutz
TosConfirm: Ich akzeptiere die
TosLinkText: AGBs
@ -299,6 +301,7 @@ ExternalNotFound:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Powered By

View File

@ -211,6 +211,7 @@ RegistrationUser:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: Gender
Female: Female
Male: Male
@ -241,6 +242,7 @@ ExternalRegistrationUserOverview:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: Terms and conditions
TosConfirm: I accept the
TosLinkText: TOS
@ -299,6 +301,7 @@ ExternalNotFound:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Powered By

View File

@ -211,6 +211,7 @@ RegistrationUser:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: Genre
Female: Femme
Male: Homme
@ -241,6 +242,7 @@ ExternalRegistrationUserOverview:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: Termes et conditions
TosConfirm: J'accepte les
TosLinkText: TOS
@ -299,6 +301,7 @@ ExternalNotFound:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Promulgué par

View File

@ -211,6 +211,7 @@ RegistrationUser:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: Genere
Female: Femminile
Male: Maschile
@ -241,6 +242,7 @@ ExternalRegistrationUserOverview:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: Termini di servizio
TosConfirm: Accetto i
TosLinkText: Termini di servizio
@ -299,6 +301,7 @@ ExternalNotFound:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Alimentato da

View File

@ -0,0 +1,381 @@
Login:
Title: Witaj z powrotem!
Description: Wprowadź swoje dane logowania.
TitleLinking: Logowanie do połączenia z użytkownikiem
DescriptionLinking: Wprowadź swoje dane logowania, aby połączyć swojego zewnętrznego użytkownika z użytkownikiem ZITADEL.
LoginNameLabel: Nazwa użytkownika
UsernamePlaceHolder: nazwa użytkownika
LoginnamePlaceHolder: nazwa użytkownika@domena
ExternalUserDescription: Zaloguj się za pomocą zewnętrznego użytkownika.
MustBeMemberOfOrg: Użytkownik musi być członkiem organizacji {{.OrgName}}.
RegisterButtonText: zarejestruj
NextButtonText: dalej
SelectAccount:
Title: Wybierz konto
Description: Użyj swojego konta ZITADEL
TitleLinking: Wybierz konto do połączenia z użytkownikiem
DescriptionLinking: Wybierz swoje konto, aby połączyć je z twoim zewnętrznym użytkownikiem.
OtherUser: Inny użytkownik
SessionState0: aktywne
SessionState1: nieaktywne
MustBeMemberOfOrg: Użytkownik musi być członkiem organizacji {{.OrgName}}.
Password:
Title: Hasło
Description: Wprowadź swoje dane logowania.
PasswordLabel: Hasło
MinLength: Minimalna długość
HasUppercase: Duża litera
HasLowercase: Mała litera
HasNumber: Liczba
HasSymbol: Symbol
Confirmation: Potwierdzenie zgodności
ResetLinkText: zresetuj hasło
BackButtonText: wróć
NextButtonText: dalej
UsernameChange:
Title: Zmiana nazwy użytkownika
Description: Ustaw swoją nową nazwę użytkownika
UsernameLabel: Nazwa użytkownika
CancelButtonText: anuluj
NextButtonText: dalej
UsernameChangeDone:
Title: Nazwa użytkownika zmieniona
Description: Twoja nazwa użytkownika została pomyślnie zmieniona.
NextButtonText: dalej
InitPassword:
Title: Ustaw hasło
Description: Otrzymałeś kod, który musisz wprowadzić w formularzu poniżej, aby ustawić swoje nowe hasło.
CodeLabel: Kod
NewPasswordLabel: Nowe hasło
NewPasswordConfirmLabel: Potwierdź hasło
ResendButtonText: wyślij kod ponownie
NextButtonText: dalej
InitPasswordDone:
Title: Hasło ustawione
Description: Hasło zostało pomyślnie ustawione
NextButtonText: dalej
CancelButtonText: anuluj
InitUser:
Title: Aktywuj użytkownika
Description: Zweryfikuj swój adres e-mail z poniższym kodem i ustaw swoje hasło.
CodeLabel: Kod
NewPasswordLabel: Nowe hasło
NewPasswordConfirm: Potwierdź hasło
NextButtonText: dalej
ResendButtonText: wyślij kod ponownie
InitUserDone:
Title: Użytkownik aktywowany
Description: Adres e-mail zweryfikowany i hasło pomyślnie ustawione
NextButtonText: dalej
CancelButtonText: anuluj
InitMFAPrompt:
Title: Konfiguracja 2-etapowego uwierzytelniania
Description: 2-etapowe uwierzytelnianie daje Ci dodatkową ochronę dla Twojego konta użytkownika. Dzięki temu masz pewność, że tylko Ty masz dostęp do swojego konta.
Provider0: Aplikacja uwierzytelniająca (np. Google/Microsoft Authenticator, Authy)
Provider1: Zależny od urządzenia (np. FaceID, Windows Hello, Odcisk palca)
NextButtonText: dalej
SkipButtonText: pomiń
InitMFAOTP:
Title: Weryfikacja 2-etapowa
Description: Utwórz swoje 2-etapowe uwierzytelnianie. Pobierz aplikację uwierzytelniającą, jeśli nie masz jej już zainstalowanej.
OTPDescription: Zeskanuj kod za pomocą aplikacji uwierzytelniającej (np. Google/Microsoft Authenticator, Authy) lub skopiuj sekret i wprowadź wygenerowany kod poniżej.
SecretLabel: Sekret
CodeLabel: Kod
NextButtonText: dalej
CancelButtonText: anuluj
InitMFAU2F:
Title: Dodaj klucz zabezpieczeń
Description: Klucz zabezpieczeń to metoda weryfikacji, która może być zintegrowana z twoim telefonem, używająca Bluetooth lub podłączana bezpośrednio do portu USB komputera.
TokenNameLabel: Nazwa klucza zabezpieczeń/urządzenia
NotSupported: WebAuthN nie jest obsługiwany przez twoją przeglądarkę. Upewnij się, że jest ona zaktualizowana lub użyj innej (np. Chrome, Safari, Firefox)
RegisterTokenButtonText: Dodaj klucz zabezpieczeń
ErrorRetry: Spróbuj ponownie, utwórz nowe wyzwanie lub wybierz inną metodę.
InitMFADone:
Title: Klucz zabezpieczeń zweryfikowany
Description: Świetnie! Pomyślnie skonfigurowałeś swoje 2-etapowe uwierzytelnianie i zwiększyłeś bezpieczeństwo swojego konta. Czynnik musi być wprowadzony przy każdym logowaniu.
NextButtonText: dalej
CancelButtonText: anuluj
MFAProvider:
Provider0: Aplikacja uwierzytelniająca (np. Google/Microsoft Authenticator, Authy)
Provider1: Zależny od urządzenia (np. FaceID, Windows Hello, Odcisk palca)
ChooseOther: lub wybierz inną opcję
VerifyMFAOTP:
Title: Zweryfikuj 2-etapowe uwierzytelnianie
Description: Zweryfikuj swój drugi czynnik
CodeLabel: Kod
NextButtonText: dalej
VerifyMFAU2F:
Title: Weryfikacja 2-etapowego uwierzytelniania
Description: Zweryfikuj swoje 2-etapowe uwierzytelnianie za pomocą zarejestrowanego urządzenia (np. FaceID, Windows Hello, odcisk palca)
NotSupported: WebAuthN nie jest obsługiwany przez twoją przeglądarkę. Upewnij się, że korzystasz z najnowszej wersji lub zmień przeglądarkę na obsługującą tę funkcję (Chrome, Safari, Firefox)
ErrorRetry: Spróbuj ponownie, utwórz nowe żądanie lub wybierz inną metodę.
ValidateTokenButtonText: Zweryfikuj 2-etapowe uwierzytelnianie
Passwordless:
Title: Logowanie bez hasła
Description: Zaloguj się za pomocą metod uwierzytelniania dostarczonych przez twoje urządzenie, takich jak FaceID, Windows Hello lub odcisk palca.
NotSupported: WebAuthN nie jest obsługiwany przez twoją przeglądarkę. Upewnij się, że jest ona zaktualizowana lub użyj innej (np. Chrome, Safari, Firefox)
ErrorRetry: Spróbuj ponownie, utwórz nowe wyzwanie lub wybierz inną metodę.
LoginWithPwButtonText: Zaloguj się za pomocą hasła
ValidateTokenButtonText: Zaloguj się bez hasła
PasswordlessPrompt:
Title: Konfiguracja logowania bez hasła
Description: Czy chcesz skonfigurować logowanie bez hasła? (Metody uwierzytelniania twojego urządzenia, takie jak FaceID, Windows Hello lub odcisk palca)
DescriptionInit: Musisz skonfigurować logowanie bez hasła. Użyj linku, który otrzymałeś, aby zarejestrować swoje urządzenie.
PasswordlessButtonText: Przejdź do logowania bez hasła
NextButtonText: dalej
SkipButtonText: pomiń
PasswordlessRegistration:
Title: Konfiguracja logowania bez hasła
Description: Dodaj swoją metodę uwierzytelniania, podając nazwę (np. Mój telefon komórkowy, MacBook itp.) i klikając przycisk "Zarejestruj logowanie bez hasła" poniżej.
TokenNameLabel: Nazwa urządzenia
NotSupported: WebAuthN nie jest obsługiwany przez twoją przeglądarkę. Upewnij się, że jest ona zaktualizowana lub użyj innej (np. Chrome, Safari, Firefox)
RegisterTokenButtonText: Zarejestruj logowanie bez hasła
ErrorRetry: Spróbuj ponownie, utwórz nowe wyzwanie lub wybierz inną metodę.
PasswordlessRegistrationDone:
Title: Konfiguracja logowania bez hasła
Description: Urządzenie do logowania bez hasła zostało pomyślnie dodane.
DescriptionClose: Teraz możesz zamknąć to okno.
NextButtonText: dalej
CancelButtonText: anuluj
PasswordChange:
Title: Zmiana hasła
Description: Zmień swoje hasło. Wprowadź swoje stare i nowe hasło.
OldPasswordLabel: Stare hasło
NewPasswordLabel: Nowe hasło
NewPasswordConfirmLabel: Potwierdzenie hasła
CancelButtonText: anuluj
NextButtonText: dalej
PasswordChangeDone:
Title: Zmiana hasła
Description: Twoje hasło zostało pomyślnie zmienione.
NextButtonText: dalej
PasswordResetDone:
Title: Link do resetowania hasła wysłany
Description: Sprawdź swoją pocztę, aby zresetować swoje hasło.
NextButtonText: dalej
EmailVerification:
Title: Weryfikacja e-mail
Description: Wysłaliśmy Ci e-mail, aby zweryfikować swój adres. Proszę wprowadzić kod w formularzu poniżej.
CodeLabel: Kod
NextButtonText: dalej
ResendButtonText: wyślij ponownie kod
EmailVerificationDone:
Title: Weryfikacja e-mail
Description: Twój adres e-mail został pomyślnie zweryfikowany.
NextButtonText: dalej
CancelButtonText: anuluj
LoginButtonText: zaloguj się
RegisterOption:
Title: Opcje rejestracji
Description: Wybierz sposób, w jaki chcesz się zarejestrować
RegisterUsernamePasswordButtonText: Z nazwą użytkownika i hasłem
ExternalLoginDescription: lub zarejestruj się przy użyciu zewnętrznego użytkownika
LoginButtonText: zaloguj się
RegistrationUser:
Title: Rejestracja
Description: Wprowadź swoje dane użytkownika. Twój adres e-mail będzie używany jako nazwa użytkownika.
DescriptionOrgRegister: Wprowadź swoje dane użytkownika.
EmailLabel: E-Mail
UsernameLabel: Nazwa użytkownika
FirstnameLabel: Imię
LastnameLabel: Nazwisko
LanguageLabel: Język
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: Płeć
Female: Kobieta
Male: Mężczyzna
Diverse: Różne / X
PasswordLabel: Hasło
PasswordConfirmLabel: Potwierdzenie hasła
TosAndPrivacyLabel: Warunki i polityka prywatności
TosConfirm: Akceptuję
TosLinkText: Warunki korzystania
PrivacyConfirm: Akceptuję
PrivacyLinkText: politykę prywatności
ExternalLogin: lub zarejestruj się za pomocą zewnętrznego użytkownika
BackButtonText: zaloguj się
NextButtonText: dalej
ExternalRegistrationUserOverview:
Title: Rejestracja zewnętrznego użytkownika
Description: Pobraliśmy Twoje dane użytkownika z wybranego dostawcy. Teraz możesz je zmienić lub uzupełnić.
EmailLabel: E-Mail
UsernameLabel: Nazwa użytkownika
FirstnameLabel: Imię
LastnameLabel: Nazwisko
NicknameLabel: Pseudonim
PhoneLabel: Numer telefonu
LanguageLabel: Język
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: Warunki i zasady
TosConfirm: Akceptuję
TosLinkText: Warunki korzystania
PrivacyConfirm: Akceptuję
PrivacyLinkText: politykę prywatności
ExternalLogin: lub zarejestruj się przez zewnętrznego dostawcę
BackButtonText: wróć
NextButtonText: zapisz
RegistrationOrg:
Title: Rejestracja organizacji
Description: Wprowadź nazwę swojej organizacji i dane użytkownika.
OrgNameLabel: Nazwa organizacji
EmailLabel: E-Mail
UsernameLabel: Nazwa użytkownika
FirstnameLabel: Imię
LastnameLabel: Nazwisko
PasswordLabel: Hasło
PasswordConfirmLabel: Potwierdzenie hasła
TosAndPrivacyLabel: Warunki i polityka prywatności
TosConfirm: Akceptuję
TosLinkText: Warunki korzystania z usługi
PrivacyConfirm: Akceptuję
PrivacyLinkText: Politykę prywatności
SaveButtonText: Utwórz organizację
LoginSuccess:
Title: Zalogowano pomyślnie
AutoRedirectDescription: Zostaniesz automatycznie przekierowany do swojej aplikacji. Jeśli nie, kliknij przycisk poniżej. Możesz teraz zamknąć to okno.
RedirectedDescription: Możesz teraz zamknąć to okno.
NextButtonText: Dalej
LogoutDone:
Title: Wylogowano
Description: Wylogowano pomyślnie.
LoginButtonText: Zaloguj się
LinkingUsersDone:
Title: Łączenie użytkowników
Description: Łączenie użytkowników zakończone pomyślnie.
CancelButtonText: Anuluj
NextButtonText: Dalej
ExternalNotFound:
Title: Nie znaleziono zewnętrznego użytkownika
Description: Nie znaleziono zewnętrznego użytkownika. Czy chcesz połączyć swojego użytkownika lub automatycznie zarejestrować nowego.
LinkButtonText: Połącz
AutoRegisterButtonText: Zarejestruj
TosAndPrivacyLabel: Warunki i zasady
TosConfirm: Akceptuję
TosLinkText: TOS
PrivacyConfirm: Akceptuję
PrivacyLinkText: politykę prywatności
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Obsługiwane przez
Tos: TOS
PrivacyPolicy: Polityka prywatności
Help: Pomoc
Errors:
Internal: Wewnętrzny błąd
AuthRequest:
NotFound: Nie znaleziono żądania uwierzytelnienia
UserAgentNotCorresponding: Agent użytkownika nie odpowiada
UserAgentNotFound: ID agenta użytkownika nie znaleziono
TokenNotFound: Token nie znaleziono
RequestTypeNotSupported: Typ żądania nie jest obsługiwany
MissingParameters: Brakujące wymagane parametry
User:
NotFound: Nie znaleziono użytkownika
Inactive: Użytkownik jest nieaktywny
NotFoundOnOrg: Nie znaleziono użytkownika w wybranej organizacji
NotAllowedOrg: Użytkownik nie jest członkiem wymaganej organizacji
NotMatchingUserID: Użytkownik i użytkownik w żądaniu uwierzytelnienia nie pasują do siebie
UserIDMissing: ID użytkownika jest puste
Invalid: Nieprawidłowe dane użytkownika
DomainNotAllowedAsUsername: Domena jest już zarezerwowana i nie może być użyta
NotAllowedToLink: Użytkownik nie jest upoważniony do łączenia z zewnętrznym dostawcą logowania
Password:
ConfirmationWrong: Potwierdzenie hasła jest niepoprawne
Empty: Hasło jest puste
Invalid: Hasło jest niepoprawne
InvalidAndLocked: Hasło jest niepoprawne i użytkownik jest zablokowany, skontaktuj się z administratorem.
UsernameOrPassword:
Invalid: Nazwa użytkownika lub hasło jest niepoprawne
PasswordComplexityPolicy:
NotFound: Nie znaleziono polityki złożoności hasła
MinLength: Hasło jest zbyt krótkie
HasLower: Hasło musi zawierać małe litery
HasUpper: Hasło musi zawierać duże litery
HasNumber: Hasło musi zawierać liczby
HasSymbol: Hasło musi zawierać symbol
Code:
Expired: Kod jest przedawniony
Invalid: Kod jest niepoprawny
Empty: Kod jest pusty
CryptoCodeNil: Kod kryptograficzny jest pusty
NotFound: Nie można znaleźć kodu
GeneratorAlgNotSupported: Nieobsługiwany algorytm generatora.
EmailVerify:
UserIDEmpty: ID użytkownika jest puste
ExternalData:
CouldNotRead: Nie można odczytać danych zewnętrznych
MFA:
NoProviders: Brak dostępnych dostawców uwierzytelniania wieloskładnikowego
OTP:
AlreadyReady: Wieloskładnikowe OTP (jednorazowe hasło) jest już skonfigurowane
NotExisting: Wieloskładnikowe OTP (jednorazowe hasło) nie istnieje
InvalidCode: Nieprawidłowy kod
NotReady: Wieloskładnikowe OTP (jednorazowe hasło) nie jest gotowe
Locked: Użytkownik jest zablokowany
SomethingWentWrong: Coś poszło nie tak
NotActive: Użytkownik nie jest aktywny
ExternalIDP:
IDPTypeNotImplemented: Typ IDP nie jest zaimplementowany
NotAllowed: Dostawca logowania zewnętrznego nie jest dozwolony
IDPConfigIDEmpty: Identyfikator dostawcy identyfikacji jest pusty
ExternalUserIDEmpty: Identyfikator użytkownika zewnętrznego jest pusty
UserDisplayNameEmpty: Nazwa wyświetlana użytkownika jest pusta
NoExternalUserData: Nie otrzymano danych użytkownika zewnętrznego
GrantRequired: Logowanie nie jest możliwe. Użytkownik musi posiadać przynajmniej jedno uprawnienie w aplikacji. Skontaktuj się z administratorem.
ProjectRequired: Logowanie nie jest możliwe. Organizacja użytkownika musi zostać udzielona projektowi. Skontaktuj się z administratorem.
IdentityProvider:
InvalidConfig: Konfiguracja dostawcy identyfikacji jest nieprawidłowa
IAM:
LockoutPolicy:
NotExisting: Nie istnieje polityka blokady
optional: (opcjonalny)

View File

@ -211,6 +211,7 @@ RegistrationUser:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
GenderLabel: 性别
Female: 女性
Male: 男性
@ -236,11 +237,12 @@ ExternalRegistrationUserOverview:
NicknameLabel: 昵称
PhoneLabel: 手机号码
LanguageLabel: 语言
German: 德语
English: 英语
Italian: 意大利语
French: 法语
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
@ -299,6 +301,7 @@ ExternalNotFound:
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Footer:
PoweredBy: Powered By

View File

@ -70,6 +70,8 @@
</option>
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalNotFound.Chinese"}}
</option>
<option value="pl" id="pl" {{if (selectedLanguage "pl")}} selected {{end}}>{{t "ExternalNotFound.Polish"}}
</option>
</select>
</div>
</div>

View File

@ -70,6 +70,8 @@
</option>
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalRegistrationUserOverview.Chinese"}}
</option>
<option value="pl" id="pl" {{if (selectedLanguage "pl")}} selected {{end}}>{{t "ExternalRegistrationUserOverview.Polish"}}
</option>
</select>
</div>
</div>

View File

@ -0,0 +1,49 @@
InitCode:
Title: ZITADEL - Inicjalizacja użytkownika
PreHeader: Inicjalizacja użytkownika
Subject: Inicjalizacja użytkownika
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Ten użytkownik został utworzony w ZITADEL. Aby się zalogować, użyj nazwy użytkownika {{.PreferredLoginName}}. Kliknij poniższy przycisk, aby zakończyć proces inicjalizacji. (Kod {{.Code}}) Jeśli nie wystąpiła prośba o ten e-mail, proszę go zignorować.
ButtonText: Zakończ inicjalizację
PasswordReset:
Title: ZITADEL - Resetowanie hasła
PreHeader: Resetowanie hasła
Subject: Resetowanie hasła
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Otrzymaliśmy prośbę o resetowanie hasła. Kliknij poniższy przycisk, aby zresetować swoje hasło. (Kod {{.Code}}) Jeśli nie wystąpiła prośba o ten e-mail, proszę go zignorować.
ButtonText: Zresetuj hasło
VerifyEmail:
Title: ZITADEL - Weryfikacja adresu e-mail
PreHeader: Weryfikacja adresu e-mail
Subject: Weryfikacja adresu e-mail
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Został dodany nowy adres e-mail. Użyj poniższego przycisku, aby zweryfikować swój adres e-mail. (Kod {{.Code}}) Jeśli nie dodałeś nowego adresu e-mail, proszę zignoruj ten e-mail.
ButtonText: Zweryfikuj adres e-mail
VerifyPhone:
Title: ZITADEL - Weryfikacja numeru telefonu
PreHeader: Weryfikacja numeru telefonu
Subject: Weryfikacja numeru telefonu
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Został dodany nowy numer telefonu. Użyj następującego kodu, aby go zweryfikować {{.Code}}
ButtonText: Zweryfikuj numer telefonu
DomainClaimed:
Title: ZITADEL - Domena została zarejestrowana
PreHeader: Zmiana adresu e-mail / nazwy użytkownika
Subject: Domena została zarejestrowana
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Domena {{.Domain}} została zarejestrowana przez organizację. Twój obecny użytkownik {{.Username}} nie jest członkiem tej organizacji. Dlatego będziesz musiał zmienić swój adres e-mail podczas logowania. Stworzyliśmy tymczasową nazwę użytkownika ({{.TempUsername}}) dla tego logowania.
ButtonText: Zaloguj się
PasswordlessRegistration:
Title: ZITADEL - Dodaj logowanie bez hasła
PreHeader: Dodaj logowanie bez hasła
Subject: Dodaj logowanie bez hasła
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Otrzymaliśmy prośbę o dodanie tokenu do logowania bez hasła. Użyj poniższego przycisku, aby dodać swój token lub urządzenie do logowania bez hasła.
ButtonText: Dodaj logowanie bez hasła
PasswordChange:
Title: ZITADEL - Hasło użytkownika zostało zmienione
PreHeader: Zmiana hasła
Subject: Hasło użytkownika zostało zmienione
Greeting: Witaj {{.FirstName}} {{.LastName}},
Text: Hasło Twojego użytkownika zostało zmienione, jeśli ta zmiana nie została dokonana przez Ciebie, zalecamy natychmiastowe zresetowanie hasła.
ButtonText: Zaloguj się

1159
internal/static/i18n/pl.yaml Normal file

File diff suppressed because it is too large Load Diff