feat: internationalization Japanese (recreated) (#5513)

japanese translation

---------

Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
tharuta 2023-03-22 15:30:46 +09:00 committed by GitHub
parent 9b41758af0
commit a8fe15829e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 3822 additions and 74 deletions

View File

@ -267,15 +267,15 @@ export class AppComponent implements OnDestroy {
}
private setLanguage(): void {
this.translate.addLangs(['en', 'de', 'fr', 'it', 'pl', 'zh']);
this.translate.addLangs(['de', 'en', 'fr', 'it', 'ja', '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|fr|it|pl|zh/) ? cropped : 'en';
const fallbackLang = cropped.match(/de|en|fr|it|ja|pl|zh/) ? cropped : 'en';
const lang = userprofile?.human?.profile?.preferredLanguage.match(/en|de|fr|it|pl|zh/)
const lang = userprofile?.human?.profile?.preferredLanguage.match(/de|en|fr|it|ja|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 localeEn from '@angular/common/locales/en';
import localeFr from '@angular/common/locales/fr';
import localeIt from '@angular/common/locales/it';
import localeJa from '@angular/common/locales/ja';
import localePl from '@angular/common/locales/pl';
import localeZh from '@angular/common/locales/zh';
import { APP_INITIALIZER, NgModule } from '@angular/core';
@ -61,16 +62,18 @@ import { ToastService } from './services/toast.service';
registerLocaleData(localeDe);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/de.json'));
registerLocaleData(localeZh);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/zh.json'));
registerLocaleData(localeEn);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/en.json'));
registerLocaleData(localeFr);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/fr.json'));
registerLocaleData(localeIt);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/it.json'));
registerLocaleData(localeJa);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/ja.json'));
registerLocaleData(localePl);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/pl.json'));
registerLocaleData(localeEn);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/en.json'));
registerLocaleData(localeZh);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/zh.json'));
export class WebpackTranslateLoader implements TranslateLoader {
getTranslation(lang: string): Observable<any> {

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', 'fr', 'pl', 'zh'];
public LOCALES: string[] = ['de', 'en', 'fr', 'it', 'ja', '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', 'fr', 'pl', 'zh'];
public LOCALES: string[] = ['de', 'en', 'fr', 'it', 'ja', 'pl', 'zh'];
private sub: Subscription = new Subscription();
public canWrite$: Observable<boolean> = this.authService.isAllowed([
this.serviceType === PolicyComponentServiceType.ADMIN

View File

@ -45,7 +45,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', 'pl', 'zh'];
public languages: string[] = ['de', 'en', 'fr', 'it', 'ja', 'pl', 'zh'];
public policy?: PasswordComplexityPolicy.AsObject;
public usePassword: boolean = false;

View File

@ -33,7 +33,7 @@ import {
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', 'pl', 'zh'];
public languages: string[] = ['de', 'en', 'fr', 'it', 'ja', 'pl', 'zh'];
public selected: CountryPhoneCode | undefined;
public countryPhoneCodes: CountryPhoneCode[] = [];
public userForm!: UntypedFormGroup;

View File

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

View File

@ -44,7 +44,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', 'pl', 'zh'];
public languages: string[] = ['de', 'en', 'it', 'fr', 'ja', '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', 'pl', 'zh'].includes(this.translateService.currentLang)
const lang = ['de', 'en', 'fr', 'it', 'ja', 'pl', 'zh'].includes(this.translateService.currentLang)
? this.translateService.currentLang
: 'en';
const datePipe: DatePipe = new DatePipe(lang);

View File

@ -1012,10 +1012,11 @@
"LANGUAGE": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "SMTP Einstellungen",
@ -1204,10 +1205,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Email Verification erfolgreich",
@ -2031,10 +2033,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Manager hinzufügen",

View File

@ -1012,11 +1012,12 @@
"DEFAULTLANGUAGE": "Default Language",
"LANGUAGE": {
"de": "Deutsch",
"it": "Italiano",
"en": "English",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "SMTP Settings",
@ -1205,10 +1206,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Email verification done",
@ -2028,10 +2030,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Add a Manager",

View File

@ -1012,10 +1012,11 @@
"LANGUAGE": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "Paramètres SMTP",
@ -1204,10 +1205,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Vérification de l'email effectuée",
@ -2020,10 +2022,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Ajouter un manager",

View File

@ -1013,10 +1013,11 @@
"LANGUAGE": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "Impostazioni SMTP",
@ -1205,10 +1206,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Verifica dell'e-mail terminata con successo.",
@ -2033,10 +2035,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Aggiungi un manager",

File diff suppressed because it is too large Load Diff

View File

@ -1011,11 +1011,12 @@
"DEFAULTLANGUAGE": "Domyślny język",
"LANGUAGE": {
"de": "Deutsch",
"it": "Italiano",
"en": "English",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "Ustawienia SMTP",
@ -1204,10 +1205,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "Weryfikacja adresu e-mail zakończona",
@ -2032,10 +2034,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "Dodaj managera",

View File

@ -1011,11 +1011,12 @@
"DEFAULTLANGUAGE": "默认语言",
"LANGUAGE": {
"de": "Deutsch",
"it": "Italiano",
"en": "English",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"SMTP": {
"TITLE": "SMTP 设置",
@ -1203,10 +1204,11 @@
"LOCALES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"KEYS": {
"emailVerificationDoneText": "电子邮件验证完成",
@ -2019,10 +2021,11 @@
"LANGUAGES": {
"de": "Deutsch",
"en": "English",
"it": "Italiano",
"fr": "Français",
"zh": "简体中文",
"pl": "Polski"
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文"
},
"MEMBER": {
"ADD": "添加管理者",

View File

@ -33,12 +33,13 @@ All your settings will be removed and the default settings of the system will tr
ZITADEL is available in the following languages
- English (en)
- German (de)
- Italian (it)
- English (en)
- French (fr)
- 简体中文zh
- Italian (it)
- 日本語 (ja)
- Polishpl
- 简体中文zh
A language is displayed based on your agent's language header. The default language is English.

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: Geschlecht
Female: weiblich
Male: männlich
@ -243,6 +244,7 @@ ExternalRegistrationUserOverview:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: Allgemeine Geschäftsbedingungen und Datenschutz
TosConfirm: Ich akzeptiere die
TosLinkText: AGBs
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Powered By

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: Gender
Female: Female
Male: Male
@ -242,6 +243,7 @@ ExternalRegistrationUserOverview:
Italian: Italiano
French: Français
Chinese: 简体中文
Japanese: 日本語
Polish: Polski
TosAndPrivacyLabel: Terms and conditions
TosConfirm: I accept the
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Powered By

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: Genre
Female: Femme
Male: Homme
@ -243,6 +244,7 @@ ExternalRegistrationUserOverview:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: Termes et conditions
TosConfirm: J'accepte les
TosLinkText: TOS
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Promulgué par

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: Genere
Female: Femminile
Male: Maschile
@ -243,6 +244,7 @@ ExternalRegistrationUserOverview:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: Termini di servizio
TosConfirm: Accetto i
TosLinkText: Termini di servizio
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Alimentato da

View File

@ -0,0 +1,386 @@
Login:
Title: ようこそ!
Description: ログイン情報を入力してください。
TitleLinking: ユーザーリンク用のログイン
DescriptionLinking: ログインデータを入力して、外部ユーザーをZITADELユーザーにリンクします。
LoginNameLabel: ログイン名
UsernamePlaceHolder: ユーザー名
LoginnamePlaceHolder: ユーザー名@ドメイン
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: 新しいパスワード
NewPasswordConfirm: 新しいパスワードの確認
NextButtonText: 次へ
ResendButtonText: コードを再送信
InitUserDone:
Title: ユーザーのアクティベーション完了
Description: メールアドレスが承認され、パスワードが正常にセットされました。
NextButtonText: 次へ
CancelButtonText: キャンセル
InitMFAPrompt:
Title: 二要素認証のセットアップ
Description: 二要素認証でアカウントのセキュリティを強化します。
Provider0: 認証アプリGoogle/Microsoft Authenticator、Authyなど
Provider1: デバイス依存FaceID、Windows Hello、指紋など
NextButtonText: 次へ
SkipButtonText: スキップ
InitMFAOTP:
Title: 二要素認証
Description: 二要素認証を作成します。認証アプリ等を所有していない場合は、任意の端末にダウンロードしてください。
OTPDescription: 認証アプリGoogle/Microsoft Authenticator、Authyなどでコードをスキャンするか、シークレットをコピーして、生成されたコードを以下に入力してください。
SecretLabel: シークレット
CodeLabel: コード
NextButtonText: 次へ
CancelButtonText: キャンセル
InitMFAU2F:
Title: セキュリティキーの追加
Description: セキュリティキーは、携帯電話への組み込みや、Bluetoothの使用、パソコンのUSBポートに直接差し込むことなどで認証する方法です。
TokenNameLabel: セキュリティキー(デバイス)の名前
NotSupported: WebAuthNはお使いのブラウザでサポートされていません。ブラウザが最新のものであることを確認するか、別のブラウザChrome、Safari、Firefoxなどを使用してください
RegisterTokenButtonText: セキュリティキーを追加
ErrorRetry: もう一度実行するか、新しいチャレンジの作成、または別の方法を選択してください。
InitMFADone:
Title: セキュリティキーが認証されました
Description: 成功です!二要素認証を正常にセットアップし、アカウントを保護しました。ログインの際には表示されるワンタイムパスワードを入力する必要があります。
NextButtonText: 次へ
CancelButtonText: キャンセル
MFAProvider:
Provider0: AuthenticatorアプリGoogle/Microsoft Authenticator、Authyなど
Provider1: デバイス依存FaceID、Windows Hello、指紋など
ChooseOther: または、他のオプションを選択
VerifyMFAOTP:
Title: 二要素認証の検証
Description: 二要素認証を検証します。
CodeLabel: コード
NextButtonText: 次へ
VerifyMFAU2F:
Title: 二要素認証
Description: 登録されたデバイスで二要素認証を実行しますFaceID、Windows Hello、指紋など
NotSupported: WebAuthNはお使いのブラウザでサポートされていません。ブラウザが最新のものであることを確認するか、別のブラウザChrome、Safari、Firefoxなどを使用してください。
ErrorRetry: もう一度実行するか、新しいチャレンジの作成、または別の方法を選択してください。
ValidateTokenButtonText: 認証
Passwordless:
Title: パスワードレスログイン
Description: FaceID、Windows Hello、または指紋などのデバイスが提供する認証方法でログインします。
NotSupported: WebAuthNはお使いのブラウザでサポートされていません。ブラウザが最新のものであることを確認するか、別のブラウザChrome、Safari、Firefoxなどを使用してください。
ErrorRetry: もう一度実行するか、新しいチャレンジの作成、または別の方法を選択してください。
LoginWithPwButtonText: パスワードでログイン
ValidateTokenButtonText: パスワードレスでログイン
PasswordlessPrompt:
Title: パスワードレスのセットアップ
Description: パスワードレスログインをセットアップしますか? FaceID、Windows Hello、または指紋などのデバイスが提供する認証メソッド
DescriptionInit: パスワードレスログインをセットアップする必要があります。発行されたリンクを使用して、デバイスを登録してください。
PasswordlessButtonText: パスワードレスに移動
NextButtonText: 次へ
SkipButtonText: スキップ
PasswordlessRegistration:
Title: パスワードレスのセットアップ
Description: 名前MyMobilePhone、MacBookなどを入力して認証を追加し、下の「パスワードレスを登録する」ボタンをクリックしてください。
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: または、外部ユーザーで登録
LoginButtonText: ログイン
RegistrationUser:
Title: 登録
Description: ユーザー情報を入力してください。メールアドレスはログイン名として使用されます。
DescriptionOrgRegister: ユーザー情報を入力してください。
EmailLabel: Eメール
UsernameLabel: ユーザー名
FirstnameLabel:
LastnameLabel:
LanguageLabel: 言語
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: 性別
Female: 女性
Male: 男性
Diverse: その他
PasswordLabel: パスワード
PasswordConfirmLabel: パスワードの確認
TosAndPrivacyLabel: 利用規約
TosConfirm: 私は利用規約を承諾します。
TosLinkText: TOS
PrivacyConfirm: 私はプライバシーポリシーを承諾します。
PrivacyLinkText: プライバシーポリシー
ExternalLogin: または、外部ユーザーで登録
BackButtonText: ログイン
NextButtonText: 次へ
ExternalRegistrationUserOverview:
Title: 外部ユーザーの登録
Description: 選択したプロバイダーからユーザー情報を取得しました。必要であれば変更し、完了してください。
EmailLabel: Eメール
UsernameLabel: ユーザー名
FirstnameLabel:
LastnameLabel:
NicknameLabel: ニックネーム
PhoneLabel: 電話番号
LanguageLabel: 言語
German: Deutsch
English: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: 利用規約
TosConfirm: 私は利用規約を承諾します。
TosLinkText: TOS
PrivacyConfirm: 私はプライバシーポリシーを承諾します。
PrivacyLinkText: プライバシーポリシー
ExternalLogin: または、外部ユーザーで登録
BackButtonText: 戻る
NextButtonText: 保存
RegistrationOrg:
Title: 組織の登録
Description: 組織名とユーザー情報を入力してください。
OrgNameLabel: 組織名
EmailLabel: Eメール
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: English
Italian: Italiano
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Powered By
Tos: TOS
PrivacyPolicy: プライバシーポリシー
Help: ヘルプ
Errors:
Internal: 内部でエラーが発生しました
AuthRequest:
NotFound: 認証リクエストが見つかりません
UserAgentNotCorresponding: ユーザーエージェントが対応していません
UserAgentNotFound: ユーザーエージェントIDが見つかりません
TokenNotFound: トークンが見つかりません
RequestTypeNotSupported: リクエストタイプがサポートされていません
MissingParameters: 必要なパラメーターが不足しています
User:
NotFound: ユーザーが見つかりません
Inactive: ユーザーは非アクティブです
NotFoundOnOrg: ユーザーは、選択した組織で見つけることができませんでした
NotAllowedOrg: ユーザーは必要な組織のメンバーではありません
NotMatchingUserID: AuthRequestのユーザーとユーザーは一致しません
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: 利用可能なMFAプロバイダーはありません
OTP:
AlreadyReady: 多要素OTPワンタイムパスワードは設定済みです
NotExisting: 多要素OTPワンタイムパスワードが存在しません
InvalidCode: 無効なコード
NotReady: 多要素OTPワンタイムパスワードは利用可能でありません
Locked: ユーザーはロックされています
SomethingWentWrong: エラーが発生しました
NotActive: ユーザーはアクティブではありません
ExternalIDP:
IDPTypeNotImplemented: IDPタイプが実装されていません
NotAllowed: 外部ログインプロバイダーが許可されていません
IDPConfigIDEmpty: IDプロバイダーIDが空です
ExternalUserIDEmpty: 外部ユーザーIDが空です
UserDisplayNameEmpty: 表示ユーザー名が空です
NoExternalUserData: 外部ユーザー情報を取得できません
CreationNotAllowed: このプロバイダーでは、新しいユーザーの作成は許可されていません
LinkingNotAllowed: このプロバイダーでは、ユーザーのリンクが許可されていません
GrantRequired: ログインできません。このユーザーは、アプリケーションに少なくとも1つの権限を付与されていることが必要です。管理者にお問い合わせください。
ProjectRequired: ログインできません。ユーザーの組織がプロジェクトに権限を付与されている必要があります。管理者にお問い合わせください。
IdentityProvider:
InvalidConfig: 無効なIDプロバイダーの構成です
IAM:
LockoutPolicy:
NotExisting: ロックアウトポリシーが存在しません
optional: "(オプション)"

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: Płeć
Female: Kobieta
Male: Mężczyzna
@ -243,6 +244,7 @@ ExternalRegistrationUserOverview:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: Warunki i zasady
TosConfirm: Akceptuję
TosLinkText: Warunki korzystania
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Obsługiwane przez

View File

@ -212,6 +212,7 @@ RegistrationUser:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
GenderLabel: 性别
Female: 女性
Male: 男性
@ -243,6 +244,7 @@ ExternalRegistrationUserOverview:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
TosAndPrivacyLabel: 条款和条款
TosConfirm: 我接受
TosLinkText: 服务条款
@ -302,6 +304,7 @@ ExternalNotFound:
French: Français
Chinese: 简体中文
Polish: Polski
Japanese: 日本語
Footer:
PoweredBy: Powered By

View File

@ -64,14 +64,16 @@
</option>
<option value="en" id="en" {{if (selectedLanguage "en")}} selected {{end}}>{{t "ExternalNotFound.English"}}
</option>
<option value="it" id="it" {{if (selectedLanguage "it")}} selected {{end}}>{{t "ExternalNotFound.Italian"}}
</option>
<option value="fr" id="fr" {{if (selectedLanguage "fr")}} selected {{end}}>{{t "ExternalNotFound.French"}}
</option>
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalNotFound.Chinese"}}
<option value="it" id="it" {{if (selectedLanguage "it")}} selected {{end}}>{{t "ExternalNotFound.Italian"}}
</option>
<option value="ja" id="ja" {{if (selectedLanguage "ja")}} selected {{end}}>{{t "ExternalNotFound.Japanese"}}
</option>
<option value="pl" id="pl" {{if (selectedLanguage "pl")}} selected {{end}}>{{t "ExternalNotFound.Polish"}}
</option>
<option value="zh" id="zh" {{if (selectedLanguage "zh")}} selected {{end}}>{{t "ExternalNotFound.Chinese"}}
</option>
</select>
</div>
</div>

View File

@ -0,0 +1,49 @@
InitCode:
Title: ZITADEL - ユーザーの初期セットアップ
PreHeader: ユーザーの初期セットアップ
Subject: ユーザーの初期セットアップ
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: このユーザーはZITADELで作成されました。ユーザー名 {{.PreferredLoginName}} を使用してログインします。以下のボタンから、初期セットアップを完了してください。(コード {{.Code}})このメールの受信を希望していない場合は、無視してください。
ButtonText: 初期セットアップを完了する
PasswordReset:
Title: ZITADEL - パスワードをリセットします
PreHeader: パスワードの再設定
Subject: パスワードの再設定
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: パスワードリセットのリクエストを受け取りました。以下のボタンから、パスワードをリセットしてください。(コード {{.Code}})このメールの受信を希望していない場合は、無視してください。
ButtonText: パスワードを再設定
VerifyEmail:
Title: ZITADEL - メールアドレスの認証
PreHeader: メールアドレスの認証
Subject: メールアドレスの認証
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: 新しいメールアドレスが追加されました。以下のボタンから、メールアドレスを認証してください。(コード {{.Code}})新しいメールアドレスを追加していない場合は、このメールを無視してください。
ButtonText: メールアドレスを認証
VerifyPhone:
Title: ZITADEL - 電話番号の認証
PreHeader: 電話番号の認証
Subject: 電話番号の認証
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: 新しい電話番号が追加されました。次のコードを使用してを認証してください {{.Code}}
ButtonText: 電話番号を認証
DomainClaimed:
Title: ZITADEL - ドメインの登録
PreHeader: メールアドレス・ユーザー名の変更
Subject: ドメインの登録
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: ドメイン {{.Domain}} が組織によって登録されました。現在のユーザー {{.Username}} はこの組織のメンバーでないため、ログイン時にメールアドレスを変更する必要があります。一時的なユーザー名({{.TempUsername}})を使用してログインし、設定を進めてください。
ButtonText: ログイン
PasswordlessRegistration:
Title: ZITADEL - パスワードレスログインの追加
PreHeader: パスワードレスログインの追加
Subject: パスワードレスログインの追加
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: パスワードレスログイン用のトークンを追加するリクエストを受け取りました。以下のボタンから、パスワードレスログイン用のトークンやデバイスを追加してください。
ButtonText: パスワードレスログインを追加
PasswordChange:
Title: ZITADEL - ユーザーのパスワードが変更されました
PreHeader: パスワードの変更
Subject: ユーザーのパスワードが変更されました
Greeting: こんにちは {{.LastName}} {{.FirstName}} さん、
Text: ユーザーのパスワードが変更されました。この変更があなたによって行われなかった場合は、すぐにパスワードをリセットすることをお勧めします。
ButtonText: ログイン

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

File diff suppressed because it is too large Load Diff