pgkiln 0.63.0 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SECURITY.md +2 -0
- package/db/migrations/132_app_user_mfa.sql +58 -0
- package/db/migrations/133_app_user_passkeys_stepup.sql +54 -0
- package/docs/apex-feature-parity.md +6 -1
- package/docs/guide/08-security.md +81 -5
- package/docs/guide/09-reference.md +5 -1
- package/docs/guide/11-from-apex.md +2 -1
- package/docs/guide/12-development.md +13 -1
- package/docs/guide/13-rest-api.md +4 -0
- package/package.json +1 -1
- package/public/app.css +10 -0
- package/public/app.js +63 -0
- package/public/builder.js +1 -62
- package/src/account-mfa.ts +184 -0
- package/src/api.ts +9 -2
- package/src/builder/advisor.ts +8 -0
- package/src/builder/api.ts +3 -1
- package/src/builder/components.ts +1 -0
- package/src/builder/i18n/de.ts +6 -0
- package/src/builder/i18n/en.ts +6 -0
- package/src/builder/i18n/es.ts +6 -0
- package/src/builder/i18n/fr.ts +6 -0
- package/src/builder/i18n/nl.ts +6 -0
- package/src/builder/i18n/pt.ts +6 -0
- package/src/builder/login-page.ts +32 -3
- package/src/builder/rest-modules.ts +1 -1
- package/src/builder/security.ts +3 -19
- package/src/builder/shared.ts +5 -3
- package/src/builder/users.ts +34 -3
- package/src/i18n/ar.ts +65 -0
- package/src/i18n/cs.ts +65 -0
- package/src/i18n/da.ts +65 -0
- package/src/i18n/de.ts +65 -0
- package/src/i18n/el.ts +65 -0
- package/src/i18n/es.ts +65 -0
- package/src/i18n/fi.ts +65 -0
- package/src/i18n/fr.ts +65 -0
- package/src/i18n/he.ts +65 -0
- package/src/i18n/it.ts +65 -0
- package/src/i18n/ja.ts +65 -0
- package/src/i18n/ko.ts +65 -0
- package/src/i18n/nb.ts +65 -0
- package/src/i18n/pl.ts +65 -0
- package/src/i18n/pt.ts +65 -0
- package/src/i18n/ru.ts +65 -0
- package/src/i18n/sv.ts +65 -0
- package/src/i18n/tr.ts +65 -0
- package/src/i18n/uk.ts +65 -0
- package/src/i18n/zh.ts +65 -0
- package/src/i18n.ts +130 -0
- package/src/metadata.ts +11 -2
- package/src/mfa.ts +94 -65
- package/src/remember.ts +1 -1
- package/src/runtime/account.ts +7 -1
- package/src/runtime/authz.ts +23 -4
- package/src/runtime/routes.ts +21 -7
- package/src/runtime/two-step.ts +702 -0
- package/src/sharedlogin.ts +1 -1
- package/src/webauthn.ts +20 -0
package/src/i18n/he.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const he: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} לכל קבוצה",
|
|
806
806
|
'ai_filter.needs_number': "{fn} דורש עמודה של מספרים.",
|
|
807
807
|
'ai_filter.invalid': "שינוי זה אינו אפשרי: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "כניסה דו-שלבית",
|
|
810
|
+
"mfa.step_intro": "הזינו את הקוד בן 6 הספרות מאפליקציית האימות, או אחד מקודי השחזור.",
|
|
811
|
+
"mfa.code": "קוד",
|
|
812
|
+
"mfa.verify": "אימות",
|
|
813
|
+
"mfa.wrong": "הקוד שגוי או שכבר נעשה בו שימוש.",
|
|
814
|
+
"mfa.expired": "הכניסה ארכה זמן רב מדי. יש להיכנס שוב.",
|
|
815
|
+
"mfa.enrol_title": "הגדרת כניסה דו-שלבית",
|
|
816
|
+
"mfa.enrol_intro": "אפליקציה זו מבקשת קוד מאפליקציית אימות בעת הכניסה. הוסיפו אחת עכשיו כדי להמשיך.",
|
|
817
|
+
"mfa.scan": "סרקו את קוד ה-QR באפליקציית אימות, כמו Google Authenticator, Microsoft Authenticator או 1Password.",
|
|
818
|
+
"mfa.or_enter": "או הזינו את המפתח הזה:",
|
|
819
|
+
"mfa.enter_code": "הזינו את הקוד בן 6 הספרות שהאפליקציה מציגה.",
|
|
820
|
+
"mfa.qr_label": "קוד QR לאפליקציית אימות",
|
|
821
|
+
"mfa.codes_title": "קודי שחזור",
|
|
822
|
+
"mfa.codes_once": "שמרו את הקודים האלה במקום בטוח. כל קוד מאפשר כניסה אחת כשהטלפון לא בהישג יד. הם מוצגים רק עכשיו.",
|
|
823
|
+
"mfa.codes_saved": "שמרתי את הקודים",
|
|
824
|
+
"mfa.continue": "המשך",
|
|
825
|
+
"mfa.no_key": "כניסה דו-שלבית עדיין לא הוגדרה בשרת זה. פנו למנהל המערכת.",
|
|
826
|
+
"mfa.app_name": "שם",
|
|
827
|
+
"mfa.app_default": "אפליקציית אימות",
|
|
828
|
+
"mfa.on": "בעת הכניסה מזינים גם קוד מאפליקציית האימות.",
|
|
829
|
+
"mfa.off": "הוסיפו אפליקציית אימות כדי להגן על החשבון בשלב נוסף בעת הכניסה.",
|
|
830
|
+
"mfa.required_you": "אפליקציה זו מחייבת אתכם בכניסה דו-שלבית: הוסיפו אפליקציית אימות.",
|
|
831
|
+
"mfa.add_app": "הוספת אפליקציית אימות",
|
|
832
|
+
"mfa.confirm_app": "הוספת האפליקציה",
|
|
833
|
+
"mfa.cancel": "ביטול",
|
|
834
|
+
"mfa.remove": "הסרה",
|
|
835
|
+
"mfa.remove_code": "קוד נוכחי או קוד שחזור",
|
|
836
|
+
"mfa.removed": "אפליקציית האימות הוסרה.",
|
|
837
|
+
"mfa.keep_one": "אפליקציה זו מחייבת אתכם בכניסה דו-שלבית: הוסיפו אפליקציה אחרת לפני הסרת זו.",
|
|
838
|
+
"mfa.added": "אפליקציית האימות נוספה.",
|
|
839
|
+
"mfa.codes_left": "קודי שחזור שנותרו: {n}",
|
|
840
|
+
"mfa.codes_new": "קודי שחזור חדשים",
|
|
841
|
+
"mfa.recovery_used": "נכנסתם עם קוד שחזור. קודי שחזור שנותרו: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "בכניסה אתם גם מזינים קוד או משתמשים במפתח גישה.",
|
|
844
|
+
"mfa.use_passkey": "שימוש במפתח גישה",
|
|
845
|
+
"mfa.passkey_failed": "מפתח הגישה לא עבד. נסו שוב או הזינו קוד.",
|
|
846
|
+
"mfa.email_send": "שלחו לי קוד בדוא\"ל במקום זאת",
|
|
847
|
+
"mfa.email_sent": "שלחנו קוד לכתובת הדוא\"ל שלכם. הוא בתוקף {minutes} דקות.",
|
|
848
|
+
"mfa.email_failed": "לא ניתן לשלוח קוד כרגע. השתמשו באפליקציית האימות, במפתח גישה או בקוד שחזור.",
|
|
849
|
+
"mfa.email_subject": "קוד הכניסה שלכם ל-{app}",
|
|
850
|
+
"mfa.email_body": "קוד הכניסה שלכם ל-{app} הוא {code}. הוא בתוקף {minutes} דקות.\n\nאם לא ניסיתם להיכנס, שנו את הסיסמה.",
|
|
851
|
+
"mfa.stepup_title": "אשרו שזה אתם",
|
|
852
|
+
"mfa.stepup_intro": "דף זה מבקש שוב את השלב השני שלכם. הזינו קוד מאפליקציית האימות או קוד שחזור, או השתמשו במפתח גישה.",
|
|
853
|
+
"mfa.stepup_none": "דף זה דורש כניסה בשני שלבים. הוסיפו קודם אפליקציית אימות או מפתח גישה בחשבון שלי.",
|
|
854
|
+
"mfa.my_account": "החשבון שלי",
|
|
855
|
+
"mfa.passkey_default": "מפתח גישה",
|
|
856
|
+
"mfa.add_passkey": "הוספת מפתח גישה",
|
|
857
|
+
"mfa.passkey_intro": "מפתח גישה מאפשר כניסה בטביעת אצבע, בזיהוי פנים, בנעילת המסך או במפתח אבטחה, בלי להקליד קוד.",
|
|
858
|
+
"mfa.passkey_added": "מפתח הגישה נוסף.",
|
|
859
|
+
"mfa.passkey_removed": "מפתח הגישה הוסר.",
|
|
860
|
+
"mfa.passkey_known": "מפתח גישה זה כבר נוסף.",
|
|
861
|
+
"mfa.passkey_needs_host": "מפתחות גישה דורשים שכתובת היישום תהיה שם מארח, לא כתובת IP.",
|
|
862
|
+
"mfa.passkey_needs_js": "הוספת מפתח גישה דורשת JavaScript.",
|
|
863
|
+
"mfa.or_passkey": "או הוסיפו מפתח גישה במקום זאת:",
|
|
864
|
+
"mfa.kind_passkey": "מפתח גישה",
|
|
865
|
+
"mfa.kind_app": "אפליקציית אימות",
|
|
866
|
+
"token.title": "אסימון REST API",
|
|
867
|
+
"token.intro": "אסימון מאפשר לסקריפט להשתמש ב-REST API של יישום זה בשמכם, עד שיפוג תוקפו. הוא מוצג פעם אחת בלבד.",
|
|
868
|
+
"token.needs_step": "קודם תשלימו שוב את השלב השני.",
|
|
869
|
+
"token.hours": "בתוקף למשך (שעות)",
|
|
870
|
+
"token.create": "יצירת אסימון",
|
|
871
|
+
"token.shown_once": "האסימון שלכם (מוצג פעם אחת, בתוקף {hours} שעות):",
|
|
872
|
+
"token.step_first": "אשרו שזה אתם לפני יצירת אסימון.",
|
|
808
873
|
};
|
package/src/i18n/it.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const it: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} per gruppo",
|
|
806
806
|
'ai_filter.needs_number': "{fn} richiede una colonna di numeri.",
|
|
807
807
|
'ai_filter.invalid': "Questa modifica non è possibile: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "Accesso in due passaggi",
|
|
810
|
+
"mfa.step_intro": "Inserisci il codice di 6 cifre dell'app di autenticazione, oppure uno dei tuoi codici di recupero.",
|
|
811
|
+
"mfa.code": "Codice",
|
|
812
|
+
"mfa.verify": "Verifica",
|
|
813
|
+
"mfa.wrong": "Il codice non è corretto oppure è già stato usato.",
|
|
814
|
+
"mfa.expired": "L'accesso ha richiesto troppo tempo. Accedi di nuovo.",
|
|
815
|
+
"mfa.enrol_title": "Configura l'accesso in due passaggi",
|
|
816
|
+
"mfa.enrol_intro": "Questa applicazione chiede un codice di un'app di autenticazione all'accesso. Aggiungine una ora per continuare.",
|
|
817
|
+
"mfa.scan": "Scansiona il codice QR con un'app di autenticazione, come Google Authenticator, Microsoft Authenticator o 1Password.",
|
|
818
|
+
"mfa.or_enter": "Oppure inserisci questa chiave:",
|
|
819
|
+
"mfa.enter_code": "Inserisci il codice di 6 cifre mostrato dall'app.",
|
|
820
|
+
"mfa.qr_label": "Codice QR per un'app di autenticazione",
|
|
821
|
+
"mfa.codes_title": "Codici di recupero",
|
|
822
|
+
"mfa.codes_once": "Conserva questi codici in un luogo sicuro. Ognuno ti fa accedere una volta quando non hai il telefono. Vengono mostrati solo ora.",
|
|
823
|
+
"mfa.codes_saved": "Ho salvato questi codici",
|
|
824
|
+
"mfa.continue": "Continua",
|
|
825
|
+
"mfa.no_key": "L'accesso in due passaggi non è ancora configurato su questo server. Rivolgiti all'amministratore.",
|
|
826
|
+
"mfa.app_name": "Nome",
|
|
827
|
+
"mfa.app_default": "App di autenticazione",
|
|
828
|
+
"mfa.on": "All'accesso inserisci anche un codice dell'app di autenticazione.",
|
|
829
|
+
"mfa.off": "Aggiungi un'app di autenticazione per proteggere il tuo account con un secondo passaggio all'accesso.",
|
|
830
|
+
"mfa.required_you": "Questa applicazione richiede per te l'accesso in due passaggi: aggiungi un'app di autenticazione.",
|
|
831
|
+
"mfa.add_app": "Aggiungi un'app di autenticazione",
|
|
832
|
+
"mfa.confirm_app": "Aggiungi app",
|
|
833
|
+
"mfa.cancel": "Annulla",
|
|
834
|
+
"mfa.remove": "Rimuovi",
|
|
835
|
+
"mfa.remove_code": "Un codice attuale o un codice di recupero",
|
|
836
|
+
"mfa.removed": "L'app di autenticazione è stata rimossa.",
|
|
837
|
+
"mfa.keep_one": "Questa applicazione richiede per te l'accesso in due passaggi: aggiungi un'altra app prima di rimuovere questa.",
|
|
838
|
+
"mfa.added": "L'app di autenticazione è stata aggiunta.",
|
|
839
|
+
"mfa.codes_left": "Codici di recupero rimasti: {n}",
|
|
840
|
+
"mfa.codes_new": "Nuovi codici di recupero",
|
|
841
|
+
"mfa.recovery_used": "Hai effettuato l'accesso con un codice di recupero. Codici di recupero rimasti: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "Quando accedi, inserisci anche un codice o usi una passkey.",
|
|
844
|
+
"mfa.use_passkey": "Usa una passkey",
|
|
845
|
+
"mfa.passkey_failed": "La passkey non ha funzionato. Riprova o inserisci un codice.",
|
|
846
|
+
"mfa.email_send": "Inviami invece un codice per e-mail",
|
|
847
|
+
"mfa.email_sent": "Abbiamo inviato un codice al tuo indirizzo e-mail. È valido per {minutes} minuti.",
|
|
848
|
+
"mfa.email_failed": "Al momento non è stato possibile inviare un codice. Usa la tua app di autenticazione, una passkey o un codice di recupero.",
|
|
849
|
+
"mfa.email_subject": "Il tuo codice di accesso per {app}",
|
|
850
|
+
"mfa.email_body": "Il tuo codice di accesso per {app} è {code}. È valido per {minutes} minuti.\n\nSe non hai provato ad accedere, cambia la password.",
|
|
851
|
+
"mfa.stepup_title": "Conferma che sei tu",
|
|
852
|
+
"mfa.stepup_intro": "Questa pagina chiede di nuovo il secondo passaggio. Inserisci un codice dell'app di autenticazione o un codice di recupero, oppure usa una passkey.",
|
|
853
|
+
"mfa.stepup_none": "Questa pagina richiede l'accesso in due passaggi. Aggiungi prima un'app di autenticazione o una passkey in Il mio account.",
|
|
854
|
+
"mfa.my_account": "Il mio account",
|
|
855
|
+
"mfa.passkey_default": "Passkey",
|
|
856
|
+
"mfa.add_passkey": "Aggiungi una passkey",
|
|
857
|
+
"mfa.passkey_intro": "Con una passkey accedi con l'impronta, il volto, il blocco schermo o una chiave di sicurezza, senza digitare un codice.",
|
|
858
|
+
"mfa.passkey_added": "La passkey è stata aggiunta.",
|
|
859
|
+
"mfa.passkey_removed": "La passkey è stata rimossa.",
|
|
860
|
+
"mfa.passkey_known": "Questa passkey era già stata aggiunta.",
|
|
861
|
+
"mfa.passkey_needs_host": "Le passkey richiedono che l'indirizzo dell'applicazione sia un nome host, non un indirizzo IP.",
|
|
862
|
+
"mfa.passkey_needs_js": "Per aggiungere una passkey serve JavaScript.",
|
|
863
|
+
"mfa.or_passkey": "Oppure aggiungi invece una passkey:",
|
|
864
|
+
"mfa.kind_passkey": "Passkey",
|
|
865
|
+
"mfa.kind_app": "App di autenticazione",
|
|
866
|
+
"token.title": "Token API REST",
|
|
867
|
+
"token.intro": "Un token permette a uno script di usare l'API REST di questa applicazione a tuo nome, fino alla scadenza. Viene mostrato una sola volta.",
|
|
868
|
+
"token.needs_step": "Prima ripeti il secondo passaggio.",
|
|
869
|
+
"token.hours": "Valido per (ore)",
|
|
870
|
+
"token.create": "Crea token",
|
|
871
|
+
"token.shown_once": "Il tuo token (mostrato una volta, valido {hours} h):",
|
|
872
|
+
"token.step_first": "Conferma che sei tu prima di creare un token.",
|
|
808
873
|
};
|
package/src/i18n/ja.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const ja: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "グループごとの {what}",
|
|
806
806
|
'ai_filter.needs_number': "{fn} には数値の列が必要です。",
|
|
807
807
|
'ai_filter.invalid': "この変更はできません: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "2 段階サインイン",
|
|
810
|
+
"mfa.step_intro": "認証アプリの 6 桁のコード、または回復コードのいずれかを入力してください。",
|
|
811
|
+
"mfa.code": "コード",
|
|
812
|
+
"mfa.verify": "確認",
|
|
813
|
+
"mfa.wrong": "コードが正しくないか、すでに使用されています。",
|
|
814
|
+
"mfa.expired": "サインインに時間がかかりすぎました。もう一度サインインしてください。",
|
|
815
|
+
"mfa.enrol_title": "2 段階サインインの設定",
|
|
816
|
+
"mfa.enrol_intro": "このアプリケーションではサインイン時に認証アプリのコードが必要です。続行するには今すぐ追加してください。",
|
|
817
|
+
"mfa.scan": "Google Authenticator、Microsoft Authenticator、1Password などの認証アプリで QR コードを読み取ってください。",
|
|
818
|
+
"mfa.or_enter": "または次のキーを入力します:",
|
|
819
|
+
"mfa.enter_code": "アプリに表示される 6 桁のコードを入力します。",
|
|
820
|
+
"mfa.qr_label": "認証アプリ用の QR コード",
|
|
821
|
+
"mfa.codes_title": "回復コード",
|
|
822
|
+
"mfa.codes_once": "これらのコードは安全な場所に保管してください。電話がないときに、それぞれ 1 回だけサインインに使えます。表示されるのは今回だけです。",
|
|
823
|
+
"mfa.codes_saved": "これらのコードを保存しました",
|
|
824
|
+
"mfa.continue": "続行",
|
|
825
|
+
"mfa.no_key": "このサーバーでは 2 段階サインインがまだ設定されていません。管理者に問い合わせてください。",
|
|
826
|
+
"mfa.app_name": "名前",
|
|
827
|
+
"mfa.app_default": "認証アプリ",
|
|
828
|
+
"mfa.on": "サインイン時に認証アプリのコードも入力します。",
|
|
829
|
+
"mfa.off": "認証アプリを追加すると、サインイン時の 2 つ目の手順でアカウントを保護できます。",
|
|
830
|
+
"mfa.required_you": "このアプリケーションでは 2 段階サインインが必要です。認証アプリを追加してください。",
|
|
831
|
+
"mfa.add_app": "認証アプリを追加",
|
|
832
|
+
"mfa.confirm_app": "アプリを追加",
|
|
833
|
+
"mfa.cancel": "キャンセル",
|
|
834
|
+
"mfa.remove": "削除",
|
|
835
|
+
"mfa.remove_code": "現在のコードまたは回復コード",
|
|
836
|
+
"mfa.removed": "認証アプリを削除しました。",
|
|
837
|
+
"mfa.keep_one": "このアプリケーションでは 2 段階サインインが必要です。このアプリを削除する前に別のアプリを追加してください。",
|
|
838
|
+
"mfa.added": "認証アプリを追加しました。",
|
|
839
|
+
"mfa.codes_left": "残りの回復コード: {n}",
|
|
840
|
+
"mfa.codes_new": "新しい回復コード",
|
|
841
|
+
"mfa.recovery_used": "回復コードでサインインしました。残りの回復コード: {n}。",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "サインイン時に、コードの入力またはパスキーの使用も行います。",
|
|
844
|
+
"mfa.use_passkey": "パスキーを使う",
|
|
845
|
+
"mfa.passkey_failed": "パスキーを使用できませんでした。もう一度試すか、コードを入力してください。",
|
|
846
|
+
"mfa.email_send": "代わりにメールでコードを送る",
|
|
847
|
+
"mfa.email_sent": "メールアドレスにコードを送信しました。有効期間は {minutes} 分です。",
|
|
848
|
+
"mfa.email_failed": "現在コードを送信できません。認証アプリ、パスキー、または回復コードを使用してください。",
|
|
849
|
+
"mfa.email_subject": "{app} のサインインコード",
|
|
850
|
+
"mfa.email_body": "{app} のサインインコードは {code} です。有効期間は {minutes} 分です。\n\nサインインしようとしていない場合は、パスワードを変更してください。",
|
|
851
|
+
"mfa.stepup_title": "本人確認",
|
|
852
|
+
"mfa.stepup_intro": "このページでは、もう一度 2 番目の手順が必要です。認証アプリのコードまたは回復コードを入力するか、パスキーを使用してください。",
|
|
853
|
+
"mfa.stepup_none": "このページには 2 段階サインインが必要です。先に[マイアカウント]で認証アプリまたはパスキーを追加してください。",
|
|
854
|
+
"mfa.my_account": "マイアカウント",
|
|
855
|
+
"mfa.passkey_default": "パスキー",
|
|
856
|
+
"mfa.add_passkey": "パスキーを追加",
|
|
857
|
+
"mfa.passkey_intro": "パスキーを使うと、コードを入力せずに指紋、顔、画面ロック、またはセキュリティキーでサインインできます。",
|
|
858
|
+
"mfa.passkey_added": "パスキーを追加しました。",
|
|
859
|
+
"mfa.passkey_removed": "パスキーを削除しました。",
|
|
860
|
+
"mfa.passkey_known": "このパスキーは既に追加されています。",
|
|
861
|
+
"mfa.passkey_needs_host": "パスキーを使うには、アプリケーションのアドレスが IP アドレスではなくホスト名である必要があります。",
|
|
862
|
+
"mfa.passkey_needs_js": "パスキーを追加するには JavaScript が必要です。",
|
|
863
|
+
"mfa.or_passkey": "または、代わりにパスキーを追加:",
|
|
864
|
+
"mfa.kind_passkey": "パスキー",
|
|
865
|
+
"mfa.kind_app": "認証アプリ",
|
|
866
|
+
"token.title": "REST API トークン",
|
|
867
|
+
"token.intro": "トークンを使うと、スクリプトが有効期限までこのアプリケーションの REST API をあなたとして使用できます。表示されるのは一度だけです。",
|
|
868
|
+
"token.needs_step": "先にもう一度 2 番目の手順を行います。",
|
|
869
|
+
"token.hours": "有効期間(時間)",
|
|
870
|
+
"token.create": "トークンを作成",
|
|
871
|
+
"token.shown_once": "トークン(一度だけ表示、{hours} 時間有効):",
|
|
872
|
+
"token.step_first": "トークンを作成する前に本人確認を行ってください。",
|
|
808
873
|
};
|
package/src/i18n/ko.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const ko: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "그룹별 {what}",
|
|
806
806
|
'ai_filter.needs_number': "{fn}에는 숫자 열이 필요합니다.",
|
|
807
807
|
'ai_filter.invalid': "이 변경은 할 수 없습니다: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "2단계 로그인",
|
|
810
|
+
"mfa.step_intro": "인증 앱의 6자리 코드 또는 복구 코드 중 하나를 입력하세요.",
|
|
811
|
+
"mfa.code": "코드",
|
|
812
|
+
"mfa.verify": "확인",
|
|
813
|
+
"mfa.wrong": "코드가 올바르지 않거나 이미 사용되었습니다.",
|
|
814
|
+
"mfa.expired": "로그인 시간이 너무 오래 걸렸습니다. 다시 로그인하세요.",
|
|
815
|
+
"mfa.enrol_title": "2단계 로그인 설정",
|
|
816
|
+
"mfa.enrol_intro": "이 애플리케이션은 로그인할 때 인증 앱의 코드를 요구합니다. 계속하려면 지금 추가하세요.",
|
|
817
|
+
"mfa.scan": "Google Authenticator, Microsoft Authenticator, 1Password 같은 인증 앱으로 QR 코드를 스캔하세요.",
|
|
818
|
+
"mfa.or_enter": "또는 다음 키를 입력하세요:",
|
|
819
|
+
"mfa.enter_code": "앱에 표시된 6자리 코드를 입력하세요.",
|
|
820
|
+
"mfa.qr_label": "인증 앱용 QR 코드",
|
|
821
|
+
"mfa.codes_title": "복구 코드",
|
|
822
|
+
"mfa.codes_once": "이 코드를 안전한 곳에 보관하세요. 휴대폰이 없을 때 코드마다 한 번씩 로그인할 수 있습니다. 지금만 표시됩니다.",
|
|
823
|
+
"mfa.codes_saved": "이 코드를 저장했습니다",
|
|
824
|
+
"mfa.continue": "계속",
|
|
825
|
+
"mfa.no_key": "이 서버에는 아직 2단계 로그인이 설정되지 않았습니다. 관리자에게 문의하세요.",
|
|
826
|
+
"mfa.app_name": "이름",
|
|
827
|
+
"mfa.app_default": "인증 앱",
|
|
828
|
+
"mfa.on": "로그인할 때 인증 앱의 코드도 입력합니다.",
|
|
829
|
+
"mfa.off": "인증 앱을 추가하면 로그인할 때 두 번째 단계로 계정을 보호할 수 있습니다.",
|
|
830
|
+
"mfa.required_you": "이 애플리케이션은 2단계 로그인을 요구합니다. 인증 앱을 추가하세요.",
|
|
831
|
+
"mfa.add_app": "인증 앱 추가",
|
|
832
|
+
"mfa.confirm_app": "앱 추가",
|
|
833
|
+
"mfa.cancel": "취소",
|
|
834
|
+
"mfa.remove": "제거",
|
|
835
|
+
"mfa.remove_code": "현재 코드 또는 복구 코드",
|
|
836
|
+
"mfa.removed": "인증 앱을 제거했습니다.",
|
|
837
|
+
"mfa.keep_one": "이 애플리케이션은 2단계 로그인을 요구합니다. 이 앱을 제거하기 전에 다른 앱을 추가하세요.",
|
|
838
|
+
"mfa.added": "인증 앱을 추가했습니다.",
|
|
839
|
+
"mfa.codes_left": "남은 복구 코드: {n}",
|
|
840
|
+
"mfa.codes_new": "새 복구 코드",
|
|
841
|
+
"mfa.recovery_used": "복구 코드로 로그인했습니다. 남은 복구 코드: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "로그인할 때 코드를 입력하거나 패스키를 사용합니다.",
|
|
844
|
+
"mfa.use_passkey": "패스키 사용",
|
|
845
|
+
"mfa.passkey_failed": "패스키가 작동하지 않았습니다. 다시 시도하거나 코드를 입력하세요.",
|
|
846
|
+
"mfa.email_send": "대신 이메일로 코드 받기",
|
|
847
|
+
"mfa.email_sent": "이메일 주소로 코드를 보냈습니다. {minutes}분 동안 유효합니다.",
|
|
848
|
+
"mfa.email_failed": "지금은 코드를 보낼 수 없습니다. 인증 앱, 패스키 또는 복구 코드를 사용하세요.",
|
|
849
|
+
"mfa.email_subject": "{app} 로그인 코드",
|
|
850
|
+
"mfa.email_body": "{app} 로그인 코드는 {code}입니다. {minutes}분 동안 유효합니다.\n\n로그인을 시도하지 않았다면 비밀번호를 변경하세요.",
|
|
851
|
+
"mfa.stepup_title": "본인 확인",
|
|
852
|
+
"mfa.stepup_intro": "이 페이지는 두 번째 단계를 다시 요청합니다. 인증 앱의 코드나 복구 코드를 입력하거나 패스키를 사용하세요.",
|
|
853
|
+
"mfa.stepup_none": "이 페이지는 2단계 로그인이 필요합니다. 먼저 내 계정에서 인증 앱이나 패스키를 추가하세요.",
|
|
854
|
+
"mfa.my_account": "내 계정",
|
|
855
|
+
"mfa.passkey_default": "패스키",
|
|
856
|
+
"mfa.add_passkey": "패스키 추가",
|
|
857
|
+
"mfa.passkey_intro": "패스키를 사용하면 코드를 입력하지 않고 지문, 얼굴, 화면 잠금 또는 보안 키로 로그인할 수 있습니다.",
|
|
858
|
+
"mfa.passkey_added": "패스키를 추가했습니다.",
|
|
859
|
+
"mfa.passkey_removed": "패스키를 삭제했습니다.",
|
|
860
|
+
"mfa.passkey_known": "이미 추가된 패스키입니다.",
|
|
861
|
+
"mfa.passkey_needs_host": "패스키를 사용하려면 애플리케이션 주소가 IP 주소가 아닌 호스트 이름이어야 합니다.",
|
|
862
|
+
"mfa.passkey_needs_js": "패스키를 추가하려면 JavaScript가 필요합니다.",
|
|
863
|
+
"mfa.or_passkey": "또는 대신 패스키를 추가하세요:",
|
|
864
|
+
"mfa.kind_passkey": "패스키",
|
|
865
|
+
"mfa.kind_app": "인증 앱",
|
|
866
|
+
"token.title": "REST API 토큰",
|
|
867
|
+
"token.intro": "토큰을 사용하면 스크립트가 만료될 때까지 이 애플리케이션의 REST API를 사용자로서 사용할 수 있습니다. 한 번만 표시됩니다.",
|
|
868
|
+
"token.needs_step": "먼저 두 번째 단계를 다시 진행합니다.",
|
|
869
|
+
"token.hours": "유효 기간(시간)",
|
|
870
|
+
"token.create": "토큰 만들기",
|
|
871
|
+
"token.shown_once": "토큰(한 번만 표시, {hours}시간 유효):",
|
|
872
|
+
"token.step_first": "토큰을 만들기 전에 본인 확인을 하세요.",
|
|
808
873
|
};
|
package/src/i18n/nb.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const nb: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} per gruppe",
|
|
806
806
|
'ai_filter.needs_number': "{fn} krever en kolonne med tall.",
|
|
807
807
|
'ai_filter.invalid': "Den endringen er ikke mulig: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "Pålogging i to trinn",
|
|
810
|
+
"mfa.step_intro": "Skriv inn den 6-sifrede koden fra autentiseringsappen, eller en av gjenopprettingskodene dine.",
|
|
811
|
+
"mfa.code": "Kode",
|
|
812
|
+
"mfa.verify": "Bekreft",
|
|
813
|
+
"mfa.wrong": "Koden er feil, eller den er allerede brukt.",
|
|
814
|
+
"mfa.expired": "Påloggingen tok for lang tid. Logg på på nytt.",
|
|
815
|
+
"mfa.enrol_title": "Konfigurer pålogging i to trinn",
|
|
816
|
+
"mfa.enrol_intro": "Denne applikasjonen ber om en kode fra en autentiseringsapp når du logger på. Legg til en nå for å fortsette.",
|
|
817
|
+
"mfa.scan": "Skann QR-koden med en autentiseringsapp, for eksempel Google Authenticator, Microsoft Authenticator eller 1Password.",
|
|
818
|
+
"mfa.or_enter": "Eller skriv inn denne nøkkelen:",
|
|
819
|
+
"mfa.enter_code": "Skriv inn den 6-sifrede koden appen viser.",
|
|
820
|
+
"mfa.qr_label": "QR-kode for en autentiseringsapp",
|
|
821
|
+
"mfa.codes_title": "Gjenopprettingskoder",
|
|
822
|
+
"mfa.codes_once": "Oppbevar kodene på et trygt sted. Hver kode logger deg på én gang når du ikke har telefonen. De vises bare nå.",
|
|
823
|
+
"mfa.codes_saved": "Jeg har lagret kodene",
|
|
824
|
+
"mfa.continue": "Fortsett",
|
|
825
|
+
"mfa.no_key": "Pålogging i to trinn er ikke konfigurert på denne serveren ennå. Kontakt administratoren.",
|
|
826
|
+
"mfa.app_name": "Navn",
|
|
827
|
+
"mfa.app_default": "Autentiseringsapp",
|
|
828
|
+
"mfa.on": "Når du logger på, oppgir du også en kode fra autentiseringsappen.",
|
|
829
|
+
"mfa.off": "Legg til en autentiseringsapp for å beskytte kontoen med et ekstra trinn når du logger på.",
|
|
830
|
+
"mfa.required_you": "Denne applikasjonen krever pålogging i to trinn for deg: legg til en autentiseringsapp.",
|
|
831
|
+
"mfa.add_app": "Legg til en autentiseringsapp",
|
|
832
|
+
"mfa.confirm_app": "Legg til app",
|
|
833
|
+
"mfa.cancel": "Avbryt",
|
|
834
|
+
"mfa.remove": "Fjern",
|
|
835
|
+
"mfa.remove_code": "En gjeldende kode eller en gjenopprettingskode",
|
|
836
|
+
"mfa.removed": "Autentiseringsappen ble fjernet.",
|
|
837
|
+
"mfa.keep_one": "Denne applikasjonen krever pålogging i to trinn for deg: legg til en annen app før du fjerner denne.",
|
|
838
|
+
"mfa.added": "Autentiseringsappen ble lagt til.",
|
|
839
|
+
"mfa.codes_left": "Gjenværende gjenopprettingskoder: {n}",
|
|
840
|
+
"mfa.codes_new": "Nye gjenopprettingskoder",
|
|
841
|
+
"mfa.recovery_used": "Du logget på med en gjenopprettingskode. Gjenværende gjenopprettingskoder: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "Når du logger på, oppgir du også en kode eller bruker en passnøkkel.",
|
|
844
|
+
"mfa.use_passkey": "Bruk en passnøkkel",
|
|
845
|
+
"mfa.passkey_failed": "Passnøkkelen virket ikke. Prøv igjen, eller skriv inn en kode.",
|
|
846
|
+
"mfa.email_send": "Send meg heller en kode på e-post",
|
|
847
|
+
"mfa.email_sent": "Vi har sendt en kode til e-postadressen din. Den er gyldig i {minutes} minutter.",
|
|
848
|
+
"mfa.email_failed": "Ingen kode kunne sendes nå. Bruk autentiseringsappen, en passnøkkel eller en gjenopprettingskode.",
|
|
849
|
+
"mfa.email_subject": "Påloggingskoden din for {app}",
|
|
850
|
+
"mfa.email_body": "Påloggingskoden din for {app} er {code}. Den er gyldig i {minutes} minutter.\n\nHvis du ikke prøvde å logge på, bør du endre passordet ditt.",
|
|
851
|
+
"mfa.stepup_title": "Bekreft at det er deg",
|
|
852
|
+
"mfa.stepup_intro": "Denne siden ber om det andre trinnet ditt igjen. Skriv inn en kode fra autentiseringsappen eller en gjenopprettingskode, eller bruk en passnøkkel.",
|
|
853
|
+
"mfa.stepup_none": "Denne siden krever pålogging i to trinn. Legg først til en autentiseringsapp eller en passnøkkel under Min konto.",
|
|
854
|
+
"mfa.my_account": "Min konto",
|
|
855
|
+
"mfa.passkey_default": "Passnøkkel",
|
|
856
|
+
"mfa.add_passkey": "Legg til en passnøkkel",
|
|
857
|
+
"mfa.passkey_intro": "Med en passnøkkel logger du på med fingeravtrykk, ansikt, skjermlås eller en sikkerhetsnøkkel, uten å skrive en kode.",
|
|
858
|
+
"mfa.passkey_added": "Passnøkkelen ble lagt til.",
|
|
859
|
+
"mfa.passkey_removed": "Passnøkkelen ble fjernet.",
|
|
860
|
+
"mfa.passkey_known": "Denne passnøkkelen var allerede lagt til.",
|
|
861
|
+
"mfa.passkey_needs_host": "Passnøkler krever at applikasjonens adresse er et vertsnavn, ikke en IP-adresse.",
|
|
862
|
+
"mfa.passkey_needs_js": "Det kreves JavaScript for å legge til en passnøkkel.",
|
|
863
|
+
"mfa.or_passkey": "Eller legg til en passnøkkel i stedet:",
|
|
864
|
+
"mfa.kind_passkey": "Passnøkkel",
|
|
865
|
+
"mfa.kind_app": "Autentiseringsapp",
|
|
866
|
+
"token.title": "REST API-token",
|
|
867
|
+
"token.intro": "Med et token kan et skript bruke applikasjonens REST API som deg, til det utløper. Det vises bare én gang.",
|
|
868
|
+
"token.needs_step": "Du oppgir først det andre trinnet igjen.",
|
|
869
|
+
"token.hours": "Gyldig i (timer)",
|
|
870
|
+
"token.create": "Opprett token",
|
|
871
|
+
"token.shown_once": "Tokenet ditt (vises én gang, gyldig i {hours} t):",
|
|
872
|
+
"token.step_first": "Bekreft at det er deg før du oppretter et token.",
|
|
808
873
|
};
|
package/src/i18n/pl.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const pl: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} na grupę",
|
|
806
806
|
'ai_filter.needs_number': "{fn} wymaga kolumny z liczbami.",
|
|
807
807
|
'ai_filter.invalid': "Ta zmiana nie jest możliwa: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "Logowanie dwuetapowe",
|
|
810
|
+
"mfa.step_intro": "Wpisz 6-cyfrowy kod z aplikacji uwierzytelniającej albo jeden z kodów odzyskiwania.",
|
|
811
|
+
"mfa.code": "Kod",
|
|
812
|
+
"mfa.verify": "Zweryfikuj",
|
|
813
|
+
"mfa.wrong": "Kod jest nieprawidłowy albo został już użyty.",
|
|
814
|
+
"mfa.expired": "Logowanie trwało zbyt długo. Zaloguj się ponownie.",
|
|
815
|
+
"mfa.enrol_title": "Skonfiguruj logowanie dwuetapowe",
|
|
816
|
+
"mfa.enrol_intro": "Ta aplikacja wymaga przy logowaniu kodu z aplikacji uwierzytelniającej. Dodaj ją teraz, aby kontynuować.",
|
|
817
|
+
"mfa.scan": "Zeskanuj kod QR aplikacją uwierzytelniającą, np. Google Authenticator, Microsoft Authenticator lub 1Password.",
|
|
818
|
+
"mfa.or_enter": "Albo wpisz ten klucz:",
|
|
819
|
+
"mfa.enter_code": "Wpisz 6-cyfrowy kod wyświetlany w aplikacji.",
|
|
820
|
+
"mfa.qr_label": "Kod QR dla aplikacji uwierzytelniającej",
|
|
821
|
+
"mfa.codes_title": "Kody odzyskiwania",
|
|
822
|
+
"mfa.codes_once": "Przechowuj te kody w bezpiecznym miejscu. Każdy z nich pozwala zalogować się raz, gdy nie masz telefonu. Są wyświetlane tylko teraz.",
|
|
823
|
+
"mfa.codes_saved": "Zapisałem te kody",
|
|
824
|
+
"mfa.continue": "Dalej",
|
|
825
|
+
"mfa.no_key": "Logowanie dwuetapowe nie jest jeszcze skonfigurowane na tym serwerze. Skontaktuj się z administratorem.",
|
|
826
|
+
"mfa.app_name": "Nazwa",
|
|
827
|
+
"mfa.app_default": "Aplikacja uwierzytelniająca",
|
|
828
|
+
"mfa.on": "Przy logowaniu podajesz też kod z aplikacji uwierzytelniającej.",
|
|
829
|
+
"mfa.off": "Dodaj aplikację uwierzytelniającą, aby chronić konto drugim krokiem przy logowaniu.",
|
|
830
|
+
"mfa.required_you": "Ta aplikacja wymaga od Ciebie logowania dwuetapowego: dodaj aplikację uwierzytelniającą.",
|
|
831
|
+
"mfa.add_app": "Dodaj aplikację uwierzytelniającą",
|
|
832
|
+
"mfa.confirm_app": "Dodaj aplikację",
|
|
833
|
+
"mfa.cancel": "Anuluj",
|
|
834
|
+
"mfa.remove": "Usuń",
|
|
835
|
+
"mfa.remove_code": "Bieżący kod lub kod odzyskiwania",
|
|
836
|
+
"mfa.removed": "Aplikacja uwierzytelniająca została usunięta.",
|
|
837
|
+
"mfa.keep_one": "Ta aplikacja wymaga od Ciebie logowania dwuetapowego: dodaj inną aplikację, zanim usuniesz tę.",
|
|
838
|
+
"mfa.added": "Aplikacja uwierzytelniająca została dodana.",
|
|
839
|
+
"mfa.codes_left": "Pozostałe kody odzyskiwania: {n}",
|
|
840
|
+
"mfa.codes_new": "Nowe kody odzyskiwania",
|
|
841
|
+
"mfa.recovery_used": "Zalogowano kodem odzyskiwania. Pozostałe kody odzyskiwania: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "Podczas logowania podajesz też kod lub używasz klucza dostępu.",
|
|
844
|
+
"mfa.use_passkey": "Użyj klucza dostępu",
|
|
845
|
+
"mfa.passkey_failed": "Klucz dostępu nie zadziałał. Spróbuj ponownie lub wpisz kod.",
|
|
846
|
+
"mfa.email_send": "Wyślij mi zamiast tego kod e-mailem",
|
|
847
|
+
"mfa.email_sent": "Wysłaliśmy kod na Twój adres e-mail. Jest ważny przez {minutes} min.",
|
|
848
|
+
"mfa.email_failed": "Nie udało się teraz wysłać kodu. Użyj aplikacji uwierzytelniającej, klucza dostępu lub kodu odzyskiwania.",
|
|
849
|
+
"mfa.email_subject": "Twój kod logowania do {app}",
|
|
850
|
+
"mfa.email_body": "Twój kod logowania do {app} to {code}. Jest ważny przez {minutes} min.\n\nJeśli to nie Ty próbowałeś się zalogować, zmień hasło.",
|
|
851
|
+
"mfa.stepup_title": "Potwierdź, że to Ty",
|
|
852
|
+
"mfa.stepup_intro": "Ta strona ponownie prosi o drugi krok. Wpisz kod z aplikacji uwierzytelniającej lub kod odzyskiwania albo użyj klucza dostępu.",
|
|
853
|
+
"mfa.stepup_none": "Ta strona wymaga logowania dwuetapowego. Najpierw dodaj aplikację uwierzytelniającą lub klucz dostępu w sekcji Moje konto.",
|
|
854
|
+
"mfa.my_account": "Moje konto",
|
|
855
|
+
"mfa.passkey_default": "Klucz dostępu",
|
|
856
|
+
"mfa.add_passkey": "Dodaj klucz dostępu",
|
|
857
|
+
"mfa.passkey_intro": "Klucz dostępu loguje Cię odciskiem palca, twarzą, blokadą ekranu lub kluczem bezpieczeństwa, bez wpisywania kodu.",
|
|
858
|
+
"mfa.passkey_added": "Klucz dostępu został dodany.",
|
|
859
|
+
"mfa.passkey_removed": "Klucz dostępu został usunięty.",
|
|
860
|
+
"mfa.passkey_known": "Ten klucz dostępu był już dodany.",
|
|
861
|
+
"mfa.passkey_needs_host": "Klucze dostępu wymagają, aby adres aplikacji był nazwą hosta, a nie adresem IP.",
|
|
862
|
+
"mfa.passkey_needs_js": "Dodanie klucza dostępu wymaga JavaScriptu.",
|
|
863
|
+
"mfa.or_passkey": "Albo zamiast tego dodaj klucz dostępu:",
|
|
864
|
+
"mfa.kind_passkey": "Klucz dostępu",
|
|
865
|
+
"mfa.kind_app": "Aplikacja uwierzytelniająca",
|
|
866
|
+
"token.title": "Token REST API",
|
|
867
|
+
"token.intro": "Token pozwala skryptowi korzystać z REST API tej aplikacji w Twoim imieniu, dopóki nie wygaśnie. Jest pokazywany tylko raz.",
|
|
868
|
+
"token.needs_step": "Najpierw ponownie wykonujesz drugi krok.",
|
|
869
|
+
"token.hours": "Ważny przez (godziny)",
|
|
870
|
+
"token.create": "Utwórz token",
|
|
871
|
+
"token.shown_once": "Twój token (pokazany raz, ważny {hours} godz.):",
|
|
872
|
+
"token.step_first": "Potwierdź, że to Ty, zanim utworzysz token.",
|
|
808
873
|
};
|
package/src/i18n/pt.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const pt: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} por grupo",
|
|
806
806
|
'ai_filter.needs_number': "{fn} precisa de uma coluna com números.",
|
|
807
807
|
'ai_filter.invalid': "Essa alteração não é possível: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "Início de sessão em dois passos",
|
|
810
|
+
"mfa.step_intro": "Introduza o código de 6 dígitos da sua aplicação de autenticação, ou um dos seus códigos de recuperação.",
|
|
811
|
+
"mfa.code": "Código",
|
|
812
|
+
"mfa.verify": "Verificar",
|
|
813
|
+
"mfa.wrong": "Esse código não está correto ou já foi utilizado.",
|
|
814
|
+
"mfa.expired": "O início de sessão demorou demasiado. Inicie sessão novamente.",
|
|
815
|
+
"mfa.enrol_title": "Configurar o início de sessão em dois passos",
|
|
816
|
+
"mfa.enrol_intro": "Esta aplicação pede um código de uma aplicação de autenticação ao iniciar sessão. Adicione uma agora para continuar.",
|
|
817
|
+
"mfa.scan": "Leia o código QR com uma aplicação de autenticação, como Google Authenticator, Microsoft Authenticator ou 1Password.",
|
|
818
|
+
"mfa.or_enter": "Ou introduza esta chave:",
|
|
819
|
+
"mfa.enter_code": "Introduza o código de 6 dígitos que a aplicação mostra.",
|
|
820
|
+
"mfa.qr_label": "Código QR para uma aplicação de autenticação",
|
|
821
|
+
"mfa.codes_title": "Códigos de recuperação",
|
|
822
|
+
"mfa.codes_once": "Guarde estes códigos num local seguro. Cada um permite iniciar sessão uma vez quando não tem o telemóvel. Só são mostrados agora.",
|
|
823
|
+
"mfa.codes_saved": "Guardei estes códigos",
|
|
824
|
+
"mfa.continue": "Continuar",
|
|
825
|
+
"mfa.no_key": "O início de sessão em dois passos ainda não está configurado neste servidor. Contacte o administrador.",
|
|
826
|
+
"mfa.app_name": "Nome",
|
|
827
|
+
"mfa.app_default": "Aplicação de autenticação",
|
|
828
|
+
"mfa.on": "Ao iniciar sessão, introduz também um código da sua aplicação de autenticação.",
|
|
829
|
+
"mfa.off": "Adicione uma aplicação de autenticação para proteger a sua conta com um segundo passo ao iniciar sessão.",
|
|
830
|
+
"mfa.required_you": "Esta aplicação exige-lhe o início de sessão em dois passos: adicione uma aplicação de autenticação.",
|
|
831
|
+
"mfa.add_app": "Adicionar uma aplicação de autenticação",
|
|
832
|
+
"mfa.confirm_app": "Adicionar aplicação",
|
|
833
|
+
"mfa.cancel": "Cancelar",
|
|
834
|
+
"mfa.remove": "Remover",
|
|
835
|
+
"mfa.remove_code": "Um código atual ou um código de recuperação",
|
|
836
|
+
"mfa.removed": "A aplicação de autenticação foi removida.",
|
|
837
|
+
"mfa.keep_one": "Esta aplicação exige-lhe o início de sessão em dois passos: adicione outra aplicação antes de remover esta.",
|
|
838
|
+
"mfa.added": "A aplicação de autenticação foi adicionada.",
|
|
839
|
+
"mfa.codes_left": "Códigos de recuperação restantes: {n}",
|
|
840
|
+
"mfa.codes_new": "Novos códigos de recuperação",
|
|
841
|
+
"mfa.recovery_used": "Iniciou sessão com um código de recuperação. Códigos de recuperação restantes: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "Ao entrar, também introduz um código ou usa uma chave de acesso.",
|
|
844
|
+
"mfa.use_passkey": "Usar uma chave de acesso",
|
|
845
|
+
"mfa.passkey_failed": "A chave de acesso não funcionou. Tente novamente ou introduza um código.",
|
|
846
|
+
"mfa.email_send": "Enviar-me antes um código por e-mail",
|
|
847
|
+
"mfa.email_sent": "Enviámos um código para o seu endereço de e-mail. É válido durante {minutes} minutos.",
|
|
848
|
+
"mfa.email_failed": "Não foi possível enviar um código agora. Use a sua aplicação de autenticação, uma chave de acesso ou um código de recuperação.",
|
|
849
|
+
"mfa.email_subject": "O seu código de início de sessão para {app}",
|
|
850
|
+
"mfa.email_body": "O seu código de início de sessão para {app} é {code}. É válido durante {minutes} minutos.\n\nSe não tentou entrar, altere a sua palavra-passe.",
|
|
851
|
+
"mfa.stepup_title": "Confirme que é você",
|
|
852
|
+
"mfa.stepup_intro": "Esta página volta a pedir o seu segundo passo. Introduza um código da sua aplicação de autenticação ou um código de recuperação, ou use uma chave de acesso.",
|
|
853
|
+
"mfa.stepup_none": "Esta página exige o início de sessão em dois passos. Adicione primeiro uma aplicação de autenticação ou uma chave de acesso em A minha conta.",
|
|
854
|
+
"mfa.my_account": "A minha conta",
|
|
855
|
+
"mfa.passkey_default": "Chave de acesso",
|
|
856
|
+
"mfa.add_passkey": "Adicionar uma chave de acesso",
|
|
857
|
+
"mfa.passkey_intro": "Uma chave de acesso permite entrar com a impressão digital, o rosto, o bloqueio de ecrã ou uma chave de segurança, sem escrever um código.",
|
|
858
|
+
"mfa.passkey_added": "A chave de acesso foi adicionada.",
|
|
859
|
+
"mfa.passkey_removed": "A chave de acesso foi removida.",
|
|
860
|
+
"mfa.passkey_known": "Esta chave de acesso já tinha sido adicionada.",
|
|
861
|
+
"mfa.passkey_needs_host": "As chaves de acesso exigem que o endereço da aplicação seja um nome de anfitrião, não um endereço IP.",
|
|
862
|
+
"mfa.passkey_needs_js": "Adicionar uma chave de acesso requer JavaScript.",
|
|
863
|
+
"mfa.or_passkey": "Ou adicione antes uma chave de acesso:",
|
|
864
|
+
"mfa.kind_passkey": "Chave de acesso",
|
|
865
|
+
"mfa.kind_app": "Aplicação de autenticação",
|
|
866
|
+
"token.title": "Token da API REST",
|
|
867
|
+
"token.intro": "Um token permite que um script use a API REST desta aplicação em seu nome, até expirar. É mostrado apenas uma vez.",
|
|
868
|
+
"token.needs_step": "Primeiro volta a dar o seu segundo passo.",
|
|
869
|
+
"token.hours": "Válido durante (horas)",
|
|
870
|
+
"token.create": "Criar token",
|
|
871
|
+
"token.shown_once": "O seu token (mostrado uma vez, válido {hours} h):",
|
|
872
|
+
"token.step_first": "Confirme que é você antes de criar um token.",
|
|
808
873
|
};
|
package/src/i18n/ru.ts
CHANGED
|
@@ -805,4 +805,69 @@ export const ru: Record<MessageKey, string> = {
|
|
|
805
805
|
'ai_filter.per_group': "{what} по группам",
|
|
806
806
|
'ai_filter.needs_number': "Для {fn} нужен столбец с числами.",
|
|
807
807
|
'ai_filter.invalid': "Это изменение невозможно: {why}",
|
|
808
|
+
// (sprint 130) two-step sign-in
|
|
809
|
+
"mfa.step_title": "Двухэтапный вход",
|
|
810
|
+
"mfa.step_intro": "Введите 6-значный код из приложения-аутентификатора или один из кодов восстановления.",
|
|
811
|
+
"mfa.code": "Код",
|
|
812
|
+
"mfa.verify": "Подтвердить",
|
|
813
|
+
"mfa.wrong": "Код неверен или уже был использован.",
|
|
814
|
+
"mfa.expired": "Вход занял слишком много времени. Войдите снова.",
|
|
815
|
+
"mfa.enrol_title": "Настройка двухэтапного входа",
|
|
816
|
+
"mfa.enrol_intro": "Это приложение при входе запрашивает код из приложения-аутентификатора. Добавьте его сейчас, чтобы продолжить.",
|
|
817
|
+
"mfa.scan": "Отсканируйте QR-код приложением-аутентификатором, например Google Authenticator, Microsoft Authenticator или 1Password.",
|
|
818
|
+
"mfa.or_enter": "Или введите этот ключ:",
|
|
819
|
+
"mfa.enter_code": "Введите 6-значный код, который показывает приложение.",
|
|
820
|
+
"mfa.qr_label": "QR-код для приложения-аутентификатора",
|
|
821
|
+
"mfa.codes_title": "Коды восстановления",
|
|
822
|
+
"mfa.codes_once": "Храните эти коды в надёжном месте. Каждый из них позволяет войти один раз, если у вас нет телефона. Они показываются только сейчас.",
|
|
823
|
+
"mfa.codes_saved": "Я сохранил эти коды",
|
|
824
|
+
"mfa.continue": "Продолжить",
|
|
825
|
+
"mfa.no_key": "Двухэтапный вход на этом сервере ещё не настроен. Обратитесь к администратору.",
|
|
826
|
+
"mfa.app_name": "Название",
|
|
827
|
+
"mfa.app_default": "Приложение-аутентификатор",
|
|
828
|
+
"mfa.on": "При входе вы также вводите код из приложения-аутентификатора.",
|
|
829
|
+
"mfa.off": "Добавьте приложение-аутентификатор, чтобы защитить учётную запись вторым шагом при входе.",
|
|
830
|
+
"mfa.required_you": "Это приложение требует от вас двухэтапного входа: добавьте приложение-аутентификатор.",
|
|
831
|
+
"mfa.add_app": "Добавить приложение-аутентификатор",
|
|
832
|
+
"mfa.confirm_app": "Добавить приложение",
|
|
833
|
+
"mfa.cancel": "Отмена",
|
|
834
|
+
"mfa.remove": "Удалить",
|
|
835
|
+
"mfa.remove_code": "Текущий код или код восстановления",
|
|
836
|
+
"mfa.removed": "Приложение-аутентификатор удалено.",
|
|
837
|
+
"mfa.keep_one": "Это приложение требует от вас двухэтапного входа: прежде чем удалить это приложение, добавьте другое.",
|
|
838
|
+
"mfa.added": "Приложение-аутентификатор добавлено.",
|
|
839
|
+
"mfa.codes_left": "Осталось кодов восстановления: {n}",
|
|
840
|
+
"mfa.codes_new": "Новые коды восстановления",
|
|
841
|
+
"mfa.recovery_used": "Вы вошли с кодом восстановления. Осталось кодов восстановления: {n}.",
|
|
842
|
+
// (sprint 131) passkeys, e-mail codes, step-up, API tokens
|
|
843
|
+
"mfa.on_any": "При входе вы также вводите код или используете ключ доступа.",
|
|
844
|
+
"mfa.use_passkey": "Использовать ключ доступа",
|
|
845
|
+
"mfa.passkey_failed": "Ключ доступа не сработал. Попробуйте ещё раз или введите код.",
|
|
846
|
+
"mfa.email_send": "Лучше отправьте мне код по электронной почте",
|
|
847
|
+
"mfa.email_sent": "Мы отправили код на ваш адрес электронной почты. Он действует {minutes} мин.",
|
|
848
|
+
"mfa.email_failed": "Сейчас не удалось отправить код. Используйте приложение-аутентификатор, ключ доступа или резервный код.",
|
|
849
|
+
"mfa.email_subject": "Ваш код входа в {app}",
|
|
850
|
+
"mfa.email_body": "Ваш код входа в {app}: {code}. Он действует {minutes} мин.\n\nЕсли вы не пытались войти, смените пароль.",
|
|
851
|
+
"mfa.stepup_title": "Подтвердите, что это вы",
|
|
852
|
+
"mfa.stepup_intro": "Эта страница снова запрашивает второй шаг. Введите код из приложения-аутентификатора или резервный код либо используйте ключ доступа.",
|
|
853
|
+
"mfa.stepup_none": "Для этой страницы нужен вход в два этапа. Сначала добавьте приложение-аутентификатор или ключ доступа в разделе «Моя учётная запись».",
|
|
854
|
+
"mfa.my_account": "Моя учётная запись",
|
|
855
|
+
"mfa.passkey_default": "Ключ доступа",
|
|
856
|
+
"mfa.add_passkey": "Добавить ключ доступа",
|
|
857
|
+
"mfa.passkey_intro": "Ключ доступа позволяет входить по отпечатку пальца, лицу, блокировке экрана или ключу безопасности, не вводя код.",
|
|
858
|
+
"mfa.passkey_added": "Ключ доступа добавлен.",
|
|
859
|
+
"mfa.passkey_removed": "Ключ доступа удалён.",
|
|
860
|
+
"mfa.passkey_known": "Этот ключ доступа уже добавлен.",
|
|
861
|
+
"mfa.passkey_needs_host": "Для ключей доступа адрес приложения должен быть именем хоста, а не IP-адресом.",
|
|
862
|
+
"mfa.passkey_needs_js": "Для добавления ключа доступа нужен JavaScript.",
|
|
863
|
+
"mfa.or_passkey": "Или вместо этого добавьте ключ доступа:",
|
|
864
|
+
"mfa.kind_passkey": "Ключ доступа",
|
|
865
|
+
"mfa.kind_app": "Приложение-аутентификатор",
|
|
866
|
+
"token.title": "Токен REST API",
|
|
867
|
+
"token.intro": "Токен позволяет скрипту использовать REST API этого приложения от вашего имени, пока не истечёт срок. Он показывается только один раз.",
|
|
868
|
+
"token.needs_step": "Сначала вы снова проходите второй шаг.",
|
|
869
|
+
"token.hours": "Срок действия (часы)",
|
|
870
|
+
"token.create": "Создать токен",
|
|
871
|
+
"token.shown_once": "Ваш токен (показывается один раз, действует {hours} ч):",
|
|
872
|
+
"token.step_first": "Подтвердите, что это вы, прежде чем создавать токен.",
|
|
808
873
|
};
|