From ed840a59788b640763541ce8703122c3ea8923e6 Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Tue, 14 Nov 2023 19:03:43 +0800 Subject: [PATCH] chore(phrases): translate phrases (#4876) --- packages/cli/src/commands/translate/openai.ts | 2 +- .../phrases/src/locales/de/errors/entity.ts | 7 +- .../phrases/src/locales/de/errors/oidc.ts | 23 +- .../src/locales/de/errors/organization.ts | 3 +- .../phrases/src/locales/de/errors/session.ts | 43 ++-- .../src/locales/de/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/de/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 9 +- .../admin-console/application-details.ts | 2 +- .../admin-console/enterprise-sso.ts | 46 ++-- .../de/translation/admin-console/general.ts | 22 +- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 188 ++++++---------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 7 +- .../de/translation/admin-console/tabs.ts | 11 +- .../de/translation/admin-console/tenants.ts | 131 ++++-------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 36 ++-- .../de/translation/admin-console/webhooks.ts | 3 +- .../phrases/src/locales/es/errors/entity.ts | 9 +- .../phrases/src/locales/es/errors/oidc.ts | 26 +-- .../src/locales/es/errors/organization.ts | 3 +- .../phrases/src/locales/es/errors/session.ts | 41 ++-- .../src/locales/es/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/es/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 11 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../es/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 196 ++++++----------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 7 +- .../es/translation/admin-console/tabs.ts | 11 +- .../es/translation/admin-console/tenants.ts | 134 ++++-------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 30 +-- .../es/translation/admin-console/webhooks.ts | 3 +- .../phrases/src/locales/fr/errors/entity.ts | 6 +- .../phrases/src/locales/fr/errors/oidc.ts | 24 +-- .../src/locales/fr/errors/organization.ts | 3 +- .../phrases/src/locales/fr/errors/session.ts | 41 ++-- .../src/locales/fr/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/fr/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 50 ++--- .../fr/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 196 ++++++----------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 20 +- .../admin-console/subscription/quota-table.ts | 7 +- .../fr/translation/admin-console/tabs.ts | 13 +- .../fr/translation/admin-console/tenants.ts | 134 ++++-------- .../admin-console/upsell/paywall.ts | 31 ++- .../translation/admin-console/user-details.ts | 32 +-- .../fr/translation/admin-console/webhooks.ts | 3 +- .../phrases/src/locales/it/errors/entity.ts | 6 +- .../phrases/src/locales/it/errors/oidc.ts | 22 +- .../src/locales/it/errors/organization.ts | 3 +- .../phrases/src/locales/it/errors/session.ts | 40 ++-- .../src/locales/it/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/it/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../it/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 196 ++++++----------- .../translation/admin-console/role-details.ts | 13 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 9 +- .../it/translation/admin-console/tabs.ts | 9 +- .../it/translation/admin-console/tenants.ts | 129 ++++------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 30 +-- .../it/translation/admin-console/webhooks.ts | 3 +- .../phrases/src/locales/ja/errors/entity.ts | 7 +- .../phrases/src/locales/ja/errors/oidc.ts | 22 +- .../src/locales/ja/errors/organization.ts | 3 +- .../phrases/src/locales/ja/errors/session.ts | 13 -- .../src/locales/ja/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/ja/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 5 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../ja/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 193 ++++++----------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 16 +- .../admin-console/subscription/quota-table.ts | 7 +- .../ja/translation/admin-console/tabs.ts | 7 +- .../ja/translation/admin-console/tenants.ts | 49 +---- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 30 +-- .../ja/translation/admin-console/webhooks.ts | 1 - .../phrases/src/locales/ko/errors/entity.ts | 6 +- .../phrases/src/locales/ko/errors/oidc.ts | 18 +- .../src/locales/ko/errors/organization.ts | 3 +- .../phrases/src/locales/ko/errors/session.ts | 15 +- .../src/locales/ko/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/ko/errors/user.ts | 3 - .../admin-console/api-resource-details.ts | 19 +- .../admin-console/enterprise-sso.ts | 51 ++--- .../ko/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 193 ++++++----------- .../translation/admin-console/role-details.ts | 14 +- .../admin-console/subscription/quota-item.ts | 18 +- .../admin-console/subscription/quota-table.ts | 7 +- .../ko/translation/admin-console/tabs.ts | 11 +- .../ko/translation/admin-console/tenants.ts | 134 ++++-------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 32 +-- .../ko/translation/admin-console/webhooks.ts | 22 +- .../src/locales/pl-pl/errors/entity.ts | 7 +- .../phrases/src/locales/pl-pl/errors/oidc.ts | 18 +- .../src/locales/pl-pl/errors/organization.ts | 3 +- .../src/locales/pl-pl/errors/session.ts | 40 ++-- .../locales/pl-pl/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/pl-pl/errors/user.ts | 3 - .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 50 ++--- .../translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 58 ++--- .../admin-console/organizations.ts | 196 ++++++----------- .../translation/admin-console/role-details.ts | 14 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 7 +- .../pl-pl/translation/admin-console/tabs.ts | 5 +- .../translation/admin-console/tenants.ts | 118 ++++------ .../admin-console/upsell/paywall.ts | 13 +- .../translation/admin-console/user-details.ts | 54 ++--- .../translation/admin-console/webhooks.ts | 1 - .../src/locales/pt-br/errors/entity.ts | 7 +- .../phrases/src/locales/pt-br/errors/oidc.ts | 26 +-- .../src/locales/pt-br/errors/organization.ts | 3 +- .../src/locales/pt-br/errors/session.ts | 42 ++-- .../locales/pt-br/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/pt-br/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 5 +- .../admin-console/enterprise-sso.ts | 50 ++--- .../translation/admin-console/general.ts | 26 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 198 ++++++----------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 17 +- .../pt-br/translation/admin-console/tabs.ts | 7 +- .../translation/admin-console/tenants.ts | 128 ++++------- .../admin-console/upsell/paywall.ts | 13 +- .../translation/admin-console/user-details.ts | 30 +-- .../translation/admin-console/webhooks.ts | 5 +- .../src/locales/pt-pt/errors/entity.ts | 9 +- .../phrases/src/locales/pt-pt/errors/oidc.ts | 18 +- .../src/locales/pt-pt/errors/organization.ts | 3 +- .../src/locales/pt-pt/errors/session.ts | 40 ++-- .../locales/pt-pt/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/pt-pt/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 9 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 198 ++++++----------- .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 18 +- .../admin-console/subscription/quota-table.ts | 7 +- .../pt-pt/translation/admin-console/tabs.ts | 13 +- .../translation/admin-console/tenants.ts | 130 ++++------- .../admin-console/upsell/paywall.ts | 13 +- .../translation/admin-console/user-details.ts | 30 +-- .../translation/admin-console/webhooks.ts | 3 +- .../phrases/src/locales/ru/errors/entity.ts | 9 +- .../phrases/src/locales/ru/errors/oidc.ts | 18 +- .../src/locales/ru/errors/organization.ts | 3 +- .../phrases/src/locales/ru/errors/session.ts | 41 ++-- .../src/locales/ru/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/ru/errors/user.ts | 3 - .../admin-console/api-resource-details.ts | 3 +- .../admin-console/application-details.ts | 8 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../ru/translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 58 ++--- .../admin-console/organizations.ts | 196 ++++++----------- .../translation/admin-console/role-details.ts | 8 +- .../admin-console/subscription/quota-item.ts | 12 +- .../admin-console/subscription/quota-table.ts | 7 +- .../ru/translation/admin-console/tabs.ts | 7 +- .../ru/translation/admin-console/tenants.ts | 127 ++++------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 30 +-- .../ru/translation/admin-console/webhooks.ts | 3 +- .../src/locales/tr-tr/errors/entity.ts | 6 +- .../phrases/src/locales/tr-tr/errors/oidc.ts | 38 ++-- .../src/locales/tr-tr/errors/organization.ts | 3 +- .../src/locales/tr-tr/errors/session.ts | 13 -- .../locales/tr-tr/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/tr-tr/errors/user.ts | 3 - .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 52 ++--- .../translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 197 ++++++----------- .../translation/admin-console/role-details.ts | 8 +- .../admin-console/subscription/quota-item.ts | 44 ++-- .../admin-console/subscription/quota-table.ts | 7 +- .../tr-tr/translation/admin-console/tabs.ts | 9 +- .../translation/admin-console/tenants.ts | 136 ++++-------- .../admin-console/upsell/paywall.ts | 3 - .../translation/admin-console/user-details.ts | 30 +-- .../translation/admin-console/webhooks.ts | 1 - .../src/locales/zh-cn/errors/entity.ts | 4 +- .../phrases/src/locales/zh-cn/errors/oidc.ts | 20 +- .../src/locales/zh-cn/errors/organization.ts | 3 +- .../src/locales/zh-cn/errors/session.ts | 13 -- .../locales/zh-cn/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/zh-cn/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 51 ++--- .../translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 57 ++--- .../admin-console/organizations.ts | 202 ++++++------------ .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 24 +-- .../admin-console/subscription/quota-table.ts | 9 +- .../zh-cn/translation/admin-console/tabs.ts | 11 +- .../translation/admin-console/tenants.ts | 140 ++++-------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 32 +-- .../translation/admin-console/webhooks.ts | 4 +- .../src/locales/zh-hk/errors/entity.ts | 5 +- .../phrases/src/locales/zh-hk/errors/oidc.ts | 18 +- .../src/locales/zh-hk/errors/organization.ts | 3 +- .../src/locales/zh-hk/errors/session.ts | 40 ++-- .../locales/zh-hk/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/zh-hk/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 3 +- .../admin-console/application-details.ts | 6 +- .../admin-console/enterprise-sso.ts | 51 ++--- .../translation/admin-console/general.ts | 26 +-- .../admin-console/organization-details.ts | 58 ++--- .../admin-console/organizations.ts | 202 ++++++------------ .../translation/admin-console/role-details.ts | 12 +- .../admin-console/subscription/quota-item.ts | 24 +-- .../admin-console/subscription/quota-table.ts | 9 +- .../zh-hk/translation/admin-console/tabs.ts | 11 +- .../translation/admin-console/tenants.ts | 138 ++++-------- .../admin-console/upsell/paywall.ts | 23 +- .../translation/admin-console/user-details.ts | 38 ++-- .../translation/admin-console/webhooks.ts | 4 +- .../src/locales/zh-tw/errors/entity.ts | 5 +- .../phrases/src/locales/zh-tw/errors/oidc.ts | 18 +- .../src/locales/zh-tw/errors/organization.ts | 3 +- .../src/locales/zh-tw/errors/session.ts | 46 ++-- .../locales/zh-tw/errors/single-sign-on.ts | 6 +- .../phrases/src/locales/zh-tw/errors/user.ts | 9 +- .../admin-console/api-resource-details.ts | 3 +- .../admin-console/enterprise-sso.ts | 51 ++--- .../translation/admin-console/general.ts | 24 +-- .../admin-console/organization-details.ts | 58 ++--- .../admin-console/organizations.ts | 202 ++++++------------ .../translation/admin-console/role-details.ts | 10 +- .../admin-console/subscription/quota-item.ts | 24 +-- .../admin-console/subscription/quota-table.ts | 15 +- .../zh-tw/translation/admin-console/tabs.ts | 9 +- .../translation/admin-console/tenants.ts | 140 ++++-------- .../admin-console/upsell/paywall.ts | 9 +- .../translation/admin-console/user-details.ts | 32 +-- .../translation/admin-console/webhooks.ts | 6 +- 270 files changed, 2971 insertions(+), 5975 deletions(-) diff --git a/packages/cli/src/commands/translate/openai.ts b/packages/cli/src/commands/translate/openai.ts index 0864943a4..551465d45 100644 --- a/packages/cli/src/commands/translate/openai.ts +++ b/packages/cli/src/commands/translate/openai.ts @@ -50,7 +50,7 @@ export const translate = async ({ api .post('chat/completions', { json: { - model: 'gpt-3.5-turbo', + model: 'gpt-3.5-turbo-1106', messages: getTranslationPromptMessages({ sourceFileContent, targetLanguage, diff --git a/packages/phrases/src/locales/de/errors/entity.ts b/packages/phrases/src/locales/de/errors/entity.ts index 8df53c2df..f17f1b3fc 100644 --- a/packages/phrases/src/locales/de/errors/entity.ts +++ b/packages/phrases/src/locales/de/errors/entity.ts @@ -5,11 +5,10 @@ const entity = { not_exists: '{{name}} existiert nicht.', not_exists_with_id: '{{name}} mit ID `{{id}}` existiert nicht.', not_found: 'Die Ressource wurde nicht gefunden.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Ein oder mehrere Fremdschlüssel konnten nicht gefunden werden. Bitte überprüfen Sie die Eingabe und stellen Sie sicher, dass alle referenzierten Einträge vorhanden sind.', + unique_integrity_violation: + 'Die Entität besteht bereits. Bitte überprüfen Sie die Eingabe und versuchen Sie es erneut.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/de/errors/oidc.ts b/packages/phrases/src/locales/de/errors/oidc.ts index 2d8ec2fa0..cd5894835 100644 --- a/packages/phrases/src/locales/de/errors/oidc.ts +++ b/packages/phrases/src/locales/de/errors/oidc.ts @@ -1,29 +1,24 @@ const oidc = { aborted: 'Der Endnutzer hat die Interaktion abgebrochen.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Ungültiger Anwendungsbereich: {{error_description}}.', invalid_token: 'Ungültiger Token übermittelt.', invalid_client_metadata: 'Ungültige Client Metadaten übermittelt.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Token fehlt den Anwendungsbereich `{{scope}}`.', invalid_request: 'Anfrage ist ungültig.', - invalid_grant: 'Grant request ist ungültig.', + invalid_grant: 'Grant Anfrage ist ungültig.', invalid_redirect_uri: '`redirect_uri` stimmt nicht mit den registrierten `redirect_uris` des Clients überein.', access_denied: 'Zugang verweigert.', - invalid_target: 'Ungültiger resource indicator.', + invalid_target: 'Ungültiger Ressourcenindikator.', unsupported_grant_type: 'Nicht unterstützter `grant_type` angefragt.', unsupported_response_mode: 'Nicht unterstützter `response_mode` angefragt.', unsupported_response_type: 'Nicht unterstützter `response_type` angefragt.', provider_error: 'OIDC interner Fehler: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: + 'Ein unbekannter OIDC Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.', + provider_error_fallback: 'Ein OIDC Fehler ist aufgetreten: {{code}}.', + key_required: 'Mindestens ein Schlüssel ist erforderlich.', + key_not_found: 'Der Schlüssel mit der ID {{id}} wurde nicht gefunden.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/de/errors/organization.ts b/packages/phrases/src/locales/de/errors/organization.ts index 2752f71f9..3c1fb4925 100644 --- a/packages/phrases/src/locales/de/errors/organization.ts +++ b/packages/phrases/src/locales/de/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'Der Benutzer muss Mitglied der Organisation sein, um fortzufahren.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/de/errors/session.ts b/packages/phrases/src/locales/de/errors/session.ts index 26318850c..2caefd3c7 100644 --- a/packages/phrases/src/locales/de/errors/session.ts +++ b/packages/phrases/src/locales/de/errors/session.ts @@ -10,12 +10,11 @@ const session = { 'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.', verification_expired: 'Die Verbindung wurde unterbrochen. Verifiziere erneut, um die Sicherheit deines Kontos zu gewährleisten.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Zu viele Versuche in kurzer Zeit. Bitte versuche es erneut {{relativeTime}}.', unauthorized: 'Bitte melde dich erst an.', unsupported_prompt_name: 'Nicht unterstützter prompt Name.', - forgot_password_not_enabled: 'Forgot password is not enabled.', + forgot_password_not_enabled: 'Passwort vergessen ist nicht aktiviert.', verification_failed: 'Die Verifizierung war nicht erfolgreich. Starte die Verifizierung neu und versuche es erneut.', connector_validation_session_not_found: @@ -24,31 +23,21 @@ const session = { 'Benutzerkennung nicht gefunden. Bitte gehen Sie zurück und melden Sie sich erneut an.', interaction_not_found: 'Interaktionssitzung nicht gefunden. Bitte gehen Sie zurück und starten Sie die Sitzung erneut.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: + 'Diese Operation wird für das vergessene Passwort nicht unterstützt.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'MFA-Verifizierung ist erforderlich, um sich anzumelden.', + mfa_sign_in_only: 'MFA ist nur für die Anmeldeinteraktion verfügbar.', + pending_info_not_found: + 'Ausstehende MFA-Informationen nicht gefunden. Bitte initiieren Sie zuerst MFA.', + invalid_totp_code: 'Ungültiger TOTP-Code.', + webauthn_verification_failed: 'WebAuthn-Verifizierung fehlgeschlagen.', + webauthn_verification_not_found: 'WebAuthn-Verifizierung nicht gefunden.', + bind_mfa_existed: 'MFA ist bereits vorhanden.', + backup_code_can_not_be_alone: 'Backup-Code kann nicht die einzige MFA sein.', + backup_code_required: 'Backup-Code ist erforderlich.', + invalid_backup_code: 'Ungültiger Backup-Code.', + mfa_policy_not_user_controlled: 'MFA-Richtlinie wird nicht vom Benutzer gesteuert.', }, sso_enabled: 'Einmaliges Anmelden ist für diese gegebene E-Mail aktiviert. Bitte melden Sie sich mit SSO an.', diff --git a/packages/phrases/src/locales/de/errors/single-sign-on.ts b/packages/phrases/src/locales/de/errors/single-sign-on.ts index 4950a49e2..2828bf200 100644 --- a/packages/phrases/src/locales/de/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/de/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Öffentliche E-Mail-Domänen sind nicht erlaubt.', + duplicated_domains: 'Es gibt doppelte Domänen.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/de/errors/user.ts b/packages/phrases/src/locales/de/errors/user.ts index 70c2456fe..34f4b6dfa 100644 --- a/packages/phrases/src/locales/de/errors/user.ts +++ b/packages/phrases/src/locales/de/errors/user.ts @@ -34,12 +34,9 @@ const user = { role_exists: 'Die Rollen-ID {{roleId}} wurde diesem Benutzer bereits hinzugefügt.', invalid_role_type: 'Ungültiger Rollentyp, kann keine Maschinen-zu-Maschinen-Rolle einem Benutzer zuweisen.', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: 'Sie müssen zusätzliches MFA verbinden, bevor Sie sich anmelden können.', + totp_already_in_use: 'TOTP wird bereits verwendet.', + backup_code_already_in_use: 'Backup-Code wird bereits verwendet.', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/de/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/de/translation/admin-console/api-resource-details.ts index e9b5b4964..95f256ae4 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/api-resource-details.ts @@ -8,14 +8,13 @@ const api_resource_details = { 'API-Ressourcen, auch Ressourcenindikatoren genannt, geben die Ziel-Dienste oder Ressourcen an, die angefordert werden sollen. Häufig handelt es sich um eine URI-Formatvariable, die die Identität der Ressource darstellt.', management_api_settings_description: 'Die Logto Management-API ist eine umfassende Sammlung von APIs, die Administratoren befähigen, eine Vielzahl von Aufgaben im Zusammenhang mit Identitäten zu verwalten, Sicherheitsrichtlinien durchzusetzen und Vorschriften und Standards einzuhalten.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'Diese API repräsentiert die Logto-Entität und kann nicht geändert oder gelöscht werden. Sie können die Management-API für eine Vielzahl von identitätsbezogenen Aufgaben verwenden. Informieren Sie sich', token_expiration_time_in_seconds: 'Token-Ablaufzeit (in Sekunden)', - token_expiration_time_in_seconds_placeholder: 'Gib die Ablaufzeit des Tokens ein', + token_expiration_time_in_seconds_placeholder: 'Geben Sie die Ablaufzeit des Tokens ein', delete_description: - 'Diese Aktion kann nicht rückgängig gemacht werden. Die API-Ressource wird permanent gelöscht. Bitte gib den API-Ressourcennamen {{name}} zur Bestätigung ein.', - enter_your_api_resource_name: 'Gib einen API-Ressourcennamen ein', + 'Diese Aktion kann nicht rückgängig gemacht werden. Die API-Ressource wird permanent gelöscht. Bitte geben Sie den API-Ressourcennamen {{name}} zur Bestätigung ein.', + enter_your_api_resource_name: 'Geben Sie einen API-Ressourcennamen ein', api_resource_deleted: 'Die API-Ressource {{name}} wurde erfolgreich gelöscht', permission: { create_button: 'Berechtigung erstellen', diff --git a/packages/phrases/src/locales/de/translation/admin-console/application-details.ts b/packages/phrases/src/locales/de/translation/admin-console/application-details.ts index b7dba9796..06cdaea13 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/application-details.ts @@ -37,7 +37,7 @@ const application_details = { cors_allowed_origins: 'CORS zugelassene Ursprünge', cors_allowed_origins_placeholder: 'https://your.website.de', cors_allowed_origins_tip: - 'Standardmäßig sind alle Umleitungs-URI-Ursprünge zulässig. Normalerweise ist dieses Feld nicht erforderlich. Siehe die MDN-Dokumentation für detaillierte Informationen.', + 'Standardmäßig sind alle Umleitungs-URI-Ursprünge zulässig. Normalerweise ist dieses Feld nicht erforderlich. Siehe die MDN-Dokumentationfür detaillierte Informationen.', token_endpoint: 'Token-Endpunkt', user_info_endpoint: 'Benutzerinformations-Endpunkt', enable_admin_access: 'Admin-Zugang aktivieren', diff --git a/packages/phrases/src/locales/de/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/de/translation/admin-console/enterprise-sso.ts index a938e55e1..f4f158475 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ page_title: 'Enterprise SSO', - /** UNTRANSLATED */ title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ + subtitle: + 'Verbinden Sie den Unternehmensidentitätsanbieter und aktivieren Sie das SP-gesteuerte Single Sign-On.', + create: 'Unternehmensconnector hinzufügen', + col_connector_name: 'Connector-Name', + col_type: 'Typ', + col_email_domain: 'E-Mail-Domain', col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + col_status_in_use: 'In Verwendung', + col_status_invalid: 'Ungültig', + placeholder_title: 'Unternehmensconnector', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto hat viele integrierte Unternehmensidentitätsanbieter zur Verbindung bereitgestellt. Gleichzeitig können Sie Ihren eigenen Anbieter mit Standardprotokollen erstellen.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Unternehmensconnector hinzufügen', + text_divider: 'Oder Sie können Ihren Connector mit einem Standardprotokoll anpassen.', + connector_name_field_title: 'Connector-Name', + connector_name_field_placeholder: 'Name für den Unternehmensidentitätsanbieter', + create_button_text: 'Connector erstellen', }, }; diff --git a/packages/phrases/src/locales/de/translation/admin-console/general.ts b/packages/phrases/src/locales/de/translation/admin-console/general.ts index a18cbba39..9bc2fa460 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Kopiert', required: 'Erforderlich', add_another: 'Weitere hinzufügen', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Erstellen Sie ein anderes', deletion_confirmation: 'Willst du {{title}} wirklich löschen?', settings_nav: 'Einstellungen', unsaved_changes_warning: @@ -60,22 +59,15 @@ const general = { unknown_error: 'Unbekannter Fehler, bitte versuchen Sie es später erneut.', select: 'Auswählen', contact_us_action: 'Kontaktiere uns', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ + description: 'Beschreibung', name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + add_field: 'Füge {{field}} hinzu', + create_field: 'Erstelle {{field}}', + edit_field: 'Bearbeite {{field}}', + delete_field: 'Lösche {{field}}', coming_soon: 'Demnächst verfügbar', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} befindet sich derzeit in der Beta-Phase. Willkommen, es zu erkunden und Geben Sie Ihr Feedback.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/de/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/de/translation/admin-console/organization-details.ts index 3a2a5a8ad..5deb35142 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Organisationsdetails', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Wenn gelöscht, verlieren alle Mitglieder ihre Mitgliedschaft und Rollen in dieser Organisation. Diese Aktion kann nicht rückgängig gemacht werden.', + organization_id: 'Organisations-ID', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Eine Organisation ist eine Gruppe von Identitäten (normalerweise Benutzer), die durch einen gemeinsamen Bezeichner erkannt werden.\n\nJede Organisation hat ihren eigenen Satz von Mitgliedern, Rollen und Berechtigungen, während die Rollen und Berechtigungen von der Organisationsschablone definiert werden.', + name_placeholder: 'Der Name der Organisation, muss nicht eindeutig sein.', + description_placeholder: 'Eine Beschreibung der Organisation.', + member: 'Mitglied', + member_other: 'Mitglieder', + add_members_to_organization: 'Mitglieder zur Organisation {{name}} hinzufügen', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Suchen Sie nach geeigneten Benutzern, indem Sie nach Name, E-Mail, Telefon oder Benutzer-ID suchen. In den Suchergebnissen werden keine bereits vorhandenen Mitglieder angezeigt.', + add_with_organization_role: 'Mit Organisation Rollen hinzufügen', + user: 'Benutzer', + authorize_to_roles: 'Berechtige {{name}} auf die folgenden Rollen zuzugreifen:', + edit_organization_roles: 'Organisationsrollen bearbeiten', + edit_organization_roles_of_user: 'Organisationsrollen von {{name}} bearbeiten', + remove_user_from_organization: 'Benutzer von der Organisation entfernen', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Wenn entfernt, verliert der Benutzer seine Mitgliedschaft und Rollen in dieser Organisation. Diese Aktion kann nicht rückgängig gemacht werden.', + search_user_placeholder: 'Nach Name, E-Mail, Telefon oder Benutzer-ID suchen', + at_least_one_user: 'Mindestens ein Benutzer ist erforderlich.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/de/translation/admin-console/organizations.ts b/packages/phrases/src/locales/de/translation/admin-console/organizations.ts index d6f9220af..9325db9cf 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organisationen', + title: 'Organisationen', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Vertreten Sie die Teams, Geschäftskunden und Partnerunternehmen, die über Ihre Anwendungen als Organisationen zugreifen.', + organization_id: 'Organisations-ID', + members: 'Mitglieder', + create_organization: 'Organisation erstellen', + setup_organization: 'Richten Sie Ihre Organisation ein', + organization_list_placeholder_title: 'Organisation', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'Organisation wird normalerweise in SaaS- oder SaaS-ähnlichen Multi-Tenancy-Anwendungen verwendet. Die Funktion "Organisationen" ermöglicht es Ihren B2B-Kunden, ihre Partner und Kunden besser zu verwalten und die Art und Weise anzupassen, wie Endbenutzer auf ihre Anwendungen zugreifen.', + organization_name_placeholder: 'Meine Organisation', + organization_description_placeholder: 'Eine kurze Beschreibung der Organisation', + organization_permission: 'Organisationsberechtigung', + organization_permission_other: 'Organisationsberechtigungen', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Eine Organisationsberechtigung bezieht sich auf die Autorisierung zum Zugriff auf eine Ressource im Kontext der Organisation. Eine Organisationsberechtigung sollte als aussagekräftiger String repräsentiert werden, der auch als Name und eindeutiger Bezeichner dient.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Wenn diese Berechtigung gelöscht wird, verlieren alle Organisationsrollen, einschließlich dieser Berechtigung, diese Berechtigung. Benutzer, die diese Berechtigung hatten, verlieren den Zugriff, der durch sie gewährt wurde.', + create_permission_placeholder: 'Terminkalenderverlauf lesen', + permission: 'Berechtigung', + permission_other: 'Berechtigungen', + organization_role: 'Organisationsrolle', + organization_role_other: 'Organisationsrollen', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'Eine Organisationsrolle ist eine Gruppierung von Berechtigungen, die Benutzern zugewiesen werden können. Die Berechtigungen müssen aus den vordefinierten Organisationsberechtigungen stammen.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Dadurch werden die mit dieser Rolle verbundenen Berechtigungen von den betroffenen Benutzern entfernt und die Beziehungen zwischen Organisationsrollen, Mitgliedern in der Organisation und Organisationsberechtigungen gelöscht.', + role: 'Rolle', + create_role_placeholder: 'Benutzer mit nur Lesezugriff', + search_placeholder: 'Nach Organisation suchen', + search_permission_placeholder: 'Geben Sie zum Suchen und Auswählen von Berechtigungen ein', + search_role_placeholder: 'Geben Sie zum Suchen und Auswählen von Rollen ein', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Starten Sie mit Anleitungen', + subtitle: 'Starten Sie Ihren App-Entwicklungsprozess mit unseren Anleitungen', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Zunächst einmal sollten Sie verstehen, wie Organisationen in Logto funktionieren', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'In Multi-Tenant-SaaS-Anwendungen erstellen wir oft mehrere Organisationen mit demselben Satz von Berechtigungen und Rollen, aber im Kontext einer Organisation kann es eine wichtige Rolle spielen, um unterschiedliche Zugriffsebenen zu steuern. Denken Sie daran, dass jeder Mandant wie eine Logto-Organisation ist und sie natürlicherweise dieselbe Zugriffskontroll-“Vorlage” teilen. Wir nennen dies die "Organisation-Vorlage".', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'Die Organisation-Vorlage besteht aus zwei Teilen', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Eine Organisationsberechtigung bezieht sich auf die Autorisierung zum Zugriff auf eine Ressource im Kontext der Organisation. Eine Organisationsberechtigung sollte als aussagekräftiger String repräsentiert werden, der auch als Name und eindeutiger Bezeichner dient.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'Eine Organisationsrolle ist eine Gruppierung von Berechtigungen, die Benutzern zugewiesen werden können. Die Berechtigungen müssen aus den vordefinierten Organisationsberechtigungen stammen.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Interagieren Sie mit der Abbildung, um zu sehen, wie alles zusammenhängt', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Nehmen wir ein Beispiel. John, Sarah und Tony gehören unterschiedlichen Organisationen an, mit unterschiedlichen Rollen im Kontext unterschiedlicher Organisationen. Zeigen Sie auf die verschiedenen Module und sehen Sie, was passiert.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Schritt 1: Organisationsberechtigungen definieren', + step_2: 'Schritt 2: Organisationsrollen definieren', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Organisation-Rollen" repräsentieren einen Satz von Rollen, die jeder Organisation zu Beginn zugewiesen werden. Diese Rollen werden durch die globalen Berechtigungen bestimmt, die Sie in der vorherigen Ansicht festgelegt haben. Ähnlich wie bei den Org-Berechtigungen müssen Sie diese Einstellung nach dem ersten Mal nicht mehr jedes Mal durchführen, wenn Sie eine neue Organisation erstellen.', + step_3: 'Schritt 3: Erstellen Sie Ihre erste Organisation', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ + 'Erstellen Sie Ihre erste Organisation. Sie erhält eine eindeutige ID und dient als Container zur Verwaltung verschiedener identitätsbezogener Elemente wie Partner, Kunden und deren Zugriffskontrolle.', + more_next_steps: 'Weitere Schritte', + add_members: 'Fügen Sie Mitglieder zu Ihrer Organisation hinzu', + add_members_action: 'Massenhafte Mitglieder hinzufügen und Rollen zuweisen', + add_enterprise_connector: 'Unternehmens-SSO hinzufügen', + add_enterprise_connector_action: 'Einrichten des Unternehmens-SSO', + organization_permissions: 'Organisationsberechtigungen', + permission_name: 'Berechtigungsname', + permissions: 'Berechtigungen', + organization_roles: 'Organisationsrollen', + role_name: 'Rollenname', + organization_name: 'Organisationsname', admin: 'Admin', - /** UNTRANSLATED */ admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Die Rolle "Admin" teilt sich über verschiedene Organisationen hinweg dieselbe Organisationsvorlage.', + member: 'Mitglied', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Die Rolle "Mitglied" teilt sich über verschiedene Organisationen hinweg dieselbe Organisationsvorlage.', + guest: 'Gast', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Die Rolle "Gast" teilt sich über verschiedene Organisationen hinweg dieselbe Organisationsvorlage.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ + 'Sie können in den Einstellungen der Organisationsvorlage weitere Rollen erstellen. Diese Organisationsrollen gelten für verschiedene Organisationen.', read_resource: 'read:resource', - /** UNTRANSLATED */ edit_resource: 'edit:resource', - /** UNTRANSLATED */ delete_resource: 'delete:resource', - /** UNTRANSLATED */ ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johnny gehört zwei Organisationen an und hat die E-Mail-Adresse "john@email.com" als einzigen Identifier. Er ist Admin der Organisation A und Gast der Organisation B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah gehört einer Organisation an und hat die E-Mail-Adresse "sarah@email.com" als einzigen Identifier. Sie ist Admin der Organisation B.', + tony: 'Tony gehört einer Organisation an und hat die E-Mail-Adresse "tony@email.com" als einzigen Identifier. Er ist Mitglied der Organisation C.', }, }; diff --git a/packages/phrases/src/locales/de/translation/admin-console/role-details.ts b/packages/phrases/src/locales/de/translation/admin-console/role-details.ts index c9711b6e2..55dcc0689 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/role-details.ts @@ -44,11 +44,9 @@ const role_details = { assign_title: 'Benutzer zuweisen', assign_subtitle: 'Weisen Sie Benutzer dieser Rolle zu. Finden Sie geeignete Benutzer, indem Sie nach Name, E-Mail, Telefon oder Benutzer-ID suchen.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Benutzer zuweisen', confirm_assign: 'Benutzer zuweisen', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Die ausgewählten Benutzer wurden erfolgreich dieser Rolle zugewiesen', empty: 'Kein Benutzer verfügbar', }, applications: { @@ -62,11 +60,9 @@ const role_details = { assign_title: 'Apps zuweisen', assign_subtitle: 'Weisen Sie dieser Rolle Anwendungen zu. Finden Sie geeignete Anwendungen, indem Sie nach Name, Beschreibung oder App-ID suchen.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Apps zuweisen', confirm_assign: 'Apps zuweisen', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Die ausgewählten Anwendungen wurden erfolgreich dieser Rolle zugewiesen', empty: 'Keine Anwendung verfügbar', }, }; diff --git a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts index 7e57bdf61..17e45fc0b 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Entferne deine benutzerdefinierte Domain', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Deaktiviere dein SSO', }, built_in_email_connector_enabled: { name: 'Integrierter E-Mail-Connector', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Entferne deine Webhooks', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Entferne deine Organisationen', }, audit_logs_retention_days: { name: 'Audit-Log-Retention', diff --git a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts index 05e1bb66e..005d2824e 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Benutzerauthentifizierung', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Passwort', passwordless: 'Passwortlos - E-Mail und SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organisation', + organization: 'Organisation (Q4, 2023)', }, support: { title: 'Support', diff --git a/packages/phrases/src/locales/de/translation/admin-console/tabs.ts b/packages/phrases/src/locales/de/translation/admin-console/tabs.ts index e675026c1..d350a5fca 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API Ressourcen', sign_in_experience: 'Anmeldeoberfläche', connectors: 'Connectoren', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'Unternehmens-SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organisationen', users: 'Benutzerverwaltung', - audit_logs: 'Audit logs', + audit_logs: 'Audit-Logs', roles: 'Rollen', docs: 'Dokumentation', tenant_settings: 'Einstellungen', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + mfa: 'Multi-Faktor-Authentifizierung', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/de/translation/admin-console/tenants.ts b/packages/phrases/src/locales/de/translation/admin-console/tenants.ts index 2ca3287c5..737db555f 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/tenants.ts @@ -13,26 +13,22 @@ const tenants = { 'Geben Sie den Mandanten-Namen ein und sehen Sie Ihre Daten in der gehosteten Region und mit dem Umgebungstag an.', tenant_id: 'Mieter-ID', tenant_name: 'Mietername', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Gehostete Region der Daten', + tenant_region_tip: + 'Ihre Mandantenressourcen werden in {{region}} gehostet. Mehr erfahren', environment_tag: 'Umgebungsmarke', environment_tag_description: 'Tags verändern den Service nicht. Sie dienen lediglich zur Unterscheidung verschiedener Umgebungen.', environment_tag_development: 'Entw', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + 'Die Entwicklungsumgebung wird hauptsächlich zum Testen verwendet und enthält alle Pro-Funktionen, weist jedoch Wasserzeichen im Anmeldeerlebnis auf. Mehr erfahren', tenant_info_saved: 'Mieterinformationen erfolgreich gespeichert.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Entwicklung', + production: 'Produktion', }, deletion_card: { title: 'LÖSCHEN', @@ -44,57 +40,42 @@ const tenants = { create_modal: { title: 'Mieter erstellen', subtitle: 'Erstellen Sie einen neuen Mieter, um Ressourcen und Benutzer zu trennen.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Erstellen Sie einen neuen Mandanten, um Ressourcen und Benutzer zu trennen. Region und Umgebungsmarkierungen können nach der Erstellung nicht geändert werden.', + tenant_usage_purpose: 'Wofür möchten Sie diesen Mieter verwenden?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Die Entwicklungsumgebung wird hauptsächlich zum Testen verwendet und sollte nicht in einer Produktionsumgebung verwendet werden.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Die Entwicklungsumgebung wird hauptsächlich zum Testen verwendet und sollte nicht in einer Produktionsumgebung verwendet werden.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Produktion ist der Ort, an dem Live-Software von Endbenutzern verwendet wird und möglicherweise ein kostenpflichtiges Abonnement erfordert.', + available_plan: 'Verfügbare Pläne:', create_button: 'Mieter erstellen', tenant_name_placeholder: 'Mein Mieter', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Sie können jetzt auf alle Funktionen von Logto Pro in Ihrer Entwicklungsumgebung zugreifen!', + allow_pro_features_description: 'Es ist komplett kostenlos, ohne Testphase – für immer!', + explore_all_features: 'Alle Funktionen erkunden', + impact_title: 'Hat das Auswirkungen auf mich?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Ihr Mandanten-Label wurde von "Staging" in "Produktion" geändert, aber diese Änderung hat keine Auswirkungen auf Ihr aktuelles Setup.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Wenn Sie sich für den Logto Hobbyplan anmelden, wird Ihr vorheriges "Entwicklung"-Mandanten-Tag in "Produktion" geändert, und dies hat keine Auswirkung auf Ihr bestehendes Setup.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Wenn Sie sich noch in der Entwicklungsphase befinden, können Sie einen neuen Entwicklungsmandanten erstellen, um auf mehr Pro-Funktionen zuzugreifen.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Wenn Sie sich in der Produktionsphase oder in einer Produktionsumgebung befinden, müssen Sie sich immer noch für einen spezifischen Plan anmelden. Sie müssen also im Moment nichts tun.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Zögern Sie nicht, uns zu kontaktieren, wenn Sie Hilfe benötigen! Vielen Dank, dass Sie Logto gewählt haben!', }, delete_modal: { title: 'Mieter löschen', description_line1: - 'Möchten Sie Ihren Mieter "{{name}}" mit Umgebungssuffix-Tag "{{tag}}" wirklich löschen? Der Vorgang kann nicht rückgängig gemacht werden und führt zur dauerhaften Löschung aller Ihrer Daten und Kontoinformationen.', + 'Möchten Sie wirklich Ihren Mandanten "{{name}}" mit Umgebungssuffix-Tag "{{tag}}" löschen? Dieser Vorgang kann nicht rückgängig gemacht werden und führt zur dauerhaften Löschung aller Ihrer Daten und Kontoinformationen.', description_line2: - 'Bevor Sie Ihr Konto löschen, können wir Ihnen vielleicht helfen. Kontaktieren Sie uns per E-Mail', + 'Bevor Sie Ihren Mieter löschen, können wir Ihnen vielleicht helfen. Kontaktieren Sie uns per E-Mail', description_line3: 'Wenn Sie fortfahren möchten, geben Sie bitte den Mieter-Namen "{{name}}" zur Bestätigung ein.', delete_button: 'Dauerhaft löschen', @@ -121,67 +102,45 @@ const tenants = { 'Wenn Sie weitere Informationen wünschen, Bedenken haben oder die volle Funktionalität wiederherstellen und Ihre Mieter entsperren möchten, zögern Sie nicht, uns umgehend zu kontaktieren.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'SIGNIERUNGSSCHLÜSSEL', + description: 'Sicherer Umgang mit Signierungsschlüsseln in Ihrem Mandanten.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC-Private Keys', + cookie_key: 'OIDC-Cookie-Keys', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Verwendete private Schlüssel', + cookie_keys_in_use: 'Verwendete Cookie-Schlüssel', + rotate_private_keys: 'Private Schlüssel rotieren', + rotate_cookie_keys: 'Cookie-Schlüssel rotieren', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Diese Aktion erstellt einen neuen privaten Signierungsschlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre JWT-Token, die mit dem aktuellen Schlüssel signiert sind, bleiben gültig, bis sie gelöscht oder erneut rotiert werden.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Diese Aktion erstellt einen neuen Cookie-Schlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre Cookies mit dem aktuellen Schlüssel bleiben gültig, bis sie gelöscht oder erneut rotiert werden.', + select_private_key_algorithm: + 'Signierungsalgorithmus für den neuen privaten Schlüssel auswählen', + rotate_button: 'Rotieren', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + algorithm: 'Signierungsschlüssel Algorithmus', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Aktuell', + previous: 'Vorherige', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Sind Sie sicher, dass Sie die OIDC-Private Keys rotieren möchten? Neue ausgestellte JWT-Token werden vom neuen Schlüssel signiert. Bestehende JWT-Token bleiben gültig, bis Sie sie erneut rotieren.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Sind Sie sicher, dass Sie die OIDC-Cookie-Keys rotieren möchten? Neue Cookies, die in Anmelde-Sitzungen generiert werden, werden mit dem neuen Cookie-Schlüssel signiert. Bestehende Cookies bleiben gültig, bis Sie sie erneut rotieren.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Sind Sie sicher, dass Sie den OIDC-Privaten Schlüssel löschen möchten? Bestehende JWT-Token, die mit diesem privaten Signierungsschlüssel signiert wurden, sind nicht mehr gültig.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Sind Sie sicher, dass Sie den OIDC-Cookie-Schlüssel löschen möchten? Ältere Anmelde-Sitzungen mit Cookies, die mit diesem Cookie-Schlüssel signiert wurden, sind nicht mehr gültig. Eine erneute Authentifizierung ist für diese Benutzer erforderlich.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Signierungsschlüssel erfolgreich rotieren.', + delete_key_success: 'Schlüssel erfolgreich gelöscht.', }, }, }; diff --git a/packages/phrases/src/locales/de/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/de/translation/admin-console/upsell/paywall.ts index fa9c70a3d..b195aa2d5 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '{{count, number}} Anwendung von erreicht. Plan upgraden, um den Bedürfnissen Ihres Teams gerecht zu werden. Für Unterstützung können Sie uns gerne kontaktieren.', applications_other: '{{count, number}} Anwendungen von erreicht. Plan upgraden, um den Bedürfnissen Ihres Teams gerecht zu werden. Für Unterstützung können Sie uns gerne kontaktieren.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Upgrade auf den Hobby-Plan, um 1 Maschine-zu-Maschine-Anwendung freizuschalten, oder wählen Sie den Pro-Plan für eine unbegrenzte Nutzung. Für jegliche Hilfe können Sie uns gerne kontaktieren.', machine_to_machine: '{{count, number}} Maschine-zu-Maschine-Anwendung von erreicht. Plan upgraden, um den Bedürfnissen Ihres Teams gerecht zu werden. Für Unterstützung können Sie uns gerne kontaktieren.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Sie haben das Limit von {{count, number}} Berechtigungen pro API-Ressource von erreicht. Upgraden Sie jetzt, um zu erweitern. Kontaktieren Sie uns bei Bedarf.', scopes_per_resource_other: 'Sie haben das Limit von {{count, number}} Berechtigungen pro API-Ressource von erreicht. Upgraden Sie jetzt, um zu erweitern. Kontaktieren Sie uns bei Bedarf.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Freischalten Sie die Funktion für benutzerdefinierte Domains, indem Sie auf den Hobby- oder Pro-Plan upgraden. Zögern Sie nicht, uns zu kontaktieren, wenn Sie Unterstützung benötigen.', social_connectors: 'Sie haben das Limit von {{count, number}} -Sozialconnectoren erreicht. Upgraden Sie Ihren Plan, um zusätzliche Sozialconnectoren und die Möglichkeit zur Erstellung eigener Connectoren mit OIDC, OAuth 2.0 und SAML-Protokollen zu erhalten. Zögern Sie nicht, Kontaktieren Sie uns, wenn Sie Hilfe benötigen.', social_connectors_other: 'Sie haben das Limit von {{count, number}} -Sozialconnectoren erreicht. Upgraden Sie Ihren Plan, um zusätzliche Sozialconnectoren und die Möglichkeit zur Erstellung eigener Connectoren mit OIDC, OAuth 2.0 und SAML-Protokollen zu erhalten. Zögern Sie nicht, Kontaktieren Sie uns, wenn Sie Hilfe benötigen.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Upgrade auf den Hobby- oder Pro-Plan, um eigene Connectoren unter Verwendung von OIDC, OAuth 2.0 und SAML-Protokollen zu erstellen, sowie unbegrenzte Sozialconnectoren und alle Premium-Funktionen. Zögern Sie nicht, uns zu kontaktieren, wenn Sie Hilfe benötigen.', standard_connectors: 'Sie haben das Limit von {{count, number}} -Sozialconnectoren erreicht. Upgraden Sie Ihren Plan, um zusätzliche Sozialconnectoren und die Möglichkeit zur Erstellung eigener Connectoren mit OIDC, OAuth 2.0 und SAML-Protokollen zu erhalten. Zögern Sie nicht, Kontaktieren Sie uns, wenn Sie Hilfe benötigen.', standard_connectors_other: diff --git a/packages/phrases/src/locales/de/translation/admin-console/user-details.ts b/packages/phrases/src/locales/de/translation/admin-console/user-details.ts index d5c268e88..c14327b2c 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/user-details.ts @@ -22,14 +22,11 @@ const user_details = { tab_settings: 'Einstellungen', tab_roles: 'Rollen', tab_logs: 'Benutzer-Logs', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organisationen', + authentication: 'Authentifizierung', authentication_description: 'Jeder Benutzer hat ein Profil mit allen Benutzerinformationen. Es besteht aus Basisdaten, sozialen Identitäten und benutzerdefinierten Daten.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Benutzerprofil', field_email: 'E-Mail-Adresse', field_phone: 'Telefonnummer', field_username: 'Benutzername', @@ -39,31 +36,25 @@ const user_details = { field_custom_data: 'Benutzerdefinierte Daten', field_custom_data_tip: 'Zusätzliche Benutzerinformationen, die nicht in den vordefinierten Benutzereigenschaften aufgeführt sind, wie z. B. die vom Benutzer bevorzugte Farbe und Sprache.', - field_connectors: 'Social Connections', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_connectors: 'Soziale Verbindungen', + field_sso_connectors: 'Unternehmensverbindungen', custom_data_invalid: 'Benutzerdefinierte Daten müssen ein gültiges JSON-Objekt sein.', connectors: { - connectors: 'Connectoren', + connectors: 'Verbindungen', user_id: 'Benutzer ID', remove: 'Löschen', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', - not_connected: 'Der Nutzer ist nicht mit einem Social Connector verbunden', + connected: 'Dieser Benutzer ist mit mehreren sozialen Verbindern verbunden.', + not_connected: 'Der Benutzer ist nicht mit einem sozialen Verbindungsgerät verbunden', deletion_confirmation: 'Sie entfernen die bestehende Identität . Möchten Sie den Vorgang wirklich fortsetzen?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Verbindungen', + enterprise_id: 'Unternehmens-ID', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Dieser Benutzer ist mit mehreren Enterprise-Identitätsanbietern für Single Sign-On verbunden.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'Der Benutzer ist nicht mit einem Unternehmensidentitätsanbieter für Single Sign-On verbunden.', }, mfa: { field_name: 'Zwei-Faktor-Authentifizierung', @@ -105,8 +96,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'Der Benutzer muss mindestens einen der Anmelde-Identifikatoren (Benutzername, E-Mail, Telefonnummer oder soziales Konto) haben, um sich anzumelden. Sind Sie sicher, dass Sie fortfahren möchten?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'Die dem Benutzer innerhalb dieser Organisation zugewiesenen Rollen.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts index c5a41b797..6449feaeb 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts @@ -32,9 +32,8 @@ const webhooks = { name_placeholder: 'Webhook-Namen eingeben', endpoint_url: 'Endpunkt-URL', endpoint_url_placeholder: 'https://Ihre.webhook.endpunkt.url', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Geben Sie die URL Ihres Endpunkts ein, an die ein Payload Ihres Webooks gesendet wird, wenn das Ereignis eintritt.', create_webhook: 'Webhook erstellen', missing_event_error: 'Sie müssen mindestens ein Ereignis auswählen.', }, diff --git a/packages/phrases/src/locales/es/errors/entity.ts b/packages/phrases/src/locales/es/errors/entity.ts index 56e513c86..1010a908b 100644 --- a/packages/phrases/src/locales/es/errors/entity.ts +++ b/packages/phrases/src/locales/es/errors/entity.ts @@ -1,15 +1,14 @@ const entity = { invalid_input: 'Entrada no válida. La lista de valores no debe estar vacía.', create_failed: 'Fallo al crear {{name}}.', - db_constraint_violated: 'Viólación de restricción de base de datos.', + db_constraint_violated: 'Violación de restricción de base de datos.', not_exists: 'El {{name}} no existe.', not_exists_with_id: 'El {{name}} con ID `{{id}}` no existe.', not_found: 'El recurso no existe.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'No se pueden encontrar una o más claves foráneas. Por favor, verifique la entrada y asegúrese de que todas las entidades referenciadas existan.', + unique_integrity_violation: + 'La entidad ya existe. Por favor, verifique la entrada e intente\\lo de nuevo.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/es/errors/oidc.ts b/packages/phrases/src/locales/es/errors/oidc.ts index bac89516b..9ef08334b 100644 --- a/packages/phrases/src/locales/es/errors/oidc.ts +++ b/packages/phrases/src/locales/es/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { aborted: 'El usuario final abortó la interacción.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Ámbito no válido: {{error_description}}.', invalid_token: 'Se proporcionó un token no válido.', invalid_client_metadata: 'Se proporcionaron metadatos de cliente no válidos.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Falta el ámbito del token `{{scope}}`.', invalid_request: 'La solicitud no es válida.', - invalid_grant: 'La solicitud de concesión es incorrecta.', + invalid_grant: 'La concesión no es válida.', invalid_redirect_uri: 'La `redirect_uri` no coincide con ninguna de las `redirect_uris` registradas del cliente.', access_denied: 'Acceso denegado.', invalid_target: 'Indicador de recurso no válido.', - unsupported_grant_type: 'Tipo de concesión no admitido solicitado.', - unsupported_response_mode: 'Modo de respuesta no compatible solicitado.', - unsupported_response_type: 'Tipo de respuesta no admitido solicitado.', + unsupported_grant_type: 'Se solicitó un tipo de concesión no admitido.', + unsupported_response_mode: 'Se solicitó un modo de respuesta no compatible.', + unsupported_response_type: 'Se solicitó un tipo de respuesta no admitido.', provider_error: 'Error interno de OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Ocurrió un error desconocido de OIDC. Por favor, inténtelo de nuevo más tarde.', + provider_error_fallback: 'Ocurrió un error de OIDC: {{code}}.', + key_required: 'Se requiere al menos una clave.', + key_not_found: 'No se encuentra la clave con ID {{id}}.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/es/errors/organization.ts b/packages/phrases/src/locales/es/errors/organization.ts index 2752f71f9..a05306eba 100644 --- a/packages/phrases/src/locales/es/errors/organization.ts +++ b/packages/phrases/src/locales/es/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'El usuario debe ser miembro de la organización para continuar.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/es/errors/session.ts b/packages/phrases/src/locales/es/errors/session.ts index 6827c7066..665a35275 100644 --- a/packages/phrases/src/locales/es/errors/session.ts +++ b/packages/phrases/src/locales/es/errors/session.ts @@ -11,9 +11,8 @@ const session = { 'La verificación no se completó correctamente. Reinicie el flujo de verificación e intente de nuevo.', verification_expired: 'La conexión ha expirado. Verifique de nuevo para garantizar la seguridad de su cuenta.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Demasiados intentos en poco tiempo. Por favor, inténtelo de nuevo {{relativeTime}}.', unauthorized: 'Inicie sesión primero, por favor.', unsupported_prompt_name: 'Nombre de indicación no compatible.', forgot_password_not_enabled: 'Olvidé la contraseña no está habilitada.', @@ -25,31 +24,21 @@ const session = { 'Identificador de usuario no encontrado. Vuelva atrás e inicie sesión nuevamente.', interaction_not_found: 'No se encuentra la sesión de interacción. Vuelva atrás y vuelva a iniciar la sesión.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: + 'Esta operación no es compatible para restablecer la contraseña.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'Se requiere verificación de MFA para iniciar sesión.', + mfa_sign_in_only: 'MFA solo está disponible para la interacción de inicio de sesión.', + pending_info_not_found: + 'Información de MFA pendiente no encontrada, por favor inicie MFA primero.', + invalid_totp_code: 'Código TOTP no válido.', + webauthn_verification_failed: 'Fallo en la verificación de WebAuthn.', + webauthn_verification_not_found: 'Verificación de WebAuthn no encontrada.', + bind_mfa_existed: 'MFA ya existe.', + backup_code_can_not_be_alone: 'El código de respaldo no puede ser el único MFA.', + backup_code_required: 'Se requiere el código de respaldo.', + invalid_backup_code: 'Código de respaldo no válido.', + mfa_policy_not_user_controlled: 'La política de MFA no está controlada por el usuario.', }, sso_enabled: 'El inicio de sesión único está habilitado para este correo electrónico dado. Inicie sesión con SSO, por favor.', diff --git a/packages/phrases/src/locales/es/errors/single-sign-on.ts b/packages/phrases/src/locales/es/errors/single-sign-on.ts index 4950a49e2..8289c0de0 100644 --- a/packages/phrases/src/locales/es/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/es/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Los dominios de correo electrónico público no están permitidos.', + duplicated_domains: 'Hay dominios duplicados.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/es/errors/user.ts b/packages/phrases/src/locales/es/errors/user.ts index 9a9ddb757..15a577791 100644 --- a/packages/phrases/src/locales/es/errors/user.ts +++ b/packages/phrases/src/locales/es/errors/user.ts @@ -31,12 +31,9 @@ const user = { role_exists: 'El id de rol {{roleId}} ya ha sido agregado a este usuario', invalid_role_type: 'Tipo de rol no válido, no se puede asignar un rol de máquina a máquina a un usuario.', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: 'Debes vincular un MFA adicional antes de iniciar sesión.', + totp_already_in_use: 'TOTP ya está en uso.', + backup_code_already_in_use: 'El código de respaldo ya está en uso.', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/es/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/es/translation/admin-console/api-resource-details.ts index e59fef633..d23232157 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/api-resource-details.ts @@ -1,20 +1,19 @@ const api_resource_details = { - page_title: 'Detalles del recurso API', - back_to_api_resources: 'Volver a los recursos de API', + page_title: 'Detalles del recurso de la API', + back_to_api_resources: 'Volver a los recursos de la API', settings_tab: 'Configuración', permissions_tab: 'Permisos', settings: 'Configuración', settings_description: - 'Los recursos de API, también conocidos como indicadores de recurso, indican los servicios o recursos de destino que se solicitarán, generalmente, una variable de formato URI que representa la identidad del recurso.', + 'Los recursos de la API, también conocidos como indicadores de recurso, indican los servicios o recursos de destino que se solicitarán, generalmente, una variable de formato URI que representa la identidad del recurso.', management_api_settings_description: 'La API de administración de Logto es una colección completa de API que permiten a los administradores administrar una amplia gama de tareas relacionadas con la identidad, hacer cumplir políticas de seguridad y cumplir con regulaciones y estándares.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'Esta API representa una entidad de Logto y no se puede modificar ni eliminar. Puede utilizar la API de administración para una amplia gama de tareas relacionadas con la identidad. Obtener más información', token_expiration_time_in_seconds: 'Tiempo de expiración del token (en segundos)', token_expiration_time_in_seconds_placeholder: 'Ingrese el tiempo de expiración de su token', delete_description: - 'Esta acción no se puede deshacer. Eliminará permanentemente el recurso de API. Por favor, ingrese el nombre del recurso de api {{name}} para confirmar.', + 'Esta acción no se puede deshacer. Eliminará permanentemente el recurso de la API. Por favor, ingrese el nombre del recurso de la API {{name}} para confirmar.', enter_your_api_resource_name: 'Ingrese el nombre de su recurso de API', api_resource_deleted: 'El recurso de API {{name}} ha sido eliminado exitosamente', permission: { diff --git a/packages/phrases/src/locales/es/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/es/translation/admin-console/enterprise-sso.ts index a938e55e1..78ae0fb1d 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'SSO de la empresa', + title: 'SSO de la empresa', + subtitle: + 'Conecta el proveedor de identidad de la empresa y habilita el inicio de sesión único iniciado por el proveedor de servicios.', + create: 'Agregar conector de la empresa', + col_connector_name: 'Nombre del conector', + col_type: 'Tipo', + col_email_domain: 'Dominio de correo electrónico', + col_status: 'Estado', + col_status_in_use: 'En uso', + col_status_invalid: 'Inválido', + placeholder_title: 'Conector de la empresa', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto ha proporcionado muchos proveedores de identidad empresariales integrados para conectarse, al mismo tiempo, puedes crear el tuyo propio con protocolos estándar.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Agregar conector de la empresa', + text_divider: 'O puedes personalizar tu conector con un protocolo estándar.', + connector_name_field_title: 'Nombre del conector', + connector_name_field_placeholder: 'Nombre para el proveedor de identidad empresarial', + create_button_text: 'Crear conector', }, }; diff --git a/packages/phrases/src/locales/es/translation/admin-console/general.ts b/packages/phrases/src/locales/es/translation/admin-console/general.ts index c59418602..276cbef07 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Copiado', required: 'Requerido', add_another: 'Agregar Otro', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Crear otro', deletion_confirmation: '¿Está seguro que desea eliminar este {{title}}?', settings_nav: 'Configuración', unsaved_changes_warning: @@ -60,22 +59,15 @@ const general = { unknown_error: 'Error desconocido, por favor inténtalo de nuevo más tarde.', select: 'Seleccionar', contact_us_action: 'Contáctanos', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Descripción', + name: 'Nombre', + add_field: 'Agregar {{field}}', + create_field: 'Crear {{field}}', + edit_field: 'Editar {{field}}', + delete_field: 'Eliminar {{field}}', coming_soon: 'Próximamente', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} actualmente está en beta. Bienvenido a explorarlo y compartir tus comentarios.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/es/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/es/translation/admin-console/organization-details.ts index 3a2a5a8ad..fe847577d 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Detalles de la organización', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Una vez eliminada, todos los miembros perderán su membresía y roles en esta organización. Esta acción no se puede deshacer.', + organization_id: 'ID de la organización', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Una organización es un grupo de identidades (generalmente usuarios) que se reconocen por un identificador común.\n\nCada organización tiene su propio conjunto de miembros, roles y permisos, mientras que los roles y permisos son definidos por la plantilla de la organización.', + name_placeholder: 'El nombre de la organización, no es necesario que sea único.', + description_placeholder: 'Una descripción de la organización.', + member: 'Miembro', + member_other: 'Miembros', + add_members_to_organization: 'Agregar miembros a la organización {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Encuentra usuarios apropiados buscando nombre, correo electrónico, teléfono o ID de usuario. Los miembros existentes no se muestran en los resultados de búsqueda.', + add_with_organization_role: 'Agregar con rol(es) de organización', + user: 'Usuario', + authorize_to_roles: 'Autorizar a {{name}} para acceder a los siguientes roles:', + edit_organization_roles: 'Editar roles de organización', + edit_organization_roles_of_user: 'Editar roles de organización de {{name}}', + remove_user_from_organization: 'Eliminar usuario de la organización', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Una vez eliminado, el usuario perderá su membresía y roles en esta organización. Esta acción no se puede deshacer.', + search_user_placeholder: 'Buscar por nombre, correo electrónico, teléfono o ID de usuario', + at_least_one_user: 'Se requiere al menos un usuario.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/es/translation/admin-console/organizations.ts b/packages/phrases/src/locales/es/translation/admin-console/organizations.ts index d6f9220af..f56d89318 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organizaciones', + title: 'Organizaciones', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Representan los equipos, clientes comerciales y empresas asociadas que acceden a tus aplicaciones como organizaciones.', + organization_id: 'ID de la organización', + members: 'Miembros', + create_organization: 'Crear organización', + setup_organization: 'Configurar su organización', + organization_list_placeholder_title: 'Organización', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'La organización se utiliza generalmente en aplicaciones multiinquilino de SaaS o similares al SaaS. La función de Organizaciones permite a sus clientes B2B gestionar mejor a sus socios y clientes, y personalizar las formas en que los usuarios finales acceden a sus aplicaciones.', + organization_name_placeholder: 'Mi organización', + organization_description_placeholder: 'Una breve descripción de la organización', + organization_permission: 'Permiso de la organización', + organization_permission_other: 'Permisos de la organización', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'El permiso de la organización se refiere a la autorización para acceder a un recurso en el contexto de la organización. Un permiso de organización debe representarse como una cadena significativa, que también sirve como el nombre y el identificador único.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Si se elimina este permiso, todos los roles de la organización, incluido este permiso, perderán este permiso, y los usuarios que tenían este permiso perderán el acceso otorgado por él.', + create_permission_placeholder: 'Leer historial de citas', + permission: 'Permiso', + permission_other: 'Permisos', + organization_role: 'Rol de la organización', + organization_role_other: 'Roles de la organización', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'El rol de la organización es un agrupamiento de permisos que se pueden asignar a los usuarios. Los permisos deben provenir de los permisos de organización predefinidos.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Hacer esto eliminará los permisos asociados con este rol de los usuarios afectados y eliminará las relaciones entre roles de organización, miembros de la organización y permisos de organización.', + role: 'Rol', + create_role_placeholder: 'Usuarios con permisos de solo lectura', + search_placeholder: 'Buscar por nombre de organización o ID', + search_permission_placeholder: 'Escribe para buscar y seleccionar permisos', + search_role_placeholder: 'Escribe para buscar y seleccionar roles', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Comience con guías', + subtitle: 'Inicie su proceso de desarrollo de aplicaciones con nuestras guías', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Primero, entienda cómo funcionan las organizaciones en Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'En aplicaciones SaaS multiinquilino, a menudo creamos varias organizaciones con el mismo conjunto de permisos y roles, pero dentro del contexto de una organización, puede desempeñar un papel importante en el control de diferentes niveles de acceso. Piense en cada inquilino como una organización de Logto, y naturalmente comparten la misma "plantilla" de control de acceso. Llamamos a esto la "plantilla de la organización".', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'La plantilla de la organización consta de dos partes', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'El permiso de la organización se refiere a la autorización para acceder a un recurso en el contexto de la organización. Un permiso de organización debe representarse como una cadena significativa, que también sirve como el nombre y el identificador único.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'El rol de la organización es un agrupamiento de permisos que se pueden asignar a los usuarios. Los permisos deben provenir de los permisos de organización predefinidos.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Interactúa con la ilustración para ver cómo se conecta todo', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Tomemos un ejemplo. John, Sarah y Tony están en diferentes organizaciones con diferentes roles en el contexto de diferentes organizaciones. Pase el cursor sobre los diferentes módulos y vea qué sucede.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Paso 1: Definir permisos de organización', + step_2: 'Paso 2: Definir roles de organización', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Roles de organización" representan un conjunto de roles dados a cada organización al principio. Estos roles están determinados por los permisos globales que ha establecido en la pantalla anterior. Similar al permiso de organización, una vez que termine esta configuración por primera vez, no necesitará hacer esto cada vez que cree una nueva organización.', + step_3: 'Paso 3: Cree su primera organización', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Creemos su primera organización. Esta viene con un ID único y sirve como contenedor para manejar diversas identidades más orientadas a los negocios, como socios, clientes y su control de acceso.', + more_next_steps: 'Más pasos siguientes', + add_members: 'Agregar miembros a su organización', + add_members_action: 'Agregar miembros en masa y asignar roles', + add_enterprise_connector: 'Agregar SSO empresarial', + add_enterprise_connector_action: 'Configurar SSO empresarial', + organization_permissions: 'Permisos de la organización', + permission_name: 'Nombre del permiso', + permissions: 'Permisos', + organization_roles: 'Roles de la organización', + role_name: 'Nombre del rol', + organization_name: 'Nombre de la organización', + admin: 'Administrador', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'El rol "Admin" comparte la misma plantilla de organización en diferentes organizaciones.', + member: 'Miembro', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'El rol "Miembro" comparte la misma plantilla de organización en diferentes organizaciones.', + guest: 'Invitado', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'El rol "Invitado" comparte la misma plantilla de organización en diferentes organizaciones.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + 'Puede crear más roles en la configuración de la plantilla de la organización. Esos roles de organización se aplicarán a diferentes organizaciones.', + read_resource: 'leer:recurso', + edit_resource: 'editar:recurso', + delete_resource: 'eliminar:recurso', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johny pertenece a dos organizaciones con el correo electrónico "john@email.com" como único identificador. Es administrador de la organización A y también invitado de la organización B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah pertenece a una organización con el correo electrónico "sarah@email.com" como único identificador. Es administradora de la organización B.', + tony: 'Tony pertenece a una organización con el correo electrónico "tony@email.com" como único identificador. Es miembro de la organización C.', }, }; diff --git a/packages/phrases/src/locales/es/translation/admin-console/role-details.ts b/packages/phrases/src/locales/es/translation/admin-console/role-details.ts index 72e4b80ad..9ef1c1866 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/role-details.ts @@ -43,11 +43,9 @@ const role_details = { assign_title: 'Asignar usuarios', assign_subtitle: 'Asignar usuarios a este rol. Encuentre usuarios apropiados buscando nombre, correo electrónico, teléfono o ID de usuario.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Asignar usuarios', confirm_assign: 'Asignar usuarios', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Los usuarios seleccionados se asignaron correctamente a este rol', empty: 'No hay usuarios disponibles', }, applications: { @@ -61,11 +59,9 @@ const role_details = { assign_title: 'Asignar aplicaciones', assign_subtitle: 'Asignar aplicaciones a este rol. Encuentre las aplicaciones adecuadas buscando el nombre, la descripción o el ID de la aplicación.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Asignar aplicaciones', confirm_assign: 'Asignar aplicaciones', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Las aplicaciones seleccionadas se asignaron correctamente a este rol', empty: 'No hay aplicaciones disponibles', }, }; diff --git a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts index b4c38b890..438e4c12d 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Elimine su dominio personalizado', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Desactive su SSO', }, built_in_email_connector_enabled: { name: 'Conector de correo electrónico integrado', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Elimina tus webhooks', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Elimine su organización', }, audit_logs_retention_days: { name: 'Conservación de registros de auditoría', diff --git a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts index 2c05109d4..49f3723a5 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Autenticación de usuario', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Contraseña', passwordless: 'Sin contraseña - Correo electrónico y SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organización', + organization: 'Organización (Q4, 2023)', }, support: { title: 'Soporte', diff --git a/packages/phrases/src/locales/es/translation/admin-console/tabs.ts b/packages/phrases/src/locales/es/translation/admin-console/tabs.ts index 474b73b6c..f828d5217 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'Recursos de API', sign_in_experience: 'Experiencia de inicio de sesión', connectors: 'Conectores', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'SSO empresarial', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizaciones', users: 'Gestión de usuarios', audit_logs: 'Registros de auditoría', roles: 'Roles', docs: 'Documentos', - tenant_settings: 'Configuraciones', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: 'Configuraciones del inquilino', + mfa: 'Autenticación multifactor', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/es/translation/admin-console/tenants.ts b/packages/phrases/src/locales/es/translation/admin-console/tenants.ts index fe97c5ade..ef37cdf3b 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/tenants.ts @@ -13,26 +13,22 @@ const tenants = { 'Establezca el nombre del inquilino y vea su región de alojamiento y etiqueta de entorno.', tenant_id: 'ID del inquilino', tenant_name: 'Nombre del inquilino', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Región de alojamiento de datos', + tenant_region_tip: + 'Sus recursos de inquilino se alojan en {{region}}. Obtener más información', environment_tag: 'Etiqueta del entorno', environment_tag_description: 'Las etiquetas no alteran el servicio. Simplemente te guían para diferenciar diversos entornos.', - environment_tag_development: 'Des', + environment_tag_development: 'Desarrollo', environment_tag_staging: 'Pruebas', - environment_tag_production: 'Prod', - /** UNTRANSLATED */ + environment_tag_production: 'Producción', development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + 'El entorno de desarrollo se utiliza principalmente para pruebas e incluye todas las funciones profesionales, pero tiene marcas de agua en la experiencia de inicio de sesión. Obtén más información', tenant_info_saved: 'Información del inquilino guardada correctamente.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Desarrollo', + production: 'Producción', }, deletion_card: { title: 'ELIMINAR', @@ -44,50 +40,35 @@ const tenants = { create_modal: { title: 'Crear inquilino', subtitle: 'Cree un nuevo inquilino para separar recursos y usuarios.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Cree un nuevo inquilino para separar recursos y usuarios. La región y las etiquetas de entorno no se pueden modificar después de la creación.', + tenant_usage_purpose: '¿Para qué desea usar este inquilino?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'El entorno de desarrollo se utiliza principalmente para pruebas y no debe utilizarse en el entorno de producción.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'El entorno de desarrollo se utiliza principalmente para pruebas y no debe utilizarse en el entorno de producción.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Producción es donde se utiliza software en vivo por los usuarios finales y puede requerir una suscripción de pago.', + available_plan: 'Plan disponible:', create_button: 'Crear inquilino', tenant_name_placeholder: 'Mi inquilino', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + '¡Ahora puedes acceder a todas las funciones de Logto Pro en tu inquilino de desarrollo!', + allow_pro_features_description: + '¡Es completamente gratis, sin período de prueba, para siempre!', + explore_all_features: 'Explorar todas las funciones', + impact_title: '¿Esto tiene algún impacto en mí?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'La etiqueta de su inquilino se ha actualizado de "Pruebas" a "Producción", pero este cambio no afectará su configuración actual.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Al suscribirse al plan Logto Hobby, su etiqueta de inquilino anterior "Desarrollo" se cambiará a "Producción", y esto no afectará su configuración existente.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Si todavía está en la etapa de desarrollo, puede crear un nuevo inquilino de desarrollo para acceder a más funciones profesionales.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ - paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Si está en la etapa de producción o en un entorno de producción, aún necesita suscribirse a un plan específico, por lo que no hay nada que deba hacer en este momento.', + paid_tenant_hint_4: '¡No dudes en contactarnos si necesitas ayuda! ¡Gracias por elegir Logto!', }, delete_modal: { title: 'Eliminar inquilino', @@ -121,67 +102,44 @@ const tenants = { 'Si necesita aclaraciones adicionales, tiene alguna inquietud o desea restaurar la funcionalidad completa y desbloquear sus inquilinos, no dude en contactarnos de inmediato.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'CLAVES DE FIRMA', + description: 'Administre de forma segura las claves de firma en su inquilino.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Claves privadas OIDC', + cookie_key: 'Claves de cookies OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Claves privadas en uso', + cookie_keys_in_use: 'Claves de cookies en uso', + rotate_private_keys: 'Rotar claves privadas', + rotate_cookie_keys: 'Rotar claves de cookies', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Esta acción creará una nueva clave de firma privada, rotará la clave actual y eliminará su clave anterior. Sus tokens JWT firmados con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Esta acción creará una nueva clave de cookie, rotará la clave actual y eliminará su clave anterior. Sus cookies con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.', + select_private_key_algorithm: 'Seleccione el algoritmo de firma de la nueva clave privada', + rotate_button: 'Rotar', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: 'Estado', + algorithm: 'Algoritmo de clave de firma', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Actual', + previous: 'Anterior', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + '¿Estás seguro de que deseas rotar las claves privadas OIDC? Los nuevos tokens JWT emitidos serán firmados por la nueva clave. Los tokens JWT existentes seguirán siendo válidos hasta que los vuelvas a rotar.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + '¿Estás seguro de que deseas rotar las claves de cookies OIDC? Las nuevas cookies generadas en sesiones de inicio de sesión serán firmadas por la nueva clave de cookie. Las cookies existentes seguirán siendo válidas hasta que las vuelvas a rotar.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + '¿Estás seguro de que deseas eliminar la clave privada OIDC? Los tokens JWT existentes firmados con esta clave de firma privada ya no serán válidos.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + '¿Estás seguro de que deseas eliminar la clave de cookies OIDC? Las sesiones de inicio de sesión antiguas con cookies firmadas con esta clave de cookie ya no serán válidas. Se requiere una reautenticación para estos usuarios.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Claves de firma rotadas con éxito.', + delete_key_success: 'Clave eliminada con éxito.', }, }, }; diff --git a/packages/phrases/src/locales/es/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/es/translation/admin-console/upsell/paywall.ts index d48ae61cf..ffcd690f8 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { 'Se ha alcanzado el límite de {{count, number}} aplicación de . Actualiza el plan para satisfacer las necesidades de tu equipo. Para cualquier ayuda, no dudes en contactarnos.', applications_other: 'Se ha alcanzado el límite de {{count, number}} aplicaciones de . Actualiza el plan para satisfacer las necesidades de tu equipo. Para cualquier ayuda, no dudes en contactarnos.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Actualiza al plan Hobby para desbloquear 1 aplicación de máquina a máquina, o elige el plan Pro para uso ilimitado. Para cualquier asistencia, no dudes en contactarnos.', machine_to_machine: 'Se ha alcanzado el límite de {{count, number}} aplicación de máquina a máquina de . Actualiza el plan para satisfacer las necesidades de tu equipo. Para cualquier ayuda, no dudes en contactarnos.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Has alcanzado el límite de {{count, number}} permisos por recurso de API de . Actualiza ahora para expandirlo. Contáctanos si necesitas asistencia.', scopes_per_resource_other: 'Has alcanzado el límite de {{count, number}} permisos por recurso de API de . Actualiza ahora para expandirlo. Contáctanos si necesitas asistencia.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Desbloquea la funcionalidad de dominio personalizado al actualizar al plan Hobby o Pro. No dudes en contactarnos si necesitas ayuda.', social_connectors: 'Has alcanzado el límite de {{count, number}} conectores sociales de . Actualiza el plan para obtener conectores sociales adicionales y la capacidad de crear tus propios conectores usando los protocolos OIDC, OAuth 2.0 y SAML. Si necesitas ayuda, no dudes en contactarnos.', social_connectors_other: 'Has alcanzado el límite de {{count, number}} conectores sociales de . Actualiza el plan para obtener conectores sociales adicionales y la capacidad de crear tus propios conectores usando los protocolos OIDC, OAuth 2.0 y SAML. Si necesitas ayuda, no dudes en contactarnos.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Actualiza al plan Hobby o Pro para crear tus propios conectores usando los protocolos OIDC, OAuth 2.0 y SAML, además de conectores sociales ilimitados y todas las funciones premium. No dudes en contactarnos si necesitas ayuda.', standard_connectors: 'Has alcanzado el límite de {{count, number}} conectores sociales de . Actualiza el plan para obtener conectores sociales adicionales y la capacidad de crear tus propios conectores usando los protocolos OIDC, OAuth 2.0 y SAML. Si necesitas ayuda, no dudes en contactarnos.', standard_connectors_other: diff --git a/packages/phrases/src/locales/es/translation/admin-console/user-details.ts b/packages/phrases/src/locales/es/translation/admin-console/user-details.ts index d1bb3f397..248542c35 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/user-details.ts @@ -22,14 +22,11 @@ const user_details = { tab_settings: 'Configuración', tab_roles: 'Roles', tab_logs: 'Registros de usuario', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizaciones', + authentication: 'Autenticación', authentication_description: 'Cada usuario tiene un perfil que contiene toda la información del usuario. Consta de datos básicos, identidades sociales y datos personalizados.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Perfil de usuario', field_email: 'Dirección de correo electrónico', field_phone: 'Número de teléfono', field_username: 'Nombre de usuario', @@ -40,30 +37,24 @@ const user_details = { field_custom_data_tip: 'Información adicional del usuario no incluida en las propiedades de usuario predefinidas, como el color y el idioma preferidos del usuario.', field_connectors: 'Conexiones sociales', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Conexiones empresariales', custom_data_invalid: 'Los datos personalizados deben ser un objeto JSON válido', connectors: { connectors: 'Conectores', user_id: 'ID de usuario', remove: 'Eliminar', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Este usuario está conectado con varios conectores sociales.', not_connected: 'El usuario no está conectado a ningún conector social', deletion_confirmation: 'Estás eliminando la identidad existente . ¿Seguro que quieres continuar?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Conectores', + enterprise_id: 'ID de empresa', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Este usuario está conectado a varios proveedores de identidad empresarial para inicio de sesión único.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'El usuario no está conectado a ninguno de los proveedores de identidad empresarial para inicio de sesión único.', }, mfa: { field_name: 'Autenticación de dos factores', @@ -104,8 +95,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'El usuario necesita tener al menos uno de los identificadores de inicio de sesión (nombre de usuario, correo electrónico, número de teléfono o red social) para iniciar sesión. ¿Estás seguro/a de que quieres continuar?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'Los roles asignados al usuario dentro de esta organización.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts index 1b971708d..798f63a34 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts @@ -32,9 +32,8 @@ const webhooks = { name_placeholder: 'Ingrese el nombre del webhook', endpoint_url: 'URL de punto final', endpoint_url_placeholder: 'https://su.webhook.endpoint.url', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Ingrese la URL de su punto final a donde se envía la carga útil del webhook cuando ocurre el evento.', create_webhook: 'Crear webhook', missing_event_error: 'Debe seleccionar al menos un evento.', }, diff --git a/packages/phrases/src/locales/fr/errors/entity.ts b/packages/phrases/src/locales/fr/errors/entity.ts index b307cdb68..063cc4044 100644 --- a/packages/phrases/src/locales/fr/errors/entity.ts +++ b/packages/phrases/src/locales/fr/errors/entity.ts @@ -5,11 +5,9 @@ const entity = { not_exists: "Le {{name}} n'existe pas.", not_exists_with_id: "Le {{name}} avec l'ID `{{id}}` n'existe pas.", not_found: "La ressource n'existe pas.", - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Impossible de trouver une ou plusieurs clés étrangères. Veuillez vérifier la saisie et vous assurer que toutes les entités référencées existent.', + unique_integrity_violation: "L'entité existe déjà. Veuillez vérifier la saisie et réessayer.", }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/fr/errors/oidc.ts b/packages/phrases/src/locales/fr/errors/oidc.ts index 0a6a0fdba..293b4383b 100644 --- a/packages/phrases/src/locales/fr/errors/oidc.ts +++ b/packages/phrases/src/locales/fr/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { aborted: "L'utilisateur a abandonné l'interaction.", - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', - invalid_token: 'Jeton fournis invalide.', + invalid_scope: 'Scope invalide : {{error_description}}.', + invalid_token: 'Jeton fourni invalide.', invalid_client_metadata: 'Les métadonnées du client fournies sont invalides.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Manque de champ `{{scope}}` dans le jeton.', invalid_request: 'La requête est invalide.', - invalid_grant: 'Grant request is invalid.', + invalid_grant: 'La requête de consentement est invalide.', invalid_redirect_uri: - '`redirect_uri` ne correspondait à aucun des `redirect_uris` enregistrés par le client.', + '`redirect_uri` ne correspond à aucun des `redirect_uris` enregistrés par le client.', access_denied: 'Accès refusé.', invalid_target: 'Indicateur de ressource invalide.', unsupported_grant_type: "Le `grant_type` demandé n'est pas supporté.", unsupported_response_mode: "Le `response_mode` demandé n'est pas supporté.", unsupported_response_type: "Le `response_type` demandé n'est pas supporté.", provider_error: "Erreur interne de l'OIDC : {{message}}.", - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: "Une erreur OIDC inconnue s'est produite. Veuillez réessayer plus tard.", + provider_error_fallback: "Une erreur OIDC s'est produite : {{code}}.", + key_required: 'Au moins une clé est requise.', + key_not_found: "La clé avec l'ID {{id}} n'est pas trouvée.", }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/fr/errors/organization.ts b/packages/phrases/src/locales/fr/errors/organization.ts index 2752f71f9..eeb28b41e 100644 --- a/packages/phrases/src/locales/fr/errors/organization.ts +++ b/packages/phrases/src/locales/fr/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: "L'utilisateur doit être membre de l'organisation pour continuer.", }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/fr/errors/session.ts b/packages/phrases/src/locales/fr/errors/session.ts index 0eac11cda..6f3234da2 100644 --- a/packages/phrases/src/locales/fr/errors/session.ts +++ b/packages/phrases/src/locales/fr/errors/session.ts @@ -11,9 +11,8 @@ const session = { "La vérification n'a pas abouti. Redémarrez le processus de vérification et réessayez.", verification_expired: 'La connexion a expiré. Vérifiez à nouveau pour assurer la sécurité de votre compte.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Trop de tentatives en peu de temps. Veuillez réessayer {{relativeTime}}.', unauthorized: "Veuillez vous enregistrer d'abord.", unsupported_prompt_name: "Nom d'invite non supporté.", forgot_password_not_enabled: @@ -26,31 +25,21 @@ const session = { 'Identifiant utilisateur introuvable. Veuillez retourner en arrière et vous connecter à nouveau.', interaction_not_found: "Session d'interaction introuvable. Veuillez retourner en arrière et recommencer la session.", - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: + "Cette opération n'est pas prise en charge pour la réinitialisation du mot de passe.", mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'La vérification MFA est requise pour vous connecter.', + mfa_sign_in_only: "MFA est uniquement disponible pour l'interaction de connexion.", + pending_info_not_found: + "Informations MFA en attente introuvables, veuillez initier d'abord la MFA.", + invalid_totp_code: 'Code TOTP non valide.', + webauthn_verification_failed: 'Échec de la vérification WebAuthn.', + webauthn_verification_not_found: 'Vérification WebAuthn introuvable.', + bind_mfa_existed: 'MFA existe déjà.', + backup_code_can_not_be_alone: 'Le code de sauvegarde ne peut pas être le seul MFA.', + backup_code_required: 'Le code de sauvegarde est requis.', + invalid_backup_code: 'Code de sauvegarde non valide.', + mfa_policy_not_user_controlled: "La politique MFA n'est pas contrôlée par l'utilisateur.", }, sso_enabled: 'La connexion unique est activée pour cet e-mail donné. Veuillez vous connecter avec SSO.', diff --git a/packages/phrases/src/locales/fr/errors/single-sign-on.ts b/packages/phrases/src/locales/fr/errors/single-sign-on.ts index 4950a49e2..162045c93 100644 --- a/packages/phrases/src/locales/fr/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/fr/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Les domaines de messagerie publique ne sont pas autorisés.', + duplicated_domains: 'Il existe des domaines en double.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/fr/errors/user.ts b/packages/phrases/src/locales/fr/errors/user.ts index 84dd51b87..9959938e4 100644 --- a/packages/phrases/src/locales/fr/errors/user.ts +++ b/packages/phrases/src/locales/fr/errors/user.ts @@ -30,12 +30,9 @@ const user = { role_exists: "L'ID de rôle {{roleId}} a déjà été ajouté à cet utilisateur", invalid_role_type: 'Le type de rôle est invalide, il est impossible d\'assigner un rôle "machine-to-machine" à un utilisateur.', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: 'Vous devez lier un MFA supplémentaire avant de vous connecter.', + totp_already_in_use: 'TOTP est déjà utilisé.', + backup_code_already_in_use: 'Le code de sauvegarde est déjà utilisé.', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/fr/translation/admin-console/api-resource-details.ts index 9712b0850..ca648964d 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { "Les ressources API, également connues sous le nom d'indicateurs de ressource, indiquent les services ou les ressources cibles à demander, généralement une variable de format d'URI représentant l'identité de la ressource.", management_api_settings_description: "La Logto Management API est une collection complète d'API qui permettent aux administrateurs de gérer une large gamme de tâches liées à l'identité, d'appliquer des politiques de sécurité et de se conformer aux réglementations et normes.", - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + "Cette API représente l'entité Logto et ne peut pas être modifiée ou supprimée. Vous pouvez utiliser l'API de gestion pour effectuer une large gamme de tâches liées à l'identité. En savoir plus", token_expiration_time_in_seconds: "Temps d'expiration du jeton (en secondes)", token_expiration_time_in_seconds_placeholder: "Entrez le délai d'expiration de votre jeton", delete_description: diff --git a/packages/phrases/src/locales/fr/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/fr/translation/admin-console/enterprise-sso.ts index a938e55e1..3bf924004 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ + page_title: "SSO d'entreprise", + title: "SSO d'entreprise", + subtitle: + "Connectez le fournisseur d'identité de l'entreprise et activez la connexion unique initiée par le fournisseur de services.", + create: "Ajouter un connecteur d'entreprise", + col_connector_name: 'Nom du connecteur', col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + col_email_domain: 'Domaine de messagerie', + col_status: 'Statut', + col_status_in_use: 'Utilisé', + col_status_invalid: 'Invalide', + placeholder_title: "Connecteur d'entreprise", placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + "Logto a fourni de nombreux fournisseurs d'identité d'entreprise intégrés à connecter. Vous pouvez également créer le vôtre avec des protocoles standard.", create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: "Ajouter un connecteur d'entreprise", + text_divider: 'Ou vous pouvez personnaliser votre connecteur avec un protocole standard.', + connector_name_field_title: 'Nom du connecteur', + connector_name_field_placeholder: "Nom du fournisseur d'identité de l'entreprise", + create_button_text: 'Créer un connecteur', }, }; diff --git a/packages/phrases/src/locales/fr/translation/admin-console/general.ts b/packages/phrases/src/locales/fr/translation/admin-console/general.ts index 49a00116d..b9967a6d1 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Copié', required: 'Requis', add_another: 'Ajouter un autre', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Créer un autre', deletion_confirmation: 'Êtes-vous sûr de vouloir supprimer ce {{title}} ?', settings_nav: 'Paramètres', unsaved_changes_warning: @@ -47,7 +46,7 @@ const general = { page_info: '{{min, number}}-{{max, number}} de {{total, number}}', learn_more: 'En savoir plus', tab_errors: '{{count, number}} erreurs', - skip_for_now: "Passer pour l'instant", + skip_for_now: 'Passer pour l`instant', remove: 'Supprimer', visit: 'Visiter', join: 'Rejoindre', @@ -60,22 +59,15 @@ const general = { unknown_error: 'Erreur inconnue, veuillez réessayer ultérieurement.', select: 'Sélectionner', contact_us_action: 'Nous contacter', - /** UNTRANSLATED */ description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + name: 'Nom', + add_field: 'Ajouter {{field}}', + create_field: 'Créer {{field}}', + edit_field: 'Modifier {{field}}', + delete_field: 'Supprimer {{field}}', coming_soon: 'Bientôt disponible', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} est actuellement en version bêta. Bienvenue pour l`explorer et partager vos commentaires.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/fr/translation/admin-console/organization-details.ts index 3a2a5a8ad..31a192b87 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: "Détails de l'organisation", delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Une fois supprimée, tous les membres perdront leur adhésion et leurs rôles dans cette organisation. Cette action ne peut pas être annulée.', + organization_id: "Identifiant de l'organisation", settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + "Une organisation est un groupe d'identités (généralement des utilisateurs) reconnues par un identifiant commun.\n\nChaque organisation a son propre ensemble de membres, de rôles et de permissions, tandis que les rôles et permissions sont définis par le modèle d'organisation.", + name_placeholder: "Le nom de l'organisation, pas nécessairement unique.", + description_placeholder: "Une description de l'organisation.", + member: 'Membre', + member_other: 'Membres', + add_members_to_organization: "Ajouter des membres à l'organisation {{name}}", add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + "Trouvez les utilisateurs appropriés en recherchant leur nom, e-mail, téléphone ou identifiant d'utilisateur. Les membres existants ne sont pas affichés dans les résultats de la recherche.", + add_with_organization_role: "Ajouter avec le(s) rôle(s) dans l'organisation", + user: 'Utilisateur', + authorize_to_roles: 'Autoriser {{name}} à accéder aux rôles suivants :', + edit_organization_roles: "Modifier les rôles de l'organisation", + edit_organization_roles_of_user: "Modifier les rôles de l'organisation de {{name}}", + remove_user_from_organization: "Retirer l'utilisateur de l'organisation", remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + "Une fois retiré, l'utilisateur perdra son adhésion et ses rôles dans cette organisation. Cette action ne peut pas être annulée.", + search_user_placeholder: "Rechercher par nom, e-mail, téléphone ou identifiant d'utilisateur", + at_least_one_user: 'Au moins un utilisateur est requis.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts b/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts index d6f9220af..c30fb996d 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organisations', + title: 'Organisations', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + "Représentent les équipes, les clients professionnels et les entreprises partenaires qui accèdent à vos applications en tant qu'organisations.", + organization_id: "ID de l'organisation", + members: 'Membres', + create_organization: 'Créer une organisation', + setup_organization: 'Configurer votre organisation', + organization_list_placeholder_title: 'Organisation', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + "L'organisation est généralement utilisée dans les applications multi-locataires SaaS ou de type SaaS. La fonctionnalité Organisations permet à vos clients B2B de mieux gérer leurs partenaires et clients, et de personnaliser les façons dont les utilisateurs finaux accèdent à leurs applications.", + organization_name_placeholder: 'Mon organisation', + organization_description_placeholder: "Une brève description de l'organisation", + organization_permission: "Autorisation de l'organisation", + organization_permission_other: "Autorisations de l'organisation", organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + "L'autorisation d'organisation se réfère à l'autorisation d'accéder à une ressource dans le contexte de l'organisation. Une autorisation d'organisation doit être représentée par une chaîne significative, servant également de nom et d'identifiant unique.", organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + "Si cette autorisation est supprimée, tous les rôles d'organisation incluant cette autorisation perdront cette autorisation, et les utilisateurs ayant cette autorisation perdront l'accès qui en découle.", + create_permission_placeholder: "Lire l'historique des rendez-vous", + permission: 'Autorisation', + permission_other: 'Autorisations', + organization_role: "Rôle de l'organisation", + organization_role_other: "Rôles de l'organisation", organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + "Le rôle d'organisation est un regroupement d'autorisations pouvant être attribuées aux utilisateurs. Les autorisations doivent provenir des autorisations d'organisation prédéfinies.", organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + "Cela supprimera les autorisations associées à ce rôle des utilisateurs concernés et supprimera les relations entre les rôles d'organisation, les membres de l'organisation et les autorisations d'organisation.", + role: 'Rôle', + create_role_placeholder: 'Utilisateurs avec des autorisations en lecture seule', + search_placeholder: "Rechercher par nom ou ID de l'organisation", + search_permission_placeholder: 'Tapez pour rechercher et sélectionner des autorisations', + search_role_placeholder: 'Tapez pour rechercher et sélectionner des rôles', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Commencez avec les guides', + subtitle: "Démarrez votre processus de développement d'application avec nos guides", introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: "Tout d'abord, comprenez comment fonctionnent les organisations dans Logto", description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + "Dans les applications SaaS multi-locataires, nous créons souvent plusieurs organisations avec le même ensemble d'autorisations et de rôles, mais dans le contexte d'une organisation cela peut jouer un rôle important dans le contrôle de différents niveaux d'accès. Pensez à chaque locataire comme une organisation Logto et elles partagent naturellement le même \"modèle\" de contrôle d'accès. Nous appelons cela le \"modèle d'organisation.\"", }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: "Le modèle d'organisation se compose de deux parties", organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + "L'autorisation d'organisation se réfère à l'autorisation d'accéder à une ressource dans le contexte de l'organisation. Une autorisation d'organisation doit être représentée par une chaîne significative, servant également de nom et d'identifiant unique.", organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + "Le rôle d'organisation est un regroupement d'autorisations pouvant être attribuées aux utilisateurs. Les autorisations doivent provenir des autorisations d'organisation prédéfinies.", }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: "Interagissez avec l'illustration pour voir comment tout est connecté", description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Prenons un exemple. John, Sarah et Tony sont dans des organisations différentes avec des rôles différents dans le contexte de différentes organisations. Survolez les différents modules et voyez ce qui se passe.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: "Étape 1 : Définir les autorisations d'organisation", + step_2: "Étape 2 : Définir les rôles d'organisation", step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + "\"Les rôles d'organisation\" représentent un ensemble de rôles attribués à chaque organisation au début. Ces rôles sont déterminés par les autorisations globales que vous avez définies à l'écran précédent. De la même manière qu'avec l'autorisation d'organisation, une fois que vous avez terminé ce paramétrage pour la première fois, vous n'aurez pas besoin de le refaire à chaque création d'une nouvelle organisation.", + step_3: 'Étape 3 : Créer votre première organisation', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + "Créons votre première organisation. Elle est livrée avec un ID unique et sert de conteneur pour gérer diverses identités davantage orientées vers les entreprises, telles que des partenaires, des clients et leur contrôle d'accès.", + more_next_steps: 'Autres étapes suivantes', + add_members: 'Ajouter des membres à votre organisation', + add_members_action: 'Ajouter en masse des membres et attribuer des rôles', + add_enterprise_connector: "Ajouter une SSO d'entreprise", + add_enterprise_connector_action: "Configurer la SSO d'entreprise", + organization_permissions: "Autorisations de l'organisation", + permission_name: "Nom de l'autorisation", + permissions: 'Autorisations', + organization_roles: "Rôles de l'organisation", + role_name: 'Nom du rôle', + organization_name: "Nom de l'organisation", + admin: 'Administrateur', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Le rôle "Administrateur" partage le même modèle d\'organisation dans différentes organisations.', + member: 'Membre', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Le rôle "Membre" partage le même modèle d\'organisation dans différentes organisations.', + guest: 'Invité', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Le rôle "Invité" partage le même modèle d\'organisation dans différentes organisations.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + "Vous pouvez créer d'autres rôles dans les paramètres du modèle d'organisation. Ces rôles d'organisation s'appliqueront à différentes organisations.", + read_resource: 'lire:ressource', + edit_resource: 'éditer:ressource', + delete_resource: 'supprimer:ressource', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + "Johnny appartient à deux organisations avec l'adresse électronique \"{{email}}\" comme identifiant unique. Il est l'administrateur de l'organisation A ainsi que l'invité de l'organisation B.", sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + "Sarah appartient à une organisation avec l'adresse électronique \"{{email}}\" comme identifiant unique. Elle est l'administratrice de l'organisation B.", + tony: 'Tony appartient à une organisation avec l\'adresse électronique "{{email}}" comme identifiant unique. Il est membre de l\'organisation C.', }, }; diff --git a/packages/phrases/src/locales/fr/translation/admin-console/role-details.ts b/packages/phrases/src/locales/fr/translation/admin-console/role-details.ts index e6308d6fe..bf39f981e 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/role-details.ts @@ -43,11 +43,9 @@ const role_details = { assign_title: 'Attribuer des utilisateurs', assign_subtitle: 'Attribuez des utilisateurs à ce rôle. Trouvez les utilisateurs appropriés en recherchant leur nom, leur e-mail, leur numéro de téléphone ou leur ID utilisateur.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Assigner des utilisateurs', confirm_assign: 'Attribuer des utilisateurs', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Les utilisateurs sélectionnés ont été attribués avec succès à ce rôle', empty: 'Aucun utilisateur disponible', }, applications: { @@ -61,11 +59,9 @@ const role_details = { assign_title: 'Assigner des applications', assign_subtitle: "Assignez des applications à ce rôle. Trouvez les applications appropriées en recherchant par nom, description ou ID de l'application.", - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Assigner des applications', confirm_assign: 'Assigner des applications', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Les applications sélectionnées ont été attribuées avec succès à ce rôle', empty: 'Aucune application disponible', }, }; diff --git a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts index 7c21879d4..1359d0f12 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts @@ -1,6 +1,6 @@ const quota_item = { tenant_limit: { - name: 'Tenants', + name: 'Locataires', limited: '{{count, number}} locataire', limited_other: '{{count, number}} locataires', unlimited: 'Illimité locataires', @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Supprimez votre domaine personnalisé', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Désactivez votre SSO', }, built_in_email_connector_enabled: { name: 'Connecteur de messagerie intégré', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Supprimez vos webhooks', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: 'Organisation', + limited: 'Organisation', + unlimited: 'Organisation', + not_eligible: 'Supprimez vos organisations', }, audit_logs_retention_days: { name: "Conservation des journaux d'audit", diff --git a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts index eb7e81e2d..f364f94ba 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Authentification des utilisateurs', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Mot de passe', passwordless: 'Sans mot de passe - Email et SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organisation', + organization: 'Organisation (Q4, 2023)', }, support: { title: 'Support', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/tabs.ts b/packages/phrases/src/locales/fr/translation/admin-console/tabs.ts index 330595254..03aece576 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'Ressources API', sign_in_experience: 'Expérience de connexion', connectors: 'Connecteurs', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: "SSO d'entreprise", webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organisations', users: 'Gestion des utilisateurs', audit_logs: "Journaux d'audit", - roles: 'Roles', + roles: 'Rôles', docs: 'Documentation', - tenant_settings: 'Paramètres', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: 'Paramètres du locataire', + mfa: 'Authentification multi-facteur', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts b/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts index 52696321e..aa5d66705 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts @@ -13,25 +13,21 @@ const tenants = { "Définissez le nom du locataire et consultez votre région d'hébergement et l'étiquette d'environnement.", tenant_id: 'ID du locataire', tenant_name: 'Nom du locataire', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: "Région d'hébergement des données", + tenant_region_tip: + 'Vos ressources de locataire sont hébergées dans {{region}}. En savoir plus', environment_tag: "Tag de l'environnement", environment_tag_description: 'Les balises ne modifient pas le service. Elles servent simplement à différencier différents environnements.', environment_tag_development: 'Dev', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + "L'environnement de développement est principalement utilisé pour les tests et inclut toutes les fonctionnalités professionnelles mais comporte des filigranes dans l'expérience de connexion. En savoir plus", tenant_info_saved: 'Les informations du locataire ont été enregistrées avec succès.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ + development: 'Développement', production: 'Production', }, deletion_card: { @@ -44,50 +40,36 @@ const tenants = { create_modal: { title: 'Créer un locataire', subtitle: 'Créez un nouveau locataire pour séparer les ressources et les utilisateurs.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + "Créez un nouveau locataire pour séparer les ressources et les utilisateurs. La région et les balises d'environnement ne peuvent pas être modifiées après la création.", + tenant_usage_purpose: 'Dans quel but souhaitez-vous utiliser ce locataire?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + "L'environnement de développement est principalement utilisé pour les tests et ne doit pas être utilisé dans un environnement de production.", development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + "L'environnement de développement est principalement utilisé pour les tests et ne doit pas être utilisé dans un environnement de production.", production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + "La production est l'endroit où le logiciel en direct est utilisé par les utilisateurs finaux et peut nécessiter un abonnement payant.", + available_plan: 'Plan disponible :', create_button: 'Créer un locataire', tenant_name_placeholder: 'Mon locataire', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Vous pouvez désormais accéder à toutes les fonctionnalités de Logto Pro dans votre locataire de développement !', + allow_pro_features_description: + "C'est entièrement gratuit, sans période d'essai - pour toujours !", + explore_all_features: 'Explorer toutes les fonctionnalités', + impact_title: 'Cela a-t-il un impact sur moi ?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Votre étiquette de locataire a été mise à jour de "Staging" à "Production", mais ce changement n\'affectera pas votre configuration actuelle.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'En souscrivant au plan Logto Hobby, votre balise de locataire "Développement" passera à "Production", et cela n\'affectera pas votre configuration existante.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Si vous êtes toujours au stade de développement, vous pouvez créer un nouveau locataire de développement pour accéder à davantage de fonctionnalités professionnelles.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + "Si vous vous trouvez au stade de production ou dans un environnement de production, vous devez toujours souscrire à un abonnement spécifique. Vous n'avez donc rien à faire pour le moment.", paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + "N'hésitez pas à nous contacter si vous avez besoin d'aide! Merci d'avoir choisi Logto!", }, delete_modal: { title: 'Supprimer le locataire', @@ -114,74 +96,52 @@ const tenants = { overdue: 'En retard', }, tenant_suspended_page: { - title: 'Tenant suspended. Contact us to restore access.', + title: "Locataire suspendu. Contactez-nous pour restaurer l'accès.", description_1: - 'We deeply regret to inform you that your tenant account has been temporarily suspended due to improper use, including exceeding MAU limits, overdue payments, or other unauthorized actions.', + "Nous regrettons profondément de vous informer que votre compte de locataire a été temporairement suspendu en raison d'une utilisation abusive, y compris le dépassement des limites MAU, des paiements en retard ou d'autres actions non autorisées.", description_2: - 'If you require further clarification, have any concerns, or wish to restore full functionality and unblock your tenants, please do not hesitate to contact us immediately.', + "Si vous avez besoin de clarifications supplémentaires, si vous avez des préoccupations ou si vous souhaitez restaurer la fonctionnalité complète et débloquer vos locataires, n'hésitez pas à nous contacter immédiatement.", }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'CLÉS DE SIGNATURE', + description: 'Gérez en toute sécurité les clés de signature dans votre locataire.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Clés privées OIDC', + cookie_key: 'Clés de cookies OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: "Clés privées en cours d'utilisation", + cookie_keys_in_use: "Clés de cookies en cours d'utilisation", + rotate_private_keys: 'Faire tourner les clés privées', + rotate_cookie_keys: 'Faire tourner les clés de cookies', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + "Cette action créera une nouvelle clé de signature privée, fera tourner la clé actuelle et supprimera votre clé précédente. Vos jetons JWT signés avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.", rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + "Cette action créera une nouvelle clé de cookie, fera tourner la clé actuelle et supprimera votre clé précédente. Vos cookies avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.", + select_private_key_algorithm: + "Sélectionnez l'algorithme de clé de signature pour la nouvelle clé privée", + rotate_button: 'Faire tourner', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: 'Statut', + algorithm: 'Algorithme de clé de signature', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Actuel', + previous: 'Précédent', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + "Êtes-vous sûr de vouloir faire tourner les clés privées OIDC? Les nouveaux jetons JWT émis seront signés par la nouvelle clé. Les jetons JWT existants resteront valides jusqu'à votre prochaine rotation.", rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + "Êtes-vous sûr de vouloir faire tourner les clés de cookies OIDC? Les nouveaux cookies générés dans les sessions de connexion seront signés par la nouvelle clé de cookie. Les cookies existants resteront valides jusqu'à votre prochaine rotation.", delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Êtes-vous sûr de vouloir supprimer la clé privée OIDC? Les jetons JWT existants signés avec cette clé de signature privée ne seront plus valides.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Êtes-vous sûr de vouloir supprimer la clé de cookie OIDC? Les anciennes sessions de connexion avec des cookies signés avec cette clé de cookie ne seront plus valides. Une ré-authentification est requise pour ces utilisateurs.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Rotation des clés de signature effectuée avec succès.', + delete_key_success: 'Clé supprimée avec succès.', }, }, }; diff --git a/packages/phrases/src/locales/fr/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/fr/translation/admin-console/upsell/paywall.ts index e45aed9d9..2dd2142e0 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { "Limite de {{count, number}} application de atteinte. Mettez à niveau le plan pour répondre aux besoins de votre équipe. Pour toute assistance, n'hésitez pas à nous contacter.", applications_other: "Limite de {{count, number}} applications de atteinte. Mettez à niveau le plan pour répondre aux besoins de votre équipe. Pour toute assistance, n'hésitez pas à nous contacter.", - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + "Mettez à niveau vers le plan Hobby pour débloquer 1 application machine à machine, ou choisissez le plan Pro pour une utilisation illimitée. Pour toute assistance, n'hésitez pas à nous contacter.", machine_to_machine: "Limite de {{count, number}} application de machine à machine de atteinte. Mettez à niveau le plan pour répondre aux besoins de votre équipe. Pour toute assistance, n'hésitez pas à nous contacter.", machine_to_machine_other: @@ -18,34 +17,32 @@ const paywall = { 'Vous avez atteint la limite de {{count, number}} permission par ressource API de . Mettez à niveau maintenant pour étendre. Contactez-nous pour toute assistance.', scopes_per_resource_other: 'Vous avez atteint la limite de {{count, number}} permissions par ressource API de . Mettez à niveau maintenant pour étendre. Contactez-nous pour toute assistance.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + "Débloquez la fonctionnalité de domaine personnalisé en mettant à niveau vers les plans Hobby ou Pro. N'hésitez pas à nous contacter si vous avez besoin d'assistance.", social_connectors: - "Vous avez atteint la limite de {{count, number}} connecteur social de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} connecteur social de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", social_connectors_other: - "Vous avez atteint la limite de {{count, number}} connecteurs sociaux de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", - /** UNTRANSLATED */ + "Vous avez atteint la limite de {{count, number}} connecteurs sociaux de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + "Mettez à niveau vers les plans Hobby ou Pro pour créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML, plus des connecteurs sociaux illimités et toutes les fonctionnalités premium. N’hésitez pas à nous contacter si vous avez besoin d'aide.", standard_connectors: - "Vous avez atteint la limite de {{count, number}} connecteur social de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} connecteur social de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", standard_connectors_other: - "Vous avez atteint la limite de {{count, number}} connecteurs sociaux de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} connecteurs sociaux de . Pour répondre aux besoins de votre équipe, passez à un plan supérieur pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", standard_connectors_pro: - "Vous avez atteint la limite de {{count, number}} connecteur standard de . Pour répondre aux besoins de votre équipe, passez au plan Entreprise pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} connecteur standard de . Pour répondre aux besoins de votre équipe, passez au plan Entreprise pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", standard_connectors_pro_other: - "Vous avez atteint la limite de {{count, number}} connecteurs standard de . Pour répondre aux besoins de votre équipe, passez au plan Entreprise pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} connecteurs standard de . Pour répondre aux besoins de votre équipe, passez au plan Entreprise pour obtenir des connecteurs sociaux supplémentaires et la possibilité de créer vos propres connecteurs en utilisant les protocoles OIDC, OAuth 2.0 et SAML. N’hésitez pas à nous contacter si vous avez besoin d'aide.", roles: - "Vous avez atteint la limite de {{count, number}} rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. N’hésitez pas à nous contacter si vous avez besoin d'aide.", roles_other: - "Vous avez atteint la limite de {{count, number}} rôles de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} rôles de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. N’hésitez pas à nous contacter si vous avez besoin d'aide.", scopes_per_role: - "Vous avez atteint la limite de {{count, number}} permission par rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. Pour toute assistance, n'hésitez pas à nous contacter.", + 'Vous avez atteint la limite de {{count, number}} permission par rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. Pour toute assistance, n’hésitez pas à nous contacter.', scopes_per_role_other: - "Vous avez atteint la limite de {{count, number}} permissions par rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. Pour toute assistance, n'hésitez pas à nous contacter.", + 'Vous avez atteint la limite de {{count, number}} permissions par rôle de . Mettez à niveau votre plan pour ajouter des rôles et des permissions supplémentaires. Pour toute assistance, n’hésitez pas à nous contacter.', hooks: - "Vous avez atteint la limite de {{count, number}} webhook de . Mettez à niveau votre plan pour créer plus de webhooks. N'hésitez pas à nous contacter si vous avez besoin d'aide.", + "Vous avez atteint la limite de {{count, number}} webhook de . Mettez à niveau votre plan pour créer plus de webhooks. N’hésitez pas à nous contacter si vous avez besoin d'aide.", hooks_other: "Vous avez atteint la limite de {{count, number}} webhooks de . Mettez à niveau votre plan pour créer plus de webhooks. N'hésitez pas à nous contacter si vous avez besoin d'aide.", mfa: "Déverrouillez MFA pour vérifier la sécurité en passant à un plan payant. N'hésitez pas à nous contacter si vous avez besoin d'aide.", diff --git a/packages/phrases/src/locales/fr/translation/admin-console/user-details.ts b/packages/phrases/src/locales/fr/translation/admin-console/user-details.ts index 5a01cc828..62ada51f0 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/user-details.ts @@ -22,14 +22,11 @@ const user_details = { tab_settings: 'Paramètres', tab_roles: 'Rôles', tab_logs: "Journaux de l'utilisateur", - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organisations', + authentication: 'Authentification', authentication_description: "Chaque utilisateur possède un profil contenant toutes les informations le concernant. Il se compose de données de base, d'identités sociales et de données personnalisées.", - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Profil utilisateur', field_email: 'Adresse e-mail', field_phone: 'Numéro de téléphone', field_username: "Nom d'utilisateur", @@ -40,30 +37,24 @@ const user_details = { field_custom_data_tip: "Informations supplémentaires sur l'utilisateur qui ne figurent pas dans les propriétés prédéfinies de l'utilisateur, telles que la couleur et la langue préférées de l'utilisateur.", field_connectors: 'Connecteurs sociaux', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: "Connexions d'entreprise", custom_data_invalid: 'Les données personnalisées doivent être un objet JSON valide.', connectors: { connectors: 'Connecteurs', user_id: 'ID utilisateur', remove: 'Supprimer', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', - not_connected: "L'utilisateur n'est connecté à aucun connecteur social", + connected: 'Cet utilisateur est connecté à plusieurs connecteurs sociaux.', + not_connected: "L'utilisateur n'est connecté à aucun connecteur social.", deletion_confirmation: "Vous supprimez l'identité existante . Êtes-vous sûr de vouloir continuer ?", }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Connecteurs', + enterprise_id: "ID de l'entreprise", connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + "Cet utilisateur est connecté à plusieurs fournisseurs d'identité d'entreprise pour l'authentification unique.", not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + "L'utilisateur n'est connecté à aucun fournisseur d'identité d'entreprise pour l'authentification unique.", }, mfa: { field_name: 'Authentification à deux facteurs', @@ -105,8 +96,7 @@ const user_details = { }, warning_no_sign_in_identifier: "L'utilisateur doit avoir au moins l'un des identifiants de connexion (nom d'utilisateur, e-mail, numéro de téléphone ou compte social) pour se connecter. Êtes-vous sûr(e) de vouloir continuer?", - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: "Les rôles attribués à l'utilisateur au sein de cette organisation.", }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts index 74f59abe5..37bde2c1a 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts @@ -32,9 +32,8 @@ const webhooks = { name_placeholder: 'Entrez le nom du webhook', endpoint_url: "URL du point d'extrémité", endpoint_url_placeholder: 'https://votre.url.de.webhook.point.de.terminaison', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + "Entrez l'URL de votre point de terminaison où la charge utile d'un webhook est envoyée lorsque l'événement se produit.", create_webhook: 'Créer un webhook', missing_event_error: 'Vous devez sélectionner au moins un événement.', }, diff --git a/packages/phrases/src/locales/it/errors/entity.ts b/packages/phrases/src/locales/it/errors/entity.ts index 9e6546f1e..1bf55ccb6 100644 --- a/packages/phrases/src/locales/it/errors/entity.ts +++ b/packages/phrases/src/locales/it/errors/entity.ts @@ -5,11 +5,9 @@ const entity = { not_exists: '{{name}} non esiste.', not_exists_with_id: '{{name}} con ID `{{id}}` non esiste.', not_found: 'La risorsa non esiste.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + "Impossibile trovare una o più chiavi esterne. Si prega di controllare l'input e assicurarsi che tutte le entità referenziate esistano.", + unique_integrity_violation: "L'entità esiste già. Si prega di controllare l'input e riprovare.", }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/it/errors/oidc.ts b/packages/phrases/src/locales/it/errors/oidc.ts index d19b5812c..375df7c40 100644 --- a/packages/phrases/src/locales/it/errors/oidc.ts +++ b/packages/phrases/src/locales/it/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { aborted: "L'utente finale ha annullato l'interazione.", - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Ambito non valido: {{error_description}}.', invalid_token: 'Token non valido fornito.', invalid_client_metadata: 'Metadata client non valide fornite.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: "Token mancante dell'ambito `{{scope}}`.", invalid_request: 'La richiesta non è valida.', - invalid_grant: 'La richiesta di grant non è valida.', + invalid_grant: 'La richiesta di concessione non è valida.', invalid_redirect_uri: - '`redirect_uri` non corrisponde a nessuno degli `redirect_uris` registrati dal client.', + '`redirect_uri` non corrisponde a nessuno dei `redirect_uris` registrati dal client.', access_denied: 'Accesso negato.', invalid_target: 'Indicatore di risorsa non valido.', unsupported_grant_type: 'Tipo di `grant_type` richiesto non supportato.', unsupported_response_mode: 'Modalità di risposta `response_mode` richiesta non supportata.', unsupported_response_type: 'Tipo di risposta `response_type` richiesto non supportato.', provider_error: 'Errore interno OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Si è verificato un errore OIDC sconosciuto. Si prega di riprovare più tardi.', + provider_error_fallback: 'Si è verificato un errore OIDC: {{code}}.', + key_required: 'È richiesta almeno una chiave.', + key_not_found: 'Chiave con ID {{id}} non trovata.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/it/errors/organization.ts b/packages/phrases/src/locales/it/errors/organization.ts index 2752f71f9..5390ae596 100644 --- a/packages/phrases/src/locales/it/errors/organization.ts +++ b/packages/phrases/src/locales/it/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: "L'utente deve essere un membro dell'organizzazione per procedere.", }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/it/errors/session.ts b/packages/phrases/src/locales/it/errors/session.ts index 02684defd..22e1131be 100644 --- a/packages/phrases/src/locales/it/errors/session.ts +++ b/packages/phrases/src/locales/it/errors/session.ts @@ -11,9 +11,8 @@ const session = { 'La verifica non è stata completata con successo. Riavvia il processo di verifica e riprova.', verification_expired: 'La connessione è scaduta. Verifica di nuovo per garantire la sicurezza del tuo account.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Troppi tentativi in poco tempo. Si prega di riprovare {{relativeTime}}.', unauthorized: 'Accedi prima di procedere.', unsupported_prompt_name: 'Nome del prompt non supportato.', forgot_password_not_enabled: 'Recupero password non abilitato.', @@ -24,31 +23,20 @@ const session = { identifier_not_found: 'Identificativo utente non trovato. Torna indietro e accedi nuovamente.', interaction_not_found: 'Sessione di interazione non trovata. Torna indietro e avvia la sessione nuovamente.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: 'Questa operazione non è supportata per il recupero password.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'La verifica MFA è richiesta per accedere.', + mfa_sign_in_only: "MFA è disponibile solo per l'interazione di accesso.", + pending_info_not_found: + 'Informazioni MFA in sospeso non trovate, si prega di avviare prima MFA.', + invalid_totp_code: 'Codice TOTP non valido.', + webauthn_verification_failed: 'Verifica WebAuthn non riuscita.', + webauthn_verification_not_found: 'Verifica WebAuthn non trovata.', + bind_mfa_existed: 'MFA esiste già.', + backup_code_can_not_be_alone: "Il codice di backup non può essere l'unica MFA.", + backup_code_required: 'Il codice di backup è richiesto.', + invalid_backup_code: 'Codice di backup non valido.', + mfa_policy_not_user_controlled: "La politica MFA non è controllata dall'utente.", }, sso_enabled: "L'accesso singolo è abilitato per questa email. Accedi con SSO.", }; diff --git a/packages/phrases/src/locales/it/errors/single-sign-on.ts b/packages/phrases/src/locales/it/errors/single-sign-on.ts index 4950a49e2..7f3fb541f 100644 --- a/packages/phrases/src/locales/it/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/it/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'I domini di posta elettronica pubblica non sono consentiti.', + duplicated_domains: 'Ci sono domini duplicati.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/it/errors/user.ts b/packages/phrases/src/locales/it/errors/user.ts index 443b9310b..5f5b0f490 100644 --- a/packages/phrases/src/locales/it/errors/user.ts +++ b/packages/phrases/src/locales/it/errors/user.ts @@ -30,12 +30,9 @@ const user = { role_exists: "L'ID ruolo {{roleId}} è già stato aggiunto a questo utente", invalid_role_type: 'Tipo di ruolo non valido, non è possibile assegnare un ruolo da macchina a utente.', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: "Devi legare un'ulteriore MFA prima di accedere.", + totp_already_in_use: 'TOTP è già in uso.', + backup_code_already_in_use: 'Il codice di backup è già in uso.', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/it/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/it/translation/admin-console/api-resource-details.ts index 88d7d1c24..522647503 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { "Le risorse API, anche note come Indicatori di Risorse, indicano i servizi o le risorse di destinazione da richiedere, di solito una variabile di formato URI che rappresenta l'identità della risorsa.", management_api_settings_description: "La Logto Management API è una raccolta completa di API che consentono agli amministratori di gestire una vasta gamma di attività relative all'identità, far rispettare le politiche di sicurezza e conformarsi a regolamenti e standard.", - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + "Questa API rappresenta l'entità Logto e non può essere modificata o eliminata. Puoi utilizzare la management API per un'ampia gamma di attività relative all'identità. Scopri di più", token_expiration_time_in_seconds: 'Tempo di scadenza del token (in secondi)', token_expiration_time_in_seconds_placeholder: 'Inserisci il tempo di scadenza del tuo token', delete_description: diff --git a/packages/phrases/src/locales/it/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/it/translation/admin-console/enterprise-sso.ts index a938e55e1..982fc1fbc 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'SSO aziendale', + title: 'SSO aziendale', + subtitle: + "Collega il provider di identità aziendale e abilita l'accesso unico inizializzato dal fornitore di servizi.", + create: 'Aggiungi connettore aziendale', + col_connector_name: 'Nome connettore', + col_type: 'Tipo', + col_email_domain: 'Dominio email', + col_status: 'Stato', + col_status_in_use: 'In uso', + col_status_invalid: 'Non valido', + placeholder_title: 'Connettore aziendale', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto ha fornito numerosi provider di identità aziendale integrati, nel frattempo puoi creare il tuo con protocolli standard.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Aggiungi connettore aziendale', + text_divider: 'Oppure puoi personalizzare il tuo connettore con un protocollo standard.', + connector_name_field_title: 'Nome connettore', + connector_name_field_placeholder: 'Nome del provider di identità aziendale', + create_button_text: 'Crea connettore', }, }; diff --git a/packages/phrases/src/locales/it/translation/admin-console/general.ts b/packages/phrases/src/locales/it/translation/admin-console/general.ts index 5027f2520..3e1115c75 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Copiato', required: 'Obbligatorio', add_another: 'Aggiungi un altro', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Crea un altro', deletion_confirmation: 'Sei sicuro di voler eliminare questo {{title}}?', settings_nav: 'Impostazioni', unsaved_changes_warning: @@ -60,22 +59,15 @@ const general = { unknown_error: 'Errore sconosciuto, riprova più tardi.', select: 'Seleziona', contact_us_action: 'Contattaci', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Descrizione', + name: 'Nome', + add_field: 'Aggiungi {{field}}', + create_field: 'Crea {{field}}', + edit_field: 'Modifica {{field}}', + delete_field: 'Elimina {{field}}', coming_soon: 'Prossimamente', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} è attualmente in versione beta. Benvenuto a esplorarlo e condividi il tuo feedback.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/it/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/it/translation/admin-console/organization-details.ts index 3a2a5a8ad..b4fccba5b 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: "Dettagli dell'organizzazione", delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + "Una volta eliminato, tutti i membri perderanno la loro iscrizione e ruoli in questa organizzazione. Quest'azione non può essere annullata.", + organization_id: 'ID organizzazione', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + "Un'organizzazione è un gruppo di identità (di solito utenti) riconosciute da un identificatore comune.\n\nOgni organizzazione ha il suo insieme di membri, ruoli e autorizzazioni, mentre i ruoli e le autorizzazioni sono definiti dal modello di organizzazione.", + name_placeholder: "Il nome dell'organizzazione, non è necessario che sia univoco.", + description_placeholder: "Una descrizione dell'organizzazione.", + member: 'Membro', + member_other: 'Membri', + add_members_to_organization: "Aggiungi membri all'organizzazione {{name}}", add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Trova gli utenti appropriati cercando per nome, email, telefono o ID utente. Gli utenti già esistenti non vengono mostrati nei risultati della ricerca.', + add_with_organization_role: "Aggiungi con ruolo(i) dell'organizzazione", + user: 'Utente', + authorize_to_roles: 'Autorizza {{name}} ad accedere ai seguenti ruoli:', + edit_organization_roles: "Modifica ruoli dell'organizzazione", + edit_organization_roles_of_user: "Modifica ruoli dell'organizzazione di {{name}}", + remove_user_from_organization: "Rimuovi utente dall'organizzazione", remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + "Una volta rimosso, l'utente perderà la sua iscrizione e i ruoli in questa organizzazione. Quest'azione non può essere annullata.", + search_user_placeholder: 'Cerca per nome, email, telefono o ID utente', + at_least_one_user: 'È richiesto almeno un utente.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/it/translation/admin-console/organizations.ts b/packages/phrases/src/locales/it/translation/admin-console/organizations.ts index d6f9220af..216ba8134 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organizzazioni', + title: 'Organizzazioni', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Rappresentano i team, i clienti business e le aziende partner che accedono alle tue applicazioni come organizzazioni.', + organization_id: 'ID organizzazione', + members: 'Membri', + create_organization: 'Crea organizzazione', + setup_organization: 'Configura la tua organizzazione', + organization_list_placeholder_title: 'Organizzazione', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + "L'organizzazione è di solito utilizzata in app multi-inquilino SaaS o simili a SaaS. La funzione Organizzazioni consente ai tuoi clienti B2B di gestire meglio i loro partner e clienti, e di personalizzare i modi in cui gli utenti finali accedono alle loro applicazioni.", + organization_name_placeholder: 'La mia organizzazione', + organization_description_placeholder: "Una breve descrizione dell'organizzazione", + organization_permission: 'Permessi organizzazione', + organization_permission_other: 'Permessi organizzazione', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + "Il permesso organizzativo si riferisce all'autorizzazione per accedere a una risorsa nel contesto dell'organizzazione. Un permesso organizzativo dovrebbe essere rappresentato come una stringa significativa, servendo anche come nome e identificatore univoco.", organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + "Se questo permesso viene eliminato, tutti i ruoli dell'organizzazione che includono questo permesso perderanno tale permesso, e gli utenti che avevano questo permesso perderanno l'accesso garantito da esso.", + create_permission_placeholder: 'Leggi la cronologia degli appuntamenti', + permission: 'Permesso', + permission_other: 'Permessi', + organization_role: 'Ruolo organizzazione', + organization_role_other: 'Ruoli organizzazione', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'Il ruolo organizzativo è un raggruppamento di permessi che possono essere assegnati agli utenti. I permessi devono provenire dai permessi organizzativi predefiniti.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + "Fare ciò rimuoverà i permessi associati a questo ruolo dagli utenti interessati ed eliminerà le relazioni tra i ruoli dell'organizzazione, i membri dell'organizzazione e i permessi dell'organizzazione.", + role: 'Ruolo', + create_role_placeholder: 'Utenti con solo permessi di visualizzazione', + search_placeholder: "Cerca per nome o ID dell'organizzazione", + search_permission_placeholder: 'Digita per cercare e selezionare i permessi', + search_role_placeholder: 'Digita per cercare e selezionare i ruoli', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Inizia con le guide', + subtitle: "Avvia il processo di sviluppo dell'app con le nostre guide", introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Innanzitutto, capiamo come funzionano le organizzazioni in Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'Nei SaaS multi-inquilino, spesso creiamo diverse organizzazioni con lo stesso set di permessi e ruoli, ma nel contesto di un\'organizzazione possono svolgere un ruolo importante nel controllo dei diversi livelli di accesso. Pensate che ogni inquilino sia come un\'organizzazione di Logto, e condividono naturalmente lo stesso "modello" di controllo degli accessi. Chiamiamo questo il "modello organizzativo".', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'Il modello organizzativo è composto da due parti', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + "Il permesso organizzativo si riferisce all'autorizzazione per accedere a una risorsa nel contesto dell'organizzazione. Un permesso organizzativo dovrebbe essere rappresentato come una stringa significativa, servendo anche come nome e identificatore univoco.", organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'Il ruolo organizzativo è un raggruppamento di permessi che possono essere assegnati agli utenti. I permessi devono provenire dai permessi organizzativi predefiniti.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: "Interagisci con l'illustrazione per vedere come tutto si collega", description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Prendiamo un esempio. John, Sarah e Tony sono in diverse organizzazioni con ruoli diversi nel contesto di diverse organizzazioni. Passa il mouse sui diversi moduli e vedi cosa succede.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: "Passo 1: Definire i permessi dell'organizzazione", + step_2: "Passo 2: Definire i ruoli dell'organizzazione", step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Ruoli organizzativi" rappresentano un insieme di ruoli assegnati a ciascuna organizzazione all\'inizio. Questi ruoli sono determinati dai permessi globali che hai impostato nella schermata precedente. Similmente al permesso dell\'organizzazione, una volta completata questa impostazione per la prima volta, non sarà più necessario farlo ogni volta che crei una nuova organizzazione.', + step_3: 'Passo 3: Crea la tua prima organizzazione', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Creiamo la tua prima organizzazione. Viene fornita con un ID univoco e funge da contenitore per gestire vari identità più orientate al business, come partner, clienti e il loro controllo degli accessi.', + more_next_steps: 'Altri passi successivi', + add_members: 'Aggiungi membri alla tua organizzazione', + add_members_action: 'Aggiungi membri massivamente e assegna ruoli', + add_enterprise_connector: 'Aggiungi connettore enterprise SSO', + add_enterprise_connector_action: "Configura l'SSO enterprise", + organization_permissions: 'Permessi organizzazione', + permission_name: 'Nome permesso', + permissions: 'Permessi', + organization_roles: 'Ruoli organizzazione', + role_name: 'Nome ruolo', + organization_name: 'Nome organizzazione', + admin: 'Amministratore', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Il ruolo "Admin" condivide lo stesso modello organizzativo in diverse organizzazioni.', + member: 'Membro', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Il ruolo "Membro" condivide lo stesso modello organizzativo in diverse organizzazioni.', + guest: 'Ospite', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Il ruolo "Ospite" condivide lo stesso modello organizzativo in diverse organizzazioni.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + "È possibile creare altri ruoli nelle impostazioni del modello organizzativo. Questi ruoli dell'organizzazione si applicheranno a diverse organizzazioni.", + read_resource: 'leggi:risorsa', + edit_resource: 'modifica:risorsa', + delete_resource: 'elimina:risorsa', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + "Johny appartiene a due organizzazioni con l'indirizzo email \"john@email.com\" come singolo identificatore. Egli è l'amministratore dell'organizzazione A e ospite dell'organizzazione B.", sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + "Sarah appartiene a un'organizzazione con l'indirizzo email \"sarah@email.com\" come singolo identificatore. Lei è l'amministratore dell'organizzazione B.", + tony: "Tony appartiene a un'organizzazione con l'indirizzo email \"tony@email.com\" come singolo identificatore. Egli è membro dell'organizzazione C.", }, }; diff --git a/packages/phrases/src/locales/it/translation/admin-console/role-details.ts b/packages/phrases/src/locales/it/translation/admin-console/role-details.ts index e315c0871..abb0efca2 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/role-details.ts @@ -44,11 +44,9 @@ const role_details = { assign_title: 'Assegna utenti', assign_subtitle: 'Assegna utenti a questo ruolo. Trova utenti appropriati cercando nome, email, telefono o ID utente.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Assegna utenti', confirm_assign: 'Assegna utenti', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Gli utenti selezionati sono stati assegnati con successo a questo ruolo', empty: 'Nessun utente disponibile', }, applications: { @@ -62,11 +60,10 @@ const role_details = { assign_title: 'Assegna applicazioni', assign_subtitle: 'Assegna applicazioni a questo ruolo. Trova le applicazioni appropriate cercando nome, descrizione o ID app.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Assegna applicazioni', confirm_assign: 'Assegna applicazioni', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: + 'Le applicazioni selezionate sono state assegnate con successo a questo ruolo', empty: 'Nessuna applicazione disponibile', }, }; diff --git a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts index 58ac44f08..2cbbbae95 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Rimuovi il tuo dominio personalizzato', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Disabilita il tuo SSO', }, built_in_email_connector_enabled: { name: 'Connettore email incorporato', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Rimuovi i tuoi webhook', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Rimuovi il tuo organisations', }, audit_logs_retention_days: { name: 'Conservazione log di audit', diff --git a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts index f13fc4745..41bfc5639 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts @@ -26,8 +26,7 @@ const quota_table = { }, user_authn: { title: 'Autenticazione utente', - /** UNTRANSLATED */ - omni_sign_in: 'Enterprise SSO (Q4, 2023)', + omni_sign_in: 'SSO Enterprise (Q4, 2023)', password: 'Password', passwordless: 'Senza password - E-mail e SMS', email_connector: 'Connettore e-mail', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organizzazione', + organization: 'Organizzazione (Q4, 2023)', }, support: { title: 'Assistenza', diff --git a/packages/phrases/src/locales/it/translation/admin-console/tabs.ts b/packages/phrases/src/locales/it/translation/admin-console/tabs.ts index 9b8544ece..dbbbcdae8 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'Risorse API', sign_in_experience: 'Esperienza di accesso', connectors: 'Connettori', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'SSO Enterprise', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizzazioni', users: 'Gestione utenti', audit_logs: 'Registri di verifica', roles: 'Ruoli', docs: 'Documenti', tenant_settings: 'Impostazioni', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + mfa: 'Autenticazione multi-fattore', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/it/translation/admin-console/tenants.ts b/packages/phrases/src/locales/it/translation/admin-console/tenants.ts index 251ae6f74..abc6479cd 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/tenants.ts @@ -14,26 +14,21 @@ const tenants = { "Imposta il nome del tenant e visualizza la tua regione di hosting e l'etichetta dell'ambiente.", tenant_id: 'ID Tenant', tenant_name: 'Nome Tenant', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Regione di hosting', + tenant_region_tip: 'I tuoi risorse inquilino sono ospitate in {{region}}. Scopri di più', environment_tag: 'Tag Ambiente', environment_tag_description: 'I tag non alterano il servizio. Semplicemente ti guidano a distinguere vari ambienti.', environment_tag_development: 'Svil', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + "L'ambiente di sviluppo viene principalmente utilizzato per i test e include tutte le funzionalità professionali, ma presenta filigrane durante l'esperienza di accesso. Scopri di più", tenant_info_saved: "Le informazioni dell'inquilino sono state salvate correttamente.", }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Sviluppo', + production: 'Produzione', }, deletion_card: { title: 'ELIMINA', @@ -45,55 +40,40 @@ const tenants = { create_modal: { title: 'Crea nuovo tenant', subtitle: 'Crea un nuovo tenant per separare risorse e utenti.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + "Crea un nuovo tenant per separare risorse e utenti. La regione e i tag dell'ambiente non possono essere modificati dopo la creazione.", + tenant_usage_purpose: 'Per cosa desideri utilizzare questo tenant?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + "L'ambiente di sviluppo viene principalmente utilizzato per i test e non dovrebbe essere utilizzato nell'ambiente di produzione.", development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + "L'ambiente di sviluppo viene principalmente utilizzato per i test e non deve essere utilizzato nell'ambiente di produzione.", production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'La produzione è dove il software in uso dagli utenti finali e potrebbe richiedere un abbonamento a pagamento.', + available_plan: 'Piano disponibile:', create_button: 'Crea tenant', tenant_name_placeholder: 'Il mio tenant', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Ora puoi accedere a tutte le funzionalità di Logto Pro nel tuo tenant di sviluppo!', + allow_pro_features_description: 'È completamente gratuito, senza periodo di prova, per sempre!', + explore_all_features: 'Esplora tutte le funzionalità', + impact_title: 'Questo ha un impatto su di me?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'L\'etichetta del tuo inquilino è stata aggiornata da "Staging" a "Produzione", ma questa modifica non influenzerà la tua configurazione attuale.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Con l\'iscrizione al piano Logto Hobby, l\'etichetta precedente dell\'inquilino "Sviluppo" passerà a "Produzione", senza alcun effetto sulla configurazione esistente.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Se sei ancora nella fase di sviluppo, puoi creare un nuovo tenant di sviluppo per accedere a più funzionalità professionali.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + "Se sei nella fase di produzione o in un ambiente di produzione, è necessario sottoscrivere un piano specifico, quindi non c'è nulla che devi fare in questo momento.", paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Non esitare a contattarci se hai bisogno di aiuto! Grazie per aver scelto Logto!', }, delete_modal: { title: 'Elimina tenant', description_line1: - 'Sei sicuro di voler eliminare il tuo tenant "{{name}}" con il tag di suffisso dell\'ambiente "{{tag}}"? Questa azione non può essere annullata e comporterà l\'eliminazione permanente di tutti i tuoi dati e le informazioni dell\'account.', + 'Sei sicuro di voler eliminare il tuo tenant "{{name}}" con l\'etichetta di suffisso dell\'ambiente "{{tag}}"? Questa azione non può essere annullata e comporterà l\'eliminazione permanente di tutti i tuoi dati e le informazioni dell\'account.', description_line2: "Prima di eliminare l'account, forse possiamo aiutarti. Contattaci via e-mail", description_line3: @@ -122,67 +102,44 @@ const tenants = { 'Se necessiti ulteriori chiarimenti, hai qualche preoccupazione o desideri ripristinare la funzionalità completa e sbloccare i tuoi tenant, ti preghiamo di contattarci immediatamente.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'CHIAVI DI FIRMA', + description: 'Gestisci in modo sicuro le chiavi di firma nel tuo inquilino.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Chiavi private OIDC', + cookie_key: 'Chiavi dei cookie OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Chiavi private in uso', + cookie_keys_in_use: 'Chiavi dei cookie in uso', + rotate_private_keys: 'Ruota le chiavi private', + rotate_cookie_keys: 'Ruota le chiavi dei cookie', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Questa azione creerà una nuova chiave di firma privata, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi token JWT firmati con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Questa azione creerà una nuova chiave dei cookie, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi cookie con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.', + select_private_key_algorithm: "Seleziona l'algoritmo di firma per la nuova chiave privata", + rotate_button: 'Ruota', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: 'Stato', + algorithm: 'Algoritmo di firma della chiave', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Attuale', + previous: 'Precedente', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Sei sicuro di voler ruotare le chiavi private OIDC? I nuovi token JWT emessi saranno firmati dalla nuova chiave. I token JWT esistenti rimarranno validi finché non ruoti nuovamente.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Sei sicuro di voler ruotare le chiavi dei cookie OIDC? I nuovi cookie generati nelle sessioni di accesso saranno firmati dalla nuova chiave dei cookie. I cookie esistenti rimarranno validi finché non ruoti nuovamente.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Sei sicuro di voler eliminare la chiave privata OIDC? I token JWT esistenti firmati con questa chiave privata non saranno più validi.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Sei sicuro di voler eliminare la chiave dei cookie OIDC? Le sessioni di accesso precedenti con i cookie firmati con questa chiave dei cookie non saranno più valide. È richiesta una nuova autenticazione per questi utenti.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Chiavi di firma ruotate con successo.', + delete_key_success: 'Chiave eliminata con successo.', }, }, }; diff --git a/packages/phrases/src/locales/it/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/it/translation/admin-console/upsell/paywall.ts index 19ed33cec..12c583936 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { 'Limite di {{count, number}} applicazione di raggiunto. Aggiorna il piano per soddisfare le esigenze del tuo team. Per qualsiasi assistenza, non esitare a contattarci.', applications_other: 'Limite di {{count, number}} applicazioni di raggiunto. Aggiorna il piano per soddisfare le esigenze del tuo team. Per qualsiasi assistenza, non esitare a contattarci.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + "Aggiorna al piano Hobby per sbloccare 1 applicazione machine-to-machine, oppure scegli il piano Pro per l'utilizzo illimitato. Per qualsiasi assistenza, non esitare a contattarci.", machine_to_machine: 'Limite di {{count, number}} applicazione machine-to-machine di raggiunto. Aggiorna il piano per soddisfare le esigenze del tuo team. Per qualsiasi assistenza, non esitare a contattarci.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Hai raggiunto il limite di {{count, number}} autorizzazioni per risorsa API di . Aggiorna ora per espanderlo. Contattaci per qualsiasi assistenza.', scopes_per_resource_other: 'Hai raggiunto il limite di {{count, number}} autorizzazioni per risorsa API di . Aggiorna ora per espanderlo. Contattaci per qualsiasi assistenza.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Sblocca la funzionalità del dominio personalizzato passando al piano Hobby o Pro. Non esitare a contattarci se hai bisogno di assistenza.', social_connectors: 'Hai raggiunto il limite di {{count, number}} connettori sociali di . Passa al piano per ottenere connettori sociali aggiuntivi e la possibilità di creare i tuoi connettori utilizzando i protocolli OIDC, OAuth 2.0 e SAML. Non esitare a contattarci se hai bisogno di assistenza.', social_connectors_other: 'Hai raggiunto il limite di {{count, number}} connettori sociali di . Passa al piano per ottenere connettori sociali aggiuntivi e la possibilità di creare i tuoi connettori utilizzando i protocolli OIDC, OAuth 2.0 e SAML. Non esitare a contattarci se hai bisogno di assistenza.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Aggiorna al piano Hobby o Pro per creare i tuoi connettori utilizzando i protocolli OIDC, OAuth 2.0 e SAML, oltre a connettori sociali illimitati e tutte le funzionalità premium. Sentiti libero di contattarci se hai bisogno di assistenza.', standard_connectors: 'Hai raggiunto il limite di {{count, number}} connettori sociali di . Passa al piano per ottenere connettori sociali aggiuntivi e la possibilità di creare i tuoi connettori utilizzando i protocolli OIDC, OAuth 2.0 e SAML. Non esitare a contattarci se hai bisogno di assistenza.', standard_connectors_other: diff --git a/packages/phrases/src/locales/it/translation/admin-console/user-details.ts b/packages/phrases/src/locales/it/translation/admin-console/user-details.ts index 21a0bcf96..f3fbde7e0 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/user-details.ts @@ -22,14 +22,11 @@ const user_details = { tab_settings: 'Impostazioni', tab_roles: 'Ruoli', tab_logs: 'Log utente', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizzazioni', + authentication: 'Autenticazione', authentication_description: "Ogni utente ha un profilo contenente tutte le informazioni dell'utente. È composto da dati di base, identità sociali e dati personalizzati.", - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Profilo utente', field_email: 'Indirizzo email', field_phone: 'Numero di telefono', field_username: 'Nome utente', @@ -40,30 +37,24 @@ const user_details = { field_custom_data_tip: "Ulteriori informazioni sull'utente non elencate nelle proprietà utente predefinite, come il colore e la lingua preferiti dall'utente.", field_connectors: 'Connessioni sociali', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Connessioni enterprise', custom_data_invalid: 'I dati personalizzati devono essere un oggetto JSON valido', connectors: { connectors: 'Connettori', user_id: 'ID utente', remove: 'Rimuovi', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Questo utente è connesso con più connettori sociali.', not_connected: "L'utente non è connesso a nessun connettore sociale", deletion_confirmation: "Stai rimuovendo l'identità esistente . Sei sicuro di voler continuare?", }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Connettori', + enterprise_id: 'ID enterprise', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Questo utente è connesso a più fornitori di identità enterprise per il Single Sign-On.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + "L'utente non è connesso a nessun fornitore di identità enterprise per il Single Sign-On.", }, mfa: { field_name: 'Autenticazione a due fattori', @@ -105,8 +96,7 @@ const user_details = { }, warning_no_sign_in_identifier: "L'utente deve avere almeno uno degli identificatori di accesso (nome utente, email, numero di telefono, o social) per accedere. Sei sicuro di voler continuare?", - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: "I ruoli assegnati all'utente all'interno di questa organizzazione.", }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts index 235180b42..6ff920848 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts @@ -31,9 +31,8 @@ const webhooks = { name_placeholder: 'Inserisci nome webhook', endpoint_url: 'Endpoint URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + "Inserisci l'URL del tuo endpoint dove il payload del webhook viene inviato quando si verifica l'evento.", create_webhook: 'Crea webhook', missing_event_error: 'Devi selezionare almeno un evento.', }, diff --git a/packages/phrases/src/locales/ja/errors/entity.ts b/packages/phrases/src/locales/ja/errors/entity.ts index 003b9d073..538e50936 100644 --- a/packages/phrases/src/locales/ja/errors/entity.ts +++ b/packages/phrases/src/locales/ja/errors/entity.ts @@ -5,11 +5,10 @@ const entity = { not_exists: '{{name}}は存在しません。', not_exists_with_id: 'IDが`{{id}}`の{{name}}は存在しません。', not_found: 'リソースが存在しません。', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + '外部キーが1つ以上見つかりません。入力を確認し、すべての参照先エンティティが存在することを確認してください。', + unique_integrity_violation: + 'エンティティは既に存在します。入力を確認してもう一度お試しください。', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/ja/errors/oidc.ts b/packages/phrases/src/locales/ja/errors/oidc.ts index b62973131..e85cc5ed5 100644 --- a/packages/phrases/src/locales/ja/errors/oidc.ts +++ b/packages/phrases/src/locales/ja/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { aborted: 'エンドユーザが操作を中止しました。', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'スコープが無効です: {{error_description}}。', invalid_token: '提供されたトークンが無効です。', invalid_client_metadata: '提供されたクライアントメタデータが無効です。', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'トークンにスコープ `{{scope}}` が含まれていません。', invalid_request: 'リクエストが無効です。', - invalid_grant: '付与要求が無効です。', + invalid_grant: '付与リクエストが無効です。', invalid_redirect_uri: - '`` `redirect_uri`` `は、クライアントの登録された一つにも一致しませんでした```redirect_uris`。', + '`` `redirect_uri`` `は、クライアントが登録したいずれのものとも一致しませんでした```redirect_uris`。', access_denied: 'アクセスが拒否されました。', invalid_target: '無効なリソース指示子です。', unsupported_grant_type: '要求された`grant_type`はサポートされていません。', unsupported_response_mode: '要求された`response_mode`はサポートされていません。', unsupported_response_type: '要求された`response_type`はサポートされていません。', provider_error: 'OIDC内部エラー:{{message}}。', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: '不明なOIDCエラーが発生しました。後でもう一度お試しください。', + provider_error_fallback: 'OIDCエラーが発生しました: {{code}}。', + key_required: '少なくとも1つのキーが必要です。', + key_not_found: 'IDが{{id}}のキーが見つかりません。', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/ja/errors/organization.ts b/packages/phrases/src/locales/ja/errors/organization.ts index 2752f71f9..75b990855 100644 --- a/packages/phrases/src/locales/ja/errors/organization.ts +++ b/packages/phrases/src/locales/ja/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'ユーザーは組織のメンバーである必要があります。', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/ja/errors/session.ts b/packages/phrases/src/locales/ja/errors/session.ts index 930897685..f4c666cd9 100644 --- a/packages/phrases/src/locales/ja/errors/session.ts +++ b/packages/phrases/src/locales/ja/errors/session.ts @@ -11,7 +11,6 @@ const session = { '検証が成功しませんでした。検証フローを再開してもう一度やり直してください。', verification_expired: '接続がタイムアウトしました。アカウントの安全性を確保するために再度検証してください。', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: 'Too many attempts in a short time. Please try again {{relativeTime}}.', unauthorized: '最初にサインインしてください。', @@ -22,30 +21,18 @@ const session = { identifier_not_found: 'ユーザーIDが見つかりません。戻って再度サインインしてください。', interaction_not_found: 'インタラクションセッションが見つかりません。戻ってセッションを開始してください。', - /** UNTRANSLATED */ not_supported_for_forgot_password: 'This operation is not supported for forgot password.', mfa: { - /** UNTRANSLATED */ require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', }, sso_enabled: diff --git a/packages/phrases/src/locales/ja/errors/single-sign-on.ts b/packages/phrases/src/locales/ja/errors/single-sign-on.ts index 4950a49e2..765d20ba6 100644 --- a/packages/phrases/src/locales/ja/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/ja/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'パブリックメールドメインは許可されていません。', + duplicated_domains: '重複するドメインがあります。', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/ja/errors/user.ts b/packages/phrases/src/locales/ja/errors/user.ts index e3c8b1891..370ebfd30 100644 --- a/packages/phrases/src/locales/ja/errors/user.ts +++ b/packages/phrases/src/locales/ja/errors/user.ts @@ -30,12 +30,9 @@ const user = { role_exists: 'このユーザーには既に役割ID {{roleId}}が追加されています。', invalid_role_type: '役割タイプが無効です。ユーザーにはマシン対マシンの役割を割り当てることはできません。', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: 'MFAを追加してからサインインしてください。', + totp_already_in_use: 'TOTPはすでに使用されています。', + backup_code_already_in_use: 'バックアップコードはすでに使用されています。', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/ja/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/api-resource-details.ts index bd40e7843..d7d1e301f 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/api-resource-details.ts @@ -1,5 +1,5 @@ const api_resource_details = { - page_title: 'API リソースの詳細 ', + page_title: 'APIリソースの詳細 ', back_to_api_resources: 'APIリソースに戻る', settings_tab: '設定', permissions_tab: '権限', @@ -8,9 +8,8 @@ const api_resource_details = { 'APIリソース、またはリソースインジケータは、通常、リソースの識別子を表すURI形式の変数を表します。', management_api_settings_description: 'Logto管理APIは、管理者が幅広いID関連タスクを管理し、セキュリティポリシーを強制し、規制や標準に準拠するための包括的なAPIのコレクションです。', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'このAPIはLogtoエンティティを表し、変更または削除することはできません。管理APIを使用して、幅広いID関連タスクを実行できます。 詳細', token_expiration_time_in_seconds: 'トークンの有効期限(秒単位)', token_expiration_time_in_seconds_placeholder: 'トークンの有効期限を入力してください', delete_description: diff --git a/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso.ts index a938e55e1..6ece94aab 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'エンタープライズSSO', + title: 'エンタープライズSSO', + subtitle: + '企業のアイデンティティプロバイダーとの接続を可能にし、SP主導のシングルサインオンを有効にします。', + create: 'エンタープライズコネクターを追加', + col_connector_name: 'コネクター名', + col_type: 'タイプ', + col_email_domain: 'メールドメイン', + col_status: 'ステータス', + col_status_in_use: '使用中', + col_status_invalid: '無効', + placeholder_title: 'エンタープライズコネクター', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logtoは多くの組み込み企業向けアイデンティティプロバイダーを提供しており、同時に標準プロトコルで独自のプロバイダーを作成することもできます。', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'エンタープライズコネクターを追加', + text_divider: 'または、標準プロトコルによってカスタマイズされたコネクターを作成できます。', + connector_name_field_title: 'コネクター名', + connector_name_field_placeholder: '企業向けアイデンティティプロバイダーの名前', + create_button_text: 'コネクターを作成', }, }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/general.ts b/packages/phrases/src/locales/ja/translation/admin-console/general.ts index e002d8940..ee9311a7f 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'コピーされました', required: '必須', add_another: 'もう一つ追加', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'もう一つ作成する', deletion_confirmation: '{{title}}を削除してよろしいですか?', settings_nav: '設定', unsaved_changes_warning: '変更を加えました。このページを離れてもよろしいですか?', @@ -59,22 +58,15 @@ const general = { unknown_error: '不明なエラーが発生しました。後で再試行してください。', select: '選択する', contact_us_action: 'お問い合わせ', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: '説明', + name: '名前', + add_field: '{{field}}を追加', + create_field: '{{field}}を作成', + edit_field: '{{field}}を編集', + delete_field: '{{field}}を削除', coming_soon: '近日公開予定', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} は現在ベータ版です。お試しいただき、フィードバックを共有してください。', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/ja/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/organization-details.ts index 3a2a5a8ad..db28fb95e 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: '組織の詳細', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + '削除すると、すべてのメンバーが組織内のメンバーシップとロールを失います。この操作は元に戻せません。', + organization_id: '組織ID', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + '組織は、一般的な識別子によって識別されるアイデンティティ(通常ユーザー)のグループです。\n\n各組織には独自のメンバー、役割、および権限があります。また、役割と権限は組織テンプレートによって定義されます。', + name_placeholder: '組織の名前。一意である必要はありません。', + description_placeholder: '組織の説明。', + member: 'メンバー', + member_other: 'メンバー', + add_members_to_organization: '組織 {{name}} にメンバーを追加', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + '名前、メール、電話、またはユーザーIDで検索して適切なユーザーを見つけます。検索結果には既存のメンバーは表示されません。', + add_with_organization_role: '組織の役割付きで追加', + user: 'ユーザー', + authorize_to_roles: '{{name}} に以下の役割へのアクセスを許可', + edit_organization_roles: '組織の役割を編集', + edit_organization_roles_of_user: '{{name}} の組織の役割を編集', + remove_user_from_organization: '組織からユーザーを削除', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + '削除すると、ユーザーは組織内のメンバーシップとロールを失います。この操作は元に戻せません。', + search_user_placeholder: '名前、メール、電話番号、またはユーザーIDで検索', + at_least_one_user: '少なくとも1人のユーザーが必要です。', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts b/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts index d6f9220af..c1b97bb56 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts @@ -1,163 +1,94 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: '組織', + title: '組織', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'チーム、ビジネス顧客、およびパートナー企業を表すものであり、組織としてアプリケーションにアクセスします。', + organization_id: '組織ID', + members: 'メンバー', + create_organization: '組織を作成', + setup_organization: '組織を設定', + organization_list_placeholder_title: '組織', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + '組織は、通常、SaaSまたはSaaSのようなマルチテナントアプリで使用されます。組織機能により、B2B顧客はパートナーや顧客をよりよく管理し、エンドユーザーがアプリケーションにアクセスする方法をカスタマイズできます。', + organization_name_placeholder: '私の組織', + organization_description_placeholder: '組織の簡単な説明', + organization_permission: '組織権限', + organization_permission_other: '組織権限', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織権限とは、組織のコンテキストでリソースにアクセスするための承認を指します。組織権限は、意味のある文字列として表され、また名前および一意の識別子としても機能します。', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'この権限を削除すると、この権限を含むすべての組織ロールがこの権限を失い、この権限を持っていたユーザーはそのアクセスを失います。', + create_permission_placeholder: '任命履歴を読む', + permission: '権限', + permission_other: '権限', + organization_role: '組織役割', + organization_role_other: '組織役割', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + '組織役割は、ユーザーに割り当てることができる権限のグループ化です。権限は事前に定義された組織権限から取得する必要があります。', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'これを行うと、影響を受けるユーザーからこの役割に関連する権限が削除され、組織ロール、組織のメンバー、および組織権限の関係が削除されます。', + role: '役割', + create_role_placeholder: '閲覧のみの権限を持つユーザー', + search_placeholder: '組織名またはIDで検索', + search_permission_placeholder: '検索して権限を選択', + search_role_placeholder: '検索して役割を選択', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'ガイドで始める', + subtitle: 'ガイドを使用してアプリの開発プロセスをスタートさせます', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'まず、Logtoで組織がどのように機能するかを理解しましょう', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'マルチテナントのSaaSアプリでは、しばしば同じセットの権限と役割を持つ複数の組織を作成しますが、組織のコンテキストではさまざまなアクセスレベルを制御するのに重要な役割を果たすことができます。各テナントはLogto組織のようであり、自然に同じアクセス制御の「テンプレート」を共有します。これを「組織テンプレート」と呼びます。', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: '組織テンプレートは2つの部分で構成されます', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織権限とは、組織のコンテキストでリソースにアクセスするための承認を指します。組織権限は、意味のある文字列として表され、また名前および一意の識別子としても機能します。', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + '組織役割は、ユーザーに割り当てることができる権限のグループ化です。権限は事前に定義された組織権限から取得する必要があります。', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'イラストを操作して、接続方法を確認してください', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + '例を挙げましょう。ジョン、サラ、トニーはそれぞれ異なる組織に所属し、それぞれ異なる役割を持っています。異なる組織のコンテキストで、異なるアクセスを持っていることを確認してください。', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'ステップ1:組織権限を定義する', + step_2: 'ステップ2:組織役割を定義する', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '「組織役割」は、最初に各組織に付与された一連の役割を表します。これらの役割は、前のスクリーンで設定したグローバルな権限によって決定されます。組織権限と同様に、初回設定が完了すると、新しい組織を作成するたびにこれを毎回行う必要はありません。', + step_3: 'ステップ3:最初の組織を作成する', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ - guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + '最初の組織を作成しましょう。これには固有のIDが付いており、パートナーや顧客などさまざまなビジネス向けアイデンティティの取り扱いを行うためのコンテナとして機能します。', + more_next_steps: 'さらに次のステップ', + add_members: '組織にメンバーを追加する', + add_members_action: 'メンバーを一括追加して役割を割り当てる', + add_enterprise_connector: 'エンタープライズSSOを追加', + add_enterprise_connector_action: 'エンタープライズSSOを設定', + organization_permissions: '組織権限', + permission_name: '権限名', + permissions: '権限', + organization_roles: '組織役割', + role_name: '役割名', + organization_name: '組織名', + admin: '管理者', + admin_description: '役割「管理者」は、さまざまな組織で同じ組織テンプレートを共有します。', + member: 'メンバー', + member_description: '役割「メンバー」は、さまざまな組織で同じ組織テンプレートを共有します。', + guest: 'ゲスト', + guest_description: '役割「ゲスト」は、さまざまな組織で同じ組織テンプレートを共有します。', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ + '組織テンプレート設定でさらに多くの役割を作成できます。これらの組織役割は異なる組織に適用されます。', read_resource: 'read:resource', - /** UNTRANSLATED */ edit_resource: 'edit:resource', - /** UNTRANSLATED */ delete_resource: 'delete:resource', - /** UNTRANSLATED */ ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'ジョニーは、メールアドレス「john@email.com」を通じて2つの組織に所属しています。組織Aの管理者であり、組織Bのゲストです。', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'サラは、メールアドレス「sarah@email.com」を通じて1つの組織に所属しています。組織Bの管理者です。', + tony: 'トニーは、メールアドレス「tony@email.com」を通じて1つの組織に所属しています。組織Cのメンバーです。', }, }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/role-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/role-details.ts index f1ac8bce5..477f2bb52 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/role-details.ts @@ -42,11 +42,9 @@ const role_details = { assign_title: 'ユーザーを割り当てる', assign_subtitle: 'ユーザーをこのロールに割り当てます。名前、電子メール、電話、またはユーザーIDで検索して適切なユーザーを見つけます。', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'ユーザーを割り当てる', confirm_assign: 'ユーザーを割り当てる', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: '選択したユーザーがこのロールに正常に割り当てられました', empty: '使用可能なユーザーはありません', }, applications: { @@ -59,11 +57,9 @@ const role_details = { assign_title: 'アプリケーションを割り当てる', assign_subtitle: 'このロールにアプリケーションを割り当てます。名前、説明、またはアプリIDで検索して適切なアプリケーションを見つけます。', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'アプリケーションを割り当てる', confirm_assign: 'アプリケーションを割り当てる', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: '選択したアプリケーションがこのロールに正常に割り当てられました', empty: '利用可能なアプリケーションはありません', }, }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts index 21d3fec8b..f283b2e6a 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts @@ -47,13 +47,9 @@ const quota_item = { not_eligible: 'カスタムドメインを削除してください', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ not_eligible: 'Disable your SSO', }, built_in_email_connector_enabled: { @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Webhookを削除してください', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: '組織', + limited: '組織', + unlimited: '組織', + not_eligible: '組織を削除してください', }, audit_logs_retention_days: { name: '監査ログの保持期間', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts index 57145ef61..48d607f2b 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'ユーザー認証', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'パスワード', passwordless: 'パスワードレス - E-mailとSMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'ウェブフック', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: '組織', + organization: '組織 (Q4, 2023)', }, support: { title: 'サポート', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/tabs.ts b/packages/phrases/src/locales/ja/translation/admin-console/tabs.ts index 5d7e61720..65e74b7e8 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/tabs.ts @@ -5,17 +5,14 @@ const tabs = { api_resources: 'API リソース', sign_in_experience: 'サインイン', connectors: 'コネクタ', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'エンタープライズSSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: '組織', users: 'ユーザー管理', audit_logs: '監査ログ', roles: '役割', docs: 'ドキュメント', tenant_settings: '設定', - /** UNTRANSLATED */ mfa: 'Multi-factor auth', }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts b/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts index c94dd7f54..ee492988a 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts @@ -12,9 +12,7 @@ const tenants = { description: 'テナント名を設定し、データがホストされている地域と環境のタグを表示します。', tenant_id: 'テナントID', tenant_name: 'テナント名', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ + tenant_region: 'データがホストされている地域', tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', environment_tag: '環境タグ', environment_tag_description: @@ -22,16 +20,13 @@ const tenants = { environment_tag_development: '開発', environment_tag_staging: 'ステージング', environment_tag_production: '本番', - /** UNTRANSLATED */ development_description: 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', tenant_info_saved: 'テナント情報は正常に保存されました。', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: '開発', + production: '本番', }, deletion_card: { title: '削除', @@ -43,48 +38,33 @@ const tenants = { create_modal: { title: 'テナントを作成する', subtitle: 'リソースとユーザーを分離するには、新しいテナントを作成します。', - /** UNTRANSLATED */ subtitle_with_region: 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ development_description: 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ development_hint: 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ production_description: 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ available_plan: 'Available plan:', create_button: 'テナントを作成する', tenant_name_placeholder: '私のテナント', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ explore_all_features: 'Explore all features', - /** UNTRANSLATED */ impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ staging_env_hint: 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ paid_tenant_hint_1: 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ paid_tenant_hint_2: "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ paid_tenant_hint_3: "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ paid_tenant_hint_4: "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", }, @@ -120,66 +100,43 @@ const tenants = { '詳細な説明や懸念事項がある場合、または機能を完全に復元しテナントをアンブロックする場合は、直ちにお問い合わせください。', }, signing_keys: { - /** UNTRANSLATED */ title: 'SIGNING KEYS', - /** UNTRANSLATED */ description: 'Securely manage signing keys in your tenant.', type: { - /** UNTRANSLATED */ private_key: 'OIDC private keys', - /** UNTRANSLATED */ cookie_key: 'OIDC cookie keys', }, - /** UNTRANSLATED */ private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ rotate_private_keys_description: 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ rotate_cookie_keys_description: 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ rotate_button: 'Rotate', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ status: 'Status', - /** UNTRANSLATED */ algorithm: 'Signing key algorithm', }, status: { - /** UNTRANSLATED */ current: 'Current', - /** UNTRANSLATED */ previous: 'Previous', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ rotate_cookie_key: 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ delete_private_key: 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ delete_cookie_key: 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', }, messages: { - /** UNTRANSLATED */ rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ delete_key_success: 'Key deleted successfully.', }, }, diff --git a/packages/phrases/src/locales/ja/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/ja/translation/admin-console/upsell/paywall.ts index 1ef4fb652..1cf8f4610 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '{{count, number}}個のアプリケーション制限に達しました。チームのニーズに対応するため、プランをアップグレードしてください。サポートが必要な場合は、お気軽にお問い合わせください。', applications_other: '{{count, number}}個のアプリケーション制限に達しました。チームのニーズに対応するため、プランをアップグレードしてください。サポートが必要な場合は、お気軽にお問い合わせください。', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'アップグレードして、Hobbyプランで1つのマシン間アプリケーションを解除するか、無制限の使用が可能なProプランを選択してください。どんなお手伝いが必要でも、お気軽にお問い合わせください。', machine_to_machine: '{{count, number}}個のマシン間アプリケーション制限に達しました。チームのニーズに対応するため、プランをアップグレードしてください。サポートが必要な場合は、お気軽にお問い合わせください。', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { '{{count, number}}の APIリソースあたりの許可制限に達しました。拡張するには今すぐアップグレードしてください。お問い合わせは何かお手伝いが必要な場合はお気軽にどうぞ。', scopes_per_resource_other: '{{count, number}}の APIリソースあたりの許可制限に達しました。拡張するには今すぐアップグレードしてください。お問い合わせは何かお手伝いが必要な場合はお気軽にどうぞ。', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'カスタムドメインの機能を解除するには、HobbyまたはProプランにアップグレードしてください。何かお手伝いが必要な場合は、お気軽にお問い合わせください。', social_connectors: '{{count, number}}のソーシャルコネクタ制限に達しました。チームのニーズに合わせて有料プランにアップグレードして、OIDC、OAuth 2.0、およびSAMLプロトコルを使用して独自のコネクタを作成できるようにしましょう。お問い合わせは何かお手伝いが必要な場合はお気軽にどうぞ。', social_connectors_other: '{{count, number}}のソーシャルコネクタ制限に達しました。チームのニーズに合わせて有料プランにアップグレードして、OIDC、OAuth 2.0、およびSAMLプロトコルを使用して独自のコネクタを作成できるようにしましょう。お問い合わせは何かお手伝いが必要な場合はお気軽にどうぞ。', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'OIDC、OAuth 2.0、およびSAMLプロトコルを使用して独自のコネクタを作成し、無制限のソーシャルコネクタとすべてのプレミアム機能を利用するには、HobbyプランまたはProプランにアップグレードしてください。どんなお手伝いが必要でも、お気軽にお問い合わせください。', standard_connectors: '{{count, number}}のソーシャルコネクタ制限に達しました。チームのニーズに合わせて有料プランにアップグレードして、OIDC、OAuth 2.0、およびSAMLプロトコルを使用して独自のコネクタを作成できるようにしましょう。お問い合わせは何かお手伝いが必要な場合はお気軽にどうぞ。', standard_connectors_other: diff --git a/packages/phrases/src/locales/ja/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/user-details.ts index 873f24bc5..f0555a367 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: '設定', tab_roles: '役割', tab_logs: 'ユーザーログ', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: '組織', + authentication: '認証', authentication_description: '各ユーザーには、すべてのユーザー情報が含まれるプロファイルがあります。基本データ、ソーシャルアイデンティティ、およびカスタムデータで構成されています。', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'ユーザープロファイル', field_email: 'メールアドレス', field_phone: '電話番号', field_username: 'ユーザー名', @@ -38,29 +35,23 @@ const user_details = { field_custom_data_tip: 'プリディフィンドされたユーザープロパティにリストされていない、追加のユーザー情報(ユーザーが好みの色や言語など)。', field_connectors: 'ソーシャル接続', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'エンタープライズ接続', custom_data_invalid: 'カスタムデータは有効なJSONオブジェクトである必要があります', connectors: { connectors: 'コネクタ', user_id: 'ユーザーID', remove: '削除', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'このユーザーは複数のソーシャルコネクタに接続しています。', not_connected: 'ユーザーはソーシャルコネクタに接続していません', deletion_confirmation: '既存のアイデンティティを削除しています。本当に続行しますか?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: '接続', + enterprise_id: 'エンタープライズID', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'このユーザーはシングルサインオンのために複数のエンタープライズアイデンティティプロバイダに接続しています。', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'ユーザーはシングルサインオンのためにいかなるエンタープライズアイデンティティプロバイダにも接続していません。', }, mfa: { field_name: '多要素認証', @@ -100,8 +91,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'ユーザーは、サインインに少なくとも1つの識別子(ユーザー名、メールアドレス、電話番号、またはソーシャル)を持っている必要があります。続行してよろしいですか?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'この組織内のユーザーに割り当てられた役割。', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts index 9c289b754..8359cf3fd 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts @@ -30,7 +30,6 @@ const webhooks = { name_placeholder: 'Webhook名を入力してください', endpoint_url: 'エンドポイントURL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ endpoint_url_tip: 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', create_webhook: 'Webhookを作成する', diff --git a/packages/phrases/src/locales/ko/errors/entity.ts b/packages/phrases/src/locales/ko/errors/entity.ts index e5d851116..2790cf0f2 100644 --- a/packages/phrases/src/locales/ko/errors/entity.ts +++ b/packages/phrases/src/locales/ko/errors/entity.ts @@ -5,11 +5,9 @@ const entity = { not_exists: '{{name}}는 존재하지 않아요.', not_exists_with_id: '{{id}} ID를 가진 {{name}}는 존재하지 않아요.', not_found: '리소스가 존재하지 않아요.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + '하나 이상의 외래 키를 찾을 수 없어요. 입력을 확인하고 참조된 모든 엔티티가 있는지 확인해주세요.', + unique_integrity_violation: '엔티티가 이미 존재해요. 입력을 확인하고 다시 시도해주세요.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/ko/errors/oidc.ts b/packages/phrases/src/locales/ko/errors/oidc.ts index 4ad9a4993..1eb6349cb 100644 --- a/packages/phrases/src/locales/ko/errors/oidc.ts +++ b/packages/phrases/src/locales/ko/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: 'End 사용자가 상호 작용을 중단했어요.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: '허용되지 않은 범위: {{error_description}}.', invalid_token: '유효하지 않은 토큰이 제공되었어요.', invalid_client_metadata: '유효하지 않은 클라이언트 메타데이터가 제공되었어요.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: '토큰에 `{{scope}}` 범위가 누락되었어요.', invalid_request: '요청이 유효하지 않아요.', invalid_grant: '승인 요청이 유효하지 않아요.', invalid_redirect_uri: '`redirect_uri`가 등록된 클라이언트의 `redirect_uris`와 일치하지 않아요.', @@ -15,14 +13,10 @@ const oidc = { unsupported_response_mode: '지원하지 않는 `response_mode` 요청이에요.', unsupported_response_type: '지원하지 않은 `response_type` 요청이에요.', provider_error: 'OIDC 내부 오류: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: '알 수 없는 OIDC 오류가 발생했어요. 나중에 다시 시도해주세요.', + provider_error_fallback: 'OIDC 오류가 발생했어요: {{code}}.', + key_required: '최소한 하나의 키가 필요해요.', + key_not_found: 'ID가 {{id}}인 키를 찾을 수 없어요.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/ko/errors/organization.ts b/packages/phrases/src/locales/ko/errors/organization.ts index 2752f71f9..4b43c28b6 100644 --- a/packages/phrases/src/locales/ko/errors/organization.ts +++ b/packages/phrases/src/locales/ko/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: '사용자는 조직의 구성원이어야 합니다.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/ko/errors/session.ts b/packages/phrases/src/locales/ko/errors/session.ts index b8b0a60c9..289f16ed8 100644 --- a/packages/phrases/src/locales/ko/errors/session.ts +++ b/packages/phrases/src/locales/ko/errors/session.ts @@ -10,7 +10,6 @@ const session = { '검증을 실패했어요. 검증 과정을 다시 시작하고 다시 시도해 주세요.', verification_expired: '연결 시간이 초과되었어요. 검증을 다시 시작하고, 계정이 안전한지 확인해 주세요.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: 'Too many attempts in a short time. Please try again {{relativeTime}}.', unauthorized: '로그인을 먼저 해 주세요.', @@ -20,31 +19,19 @@ const session = { '인증이 성공적으로 완료되지 않았어요. 처음부터 다시 인증 과정을 거쳐 주세요.', connector_validation_session_not_found: '연동 세션 유효성 검증을 위한 토큰을 찾을 수 없어요.', identifier_not_found: '사용자 식별자를 찾을 수 없어요. 처음부터 다시 로그인을 시도해 주세요.', - interaction_not_found: '인터렉션 세션을 찾을 수 없어요. 처음부터 다시 세션을 시작해 주세요.', - /** UNTRANSLATED */ + interaction_not_found: '인터랙션 세션을 찾을 수 없어요. 처음부터 다시 세션을 시작해 주세요.', not_supported_for_forgot_password: 'This operation is not supported for forgot password.', mfa: { - /** UNTRANSLATED */ require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', }, sso_enabled: '이 이메일로는 SSO가 활성화되어 있어요. SSO로 로그인해 주세요.', diff --git a/packages/phrases/src/locales/ko/errors/single-sign-on.ts b/packages/phrases/src/locales/ko/errors/single-sign-on.ts index 4950a49e2..9d84cffaf 100644 --- a/packages/phrases/src/locales/ko/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/ko/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: '공개 이메일 도메인은 허용되지 않습니다.', + duplicated_domains: '중복된 도메인이 있습니다.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/ko/errors/user.ts b/packages/phrases/src/locales/ko/errors/user.ts index 7684959ef..738affbe3 100644 --- a/packages/phrases/src/locales/ko/errors/user.ts +++ b/packages/phrases/src/locales/ko/errors/user.ts @@ -29,11 +29,8 @@ const user = { role_exists: '역할 ID {{roleId}}은/는 이미 이 사용자에게 할당되어 있어요.', invalid_role_type: '유효하지 않은 역할 유형입니다. 사용자에게 기계 대 기계 역할을 할당할 수 없습니다.', - /** UNTRANSLATED */ missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ backup_code_already_in_use: 'Backup code is already in use.', }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts index c3235135c..26eafba3a 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts @@ -5,32 +5,31 @@ const api_resource_details = { permissions_tab: '권한', settings: '설정', settings_description: - 'API 리소스(리소스 표시기) - 요청할 대상 서비스 또는 리소스(일반적으로 리소스의 ID를 나타내는 URI 형식 변수)를 나타내요.', + 'API 리소스(리소스 표시기) - 요청할 대상 서비스 또는 리소스(일반적으로 리소스의 ID를 나타내는 URI 형식 변수)를 나타냅니다.', management_api_settings_description: 'Logto 관리 API는 관리자가 다양한 ID 관련 작업을 관리하고 보안 정책을 시행하며 규정 및 표준을 준수할 수 있도록 하는 포괄적인 API 컬렉션입니다.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + '이 API는 Logto 엔터티를 나타내며 수정 또는 삭제할 수 없습니다. 다양한 ID 관련 작업에 대해 관리 API를 사용할 수 있습니다. 더 알아보기', token_expiration_time_in_seconds: '토큰 만료 시간 (초)', token_expiration_time_in_seconds_placeholder: '토큰 만료 시간을 입력해주세요', delete_description: - '이 행동은 취소할 수 없어요. 해당 API 리소스가 영원히 삭제될 거예요. 삭제를 하기 위해 API 리소스 이름 "{{name}}"을 입력해주세요.', + '이 동작은 취소할 수 없습니다. 해당 API 리소스는 영원히 삭제됩니다. 삭제를 위해 API 리소스 이름 "{{name}}"을 입력해주세요.', enter_your_api_resource_name: 'API 리소스 이름을 입력해주세요.', - api_resource_deleted: '{name}} API 리소스가 성공적으로 삭제되었어요.', + api_resource_deleted: '{{name}} API 리소스가 성공적으로 삭제되었습니다.', permission: { create_button: '권한 생성', create_title: '권한 생성', - create_subtitle: '이 API에 필요한 권한을 정의해요.', + create_subtitle: '이 API에 필요한 권한을 정의합니다.', confirm_create: '권한 생성', name: '권한 이름', name_placeholder: 'read:resource', - forbidden_space_in_name: '권한 이름은 공백을 포함할 수 없어요.', + forbidden_space_in_name: '권한 이름에는 공백을 포함할 수 없습니다.', description: '설명', description_placeholder: '리소스를 볼 수 있는 권한', - permission_created: '권한 {{name}}이 성공적으로 생성되었어요.', + permission_created: '권한 {{name}}이 성공적으로 생성되었습니다.', delete_description: - '이 권한이 삭제되면, 이 권한을 가지고 있던 사용자는 이 권한에 의해 부여받은 접근 권한을 잃게 돼요.', - deleted: '권한 "{{name}}"이 성공적으로 삭제되었어요.', + '이 권한이 삭제되면, 해당 권한을 가진 사용자는 해당 권한으로 인해 부여받은 접근 권한을 상실하게 됩니다.', + deleted: '권한 "{{name}}"이 성공적으로 삭제되었습니다.', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/ko/translation/admin-console/enterprise-sso.ts index a938e55e1..6ad0b07f2 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,23 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: '기업 SSO', + title: '기업 SSO', + subtitle: '기업 신원 공급자를 연결하고 SP-initiated 단일 로그인을 활성화합니다.', + create: '기업 커넥터 추가', + col_connector_name: '커넥터 이름', + col_type: '유형', + col_email_domain: '이메일 도메인', + col_status: '상태', + col_status_in_use: '사용 중', + col_status_invalid: '유효하지 않음', + placeholder_title: '기업 커넥터', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto는 많은 내장 기업 신원 공급자를 제공했으며, 동시에 표준 프로토콜로 사용자 정의할 수 있습니다.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: '기업 커넥터 추가', + text_divider: '또는 표준 프로토콜을 사용하여 커넥터를 사용자 정의할 수 있습니다.', + connector_name_field_title: '커넥터 이름', + connector_name_field_placeholder: '기업 신원 공급자의 이름', + create_button_text: '커넥터 생성', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/general.ts b/packages/phrases/src/locales/ko/translation/admin-console/general.ts index 621baef9f..18a1a662d 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: '복사됨', required: '필수', add_another: '새로 추가', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: '또 다른 것 만들기', deletion_confirmation: '정말로 {{title}}을/를 삭제할까요?', settings_nav: '설정', unsaved_changes_warning: '수정된 내용이 있어요. 정말로 현재 페이지를 벗어날까요?', @@ -59,22 +58,15 @@ const general = { unknown_error: '알 수 없는 오류가 발생했습니다. 나중에 다시 시도해주세요.', select: '선택', contact_us_action: '문의하기', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: '설명', + name: '이름', + add_field: '{{field}} 추가', + create_field: '{{field}} 만들기', + edit_field: '{{field}} 편집', + delete_field: '{{field}} 삭제', coming_soon: '곧 출시 예정', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}}는 현재 베타 버전입니다. 탐색하고 피드백을 공유해주세요.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/organization-details.ts index 3a2a5a8ad..f586932f8 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: '조직 세부 정보', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + '삭제하면 모든 회원이 이 조직에서 멤버십과 역할을 잃게 됩니다. 이 작업은 취소할 수 없습니다.', + organization_id: '조직 ID', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + '조직은 일반적으로 사용자로 인식되는 일련의 ID에 의해 인식되는 ID 그룹입니다.\n\n각 조직에는 해당 멤버, 역할 및 권한이 있지만 역할 및 권한은 조직 템플릿에 의해 정의됩니다.', + name_placeholder: '조직의 이름, 고유할 필요는 없습니다.', + description_placeholder: '조직에 대한 설명입니다.', + member: '멤버', + member_other: '멤버', + add_members_to_organization: '조직 {{name}}에 멤버 추가', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + '이름, 이메일, 전화 또는 사용자 ID를 검색하여 적절한 사용자를 찾습니다. 기존 멤버는 검색 결과에 표시되지 않습니다.', + add_with_organization_role: '조직 역할로 추가', + user: '사용자', + authorize_to_roles: '{{name}}에게 다음 역할에 대한 액세스 권한 부여:', + edit_organization_roles: '조직 역할 편집', + edit_organization_roles_of_user: '{{name}}의 조직 역할 편집', + remove_user_from_organization: '사용자를 조직에서 제거', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + '제거하면 사용자가 이 조직에서 멤버십과 역할을 잃습니다. 이 작업은 취소할 수 없습니다.', + search_user_placeholder: '이름, 이메일, 전화 또는 사용자 ID로 검색', + at_least_one_user: '최소한 한 명의 사용자가 필요합니다.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts b/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts index d6f9220af..d908e7290 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts @@ -1,163 +1,94 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: '조직', + title: '조직', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + '팀, 비즈니스 고객 및 파트너 기업을 해당 조직으로 접근하는 애플리케이션에 대해 표현합니다.', + organization_id: '조직 ID', + members: '회원', + create_organization: '조직 만들기', + setup_organization: '조직 설정', + organization_list_placeholder_title: '조직', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + '조직은 일반적으로 SaaS 또는 SaaS와 유사한 멀티 테넌시 앱에서 사용됩니다. 조직 기능을 사용하면 B2B 고객이 파트너 및 고객을 효과적으로 관리하고 최종 사용자가 응용 프로그램에 액세스하는 방식을 사용자 정의할 수 있게 됩니다.', + organization_name_placeholder: '내 조직', + organization_description_placeholder: '조직에 대한 간략한 설명', + organization_permission: '조직 권한', + organization_permission_other: '조직 권한', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '조직 권한은 조직 컨텍스트에서 리소스에 액세스하기 위한 권한을 나타냅니다. 조직 권한은 의미 있는 문자열로 표현되어야 하며 이름 및 고유 식별자로도 작동해야 합니다.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + '이 권한이 삭제되면 이 권한을 포함하는 모든 조직 역할은 이 권한을 상실하고 이 권한이 부여한 액세스도 상실합니다.', + create_permission_placeholder: '약속 내역 읽기', + permission: '권한', + permission_other: '권한', + organization_role: '조직 역할', + organization_role_other: '조직 역할', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + '조직 역할은 사용자에 할당할 수 있는 권한의 그룹화입니다. 권한은 미리 정의된 조직 권한에서 가져와야 합니다.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + '이렇게 하면 영향을 받는 사용자에서 이 역할과 관련된 권한이 제거되고 조직 역할, 조직 구성원 및 조직 권한 간의 관계가 삭제됩니다.', + role: '역할', + create_role_placeholder: '보기 전용 권한을 가진 사용자', + search_placeholder: '조직 이름 또는 ID로 검색', + search_permission_placeholder: '검색하여 권한 선택', + search_role_placeholder: '검색하여 역할 선택', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: '가이드로 시작', + subtitle: '가이드와 함께 앱 개발 프로세스 시작하기', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: '먼저 Logto에서 조직이 작동하는 방식을 이해해 봅시다', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + '멀티 테넌트 SaaS 앱에서 우리는 종종 같은 권한과 역할을 가진 다양한 조직을 만들지만, 조직 컨텍스트에서는 액세스의 다양한 수준을 제어하는 데 중요한 역할을 할 수 있습니다. 각 테넌트는 로그토 조직과 같으며 그들은 자연스럽게 동일한 액세스 제어 "템플릿"을 공유합니다. 우리는 이것을 "조직 템플릿"이라고 합니다.', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: '조직 템플릿은 두 부분으로 구성됩니다', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '조직 권한은 조직 컨텍스트에서 리소스에 액세스하기 위한 권한을 나타냅니다. 조직 권한은 의미 있는 문자열로 표현되어야 하며 이름 및 고유 식별자로도 작동해야 합니다.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + '조직 역할은 사용자에 할당할 수 있는 권한의 그룹화입니다. 권한은 미리 정의된 조직 권한에서 가져와야 합니다.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: '일러스트를 상호 작용하여 연결되는 방식 확인', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + '예를 들어서 이해해 봅시다. 존, 사라 및 토니는 서로 다른 조직에서 서로 다른 역할을 가지고 있습니다. 각각의 모듈을 가리키고 그에 따르는 결과를 확인하세요.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: '단계 1: 조직 권한 정의', + step_2: '단계 2: 조직 역할 정의', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"조직 역할"은 각 조직에 제공된 일련의 역할을 나타냅니다. 이러한 역할은 이전 화면에서 설정한 전역 권한에 따라 결정됩니다. 조직 권한과 유사하게, 처음으로 이 설정을 완료하면 새로운 조직을 만들 때마다 이것을 매번 수행할 필요가 없게 됩니다.', + step_3: '단계 3: 첫 번째 조직 생성하기', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ - guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + '첫 번째 조직을 만들어 보겠습니다. 이것은 고유한 ID가 포함되어 있으며 파트너, 고객 및 그들의 액세스 제어와 같은 다양한 비즈니스 관향 신원을 처리하는 컨테이너로 사용됩니다.', + more_next_steps: '추가 다음 단계', + add_members: '조직에 회원 추가', + add_members_action: '회원을 일괄 추가 및 역할 할당', + add_enterprise_connector: '기업 SSO 추가', + add_enterprise_connector_action: '기업 SSO 설정', + organization_permissions: '조직 권한', + permission_name: '권한 이름', + permissions: '권한', + organization_roles: '조직 역할', + role_name: '역할 이름', + organization_name: '조직 이름', + admin: '관리자', + admin_description: '권한 "관리자"은 다른 조직 간에 동일한 조직 템플릿을 공유합니다.', + member: '구성원', + member_description: '권한 "구성원"은 다른 조직 간에 동일한 조직 템플릿을 공유합니다.', + guest: '손님', + guest_description: '권한 "손님"은 다른 조직 간에 동일한 조직 템플릿을 공유합니다.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ + '조직 템플릿 설정에서 더 많은 역할을 생성할 수 있습니다. 이러한 조직 역할은 다른 조직에 적용됩니다.', read_resource: 'read:resource', - /** UNTRANSLATED */ edit_resource: 'edit:resource', - /** UNTRANSLATED */ delete_resource: 'delete:resource', - /** UNTRANSLATED */ ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + '존은 "john@email.com"이라는 이메일 주소로 두 조직에 속해 있습니다. 그는 조직 A의 관리자이자 조직 B의 손님입니다.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + '사라는 "sarah@email.com"이라는 이메일 주소로 한 조직에 속해 있습니다. 그녀는 조직 B의 관리자입니다.', + tony: '토니는 "tony@email.com"이라는 이메일 주소로 한 조직에 속해 있습니다. 그는 조직 C의 구성원입니다.', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/role-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/role-details.ts index 4f995d476..ae31747f6 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/role-details.ts @@ -2,7 +2,7 @@ const role_details = { back_to_roles: '역할로 돌아가기', identifier: '식별자', delete_description: - '이렇게 하면 영향을 받는 사용자에게서 이 역할과 관련된 권한이 제거되고 역할, 사용자 및 권한 간의 매핑이 삭제될 거예요.', + '이렇게 하면 영향을 받는 사용자에게서 이 역할과 관련된 권한이 제거되고 역할, 사용자 및 권한 간의 매핑이 삭제될 걈에요.', role_deleted: '{{name}}이 성공적으로 삭제되었어요.', settings_tab: '설정', users_tab: '사용자', @@ -42,11 +42,9 @@ const role_details = { assign_title: '사용자 할당', assign_subtitle: '사용자를 이 역할에 할당해요. 이름, 이메일, 전화번호, 사용자 ID 등을 이용하여 적절한 사용자를 찾아 보세요.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: '사용자 할당', confirm_assign: '사용자 할당', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: '선택된 사용자가 이 역할에 성공적으로 할당되었어요', empty: '사용자 없음', }, applications: { @@ -58,11 +56,9 @@ const role_details = { deleted: '{{name}} 이(가) 이 역할에서 성공적으로 제거되었습니다.', assign_title: '앱 할당', assign_subtitle: '이 역할에 앱 할당 적절한 앱을 이름, 설명 또는 앱 ID로 검색하여 찾아보세요.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: '앱 할당', confirm_assign: '앱 할당', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: '선택된 앱이 이 역할에 성공적으로 할당되었습니다', empty: '사용 가능한 앱 없음', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts index 278978cf1..09b1903cc 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: '사용자 정의 도메인을 제거하십시오', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'SSO 를 비활성화하십시오', }, built_in_email_connector_enabled: { name: '내장된 이메일 커넥터', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: '웹훅을 삭제하세요', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: '조직', + limited: '조직', + unlimited: '조직', + not_eligible: '조직을 제거하십시오', }, audit_logs_retention_days: { name: '감사 로그 보존 기간', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts index 96ec9886c..7cb4cfcdc 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: '사용자 인증', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: '비밀번호', passwordless: '비밀번호 없음 - 이메일과 SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: '조직', + organization: '조직 (Q4, 2023)', }, support: { title: '지원', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/tabs.ts b/packages/phrases/src/locales/ko/translation/admin-console/tabs.ts index 679eae918..ca8779aa7 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API 리소스', sign_in_experience: '로그인 경험', connectors: '연동', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: '기업 SSO', webhooks: '웹훅', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: '조직', users: '사용자 관리', audit_logs: '감사 기록', roles: '역할', docs: '문서', - tenant_settings: '설정', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: '테넌트 설정', + mfa: '다중 요소 인증', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/tenants.ts b/packages/phrases/src/locales/ko/translation/admin-console/tenants.ts index bf7bea48f..565db67c1 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/tenants.ts @@ -4,7 +4,7 @@ const tenants = { tabs: { settings: '설정', domains: '도메인', - subscription: '요금제와 청구', + subscription: '구독 및 청구', billing_history: '청구 내역', }, settings: { @@ -12,26 +12,21 @@ const tenants = { description: '테넌트 이름을 설정하고 호스팅된 지역 및 환경 태그를 확인하세요.', tenant_id: '테넌트 ID', tenant_name: '테넌트 이름', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: '데이터 호스팅 영역', + tenant_region_tip: '당신의 테넌트 자원은 {{region}}에 호스팅됩니다. 자세히 알아보기', environment_tag: '환경 태그', environment_tag_description: '태그는 서비스를 변경하지 않습니다. 단지 다양한 환경을 구별하는 데 도움을 줍니다.', environment_tag_development: '개발', environment_tag_staging: '스테이징', environment_tag_production: '프로드', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', - tenant_info_saved: '세입자 정보가 성공적으로 저장되었습니다.', + '개발 환경은 주로 테스트 용도로 사용되며 모든 Pro 기능이 포함되지만 로그인 환경에 워터마크가 있습니다. 자세히 알아보기', + tenant_info_saved: '테넌트 정보가 성공적으로 저장되었습니다.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: '개발', + production: '프로드', }, deletion_card: { title: '삭제', @@ -43,50 +38,34 @@ const tenants = { create_modal: { title: '테넌트 만들기', subtitle: '자원 및 사용자를 분리하기 위한 새 테넌트를 만드세요.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + '자원과 사용자를 분리하기 위해 새로운 테넌트를 만듭니다. 생성 후 영역 및 환경 태그는 수정할 수 없습니다.', + tenant_usage_purpose: '이 테넌트를 사용하는 목적은 무엇입니까?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + '개발 환경은 주로 테스트 용도로 사용되며 프로덕션 환경에서 사용해서는 안됩니다.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + '개발 환경은 주로 테스트 용도로 사용되며 프로덕션 환경에서 사용해서는 안됩니다.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + '프로덕션은 실제 사용자에 의해 사용되는 라이브 소프트웨어가 포함되며 유료 구독이 필요할 수 있습니다.', + available_plan: '사용 가능한 요금제:', create_button: '테넌트 만들기', tenant_name_placeholder: '내 테넌트', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + '이제 개발 테넌트에서 Logto Pro의 모든 기능에 액세스할 수 있습니다!', + allow_pro_features_description: '완전히 무료이며 평생 무료로 이용할 수 있습니다!', + explore_all_features: '모든 기능 살펴보기', + impact_title: '이게 나에게 어떤 영향을 미칠까요?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + '테넌트 라벨이 "스테이징"에서 "프로드"로 업데이트되었지만, 이 변경으로 현재 설정에 영향을주지는 않습니다.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Logto Hobby 플랜에 가입하면 이전의 "개발" 테넌트 태그가 "프로드"로 전환되며 현재 설정에는 영향을 주지 않습니다.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + '아직 개발 중이면 새로운 개발 테넌트를 만들어 더 많은 프로 기능에 액세스할 수 있습니다.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ - paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + '프로덕션 단계이거나 프로덕션 환경에서는 특정 플랜에 가입해야 하므로이 시점에서 할 일이 없습니다.', + paid_tenant_hint_4: '도움이 필요하면 언제든지 문의해주세요! Logto 선택해 주셔서 감사합니다!', }, delete_modal: { title: '테넌트 삭제', @@ -110,7 +89,7 @@ const tenants = { status: { mau_exceeded: 'MAU 초과', suspended: '정지됨', - overdue: '만료', + overdue: '만료됨', }, tenant_suspended_page: { title: '테넌트 정지. 접근을 복구하려면 문의하세요.', @@ -120,67 +99,44 @@ const tenants = { '자세한 설명이 필요한 경우, 우려 사항이 있거나 기능을 완전히 복원하고 테넌트를 차단 해제하려면 바로 연락 주시기 바랍니다.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: '서명 키', + description: '테넌트 내의 서명 키를 안전하게 관리합니다.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC 개인 키', + cookie_key: 'OIDC 쿠키 키', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: '사용 중인 개인 키', + cookie_keys_in_use: '사용 중인 쿠키 키', + rotate_private_keys: '개인 키 회전', + rotate_cookie_keys: '쿠키 키 회전', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + '이 작업은 새로운 개인 서명 키를 생성하고 현재 키를 회전시키고 이전 키를 삭제합니다. 현재 키로 서명 된 JWT 토큰은 삭제하거나 다른 회전할 때까지 유효합니다.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + '이 작업은 새 쿠키 키를 생성하고 현재 키를 회전하며 이전 키를 삭제합니다. 현재 키로 서명 된 쿠키는 삭제하거나 다른 회전할 때까지 유효합니다.', + select_private_key_algorithm: '새 개인 키의 서명 키 알고리즘 선택', + rotate_button: '회전', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: '상태', + algorithm: '서명 키 알고리즘', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: '현재', + previous: '이전', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + '정말 OIDC 개인 키를 회전하시겠습니까? 새로 발급 된 JWT 토큰은 새 키로 서명됩니다. 기존 JWT 토큰은 회전할 때까지 유효합니다.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + '정말 OIDC 쿠키 키를 회전하시겠습니까? 로그인 세션에서 생성 된 새로운 쿠키는 새 쿠키 키로 서명됩니다. 기존 쿠키는 회전할 때까지 유효합니다.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + '정말 OIDC 개인 키를 삭제하시겠습니까? 이전에 개인 서명 키로 서명 된 기존 JWT 토큰은 더 이상 유효하지 않게 됩니다.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + '정말 OIDC 쿠키 키를 삭제하시겠습니까? 이전에 이 쿠키 키로 서명 된 로그인 세션은 더 이상 유효하지 않게 될 것입니다. 이 사용자들에게는 다시 인증이 필요합니다.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: '서명 키가 성공적으로 회전되었습니다.', + delete_key_success: '키가 성공적으로 삭제되었습니다.', }, }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/ko/translation/admin-console/upsell/paywall.ts index e15fb4486..ec2d04ba9 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '의 {{count, number}}개 애플리케이션 제한에 도달했습니다. 팀의 요구를 충족하기 위해 플랜을 업그레이드하십시오. 도움이 필요하면 문의해 주시기 바랍니다.', applications_other: '의 {{count, number}}개 애플리케이션 제한에 도달했습니다. 팀의 요구를 충족하기 위해 플랜을 업그레이드하십시오. 도움이 필요하면 문의해 주시기 바랍니다.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Hobby 플랜으로 업그레이드하여 1대의 기계 간 애플리케이션을 잠금 해제하거나 무제한 사용을 위해 Pro 플랜을 선택하십시오. 도움이 필요하면 문의해 주시기 바랍니다.', machine_to_machine: '의 {{count, number}}개 기계 간 애플리케이션 제한에 도달했습니다. 팀의 요구를 충족하기 위해 플랜을 업그레이드하십시오. 도움이 필요하면 문의해 주시기 바랍니다.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { '의 {{count, number}}개 API 리소스 당 권한 한도에 도달했습니다. 확장을 위해 지금 업그레이드하세요. 도움이 필요하면 문의하기로 연락 주세요.', scopes_per_resource_other: '의 {{count, number}}개 API 리소스 당 권한 한도에 도달했습니다. 확장을 위해 지금 업그레이드하세요. 도움이 필요하면 문의하기로 연락 주세요.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + '사용자 정의 도메인 기능을 잠금 해제하려면 Hobby 또는 Pro 플랜으로 업그레이드하세요. 도움이 필요하면 문의해 주시기 바랍니다.', social_connectors: '의 {{count, number}}개 소셜 커넥터 한도에 도달했습니다. 팀의 요구를 충족시키기 위해 플랜을 업그레이드하고 OIDC, OAuth 2.0, SAML 프로토콜을 사용하여 고유한 커넥터를 생성할 수 있도록 하세요. 도움이 필요하면 문의하기로 연락 주세요.', social_connectors_other: '의 {{count, number}}개 소셜 커넥터 한도에 도달했습니다. 팀의 요구를 충족시키기 위해 플랜을 업그레이드하고 OIDC, OAuth 2.0, SAML 프로토콜을 사용하여 고유한 커넥터를 생성할 수 있도록 하세요. 도움이 필요하면 문의하기로 연락 주세요.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Hobby 또는 Pro 플랜으로 업그레이드하여 OIDC, OAuth 2.0, SAML 프로토콜을 사용하여 고유한 커넥터를 생성하고 모든 프리미엄 기능과 무제한 소셜 커넥터를 사용하십시오. 도움이 필요하면 문의해 주시기 바랍니다.', standard_connectors: '의 {{count, number}}개 소셜 커넥터 한도에 도달했습니다. 팀의 요구를 충족시키기 위해 플랜을 업그레이드하고 OIDC, OAuth 2.0, SAML 프로토콜을 사용하여 고유한 커넥터를 생성할 수 있도록 하세요. 도움이 필요하면 문의하기로 연락 주세요.', standard_connectors_other: diff --git a/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts index b567bddfc..d3ed34380 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: '설정', tab_roles: '역할', tab_logs: '사용자 기록', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: '조직', + authentication: '인증', authentication_description: '각 사용자는 모든 사용자 정보를 포함하는 프로파일을 가지고 있어요. 프로파일은 기본 데이터, 소셜 ID, 사용자 정의 데이터로 구성되어 있어요.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: '사용자 프로필', field_email: '이메일 주소', field_phone: '휴대전화 번호', field_username: '사용자 이름', @@ -38,29 +35,21 @@ const user_details = { field_custom_data_tip: '사용자 정의 색상 및 언어와 같은 미리 정의되지 않은 추가적인 사용자의 정보를 의미해요.', field_connectors: '연동된 소셜', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: '기업 연결', custom_data_invalid: '사용자 정의 데이터는 반드시 유효한 JSON 객체여야 해요.', connectors: { connectors: '연동', user_id: '사용자 ID', remove: '삭제', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: '이 사용자는 여러 소셜 연동에 연결되어 있어요.', not_connected: '이 사용자는 아직 소셜에 연동되지 않았아요.', deletion_confirmation: '기존 신원을 제거하고 있습니다. 계속 진행하시겠습니까?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ - connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ - not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + connectors: '연결', + enterprise_id: '기업 ID', + connected: '이 사용자는 단일 로그인을 위한 여러 기업 신원 제공자에 연결되어 있어요.', + not_connected: '이 사용자는 단일 로그인을 위한 어떤 기업 신원 제공자에도 연결되어 있지 않아요.', }, mfa: { field_name: '다단계 인증', @@ -101,8 +90,7 @@ const user_details = { }, warning_no_sign_in_identifier: '사용자는 로그인 식별자(사용자 이름, 이메일, 전화 번호 또는 소셜) 중 적어도 하나를 갖고 로그인해야 합니다. 계속 하시겠습니까?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: '조직 내에서 사용자에게 할당된 역할.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts index 14618d0af..eb61cd51b 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts @@ -1,8 +1,8 @@ const webhooks = { - page_title: 'Webhooks', - title: 'Webhooks', + page_title: '웹훅', + title: '웹훅', subtitle: '특정 이벤트에 대한 실시간 업데이트를 쉽게 수신할 수 있는 웹훅을 생성하세요.', - create: 'Webhook 생성', + create: '웹훅 생성', events: { post_register: '새 계정 만들기', post_sign_in: '로그인', @@ -18,25 +18,23 @@ const webhooks = { title: '웹훅', description: 'POST 요청을 통해 엔드포인트 URL로 실시간 업데이트를 수신할 수 있는 웹훅을 생성하세요. "계정 만들기", "로그인" 및 "비밀번호 재설정"과 같은 이벤트에서 정보를 받고 즉시 조치하세요.', - create_webhook: 'Webhook 생성', + create_webhook: '웹훅 생성', }, create_form: { - title: 'Webhook 생성', + title: '웹훅 생성', subtitle: '사용자 이벤트에 대한 세부 정보가 포함된 POST 요청을 엔드포인트 URL로 보내는 Webhook을 추가합니다.', events: '이벤트', events_description: 'Logto가 POST 요청을 보낼 트리거 이벤트를 선택합니다.', name: '이름', - name_placeholder: 'Webhook 이름 입력', - endpoint_url: 'Endpoint URL', + name_placeholder: '웹훅 이름 입력', + endpoint_url: '엔드포인트 URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ - endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', - create_webhook: 'Webhook 생성', + endpoint_url_tip: '이벤트가 발생할 때 웹훅의 페이로드가 전송되는 엔드포인트 URL을 입력하세요.', + create_webhook: '웹훅 생성', missing_event_error: '하나 이상의 이벤트를 선택해야 합니다.', }, - webhook_created: 'Webhook {{name}} 가 성공적으로 생성되었습니다.', + webhook_created: '웹훅 {{name}} 가 성공적으로 생성되었습니다.', }; export default Object.freeze(webhooks); diff --git a/packages/phrases/src/locales/pl-pl/errors/entity.ts b/packages/phrases/src/locales/pl-pl/errors/entity.ts index 057234df0..78358bc50 100644 --- a/packages/phrases/src/locales/pl-pl/errors/entity.ts +++ b/packages/phrases/src/locales/pl-pl/errors/entity.ts @@ -5,11 +5,10 @@ const entity = { not_exists: '{{name}} nie istnieje.', not_exists_with_id: '{{name}} o identyfikatorze `{{id}}` nie istnieje.', not_found: 'Zasób nie istnieje.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Nie można odnaleźć jednego lub więcej kluczy obcych. Proszę sprawdzić dane wejściowe i upewnić się, że wszystkie odwołane encje istnieją.', + unique_integrity_violation: + 'Encja już istnieje. Proszę sprawdzić dane wejściowe i spróbować ponownie.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/pl-pl/errors/oidc.ts b/packages/phrases/src/locales/pl-pl/errors/oidc.ts index 7d1ec8faa..475cb683c 100644 --- a/packages/phrases/src/locales/pl-pl/errors/oidc.ts +++ b/packages/phrases/src/locales/pl-pl/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: 'Koniec interakcji z użytkownikiem.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Nieprawidłowy zakres: {{error_description}}.', invalid_token: 'Podano nieprawidłowy token.', invalid_client_metadata: 'Podano nieprawidłowe metadane klienta.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Token nie zawiera zakresu `{{scope}}`.', invalid_request: 'Żądanie jest nieprawidłowe.', invalid_grant: 'Żądanie przyznania jest nieprawidłowe.', invalid_redirect_uri: @@ -16,14 +14,10 @@ const oidc = { unsupported_response_mode: 'Żądany tryb `response_mode` nie jest obsługiwany.', unsupported_response_type: 'Żądany typ `response_type` nie jest obsługiwany.', provider_error: 'Wewnętrzny błąd OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Wystąpił nieznany błąd OIDC. Spróbuj ponownie później.', + provider_error_fallback: 'Wystąpił błąd OIDC: {{code}}.', + key_required: 'Wymagany jest co najmniej jeden klucz.', + key_not_found: 'Nie znaleziono klucza o ID {{id}}.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/pl-pl/errors/organization.ts b/packages/phrases/src/locales/pl-pl/errors/organization.ts index 2752f71f9..08ad3cd0b 100644 --- a/packages/phrases/src/locales/pl-pl/errors/organization.ts +++ b/packages/phrases/src/locales/pl-pl/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'Użytkownik musi być członkiem organizacji, aby kontynuować.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/pl-pl/errors/session.ts b/packages/phrases/src/locales/pl-pl/errors/session.ts index 72fbbcf4b..91a80deac 100644 --- a/packages/phrases/src/locales/pl-pl/errors/session.ts +++ b/packages/phrases/src/locales/pl-pl/errors/session.ts @@ -10,9 +10,8 @@ const session = { 'Weryfikacja nie powiodła się. Uruchom proces weryfikacji ponownie i spróbuj ponownie.', verification_expired: 'Połączenie wygasło. Zweryfikuj ponownie, aby zapewnić bezpieczeństwo Twojego konta.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Zbyt wiele prób w krótkim czasie. Proszę spróbuj ponownie {{relativeTime}}.', unauthorized: 'Proszę się najpierw zalogować.', unsupported_prompt_name: 'Nieobsługiwana nazwa podpowiedzi.', forgot_password_not_enabled: 'Odzyskiwanie hasła nie jest włączone.', @@ -23,31 +22,20 @@ const session = { 'Nie znaleziono identyfikatora użytkownika. Proszę wróć i zaloguj się ponownie.', interaction_not_found: 'Nie znaleziono sesji interakcji. Proszę wróć i rozpocznij sesję ponownie.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: 'Ta operacja nie jest obsługiwana dla zapomnienia hasła.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'Wymagana jest weryfikacja MFA, aby się zalogować.', + mfa_sign_in_only: 'MFA jest dostępne tylko dla interakcji logowania.', + pending_info_not_found: + 'Nie znaleziono oczekujących informacji MFA, proszę najpierw zainicjować MFA.', + invalid_totp_code: 'Nieprawidłowy kod TOTP.', + webauthn_verification_failed: 'Weryfikacja WebAuthn nie powiodła się.', + webauthn_verification_not_found: 'Nie znaleziono weryfikacji WebAuthn.', + bind_mfa_existed: 'MFA już istnieje.', + backup_code_can_not_be_alone: 'Kod zapasowy nie może być jedyną MFA.', + backup_code_required: 'Kod zapasowy jest wymagany.', + invalid_backup_code: 'Nieprawidłowy kod zapasowy.', + mfa_policy_not_user_controlled: 'Polityka MFA nie jest kontrolowana przez użytkownika.', }, sso_enabled: 'Single sign on jest włączony dla tego adresu e-mail. Zaloguj się za pomocą SSO.', }; diff --git a/packages/phrases/src/locales/pl-pl/errors/single-sign-on.ts b/packages/phrases/src/locales/pl-pl/errors/single-sign-on.ts index 4950a49e2..269ecd8db 100644 --- a/packages/phrases/src/locales/pl-pl/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/pl-pl/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Nie są dozwolone publiczne domeny e-mail.', + duplicated_domains: 'Istnieją zduplikowane domeny.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/pl-pl/errors/user.ts b/packages/phrases/src/locales/pl-pl/errors/user.ts index fc266e0d9..524cb2a35 100644 --- a/packages/phrases/src/locales/pl-pl/errors/user.ts +++ b/packages/phrases/src/locales/pl-pl/errors/user.ts @@ -30,11 +30,8 @@ const user = { missing_profile: 'Musisz podać dodatkowe informacje przed zalogowaniem.', role_exists: 'Identyfikator roli {{roleId}} jest już dodany do tego użytkownika', invalid_role_type: 'Nieprawidłowy typ roli, nie można przypisać roli maszynowej do użytkownika.', - /** UNTRANSLATED */ missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ backup_code_already_in_use: 'Backup code is already in use.', }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resource-details.ts index a3f22aaa1..3bc83cbf1 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'Zasoby API, tzw. wskaźniki zasobów, wskazują na usługi lub zasoby docelowe, które mają być żądane, zwykle w zmiennej formatu URI reprezentującej tożsamość zasobu.', management_api_settings_description: 'Logto Management API to kompleksowa kolekcja interfejsów API, które umożliwiają administratorom zarządzanie szerokim zakresem zadań związanych z tożsamością, egzekwowanie polityk bezpieczeństwa oraz przestrzeganie przepisów i standardów.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'To API reprezentuje jednostkę Logto i nie można go modyfikować ani usuwać. Możesz użyć API zarządzania do szerokiego zakresu zadań związanych z tożsamością. Więcej informacji', token_expiration_time_in_seconds: 'Czas wygaśnięcia tokenu (w sekundach)', token_expiration_time_in_seconds_placeholder: 'Wprowadź czas wygaśnięcia tokenu', delete_description: diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/enterprise-sso.ts index a938e55e1..76d7953cf 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ + page_title: 'Jednolite logowanie dla przedsiębiorstw', + title: 'Jednolite logowanie dla przedsiębiorstw', + subtitle: + 'Połącz dostawcę tożsamości przedsiębiorstwa i włącz jednostronne logowanie jednolitego.', + create: 'Dodaj łącznik przedsiębiorstwa', + col_connector_name: 'Nazwa łącznika', + col_type: 'Typ', + col_email_domain: 'Domena e-mail', col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + col_status_in_use: 'W użyciu', + col_status_invalid: 'Nieprawidłowy', + placeholder_title: 'Łącznik przedsiębiorstwa', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto udostępniło wiele wbudowanych dostawców tożsamości przedsiębiorstw, możesz także stworzyć własnego zgodnego ze standardowymi protokołami.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Dodaj łącznik przedsiębiorstwa', + text_divider: 'Albo możesz dostosować swój łącznik za pomocą standardowego protokołu.', + connector_name_field_title: 'Nazwa łącznika', + connector_name_field_placeholder: 'Nazwa dostawcy tożsamości przedsiębiorstwa', + create_button_text: 'Stwórz łącznik', }, }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/general.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/general.ts index ed2af6f64..cff9d3e83 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Skopiowano', required: 'Wymagane', add_another: 'Dodaj kolejny', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Stwórz kolejny', deletion_confirmation: 'Czy na pewno chcesz usunąć {{title}}?', settings_nav: 'Ustawienia', unsaved_changes_warning: 'Wprowadzono zmiany. Czy na pewno chcesz opuścić tę stronę?', @@ -59,22 +58,15 @@ const general = { unknown_error: 'Nieznany błąd, spróbuj ponownie później.', select: 'Wybierz', contact_us_action: 'Skontaktuj się z nami', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Opis', + name: 'Nazwa', + add_field: 'Dodaj {{field}}', + create_field: 'Utwórz {{field}}', + edit_field: 'Edytuj {{field}}', + delete_field: 'Usuń {{field}}', coming_soon: 'Wkrótce dostępne', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} znajduje się obecnie w fazie beta. Zapraszamy do jego eksploracji i podzielenia się opinią.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/organization-details.ts index 3a2a5a8ad..cd07835a5 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/organization-details.ts @@ -1,46 +1,28 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Szczegóły organizacji', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Po usunięciu wszyscy członkowie stracą swoje członkostwo i role w tej organizacji. Tego działania nie można cofnąć.', + organization_id: 'ID organizacji', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Organizacja to grupa tożsamości (zazwyczaj użytkowników), która jest rozpoznawana przez wspólny identyfikator.\n\nKażda organizacja ma własny zestaw członków, ról i uprawnień, podczas gdy role i uprawnienia są określone przez szablon organizacji.', + name_placeholder: 'Nazwa organizacji, nie musi być unikalna.', + description_placeholder: 'Opis organizacji.', + member: 'Członek', + member_other: 'Członkowie', + add_members_to_organization: 'Dodaj członków do organizacji {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Znajdź odpowiednich użytkowników, wyszukując nazwę, adres e-mail, numer telefonu lub identyfikator użytkownika. Istniejący członkowie nie są wyświetlani w wynikach wyszukiwania.', + add_with_organization_role: 'Dodaj z rolą(ami) organizacji', + user: 'Użytkownik', + authorize_to_roles: 'Autoryzuj {{name}} dostęp do następujących ról:', + edit_organization_roles: 'Edytuj role organizacji', + edit_organization_roles_of_user: 'Edytuj role organizacji użytkownika {{name}}', + remove_user_from_organization: 'Usuń użytkownika z organizacji', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Po usunięciu użytkownik straci swoje członkostwo i role w tej organizacji. Tego działania nie można cofnąć.', + search_user_placeholder: + 'Wyszukaj według nazwy, adresu e-mail, numeru telefonu lub identyfikatora użytkownika', + at_least_one_user: 'Wymagany jest co najmniej jeden użytkownik.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/organizations.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/organizations.ts index d6f9220af..d09bf49d3 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organizacje', + title: 'Organizacje', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Reprezentują zespoły, klientów biznesowych i partnerów firm, którzy mają dostęp do aplikacji jako organizacje.', + organization_id: 'ID organizacji', + members: 'Członkowie', + create_organization: 'Utwórz organizację', + setup_organization: 'Skonfiguruj swoją organizację', + organization_list_placeholder_title: 'Organizacja', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'Organizacja jest zazwyczaj stosowana w aplikacjach wielomandantowych typu SaaS lub podobnych. Funkcja organizacji umożliwia klientom B2B lepsze zarządzanie swoimi partnerami i klientami oraz dostosowywanie sposobów, w jakie końcowi użytkownicy mają dostęp do ich aplikacji.', + organization_name_placeholder: 'Moja organizacja', + organization_description_placeholder: 'Krótki opis organizacji', + organization_permission: 'Uprawnienie organizacji', + organization_permission_other: 'Uprawnienia organizacji', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Uprawnienie organizacji odnosi się do autoryzacji dostępu do zasobu w kontekście organizacji. Uprawnienie organizacji powinno być reprezentowane jako znaczący ciąg znaków, stanowiący także nazwę i unikalny identyfikator.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Jeśli to uprawnienie zostanie usunięte, wszystkie role organizacji, w tym to uprawnienie, stracą to uprawnienie, a użytkownicy, którzy mieli to uprawnienie, stracą dostęp do niego.', + create_permission_placeholder: 'Odczyt historii spotkań', + permission: 'Uprawnienie', + permission_other: 'Uprawnienia', + organization_role: 'Rola organizacji', + organization_role_other: 'Role organizacji', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'Rola organizacji to grupowanie uprawnień, które można przypisać użytkownikom. Uprawnienia muszą pochodzić z wcześniej zdefiniowanych uprawnień organizacji.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Spowoduje to usunięcie uprawnień związanych z tą rolą od dotkniętych użytkowników oraz usunięcie relacji między rolami organizacji, członkami organizacji i uprawnieniami organizacji.', + role: 'Rola', + create_role_placeholder: 'Użytkownicy z uprawnieniami tylko do odczytu', + search_placeholder: 'Wyszukaj według nazwy lub ID organizacji', + search_permission_placeholder: 'Wpisz, aby wyszukać i wybrać uprawnienia', + search_role_placeholder: 'Wpisz, aby wyszukać i wybrać role', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Zacznij od przewodników', + subtitle: 'Rozpocznij proces tworzenia aplikacji za pomocą naszych przewodników', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Najpierw zrozum, jak działają organizacje w Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'W aplikacjach wielomandantowych typu SaaS często tworzymy kilka organizacji z tym samym zestawem uprawnień i ról, ale w kontekście organizacji może to odgrywać ważną rolę w kontroli różnych poziomów dostępu. Użytkownik może myśleć o każdym najemcy jak o organizacji Logto i naturalnie dzielić się tą samą "szablonową" kontrolą dostępu. Nazywamy to "szablonem organizacji."', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'Szablon organizacji składa się z dwóch części', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Uprawnienie organizacji odnosi się do autoryzacji dostępu do zasobu w kontekście organizacji. Uprawnienie organizacji powinno być reprezentowane jako znaczący ciąg znaków, stanowiący także nazwę i unikalny identyfikator.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'Rola organizacji to grupowanie uprawnień, które można przypisać użytkownikom. Uprawnienia muszą pochodzić z wcześniej zdefiniowanych uprawnień organizacji.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Wejdź w interakcję z ilustracją, aby zobaczyć, jak wszystko się łączy', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Przyjrzyjmy się przykładowi. John, Sarah i Tony należą do różnych organizacji z różnymi rolami w kontekście różnych organizacji. Najedź kursorem na różne moduły i zobacz, co się stanie.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Krok 1: Zdefiniuj uprawnienia organizacji', + step_2: 'Krok 2: Zdefiniuj role organizacji', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Role organizacji" reprezentują zestaw ról nadanych każdej organizacji na początku. Role te są określone przez globalne uprawnienia, które ustawiłeś w poprzednim ekranie. Podobnie jak z uprawnieniami organizacji, po zakończeniu tego ustawienia pierwszy raz, nie będziesz musiał tego robić za każdym razem, gdy utworzysz nową organizację.', + step_3: 'Krok 3: Utwórz swoją pierwszą organizację', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Utwórz swoją pierwszą organizację. Ma ona unikalne ID i służy jako kontener do obsługi różnych bardziej skoncentrowanych na biznesie tożsamości, takich jak partnerzy, klienci i ich kontrola dostępu.', + more_next_steps: 'Więcej kolejnych kroków', + add_members: 'Dodaj członków do swojej organizacji', + add_members_action: 'Dodaj członków zbiorowo i przypisz role', + add_enterprise_connector: 'Dodaj łącznik przedsiębiorstwa SSO', + add_enterprise_connector_action: 'Skonfiguruj przedsiębiorstwo SSO', + organization_permissions: 'Uprawnienia organizacji', + permission_name: 'Nazwa uprawnienia', + permissions: 'Uprawnienia', + organization_roles: 'Role organizacji', + role_name: 'Nazwa roli', + organization_name: 'Nazwa organizacji', + admin: 'Administrator', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Rola "Administrator" dzieli ten sam szablon organizacji między różnymi organizacjami.', + member: 'Członek', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Rola "Członek" dzieli ten sam szablon organizacji między różnymi organizacjami.', + guest: 'Gość', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Rola "Gość" dzieli ten sam szablon organizacji między różnymi organizacjami.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + 'Możesz utworzyć więcej ról w ustawieniach szablonu organizacji. Te role organizacji będą stosowane do różnych organizacji.', + read_resource: 'odczyt:zasób', + edit_resource: 'edycja:zasób', + delete_resource: 'usuwanie:zasób', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johny należy do dwóch organizacji z adresem e-mail "john@email.com" jako jedynym identyfikatorem. Jest administratorem organizacji A oraz gościem organizacji B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah należy do jednej organizacji z adresem e-mail "sarah@email.com" jako jedynym identyfikatorem. Jest administratorem organizacji B.', + tony: 'Tony należy do jednej organizacji z adresem e-mail "tony@email.com" jako jedynym identyfikatorem. Jest członkiem organizacji C.', }, }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/role-details.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/role-details.ts index 737378502..0be0826f7 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/role-details.ts @@ -2,7 +2,7 @@ const role_details = { back_to_roles: 'Powrót do ról', identifier: 'Identyfikator', delete_description: - 'Usunięcie tej roli usunie uprawnienia z nią związanymi od użytkowników i usunie odwzorowanie między rolami, użytkownikami i uprawnieniami.', + 'Usunięcie tej roli usunie uprawnienia z nią związane od użytkowników i usunie odwzorowanie między rolami, użytkownikami i uprawnieniami.', role_deleted: '{{name}} został pomyślnie usunięty.', settings_tab: 'Ustawienia', users_tab: 'Użytkownicy', @@ -43,11 +43,9 @@ const role_details = { assign_title: 'Przydziel użytkowników', assign_subtitle: 'Przydziel użytkowników do tej roli. Znajdź odpowiednich użytkowników, wyszukując po nazwie, adresie e-mail, numerze telefonu lub identyfikatorze użytkownika.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Przydziel użytkowników', confirm_assign: 'Przydziel użytkowników', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Wybrani użytkownicy zostali pomyślnie przydzieleni do tej roli', empty: 'Brak dostępnych użytkowników', }, applications: { @@ -61,11 +59,9 @@ const role_details = { assign_title: 'Przypisz aplikacje', assign_subtitle: 'Przypisz aplikacje do tej roli. Znajdź odpowiednie aplikacje, wyszukując po nazwie, opisie lub identyfikatorze aplikacji.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Przypisz aplikacje', confirm_assign: 'Przypisz aplikacje', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Wybrane aplikacje zostały pomyślnie przypisane do tej roli', empty: 'Brak dostępnych aplikacji', }, }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts index f27ff53c7..d7ce7e183 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Usuń swoją niestandardową domenę', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Wyłącz swoje SSO', }, built_in_email_connector_enabled: { name: 'Wbudowany konektor e-mail', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Usuń swoje webhooki', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Usuń swoje organizacje', }, audit_logs_retention_days: { name: 'Przechowywanie dzienników audytowych', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts index bd471e99c..0fae4b1da 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Uwierzytelnianie użytkowników', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Hasło', passwordless: 'Logowanie bez hasła - E-mail i SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooki', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organizacja', + organization: 'Organizacja (Q4, 2023)', }, support: { title: 'Wsparcie', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/tabs.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/tabs.ts index 670e271d8..8aecaac76 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/tabs.ts @@ -5,17 +5,14 @@ const tabs = { api_resources: 'Zasoby API', sign_in_experience: 'Doświadczenie przy logowaniu', connectors: 'Konnektory', - /** UNTRANSLATED */ enterprise_sso: 'Enterprise SSO', webhooks: 'Webhooki', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizacje', users: 'Zarządzanie użytkownikami', audit_logs: 'Dzienniki audytu', roles: 'Role', docs: 'Dokumentacja', tenant_settings: 'Ustawienia', - /** UNTRANSLATED */ mfa: 'Multi-factor auth', }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/tenants.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/tenants.ts index f17303694..3097a1b64 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/tenants.ts @@ -12,9 +12,7 @@ const tenants = { description: 'Ustaw nazwę najemcy i zobacz region hostowania oraz znacznik środowiska.', tenant_id: 'ID Najemcy', tenant_name: 'Nazwa Najemcy', - /** UNTRANSLATED */ tenant_region: 'Data hosted region', - /** UNTRANSLATED */ tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', environment_tag: 'Tag Środowiska', environment_tag_description: @@ -22,15 +20,12 @@ const tenants = { environment_tag_development: 'Dev', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + 'Środowisko development jest głównie przeznaczone do testowania i obejmuje wszystkie funkcje pro, ale ma znaki wodne w doświadczeniu logowania. Learn more', tenant_info_saved: 'Informacje o najemcy zostały pomyślnie zapisane.', }, full_env_tag: { - /** UNTRANSLATED */ development: 'Development', - /** UNTRANSLATED */ production: 'Production', }, deletion_card: { @@ -43,50 +38,35 @@ const tenants = { create_modal: { title: 'Utwórz nowego najemcę', subtitle: 'Utwórz nowego najemcę aby oddzielić zasoby i użytkowników.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Utwórz nowego najemcę aby oddzielić zasoby i użytkowników. Region and environment tags can’t be modified after creation.', + tenant_usage_purpose: 'Co chcesz zrobić z tym najemcą?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Środowisko development jest głównie przeznaczone do testowania i nie powinno być używane w środowisku produkcyjnym.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Środowisko development jest głównie przeznaczone do testowania i nie powinno być używane w środowisku produkcyjnym.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Produkcja to miejsce, gdzie projekt jest używany przez użytkowników końcowych i może wymagać płatnej subskrypcji.', + available_plan: 'Dostępny plan:', create_button: 'Utwórz najemcę', tenant_name_placeholder: 'Mój najemca', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Możesz teraz korzystać z wszystkich funkcji Logto Pro w swoim środowisku development!', + allow_pro_features_description: 'Jest całkowicie bezpłatny, bez okresu próbnego - na zawsze!', + explore_all_features: 'Przeglądaj wszystkie funkcje', + impact_title: 'Czy to ma na mnie jakiś wpływ?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Twój znacznik najemcy został zaktualizowany z „Staging” na „Production”, ale ta zmiana nie wpłynie na bieżące ustawienia.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Po zasubskrybowaniu planu Logto Hobby, twój poprzedni znacznik środowiska „Development” zmieni się na „Production”, i to nie wpłynie na twoje istniejące ustawienia.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Jeśli nadal jesteś w fazie developmentu, możesz utworzyć nowy najemcę development, aby uzyskać dostęp do więcej funkcji pro.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Jeśli jesteś w fazie produkcyjnej, lub w środowisku produkcyjnym, nadal musisz zasubskrybować określony plan, więc przez teraz nie musisz nic robić.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Nie wahaj się skontaktować z nami, jeśli potrzebujesz pomocy! Dziękujemy, że wybrałeś Logto!', }, delete_modal: { title: 'Usuń najemcę', @@ -120,67 +100,45 @@ const tenants = { 'Jeśli potrzebujesz dalszych wyjaśnień, masz jakiekolwiek obawy lub chcesz przywrócić pełną funkcjonalność i odblokować swoje najemce, nie wahaj się skontaktować z nami natychmiast.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'ZARZĄDZANIE KLUCZAMI PODPISUJĄCYMI', + description: 'Bezpieczne zarządzanie kluczami podpisującymi w Twoim najemcy.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Klucze prywatne OIDC', + cookie_key: 'Klucze ciasteczek OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Używane klucze prywatne', + cookie_keys_in_use: 'Używane klucze ciasteczek', + rotate_private_keys: 'Obróć klucze prywatne', + rotate_cookie_keys: 'Obróć klucze ciasteczek', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Ta akcja spowoduje utworzenie nowego klucza prywatnego do podpisywania, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje tokeny JWT podpisane aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Ta akcja spowoduje utworzenie nowego klucza ciasteczka, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje ciasteczka z aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.', + select_private_key_algorithm: + 'Wybierz algorytm podpisywania klucza dla nowego klucza prywatnego', + rotate_button: 'Obróć', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + algorithm: 'Algorytm podpisywania klucza', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Bieżący', + previous: 'Poprzedni', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Czy na pewno chcesz obrócić Klucze prywatne OIDC? Nowo wydane tokeny JWT będą podpisywane nowym kluczem. Istniejące tokeny JWT pozostają ważne do czasu ponownego obrotu.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Czy na pewno chcesz obrócić Klucze ciasteczek OIDC? Nowo generowane ciasteczka w sesjach logowania będą podpisywane nowym kluczem ciasteczka. Istniejące ciasteczka pozostają ważne do czasu ponownego obrotu.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Czy na pewno chcesz usunąć Klucz prywatny OIDC? Istniejące tokeny JWT podpisane tym kluczem prywatnym przestaną być ważne.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Czy na pewno chcesz usunąć Klucz ciasteczka OIDC? Starsze sesje logowania z ciasteczkami podpisanymi tym kluczem ciasteczka przestaną być ważne. Wymagane będzie ponowne uwierzytelnienie tych użytkowników.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Klucze podpisu obrócone pomyślnie.', + delete_key_success: 'Klucz usunięty pomyślnie.', }, }, }; diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/upsell/paywall.ts index ba4d225fb..d6ef6d9df 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { 'Osiągnięto limit {{count, number}} aplikacji dla . Zaktualizuj plan, aby sprostać potrzebom zespołu. W razie potrzeby pomocy, proszę skontaktuj się z nami.', applications_other: 'Osiągnięto limit {{count, number}} aplikacji dla . Zaktualizuj plan, aby sprostać potrzebom zespołu. W razie potrzeby pomocy, proszę skontaktuj się z nami.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Ulepsz do planu Hobby, aby odblokować 1 aplikację maszynową, lub wybierz plan Pro dla nieograniczonego użytku. W razie potrzeby pomocy, proszę skontaktuj się z nami.', machine_to_machine: 'Osiągnięto limit {{count, number}} aplikacji maszynowych dla . Zaktualizuj plan, aby sprostać potrzebom zespołu. W razie potrzeby pomocy, proszę skontaktuj się z nami.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Osiągnięto limit {{count, number}} uprawnień na zasób API w planie . Zaktualizuj plan, aby rozszerzyć. Skontaktuj się z nami tutaj, jeśli potrzebujesz pomocy.', scopes_per_resource_other: 'Osiągnięto limit {{count, number}} uprawnień na zasób API w planie . Zaktualizuj plan, aby rozszerzyć. Skontaktuj się z nami tutaj, jeśli potrzebujesz pomocy.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Odblokuj funkcję niestandardowej domeny, ulepszając do planu Hobby lub Pro. Nie wahaj się skontaktować z nami, jeśli potrzebujesz pomocy.', social_connectors: 'Osiągnięto limit {{count, number}} konektorów społecznościowych w planie . Aby sprostać potrzebom twojego zespołu, ulepsz plan, aby uzyskać dodatkowe konektory społecznościowe oraz możliwość tworzenia własnych konektorów za pomocą protokołów OIDC, OAuth 2.0 i SAML. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', social_connectors_other: 'Osiągnięto limit {{count, number}} konektorów społecznościowych w planie . Aby sprostać potrzebom twojego zespołu, ulepsz plan, aby uzyskać dodatkowe konektory społecznościowe oraz możliwość tworzenia własnych konektorów za pomocą protokołów OIDC, OAuth 2.0 i SAML. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Ulepsz do planu Hobby lub Pro, aby tworzyć własne konektory za pomocą protokołów OIDC, OAuth 2.0 i SAML, plus nieograniczone konektory społecznościowe i wszystkie funkcje premium. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', standard_connectors: 'Osiągnięto limit {{count, number}} konektorów społecznościowych w planie . Aby sprostać potrzebom twojego zespołu, ulepsz plan, aby uzyskać dodatkowe konektory społecznościowe oraz możliwość tworzenia własnych konektorów za pomocą protokołów OIDC, OAuth 2.0 i SAML. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', standard_connectors_other: @@ -41,9 +38,9 @@ const paywall = { roles_other: 'Osiągnięto limit {{count, number}} ról w planie . Ulepsz plan, aby dodać dodatkowe role i uprawnienia. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', scopes_per_role: - 'Osiągnięto limit {{count, number}} uprawnień na rolę w planie . Ulepsz plan, aby dodać dodatkowe role i uprawnienia. W razie potrzeby, skontaktuj się z nami tutaj.', + 'Osiągnięto limit {{count, number}} uprawnień na rolę w planie . Ulepsz plan, aby dodać dodatkowe role i uprawnienia. W razie potrzeb, skontaktuj się z nami tutaj.', scopes_per_role_other: - 'Osiągnięto limit {{count, number}} uprawnień na rolę w planie . Ulepsz plan, aby dodać dodatkowe role i uprawnienia. W razie potrzeby, skontaktuj się z nami tutaj.', + 'Osiągnięto limit {{count, number}} uprawnień na rolę w planie . Ulepsz plan, aby dodać dodatkowe role i uprawnienia. W razie potrzeb, skontaktuj się z nami tutaj.', hooks: 'Osiągnięto limit {{count, number}} webhooków w planie . Ulepsz plan, aby tworzyć więcej webhooków. Jeśli potrzebujesz pomocy, nie wahaj się skontaktować z nami.', hooks_other: diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/user-details.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/user-details.ts index d106a4ffa..42eef68f2 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: 'Ustawienia', tab_roles: 'Role', tab_logs: 'Logi użytkownika', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizacje', + authentication: 'Autoryzacja', authentication_description: 'Każdy użytkownik ma profil zawierający wszystkie informacje o użytkowniku. Składa się on z podstawowych danych, tożsamości społecznościowych i niestandardowych danych.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Profil użytkownika', field_email: 'Adres e-mail', field_phone: 'Numer telefonu', field_username: 'Nazwa użytkownika', @@ -38,42 +35,36 @@ const user_details = { field_custom_data_tip: 'Dodatkowe informacje o użytkowniku niewymienione jako właściwości predefiniowane, takie jak preferowany przez użytkownika kolor i język.', field_connectors: 'Połączenia społecznościowe', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Połączenia przedsiębiorstwa', custom_data_invalid: 'Nieprawidłowe dane niestandardowe JSON', connectors: { connectors: 'Połączenia', user_id: 'Identyfikator użytkownika', remove: 'Usuń', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', - not_connected: 'Użytkownik nie jest połączony z żadnym połączeniem społecznościowym', + connected: 'Ten użytkownik jest połączony z wieloma społecznymi konektorami.', + not_connected: 'Użytkownik nie jest połączony z żadnym społecznym konektorem', deletion_confirmation: 'Usuwasz istniejącą tożsamość . Czy na pewno chcesz kontynuować?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Konektory', + enterprise_id: 'ID przedsiębiorstwa', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Ten użytkownik jest połączony z kilkoma dostawcami tożsamości przedsiębiorstwa do jednokrotnego uwierzytelniania.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'Użytkownik nie jest połączony z żadnym dostawcą tożsamości przedsiębiorstwa do jednokrotnego uwierzytelniania.', }, mfa: { field_name: 'Wieloetapowa autoryzacja', - field_description: 'Ten użytkownik włączył czynniki autoryzacji dwuetapowej.', + field_description: 'Ten użytkownik włączył autoryzację dwuetapową.', name_column: 'Wieloetapowa autoryzacja', - field_description_empty: 'Ten użytkownik nie włączył czynników uwierzytelniania dwuetapowego.', + field_description_empty: 'Ten użytkownik nie włączył autoryzacji dwuetapowej.', deletion_confirmation: - 'Usuwasz istniejące w celu weryfikacji dwustopniowej. Czy na pewno chcesz kontynuować?', + 'Usuwasz istniejące w celu weryfikacji dwuetapowej. Czy na pewno chcesz kontynuować?', }, suspended: 'Zawieszony', suspend_user: 'Zawieś użytkownika', suspend_user_reminder: - 'Czy na pewno chcesz zawiesić tego użytkownika? Użytkownik nie będzie mógł się zalogować do Twojej aplikacji i nie będzie mógł uzyskać nowego tokena dostępu po wygaśnięciu obecnego. Ponadto, jakiekolwiek żądania API złożone przez tego użytkownika będą nieudane.', + 'Czy na pewno chcesz zawiesić tego użytkownika? Użytkownik nie będzie mógł zalogować się do Twojej aplikacji i nie uzyska nowego tokena dostępu po wygaśnięciu obecnego. Ponadto jakiekolwiek żądania API złożone przez tego użytkownika będą nieudane.', suspend_action: 'Zawieś', user_suspended: 'Użytkownik został zawieszony.', reactivate_user: 'Aktywuj użytkownika', @@ -84,25 +75,24 @@ const user_details = { roles: { name_column: 'Rola', description_column: 'Opis', - assign_button: 'Przypisz role', + assign_button: 'Przypisz rolę', delete_description: 'Ta akcja usunie tę rolę z tego użytkownika. Rola nadal będzie istnieć, ale nie będzie już przypisana do tego użytkownika.', - deleted: '{{name}} został usunięty z tego użytkownika.', - assign_title: 'Przypisz role dla {{name}}', - assign_subtitle: 'Autoryzuj {{name}} jedną lub wiele ról', - assign_role_field: 'Przypisz role', + deleted: '{{name}} została usunięta z tego użytkownika.', + assign_title: 'Przypisz rolę dla {{name}}', + assign_subtitle: 'Przypisz {{name}} jedną lub wiele ról', + assign_role_field: 'Przypisz rolę', role_search_placeholder: 'Szukaj po nazwie roli', added_text: '{{value, number}} dodanych', assigned_user_count: '{{value, number}} użytkowników', - confirm_assign: 'Przypisz role', + confirm_assign: 'Przypisz rolę', role_assigned: 'Pomyślnie przypisano rolę(y)', search: 'Szukaj po nazwie roli, opisie lub ID', empty: 'Brak dostępnej roli', }, warning_no_sign_in_identifier: - 'Aby się zalogować, użytkownik musi mieć co najmniej jeden z identyfikatorów logowania (nazwa użytkownika, e-mail, numer telefonu lub konto społecznościowe). Czy na pewno chcesz kontynuować?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + 'Aby się zalogować, użytkownik musi mieć co najmniej jeden identyfikator logowania (nazwa użytkownika, e-mail, numer telefonu lub konto społecznościowe). Czy na pewno chcesz kontynuować?', + organization_roles_tooltip: 'Role przypisane użytkownikowi w ramach tej organizacji.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/webhooks.ts index 3d4c77db0..527e9d519 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/webhooks.ts @@ -32,7 +32,6 @@ const webhooks = { name_placeholder: 'Wprowadź nazwę webhooka', endpoint_url: 'URL punktu końcowego', endpoint_url_placeholder: 'https://twoj.webhook.endpoint.url', - /** UNTRANSLATED */ endpoint_url_tip: 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', create_webhook: 'Utwórz webhook', diff --git a/packages/phrases/src/locales/pt-br/errors/entity.ts b/packages/phrases/src/locales/pt-br/errors/entity.ts index 161beeaa2..abbd92548 100644 --- a/packages/phrases/src/locales/pt-br/errors/entity.ts +++ b/packages/phrases/src/locales/pt-br/errors/entity.ts @@ -5,11 +5,10 @@ const entity = { not_exists: 'O {{name}} não existe.', not_exists_with_id: 'O {{name}} com ID `{{id}}` não existe.', not_found: 'O recurso não existe.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Não é possível encontrar uma ou mais chaves estrangeiras. Por favor, verifique a entrada e garanta que todas as entidades referenciadas existam.', + unique_integrity_violation: + 'A entidade já existe. Por favor, verifique a entrada e tente novamente.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/pt-br/errors/oidc.ts b/packages/phrases/src/locales/pt-br/errors/oidc.ts index bf590ddc8..d5e13df1d 100644 --- a/packages/phrases/src/locales/pt-br/errors/oidc.ts +++ b/packages/phrases/src/locales/pt-br/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { - aborted: 'A interação abortada pelo end-user', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + aborted: 'A interação foi abortada pelo usuário final', + invalid_scope: 'Escopo inválido: {{error_description}}.', invalid_token: 'Token inválido.', - invalid_client_metadata: 'Metadados de cliente inválidos.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + invalid_client_metadata: 'Metadados do cliente inválidos.', + insufficient_scope: 'Token sem escopo `{{scope}}`.', invalid_request: 'A solicitação é inválida.', - invalid_grant: 'A solicitação de concessão é inválida.', + invalid_grant: 'A concessão é inválida.', invalid_redirect_uri: - '`redirect_uri` não correspondeu a nenhum `redirect_uris` registrado do cliente.', + '`redirect_uri` não corresponde a nenhum `redirect_uris` registrado do cliente.', access_denied: 'Acesso negado.', invalid_target: 'Indicador de recurso inválido.', unsupported_grant_type: '`grant_type` não suportado.', unsupported_response_mode: '`response_mode` não suportado.', unsupported_response_type: '`response_type` não suportado.', provider_error: 'Erro interno OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Ocorreu um erro OIDC desconhecido. Por favor, tente novamente mais tarde.', + provider_error_fallback: 'Ocorreu um erro OIDC: {{code}}.', + key_required: 'Pelo menos uma chave é necessária.', + key_not_found: 'Chave com ID {{id}} não encontrada.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/pt-br/errors/organization.ts b/packages/phrases/src/locales/pt-br/errors/organization.ts index 2752f71f9..aae67f41e 100644 --- a/packages/phrases/src/locales/pt-br/errors/organization.ts +++ b/packages/phrases/src/locales/pt-br/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'O usuário deve ser um membro da organização para continuar.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/pt-br/errors/session.ts b/packages/phrases/src/locales/pt-br/errors/session.ts index 5397d5620..425ec65fb 100644 --- a/packages/phrases/src/locales/pt-br/errors/session.ts +++ b/packages/phrases/src/locales/pt-br/errors/session.ts @@ -10,11 +10,10 @@ const session = { 'A verificação não foi bem-sucedida. Reinicie o fluxo de verificação e tente novamente.', verification_expired: 'A conexão expirou. Verifique novamente para garantir a segurança da sua conta.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Muitas tentativas em um curto período de tempo. Por favor, tente novamente {{relativeTime}}.', unauthorized: 'Faça login primeiro.', - unsupported_prompt_name: 'Prompt name incompatível.', + unsupported_prompt_name: 'Nome do prompt incompatível.', forgot_password_not_enabled: 'Esqueceu a senha não está ativado.', verification_failed: 'A verificação não foi bem-sucedida. Reinicie o fluxo de verificação e tente novamente.', @@ -24,31 +23,20 @@ const session = { 'Identificador de usuário não encontrado. Por favor, volte e faça o login novamente.', interaction_not_found: 'Sessão de interação não encontrada. Por favor, volte e inicie a sessão novamente.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: 'Esta operação não é suportada para recuperação de senha.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'Verificação MFA é necessária para fazer login.', + mfa_sign_in_only: 'MFA está disponível apenas para interação de login.', + pending_info_not_found: + 'Informações MFA pendentes não encontradas, por favor inicie MFA primeiro.', + invalid_totp_code: 'Código TOTP inválido.', + webauthn_verification_failed: 'Falha na verificação do WebAuthn.', + webauthn_verification_not_found: 'Verificação WebAuthn não encontrada.', + bind_mfa_existed: 'MFA já existe.', + backup_code_can_not_be_alone: 'O código de backup não pode ser o único MFA.', + backup_code_required: 'O código de backup é obrigatório.', + invalid_backup_code: 'Código de backup inválido.', + mfa_policy_not_user_controlled: 'A política de MFA não é controlada pelo usuário.', }, sso_enabled: 'O login único está habilitado para este e-mail fornecido. Faça login com SSO, por favor.', diff --git a/packages/phrases/src/locales/pt-br/errors/single-sign-on.ts b/packages/phrases/src/locales/pt-br/errors/single-sign-on.ts index 4950a49e2..ea114a97e 100644 --- a/packages/phrases/src/locales/pt-br/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/pt-br/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Domínios de e-mail público não são permitidos.', + duplicated_domains: 'Existem domínios duplicados.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/pt-br/errors/user.ts b/packages/phrases/src/locales/pt-br/errors/user.ts index 17bad90b6..e5b078952 100644 --- a/packages/phrases/src/locales/pt-br/errors/user.ts +++ b/packages/phrases/src/locales/pt-br/errors/user.ts @@ -30,12 +30,9 @@ const user = { role_exists: 'O id da função {{roleId}} já foi adicionado a este usuário', invalid_role_type: 'Tipo de função inválido, não é possível atribuir uma função máquina a usuário.', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: 'Você precisa vincular MFA adicional antes de fazer login.', + totp_already_in_use: 'TOTP já está em uso.', + backup_code_already_in_use: 'O código de backup já está em uso.', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/api-resource-details.ts index 6514f5736..da206fa29 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/api-resource-details.ts @@ -8,13 +8,12 @@ const api_resource_details = { 'Os recursos da API, também conhecidos como Indicadores de recursos, indicam os serviços ou recursos de destino a serem solicitados, geralmente uma variável de formato de URI que representa a identidade do recurso.', management_api_settings_description: 'A API de Gerenciamento do Logto é uma coleção abrangente de APIs que capacitam os administradores a gerenciar uma ampla gama de tarefas relacionadas à identidade, aplicar políticas de segurança e cumprir regulamentos e padrões.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'Esta API representa a entidade Logto e não pode ser modificada ou excluída. Você pode usar a API de gerenciamento para uma ampla gama de tarefas relacionadas à identidade. Aprenda mais', token_expiration_time_in_seconds: 'Tempo de expiração do token (em segundos)', token_expiration_time_in_seconds_placeholder: 'Digite o tempo de expiração do seu token', delete_description: - 'Essa ação não pode ser desfeita. Isso excluirá permanentemente o recurso da API. Insira o nome do recurso de API {{name}} para confirmar.', + 'Essa ação não pode ser desfeita. Isso excluirá permanentemente o recurso da API. Insira o nome do recurso da API {{name}} para confirmar.', enter_your_api_resource_name: 'Digite o nome do recurso da API', api_resource_deleted: 'O recurso da API {{name}} foi excluído com sucesso', permission: { diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/enterprise-sso.ts index a938e55e1..34d315075 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ + page_title: 'SSO Empresarial', + title: 'SSO Empresarial', + subtitle: + 'Conecte-se ao provedor de identidade empresarial e habilite o Logon Único iniciado pelo provedor de serviço (SP).', + create: 'Adicionar conector empresarial', + col_connector_name: 'Nome do conector', + col_type: 'Tipo', + col_email_domain: 'Domínio de e-mail', col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + col_status_in_use: 'Em uso', + col_status_invalid: 'Inválido', + placeholder_title: 'Conector empresarial', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'O Logto forneceu muitos provedores de identidade empresarial integrados para conexão. Ao mesmo tempo, você pode criar o seu próprio com protocolos padrão.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Adicionar conector empresarial', + text_divider: 'Ou você pode personalizar seu conector usando um protocolo padrão.', + connector_name_field_title: 'Nome do conector', + connector_name_field_placeholder: 'Nome do provedor de identidade empresarial', + create_button_text: 'Criar conector', }, }; diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/general.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/general.ts index bae2a8614..6186d6728 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/general.ts @@ -1,5 +1,5 @@ const general = { - placeholder: 'Placeholder', + placeholder: 'Espaço reservado', submit: 'Enviar', skip: 'Pular', next: 'Próximo', @@ -33,8 +33,7 @@ const general = { copied: 'Copiado', required: 'Obrigatório', add_another: 'Adicionar outro', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Criar outro', deletion_confirmation: 'Tem certeza de que deseja excluir este {{title}}?', settings_nav: 'Configurações', unsaved_changes_warning: @@ -60,22 +59,15 @@ const general = { unknown_error: 'Erro desconhecido, por favor tente novamente mais tarde.', select: 'Selecionar', contact_us_action: 'Contate-nos', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Descrição', + name: 'Nome', + add_field: 'Adicionar {{field}}', + create_field: 'Criar {{field}}', + edit_field: 'Editar {{field}}', + delete_field: 'Excluir {{field}}', coming_soon: 'Em breve', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} está atualmente em beta. Bem-vindo para explorá-lo e compartilhar seu feedback.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/organization-details.ts index 3a2a5a8ad..e7d8b93c1 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Detalhes da organização', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Uma vez excluída, todos os membros perderão sua associação e cargos nesta organização. Essa ação não pode ser desfeita.', + organization_id: 'ID da organização', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Uma organização é um grupo de identidades (geralmente usuários) que são reconhecidas por um identificador comum.\n\nCada organização tem seu próprio conjunto de membros, cargos e permissões, enquanto os cargos e permissões são definidos pelo modelo da organização.', + name_placeholder: 'O nome da organização, não é necessário ser único.', + description_placeholder: 'Uma descrição da organização.', + member: 'Membro', + member_other: 'Membros', + add_members_to_organization: 'Adicionar membros à organização {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Encontre usuários apropriados pesquisando nome, e-mail, telefone ou ID do usuário. Membros existentes não são mostrados nos resultados da pesquisa.', + add_with_organization_role: 'Adicionar com função(ões) na organização', + user: 'Usuário', + authorize_to_roles: 'Autorizar {{name}} a acessar os seguintes cargos:', + edit_organization_roles: 'Editar cargos da organização', + edit_organization_roles_of_user: 'Editar cargos da organização de {{name}}', + remove_user_from_organization: 'Remover usuário da organização', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Uma vez removido, o usuário perderá sua associação e cargos nesta organização. Essa ação não pode ser desfeita.', + search_user_placeholder: 'Pesquisar por nome, e-mail, telefone ou ID do usuário', + at_least_one_user: 'Pelo menos um usuário é necessário.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/organizations.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/organizations.ts index d6f9220af..3ec9c359f 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organizações', + title: 'Organizações', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Represente as equipes, clientes empresariais e empresas parceiras que acessam suas aplicações como organizações.', + organization_id: 'ID da organização', + members: 'Membros', + create_organization: 'Criar organização', + setup_organization: 'Configurar sua organização', + organization_list_placeholder_title: 'Organização', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'A organização é geralmente usada em aplicativos de multi-inquilinato SaaS ou semelhantes a SaaS. A funcionalidade de Organizações permite que seus clientes B2B gerenciem melhor seus parceiros e clientes, e personalizem as formas como os usuários finais acessam suas aplicações.', + organization_name_placeholder: 'Minha organização', + organization_description_placeholder: 'Uma breve descrição da organização', + organization_permission: 'Permissão da organização', + organization_permission_other: 'Permissões da organização', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'A permissão da organização se refere à autorização para acessar um recurso no contexto da organização. Uma permissão de organização deve ser representada como uma string significativa, servindo também como nome e identificador exclusivo.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Se esta permissão for excluída, todos os papéis de organização, incluindo esta permissão, perderão esta permissão, e os usuários que tinham esta permissão perderão o acesso concedido por ela.', + create_permission_placeholder: 'Ler histórico de compromissos', + permission: 'Permissão', + permission_other: 'Permissões', + organization_role: 'Papel da organização', + organization_role_other: 'Papéis da organização', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'O papel da organização é um agrupamento de permissões que podem ser atribuídas aos usuários. As permissões devem vir das permissões de organização predefinidas.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Fazê-lo removerá as permissões associadas a este papel dos usuários afetados e excluirá as relações entre os papéis da organização, os membros da organização e as permissões da organização.', + role: 'Função', + create_role_placeholder: 'Usuários com permissões somente leitura', + search_placeholder: 'Pesquisar por nome ou ID da organização', + search_permission_placeholder: 'Digite para pesquisar e selecionar permissões', + search_role_placeholder: 'Digite para pesquisar e selecionar funções', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Comece com guias', + subtitle: 'Inicie o processo de desenvolvimento do seu aplicativo com nossos guias', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Primeiro, entenda como as organizações funcionam no Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'Em aplicativos SaaS de vários inquilinos, muitas vezes fazemos várias organizações com o mesmo conjunto de permissões e funções, mas no contexto de uma organização, ela pode desempenhar um papel importante no controle de diferentes níveis de acesso. Pense em cada inquilino como uma organização Logto e elas naturalmente compartilham o mesmo "modelo" de controle de acesso.', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'O modelo de organização consiste em duas partes', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'A permissão de organização se refere à autorização para acessar um recurso no contexto da organização. Uma permissão de organização deve ser representada como uma string significativa, servindo também como nome e identificador exclusivo.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'O papel da organização é um agrupamento de permissões que podem ser atribuídas aos usuários. As permissões devem vir das permissões de organização predefinidas.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Interaja com a ilustração para ver como tudo se conecta', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Vamos dar um exemplo. John, Sarah e Tony estão em diferentes organizações com papéis diferentes no contexto de organizações diferentes. Passe o mouse sobre os diferentes módulos e veja o que acontece.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Etapa 1: Definir permissões da organização', + step_2: 'Etapa 2: Definir papéis da organização', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Papéis da organização" representam um conjunto de papéis dados a cada organização no início. Esses papéis são determinados pelas permissões globais que você definiu na tela anterior. Semelhante à permissão de organização, uma vez que você terminar esta configuração pela primeira vez, não será necessário fazer isso toda vez que criar uma nova organização.', + step_3: 'Etapa 3: Criar sua primeira organização', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Vamos criar sua primeira organização. Ela vem com um ID único e serve como um contêiner para lidar com várias identidades mais direcionadas aos negócios, como parceiros, clientes e seu controle de acesso.', + more_next_steps: 'Mais próximas etapas', + add_members: 'Adicionar membros à sua organização', + add_members_action: 'Adicionar membros em massa e atribuir funções', + add_enterprise_connector: 'Adicionar SSO empresarial', + add_enterprise_connector_action: 'Configurar SSO empresarial', + organization_permissions: 'Permissões da organização', + permission_name: 'Nome da permissão', + permissions: 'Permissões', + organization_roles: 'Papéis da organização', + role_name: 'Nome do papel', + organization_name: 'Nome da organização', + admin: 'Administrador', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'O papel "Administrador" compartilha o mesmo modelo de organização em diferentes organizações.', + member: 'Membro', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'O papel "Membro" compartilha o mesmo modelo de organização em diferentes organizações.', + guest: 'Convidado', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'O papel "Convidado" compartilha o mesmo modelo de organização em diferentes organizações.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ - ellipsis: '……', - /** UNTRANSLATED */ + 'Você pode criar mais papéis nas configurações de modelo da organização. Esses papéis da organização se aplicarão a diferentes organizações.', + read_resource: 'ler:recurso', + edit_resource: 'editar:recurso', + delete_resource: 'excluir:recurso', + ellipsis: '...', johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johnny pertence a duas organizações com o email "john@email.com" como único identificador. Ele é o administrador da organização A e convidado da organização B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah pertence a uma organização com o email "sarah@email.com" como único identificador. Ela é a administradora da organização B.', + tony: 'Tony pertence a uma organização com o email "tony@email.com" como único identificador. Ele é membro da organização C.', }, }; diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/role-details.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/role-details.ts index d3d6d61fb..0a764e25e 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/role-details.ts @@ -43,11 +43,9 @@ const role_details = { assign_title: 'Atribuir usuários', assign_subtitle: 'Atribuir usuários a este papel. Encontre usuários adequados pesquisando nome, e-mail, telefone ou ID do usuário.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Atribuir usuários', confirm_assign: 'Atribuir usuários', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Os usuários selecionados foram atribuídos com sucesso a este papel', empty: 'Nenhum usuário disponível', }, applications: { @@ -61,11 +59,9 @@ const role_details = { assign_title: 'Atribuir aplicativos', assign_subtitle: 'Atribuir aplicativos a este papel. Encontre os aplicativos adequados pesquisando por nome, descrição ou ID do aplicativo.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Atribuir aplicativos', confirm_assign: 'Atribuir aplicativos', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Os aplicativos selecionados foram atribuídos com sucesso a este papel', empty: 'Nenhum aplicativo disponível', }, }; diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts index 73ee2bb54..26f96b1d8 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Remova seu domínio personalizado', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Desative seu SSO', }, built_in_email_connector_enabled: { name: 'Conector de email incorporado', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Remova seus webhooks', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Remova suas organizações', }, audit_logs_retention_days: { name: 'Permanência de registros de auditoria', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts index e41fabb4e..8b49dec9e 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Autenticação de usuário', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Senha', passwordless: 'Sem senha - E-mail e SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organização', + organization: 'Organização (Q4, 2023)', }, support: { title: 'Suporte', @@ -67,12 +64,12 @@ const quota_table = { '* Seus usuários ativos mensais (MAU) são divididos em 3 níveis com base em quantas vezes eles fazem login durante o ciclo de faturamento. Cada nível tem um preço diferente por unidade de MAU.', unlimited: 'Ilimitado', contact: 'Contato', - monthly_price: '${{value, number}}/mês', - mau_price: '${{value, number}}/MAU', - days_one: '{{count, number}} dia', - days_other: '{{count, number}} dias', + monthly_price: '${ { value, number } }/mês', + mau_price: '${ { value, number } }/MAU', + days_one: '${ { count, number } } dia', + days_other: '${ { count, number } } dias', add_on: 'Adicional', - tier: 'Nível{{value, number}}: ', + tier: 'Nível${ { value, number } }: ', }; export default Object.freeze(quota_table); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/tabs.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/tabs.ts index 12835d4e8..ecc4893ea 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'Recursos da API', sign_in_experience: 'Experiência de login', connectors: 'Conectores', - /** UNTRANSLATED */ enterprise_sso: 'Enterprise SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizações', users: 'Usuários', audit_logs: 'Logs', roles: 'Registros', docs: 'Documentação', tenant_settings: 'Configurações', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + mfa: 'Autenticação de multi-fator', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/tenants.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/tenants.ts index f3b97db47..5b9d7e9a0 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/tenants.ts @@ -13,26 +13,22 @@ const tenants = { 'Defina o nome do locatário e veja a região de hospedagem e a etiqueta do ambiente.', tenant_id: 'ID do Locatário', tenant_name: 'Nome do Locatário', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Região de hospedagem', + tenant_region_tip: + 'Seus recursos do locatário estão hospedados na região {{region}}. Learn more', environment_tag: 'Tag do Ambiente', environment_tag_description: 'As tags não alteram o serviço. Elas apenas ajudam a diferenciar vários ambientes.', environment_tag_development: 'Dev', environment_tag_staging: 'Homol', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + "O ambiente de desenvolvimento é usado principalmente para testes e inclui todos os recursos profissionais, mas possui marcas d'água na experiência de login. Learn more", tenant_info_saved: 'As informações do locatário foram salvas com sucesso.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Desenvolvimento', + production: 'Produção', }, deletion_card: { title: 'EXCLUIR', @@ -44,50 +40,35 @@ const tenants = { create_modal: { title: 'Criar inquilino', subtitle: 'Crie um novo inquilino para separar recursos e usuários.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Crie um novo locatário para separar recursos e usuários. Região e etiquetas de ambiente não podem ser modificadas após a criação.', + tenant_usage_purpose: 'Para que você deseja usar este locatário?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'O ambiente de desenvolvimento é usado principalmente para testes e não deve ser usado em um ambiente de produção.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'O ambiente de desenvolvimento é usado principalmente para testes e não deve ser usado em um ambiente de produção.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Produção é onde o software ao vivo é usado pelos usuários finais e pode exigir uma assinatura paga.', + available_plan: 'Plano disponível:', create_button: 'Criar inquilino', tenant_name_placeholder: 'Meu inquilino', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Agora você pode acessar todos os recursos do Logto Pro em seu locatário de desenvolvimento!', + allow_pro_features_description: 'É completamente gratuito, sem período de teste - para sempre!', + explore_all_features: 'Explore todos os recursos', + impact_title: 'Isso tem algum impacto em mim?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Sua etiqueta de locatário foi atualizada de "Homologação" para "Produção", mas essa mudança não afetará sua configuração atual.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Ao assinar o plano Logto Hobby, sua etiqueta de locatário "Desenvolvimento" anterior mudará para "Produção", e isso não afetará sua configuração existente.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Se você ainda está em fase de desenvolvimento, pode criar um novo locatário de desenvolvimento para acessar mais recursos profissionais.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Se você está em estágio de produção, ou em um ambiente de produção, ainda precisará assinar um plano específico, então não há nada que você precise fazer neste momento.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Não hesite em nos contactar se precisar de ajuda! Obrigado por escolher o Logto!', }, delete_modal: { title: 'Excluir locatário', @@ -100,7 +81,7 @@ const tenants = { delete_button: 'Excluir permanentemente', cannot_delete_title: 'Não é possível excluir este inquilino', cannot_delete_description: - 'Desculpe, você não pode excluir este inquilino no momento. Certifique-se de estar no Plano Gratuito e ter pago todas as faturas pendentes.', + 'Desculpe, você não pode excluir este locatário no momento. Certifique-se de estar no Plano Gratuito e ter pago todas as faturas pendentes.', }, tenant_landing_page: { title: 'Você ainda não criou um inquilino', @@ -121,67 +102,44 @@ const tenants = { 'Se você precisa de mais esclarecimentos, tem alguma preocupação ou deseja restaurar a funcionalidade total e desbloquear seus locatários, não hesite em entrar em contato conosco imediatamente.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'CHAVES DE ASSINATURA', + description: 'Gerencie de forma segura as chaves de assinatura em seu locatário.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Chaves privadas do OIDC', + cookie_key: 'Chaves de cookie do OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Chaves privadas em uso', + cookie_keys_in_use: 'Chaves de cookie em uso', + rotate_private_keys: 'Girar chaves privadas', + rotate_cookie_keys: 'Girar chaves de cookie', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Esta ação criará uma nova chave privada de assinatura, girará a chave atual e removerá sua chave anterior. Seus tokens JWT assinados com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Esta ação criará uma nova chave de cookie, girará a chave atual e removerá sua chave anterior. Seus cookies com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.', + select_private_key_algorithm: 'Selecione o algoritmo de assinatura para a nova chave privada', + rotate_button: 'Girar', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + algorithm: 'Algoritmo de assinatura', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Atual', + previous: 'Anterior', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Tem certeza de que deseja girar as chaves privadas do OIDC? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até você girar novamente.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Tem certeza de que deseja girar as chaves de cookie do OIDC? Novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até você girar novamente.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Tem certeza de que deseja excluir a chave privada do OIDC? Tokens JWT existentes assinados com esta chave privada de assinatura não serão mais válidos.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Tem certeza de que deseja excluir a chave de cookie do OIDC? As sessões de login mais antigas com cookies assinados com esta chave de cookie não serão mais válidas. Será necessária uma nova autenticação para esses usuários.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Chaves de assinatura giradas com sucesso.', + delete_key_success: 'Chave excluída com sucesso.', }, }, }; diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/upsell/paywall.ts index 64fd8001a..ed22a7154 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/upsell/paywall.ts @@ -3,31 +3,28 @@ const paywall = { 'Limite de {{count, number}} aplicação do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', applications_other: 'Limite de {{count, number}} aplicações do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Atualize para o plano Hobby para desbloquear 1 aplicação de máquina para máquina, ou escolha o plano Pro para uso ilimitado. Para qualquer assistência, sinta-se à vontade para entrar em contato conosco.', machine_to_machine: 'Limite de {{count, number}} aplicação de máquina para máquina do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', machine_to_machine_other: 'Limite de {{count, number}} aplicações de máquina para máquina do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', resources: - 'Atingiu o limite de {{count, number}} recursos de API de . Atualize o plano para satisfazer as necessidades da sua equipa. Contacte-nos se precisar de assistência.', + 'Atingiu o limite de {{count, number}} recursos de API de . Atualize o plano para satisfazer as necessidades da sua equipe. Contacte-nos se precisar de assistência.', resources_other: - 'Atingiu o limite de {{count, number}} recursos de API de . Atualize o plano para satisfazer as necessidades da sua equipa. Contacte-nos se precisar de assistência.', + 'Atingiu o limite de {{count, number}} recursos de API de . Atualize o plano para satisfazer as necessidades da sua equipe. Contacte-nos se precisar de assistência.', scopes_per_resource: 'Atingiu o limite de {{count, number}} permissões por recurso de API de . Atualize agora para expandir. Contacte-nos se precisar de assistência.', scopes_per_resource_other: 'Atingiu o limite de {{count, number}} permissões por recurso de API de . Atualize agora para expandir. Contacte-nos se precisar de assistência.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Desbloqueie a funcionalidade de domínio personalizado ao atualizar para o plano Hobby ou Pro. Não hesite em entrar em contato conosco se precisar de alguma ajuda.', social_connectors: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', social_connectors_other: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Atualize para o plano Hobby ou Pro para criar seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML, além de conectores sociais ilimitados e todos os recursos premium. Sinta-se à vontade para entrar em contato conosco se precisar de qualquer ajuda.', standard_connectors: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', standard_connectors_other: diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/user-details.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/user-details.ts index 99c2ca52a..ada763e76 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: 'Configurações', tab_roles: 'Funções', tab_logs: 'Registros', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizações', + authentication: 'Autenticação', authentication_description: 'Cada usuário tem um perfil contendo todas as informações do usuário. Consiste em dados básicos, identidades sociais e dados personalizados.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Perfil do usuário', field_email: 'Endereço de e-mail', field_phone: 'Número de telefone', field_username: 'Nome de usuário', @@ -38,30 +35,24 @@ const user_details = { field_custom_data_tip: 'Informações adicionais do usuário não listadas nas propriedades de usuário predefinidas, como cor e idioma preferidos do usuário.', field_connectors: 'Conectores de login sociais', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Conexões empresariais', custom_data_invalid: 'Os dados personalizados devem ser um objeto JSON válido', connectors: { connectors: 'Conectores', user_id: 'ID do usuário', remove: 'Remover', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Este usuário está conectado com vários conectores sociais.', not_connected: 'O usuário não está conectado a nenhum conector social', deletion_confirmation: 'Você está removendo a identidade existente . Tem certeza de que deseja continuar?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Conectores', + enterprise_id: 'ID da empresa', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Este usuário está conectado a vários fornecedores de identidade empresarial para Entrada Única.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'O usuário não está conectado a nenhum provedor de identidade empresarial para Entrada Única.', }, mfa: { field_name: 'Autenticação de dois fatores', @@ -102,8 +93,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'O usuário precisa ter pelo menos um dos identificadores de login (nome de usuário, e-mail, número de telefone ou social) para fazer login. Tem certeza de que deseja continuar?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'As funções atribuídas ao usuário dentro desta organização.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/webhooks.ts index a5b9408f7..f9bcbdfbb 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/webhooks.ts @@ -31,13 +31,12 @@ const webhooks = { name_placeholder: 'Digite o nome do webhook', endpoint_url: 'URL de endpoint', endpoint_url_placeholder: 'https://seu.url.endpoint.do.webhook', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Insira o URL do seu ponto de extremidade para o qual a carga útil de um webhook é enviada quando o evento ocorre.', create_webhook: 'Criar webhook', missing_event_error: 'Você precisa selecionar pelo menos um evento.', }, - webhook_created: 'O webhook {{name}foi criado com sucesso.', + webhook_created: 'O webhook {{name}} foi criado com sucesso.', }; export default Object.freeze(webhooks); diff --git a/packages/phrases/src/locales/pt-pt/errors/entity.ts b/packages/phrases/src/locales/pt-pt/errors/entity.ts index 5a7022d12..e9baca80d 100644 --- a/packages/phrases/src/locales/pt-pt/errors/entity.ts +++ b/packages/phrases/src/locales/pt-pt/errors/entity.ts @@ -3,13 +3,12 @@ const entity = { create_failed: 'Falha ao criar {{name}}.', db_constraint_violated: 'Restrição do banco de dados violada.', not_exists: '{{name}} não existe.', - not_exists_with_id: '{{name}} com o ID `{{id}}` não existe.', + not_exists_with_id: "{{name}} com o ID '{{id}}' não existe.", not_found: 'O recurso não existe.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Não é possível encontrar uma ou mais chaves estrangeiras. Por favor, verifique a entrada e certifique-se de que todas as entidades referenciadas existam.', + unique_integrity_violation: + 'A entidade já existe. Por favor, verifique a entrada e tente novamente.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/pt-pt/errors/oidc.ts b/packages/phrases/src/locales/pt-pt/errors/oidc.ts index 19ccdb72b..a139cffb7 100644 --- a/packages/phrases/src/locales/pt-pt/errors/oidc.ts +++ b/packages/phrases/src/locales/pt-pt/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: 'O utilizador final abortou a interação.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Âmbito inválido: {{error_description}}.', invalid_token: 'O Token fornecido é inválido.', invalid_client_metadata: 'Metadados de cliente inválidos fornecidos.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Token em falta com âmbito `{{scope}}`.', invalid_request: 'Pedido inválido.', invalid_grant: 'Pedido Grant inválido.', invalid_redirect_uri: '`redirect_uri` não correspondeu a nenhum dos `redirect_uris` registados.', @@ -15,14 +13,10 @@ const oidc = { unsupported_response_mode: '`response_mode` solicitado não é suportado.', unsupported_response_type: '`response_type` solicitado não é suportado.', provider_error: 'Erro interno OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Ocorreu um erro OIDC desconhecido. Por favor, tente novamente mais tarde.', + provider_error_fallback: 'Ocorreu um erro OIDC: {{code}}.', + key_required: 'Pelo menos uma chave é necessária.', + key_not_found: 'A chave com ID {{id}} não foi encontrada.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/pt-pt/errors/organization.ts b/packages/phrases/src/locales/pt-pt/errors/organization.ts index 2752f71f9..747941ea3 100644 --- a/packages/phrases/src/locales/pt-pt/errors/organization.ts +++ b/packages/phrases/src/locales/pt-pt/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'O utilizador deve ser membro da organização para avançar.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/pt-pt/errors/session.ts b/packages/phrases/src/locales/pt-pt/errors/session.ts index d2266b122..1c25ef424 100644 --- a/packages/phrases/src/locales/pt-pt/errors/session.ts +++ b/packages/phrases/src/locales/pt-pt/errors/session.ts @@ -12,9 +12,8 @@ const session = { 'A verificação não foi bem-sucedida. Reinicie o processo de verificação e tente novamente.', verification_expired: 'A conexão expirou. Verifique novamente para garantir a segurança de sua conta.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Muitas tentativas em um curto período de tempo. Por favor, tente novamente {{relativeTime}}.', unauthorized: 'Faça login primeiro.', unsupported_prompt_name: 'Nome de prompt não suportado.', forgot_password_not_enabled: 'Recuperação de senha não está habilitada.', @@ -26,31 +25,20 @@ const session = { 'Identificador do usuário não encontrado. Por favor, volte e faça login novamente.', interaction_not_found: 'Sessão de interação não encontrada. Por favor, volte e inicie a sessão novamente.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: 'Esta operação não é suportada para recuperação de senha.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'Verificação MFA é necessária para efetuar login.', + mfa_sign_in_only: 'MFA está disponível apenas para interação de login.', + pending_info_not_found: + 'Informações de MFA pendentes não encontradas, por favor, inicie o MFA primeiro.', + invalid_totp_code: 'Código TOTP inválido.', + webauthn_verification_failed: 'A verificação WebAuthn falhou.', + webauthn_verification_not_found: 'Verificação WebAuthn não encontrada.', + bind_mfa_existed: 'MFA já existe.', + backup_code_can_not_be_alone: 'O código de backup não pode ser o único MFA.', + backup_code_required: 'O código de backup é necessário.', + invalid_backup_code: 'Código de backup inválido.', + mfa_policy_not_user_controlled: 'A política MFA não é controlada pelo usuário.', }, sso_enabled: 'O login único está habilitado para este e-mail fornecido. Faça login com SSO, por favor.', diff --git a/packages/phrases/src/locales/pt-pt/errors/single-sign-on.ts b/packages/phrases/src/locales/pt-pt/errors/single-sign-on.ts index 4950a49e2..b5b3e2d14 100644 --- a/packages/phrases/src/locales/pt-pt/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/pt-pt/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Os domínios de email público não são permitidos.', + duplicated_domains: 'Existem domínios duplicados.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/pt-pt/errors/user.ts b/packages/phrases/src/locales/pt-pt/errors/user.ts index 5df858112..1fe778797 100644 --- a/packages/phrases/src/locales/pt-pt/errors/user.ts +++ b/packages/phrases/src/locales/pt-pt/errors/user.ts @@ -1,11 +1,11 @@ const user = { - username_already_in_use: 'Este nome de usuário já está em uso.', + username_already_in_use: 'Este nome de utilizador já está em uso.', email_already_in_use: 'Este email já está associado a uma conta existente.', phone_already_in_use: 'Este número de telefone já está associado a uma conta existente.', invalid_email: 'Endereço de email inválido.', invalid_phone: 'Número de telefone inválido.', - email_not_exist: 'O endereço de email ainda não foi registada.', - phone_not_exist: 'O numero do telefone ainda não foi registada.', + email_not_exist: 'O endereço de email ainda não foi registado.', + phone_not_exist: 'O número de telefone ainda não foi registado.', identity_not_exist: 'A conta social ainda não foi registada.', identity_already_in_use: 'A conta social foi registada.', social_account_exists_in_profile: 'A conta social já foi associada a este perfil.', @@ -30,11 +30,8 @@ const user = { role_exists: 'O id da função {{roleId}} já foi adicionado a este utilizador.', invalid_role_type: 'Tipo de função inválido, não é possível atribuir uma função máquina a máquina ao utilizador.', - /** UNTRANSLATED */ missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ backup_code_already_in_use: 'Backup code is already in use.', }; diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resource-details.ts index 133719145..320886e42 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resource-details.ts @@ -5,22 +5,21 @@ const api_resource_details = { permissions_tab: 'Permissões', settings: 'Configurações', settings_description: - 'Recursos da API, também conhecidos como indicadores de recursos, indicam os serviços ou recursos de destino a serem solicitados, geralmente uma variável de formato URI que representa a identidade do recurso.', + 'Os recursos da API, também conhecidos como indicadores de recursos, indicam os serviços ou recursos de destino a serem solicitados, geralmente uma variável no formato URI que representa a identidade do recurso.', management_api_settings_description: 'A API de Gerenciamento do Logto é uma coleção abrangente de APIs que capacitam os administradores a gerenciar uma ampla gama de tarefas relacionadas à identidade, aplicar políticas de segurança e cumprir regulamentos e padrões.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'Esta API representa a entidade Logto e não pode ser modificada ou eliminada. Você pode usar a API de gerenciamento para uma ampla gama de tarefas relacionadas à identidade. Saiba mais', token_expiration_time_in_seconds: 'Tempo de expiração do token (em segundos)', token_expiration_time_in_seconds_placeholder: 'Insira o tempo de expiração do token', delete_description: - 'Esta ação não pode ser desfeita. Isso irá eliminar permanentemente o recurso de API. Insira o nome do recurso {{name}} para confirmar.', + 'Esta ação não pode ser desfeita. Isso irá eliminar permanentemente o recurso da API. Insira o nome do recurso {{name}} para confirmar.', enter_your_api_resource_name: 'Digite o nome do recurso da API', api_resource_deleted: 'O recurso da API {{name}} foi eliminado com sucesso', permission: { create_button: 'Criar permissão', create_title: 'Criar permissão', - create_subtitle: 'Define as permissões (escopos) necessárias para essa API.', + create_subtitle: 'Define as permissões (escopos) necessários para essa API.', confirm_create: 'Criar permissão', name: 'Nome da permissão', name_placeholder: 'leitura:recurso', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/enterprise-sso.ts index a938e55e1..1c0d8d13e 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'SSO Empresarial', + title: 'SSO Empresarial', + subtitle: + 'Conecte o fornecedor de identidade empresarial e ative o Logon Único iniciado pelo SP.', + create: 'Adicionar conector empresarial', + col_connector_name: 'Nome do conector', + col_type: 'Tipo', + col_email_domain: 'Domínio do email', + col_status: 'Estado', + col_status_in_use: 'Em uso', + col_status_invalid: 'Inválido', + placeholder_title: 'Conector empresarial', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'O Logto forneceu muitos provedores de identidade empresarial integrados para conectar, ao mesmo tempo, você pode criar o seu próprio com protocolos padrão.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Adicionar conector empresarial', + text_divider: 'Ou você pode personalizar seu conector por um protocolo padrão.', + connector_name_field_title: 'Nome do conector', + connector_name_field_placeholder: 'Nome do provedor de identidade empresarial', + create_button_text: 'Criar conector', }, }; diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/general.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/general.ts index 895b92dea..91c858c01 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Copiado', required: 'Obrigatório', add_another: 'Adicionar outro', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Criar outro', deletion_confirmation: 'Tem a certeza que deseja eliminar isso {{title}}?', settings_nav: 'Definições', unsaved_changes_warning: 'Fez algumas alterações. Tem a certeza que deseja sair desta página?', @@ -59,22 +58,15 @@ const general = { unknown_error: 'Erro desconhecido, por favor tente novamente mais tarde.', select: 'Selecionar', contact_us_action: 'Contacte-nos', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Descrição', + name: 'Nome', + add_field: 'Adicionar {{field}}', + create_field: 'Criar {{field}}', + edit_field: 'Editar {{field}}', + delete_field: 'Eliminar {{field}}', coming_soon: 'Em breve', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} está atualmente em beta. Bem-vindo para explorar e partilhar o seu feedback.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/organization-details.ts index 3a2a5a8ad..b4d710c8c 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Detalhes da organização', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Uma vez eliminada, todos os membros perderão a sua adesão e funções nesta organização. Esta ação não pode ser desfeita.', + organization_id: 'ID da organização', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Uma organização é um grupo de identidades (normalmente utilizadores) que são reconhecidas por um identificador comum.\n\nCada organização tem o seu conjunto de membros, funções e permissões, enquanto as funções e permissões são definidas pelo modelo da organização.', + name_placeholder: 'O nome da organização, não é necessário ser único.', + description_placeholder: 'Uma descrição da organização.', + member: 'Membro', + member_other: 'Membros', + add_members_to_organization: 'Adicionar membros à organização {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Encontre utilizadores adequados pesquisando por nome, email, telefone ou ID de utilizador. Os membros existentes não são mostrados nos resultados da pesquisa.', + add_with_organization_role: 'Adicionar com função(ões) de organização', + user: 'Utilizador', + authorize_to_roles: 'Autorizar {{name}} a aceder às seguintes funções:', + edit_organization_roles: 'Editar funções da organização', + edit_organization_roles_of_user: 'Editar funções da organização de {{name}}', + remove_user_from_organization: 'Remover utilizador da organização', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Uma vez removido, o utilizador perderá a sua adesão e funções nesta organização. Esta ação não pode ser desfeita.', + search_user_placeholder: 'Pesquisar por nome, email, telefone ou ID de utilizador', + at_least_one_user: 'Pelo menos um utilizador é necessário.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/organizations.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/organizations.ts index d6f9220af..1f1dbe38e 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Organizações', + title: 'Organizações', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Representam as equipas, clientes empresariais e empresas parceiras que acedem às suas aplicações como organizações.', + organization_id: 'ID da organização', + members: 'Membros', + create_organization: 'Criar organização', + setup_organization: 'Configurar a sua organização', + organization_list_placeholder_title: 'Organização', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'A organização é normalmente usada em aplicações multi-inquilinos de SaaS ou semelhantes a SaaS. A funcionalidade Organizações permite que os seus clientes B2B gerenciem melhor os seus parceiros e clientes, e personalizem as formas como os utilizadores finais acedem às suas aplicações.', + organization_name_placeholder: 'A minha organização', + organization_description_placeholder: 'Uma breve descrição da organização', + organization_permission: 'Permissão da organização', + organization_permission_other: 'Permissões da organização', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'A permissão da organização refere-se à autorização para aceder a um recurso no contexto da organização. Uma permissão da organização deve ser representada como uma string significativa, servindo também como nome e identificador único.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Se esta permissão for eliminada, todas as funções da organização que incluam esta permissão perderão esta permissão, e os utilizadores que tinham esta permissão perderão o acesso concedido por ela.', + create_permission_placeholder: 'Ler histórico de compromissos', + permission: 'Permissão', + permission_other: 'Permissões', + organization_role: 'Papel da organização', + organization_role_other: 'Funções da organização', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'O papel da organização é um agrupamento de permissões que podem ser atribuídas a utilizadores. As permissões devem provir das permissões de organização predefinidas.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Ao fazer isto, serão removidas as permissões associadas a esta função dos utilizadores afetados e serão eliminadas as relações entre funções de organização, membros na organização e permissões da organização.', + role: 'Papel', + create_role_placeholder: 'Utilizadores com permissões apenas de visualização', + search_placeholder: 'Pesquisar por nome ou ID da organização', + search_permission_placeholder: 'Digite para pesquisar e selecionar permissões', + search_role_placeholder: 'Digite para pesquisar e selecionar funções', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Comece com guias', + subtitle: 'Inicie o seu processo de desenvolvimento de aplicações com os nossos guias', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Primeiro, vamos entender como funcionam as organizações no Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'Em aplicações SaaS multi-inquilinos, frequentemente criamos várias organizações com o mesmo conjunto de permissões e funções, mas no contexto de uma organização, estas podem desempenhar um papel importante no controlo de vários níveis de acesso. Pense em cada inquilino como uma organização Logto e elas naturalmente partilham o mesmo "modelo" de controlo de acesso. Chamamos a isso o "modelo da organização".', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'O modelo da organização consiste em duas partes', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'A permissão da organização refere-se à autorização para aceder a um recurso no contexto da organização. Uma permissão da organização deve ser representada como uma string significativa, servindo também como nome e identificador único.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'O papel da organização é um agrupamento de permissões que podem ser atribuídas a utilizadores. As permissões devem provir das permissões de organização predefinidas.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Interaja com a ilustração para ver como tudo está conectado', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Vamos dar um exemplo. John, Sarah e Tony estão em diferentes organizações com papéis diferentes no contexto de diferentes organizações. Passe o cursor sobre os diferentes módulos e veja o que acontece.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Passo 1: Definir as permissões da organização', + step_2: 'Passo 2: Definir as funções da organização', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Funções da organização" representam um conjunto de funções atribuídas a cada organização no início. Estas funções são determinadas pelas permissões globais que definiu no ecrã anterior. Semelhante à permissão da org, uma vez concluída esta configuração pela primeira vez, não precisará de o fazer sempre que criar uma nova organização.', + step_3: 'Passo 3: Crie a sua primeira organização', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Vamos criar a sua primeira organização. Ela vem com um ID único e serve como um recipiente para lidar com várias identidades empresariais, como parceiros, clientes e respetivo controlo de acesso.', + more_next_steps: 'Mais passos seguintes', + add_members: 'Adicionar membros à sua organização', + add_members_action: 'Adicionar membros em massa e atribuir funções', + add_enterprise_connector: 'Adicionar SSO empresarial', + add_enterprise_connector_action: 'Configurar SSO empresarial', + organization_permissions: 'Permissões da organização', + permission_name: 'Nome da permissão', + permissions: 'Permissões', + organization_roles: 'Funções da organização', + role_name: 'Nome da função', + organization_name: 'Nome da organização', + admin: 'Administrador', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'A função "Administrador" partilha o mesmo modelo de organização em diferentes organizações.', + member: 'Membro', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'A função "Membro" partilha o mesmo modelo de organização em diferentes organizações.', + guest: 'Visitante', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'A função "Visitante" partilha o mesmo modelo de organização em diferentes organizações.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ - ellipsis: '……', - /** UNTRANSLATED */ + 'Pode criar mais funções nas definições do modelo de organização. Essas funções de organização serão aplicadas a diferentes organizações.', + read_resource: 'ler:recurso', + edit_resource: 'editar:recurso', + delete_resource: 'eliminar:recurso', + ellipsis: '...', johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johny pertence a duas organizações com o email "john@email.com" como único identificador. Ele é administrador da organização A e convidado da organização B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah pertence a uma organização com o email "sarah@email.com" como único identificador. Ela é administradora da organização B.', + tony: 'Tony pertence a uma organização com o email "tony@email.com" como único identificador. Ele é membro da organização C.', }, }; diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/role-details.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/role-details.ts index 0068f6f59..a61282b8d 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/role-details.ts @@ -43,11 +43,9 @@ const role_details = { assign_title: 'Atribuir utilizadores', assign_subtitle: 'Atribua utilizadores a esta função. Encontre utilizadores apropriados pesquisando pelo nome, e-mail, telefone ou ID de utilizador.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Atribuir utilizadores', confirm_assign: 'Atribuir utilizadores', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Os utilizadores selecionados foram atribuídos com sucesso a esta função', empty: 'Nenhum utilizador disponível', }, applications: { @@ -61,11 +59,9 @@ const role_details = { assign_title: 'Atribuir aplicações', assign_subtitle: 'Atribua aplicações a esta função. Encontre aplicações apropriadas pesquisando pelo nome, descrição ou ID da aplicação.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Atribuir aplicações', confirm_assign: 'Atribuir aplicações', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'As aplicações selecionadas foram atribuídas com sucesso a esta função', empty: 'Nenhuma aplicação disponível', }, }; diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts index 179720909..0e2fcb930 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Remover o teu domínio personalizado', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Desativar o seu SSO', }, built_in_email_connector_enabled: { name: 'Conector de e-mail incorporado', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Remova os seus webhooks', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: 'Organização', + limited: 'Organização', + unlimited: 'Organização', + not_eligible: 'Remover as tuas organizações', }, audit_logs_retention_days: { name: 'Conservação de registos de auditoria', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts index 4684c8597..b9b0ff453 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Autenticação do utilizador', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Palavra-passe', passwordless: 'Sem palavra-passe - E-mail e SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Hooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Organização', + organization: 'Organização (Q4, 2023)', }, support: { title: 'Suporte', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/tabs.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/tabs.ts index a788f561b..5a2ca047f 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'Recursos API', sign_in_experience: 'Experiência de login', connectors: 'Conectores', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'SSO empresarial', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizações', users: 'Gestão de utilizadores', audit_logs: 'Registos de auditoria', - roles: 'Papéis', + roles: 'Funções', docs: 'Documentação', - tenant_settings: 'Definições', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: 'Definições do inquilino', + mfa: 'Autenticação multi-fator', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/tenants.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/tenants.ts index a8e73b6a6..55ed0d59a 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/tenants.ts @@ -13,26 +13,22 @@ const tenants = { 'Defina o nome do inquilino e veja a região de hospedagem e a etiqueta do ambiente.', tenant_id: 'ID do Inquilino', tenant_name: 'Nome do Inquilino', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Região de hospedagem', + tenant_region_tip: + 'Os recursos do seu inquilino são hospedados na região {{region}}. Learn more', environment_tag: 'Tag de Ambiente', environment_tag_description: 'As etiquetas não alteram o serviço. Simplesmente guiam-no para diferenciar vários ambientes.', environment_tag_development: 'Dev', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + "O ambiente de desenvolvimento é principalmente utilizado para testes e inclui todos os recursos profissionais, mas têm marcas d'água na experiência de login. Learn more", tenant_info_saved: 'A informação do arrendatário foi guardada com sucesso.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Desenvolvimento', + production: 'Produção', }, deletion_card: { title: 'ELIMINAR', @@ -44,55 +40,40 @@ const tenants = { create_modal: { title: 'Criar inquilino', subtitle: 'Crie um novo inquilino para separar recursos e utilizadores.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Crie um novo inquilino para separar recursos e utilizadores. A região e as etiquetas de ambiente não podem ser modificadas após a criação.', + tenant_usage_purpose: 'Para que pretende utilizar este inquilino?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'O ambiente de desenvolvimento é principalmente utilizado para testes e não deve ser utilizado em ambiente de produção.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'O ambiente de desenvolvimento é principalmente utilizado para testes e não deve ser utilizado em ambiente de produção.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'A produção é onde o software ao vivo é utilizado pelos utilizadores finais e pode exigir uma subscrição paga.', + available_plan: 'Plano disponível:', create_button: 'Criar inquilino', tenant_name_placeholder: 'Meu inquilino', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Agora pode aceder a todas as funcionalidades do Logto Pro no seu inquilino de desenvolvimento!', + allow_pro_features_description: 'É completamente gratuito, sem período de teste - para sempre!', + explore_all_features: 'Explorar todas as funcionalidades', + impact_title: 'Isto tem algum impacto em mim?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'A etiqueta do seu inquilino foi atualizada de "Staging" para "Produção", mas essa alteração não afetará a sua configuração atual.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Ao subscrever o plano Logto Hobby, a sua etiqueta de inquilino "Desenvolvimento" mudará para "Produção", e isso não afetará a sua configuração existente.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Se ainda estiver na fase de desenvolvimento, pode criar um novo inquilino de desenvolvimento para aceder a mais funcionalidades profissionais.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Se estiver na fase de produção, ou num ambiente de produção, ainda precisa subscrever um plano específico, por isso não há nada a fazer neste momento.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Não hesite em contactar-nos se precisar de ajuda! Obrigado por escolher o Logto!', }, delete_modal: { title: 'Eliminar inquilino', description_line1: - 'Tem a certeza de que pretende eliminar o seu inquilino "{{name}}" com a etiqueta de sufixo de ambiente "{{tag}}"? Esta ação não pode ser desfeita e resultará na eliminação permanente de todos os seus dados e informações da conta.', + 'Tem a certeza de que pretende eliminar o seu inquilino "{{name}}" com a etiqueta de ambiente de sufixo "{{tag}}"? Esta ação não pode ser desfeita e resultará na eliminação permanente de todos os seus dados e informações da conta.', description_line2: 'Antes de eliminar a conta, podemos ajudá-lo. Contacte-nos por email', description_line3: @@ -121,67 +102,44 @@ const tenants = { 'Se precisar de mais esclarecimentos, tiver alguma preocupação ou desejar restaurar a funcionalidade completa e desbloquear os seus inquilinos, não hesite em contactar-nos imediatamente.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'CHAVES DE ASSINATURA', + description: 'Gerir de forma segura as chaves de assinatura no seu inquilino.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'Chaves privadas OIDC', + cookie_key: 'Chaves de cookies OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Chaves privadas em uso', + cookie_keys_in_use: 'Chaves de cookies em uso', + rotate_private_keys: 'Rodar chaves privadas', + rotate_cookie_keys: 'Rodar chaves de cookies', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Esta ação criará uma nova chave privada de assinatura, rodará a chave atual e removerá a chave anterior. Os seus tokens JWT assinados com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Esta ação criará uma nova chave de cookie, rodará a chave atual e removerá a chave anterior. Os seus cookies com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.', + select_private_key_algorithm: 'Selecionar o algoritmo de assinatura para a nova chave privada', + rotate_button: 'Rodar', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: 'Estado', + algorithm: 'Algoritmo de assinatura da chave', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Atual', + previous: 'Anterior', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Tem a certeza de que pretende rodar as chaves privadas OIDC? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até rodar novamente.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Tem a certeza de que pretende rodar as chaves de cookies OIDC? Os novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até rodar novamente.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Tem a certeza de que pretende eliminar a chave privada OIDC? Os tokens JWT existentes assinados com esta chave de assinatura privada deixarão de ser válidos.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Tem a certeza de que pretende eliminar a chave de cookie OIDC? As sessões de login antigas com cookies assinados com esta chave de cookie deixarão de ser válidas. É necessária uma nova autenticação para estes utilizadores.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Chaves de assinatura rodadas com sucesso.', + delete_key_success: 'Chave eliminada com sucesso.', }, }, }; diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/upsell/paywall.ts index 27e56e0d8..5124ecaac 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/upsell/paywall.ts @@ -1,11 +1,10 @@ const paywall = { applications: - 'Limite de {{count, number}} aplicação do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', + 'Limite de {{count, number}} aplicação do atingido. Atualize o plano para atender às necessidades da sua equipa. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', applications_other: - 'Limite de {{count, number}} aplicações do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', - /** UNTRANSLATED */ + 'Limite de {{count, number}} aplicações do atingido. Atualize o plano para atender às necessidades da sua equipa. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Upgrade para o plano Hobby para desbloquear 1 aplicação de máquina a máquina, ou escolha o plano Pro para uso ilimitado. Para qualquer assistência, não hesite em entrar em contato conosco.', machine_to_machine: 'Limite de {{count, number}} aplicação de máquina a máquina do atingido. Atualize o plano para atender às necessidades da sua equipe. Para obter qualquer ajuda, sinta-se à vontade para entrar em contato conosco.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Atingiu o limite de {{count, number}} permissões por recurso de API de . Atualize agora para expandir. Contacte-nos se precisar de assistência.', scopes_per_resource_other: 'Atingiu o limite de {{count, number}} permissões por recurso de API de . Atualize agora para expandir. Contacte-nos se precisar de assistência.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Desbloqueie a funcionalidade de domínio personalizado ao atualizar para o plano Hobby ou Pro. Não hesite em entrar em contato conosco se precisar de qualquer assistência.', social_connectors: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', social_connectors_other: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Upgrade para os planos Hobby ou Pro para criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML, além de conectores sociais ilimitados e todos os recursos premium. Sinta-se à vontade para entrar em contato conosco se precisar de qualquer assistência.', standard_connectors: 'Atingiu o limite de {{count, number}} conectores sociais de . Atualize o plano para obter conectores sociais adicionais e a capacidade de criar os seus próprios conectores usando os protocolos OIDC, OAuth 2.0 e SAML. Não hesite em Contacte-nos se precisar de ajuda.', standard_connectors_other: diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/user-details.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/user-details.ts index 37d5251c5..a122a52e8 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/user-details.ts @@ -22,14 +22,11 @@ const user_details = { tab_settings: 'Definições', tab_roles: 'Funções', tab_logs: 'Registos do utilizador', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizações', + authentication: 'Autenticação', authentication_description: 'Cada utilizador tem um perfil que contém todas as informações do utilizador. Consiste em dados básicos, identidades sociais e dados personalizados.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Perfil de utilizador', field_email: 'Endereço de email', field_phone: 'Número de telefone', field_username: 'Nome de utilizador', @@ -40,30 +37,24 @@ const user_details = { field_custom_data_tip: 'Informações adicionais do utilizador não listadas nas propriedades predefinidas, ex: idioma preferido pelo utilizador.', field_connectors: 'Conexões sociais', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Conexões empresariais', custom_data_invalid: 'Os dados personalizados devem ser um objeto JSON válido', connectors: { connectors: 'Conectores', user_id: 'ID do utilizador', remove: 'Remover', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Este utilizador está conectado a múltiplos conectores sociais.', not_connected: 'O utilizador não está conectado a nenhum conector social', deletion_confirmation: 'Está a remover a identidade existente . Tem a certeza de que deseja continuar?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Conetores', + enterprise_id: 'ID da empresa', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Este utilizador está conectado a múltiplos provedores de identidade empresarial para Início de Sessão Único.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'O utilizador não está conectado a nenhum provedor de identidade empresarial para Início de Sessão Único.', }, mfa: { field_name: 'Autenticação de dois fatores', @@ -104,8 +95,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'O utilizador precisa de ter pelo menos um dos identificadores de início de sessão (nome de utilizador, e-mail, número de telefone ou redes sociais) para iniciar sessão. Tem a certeza de que quer continuar?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'As funções atribuídas ao utilizador dentro desta organização.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/webhooks.ts index 957f4ad7f..2b31db562 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/webhooks.ts @@ -31,9 +31,8 @@ const webhooks = { name_placeholder: 'Digite o nome do webhook', endpoint_url: 'URL do ponto final', endpoint_url_placeholder: 'https://seu.url.de.ponto.final/webhook', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Digite o URL do seu ponto final para onde o payload do webhook é enviado quando o evento ocorre.', create_webhook: 'Criar webhook', missing_event_error: 'Você deve selecionar pelo menos um evento.', }, diff --git a/packages/phrases/src/locales/ru/errors/entity.ts b/packages/phrases/src/locales/ru/errors/entity.ts index aa75e132b..9a43019ba 100644 --- a/packages/phrases/src/locales/ru/errors/entity.ts +++ b/packages/phrases/src/locales/ru/errors/entity.ts @@ -3,13 +3,12 @@ const entity = { create_failed: 'Не удалось создать {{name}}.', db_constraint_violated: 'Нарушено ограничение базы данных.', not_exists: '{{name}} не существует.', - not_exists_with_id: '{{name}} с ID `{{id}}` не существует.', + not_exists_with_id: "{{name}} с ID '{{id}}' не существует.", not_found: 'Ресурс не существует.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Не удается найти один или несколько внешних ключей. Пожалуйста, проверьте ввод и убедитесь, что все ссылочные сущности существуют.', + unique_integrity_violation: + 'Сущность уже существует. Пожалуйста, проверьте ввод и попробуйте снова.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/ru/errors/oidc.ts b/packages/phrases/src/locales/ru/errors/oidc.ts index aa92d0f8a..b26445b41 100644 --- a/packages/phrases/src/locales/ru/errors/oidc.ts +++ b/packages/phrases/src/locales/ru/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: 'Конечный пользователь прервал взаимодействие.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: 'Недопустимая область: {{error_description}}.', invalid_token: 'Недействительный токен.', invalid_client_metadata: 'Недопустимые метаданные клиента.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Отсутствует область токена `{{scope}}`.', invalid_request: 'Недопустимый запрос.', invalid_grant: 'Недопустимый запрос на предоставление прав.', invalid_redirect_uri: @@ -16,14 +14,10 @@ const oidc = { unsupported_response_mode: 'Запрошенный response_mode не поддерживается.', unsupported_response_type: 'Запрошенный response_type не поддерживается.', provider_error: 'Внутренняя ошибка OIDC: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Произошла неизвестная ошибка OIDC. Пожалуйста, попробуйте снова позже.', + provider_error_fallback: 'Произошла ошибка OIDC: {{code}}.', + key_required: 'Требуется как минимум один ключ.', + key_not_found: 'Ключ с идентификатором {{id}} не найден.', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/ru/errors/organization.ts b/packages/phrases/src/locales/ru/errors/organization.ts index 2752f71f9..fbb8f94b8 100644 --- a/packages/phrases/src/locales/ru/errors/organization.ts +++ b/packages/phrases/src/locales/ru/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'Пользователь должен быть участником организации, чтобы продолжить.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/ru/errors/session.ts b/packages/phrases/src/locales/ru/errors/session.ts index e6e4a5f55..ac4e0d059 100644 --- a/packages/phrases/src/locales/ru/errors/session.ts +++ b/packages/phrases/src/locales/ru/errors/session.ts @@ -10,9 +10,8 @@ const session = { 'Верификация не прошла успешно. Перезапустите процесс верификации и попробуйте еще раз.', verification_expired: 'Соединение истекло. Повторите верификацию, чтобы обеспечить безопасность вашей учетной записи.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + 'Слишком много попыток за короткое время. Пожалуйста, попробуйте снова {{relativeTime}}.', unauthorized: 'Сначала войдите в систему.', unsupported_prompt_name: 'Неподдерживаемое имя подсказки.', forgot_password_not_enabled: 'Забыли пароль не включен.', @@ -22,31 +21,21 @@ const session = { identifier_not_found: 'Идентификатор пользователя не найден. Вернитесь и войдите в систему снова.', interaction_not_found: 'Сессия взаимодействия не найдена. Вернитесь и начните сессию заново.', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: 'Эта операция не поддерживается для забытого пароля.', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: 'Требуется проверка MFA для входа в систему.', + mfa_sign_in_only: 'Mfa доступен только для взаимодействия при входе в систему.', + pending_info_not_found: + 'Информация о ожидающем MFA не найдена, пожалуйста, сначала инициируйте MFA.', + invalid_totp_code: 'Недействительный код TOTP.', + webauthn_verification_failed: ' Проверка WebAuthn не удалась.', + webauthn_verification_not_found: 'Проверка WebAuthn не найдена.', + bind_mfa_existed: 'MFA уже существует.', + backup_code_can_not_be_alone: 'Резервный код не может быть единственным MFA.', + backup_code_required: 'Требуется резервный код.', + invalid_backup_code: 'Недействительный резервный код.', + mfa_policy_not_user_controlled: + 'Политика многофакторной аутентификации не контролируется пользователем.', }, sso_enabled: 'Единый вход в систему включен для этого указанного адреса электронной почты. Войдите в систему с помощью SSO.', diff --git a/packages/phrases/src/locales/ru/errors/single-sign-on.ts b/packages/phrases/src/locales/ru/errors/single-sign-on.ts index 4950a49e2..41c6e3fd3 100644 --- a/packages/phrases/src/locales/ru/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/ru/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Недопустимы публичные домены электронной почты.', + duplicated_domains: 'Есть дублирующиеся домены.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/ru/errors/user.ts b/packages/phrases/src/locales/ru/errors/user.ts index 35391dcdb..672c3a1c0 100644 --- a/packages/phrases/src/locales/ru/errors/user.ts +++ b/packages/phrases/src/locales/ru/errors/user.ts @@ -30,11 +30,8 @@ const user = { missing_profile: 'Вы должны предоставить дополнительную информацию перед входом в систему.', role_exists: 'Идентификатор роли {{roleId}} уже добавлен в этого пользователя', invalid_role_type: 'Недопустимый тип роли, роль машины к машине нельзя назначить пользователю.', - /** UNTRANSLATED */ missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ backup_code_already_in_use: 'Backup code is already in use.', }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/ru/translation/admin-console/api-resource-details.ts index 995385b13..f4816e0eb 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'Ресурсы API, также известные как индикаторы ресурсов, указывают целевые службы или ресурсы, запрашиваемые обычно в виде переменной формата URI, представляющей идентификатор ресурса.', management_api_settings_description: 'Logto Management API - это комплексный набор API, который дает администраторам возможность управлять широким спектром задач, связанных с идентификацией, обеспечивать политику безопасности и соблюдать требования и стандарты.', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + 'Этот API представляет сущность Logto и не может быть изменен или удален. Вы можете использовать управляющий API для широкого спектра задач, связанных с идентификацией. Узнать больше', token_expiration_time_in_seconds: 'Время истечения токена (в секундах)', token_expiration_time_in_seconds_placeholder: 'Введите время истечения вашего токена', delete_description: diff --git a/packages/phrases/src/locales/ru/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ru/translation/admin-console/application-details.ts index 3293fd660..182b6962d 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/application-details.ts @@ -17,18 +17,18 @@ const application_details = { config_endpoint: 'Конечная точка конфигурации OpenID Provider', authorization_endpoint: 'Конечная точка авторизации', authorization_endpoint_tip: - 'Конечная точка для аутентификации и авторизации. Он используется для аутентификации OpenID Connect .', + 'Конечная точка для аутентификации и авторизации. Он используется для аутентификации OpenID Connect.', logto_endpoint: 'Logto endpoint', application_id: 'ID приложения', application_id_tip: - 'Уникальный идентификатор приложения, обычно генерируемый Logto. Он также означает « client_id » в OpenID Connect.', + 'Уникальный идентификатор приложения, обычно генерируемый Logto. Он также означает «client_id» в OpenID Connect.', application_secret: 'Секрет приложения', redirect_uri: 'URI перенаправления', redirect_uris: 'URI перенаправления', redirect_uri_placeholder: 'https://ваш.вебсайт.com/приложение', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - 'URI перенаправляется после входа пользователя (успешного или нет). См. OpenID Connect AuthRequest для получения дополнительной информации.', + 'URI перенаправляется после входа пользователя (успешного или нет). См. OpenID Connect AuthRequest для получения дополнительной информации.', post_sign_out_redirect_uri: 'URI перенаправления после выхода из системы', post_sign_out_redirect_uris: 'URI перенаправления после выхода из системы', post_sign_out_redirect_uri_placeholder: 'https://ваш.вебсайт.com/домашняя страница', @@ -37,7 +37,7 @@ const application_details = { cors_allowed_origins: 'Разрешенные источники CORS', cors_allowed_origins_placeholder: 'https://ваш.вебсайт.com', cors_allowed_origins_tip: - 'По умолчанию разрешены все источники URI перенаправления. Обычно для этого поля не требуется никаких действий. См. Документацию MDN для получения подробной информации.', + 'По умолчанию разрешены все источники URI перенаправления. Обычно для этого поля не требуется никаких действий. См. Документацию MDN для получения подробной информации.', token_endpoint: 'Конечная точка токена', user_info_endpoint: 'Конечная точка информации о пользователе', enable_admin_access: 'Включить доступ администратора', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/ru/translation/admin-console/enterprise-sso.ts index a938e55e1..b09cedb53 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'Единый вход в предприятие', + title: 'Единый вход в предприятие', + subtitle: + 'Подключите поставщика идентификации предприятия и включите одностороннюю аутентификацию с инициацией службы.', + create: 'Добавить предприятий коннектор', + col_connector_name: 'Имя коннектора', + col_type: 'Тип', + col_email_domain: 'Домен электронной почты', + col_status: 'Статус', + col_status_in_use: 'Используется', + col_status_invalid: 'Недопустимый', + placeholder_title: 'Коннектор предприятия', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto предоставил множество встроенных поставщиков идентификации предприятия для подключения, тем временем вы можете создать своего с использованием стандартных протоколов.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Добавить коннектор предприятия', + text_divider: 'Или вы можете настроить свой коннектор по стандартному протоколу.', + connector_name_field_title: 'Имя коннектора', + connector_name_field_placeholder: 'Имя для поставщика идентификации предприятия', + create_button_text: 'Создать коннектор', }, }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/general.ts b/packages/phrases/src/locales/ru/translation/admin-console/general.ts index 27a4262a9..c59fa5604 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Скопировано', required: 'Обязательное', add_another: 'Добавить ещё', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Создать ещё', deletion_confirmation: 'Вы действительно хотите удалить этот {{title}}?', settings_nav: 'Настройки', unsaved_changes_warning: 'Вы внесли изменения. Вы действительно хотите покинуть эту страницу?', @@ -59,22 +58,15 @@ const general = { unknown_error: 'Неизвестная ошибка, пожалуйста, попробуйте позже.', select: 'Выбрать', contact_us_action: 'Связаться с нами', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Описание', + name: 'Имя', + add_field: 'Добавить {{field}}', + create_field: 'Создать {{field}}', + edit_field: 'Изменить {{field}}', + delete_field: 'Удалить {{field}}', coming_soon: 'Скоро', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} сейчас находится в бета-тестировании. Добро пожаловать, чтобы изучить его и поделиться своими отзывами.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/ru/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/ru/translation/admin-console/organization-details.ts index 3a2a5a8ad..36d98946b 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/organization-details.ts @@ -1,46 +1,28 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Детали организации', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'После удаления все участники потеряют свою членство и роли в данной организации. Это действие нельзя отменить.', + organization_id: 'Идентификатор организации', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Организация - это группа идентификаторов (обычно пользователей), которые распознаются по общему идентификатору.\n\nУ каждой организации есть свой набор участников, ролей и разрешений, при этом роли и разрешения определяются шаблоном организации.', + name_placeholder: 'Название организации, не обязательно должно быть уникальным.', + description_placeholder: 'Описание организации.', + member: 'Участник', + member_other: 'Участники', + add_members_to_organization: 'Добавить участников в организацию {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'Найдите подходящих пользователей, выполнив поиск по имени, электронной почте, телефону или идентификатору пользователя. Существующие участники не отображаются в результатах поиска.', + add_with_organization_role: 'Добавить с ролями организации', + user: 'Пользователь', + authorize_to_roles: 'Разрешить {{name}} доступ к следующим ролям:', + edit_organization_roles: 'Редактирование ролей организации', + edit_organization_roles_of_user: 'Редактирование ролей организации для {{name}}', + remove_user_from_organization: 'Удалить пользователя из организации', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'После удаления пользователь потеряет свое членство и роли в этой организации. Это действие нельзя отменить.', + search_user_placeholder: + 'Поиск по имени, электронной почте, телефону или идентификатору пользователя', + at_least_one_user: 'Необходимо указать хотя бы одного пользователя.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts b/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts index d6f9220af..2424be39f 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts @@ -1,163 +1,97 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ + page_title: 'Организации', + title: 'Организации', subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + 'Представляют команды, бизнес-клиентов и партнерские компании, которые получают доступ к вашим приложениям в качестве организаций.', + organization_id: 'Идентификатор организации', + members: 'Участники', + create_organization: 'Создать организацию', + setup_organization: 'Настройка вашей организации', + organization_list_placeholder_title: 'Организация', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'Организация обычно используется в приложениях с мультиарендой или похожих на мультиаренду SaaS. Функция "Организации" позволяет вашим B2B-клиентам лучше управлять своими партнерами и клиентами, а также настраивать способы доступа конечных пользователей к их приложениям.', + organization_name_placeholder: 'Моя организация', + organization_description_placeholder: 'Краткое описание организации', + organization_permission: 'Разрешение организации', + organization_permission_other: 'Разрешения организации', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Разрешение организации относится к разрешению доступа к ресурсу в контексте организации. Разрешение организации должно быть представлено в виде осмысленной строки и также служить именем и уникальным идентификатором.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Если это разрешение будет удалено, все роли организации, включая это разрешение, потеряют это разрешение, и пользователи, у которых было это разрешение, потеряют предоставленный им доступ к нему.', + create_permission_placeholder: 'Чтение истории назначений', + permission: 'Разрешение', + permission_other: 'Разрешения', + organization_role: 'Роль организации', + organization_role_other: 'Роли организации', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'Роль организации - это группировка разрешений, которые могут быть назначены пользователям. Разрешения должны быть взяты из предопределенных разрешений организации.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'При этом будут удалены разрешения, связанные с этой ролью, у затронутых пользователей, и будут удалены отношения между ролями организации, участниками в организации и разрешениями организации.', + role: 'Роль', + create_role_placeholder: 'Пользователи с правами только для просмотра', + search_placeholder: 'Поиск по названию организации или ID', + search_permission_placeholder: 'Начните вводить для поиска и выбора разрешений', + search_role_placeholder: 'Начните вводить для поиска и выбора ролей', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Начать с руководств', + subtitle: 'Запустите процесс разработки вашего приложения с нашими руководствами', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: 'Сначала разберемся, как работают организации в Logto', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'В многомандатных SaaS-приложениях мы часто создаем несколько организаций с одним и тем же набором разрешений и ролей, но в контексте организации это может играть важную роль в управлении различными уровнями доступа. Подумайте о каждом арендаторе, как о организации Logto, и они естественным образом делят один и тот же шаблон управления доступом. Мы называем это "шаблоном организации".', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'Шаблон организации состоит из двух частей', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Разрешение организации относится к разрешению доступа к ресурсу в контексте организации. Разрешение организации должно быть представлено в виде осмысленной строки и также служить именем и уникальным идентификатором.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'Роль организации - это группировка разрешений, которые могут быть назначены пользователям. Разрешения должны быть взяты из предопределенных разрешений организации.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Взаимодействие с иллюстрацией для просмотра связей', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Давайте рассмотрим пример. Джон, Сара и Тони находятся в разных организациях с различными ролями в контексте разных организаций. Наведитесь на различные модули и посмотрите, что происходит.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Шаг 1: Определите разрешения организаций', + step_2: 'Шаг 2: Определите роли организаций', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Роли организаций" представляют собой набор ролей, предоставленных каждой организации с самого начала. Эти роли определяются глобальными разрешениями, установленными на предыдущем экране. Как и с разрешением организации, когда вы закончите эту настройку в первый раз, вам не потребуется делать это каждый раз, когда вы создаете новую организацию.', + step_3: 'Шаг 3: Создайте свою первую организацию', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'Давайте создадим вашу первую организацию. Она поставляется с уникальным идентификатором и служит контейнером для обработки различных более бизнес-направленных идентификаторов, таких как партнеры, клиенты и их контроль доступа.', + more_next_steps: 'Еще шаги', + add_members: 'Добавить участников в вашу организацию', + add_members_action: 'Массовое добавление участников и назначение ролей', + add_enterprise_connector: 'Добавить корпоративную SSO', + add_enterprise_connector_action: 'Настройте корпоративную SSO', + organization_permissions: 'Разрешения организации', + permission_name: 'Название разрешения', + permissions: 'Разрешения', + organization_roles: 'Роли организации', + role_name: 'Название роли', + organization_name: 'Название организации', + admin: 'Администратор', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Роль "Администратор" использует тот же шаблон организации в различных организациях.', + member: 'Участник', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Роль "Участник" использует тот же шаблон организации в различных организациях.', + guest: 'Гость', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Роль "Гость" использует тот же шаблон организации в различных организациях.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + 'Вы можете создавать дополнительные роли в настройках шаблона организации. Эти роли организации будут применяться в различных организациях.', + read_resource: 'чтение:ресурс', + edit_resource: 'редактирование:ресурс', + delete_resource: 'удаление:ресурс', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Джонни принадлежит к двум организациям с адресом электронной почты "john@email.com" в качестве единственного идентификатора. Он является администратором организации А, а также гостем организации B.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Сара принадлежит одной организации с адресом электронной почты "sarah@email.com" в качестве единственного идентификатора. Она является администратором организации Б.', + tony: 'Тони принадлежит одной организации с адресом электронной почты "tony@email.com" в качестве единственного идентификатора. Он является участником организации C.', }, }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/role-details.ts b/packages/phrases/src/locales/ru/translation/admin-console/role-details.ts index 06c66297a..1b9db8981 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/role-details.ts @@ -43,10 +43,8 @@ const role_details = { assign_title: 'Назначить пользователей', assign_subtitle: 'Назначить пользователей на эту роль. Найдите подходящих пользователей, используя поиск по имени, электронной почте, номеру телефона или идентификатору пользователя.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Назначить пользователей', confirm_assign: 'Назначить пользователей', - /** UNTRANSLATED */ assigned_toast_text: 'The selected users were successfully assigned to this role', empty: 'Нет доступных пользователей', }, @@ -61,10 +59,8 @@ const role_details = { assign_title: 'Назначить приложения', assign_subtitle: 'Назначить приложения на эту роль. Найдите подходящие приложения, используя поиск по имени, описанию или идентификатору приложения.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Назначить приложения', confirm_assign: 'Назначить приложения', - /** UNTRANSLATED */ assigned_toast_text: 'The selected applications were successfully assigned to this role', empty: 'Нет доступных приложений', }, diff --git a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts index 4cf3ade11..5bf5a27ee 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: 'Удалите свой пользовательский домен', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: 'Отключите свой SSO', }, built_in_email_connector_enabled: { name: 'Встроенный электронный коннектор', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: 'Удалите ваши вебхуки', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Удалите свои организации', }, audit_logs_retention_days: { name: 'Время хранения аудит-логов', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts index a4484e6f9..24251a826 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts @@ -26,7 +26,6 @@ const quota_table = { }, user_authn: { title: 'Проверка подлинности пользователя', - /** UNTRANSLATED */ omni_sign_in: 'Enterprise SSO (Q4, 2023)', password: 'Пароль', passwordless: 'Без пароля - Электронная почта и SMS', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Вебхуки', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: 'Организация', + organization: 'Организация (Q4, 2023)', }, support: { title: 'Поддержка', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/tabs.ts b/packages/phrases/src/locales/ru/translation/admin-console/tabs.ts index 5c33a5d1b..28b15b2d8 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/tabs.ts @@ -5,17 +5,14 @@ const tabs = { api_resources: 'Ресурсы API', sign_in_experience: 'Опыт входа в систему', connectors: 'Коннекторы', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'Единый вход в систему предприятия', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Организации', users: 'Управление пользователями', audit_logs: 'Журналы аудита', roles: 'Роли', docs: 'Документация', tenant_settings: 'Настройки', - /** UNTRANSLATED */ mfa: 'Multi-factor auth', }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/tenants.ts b/packages/phrases/src/locales/ru/translation/admin-console/tenants.ts index d45bb5e80..13885ff3d 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/tenants.ts @@ -12,26 +12,21 @@ const tenants = { description: 'Установите имя арендатора и просмотрите регион размещения данных и метку среды.', tenant_id: 'ID арендатора', tenant_name: 'Имя арендатора', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Регион размещения данных', + tenant_region_tip: 'Ваши ресурсы арендатора размещаются в {{region}}. Узнайте больше', environment_tag: 'Тег окружения', environment_tag_description: 'Теги не изменяют сервис. Они просто помогают отличать различные среды.', environment_tag_development: 'Разр', environment_tag_staging: 'Предпр', environment_tag_production: 'Прод', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + 'Среда разработки в основном используется для тестирования и включает все профессиональные функции, но содержит водяные знаки при входе. Узнайте больше', tenant_info_saved: 'Информация о квартиросъемщике успешно сохранена.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Разработка', + production: 'Производство', }, deletion_card: { title: 'УДАЛИТЬ', @@ -43,50 +38,35 @@ const tenants = { create_modal: { title: 'Создать арендатора', subtitle: 'Создайте нового арендатора для разделения ресурсов и пользователей.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Создайте новый арендатор для разделения ресурсов и пользователей. Регион и теги среды не могут быть изменены после создания.', + tenant_usage_purpose: 'Для чего вы хотите использовать этот арендатор?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Среда разработки в основном используется для тестирования и не должна использоваться в производственной среде.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Среда разработки в основном используется для тестирования и не должна использоваться в производственной среде.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Производство - это место, где живое программное обеспечение используется конечными пользователями и может потребовать платной подписки.', + available_plan: 'Доступный план:', create_button: 'Создать арендатора', tenant_name_placeholder: 'Мой арендатор', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + 'Теперь вы можете получить все функции Logto Pro в своем арендаторе разработки!', + allow_pro_features_description: 'Это абсолютно бесплатно, без испытательного срока - навсегда!', + explore_all_features: 'Изучить все функции', + impact_title: 'Это повлияет на меня как-то?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Ваша метка арендатора была обновлена с "Staging" на "Production", но это изменение не повлияет на вашу текущую настройку.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Когда вы подписываетесь на план Logto Hobby, ваша предыдущая метка арендатора "Разработка" переключится на "Производство", и это не повлияет на вашу существующую настройку.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Если вы все еще находитесь в стадии разработки, вы можете создать новый арендатор разработки для доступа к дополнительным профессиональным функциям.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Если вы находитесь в стадии производства или в производственной среде, вам все равно нужно подписаться на определенный план, поэтому сейчас необходимо ничего делать.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + 'Не стесняйтесь обращаться, если вам нужна помощь! Спасибо, что выбрали Logto!', }, delete_modal: { title: 'Удалить арендатора', @@ -120,67 +100,44 @@ const tenants = { 'Если вам нужна дополнительная информация или у вас возникли какие-либо вопросы или вы хотите восстановить полную функциональность и разблокировать своих арендаторов, не стесняйтесь немедленно связаться с нами.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'УПРАВЛЕНИЕ КЛЮЧАМИ ПОДПИСИ', + description: 'Безопасное управление ключами подписи в вашем арендаторе.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC закрытые ключи', + cookie_key: 'Ключи cookie OIDC', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Используемые закрытые ключи', + cookie_keys_in_use: 'Используемые ключи cookie', + rotate_private_keys: 'Повернуть закрытые ключи', + rotate_cookie_keys: 'Повернуть ключи cookie', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Это действие создаст новый закрытый ключ подписи, повернет текущий ключ и удалит предыдущий. Ваши JWT-токены, подписанные текущим ключом, останутся действительными до удаления или следующего раунда поворота.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Это действие создаст новый ключ cookie, повернет текущий ключ и удалит предыдущий. Ваши файлы cookie с текущим ключом останутся действительными до удаления или следующего раунда поворота.', + select_private_key_algorithm: 'Выберите алгоритм подписи ключа для нового закрытого ключа', + rotate_button: 'Повернуть', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: 'Статус', + algorithm: 'Алгоритм подписи ключа', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Текущий', + previous: 'Предыдущий', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Вы уверены, что хотите повернуть OIDC закрытые ключи? Новые выданные JWT-токены будут подписаны новым ключом. Существующие JWT-токены останутся действительными до следующего поворота.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'Вы уверены, что хотите повернуть Ключи cookie OIDC? Новые файлы cookie, созданные в сеансах входа в систему, будут подписаны новым ключом cookie. Существующие файлы cookie останутся действительными до следующего поворота.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'Вы уверены, что хотите удалить OIDC закрытый ключ? Существующие JWT-токены, подписанные этим закрытым ключом, больше не будут действительными.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'Вы уверены, что хотите удалить Ключ cookie OIDC? Более старые сеансы входа в систему с файлами cookie, подписанными этим ключом cookie, больше не будут действительными. Для этих пользователей требуется повторная авторизация.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'Ключи подписи успешно повернуты.', + delete_key_success: 'Ключ успешно удален.', }, }, }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/ru/translation/admin-console/upsell/paywall.ts index 7de8d9f36..cfb7de5d1 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { 'Достигнут лимит {{count, number}} приложения(й) для . Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь связаться с нами.', applications_other: 'Достигнут лимит {{count, number}} приложений для . Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь связаться с нами.', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + 'Обновите план до Hobby, чтобы разблокировать 1 машинное приложение, или выберите план Pro для неограниченного использования. При необходимости помощи, не стесняйтесь связаться с нами.', machine_to_machine: 'Достигнут лимит {{count, number}} машинных приложений для . Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь связаться с нами.', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { 'Достигнут лимит {{count, number}} разрешений на ресурс API в плане . Повысьте план, чтобы увеличить количество разрешений. Свяжитесь с нами для получения помощи.', scopes_per_resource_other: 'Достигнут лимит {{count, number}} разрешений на ресурс API в плане . Повысьте план, чтобы увеличить количество разрешений. Свяжитесь с нами для получения помощи.', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + 'Разблокируйте функцию настраиваемого домена, обновив план до Hobby или Pro. Не стесняйтесь связаться с нами, если вам нужна помощь.', social_connectors: 'Достигнут лимит {{count, number}} социальных коннекторов в плане . Для удовлетворения потребностей вашей команды повысьте план, чтобы получить дополнительные социальные коннекторы и возможность создания собственных коннекторов с использованием протоколов OIDC, OAuth 2.0 и SAML. Если вам нужна помощь, не стесняйтесь связаться с нами.', social_connectors_other: 'Достигнут лимит {{count, number}} социальных коннекторов в плане . Для удовлетворения потребностей вашей команды повысьте план, чтобы получить дополнительные социальные коннекторы и возможность создания собственных коннекторов с использованием протоколов OIDC, OAuth 2.0 и SAML. Если вам нужна помощь, не стесняйтесь связаться с нами.', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + 'Обновите план до Hobby или Pro, чтобы создавать собственные коннекторы с использованием протоколов OIDC, OAuth 2.0 и SAML, а также получить неограниченное количество социальных коннекторов и все премиальные функции. Не стесняйтесь связаться с нами, если вам нужна помощь.', standard_connectors: 'Достигнут лимит {{count, number}} социальных коннекторов в плане . Для удовлетворения потребностей вашей команды повысьте план, чтобы получить дополнительные социальные коннекторы и возможность создания собственных коннекторов с использованием протоколов OIDC, OAuth 2.0 и SAML. Если вам нужна помощь, не стесняйтесь связаться с нами.', standard_connectors_other: diff --git a/packages/phrases/src/locales/ru/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ru/translation/admin-console/user-details.ts index 37cbb542e..90b8aceb8 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: 'Настройки', tab_roles: 'Роли', tab_logs: 'Журналы пользователя', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Организации', + authentication: 'Аутентификация', authentication_description: 'У каждого пользователя есть профиль, содержащий всю информацию о пользователе. Он состоит из основных данных, социальных идентификаторов и пользовательских данных.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Профиль пользователя', field_email: 'Адрес электронной почты', field_phone: 'Номер телефона', field_username: 'Имя пользователя', @@ -38,30 +35,24 @@ const user_details = { field_custom_data_tip: 'Дополнительная информация о пользователе, не указанная в заранее определенных свойствах пользователя, таких как предпочтительный цвет и язык пользователя.', field_connectors: 'Социальные подключения', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'Корпоративные подключения', custom_data_invalid: 'Пользовательские данные должны быть допустимым JSON-объектом', connectors: { connectors: 'Подключения', user_id: 'ID пользователя', remove: 'Удалить', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Этот пользователь подключен к нескольким социальным подключениям.', not_connected: 'Пользователь не подключен к социальным подключениям', deletion_confirmation: 'Вы удаляете существующую личность . Вы уверены, что хотите продолжить?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Подключения', + enterprise_id: 'ID корпорации', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Этот пользователь подключен к нескольким поставщикам корпоративной идентификации для однократного входа.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'Пользователь не подключен к поставщикам корпоративного идентификатора для однократного входа.', }, mfa: { field_name: 'Двухфакторная аутентификация', @@ -102,8 +93,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'Пользователь должен иметь хотя бы один из идентификаторов входа (имя пользователя, электронная почта, номер телефона или социальная сеть), чтобы войти. Вы уверены, что хотите продолжить?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'Роли, назначенные пользователю в этой организации.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts index d1c5d71b0..40b98de17 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts @@ -32,9 +32,8 @@ const webhooks = { name_placeholder: 'Введите имя вебхука', endpoint_url: 'URL-адрес конечной точки', endpoint_url_placeholder: 'https://ваш.url.адрес.вебхука', - /** UNTRANSLATED */ endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Введите URL вашей конечной точки, на который будет отправлено тело вебхука, когда произойдет событие.', create_webhook: 'Создать вебхук', missing_event_error: 'Вы должны выбрать как минимум одно событие.', }, diff --git a/packages/phrases/src/locales/tr-tr/errors/entity.ts b/packages/phrases/src/locales/tr-tr/errors/entity.ts index 03adf8f94..f30cfb8ce 100644 --- a/packages/phrases/src/locales/tr-tr/errors/entity.ts +++ b/packages/phrases/src/locales/tr-tr/errors/entity.ts @@ -5,11 +5,9 @@ const entity = { not_exists: '{{name}} mevcut değil.', not_exists_with_id: ' `{{id}}` id kimliğine sahip {{name}} mevcut değil.', not_found: 'Kaynak mevcut değil.', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ - unique_integrity_violation: 'The entity already exists. Please check the input and try again.', + 'Bir veya daha fazla yabancı anahtar bulunamıyor. Lütfen girişi kontrol edin ve tüm referans edilen varlıkların var olduğundan emin olun.', + unique_integrity_violation: 'Varlık zaten mevcut. Lütfen girişi kontrol edin ve tekrar deneyin.', }; export default Object.freeze(entity); diff --git a/packages/phrases/src/locales/tr-tr/errors/oidc.ts b/packages/phrases/src/locales/tr-tr/errors/oidc.ts index 2d5a877a2..ef1dcfd29 100644 --- a/packages/phrases/src/locales/tr-tr/errors/oidc.ts +++ b/packages/phrases/src/locales/tr-tr/errors/oidc.ts @@ -1,29 +1,23 @@ const oidc = { aborted: 'Son kullanıcı etkileşimi iptal etti.', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', - invalid_token: 'Sağlanan token geçersiz.', - invalid_client_metadata: 'Sağlanan müşteri metadatası geçersiz.', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', - invalid_request: 'İstek geçersiz.', - invalid_grant: 'Hibe talebi geçersiz.', + invalid_scope: 'Kapsam geçersiz: {{error_description}}.', + invalid_token: 'Sağlanan belirteç geçersiz.', + invalid_client_metadata: 'Sağlanan istemci meta verisi geçersiz.', + insufficient_scope: "Token'ın `{{scope}}` kapsamı eksik.", + invalid_request: 'Geçersiz istek.', + invalid_grant: 'Geçersiz hibe.', invalid_redirect_uri: - '`redirect_uri` müşterilerin kayıtlı `redirect_uris` Lerinin hiçbiri ile eşleşmedi', - access_denied: 'Erişim engellendi.', - invalid_target: 'Geçersiz kaynak göstergesi.', - unsupported_grant_type: 'Desteklenmeyen `grant_type` istendi.', - unsupported_response_mode: 'Desteklenmeye `response_mode` istendi.', - unsupported_response_type: 'Desteklenmeyen `response_type` istendi.', + "Sağlanan `redirect_uri`, istemcilerin kayıtlı `redirect_uris`'lerinden hiçbiriyle eşleşmiyor", + access_denied: 'Erişim reddedildi.', + invalid_target: 'Geçersiz hedef.', + unsupported_grant_type: 'Desteklenmeyen `grant_type` isteği.', + unsupported_response_mode: 'Desteklenmeyen `response_mode` isteği.', + unsupported_response_type: 'Desteklenmeyen `response_type` isteği.', provider_error: 'Dahili OIDC Hatası: {{message}}.', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: 'Bilinmeyen bir OIDC hatası oluştu. Lütfen daha sonra tekrar deneyin.', + provider_error_fallback: 'Bir OIDC hatası oluştu: {{code}}.', + key_required: 'En az bir anahtar gereklidir.', + key_not_found: "ID'si {{id}} olan anahtar bulunamadı.", }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/tr-tr/errors/organization.ts b/packages/phrases/src/locales/tr-tr/errors/organization.ts index 2752f71f9..475d26dfd 100644 --- a/packages/phrases/src/locales/tr-tr/errors/organization.ts +++ b/packages/phrases/src/locales/tr-tr/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: 'Kullanıcının devam etmek için organizasyonun bir üyesi olması gerekir.', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/tr-tr/errors/session.ts b/packages/phrases/src/locales/tr-tr/errors/session.ts index 108a4fcdc..285aa4fad 100644 --- a/packages/phrases/src/locales/tr-tr/errors/session.ts +++ b/packages/phrases/src/locales/tr-tr/errors/session.ts @@ -11,7 +11,6 @@ const session = { 'Doğrulama başarısız oldu. Lütfen doğrulama işlemini yeniden başlatın ve tekrar deneyin.', verification_expired: 'Bağlantı zaman aşımına uğradı. Hesap güvenliğiniz için yeniden doğrulama yapın.', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: 'Too many attempts in a short time. Please try again {{relativeTime}}.', unauthorized: 'Lütfen önce oturum açın.', @@ -23,30 +22,18 @@ const session = { identifier_not_found: 'Kullanıcı kimliği bulunamadı. Lütfen geri gidin ve yeniden giriş yapın.', interaction_not_found: 'Etkileşim oturumu bulunamadı. Lütfen geri gidin ve oturumu yeniden başlatın.', - /** UNTRANSLATED */ not_supported_for_forgot_password: 'This operation is not supported for forgot password.', mfa: { - /** UNTRANSLATED */ require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', }, sso_enabled: 'Bu e-posta için tek oturum açma etkin. Lütfen SSO ile oturum açın.', diff --git a/packages/phrases/src/locales/tr-tr/errors/single-sign-on.ts b/packages/phrases/src/locales/tr-tr/errors/single-sign-on.ts index 4950a49e2..adeae8049 100644 --- a/packages/phrases/src/locales/tr-tr/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/tr-tr/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: 'Genel e-posta alanı domainleri izin verilmiyor.', + duplicated_domains: 'Yinelenmiş domainler bulunmaktadır.', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/tr-tr/errors/user.ts b/packages/phrases/src/locales/tr-tr/errors/user.ts index 96c7699a7..3c50b6cc1 100644 --- a/packages/phrases/src/locales/tr-tr/errors/user.ts +++ b/packages/phrases/src/locales/tr-tr/errors/user.ts @@ -29,11 +29,8 @@ const user = { missing_profile: 'Oturum açmadan önce ek bilgi sağlamanız gerekiyor.', role_exists: '{{roleId}} rol kimliği bu kullanıcıya zaten eklenmiştir.', invalid_role_type: 'Geçersiz rol türü, makine-makine rolü kullanıcıya atanamaz.', - /** UNTRANSLATED */ missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ backup_code_already_in_use: 'Backup code is already in use.', }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resource-details.ts index 6bd8e2862..f2f9fbed0 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'API kaynakları, Resource göstergeleri olarak da bilinir. Genellikle, kaynağın kimliğini temsil eden bir URI formatındaki değişkeni içerir.', management_api_settings_description: "Logto Yönetim API'si, yöneticilerin kimlikle ilgili birçok görevi yönetmelerine, güvenlik politikalarını uygulamalarına ve yönetmeliklere ve standartlara uyum sağlamalarına olanak tanıyan kapsamlı bir API koleksiyonudur.", - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + "Bu API Logto varlığını temsil eder ve değiştirilemez veya silinemez. Geniş bir kimlikle ilgili görevler yelpazesi için yönetim API'sini kullanabilirsiniz. Daha fazla bilgi", token_expiration_time_in_seconds: 'Token sona erme süresi (saniye)', token_expiration_time_in_seconds_placeholder: 'Token zaman aşım süresini giriniz', delete_description: diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/enterprise-sso.ts index a938e55e1..776bf3138 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,24 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: 'Kurumsal SSO', + title: 'Kurumsal SSO', + subtitle: + 'Kurumsal kimlik sağlayıcısını bağlayın ve SP başlatmalı Tek Oturum Açmayı etkinleştirin.', + create: 'Kurumsal bağlayıcı ekle', + col_connector_name: 'Bağlayıcı adı', + col_type: 'Tür', + col_email_domain: 'E-posta etki alanı', + col_status: 'Durum', + col_status_in_use: 'Kullanılıyor', + col_status_invalid: 'Geçersiz', + placeholder_title: 'Kurumsal bağlayıcı', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto, birçok yerleşik kurumsal kimlik sağlayıcı sunmuştur, aynı zamanda standart protokollerle kendi kimlik sağlayıcınızı oluşturabilirsiniz.', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: 'Kurumsal bağlayıcı ekle', + text_divider: 'Ya da standart bir protokol ile bağlayıcınızı özelleştirebilirsiniz.', + connector_name_field_title: 'Bağlayıcı adı', + connector_name_field_placeholder: 'Kurumsal kimlik sağlayıcı için isim', + create_button_text: 'Bağlayıcı Oluştur', }, }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/general.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/general.ts index 9168112cd..c60cf28b0 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: 'Kopyalandı', required: 'Gerekli', add_another: 'Bir tane daha ekle', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: 'Başka bir tane oluştur', deletion_confirmation: 'Bu dosyayı silmek istediğinize emin misiniz: {{title}}?', settings_nav: 'Ayarlar', unsaved_changes_warning: @@ -60,22 +59,15 @@ const general = { unknown_error: 'Bilinmeyen hata, lütfen daha sonra tekrar deneyin.', select: 'Seç', contact_us_action: 'Bizimle İletişime Geçin', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: 'Açıklama', + name: 'Ad', + add_field: '{{field}} Ekle', + create_field: '{{field}} Oluştur', + edit_field: '{{field}} Düzenle', + delete_field: '{{field}} Sil', coming_soon: 'Yakında', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} şu anda beta sürümünde. Keşfetmeye hoş geldiniz ve geri bildiriminizi paylaşın.', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/organization-details.ts index 3a2a5a8ad..dbd37f407 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: 'Kuruluş detayları', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + 'Silindiğinde, tüm üyeler bu kuruluştaki üyeliklerini ve rollerini kaybedecek. Bu işlem geri alınamaz.', + organization_id: 'Kuruluş Kimliği', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + 'Bir kuruluş, genellikle ortak bir tanımlayıcı tarafından tanınan kimliklerin (genellikle kullanıcılar) bir grubudur.\n\nHer kuruluşun kendi üye, rol ve izin seti vardır, roller ve izinler kuruluş şablonu tarafından tanımlanır.', + name_placeholder: 'Kuruluşun adı, benzersiz olması gerekli değildir.', + description_placeholder: 'Kuruluşun açıklaması.', + member: 'Üye', + member_other: 'Üyeler', + add_members_to_organization: 'Üyeleri "{{name}}" kuruluşuna ekle', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + 'İsim, e-posta, telefon veya kullanıcı kimliği arayarak uygun kullanıcıları bulun. Var olan üyeler arama sonuçlarında gösterilmez.', + add_with_organization_role: 'Kuruluş rol(ler)i ile ekle', + user: 'Kullanıcı', + authorize_to_roles: "{{name}}'a aşağıdaki rolleri erişim yetkisi verin:", + edit_organization_roles: 'Kuruluş rollerini düzenle', + edit_organization_roles_of_user: "{{name}}'ın kuruluş rollerini düzenle", + remove_user_from_organization: 'Kullanıcıyı kuruluştan kaldır', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + 'Kaldırıldığında, kullanıcı bu kuruluşta üyeliğini ve rollerini kaybedecek. Bu işlem geri alınamaz.', + search_user_placeholder: 'İsim, e-posta, telefon veya kullanıcı kimliği ile ara', + at_least_one_user: 'En az bir kullanıcı gereklidir.', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/organizations.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/organizations.ts index d6f9220af..72641e647 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/organizations.ts @@ -1,163 +1,96 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ - subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + page_title: 'Kuruluşlar', + title: 'Kuruluşlar', + subtitle: 'Uygulamalarınıza erişen ekipleri, iş müşterilerini ve ortak şirketleri temsil edin.', + organization_id: 'Kuruluş Kimliği', + members: 'Üyeler', + create_organization: 'Kuruluş oluştur', + setup_organization: 'Kuruluşunuzu ayarlayın', + organization_list_placeholder_title: 'Kuruluş', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + 'Kuruluş genellikle SaaS veya SaaS benzeri çok kiracılı uygulamalarda kullanılır. Kuruluşlar özelliği, B2B müşterilerinizin ortaklarını ve müşterilerini daha iyi yönetmelerine ve son kullanıcıların uygulamalarına erişim şekillerini özelleştirmelerine izin verir.', + organization_name_placeholder: 'Benim kuruluşum', + organization_description_placeholder: 'Kuruluşun kısa açıklaması', + organization_permission: 'Kuruluş izni', + organization_permission_other: 'Kuruluş izinleri', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Kuruluş izni, kuruluş bağlamında bir kaynağa erişim izni anlamına gelir. Bir kuruluş izni anlamlı bir dize olarak temsil edilmeli ve aynı zamanda adı ve benzersiz tanımlayıcısı olarak hizmet etmelidir.', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + 'Bu izin silinirse, bu izni içeren tüm kuruluş rolleri bu izni kaybedecek ve bu izne sahip olan kullanıcılar bu izinle sağlanan erişimi kaybedecek.', + create_permission_placeholder: 'Randevu geçmişini oku', + permission: 'İzin', + permission_other: 'İzinler', + organization_role: 'Kuruluş rolü', + organization_role_other: 'Kuruluş rolleri', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + 'Kuruluş rolü, kullanıcılara atanabilen izinlerin bir gruplamasıdır. İzinler önceden tanımlanmış kuruluş izinlerinden gelmelidir.', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + 'Bunu yapmak, etkilenen kullanıcılardan bu role ilişkilendirilmiş izinleri kaldıracak ve kuruluş rolleri arasındaki ilişkileri ve kuruluş izinleri arasındaki ilişkileri silecektir.', + role: 'Rol', + create_role_placeholder: 'Yalnızca görünüm izinleri olan kullanıcılar', + search_placeholder: 'Kuruluş adı veya kimliğine göre ara', + search_permission_placeholder: 'İzinleri arayın ve seçin', + search_role_placeholder: 'Rolleri arayın ve seçin', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: 'Kılavuzlarla başlayın', + subtitle: 'Kılavuzlarımızla uygulama geliştirme sürecinize hızlı bir başlangıç yapın', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: "İlk olarak, kuruluşların Logto'da nasıl çalıştığını anlayalım", description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + 'Çok kiracılı SaaS uygulamalarında genellikle aynı izin ve roller kümesine sahip birkaç organizasyon yapıyoruz, ancak bir organizasyon bağlamında farklı erişim düzeylerini denetlemek önemli bir rol oynayabilir. Her kiracıyı bir Logto kuruluşu gibi düşünün ve doğal olarak aynı erişim kontrol "şablonunu" paylaşırlar. Buna "kuruluş şablonu" diyoruz.', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: 'Kuruluş şablonu iki parçadan oluşur', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + 'Kuruluş izni, kuruluş bağlamında bir kaynağa erişim izni anlamına gelir. Bir kuruluş izni anlamlı bir dize olarak temsil edilmeli ve aynı zamanda adı ve benzersiz tanımlayıcısı olarak hizmet etmelidir.', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + 'Kuruluş rolü, kullanıcılara atanabilen izinlerin bir gruplamasıdır. İzinler önceden tanımlanmış kuruluş izinlerinden gelmelidir.', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: 'Her şeyin nasıl bağlandığını görmek için illüstrasyonla etkileşim', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + 'Bir örnek alalım. John, Sarah ve Tony farklı organizasyonlara farklı rollerle dahil olan kullanıcılardır. Farklı modüllerin üzerine gelerek ne olacağını görün.', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: 'Adım 1: Kuruluş izinlerini tanımlayın', + step_2: 'Adım 2: Kuruluş rollerini tanımlayın', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '"Kuruluş rolleri", her kuruluşa başlangıçta verilen bir dizi role karşılık gelir. Bu roller, önceki ekranda belirlediğiniz genel izinler tarafından belirlenir. Kuruluş izni ile benzer şekilde, bunu ilk kez ayarladıktan sonra her yeni kuruluş oluşturduğunuzda bunu her seferinde yapmanıza gerek kalmayacaksınız.', + step_3: 'Adım 3: İlk kuruluşunuzu oluşturun', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ + 'İlk kuruluşunuzu oluşturalım. Benzersiz bir kimlikle gelir ve ortaklar, müşteriler ve onların erişim kontrolü gibi çeşitli daha fazla işe yönelik kimliklerle başa çıkmak için bir konteyner görevi görür.', + more_next_steps: 'Daha fazla sonraki adımlar', + add_members: 'Kuruluşunuza üyeler ekleyin', + add_members_action: 'Toplu üyeleri ekleyin ve roller atayın', + add_enterprise_connector: 'Kurumsal SSO ekleyin', + add_enterprise_connector_action: "Kurumsal SSO'yu yapılandırın", + organization_permissions: 'Kuruluş izinleri', + permission_name: 'İzin adı', + permissions: 'İzinler', + organization_roles: 'Kuruluş rolleri', + role_name: 'Rol adı', + organization_name: 'Kuruluş adı', + admin: 'Yönetici', admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ + 'Yönetici rolü, farklı organizasyonlar arasında aynı kuruluş şablonunu paylaşır.', + member: 'Üye', member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ + 'Üye rolü, farklı organizasyonlar arasında aynı kuruluş şablonunu paylaşır.', + guest: 'Misafir', guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ + 'Misafir rolü, farklı organizasyonlar arasında aynı kuruluş şablonunu paylaşır.', create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + 'Kuruluş şablonu ayarlarında daha fazla rol oluşturabilirsiniz. Bu kuruluş rolleri farklı organizasyonlara uygulanacaktır.', + read_resource: 'kaynağı oku', + edit_resource: 'kaynağı düzenle', + delete_resource: 'kaynağı sil', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ + 'Johny, "john@email.com" e-posta adresine sahip tek bir tanımlayıcı olarak iki organizasyona aittir. O, organizasyon A\'nın yöneticisi ve aynı zamanda organizasyon B\'nin misafiridir.', sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + 'Sarah, "sarah@email.com" e-posta adresine sahip tek bir tanımlayıcı olarak bir organizasyona aittir. O, organizasyon B\'nin yöneticisidir.', + tony: 'Tony, "tony@email.com" e-posta adresine sahip tek bir tanımlayıcı olarak bir organizasyona aittir. O, organizasyon C\'nin üyesidir.', }, }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/role-details.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/role-details.ts index 3e92d8b3d..ab25cd6d8 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/role-details.ts @@ -42,10 +42,8 @@ const role_details = { assign_title: 'Kullanıcılar Ata', assign_subtitle: 'Kullanıcıları bu role atayın. İsim, e-posta, telefon veya kullanıcı kimliği arayarak uygun kullanıcıları bulun.', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: 'Kullanıcıları Ata', confirm_assign: 'Kullanıcıları Ata', - /** UNTRANSLATED */ assigned_toast_text: 'The selected users were successfully assigned to this role', empty: 'Mevcut kullanıcı yok', }, @@ -60,10 +58,8 @@ const role_details = { assign_title: 'Uygulamaları Ata', assign_subtitle: 'Bu role uygulamaları atayın. İsim, açıklama veya uygulama kimliği arayarak uygun uygulamaları bulun.', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: 'Uygulamaları Ata', confirm_assign: 'Uygulamaları Ata', - /** UNTRANSLATED */ assigned_toast_text: 'The selected applications were successfully assigned to this role', empty: 'Mevcut uygulama yok', }, diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts index 1e8474ab0..32da164e6 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts @@ -1,94 +1,90 @@ const quota_item = { tenant_limit: { name: 'Kiracilar', - limited: '{{count, number}} kiraci', - limited_other: '{{count, number}} kiracilar', - unlimited: 'Sınırsız kiracilar', - not_eligible: 'Kiracilarinizi kaldirin', + limited: '{{count, number}} kiracı', + limited_other: '{{count, number}} kiracılar', + unlimited: 'Sınırsız kiracılar', + not_eligible: 'Kiracılarınızı kaldırın', }, mau_limit: { name: 'Aylık aktif kullanıcılar', limited: '{{count, number}} MAU', unlimited: 'Sınırsız MAU', - not_eligible: 'Tüm kullanıcılarınızı kaldirin', + not_eligible: 'Tüm kullanıcılarınızı kaldırın', }, applications_limit: { name: 'Uygulamalar', limited: '{{count, number}} uygulama', limited_other: '{{count, number}} uygulamalar', unlimited: 'Sınırsız uygulamalar', - not_eligible: 'Uygulamalarınızı kaldirin', + not_eligible: 'Uygulamalarınızı kaldırın', }, machine_to_machine_limit: { name: 'Makineye Makine', limited: '{{count, number}} makineye makine uygulama', limited_other: '{{count, number}} makineye makine uygulamalar', unlimited: 'Sınırsız makineye makine uygulamalar', - not_eligible: 'Makineye makine uygulamalarınızı kaldirin', + not_eligible: 'Makineye makine uygulamalarınızı kaldırın', }, resources_limit: { name: 'API kaynakları', limited: '{{count, number}} API kaynak', limited_other: '{{count, number}} API kaynakları', unlimited: 'Sınırsız API kaynakları', - not_eligible: 'API kaynaklarınızı kaldirin', + not_eligible: 'API kaynaklarınızı kaldırın', }, scopes_per_resource_limit: { name: 'Kaynak izinleri', limited: '{{count, number}} izin kaynak başına', limited_other: '{{count, number}} izinler kaynak başına', unlimited: 'Sınırsız izin kaynak başına', - not_eligible: 'Kaynak izinlerinizi kaldirin', + not_eligible: 'Kaynak izinlerinizi kaldırın', }, custom_domain_enabled: { name: 'Özel alan adı', limited: 'Özel alan adı', unlimited: 'Özel alan adı', - not_eligible: 'Özel alan adınızı kaldirin', + not_eligible: 'Özel alan adınızı kaldırın', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: "SSO'nuzu devre dışı bırakın", }, built_in_email_connector_enabled: { name: 'Dahili e-posta bağlayıcı', limited: 'Dahili e-posta bağlayıcı', unlimited: 'Dahili e-posta bağlayıcı', - not_eligible: 'Dahili e-posta bağlayıcınızı kaldirin', + not_eligible: 'Dahili e-posta bağlayıcınızı kaldırın', }, social_connectors_limit: { name: 'Sosyal bağlayıcılar', limited: '{{count, number}} sosyal bağlayıcı', limited_other: '{{count, number}} sosyal bağlayıcılar', unlimited: 'Sınırsız sosyal bağlayıcılar', - not_eligible: 'Sosyal bağlayıcılarınızı kaldirin', + not_eligible: 'Sosyal bağlayıcılarınızı kaldırın', }, standard_connectors_limit: { name: 'Ücretsiz standart bağlayıcılar', limited: '{{count, number}} ücretsiz standart bağlayıcı', limited_other: '{{count, number}} ücretsiz standart bağlayıcılar', unlimited: 'Sınırsız standart bağlayıcılar', - not_eligible: 'Standart bağlayıcılarınızı kaldirin', + not_eligible: 'Standart bağlayıcılarınızı kaldırın', }, roles_limit: { name: 'Roller', limited: '{{count, number}} rol', limited_other: '{{count, number}} roller', unlimited: 'Sınırsız roller', - not_eligible: 'Rollerini kaldirin', + not_eligible: 'Rollerinizi kaldırın', }, scopes_per_role_limit: { name: 'Rol izinleri', limited: '{{count, number}} izin rol başına', limited_other: '{{count, number}} izinler rol başına', unlimited: 'Sınırsız izin rol başına', - not_eligible: 'Rol izinlerinizi kaldirin', + not_eligible: 'Rol izinlerinizi kaldırın', }, hooks_limit: { name: 'Webhooks', @@ -98,21 +94,17 @@ const quota_item = { not_eligible: 'Webhooklarınızı kaldırın', }, organization_enabled: { - /** UNTRANSLATED */ name: 'Organization', - /** UNTRANSLATED */ limited: 'Organization', - /** UNTRANSLATED */ unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + not_eligible: 'Organizasyonlarınızı kaldırın', }, audit_logs_retention_days: { name: 'Denetim günlükleri saklama süresi', limited: 'Denetim günlükleri saklama süresi: {{count, number}} gün', limited_other: 'Denetim günlükleri saklama süresi: {{count, number}} gün', unlimited: 'Sınırsız günler', - not_eligible: 'Denetim günlüğü yok', + not_eligible: 'Denetim günlüğünüz yok', }, community_support_enabled: { name: 'Topluluk desteği', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts index 0d392c462..8b6eab0ab 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts @@ -26,8 +26,7 @@ const quota_table = { }, user_authn: { title: 'Kullanıcı Kimlik Doğrulama', - /** UNTRANSLATED */ - omni_sign_in: 'Enterprise SSO (Q4, 2023)', + omni_sign_in: 'Kurumsal SSO (Q4, 2023)', password: 'Parola', passwordless: 'Parolasız - E-posta ve SMS', email_connector: 'E-posta bağlayıcı', @@ -52,9 +51,7 @@ const quota_table = { hooks: 'Web Kancaları', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ + title: 'Organizasyon', organization: 'Organization (Q4, 2023)', }, support: { diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/tabs.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/tabs.ts index 8632c7bcd..e85cc2281 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API Kaynakları', sign_in_experience: 'Oturum Açma Deneyimi', connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: 'Kurumsal SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: 'Organizasyonlar', users: 'Kullanıcı Yönetimi', audit_logs: 'Denetim Kayıtları', roles: 'Roller', docs: 'Dökümanlar', tenant_settings: 'Ayarlar', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + mfa: 'Çoklu faktörlü kimlik doğrulama', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/tenants.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/tenants.ts index f509e8475..b462812f8 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/tenants.ts @@ -13,26 +13,22 @@ const tenants = { 'Kiracı adını ayarlayın ve verilerinizin barındığı bölgeyi ve ortam etiketinizi görüntüleyin.', tenant_id: 'Kiracı Kimliği', tenant_name: 'Kiracı Adı', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: 'Veriler barındırılan bölge', + tenant_region_tip: + 'Kiracı kaynaklarınız {{region}} bölgesinde barındırılır. Daha fazla bilgi', environment_tag: 'Çevre Etiketi', environment_tag_description: 'Etiketler hizmeti değiştirmez. Sadece farklı ortamları ayırt etmek için rehberlik eder.', environment_tag_development: 'Geliş', environment_tag_staging: 'Staging', environment_tag_production: 'Prod', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + 'Geliştirme ortamı genellikle test için kullanılır ve giriş deneyiminde filigranlar içerir. Daha fazla bilgi', tenant_info_saved: 'Kiracı bilgileri başarıyla kaydedildi.', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: 'Geliştirme', + production: 'Prod', }, deletion_card: { title: 'SİL', @@ -44,59 +40,44 @@ const tenants = { create_modal: { title: 'Kiracı Oluştur', subtitle: 'Kaynakları ve kullanıcıları ayırmak için yeni bir kiracı oluşturun.', - /** UNTRANSLATED */ subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ + 'Kaynakları ve kullanıcıları ayırmak için yeni bir kiracı oluşturun. Bölge ve ortam etiketleri oluşturulduktan sonra değiştirilemez.', + tenant_usage_purpose: 'Bu kiracıyı ne için kullanmak istiyorsunuz?', development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Geliştirme ortamı genellikle test için kullanılır ve üretim ortamında kullanılmamalıdır.', development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ + 'Geliştirme ortamı genellikle test için kullanılır ve üretim ortamında kullanılmamalıdır.', production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + 'Prod, canlı yazılımın son kullanıcılar tarafından kullanıldığı ve ücretli bir aboneliğin gerekebileceği yerdir.', + available_plan: 'Mevcut plan:', create_button: 'Kiracı oluştur', tenant_name_placeholder: 'Benim kiracım', }, notification: { - /** UNTRANSLATED */ allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + "Artık geliştirme kiracınızda Logto Pro'nun tüm özelliklerine erişebilirsiniz!", + allow_pro_features_description: + 'Tüm özelliklerinizi ücretsiz, deneme süresi olmadan kullanın - ebediyen!', + explore_all_features: 'Tüm özelliklere göz atın', + impact_title: 'Bunun benim üzerimde herhangi bir etkisi var mı?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + 'Kiracı etiketiniz "Staging" den "Prod" a güncellenmiştir, ancak bu değişiklik mevcut yapılandırmanızı etkilemeyecektir.', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ + 'Logto Hobby planına abone olduğunuzda, önceki "Geliştirme" kiracı etiketi "Prod" a geçecektir ve bu mevcut yapılandırmanızı etkilemeyecektir.', paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + 'Eğer hala geliştirme aşamasındaysanız, daha fazla pro özelliklere erişmek için yeni bir geliştirme kiracısı oluşturabilirsiniz.', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ + 'Eğer üretim aşamasındaysanız veya bir üretim ortamında iseniz, spesifik bir plana abone olmanız gerekecektir, bu yüzden şu anda yapmanız gereken bir şey yok.', paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + "Yardıma ihtiyacınız olursa çekinmeden bizimle iletişime geçin! Logto'yu seçtiğiniz için teşekkür ederiz!", }, delete_modal: { title: 'Kiracıyı Sil', description_line1: - 'Ortam etiketi "{{tag}}" olan "{{name}}" kiracınızı silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve tüm verilerinizin ve hesap bilgilerinizin kalıcı olarak silinmesine neden olur.', + 'Ortam etiketi "{{tag}}" olan "{{name}}" kiracınızı silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve tüm verilerinizin ve hesap bilgilerinizin kalıcı olarak silinmesine neden olur.', description_line2: 'Hesabınızı silmeden önce size yardımcı olabiliriz. E-posta yoluyla bize ulaşın', - description_line3: - 'Devam etmek isterseniz, "{{name}}" kiracı adını onaylamak için yazın.', + description_line3: 'Devam etmek isterseniz, "{{name}}" kiracı adını onaylamak için yazın.', delete_button: 'Kalıcı olarak sil', cannot_delete_title: 'Bu kiracı silinemez', cannot_delete_description: @@ -121,67 +102,44 @@ const tenants = { 'Daha fazla açıklama, endişeleriniz veya işlevselliği tamamen geri yüklemek ve kiracılarınızı engellemek isterseniz, lütfen derhal bizimle iletişime geçmekten çekinmeyin.', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: 'İMZALAMA ANAHTARLARI', + description: 'Kiracınızda imzalama anahtarlarını güvenli bir şekilde yönetin.', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC özel anahtarları', + cookie_key: 'OIDC çerez anahtarları', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: 'Kullanılan özel anahtarlar', + cookie_keys_in_use: 'Kullanılan çerez anahtarları', + rotate_private_keys: 'Özel anahtarları döndür', + rotate_cookie_keys: 'Çerez anahtarlarını döndür', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + 'Bu işlem yeni bir özel imzalama anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış JWT jetonlarınız silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + 'Bu işlem yeni bir çerez anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış çerezleriniz silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.', + select_private_key_algorithm: 'Yeni özel anahtar için imzalama anahtar algoritmasını seçin', + rotate_button: 'Döndür', table_column: { - /** UNTRANSLATED */ - id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + id: 'Kimlik', + status: 'Durum', + algorithm: 'İmzalama anahtar algoritması', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: 'Geçerli', + previous: 'Önceki', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + 'OIDC özel anahtarlarını döndürmek istediğinizden emin misiniz? Yeni verilen JWT jetonları yeni anahtarla imzalanacaktır. Var olan JWT jetonları, tekrar döndürünceye kadar geçerli kalacaktır.', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + 'OIDC çerez anahtarlarını döndürmek istediğinizden emin misiniz? Oturum açma oturumlarında yeni oluşturulan çerezler yeni çerez anahtarıyla imzalanacaktır. Var olan çerezler, tekrar döndürünceye kadar geçerli kalacaktır.', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + 'OIDC özel anahtarını silmek istediğinizden emin misiniz? Bu özel imzalama anahtarı ile imzalanan mevcut JWT jetonları artık geçerli olmayacaktır.', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + 'OIDC çerez anahtarını silmek istediğinizden emin misiniz? Bu çerez anahtarı ile imzalanan eski oturum açma oturumları artık geçerli olmayacaktır. Bu kullanıcılar için yeniden kimlik doğrulaması gereklidir.', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: 'İmzalama anahtarları başarıyla döndü', + delete_key_success: 'Anahtar başarıyla silindi', }, }, }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/upsell/paywall.ts index 3054e233e..618c87853 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/upsell/paywall.ts @@ -3,7 +3,6 @@ const paywall = { ' limitine ulaşılan {{count, number}} başvuru. Ekibinizin ihtiyaçlarını karşılamak için planı yükseltin. Yardım için lütfen bizimle iletişime geçin.', applications_other: ' limitine ulaşılan {{count, number}} başvurular. Ekibinizin ihtiyaçlarını karşılamak için planı yükseltin. Yardım için lütfen bizimle iletişime geçin.', - /** UNTRANSLATED */ machine_to_machine_feature: 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', machine_to_machine: @@ -18,14 +17,12 @@ const paywall = { '{{count, number}} API kaynağı başına izin sınırına ulaşıldı. Genişletmek için şimdi yükseltin. Yardıma ihtiyacınız olursa, iletişime geçin.', scopes_per_resource_other: '{{count, number}} API kaynağı başına izin sınırına ulaşıldı. Genişletmek için şimdi yükseltin. Yardıma ihtiyacınız olursa, iletişime geçin.', - /** UNTRANSLATED */ custom_domain: 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', social_connectors: '{{count, number}} sosyal bağlayıcı sınırına ulaşıldı. Ekibinizin ihtiyaçlarını karşılamak için planı yükseltin ve OIDC, OAuth 2.0 ve SAML protokolleri kullanarak kendi bağlayıcılarınızı oluşturma yeteneğine sahip olun. Yardıma ihtiyacınız olursa, iletişime geçin.', social_connectors_other: '{{count, number}} sosyal bağlayıcı sınırına ulaşıldı. Ekibinizin ihtiyaçlarını karşılamak için planı yükseltin ve OIDC, OAuth 2.0 ve SAML protokolleri kullanarak kendi bağlayıcılarınızı oluşturma yeteneğine sahip olun. Yardıma ihtiyacınız olursa, iletişime geçin.', - /** UNTRANSLATED */ standard_connectors_feature: 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', standard_connectors: diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/user-details.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/user-details.ts index 2822e194c..b8521814f 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: 'Ayarlar', tab_roles: 'Roller', tab_logs: 'Kullanıcı kayıtları', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: 'Organizasyonlar', + authentication: 'Kimlik doğrulama', authentication_description: 'Her kullanıcının, temel veriler, sosyal kimlikler ve özel verilerden oluşan tüm kullanıcı bilgilerini içeren bir profil vardır.', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: 'Kullanıcı profili', field_email: 'Eposta adresi', field_phone: 'Telefon numarası', field_username: 'Kullanıcı Adı', @@ -38,30 +35,24 @@ const user_details = { field_custom_data_tip: 'Kullanıcı tarafından tercih edilen renk ve dil gibi önceden tanımlanmış kullanıcı özelliklerinde listelenmeyen ek kullanıcı bilgileri.', field_connectors: 'Sosyal bağlayıcılar', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: 'İş bağlantıları', custom_data_invalid: 'Özel veriler geçerli bir JSON nesnesi olmalıdır', connectors: { connectors: 'Bağlayıcılar', user_id: 'Kullanıcı IDsi', remove: 'Kaldır', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: 'Bu kullanıcı birden fazla sosyal bağlayıcıya bağlıdır.', not_connected: 'Kullanıcı herhangi bir sosyal bağlayıcıya bağlı değil', deletion_confirmation: 'Mevcut kimliğini kaldırıyorsunuz. Devam etmek istediğinizden emin misiniz?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ + connectors: 'Bağlayıcılar', + enterprise_id: 'Şirket ID', connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ + 'Bu kullanıcı, Tek Oturum Kimliği için birden çok kurumsal kimlik sağlayıcıya bağlıdır.', not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + 'Kullanıcı, Tek Oturum Kimliği için herhangi bir kurumsal kimlik sağlayıcıya bağlı değil.', }, mfa: { field_name: 'Çok faktörlü kimlik doğrulama', @@ -103,8 +94,7 @@ const user_details = { }, warning_no_sign_in_identifier: 'Kullanıcının giriş yapmak için en az bir oturum açma kimliği (kullanıcı adı, e-posta, telefon numarası, veya sosyal) olması gerekiyor. Devam etmek istediğinizden emin misiniz?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: 'Bu organizasyon içinde kullanıcıya atanan roller.', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/webhooks.ts index 750ac93e3..1aa442df2 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/webhooks.ts @@ -31,7 +31,6 @@ const webhooks = { name_placeholder: 'Webhook adını girin', endpoint_url: 'Uç Nokta URL’si', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ endpoint_url_tip: 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', create_webhook: 'Webhook Oluştur', diff --git a/packages/phrases/src/locales/zh-cn/errors/entity.ts b/packages/phrases/src/locales/zh-cn/errors/entity.ts index f09d56a5e..7ec0bf60e 100644 --- a/packages/phrases/src/locales/zh-cn/errors/entity.ts +++ b/packages/phrases/src/locales/zh-cn/errors/entity.ts @@ -5,10 +5,8 @@ const entity = { not_exists: '该 {{name}} 不存在。', not_exists_with_id: 'ID 为 `{{id}}` 的 {{name}} 不存在。', not_found: '该资源不存在。', - /** UNTRANSLATED */ relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ + '无法找到一个或多个外键。请检查输入,并确保所有引用的实体都存在。', unique_integrity_violation: 'The entity already exists. Please check the input and try again.', }; diff --git a/packages/phrases/src/locales/zh-cn/errors/oidc.ts b/packages/phrases/src/locales/zh-cn/errors/oidc.ts index 6eee875b8..709e28bb1 100644 --- a/packages/phrases/src/locales/zh-cn/errors/oidc.ts +++ b/packages/phrases/src/locales/zh-cn/errors/oidc.ts @@ -1,28 +1,22 @@ const oidc = { aborted: '用户终止了交互。', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: '无效的范围: {{error_description}}。', invalid_token: 'Token 无效', invalid_client_metadata: '无效的客户端元数据', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Token 缺少范围 `{{scope}}`.', invalid_request: '请求无效', invalid_grant: '授权请求无效', invalid_redirect_uri: '无效返回链接, 该 redirect_uri 未被此应用注册。', - access_denied: '拒绝访问', + access_denied: '访问被拒绝', invalid_target: '请求资源无效', unsupported_grant_type: '不支持的 grant_type', unsupported_response_mode: '不支持的 response_mode', unsupported_response_type: '不支持的 response_type', provider_error: 'OIDC 内部错误: {{message}}', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: '发生了未知的 OIDC 错误。请稍后再试。', + provider_error_fallback: '发生了 OIDC 错误: {{code}}。', + key_required: '至少需要一个密钥。', + key_not_found: '未找到 ID 为 {{id}} 的密钥。', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/zh-cn/errors/organization.ts b/packages/phrases/src/locales/zh-cn/errors/organization.ts index 2752f71f9..bea8a6340 100644 --- a/packages/phrases/src/locales/zh-cn/errors/organization.ts +++ b/packages/phrases/src/locales/zh-cn/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: '用户必须是组织的成员才能继续。', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/zh-cn/errors/session.ts b/packages/phrases/src/locales/zh-cn/errors/session.ts index a09a6e44a..a34407684 100644 --- a/packages/phrases/src/locales/zh-cn/errors/session.ts +++ b/packages/phrases/src/locales/zh-cn/errors/session.ts @@ -8,7 +8,6 @@ const session = { connector_session_not_found: '无法找到连接器登录信息,请尝试重新登录。', verification_session_not_found: '验证失败,请重新验证。', verification_expired: '当前页面已超时。为确保你的账号安全,请重新验证。', - /** UNTRANSLATED */ verification_blocked_too_many_attempts: 'Too many attempts in a short time. Please try again {{relativeTime}}.', unauthorized: '请先登录', @@ -18,30 +17,18 @@ const session = { connector_validation_session_not_found: '找不到连接器用于验证 token 的信息。', identifier_not_found: '找不到用户标识符。请返回并重新登录。', interaction_not_found: '找不到交互会话。请返回并重新开始会话。', - /** UNTRANSLATED */ not_supported_for_forgot_password: 'This operation is not supported for forgot password.', mfa: { - /** UNTRANSLATED */ require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', }, sso_enabled: '该邮箱已开启单点登录,请使用 SSO 登录。', diff --git a/packages/phrases/src/locales/zh-cn/errors/single-sign-on.ts b/packages/phrases/src/locales/zh-cn/errors/single-sign-on.ts index 4950a49e2..f4dd483d6 100644 --- a/packages/phrases/src/locales/zh-cn/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/zh-cn/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: '不允许使用公共电子邮件域名。', + duplicated_domains: '存在重复的域名。', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/zh-cn/errors/user.ts b/packages/phrases/src/locales/zh-cn/errors/user.ts index 56281bd73..899dcade2 100644 --- a/packages/phrases/src/locales/zh-cn/errors/user.ts +++ b/packages/phrases/src/locales/zh-cn/errors/user.ts @@ -28,12 +28,9 @@ const user = { missing_profile: '请于登录时提供必要的用户补充信息。', role_exists: '角色 ID {{roleId}} 已添加到此用户', invalid_role_type: '无效的角色类型,无法将机器到机器角色分配给用户。', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: '你需要在登录之前绑定额外的MFA。', + totp_already_in_use: 'TOTP已在使用中。', + backup_code_already_in_use: '备用代码已在使用中。', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resource-details.ts index cb6c687b1..28183734b 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'API 资源,又称资源指示器,表示要请求的目标服务或资源,通常是表示资源身份的 URI 格式变量。', management_api_settings_description: 'Logto 管理 API 是一组全面的 API,使管理员能够管理各种与身份相关的任务,执行安全策略并遵守法规和标准。', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + '该 API 代表 Logto 实体,无法修改或删除。你可以使用管理 API 来执行范围广泛的与身份相关的任务。 了解更多', token_expiration_time_in_seconds: 'Token 过期时间(秒)', token_expiration_time_in_seconds_placeholder: '请输入你的 token 过期时间', delete_description: diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/enterprise-sso.ts index a938e55e1..ca9fdee61 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,23 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: '企业单点登录', + title: '企业单点登录', + subtitle: '连接企业身份提供者并启用SP启动的单点登录。', + create: '添加企业连接器', + col_connector_name: '连接器名称', + col_type: '类型', + col_email_domain: '电子邮件域', + col_status: '状态', + col_status_in_use: '正在使用', + col_status_invalid: '无效', + placeholder_title: '企业连接器', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto已提供许多内置的企业身份提供者来连接,同时您可以使用标准协议创建您自己的提供者。', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: '添加企业连接器', + text_divider: '或者您可以通过标准协议自定义您的连接器。', + connector_name_field_title: '连接器名称', + connector_name_field_placeholder: '企业身份提供者的名称', + create_button_text: '创建连接器', }, }; diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/general.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/general.ts index 92dca7231..530342f6f 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: '已复制', required: '必填', add_another: '新增', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: '创建另一个', deletion_confirmation: '你确定要删除这个 {{title}} 吗?', settings_nav: '设置', unsaved_changes_warning: '还有未保存的变更, 确定要离开吗?', @@ -59,22 +58,15 @@ const general = { unknown_error: '未知错误,请稍后重试。', select: '选择', contact_us_action: '联系我们', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: '描述', + name: '名称', + add_field: '添加{{field}}', + create_field: '创建{{field}}', + edit_field: '编辑{{field}}', + delete_field: '删除{{field}}', coming_soon: '即将上线', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} 目前处于测试阶段。欢迎您去探索并分享您的反馈。', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/organization-details.ts index 3a2a5a8ad..86e00df29 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/organization-details.ts @@ -1,46 +1,27 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ + page_title: '机构详情', delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + '一旦删除,所有成员将失去他们在这个机构中的成员资格和角色。此操作将无法撤销。', + organization_id: '机构编号', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + '一个组织是一组具有共同标识符的身份(通常是用户)。每个组织都有自己的成员、角色和权限集合,而这些角色和权限是由组织模板定义的。', + name_placeholder: '机构名称,不需要是唯一的。', + description_placeholder: '机构的描述。', + member: '成员', + member_other: '成员', + add_members_to_organization: '向机构{{name}}添加成员', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + '通过姓名、电子邮件、电话或用户ID搜索合适的用户。搜索结果中不显示现有成员。', + add_with_organization_role: '以机构角色加入', + user: '用户', + authorize_to_roles: '授权{{name}}访问以下角色:', + edit_organization_roles: '编辑机构角色', + edit_organization_roles_of_user: '编辑{{name}}的机构角色', + remove_user_from_organization: '从机构中移除用户', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + '一旦移除,用户将失去他们在这个机构中的成员资格和角色。此操作将无法撤销。', + search_user_placeholder: '按名称、电子邮件、电话或用户ID搜索', + at_least_one_user: '至少需要一个用户。', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/organizations.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/organizations.ts index d6f9220af..ac75e35a8 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/organizations.ts @@ -1,163 +1,91 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ - subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + page_title: '组织', + title: '组织', + subtitle: '代表作为组织访问您的应用程序的团队、企业客户和合作伙伴公司。', + organization_id: '组织 ID', + members: '成员', + create_organization: '创建组织', + setup_organization: '设置您的组织', + organization_list_placeholder_title: '组织', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + '组织通常用于SaaS或类SaaS的多租户应用程序。组织功能使您的B2B客户能更好地管理其合作伙伴和客户,并自定义最终用户访问其应用程序的方式。', + organization_name_placeholder: '我的组织', + organization_description_placeholder: '组织的简要描述', + organization_permission: '组织权限', + organization_permission_other: '组织权限', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '组织权限是指在组织上下文中访问资源的授权。组织权限应该用有意义的字符串表示,同时也作为名称和唯一标识。', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + '如果删除此权限,所有包含此权限的组织角色将失去此权限以及授予此权限的用户的访问权限。', + create_permission_placeholder: '读取预约历史', + permission: '权限', + permission_other: '权限', + organization_role: '组织角色', + organization_role_other: '组织角色', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + '组织角色是可以分配给用户的权限组。这些权限必须来自预定义的组织权限。', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + '这样做将从受影响的用户那里删除与此角色相关的权限,并删除组织角色、组织成员和组织权限之间的关系。', + role: '角色', + create_role_placeholder: '仅查看权限的用户', + search_placeholder: '按组织名称或ID搜索', + search_permission_placeholder: '输入以搜索和选择权限', + search_role_placeholder: '输入以搜索和选择角色', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: '从指南开始', + subtitle: '使用我们的指南快速开始应用程序开发过程', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: '首先,让我们了解Logto中的组织是如何工作的', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + '在多租户SaaS应用程序中,我们经常使用相同的权限和角色创建几个组织,但是在组织的上下文中,它可以在控制不同级别的访问方面发挥重要作用。将每个租户视为一个Logto组织,它们自然共享相同的访问控制“模板”。我们称之为“组织模板”。', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: '组织模板由两部分组成', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '组织权限是指在组织上下文中访问资源的授权。组织权限应该用有意义的字符串表示,同时也作为名称和唯一标识。', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + '组织角色是可以分配给用户的权限组。这些权限必须来自预定义的组织权限。', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: '交互插图以查看所有关系', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + '让我们举个例子。John、Sarah和Tony分别属于不同组织,在不同组织的上下文中具有不同的角色。将鼠标悬停在不同的模块上,看看会发生什么。', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: '步骤1:定义组织权限', + step_2: '步骤2:定义组织角色', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '“组织角色”代表在开始时分配给每个组织的一组角色。这些角色由您在上一屏幕设置的全局权限确定。类似于组织权限,一旦您第一次完成此设置,您就不需要在每次创建新组织时进行设置。', + step_3: '步骤3:创建您的第一个组织', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ - guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ - create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + '让我们创建您的第一个组织。它具有一个唯一的ID,并作为一个容器,用于处理各种面向企业的身份,如合作伙伴、客户及其访问控制。', + more_next_steps: '更多下一步', + add_members: '将成员添加到您的组织', + add_members_action: '批量添加成员并分配角色', + add_enterprise_connector: '添加企业SSO', + add_enterprise_connector_action: '设置企业SSO', + organization_permissions: '组织权限', + permission_name: '权限名称', + permissions: '权限', + organization_roles: '组织角色', + role_name: '角色名称', + organization_name: '组织名称', + admin: '管理员', + admin_description: '“管理员”角色在不同组织之间共享相同的组织模板。', + member: '成员', + member_description: '“成员”角色在不同组织之间共享相同的组织模板。', + guest: '访客', + guest_description: '“访客”角色在不同组织之间共享相同的组织模板。', + create_more_roles: '您可以在组织模板设置中创建更多角色。这些组织角色将适用于不同的组织。', + read_resource: '读取:资源', + edit_resource: '编辑:资源', + delete_resource: '删除:资源', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ - sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + '约翰属于两个组织,电子邮件为“john@email.com”作为唯一标识。他是组织A的管理员,也是组织B的访客。', + sarah: '萨拉属于一个组织,电子邮件为“sarah@email.com”作为唯一标识。她是组织B的管理员。', + tony: '托尼属于一个组织,电子邮件为“tony@email.com”作为唯一标识。他是组织C的成员。', }, }; diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/role-details.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/role-details.ts index 11686c2e2..4eeaf3876 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/role-details.ts @@ -39,11 +39,9 @@ const role_details = { deleted: '{{name}} 已成功从此角色中删除', assign_title: '分配用户', assign_subtitle: '将用户分配给此角色。通过搜索名称、电子邮件、电话或用户 ID 查找适当的用户。', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: '分配用户', confirm_assign: '分配用户', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: '所选的用户已成功分配给此角色', empty: '无可用用户', }, applications: { @@ -55,11 +53,9 @@ const role_details = { deleted: '{{name}} 已成功从此角色中删除', assign_title: '分配应用', assign_subtitle: '将应用分配给此角色。通过搜索名称、描述或应用 ID 查找适当的应用。', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: '分配应用', confirm_assign: '分配应用', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: '所选的应用已成功分配给此角色', empty: '无可用应用', }, }; diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts index 4ea4e581a..0f105d7f8 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts @@ -47,14 +47,10 @@ const quota_item = { not_eligible: '移除你的自定义域名', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: '禁用你的 SSO', }, built_in_email_connector_enabled: { name: '内置电子邮件连接器', @@ -92,20 +88,16 @@ const quota_item = { }, hooks_limit: { name: 'Webhooks', - limited: '{{count, number}}个 Webhook', - limited_other: '{{count, number}}个 Webhooks', + limited: '{{count, number}} 个 Webhook', + limited_other: '{{count, number}} 个 Webhooks', unlimited: '无限制的 Webhooks', - not_eligible: '移除您的 Webhooks', + not_eligible: '移除你的 Webhooks', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: '组织', + limited: '组织', + unlimited: '组织', + not_eligible: '移除你的组织', }, audit_logs_retention_days: { name: '审计日志保留', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts index 62f4046d2..75220f01a 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts @@ -26,8 +26,7 @@ const quota_table = { }, user_authn: { title: '用户认证', - /** UNTRANSLATED */ - omni_sign_in: 'Enterprise SSO (Q4, 2023)', + omni_sign_in: '企业SSO(2023年第四季度)', password: '密码', passwordless: '免密码登录 - 电子邮件和短信', email_connector: '电子邮件连接器', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: '组织', + organization: '组织(2023年第四季度)', }, support: { title: '支持', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/tabs.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/tabs.ts index 0f78e0b7b..888a61046 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API 资源', sign_in_experience: '登录体验', connectors: '连接器', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: '企业SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: '组织', users: '用户管理', audit_logs: '审计日志', roles: '角色', docs: '文档', - tenant_settings: '设置', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: '租户设置', + mfa: '多因素认证', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/tenants.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/tenants.ts index b1840ed68..669f1053b 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/tenants.ts @@ -12,25 +12,20 @@ const tenants = { description: '设置租户名称并查看托管数据的地区和环境标签。', tenant_id: '租户 ID', tenant_name: '租户名称', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: '数据托管地区', + tenant_region_tip: '您的租户资源托管在 {{region}}。 了解更多', environment_tag: '环境标签', environment_tag_description: '标签不会改变服务。它们只是指导您区分不同的环境。', environment_tag_development: '开发', environment_tag_staging: '预发布', environment_tag_production: '产品', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + '开发环境主要用于测试,包括所有专业功能,但在登录体验中会有水印。 了解更多', tenant_info_saved: '租户信息成功保存。', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: '开发', + production: '产品', }, deletion_card: { title: '删除', @@ -41,50 +36,28 @@ const tenants = { create_modal: { title: '创建租户', subtitle: '创建新的租户以分隔资源和用户。', - /** UNTRANSLATED */ - subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ - development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + subtitle_with_region: '创建一个新的租户以分隔资源和用户。地区和环境标签在创建后将无法更改。', + tenant_usage_purpose: '您想要使用此租户做什么?', + development_description: '开发环境主要用于测试,不应在生产环境中使用。', + development_hint: '开发环境主要用于测试,不应在生产环境中使用。', + production_description: '产品是最终用户使用的实际软件,可能需要付费订阅。', + available_plan: '可用方案:', create_button: '创建租户', tenant_name_placeholder: '我的租户', }, notification: { - /** UNTRANSLATED */ - allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + allow_pro_features_title: '您现在可以在您的开发租户中访问 全部Logto Pro功能!', + allow_pro_features_description: '完全免费,没有试用期-永远!', + explore_all_features: '探索所有功能', + impact_title: '这对我有影响吗?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + '您的租户标签已从"预发布"更改为"产品",但此更改不会影响您当前的设置。', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ - paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + '当您订阅Logto Hobby计划时,您以前的"开发"租户标签将变更为"产品",这不会影响您的现有设置。', + paid_tenant_hint_2: '如果您仍处于开发阶段,您可以创建一个新的开发租户以访问更多专业功能。', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ - paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + '如果您处于生产阶段或生产环境中,您仍然需要订阅特定的计划,因此此时不需要进行任何操作。', + paid_tenant_hint_4: '如需帮助,请随时联系我们!感谢您选择Logto!', }, delete_modal: { title: '删除租户', @@ -99,13 +72,13 @@ const tenants = { '抱歉,您现在无法删除此租户。请确保您处于免费计划并已支付所有未结账单。', }, tenant_landing_page: { - title: '你还没有创建租户', + title: '您还没有创建租户', description: - '要开始使用 Logto 配置项目,请创建一个新租户。如果您需要注销或删除您的帐户,只需单击右上角的头像按钮。', + '要开始使用Logto配置项目,请创建一个新的租户。如果您需要注销或删除您的帐户,只需单击右上角的头像按钮。', create_tenant_button: '创建租户', }, status: { - mau_exceeded: '超出MAU限制', + mau_exceeded: '超出 MAU 限制', suspended: '已暂停', overdue: '逾期', }, @@ -117,67 +90,44 @@ const tenants = { '如果您需要进一步澄清、有任何疑虑或希望恢复全部功能并解锁您的租户,请立即联系我们。', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: '签名密钥', + description: '在您的租户中安全管理签名密钥。', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC私钥', + cookie_key: 'OIDC Cookie密钥', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: '正在使用的私钥', + cookie_keys_in_use: '正在使用的 Cookie 密钥', + rotate_private_keys: '旋转私钥', + rotate_cookie_keys: '旋转 Cookie 密钥', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + '此操作将创建一个新的私钥,旋转当前密钥,并删除之前的密钥。使用当前密钥签名的JWT令牌将在删除或另一轮旋转之前保持有效。', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + '此操作将创建一个新的Cookie密钥,旋转当前密钥,并删除之前的密钥。使用当前密钥签名的Cookie将在删除或另一轮旋转之前保持有效。', + select_private_key_algorithm: '为新的私钥选择签名密钥算法', + rotate_button: '旋转', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: '状态', + algorithm: '签名密钥算法', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: '当前', + previous: '之前', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + '您确定要旋转OIDC私钥吗?新发布的JWT令牌将由新密钥签名。使用当前密钥签名的现有JWT令牌将在您再次旋转之前保持有效。', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + '您确定要旋转OIDC Cookie密钥吗?登录会话生成的新Cookie将由新Cookie密钥签名。使用当前密钥签名的现有Cookie将在您再次旋转之前保持有效。', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + '您确定要删除OIDC私钥吗?使用此私有签名密钥签名的现有JWT令牌将不再有效。', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + '您确定要删除OIDC Cookie密钥吗?用此Cookie密钥签名的旧登录会话将不再有效。这些用户需要重新验证。', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: '签名密钥旋转成功。', + delete_key_success: '密钥已成功删除。', }, }, }; diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/upsell/paywall.ts index 60b611f39..8cfe2c457 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '已达到 的{{count, number}}个应用限制。升级计划以满足团队需求。如需帮助,请随时联系我们。', applications_other: '已达到 的{{count, number}}个应用限制。升级计划以满足团队需求。如需帮助,请随时联系我们。', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + '升级至Hobby套餐,解锁1个机器对机器应用,或选择Pro套餐,可享无限使用。需要任何帮助,请随时联系我们。', machine_to_machine: '已达到 的{{count, number}}个机器对机器应用限制。升级计划以满足团队需求。如需帮助,请随时联系我们。', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { '已达到的{{count, number}}个 API 资源每个权限限制。立即升级以扩展。如需任何帮助,请联系我们。', scopes_per_resource_other: '已达到的{{count, number}}个 API 资源每个权限限制。立即升级以扩展。如需任何帮助,请联系我们。', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + '升级至HobbyPro套餐,解锁自定义域功能。如有任何需要,不要犹豫联系我们。', social_connectors: '已达到的{{count, number}}个社交连接器限制。为满足您团队的需求,请升级计划以获取额外的社交连接器,并可以使用 OIDC、OAuth 2.0 和 SAML 协议创建您自己的连接器。如需任何帮助,请联系我们。', social_connectors_other: '已达到的{{count, number}}个社交连接器限制。为满足您团队的需求,请升级计划以获取额外的社交连接器,并可以使用 OIDC、OAuth 2.0 和 SAML 协议创建您自己的连接器。如需任何帮助,请联系我们。', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + '升级至HobbyPro套餐,创建自己的连接器,可使用OIDC、OAuth 2.0和SAML协议,还可以享受无限社交连接器和所有高级功能。需要任何帮助,请随时联系我们。', standard_connectors: '已达到的{{count, number}}个社交连接器限制。为满足您团队的需求,请升级计划以获取额外的社交连接器,并可以使用 OIDC、OAuth 2.0 和 SAML 协议创建您自己的连接器。如需任何帮助,请联系我们。', standard_connectors_other: diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/user-details.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/user-details.ts index 7a53d275b..abcac6245 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: '设置', tab_roles: '角色', tab_logs: '用户日志', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: '组织', + authentication: '认证', authentication_description: '每个用户都有一个包含所有用户信息的个人资料。它由基本数据、社交身份和自定义数据组成。', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: '用户资料', field_email: '邮箱地址', field_phone: '手机号码', field_username: '用户名', @@ -37,29 +34,21 @@ const user_details = { field_custom_data: '自定义数据', field_custom_data_tip: '预定义属性之外的用户信息,例如用户偏好的颜色和语言。', field_connectors: '社交帐号', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: '企业连接', custom_data_invalid: '自定义数据必须是有效的 JSON 对象', connectors: { connectors: '连接器', user_id: '用户ID', remove: '删除', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: '该用户已连接多个社交连接。', not_connected: '该用户还没有绑定社交帐号', deletion_confirmation: '您正在删除现有的身份。你确定要继续吗?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ - connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ - not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + connectors: '连接器', + enterprise_id: '企业ID', + connected: '该用户已连接多个企业身份提供者进行单点登录。', + not_connected: '该用户尚未与任何企业身份提供者连接进行单点登录。', }, mfa: { field_name: '多因素认证', @@ -97,8 +86,7 @@ const user_details = { }, warning_no_sign_in_identifier: '用户需要至少拥有一个登录标识(用户名、邮箱、手机号或社交账户)才能登录。确定要继续吗?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: '用户在该组织内分配的角色。', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/webhooks.ts index 088c5d653..fdf993fae 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/webhooks.ts @@ -29,9 +29,7 @@ const webhooks = { name_placeholder: '输入 Webhook 名称', endpoint_url: 'Endpoint URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ - endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + endpoint_url_tip: '输入您的端点 URL,在事件发生时 Webhook 的数据将被发送到该 URL。', create_webhook: '创建 Webhook', missing_event_error: '您必须至少选择一个事件。', }, diff --git a/packages/phrases/src/locales/zh-hk/errors/entity.ts b/packages/phrases/src/locales/zh-hk/errors/entity.ts index 986882a65..ff05b1772 100644 --- a/packages/phrases/src/locales/zh-hk/errors/entity.ts +++ b/packages/phrases/src/locales/zh-hk/errors/entity.ts @@ -5,10 +5,7 @@ const entity = { not_exists: '該 {{name}} 不存在。', not_exists_with_id: 'ID 為 `{{id}}` 的 {{name}} 不存在。', not_found: '該資源不存在。', - /** UNTRANSLATED */ - relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ + relation_foreign_key_not_found: '找不到一個或多個外鍵。請檢查輸入並確保所有參照的實體都存在。', unique_integrity_violation: 'The entity already exists. Please check the input and try again.', }; diff --git a/packages/phrases/src/locales/zh-hk/errors/oidc.ts b/packages/phrases/src/locales/zh-hk/errors/oidc.ts index 07b8504b0..2016bed8d 100644 --- a/packages/phrases/src/locales/zh-hk/errors/oidc.ts +++ b/packages/phrases/src/locales/zh-hk/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: '用戶終止了交互。', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: '無效範圍: {{error_description}}.', invalid_token: 'Token 無效', invalid_client_metadata: '無效的客戶端元數據', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: '缺少權限範圍 `{{scope}}`。', invalid_request: '請求無效', invalid_grant: '授權請求無效', invalid_redirect_uri: '無效返回鏈接, 該 redirect_uri 未被此應用注冊。', @@ -15,14 +13,10 @@ const oidc = { unsupported_response_mode: '不支持的 response_mode', unsupported_response_type: '不支持的 response_type', provider_error: 'OIDC 內部錯誤: {{message}}', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: '發生了未知的 OIDC 錯誤。請稍後重試。', + provider_error_fallback: '發生了 OIDC 錯誤: {{code}}.', + key_required: '至少需要一個金鑰。', + key_not_found: '未找到 ID 為 {{id}} 的金鑰。', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/zh-hk/errors/organization.ts b/packages/phrases/src/locales/zh-hk/errors/organization.ts index 2752f71f9..d5ffcd282 100644 --- a/packages/phrases/src/locales/zh-hk/errors/organization.ts +++ b/packages/phrases/src/locales/zh-hk/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: '用戶必須是組織的成員才能繼續。', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/zh-hk/errors/session.ts b/packages/phrases/src/locales/zh-hk/errors/session.ts index 0981ab484..6429881a2 100644 --- a/packages/phrases/src/locales/zh-hk/errors/session.ts +++ b/packages/phrases/src/locales/zh-hk/errors/session.ts @@ -8,9 +8,7 @@ const session = { connector_session_not_found: '無法找到連接器登錄信息,請嘗試重新登錄。', verification_session_not_found: '驗證失敗,請重新驗證。', verification_expired: '當前頁面已超時。為確保你的賬號安全,請重新驗證。', - /** UNTRANSLATED */ - verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + verification_blocked_too_many_attempts: '短時間內嘗試次數太多。請過一會再試 {{relativeTime}}。', unauthorized: '請先登錄', unsupported_prompt_name: '不支持的 prompt name', forgot_password_not_enabled: '忘記密碼功能沒有開啟。', @@ -18,31 +16,19 @@ const session = { connector_validation_session_not_found: '找不到連接器用於驗證 token 的信息。', identifier_not_found: '找不到用戶標識符。請返回並重新登錄。', interaction_not_found: '找不到互動會話。請返回並重新開始會話。', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: '此操作不支援忘記密碼。', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: '需要 MFA 驗證才能登錄。', + mfa_sign_in_only: 'MFA 只能用於登錄互動。', + pending_info_not_found: '未找到等待中的 MFA 資訊,請先啟動 MFA。', + invalid_totp_code: '無效的 TOTP 驗證碼。', + webauthn_verification_failed: 'WebAuthn 驗證失敗。', + webauthn_verification_not_found: '未找到 WebAuthn 驗證。', + bind_mfa_existed: 'MFA 已存在。', + backup_code_can_not_be_alone: '備用碼不能作為唯一 MFA。', + backup_code_required: '備用碼是必需的。', + invalid_backup_code: '無效的備用碼。', + mfa_policy_not_user_controlled: 'MFA 政策不受使用者控制。', }, sso_enabled: '該郵箱已開啟單點登錄,請使用 SSO 登錄。', }; diff --git a/packages/phrases/src/locales/zh-hk/errors/single-sign-on.ts b/packages/phrases/src/locales/zh-hk/errors/single-sign-on.ts index 4950a49e2..85b10e969 100644 --- a/packages/phrases/src/locales/zh-hk/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/zh-hk/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: '不允許使用公共電郵域名。', + duplicated_domains: '存在重複的域名。', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/zh-hk/errors/user.ts b/packages/phrases/src/locales/zh-hk/errors/user.ts index 931af5978..81fe7efb1 100644 --- a/packages/phrases/src/locales/zh-hk/errors/user.ts +++ b/packages/phrases/src/locales/zh-hk/errors/user.ts @@ -28,12 +28,9 @@ const user = { missing_profile: '請於登錄時提供必要的使用者補充資訊。', role_exists: '角色 ID {{roleId}} 已添加到此使用者', invalid_role_type: '無法設置機械到機械角色給使用者。', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: '你需要在登錄前綁定額外的 MFA。', + totp_already_in_use: 'TOTP 已經在使用中。', + backup_code_already_in_use: '備份代碼已經在使用中。', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resource-details.ts index 331e8c3b7..e9171d001 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'API 資源,又稱資源指示器,表示要請求的目標服務或資源,通常是表示資源身份的 URI 格式變數。', management_api_settings_description: 'Logto 管理 API 是一個全面的 API 集合,使管理員能夠管理各種與身份有關的任務,執行安全策略,並遵守法規和標準。', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + '此 API 代表 Logto 實體,不得修改或刪除。你可以使用管理 API 進行各種與身份有關的任務。 了解更多', token_expiration_time_in_seconds: 'Token 過期時間(秒)', token_expiration_time_in_seconds_placeholder: '請輸入你的 token 過期時間', delete_description: diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/application-details.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/application-details.ts index 00e661546..387c53dff 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/application-details.ts @@ -15,18 +15,18 @@ const application_details = { description_placeholder: '請輸入應用程式描述', config_endpoint: 'OpenID Provider 配置端點', authorization_endpoint: '授權端點', - authorization_endpoint_tip: '進行驗證和授權的端點。用於 OpenID Connect 中的 驗證 流程。', + authorization_endpoint_tip: '進行驗證和授權的端點。用於 OpenID Connect 中的驗證 流程。', logto_endpoint: 'Logto endpoint', application_id: '應用程式 ID', application_id_tip: - '應用程式的唯一標識,通常由 Logto 生成。等價於 OpenID Connect 中的 client_id 。', + '應用程式的唯一標識,通常由 Logto 生成。等價於 OpenID Connect 中的client_id。', application_secret: '應用程式密鑰', redirect_uri: '重定向 URI', redirect_uris: '重定向 URI', redirect_uri_placeholder: 'https://your.website.com/app', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - '在使用者登入完成(不論成功與否)後重定向的目標 URI。參見 OpenID Connect AuthRequest 以瞭解更多。', + '在使用者登入完成(不論成功與否)後重定向的目標 URI。參見 OpenID Connect AuthRequest 以瞭解更多。', post_sign_out_redirect_uri: '登出後重定向 URI', post_sign_out_redirect_uris: '登出後重定向 URI', post_sign_out_redirect_uri_placeholder: 'https://your.website.com/home', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/enterprise-sso.ts index a938e55e1..cd3ee3ce6 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,23 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: '企業單一登入 (SSO)', + title: '企業單一登入 (SSO)', + subtitle: '連接企業身份提供者並啟用服務提供者啟動的單一登入。', + create: '新增企業連接器', + col_connector_name: '連接器名稱', + col_type: '類型', + col_email_domain: '電子郵件域名', + col_status: '狀態', + col_status_in_use: '使用中', + col_status_invalid: '無效', + placeholder_title: '企業連接器', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto已提供許多內建的企業身份提供者進行連接,同時您也可以通過標準協議創建自己的企業身份提供者。', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: '新增企業連接器', + text_divider: '或者您可以通過標準協議自定義您的連接器。', + connector_name_field_title: '連接器名稱', + connector_name_field_placeholder: '企業身份提供者的名稱', + create_button_text: '創建連接器', }, }; diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/general.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/general.ts index 038cfd9d4..282a1f888 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/general.ts @@ -33,11 +33,10 @@ const general = { copied: '已複製', required: '必填', add_another: '新增', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: '創建另一個', deletion_confirmation: '你確定要刪除這個 {{title}} 嗎?', settings_nav: '設置', - unsaved_changes_warning: '還有未儲存的變更, 確定要離開嗎?', + unsaved_changes_warning: '還有未儲存的變更,確定要離開嗎?', leave_page: '離開此頁', stay_on_page: '留在此頁', type_to_search: '輸入搜索', @@ -59,22 +58,15 @@ const general = { unknown_error: '未知錯誤,請稍後重試。', select: '選擇', contact_us_action: '聯絡我們', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: '描述', + name: '名稱', + add_field: '新增{{field}}', + create_field: '創建{{field}}', + edit_field: '編輯{{field}}', + delete_field: '刪除{{field}}', coming_soon: '即將推出', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} 目前處於測試階段。歡迎探索並 分享您的意見。', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/organization-details.ts index 3a2a5a8ad..bd77c1206 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/organization-details.ts @@ -1,46 +1,26 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ - delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + page_title: '組織詳細資料', + delete_confirmation: '刪除後,所有成員將失去他們在此組織的成員資格和角色。此操作無法撤銷。', + organization_id: '組織 ID', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + '組織是一組具有共同識別符的身份(通常是使用者)。每個組織都有自己的成員、角色和權限,而角色和權限是由組織模板定義的。', + name_placeholder: '組織的名稱,不需要是唯一的。', + description_placeholder: '組織的描述。', + member: '成員', + member_other: '成員', + add_members_to_organization: '將成員新增至組織 {{name}}', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + '通過搜索姓名、電子郵件、電話或使用者 ID 尋找合適的使用者。現有成員不會顯示在搜尋結果中。', + add_with_organization_role: '以組織角色添加', + user: '使用者', + authorize_to_roles: '授權 {{name}} 存取以下角色:', + edit_organization_roles: '編輯組織角色', + edit_organization_roles_of_user: '編輯 {{name}} 的組織角色', + remove_user_from_organization: '從組織中移除使用者', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + '移除後,使用者將失去他們在此組織的成員資格和角色。此操作無法撤銷。', + search_user_placeholder: '按姓名、電子郵件、電話或使用者 ID 搜尋', + at_least_one_user: '至少需要一名使用者。', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/organizations.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/organizations.ts index d6f9220af..acbd4e842 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/organizations.ts @@ -1,163 +1,91 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ - subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + page_title: '組織', + title: '組織', + subtitle: '代表作為組織存取應用程式的團隊、商業客戶和合作夥伴公司。', + organization_id: '組織 ID', + members: '成員', + create_organization: '建立組織', + setup_organization: '設定您的組織', + organization_list_placeholder_title: '組織', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + '組織通常在 SaaS 或類似 SaaS 的多租戶應用程式中使用。組織功能使您的 B2B 客戶能夠更好地管理其合作夥伴和客戶,並自定應用程式最終用戶的訪問方式。', + organization_name_placeholder: '我的組織', + organization_description_placeholder: '組織的簡要描述', + organization_permission: '組織權限', + organization_permission_other: '組織權限', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織權限指授權在組織上下文中存取資源的許可。組織權限應該以有意義的字串形式表示,同時作為名稱和唯一標識。', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + '如果刪除此權限,所有包含此權限的組織角色都將失去此權限,具有此權限的用戶將失去其授予的訪問權限。', + create_permission_placeholder: '讀取預約歷史', + permission: '權限', + permission_other: '權限', + organization_role: '組織角色', + organization_role_other: '組織角色', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + '組織角色是可以分配給用戶的權限的分組。權限必須來自預定義的組織權限。', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + '這樣將從受影響的用戶身上刪除與此角色關聯的權限,並刪除組織角色、組織成員和組織權限之間的關係。', + role: '角色', + create_role_placeholder: '僅擁有檢視權限的用戶', + search_placeholder: '按組織名稱或 ID 搜索', + search_permission_placeholder: '輸入並搜索選擇權限', + search_role_placeholder: '輸入並搜索選擇角色', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: '開始使用指南', + subtitle: '使用我們的指南快速開始應用程式開發流程', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: '首先,讓我們了解 Logto 中組織的運作方式', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + '在多租戶 SaaS 應用程式中,我們經常製作具有相同權限和角色設定的多個組織,但在組織的上下文中,它在控制不同層級的存取權方面可以起著重要作用。每個租戶都像是 Logto 組織,它們自然共享相同的存取控制“範本”。我們稱這個為“組織範本”。', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: '組織範本由兩部分組成', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織權限指授權在組織上下文中存取資源的許可。組織權限應該以有意義的字串形式表示,同時作為名稱和唯一標識。', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + '組織角色是可以分配給用戶的權限的分組。權限必須來自預定義的組織權限。', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: '交互示意圖,看看它們之間的關係', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + '讓我們舉個例子。約翰、莎拉和托尼處於不同組織中,擁有不同的角色。將滑鼠懸停在不同區塊上,看看會發生什麼。', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: '第 1 步:定義組織權限', + step_2: '第 2 步:定義組織角色', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '“組織角色”代表每個組織一開始就得到的一組角色。這些角色由您在前一步設置的全局權限所確定。類似組織權限,完成首次設置之後,您將無需每次創建新組織時都進行此設置。', + step_3: '第 3 步:創建您的第一個組織', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ - guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ - create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + '讓我們創建您的第一個組織。它具有唯一的 ID,作為處理各種更多面向業務的身份(例如合作夥伴、客戶)及其存取控制的容器。', + more_next_steps: '更多下一步', + add_members: '將成員新增到您的組織', + add_members_action: '批量新增成員並分配角色', + add_enterprise_connector: '添加企業 SSO', + add_enterprise_connector_action: '設定企業 SSO', + organization_permissions: '組織權限', + permission_name: '權限名稱', + permissions: '權限', + organization_roles: '組織角色', + role_name: '角色名稱', + organization_name: '組織名稱', + admin: '管理員', + admin_description: '“管理員”角色在不同組織中共享相同的組織範本。', + member: '成員', + member_description: '“成員”角色在不同組織中共享相同的組織範本。', + guest: '訪客', + guest_description: '“訪客”角色在不同組織中共享相同的組織範本。', + create_more_roles: '您可以在組織範本設定中創建更多角色。這些組織角色將適用於不同的組織。', + read_resource: '讀取:資源', + edit_resource: '編輯:資源', + delete_resource: '刪除:資源', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ - sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + '約翰隸屬於兩個組織,電郵為 "john@email.com" 為唯一識別。他是組織 A 的管理員,也是組織 B 的訪客。', + sarah: '莎拉隸屬於一個組織,電郵為 "sarah@email.com" 為唯一識別。她是組織 B 的管理員。', + tony: '托尼隸屬於一個組織,電郵為 "tony@email.com" 為唯一識別。他是組織 C 的成員。', }, }; diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/role-details.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/role-details.ts index 06f55e04a..ee89be6cf 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/role-details.ts @@ -39,11 +39,9 @@ const role_details = { deleted: '{{name}} 已成功從此角色中刪除', assign_title: '分配用戶', assign_subtitle: '將用戶分配給此角色。通過搜索名稱、電子郵件、電話或用戶 ID 查找適當的用戶。', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: '分配用戶', confirm_assign: '分配用戶', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: '所選的用戶已成功分配給此角色', empty: '無可用用戶', }, applications: { @@ -55,11 +53,9 @@ const role_details = { deleted: '{{name}} 已成功從此角色中刪除', assign_title: '分配應用', assign_subtitle: '將應用分配給此角色。通過搜索名稱、描述或應用 ID 查找適當的應用。', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: '分配應用', confirm_assign: '分配應用', - /** UNTRANSLATED */ - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: '所選的應用已成功分配給此角色', empty: '無可用應用', }, }; diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts index aa2939a76..e15d1603e 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts @@ -47,13 +47,9 @@ const quota_item = { not_eligible: '刪除您的自定義網域', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ not_eligible: 'Disable your SSO', }, built_in_email_connector_enabled: { @@ -98,14 +94,10 @@ const quota_item = { not_eligible: '移除您的 Webhooks', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: '組織', + limited: '組織', + unlimited: '組織', + not_eligible: '刪除您的組織', }, audit_logs_retention_days: { name: '審計日誌保留', @@ -115,10 +107,10 @@ const quota_item = { not_eligible: '無審計日誌', }, community_support_enabled: { - name: '社群支援', - limited: '社群支援', - unlimited: '社群支援', - not_eligible: '無社群支援', + name: '社區支援', + limited: '社區支援', + unlimited: '社區支援', + not_eligible: '無社區支援', }, customer_ticket_support: { name: '客戶工單支援', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts index 56950f5e8..55aacfe4f 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts @@ -26,8 +26,7 @@ const quota_table = { }, user_authn: { title: '用戶認證', - /** UNTRANSLATED */ - omni_sign_in: 'Enterprise SSO (Q4, 2023)', + omni_sign_in: '企業SSO(Q4, 2023)', password: '密碼', passwordless: '免密碼登錄 - 電子郵件和短信', email_connector: '電子郵件連接器', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: '組織', + organization: '組織(Q4, 2023)', }, support: { title: '支援', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/tabs.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/tabs.ts index c88c220cd..714a75bf6 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API 資源', sign_in_experience: '登錄體驗', connectors: '連接器', - /** UNTRANSLATED */ - enterprise_sso: 'Enterprise SSO', + enterprise_sso: '企業SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: '組織', users: '用戶管理', audit_logs: '審計日誌', roles: '角色', docs: '文檔', - tenant_settings: '設置', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: '租戶設置', + mfa: '多重認證', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/tenants.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/tenants.ts index 40e810cd2..dff2ac811 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/tenants.ts @@ -12,25 +12,20 @@ const tenants = { description: '設置租戶名稱並查看托管數據的地區和環境標籤。', tenant_id: '租户ID', tenant_name: '租户名称', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: '數據托管區域', + tenant_region_tip: '您的租戶資源托管在{{region}}。 了解更多', environment_tag: '環境標識', environment_tag_description: '標籤不會改變服務。它們只是協助您區分不同的環境。', environment_tag_development: '開發', environment_tag_staging: '預備', environment_tag_production: '產品', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + '開發環境主要用於測試,並包括所有專業功能,但登錄體驗中會有浮水印。 了解更多', tenant_info_saved: '租戶信息成功保存。', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: '開發', + production: '生產', }, deletion_card: { title: '刪除', @@ -41,58 +36,36 @@ const tenants = { create_modal: { title: '創建租戶', subtitle: '創建新租戶來區分資源及使用者。', - /** UNTRANSLATED */ - subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ - development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + subtitle_with_region: '創建新租戶以區分資源和使用者。地區和環境標籤在創建後無法修改。', + tenant_usage_purpose: '您希望使用此租戶做什麼?', + development_description: '開發環境主要用於測試,不應在生產環境中使用。', + development_hint: '開發環境主要用於測試,不應在生產環境中使用。', + production_description: '生產環境用於最終用戶使用軟件,可能需要付費訂閱。', + available_plan: '可用方案:', create_button: '創建租戶', tenant_name_placeholder: '我的租戶', }, notification: { - /** UNTRANSLATED */ - allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + allow_pro_features_title: '您現在可以在您的開發租戶中訪問所有 Logto Pro 的功能!', + allow_pro_features_description: '完全免費,無試用期 - 永久使用!', + explore_all_features: '探索所有功能', + impact_title: '這對我有影響嗎?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + '您的租戶標籤從 "預備" 變更為 "生產",但此變更不會影響您當前的設置。', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ - paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + '當您訂閱 Logto Hobby 計劃時,您之前的"開發"租戶標籤將切換為"生產",這不會影響您現有的設置。', + paid_tenant_hint_2: '如果您仍處於開發階段,可以創建新的開發租戶以訪問更多專業功能。', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ - paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + '如果您已進入生產階段或處於生產環境,仍需訂閱特定方案,因此您現在無需採取任何措施。', + paid_tenant_hint_4: '如果您需要幫助,請隨時聯繫我們!感謝您選擇 Logto!', }, delete_modal: { title: '刪除租戶', description_line1: - '您確定要刪除帶有環境標記 "{{tag}}" 的 "{{name}}" 租戶嗎?此操作無法撤銷,且會永久刪除您的所有數據和帳戶信息。', + '您確定要刪除標有環境標識"{{tag}}"的"{{name}}"租戶嗎?此操作無法撤銷,並會永久刪除您的所有數據和帳戶信息。', description_line2: '在刪除帳戶之前,也許我們可以為您提供幫助。通過電子郵件與我們聯繫', - description_line3: '如果您確定要繼續,請輸入租戶名稱 "{{name}}" 以進行確認。', + description_line3: '如果您確定要繼續,請輸入租戶名稱"{{name}}"以進行確認。', delete_button: '永久刪除', cannot_delete_title: '無法刪除此租戶', cannot_delete_description: @@ -117,67 +90,44 @@ const tenants = { '如果您需要進一步了解,有任何疑慮或希望恢復完整功能並解鎖您的租戶,請立即與我們聯繫。', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: '簽署金鑰', + description: '在您的租戶中安全地管理簽署金鑰。', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC私密金鑰', + cookie_key: 'OIDC Cookie金鑰', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: '正在使用的私密金鑰', + cookie_keys_in_use: '正在使用的 Cookie 金鑰', + rotate_private_keys: '旋轉私密金鑰', + rotate_cookie_keys: '旋轉 Cookie 金鑰', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + '此操作將創建一個新的私密簽署金鑰,旋轉當前金鑰並刪除以前的金鑰。您的使用當前金鑰簽署的 JWT 標記將保持有效,直到刪除或再次旋轉。', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + '此操作將創建一個新的 cookie 金鑰,旋轉當前金鑰並刪除以前的金鑰。使用當前金鑰簽署的 cookie 將保持有效,直到刪除或再次旋轉。', + select_private_key_algorithm: '選擇新私密金鑰的簽署算法', + rotate_button: '旋轉', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: '狀態', + algorithm: '簽署金鑰算法', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: '當前', + previous: '之前', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + '您確定要旋轉OIDC私密金鑰嗎?使用新金鑰發放的 JWT 標記將由新金鑰簽署。使用當前金鑰簽署的 JWT 標記將保持有效,直到您再次旋轉。', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + '您確定要旋轉OIDC Cookie金鑰嗎?在登錄會話中生成的新 cookie 將由新cookie金鑰簽署。使用當前金鑰簽署的 cookie 將保持有效,直到您再次旋轉。', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + '您確定要刪除OIDC私密金鑰嗎?使用此私密簽署金鑰簽署的現有 JWT 標記將不再有效。', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + '您確定要刪除OIDC Cookie金鑰嗎?使用此 cookie 金鑰簽署的較舊的登錄會話中的 cookie 不再有效,這些用戶需要重新驗證。', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: '簽署金鑰成功旋轉。', + delete_key_success: '金鑰成功刪除。', }, }, }; diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/upsell/paywall.ts index 5bc759177..a68488fbd 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '已達到 的{{count, number}}個應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', applications_other: '已達到 的{{count, number}}個應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + '升級至Hobby方案,解鎖 1 個機器對機器應用程式,或選擇Pro方案以獲得無限使用。如需要協助,歡迎聯繫我們。', machine_to_machine: '已達到 的{{count, number}}個機器對機器應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', machine_to_machine_other: @@ -18,34 +17,32 @@ const paywall = { '已達到的{{count, number}}個 API 資源每個權限限制。立即升級以擴展。如需任何幫助,請聯繫我們。', scopes_per_resource_other: '已達到的{{count, number}}個 API 資源每個權限限制。立即升級以擴展。如需任何幫助,請聯繫我們。', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + '升級至HobbyPro方案以解鎖自定義域功能。如需要任何協助,歡迎聯繫我們。', social_connectors: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', social_connectors_other: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + '升級至HobbyPro計劃,使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器,無限制的社交連接器以及所有高級功能。如需任何協助,歡迎聯繫我們。', standard_connectors: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', standard_connectors_other: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', standard_connectors_pro: - '已達到的{{count, number}}個標準連接器限制。為滿足您團隊的需求,請升級至企業版計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個標準連接器限制。為滿足您團隊的需求,請升級至企業版計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何協助,歡迎聯繫我們。', standard_connectors_pro_other: - '已達到的{{count, number}}個標準連接器限制。為滿足您團隊的需求,請升級至企業版計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個標準連接器限制。為滿足您團隊的需求,請升級至企業版計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何協助,歡迎聯繫我們。', roles: - '已達到的{{count, number}}個角色限制。升級計劃以添加額外的角色和權限。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個角色限制。升級計劃以添加額外的角色和權限。如需任何協助,歡迎聯繫我們。', roles_other: - '已達到的{{count, number}}個角色限制。升級計劃以添加額外的角色和權限。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個角色限制。升級計劃以添加額外的角色和權限。如需任何協助,歡迎聯繫我們。', scopes_per_role: - '已達到的{{count, number}}個角色每個權限限制。升級計劃以添加額外的角色和權限。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個角色每個權限限制。升級計劃以添加額外的角色和權限。如需任何協助,歡迎聯繫我們。', scopes_per_role_other: - '已達到的{{count, number}}個角色每個權限限制。升級計劃以添加額外的角色和權限。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個角色每個權限限制。升級計劃以添加額外的角色和權限。如需任何協助,歡迎聯繫我們。', hooks: - '已達到的{{count, number}}個 Webhook 限制。升級計劃以創建更多 Webhook。如需任何幫助,請聯繫我們。', + '已達到的{{count, number}}個 Webhook 限制。升級計劃以創建更多 Webhook。如需任何協助,歡迎聯繫我們。', hooks_other: '已達到的{{count, number}}個 Webhook 限制。升級計劃以創建更多 Webhook。如需任何幫助,請聯繫我們。', mfa: '升級到付費計劃以解鎖MFA以提高安全性。如果需要任何協助,請隨時聯繫我們。', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/user-details.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/user-details.ts index 7bf3d5569..ad45cb9ea 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: '設置', tab_roles: '角色', tab_logs: '用戶日誌', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: '組織', + authentication: '驗證', authentication_description: '每個用戶都有一個包含所有用戶信息的個人資料。它由基本數據、社交身份和自定義數據組成。', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: '用戶資料', field_email: '電子郵箱', field_phone: '手機號碼', field_username: '用戶名', @@ -35,31 +32,23 @@ const user_details = { field_avatar: '頭像圖片鏈接', field_avatar_placeholder: 'https://your.cdn.domain/avatar.png', field_custom_data: '自定義數據', - field_custom_data_tip: '預定義屬性之外的用戶信息,例如用戶偏好的顏色和語言。', + field_custom_data_tip: '預設屬性之外的用戶信息,例如用戶偏好的顏色和語言。', field_connectors: '社交帳號', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: '企業連接', custom_data_invalid: '自定義數據必須是有效的 JSON 對象', connectors: { - connectors: '連結器', + connectors: '連接器', user_id: '用戶 ID', remove: '刪除', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: '此用戶已連接多個社交連接器。', not_connected: '該用戶還沒有綁定社交帳號', deletion_confirmation: '您正在刪除現有的身份。你確定要繼續嗎?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ - connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ - not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + connectors: '連接器', + enterprise_id: '企業 ID', + connected: '此用戶已連接到多個企業身份提供者以進行單點登錄。', + not_connected: '該用戶未連接到任何企業身份提供者以進行單點登錄。', }, mfa: { field_name: '多重因素驗證', @@ -74,9 +63,9 @@ const user_details = { '你確定要禁用該用戶?該用戶將無法登錄您的應用程序,並在當前令牌過期後將無法獲取新的訪問令牌。此外,該用戶發出的任何 API 請求都將失敗。', suspend_action: '禁用', user_suspended: '用戶已被臨時禁用。', - reactivate_user: '重新啓用用戶', + reactivate_user: '重新啟用用戶', reactivate_user_reminder: '你確定要重新啟用該用戶?這樣做將允許該用戶的任何登錄嘗試。', - reactivate_action: '重新啓用', + reactivate_action: '重新啟用', user_reactivated: '用戶已重新啟用。', roles: { name_column: '角色名稱', @@ -97,7 +86,6 @@ const user_details = { }, warning_no_sign_in_identifier: '用戶需要至少擁有一個登錄標識(用戶名、電子郵件、電話號碼或社交帳號)才能登錄。確定要繼續嗎?', - /** UNTRANSLATED */ organization_roles_tooltip: 'The roles assigned to the user within this organization.', }; diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/webhooks.ts index 6f5da3b4e..e3087e772 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/webhooks.ts @@ -29,9 +29,7 @@ const webhooks = { name_placeholder: '輸入 webhook 名稱', endpoint_url: 'Endpoint URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ - endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + endpoint_url_tip: '輸入您的端點 URL,當事件發生時向其發送 Webhook 的有效負載。', create_webhook: '創建 Webhook', missing_event_error: '您必須至少選擇一個事件。', }, diff --git a/packages/phrases/src/locales/zh-tw/errors/entity.ts b/packages/phrases/src/locales/zh-tw/errors/entity.ts index a2cebe900..ddb94bdf8 100644 --- a/packages/phrases/src/locales/zh-tw/errors/entity.ts +++ b/packages/phrases/src/locales/zh-tw/errors/entity.ts @@ -5,10 +5,7 @@ const entity = { not_exists: '{{name}} 不存在。', not_exists_with_id: 'ID 為 `{{id}}` 的 {{name}} 不存在。', not_found: '資源不存在。', - /** UNTRANSLATED */ - relation_foreign_key_not_found: - 'Cannot find one or more foreign keys. Please check the input and ensure that all referenced entities exist.', - /** UNTRANSLATED */ + relation_foreign_key_not_found: '無法找到一個或多個外鍵。請檢查輸入並確保所有參考的實體都存在。', unique_integrity_violation: 'The entity already exists. Please check the input and try again.', }; diff --git a/packages/phrases/src/locales/zh-tw/errors/oidc.ts b/packages/phrases/src/locales/zh-tw/errors/oidc.ts index f34f92ca8..e74dd3ad8 100644 --- a/packages/phrases/src/locales/zh-tw/errors/oidc.ts +++ b/packages/phrases/src/locales/zh-tw/errors/oidc.ts @@ -1,11 +1,9 @@ const oidc = { aborted: '使用者終止了互動。', - /** UNTRANSLATED */ - invalid_scope: 'Invalid scope: {{error_description}}.', + invalid_scope: '無效的範圍: {{error_description}}。', invalid_token: 'Token 無效', invalid_client_metadata: '無效的用戶端元數據', - /** UNTRANSLATED */ - insufficient_scope: 'Token missing scope `{{scope}}`.', + insufficient_scope: 'Token 缺少範圍 `{{scope}}`。', invalid_request: '請求無效', invalid_grant: '授權請求無效', invalid_redirect_uri: '無效返回連結, 该 redirect_uri 未被此應用註冊。', @@ -15,14 +13,10 @@ const oidc = { unsupported_response_mode: '不支援的 response_mode', unsupported_response_type: '不支援的 response_type', provider_error: 'OIDC 內部錯誤: {{message}}', - /** UNTRANSLATED */ - server_error: 'An unknown OIDC error occurred. Please try again later.', - /** UNTRANSLATED */ - provider_error_fallback: 'An OIDC error occurred: {{code}}.', - /** UNTRANSLATED */ - key_required: 'At least one key is required.', - /** UNTRANSLATED */ - key_not_found: 'Key with ID {{id}} is not found.', + server_error: '發生未知的 OIDC 錯誤。請稍後再試。', + provider_error_fallback: '發生了一個 OIDC 錯誤: {{code}}。', + key_required: '至少需要一個金鑰。', + key_not_found: '未找到 ID 為 {{id}} 的金鑰。', }; export default Object.freeze(oidc); diff --git a/packages/phrases/src/locales/zh-tw/errors/organization.ts b/packages/phrases/src/locales/zh-tw/errors/organization.ts index 2752f71f9..349aebe1b 100644 --- a/packages/phrases/src/locales/zh-tw/errors/organization.ts +++ b/packages/phrases/src/locales/zh-tw/errors/organization.ts @@ -1,6 +1,5 @@ const organization = { - /** UNTRANSLATED */ - require_membership: 'The user must be a member of the organization to proceed.', + require_membership: '使用者必須是該組織的成員才能繼續。', }; export default Object.freeze(organization); diff --git a/packages/phrases/src/locales/zh-tw/errors/session.ts b/packages/phrases/src/locales/zh-tw/errors/session.ts index b6b02cfef..c4389118b 100644 --- a/packages/phrases/src/locales/zh-tw/errors/session.ts +++ b/packages/phrases/src/locales/zh-tw/errors/session.ts @@ -8,41 +8,27 @@ const session = { connector_session_not_found: '無法找到連接器登錄信息,請嘗試重新登錄。', verification_session_not_found: '驗證失敗,請重新驗證。', verification_expired: '當前頁面已超時。為確保你的帳號安全,請重新驗證。', - /** UNTRANSLATED */ - verification_blocked_too_many_attempts: - 'Too many attempts in a short time. Please try again {{relativeTime}}.', + verification_blocked_too_many_attempts: '在短時間內嘗試次數過多。請於{{relativeTime}}後再試。', unauthorized: '請先登錄', - unsupported_prompt_name: '不支援的 prompt name', + unsupported_prompt_name: '不支援的 prompt 名稱', forgot_password_not_enabled: '忘記密碼功能沒有開啟。', verification_failed: '驗證失敗,請重新驗證。', - connector_validation_session_not_found: '找不到連接器用於驗證 token 的資訊。', - identifier_not_found: '找不到使用者標識符。請返回並重新登錄。', + connector_validation_session_not_found: '找不到用於驗證 token 的連接器資訊。', + identifier_not_found: '找不到使用者識別碼。請返回並重新登錄。', interaction_not_found: '找不到交互會話。請返回並重新開始會話。', - /** UNTRANSLATED */ - not_supported_for_forgot_password: 'This operation is not supported for forgot password.', + not_supported_for_forgot_password: '該操作不支援忘記密碼。', mfa: { - /** UNTRANSLATED */ - require_mfa_verification: 'Mfa verification is required to sign in.', - /** UNTRANSLATED */ - mfa_sign_in_only: 'Mfa is only available for sign-in interaction.', - /** UNTRANSLATED */ - pending_info_not_found: 'Pending MFA info not found, please initiate MFA first.', - /** UNTRANSLATED */ - invalid_totp_code: 'Invalid TOTP code.', - /** UNTRANSLATED */ - webauthn_verification_failed: 'WebAuthn verification failed.', - /** UNTRANSLATED */ - webauthn_verification_not_found: 'WebAuthn verification not found.', - /** UNTRANSLATED */ - bind_mfa_existed: 'MFA already exists.', - /** UNTRANSLATED */ - backup_code_can_not_be_alone: 'Backup code can not be the only MFA.', - /** UNTRANSLATED */ - backup_code_required: 'Backup code is required.', - /** UNTRANSLATED */ - invalid_backup_code: 'Invalid backup code.', - /** UNTRANSLATED */ - mfa_policy_not_user_controlled: 'MFA policy is not user controlled.', + require_mfa_verification: '需要 MFA 驗證才能登錄。', + mfa_sign_in_only: 'MFA 只能用於登錄交互。', + pending_info_not_found: '未找到尚未處理的 MFA 資訊,請先初始化 MFA。', + invalid_totp_code: '無效的 TOTP 驗證碼。', + webauthn_verification_failed: 'WebAuthn 驗證失敗。', + webauthn_verification_not_found: '找不到 WebAuthn 驗證。', + bind_mfa_existed: 'MFA 已存在。', + backup_code_can_not_be_alone: '備份碼不能作為唯一的 MFA。', + backup_code_required: '需要備份碼。', + invalid_backup_code: '無效的備份碼。', + mfa_policy_not_user_controlled: 'MFA 策略不受用戶控制。', }, sso_enabled: '該郵箱已開啟單點登錄,請使用 SSO 登錄。', }; diff --git a/packages/phrases/src/locales/zh-tw/errors/single-sign-on.ts b/packages/phrases/src/locales/zh-tw/errors/single-sign-on.ts index 4950a49e2..6d2989a3e 100644 --- a/packages/phrases/src/locales/zh-tw/errors/single-sign-on.ts +++ b/packages/phrases/src/locales/zh-tw/errors/single-sign-on.ts @@ -1,8 +1,6 @@ const single_sign_on = { - /** UNTRANSLATED */ - forbidden_domains: 'Public email domains are not allowed.', - /** UNTRANSLATED */ - duplicated_domains: 'There are duplicate domains.', + forbidden_domains: '不允許使用公共電子郵件域名。', + duplicated_domains: '存在重複的域名。', }; export default Object.freeze(single_sign_on); diff --git a/packages/phrases/src/locales/zh-tw/errors/user.ts b/packages/phrases/src/locales/zh-tw/errors/user.ts index ae96fc31e..ae767874e 100644 --- a/packages/phrases/src/locales/zh-tw/errors/user.ts +++ b/packages/phrases/src/locales/zh-tw/errors/user.ts @@ -28,12 +28,9 @@ const user = { missing_profile: '請於登錄時提供必要的用戶補充信息。', role_exists: '角色 ID {{roleId}} 已添加到此用戶', invalid_role_type: '無效角色類型,無法將機器對機器角色分配給用戶。', - /** UNTRANSLATED */ - missing_mfa: 'You need to bind additional MFA before signing-in.', - /** UNTRANSLATED */ - totp_already_in_use: 'TOTP is already in use.', - /** UNTRANSLATED */ - backup_code_already_in_use: 'Backup code is already in use.', + missing_mfa: '在登錄前需要綁定額外的多因素驗證。', + totp_already_in_use: 'TOTP 已經在使用中。', + backup_code_already_in_use: '備份代碼已經在使用中。', }; export default Object.freeze(user); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resource-details.ts index 7d86fbc7f..c75d659bf 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resource-details.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resource-details.ts @@ -8,9 +8,8 @@ const api_resource_details = { 'API 資源,又稱資源指標,表示要請求的目標服務或資源,通常是表示資源身份的 URI 格式變數。', management_api_settings_description: 'Logto 管理 API 是一個全面的 API 集合,使管理員能夠管理各種與身份有關的任務,執行安全策略,並遵守法規和標準。', - /** UNTRANSLATED */ management_api_notice: - 'This API represents Logto entity and cannot be modified or deleted. You can use management API for a wide range of identity related tasks. Learn more', + '這個 API 代表 Logto 實體,不能被修改或刪除。你可以使用管理 API 來執行多種與身份相關的任務。 了解更多', token_expiration_time_in_seconds: 'Token 過期時間(秒)', token_expiration_time_in_seconds_placeholder: '請輸入你的 token 過期時間', delete_description: diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/enterprise-sso.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/enterprise-sso.ts index a938e55e1..f683859e5 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/enterprise-sso.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/enterprise-sso.ts @@ -1,40 +1,23 @@ const enterprise_sso = { - /** UNTRANSLATED */ - page_title: 'Enterprise SSO', - /** UNTRANSLATED */ - title: 'Enterprise SSO', - /** UNTRANSLATED */ - subtitle: 'Connect the enterprise identity provider and enable SP-initiated Single Sign-On.', - /** UNTRANSLATED */ - create: 'Add enterprise connector', - /** UNTRANSLATED */ - col_connector_name: 'Connector name', - /** UNTRANSLATED */ - col_type: 'Type', - /** UNTRANSLATED */ - col_email_domain: 'Email domain', - /** UNTRANSLATED */ - col_status: 'Status', - /** UNTRANSLATED */ - col_status_in_use: 'In use', - /** UNTRANSLATED */ - col_status_invalid: 'Invalid', - /** UNTRANSLATED */ - placeholder_title: 'Enterprise connector', - /** UNTRANSLATED */ + page_title: '企業單一登入', + title: '企業單一登入', + subtitle: '連接企業身份提供者,啟用 SP 啟動的單一登入。', + create: '新增企業連接器', + col_connector_name: '連接器名稱', + col_type: '類型', + col_email_domain: '電子郵件域', + col_status: '狀態', + col_status_in_use: '使用中', + col_status_invalid: '無效', + placeholder_title: '企業連接器', placeholder_description: - 'Logto has provided many built-in enterprise identity providers to connect, meantime you can create your own with standard protocols.', + 'Logto 提供了許多內置的企業身份提供者以便連接,同時你也可以使用標準協議創建自己的企業身份提供者。', create_modal: { - /** UNTRANSLATED */ - title: 'Add enterprise connector', - /** UNTRANSLATED */ - text_divider: 'Or you can customize your connector by a standard protocol.', - /** UNTRANSLATED */ - connector_name_field_title: 'Connector name', - /** UNTRANSLATED */ - connector_name_field_placeholder: 'Name for the enterprise identity provider', - /** UNTRANSLATED */ - create_button_text: 'Create connector', + title: '新增企業連接器', + text_divider: '或者你可以按照標準協議自定義你的連接器。', + connector_name_field_title: '連接器名稱', + connector_name_field_placeholder: '企業身份提供者的名稱', + create_button_text: '創建連接器', }, }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/general.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/general.ts index 92b126037..7f87494c8 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/general.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/general.ts @@ -33,8 +33,7 @@ const general = { copied: '已複製', required: '必填', add_another: '新增', - /** UNTRANSLATED */ - create_another: 'Create another', + create_another: '創建另一個', deletion_confirmation: '你確定要刪除這個 {{title}} 嗎?', settings_nav: '設置', unsaved_changes_warning: '還有未儲存的變更, 確定要離開嗎?', @@ -59,22 +58,15 @@ const general = { unknown_error: '未知錯誤,請稍後重試。', select: '選擇', contact_us_action: '聯絡我們', - /** UNTRANSLATED */ - description: 'Description', - /** UNTRANSLATED */ - name: 'Name', - /** UNTRANSLATED */ - add_field: 'Add {{field}}', - /** UNTRANSLATED */ - create_field: 'Create {{field}}', - /** UNTRANSLATED */ - edit_field: 'Edit {{field}}', - /** UNTRANSLATED */ - delete_field: 'Delete {{field}}', + description: '描述', + name: '名稱', + add_field: '新增{{field}}', + create_field: '創建{{field}}', + edit_field: '編輯{{field}}', + delete_field: '刪除{{field}}', coming_soon: '即將上線', - /** UNTRANSLATED */ beta_notice: - '🎉 {{feature}} is currently in beta. Welcome to explore it and share your feedback.', + '🎉 {{feature}} 目前正處於測試版。歡迎探索並 分享您的反饋意見。', }; export default Object.freeze(general); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/organization-details.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/organization-details.ts index 3a2a5a8ad..63902341a 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/organization-details.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/organization-details.ts @@ -1,46 +1,26 @@ const organization_details = { - /** UNTRANSLATED */ - page_title: 'Organization details', - /** UNTRANSLATED */ - delete_confirmation: - 'Once deleted, all members will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ + page_title: '組織詳情', + delete_confirmation: '刪除後,所有成員將失去在這個組織中的成員資格和角色。此操作無法撤銷。', + organization_id: '組織編號', settings_description: - 'An organization is a group of identities (usually users) that are recognized by a common identifier.\n\nEach organization has its own set of members, roles, and permissions, while the roles and permissions are defined by the organization template.', - /** UNTRANSLATED */ - name_placeholder: 'The name of the organization, not required to be unique.', - /** UNTRANSLATED */ - description_placeholder: 'A description of the organization.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_other: 'Members', - /** UNTRANSLATED */ - add_members_to_organization: 'Add members to organization {{name}}', - /** UNTRANSLATED */ + '組織是一組具有共同識別符的身分(通常是用戶)。每個組織都擁有自己的成員、角色和權限,而角色和權限則由組織模板定義。', + name_placeholder: '組織名稱,不需要是唯一的。', + description_placeholder: '組織的描述。', + member: '成員', + member_other: '成員', + add_members_to_organization: '將成員添加到 {{name}} 組織', add_members_to_organization_description: - 'Find appropriate users by searching name, email, phone, or user ID. Existing members are not shown in the search results.', - /** UNTRANSLATED */ - add_with_organization_role: 'Add with organization role(s)', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - authorize_to_roles: 'Authorize {{name}} to access the following roles:', - /** UNTRANSLATED */ - edit_organization_roles: 'Edit organization roles', - /** UNTRANSLATED */ - edit_organization_roles_of_user: 'Edit organization roles of {{name}}', - /** UNTRANSLATED */ - remove_user_from_organization: 'Remove user from organization', - /** UNTRANSLATED */ + '通過搜索名稱、電子郵件、電話或用戶ID來查找適合的用戶。現有成員不會顯示在搜索結果中。', + add_with_organization_role: '添加組織角色', + user: '用戶', + authorize_to_roles: '授權 {{name}} 訪問以下角色:', + edit_organization_roles: '編輯組織角色', + edit_organization_roles_of_user: '編輯 {{name}} 的組織角色', + remove_user_from_organization: '從組織中刪除用戶', remove_user_from_organization_description: - 'Once removed, the user will lose their membership and roles in this organization. This action cannot be undone.', - /** UNTRANSLATED */ - search_user_placeholder: 'Search by name, email, phone or user ID', - /** UNTRANSLATED */ - at_least_one_user: 'At least one user is required.', + '刪除後,用戶將失去在這個組織中的成員資格和角色。此操作無法撤銷。', + search_user_placeholder: '按名稱、電子郵件、電話或用戶ID搜尋', + at_least_one_user: '至少需要一個用戶。', }; export default Object.freeze(organization_details); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/organizations.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/organizations.ts index d6f9220af..f667fbd4e 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/organizations.ts @@ -1,163 +1,91 @@ const organizations = { - /** UNTRANSLATED */ - page_title: 'Organizations', - /** UNTRANSLATED */ - title: 'Organizations', - /** UNTRANSLATED */ - subtitle: - 'Represent the teams, business customers, and partner companies that access your applications as organizations.', - /** UNTRANSLATED */ - organization_id: 'Organization ID', - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - create_organization: 'Create organization', - /** UNTRANSLATED */ - setup_organization: 'Set up your organization', - /** UNTRANSLATED */ - organization_list_placeholder_title: 'Organization', - /** UNTRANSLATED */ + page_title: '組織', + title: '組織', + subtitle: '代表團隊、商業客戶和合作夥伴公司作為組織訪問您的應用程式。', + organization_id: '組織 ID', + members: '成員', + create_organization: '建立組織', + setup_organization: '設立您的組織', + organization_list_placeholder_title: '組織', organization_list_placeholder_text: - 'Organization is usually used in SaaS or SaaS-like multi-tenancy apps. The Organizations feature allows your B2B customers to better manage their partners and customers, and to customize the ways that end-users access their applications.', - /** UNTRANSLATED */ - organization_name_placeholder: 'My organization', - /** UNTRANSLATED */ - organization_description_placeholder: 'A brief description of the organization', - /** UNTRANSLATED */ - organization_permission: 'Organization permission', - /** UNTRANSLATED */ - organization_permission_other: 'Organization permissions', - /** UNTRANSLATED */ + '組織通常用於SaaS或類似SaaS的多租戶應用程式。組織功能允許您的B2B客戶更好地管理其合作夥伴和客戶,並自定義最終用戶訪問其應用程式的方式。', + organization_name_placeholder: '我的組織', + organization_description_placeholder: '組織的簡要描述', + organization_permission: '組織權限', + organization_permission_other: '組織權限', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織權限是指在組織上下文中訪問資源的授權。組織權限應該以有意義的字符串表示,同時作為名稱和唯一標識。', organization_permission_delete_confirm: - 'If this permission is deleted, all organization roles including this permission will lose this permission, and users who had this permission will lose the access granted by it.', - /** UNTRANSLATED */ - create_permission_placeholder: 'Read appointment history', - /** UNTRANSLATED */ - permission: 'Permission', - /** UNTRANSLATED */ - permission_other: 'Permissions', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_role_other: 'Organization roles', - /** UNTRANSLATED */ + '如果刪除此權限,所有包括此權限的組織角色將失去此權限,擁有此權限的用戶將失去其授予的訪問。', + create_permission_placeholder: '瀏覽預約歷史', + permission: '權限', + permission_other: '權限', + organization_role: '組織角色', + organization_role_other: '組織角色', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', - /** UNTRANSLATED */ + '組織角色是一組可以分配給用戶的權限。這些權限必須來自預定義的組織權限。', organization_role_delete_confirm: - 'Doing so will remove the permissions associated with this role from the affected users and delete the relations among organization roles, members in the organization, and organization permissions.', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - create_role_placeholder: 'Users with view-only permissions', - /** UNTRANSLATED */ - search_placeholder: 'Search by organization name or ID', - /** UNTRANSLATED */ - search_permission_placeholder: 'Type to search and select permissions', - /** UNTRANSLATED */ - search_role_placeholder: 'Type to search and select roles', + '這將從受影響的用戶中刪除與此角色相關的權限,並刪除組織角色、組織成員和組織權限之間的關係。', + role: '角色', + create_role_placeholder: '只擁有查看權限的用戶', + search_placeholder: '按組織名稱或ID搜索', + search_permission_placeholder: '輸入搜索並選擇權限', + search_role_placeholder: '輸入搜索並選擇角色', guide: { - /** UNTRANSLATED */ - title: 'Start with guides', - /** UNTRANSLATED */ - subtitle: 'Jumpstart your app development process with our guides', + title: '從指南開始', + subtitle: '使用我們的指南來快速啟動應用程式開發流程', introduction: { section_1: { - /** UNTRANSLATED */ - title: "First, let's understand how organizations works in Logto", - /** UNTRANSLATED */ + title: '首先,讓我們了解 Logto 中組織的運作方式', description: - 'In multi-tenant SaaS apps, we often make several organizations with the same set of permissions and roles, but within the context of an organization it can play an important part in controlling varying levels of access. Think of each tenant is like a Logto organization, and they naturally share the same access control “template”. We call this the "organization template."', + '在多租戶SaaS應用程式中,我們經常製作幾個具有相同許可和角色的組織,但在組織上下文中,它可以在控制不同訪問級別方面扮演重要角色。將每個租戶視為 Logto 組織,它們自然分享相同的訪問控制“範本”。我們稱之為“組織範本”。', }, section_2: { - /** UNTRANSLATED */ - title: 'Organization template consists of two parts', - /** UNTRANSLATED */ + title: '組織範本由兩部分組成', organization_permission_description: - 'Organization permission refers to the authorization to access a resource in the context of organization. An organization permission should be represented as a meaningful string, also serving as the name and unique identifier.', - /** UNTRANSLATED */ + '組織權限是指在組織上下文中訪問資源的授權。組織權限應該以有意義的字符串表示,同時作為名稱和唯一標識。', organization_role_description: - 'Organization role is a grouping of permissions that can be assigned to users. The permissions must come from the predefined organization permissions.', + '組織角色是可以分配給用戶的權限組。這些權限必須來自預定義的組織權限。', }, section_3: { - /** UNTRANSLATED */ - title: 'Interact the illustration to see how everything connects', - /** UNTRANSLATED */ + title: '與插圖互動,查看所有連結如何互相連接', description: - "Let's take an example. John, Sarah and Tony are in different organizations with different roles in the context of different organizations. Hover over the different modules and see what happens.", + '讓我們舉個例子。約翰、莎拉和托尼在不同組織中擁有不同角色,在不同組織的上下文中。將游標移到不同的模塊上並查看發生了什麼。', }, }, - /** UNTRANSLATED */ - step_1: 'Step 1: Define organization permissions', - /** UNTRANSLATED */ - step_2: 'Step 2: Define organization roles', - /** UNTRANSLATED */ + step_1: '步驟1:定義組織權限', + step_2: '步驟2: 定義組織角色', step_2_description: - '"Organization roles" represent a set of roles given to each organization at the start. These roles are determined by the global permissions you have set in previous screen. Similar with org permission, once you finish this setting for the first time, you won’t need to do this every-time you create a new organization.', - /** UNTRANSLATED */ - step_3: 'Step 3: Create your first organization', - /** UNTRANSLATED */ + '“組織角色”代表每個組織最開始授予的一組角色。這些角色由您在上一個畫面中設定的全局權限來確定。與組織權限相似,一旦您第一次完成此設置,您將不需要每次創建新組織時都進行此設置。', + step_3: '步驟3:創建您的第一個組織', step_3_description: - "Let's create your first organization. It comes with a unique ID and serves as a container for handling various more business-toward identities, such as partners, customers, and their access control.", - /** UNTRANSLATED */ - more_next_steps: 'More next steps', - /** UNTRANSLATED */ - add_members: 'Add members to your organization', - /** UNTRANSLATED */ - add_members_action: 'Bulk add members and assign roles', - /** UNTRANSLATED */ - add_enterprise_connector: 'Add enterprise SSO', - /** UNTRANSLATED */ - add_enterprise_connector_action: 'Set up enterprise SSO', - /** UNTRANSLATED */ - organization_permissions: 'Organization permissions', - /** UNTRANSLATED */ - permission_name: 'Permission name', - /** UNTRANSLATED */ - permissions: 'Permissions', - /** UNTRANSLATED */ - organization_roles: 'Organization roles', - /** UNTRANSLATED */ - role_name: 'Role name', - /** UNTRANSLATED */ - organization_name: 'Organization name', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - admin_description: - 'Role "Admin" share the same organization template across different organizations.', - /** UNTRANSLATED */ - member: 'Member', - /** UNTRANSLATED */ - member_description: - 'Role "Member" share the same organization template across different organizations.', - /** UNTRANSLATED */ - guest: 'Guest', - /** UNTRANSLATED */ - guest_description: - 'Role "Guest" share the same organization template across different organizations.', - /** UNTRANSLATED */ - create_more_roles: - 'You can create more roles in the organization template settings. Those organization roles will apply to different organizations.', - /** UNTRANSLATED */ - read_resource: 'read:resource', - /** UNTRANSLATED */ - edit_resource: 'edit:resource', - /** UNTRANSLATED */ - delete_resource: 'delete:resource', - /** UNTRANSLATED */ + '讓我們創建您的第一個組織。它帶有一個獨特的ID,並作為處理各種更多面向商業的身份(例如合作夥伴、客戶以及其訪問控制)的容器。', + more_next_steps: '更多下一步', + add_members: '將成員新增至您的組織', + add_members_action: '批量添加成員並分配角色', + add_enterprise_connector: '新增企業SSO', + add_enterprise_connector_action: '設定企業SSO', + organization_permissions: '組織權限', + permission_name: '權限名稱', + permissions: '權限', + organization_roles: '組織角色', + role_name: '角色名稱', + organization_name: '組織名稱', + admin: '管理員', + admin_description: '“管理員”角色在不同組織中共享相同的組織範本。', + member: '成員', + member_description: '“成員”角色在不同組織中共享相同的組織範本。', + guest: '訪客', + guest_description: '“訪客”角色在不同組織中共享相同的組織範本。', + create_more_roles: '您可以在組織範本設置中創建更多角色。這些組織角色將應用於不同組織。', + read_resource: '讀取:資源', + edit_resource: '編輯:資源', + delete_resource: '刪除:資源', ellipsis: '……', - /** UNTRANSLATED */ johnny: - 'Johny belongs to two organization with the email "john@email.com" as the single identifier. He is the admin of organization A as well as guest of organization B.', - /** UNTRANSLATED */ - sarah: - 'Sarah belongs to one organization with the email "sarah@email.com" as the single identifier. She is the admin of organization B.', - /** UNTRANSLATED */ - tony: 'Tony belongs to one organization with the email "tony@email.com" as the single identifier. He is the member of organization C.', + '約翰是兩個組織的成員,電子郵件為“john@email.com”,作為唯一識別符。他是組織A的管理員,也是組織B的訪客。', + sarah: '莎拉是一個組織的成員,電子郵件為“sarah@email.com”,作為唯一識別符。她是組織B的管理員。', + tony: '托尼是一個組織的成員,電子郵件為“tony@email.com”,作為唯一識別符。他是組織C的成員。', }, }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/role-details.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/role-details.ts index 49e177c8c..2ed4a1be5 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/role-details.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/role-details.ts @@ -1,6 +1,6 @@ const role_details = { back_to_roles: '返回角色', - identifier: '標識符', + identifier: '識別符', delete_description: '這樣做將從受影響的用戶中刪除與該角色關聯的權限,並刪除角色、用戶和權限之間的映射關係。', role_deleted: '{{name}} 已成功刪除。', @@ -39,10 +39,8 @@ const role_details = { deleted: '{{name}} 已成功從此角色中刪除', assign_title: '分配用戶', assign_subtitle: '將用戶分配給此角色。通過搜索名稱、電子郵件、電話或用戶 ID 尋找適當的用戶。', - /** UNTRANSLATED */ - assign_field: 'Assign users', + assign_field: '分配用戶', confirm_assign: '分配用戶', - /** UNTRANSLATED */ assigned_toast_text: 'The selected users were successfully assigned to this role', empty: '無可用用戶', }, @@ -55,10 +53,8 @@ const role_details = { deleted: '{{name}} 已從此角色中成功刪除', assign_title: '分配應用', assign_subtitle: '將應用程式分配給此角色。通過搜索名稱、描述或應用程式 ID 尋找合適的應用程式。', - /** UNTRANSLATED */ - assign_field: 'Assign applications', + assign_field: '分配應用', confirm_assign: '分配應用', - /** UNTRANSLATED */ assigned_toast_text: 'The selected applications were successfully assigned to this role', empty: '沒有可用的應用程式', }, diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts index 19479645a..0c29b2d45 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts @@ -7,20 +7,20 @@ const quota_item = { not_eligible: '移除您的租戶', }, mau_limit: { - name: 'Monthly active users', + name: '月活用戶', limited: '{{count, number}} 月活用戶', unlimited: '不限月活用戶數', not_eligible: '移除您的所有用戶', }, applications_limit: { - name: 'Applications', + name: '應用程式', limited: '{{count, number}} 應用程式', limited_other: '{{count, number}} 應用程式', unlimited: '不限應用程式數', not_eligible: '移除您的應用程式', }, machine_to_machine_limit: { - name: 'Machine to machine', + name: '機器對機器應用程式', limited: '{{count, number}} 機器對機器應用程式', limited_other: '{{count, number}} 機器對機器應用程式', unlimited: '不限機器對機器應用程式數', @@ -47,14 +47,10 @@ const quota_item = { not_eligible: '移除您的自訂網域', }, omni_sign_in_enabled: { - /** UNTRANSLATED */ name: 'SSO', - /** UNTRANSLATED */ limited: 'SSO', - /** UNTRANSLATED */ unlimited: 'SSO', - /** UNTRANSLATED */ - not_eligible: 'Disable your SSO', + not_eligible: '停用你的 SSO', }, built_in_email_connector_enabled: { name: '內建電子郵件連接程式', @@ -98,14 +94,10 @@ const quota_item = { not_eligible: '移除您的 Webhooks', }, organization_enabled: { - /** UNTRANSLATED */ - name: 'Organization', - /** UNTRANSLATED */ - limited: 'Organization', - /** UNTRANSLATED */ - unlimited: 'Organization', - /** UNTRANSLATED */ - not_eligible: 'Remove your organizations', + name: '組織', + limited: '組織', + unlimited: '組織', + not_eligible: '移除您的組織', }, audit_logs_retention_days: { name: '審計記錄保留期限', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts index 0d337e8d2..33c591955 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts @@ -26,8 +26,7 @@ const quota_table = { }, user_authn: { title: '使用者認證', - /** UNTRANSLATED */ - omni_sign_in: 'Enterprise SSO (Q4, 2023)', + omni_sign_in: '企業SSO(2023年第4季)', password: '密碼', passwordless: '免密碼登入 - 電子郵件和簡訊', email_connector: '電子郵件連接器', @@ -35,7 +34,7 @@ const quota_table = { social_connectors: '社交連接器', standard_connectors: '標準連接器', built_in_email_connector: '內建電子郵件連接器', - mfa: 'MFA', + mfa: '多因素認證', }, user_management: { title: '使用者管理', @@ -52,10 +51,8 @@ const quota_table = { hooks: 'Webhooks', }, organization: { - /** UNTRANSLATED */ - title: 'Organization', - /** UNTRANSLATED */ - organization: 'Organization (Q4, 2023)', + title: '組織', + organization: '組織(2023年第4季)', }, support: { title: '支援', @@ -69,8 +66,8 @@ const quota_table = { contact: '聯絡', monthly_price: '${{value, number}}/月', mau_price: '${{value, number}}/MAU', - days_one: '{{count, number}}天', - days_other: '{{count, number}}天', + days_one: '{{count, number}} 天', + days_other: '{{count, number}} 天', add_on: '附加功能', tier: '層級{{value, number}}:', }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/tabs.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/tabs.ts index 5a89aa5ac..0e8f730ab 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/tabs.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/tabs.ts @@ -5,18 +5,15 @@ const tabs = { api_resources: 'API 資源', sign_in_experience: '登入體驗', connectors: '連接器', - /** UNTRANSLATED */ enterprise_sso: 'Enterprise SSO', webhooks: 'Webhooks', - /** UNTRANSLATED */ - organizations: 'Organizations', + organizations: '組織', users: '使用者管理', audit_logs: '稽核日誌', roles: '角色', docs: '文件', - tenant_settings: '設定', - /** UNTRANSLATED */ - mfa: 'Multi-factor auth', + tenant_settings: '租戶設定', + mfa: '多重認證', }; export default Object.freeze(tabs); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/tenants.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/tenants.ts index b9f51f861..158314a76 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/tenants.ts @@ -12,25 +12,20 @@ const tenants = { description: '設置租戶名稱並查看托管數據的地區和環境標籤。', tenant_id: '租戶 ID', tenant_name: '租戶名稱', - /** UNTRANSLATED */ - tenant_region: 'Data hosted region', - /** UNTRANSLATED */ - tenant_region_tip: 'Your tenant resources are hosted in {{region}}. Learn more', + tenant_region: '資料托管地區', + tenant_region_tip: '您的租戶資源托管於 {{region}}。 了解更多', environment_tag: '環境標籤', environment_tag_description: '標籤不會改變服務。它們只是指導您區分各種環境。', environment_tag_development: '開發', environment_tag_staging: '預置', environment_tag_production: '產品', - /** UNTRANSLATED */ development_description: - 'Development environment is mainly used for testing and include all pro features but have watermarks in the sign in experience. Learn more', + '開發環境主要用於測試,包括所有 Pro 功能,但在登入體驗中會有浮水印。 了解更多', tenant_info_saved: '租戶資訊成功儲存。', }, full_env_tag: { - /** UNTRANSLATED */ - development: 'Development', - /** UNTRANSLATED */ - production: 'Production', + development: '開發', + production: '產品', }, deletion_card: { title: '刪除', @@ -41,62 +36,40 @@ const tenants = { create_modal: { title: '建立客戶', subtitle: '建立新租戶以區分資源和使用者。', - /** UNTRANSLATED */ - subtitle_with_region: - 'Create a new tenant to separate resources and users. Region and environment tags can’t be modified after creation.', - /** UNTRANSLATED */ - tenant_usage_purpose: 'What do you want to use this tenant for?', - /** UNTRANSLATED */ - development_description: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - development_hint: - 'Development environment is mainly used for testing and should not use in production environment.', - /** UNTRANSLATED */ - production_description: - 'Production is where live software is used by end-users and may require a paid subscription.', - /** UNTRANSLATED */ - available_plan: 'Available plan:', + subtitle_with_region: '建立新租戶以區分資源和使用者。建立後無法修改地區和環境標籤。', + tenant_usage_purpose: '您希望將此租戶用於什麼目的?', + development_description: '開發環境主要用於測試,不適用於生產環境。', + development_hint: '開發環境主要用於測試,不適用於生產環境。', + production_description: '產品環境用於最終用戶使用的即時軟體,可能需要付費訂閱。', + available_plan: '可用方案:', create_button: '建立租戶', tenant_name_placeholder: '我的租戶', }, notification: { - /** UNTRANSLATED */ - allow_pro_features_title: - 'You can now access all features of Logto Pro in your development tenant!', - /** UNTRANSLATED */ - allow_pro_features_description: "It's completely free, with no trial period – forever!", - /** UNTRANSLATED */ - explore_all_features: 'Explore all features', - /** UNTRANSLATED */ - impact_title: 'Does this have any impact on me?', - /** UNTRANSLATED */ + allow_pro_features_title: '您現在可以在開發租戶中存取 Logto Pro 的所有功能!', + allow_pro_features_description: '完全免費,沒有試用期 - 永遠免費!', + explore_all_features: '探索所有功能', + impact_title: '這對我有任何影響嗎?', staging_env_hint: - 'Your tenant label has been updated from "Staging" to "Production", but this change will not impact your current setup.', - /** UNTRANSLATED */ + '您的租戶標籤已從"預置"更改為"產品",但此更改不會影響您當前的設置。', paid_tenant_hint_1: - 'As you subscribe to the Logto Hobby plan, your previous "Development" tenant tag will switch to "Production", and this won\'t affect your existing setup.', - /** UNTRANSLATED */ - paid_tenant_hint_2: - "If you're still in the development stage, you can create a new development tenant to access more pro features.", - /** UNTRANSLATED */ + '當您訂閱Logto Hobby 方案時,您之前的"開發"租戶標籤將切換為"產品",並且這不會影響您現有的設置。', + paid_tenant_hint_2: '如果您仍處於開發階段,您可以創建一個新的開發租戶以存取更多的專業功能。', paid_tenant_hint_3: - "If you're in the production stage, or a production environment, you still need to subscribe to a specific plan so there's nothing you need to do at this moment.", - /** UNTRANSLATED */ - paid_tenant_hint_4: - "Don't hesitate to reach out if you require help! Thank you for choosing Logto!", + '如果您處於生產階段或生產環境,您仍需要訂閱特定方案,因此此時無需採取任何行動。', + paid_tenant_hint_4: '如需幫助,請隨時聯繫我們!感謝您選擇Logto!', }, delete_modal: { title: '刪除租戶', description_line1: - '您是否確定要刪除具有環境後綴標籤 "{{tag}}" 的租戶 "{{name}}"?這個動作是無法撤銷的,並會永久刪除您的所有資料和帳戶資訊。', + '您確定要刪除帶有環境標籤 "{{tag}}" 的租戶 "{{name}}"?此操作無法撤銷,並將永久刪除所有您的數據和帳戶信息。', description_line2: - '在刪除帳戶之前,也許我們能提供幫助。通過電子郵件與我們聯繫', + '在刪除帳戶前,也許我們能提供幫助。通過電子郵件與我們聯繫', description_line3: '如果您確定要繼續,請輸入租戶名稱 "{{name}}" 以確認。', delete_button: '永久刪除', cannot_delete_title: '無法刪除此租戶', cannot_delete_description: - '抱歉,您現在無法刪除此租戶。請確保您處於免費計劃並已支付所有未結賬單。', + '抱歉,您現在無法刪除此租戶。請確保您處於免費方案並已支付所有未結賬單。', }, tenant_landing_page: { title: '您尚未建立租戶', @@ -117,67 +90,44 @@ const tenants = { '如果您需要進一步的說明、有任何疑慮或希望恢復全部功能並解鎖您的租戶,請立即聯絡我們。', }, signing_keys: { - /** UNTRANSLATED */ - title: 'SIGNING KEYS', - /** UNTRANSLATED */ - description: 'Securely manage signing keys in your tenant.', + title: '签名密钥', + description: '在您的租戶中安全管理签名密钥。', type: { - /** UNTRANSLATED */ - private_key: 'OIDC private keys', - /** UNTRANSLATED */ - cookie_key: 'OIDC cookie keys', + private_key: 'OIDC 私鑰', + cookie_key: 'OIDC Cookie 密鑰', }, - /** UNTRANSLATED */ - private_keys_in_use: 'Private keys in use', - /** UNTRANSLATED */ - cookie_keys_in_use: 'Cookie keys in use', - /** UNTRANSLATED */ - rotate_private_keys: 'Rotate private keys', - /** UNTRANSLATED */ - rotate_cookie_keys: 'Rotate cookie keys', - /** UNTRANSLATED */ + private_keys_in_use: '正在使用的私鑰', + cookie_keys_in_use: '正在使用的 Cookie 密鑰', + rotate_private_keys: '輪換私鑰', + rotate_cookie_keys: '輪換 Cookie 密鑰', rotate_private_keys_description: - 'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ + '此操作將創建一個新的私密簽名密鑰,輪換當前密鑰並刪除之前的密鑰。您的使用當前密鑰簽署的 JWT 憑證在刪除或另一輪輪換之前仍然有效。', rotate_cookie_keys_description: - 'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.', - /** UNTRANSLATED */ - select_private_key_algorithm: 'Select signing key algorithm for the new private key', - /** UNTRANSLATED */ - rotate_button: 'Rotate', + '此操作將創建一個新的 Cookie 密鑰,輪換當前密鑰並刪除之前的密鑰。使用當前密鑰簽署的 Cookie 將在刪除或另一輪輪換之前仍然有效。', + select_private_key_algorithm: '選擇新私鑰的簽名演算法', + rotate_button: '輪換', table_column: { - /** UNTRANSLATED */ id: 'ID', - /** UNTRANSLATED */ - status: 'Status', - /** UNTRANSLATED */ - algorithm: 'Signing key algorithm', + status: '狀態', + algorithm: '簽名演算法', }, status: { - /** UNTRANSLATED */ - current: 'Current', - /** UNTRANSLATED */ - previous: 'Previous', + current: '當前的', + previous: '之前的', }, reminder: { - /** UNTRANSLATED */ rotate_private_key: - 'Are you sure you want to rotate the OIDC private keys? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.', - /** UNTRANSLATED */ + '您確定要輪換OIDC私鑰嗎?新發放的 JWT 憑證將由新的密鑰簽署。現有的 JWT 憑證仍然有效,直到下一輪輪換或刪除。', rotate_cookie_key: - 'Are you sure you want to rotate the OIDC cookie keys? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.', - /** UNTRANSLATED */ + '您確定要輪換OIDC Cookie 密鑰嗎?在登入會話中生成的新 Cookie 將由新的 Cookie 密鑰簽署。現有 Cookie 在下一輪輪換或刪除之前仍然有效。', delete_private_key: - 'Are you sure you want to delete the OIDC private key? Existing JWT tokens signed with this private signing key will no longer be valid.', - /** UNTRANSLATED */ + '您確定要刪除OIDC私鑰嗎?使用此私密簽名密鑰簽署的現有 JWT 憑證將不再有效。', delete_cookie_key: - 'Are you sure you want to delete the OIDC cookie key? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.', + '您確定要刪除OIDC Cookie 密鑰嗎?用此 Cookie 密鑰簽署的舊登入會話將不再有效。這些使用者需要重新驗證。', }, messages: { - /** UNTRANSLATED */ - rotate_key_success: 'Signing keys rotated successfully.', - /** UNTRANSLATED */ - delete_key_success: 'Key deleted successfully.', + rotate_key_success: '密鑰輪換成功。', + delete_key_success: '密鑰刪除成功。', }, }, }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/upsell/paywall.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/upsell/paywall.ts index 5bc759177..dab99526d 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/upsell/paywall.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/upsell/paywall.ts @@ -3,9 +3,8 @@ const paywall = { '已達到 的{{count, number}}個應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', applications_other: '已達到 的{{count, number}}個應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', - /** UNTRANSLATED */ machine_to_machine_feature: - 'Upgrade to the Hobby plan to unlock 1 machine-to-machine application, or choose the Pro plan for unlimited usage. For any assistance, feel free to contact us.', + '升級至 Hobby 計劃以解鎖 1 個機器對機器應用程式,或選擇 Pro 計劃享有無限使用。如需任何幫助,歡迎聯絡我們。', machine_to_machine: '已達到 的{{count, number}}個機器對機器應用程式限制。升級計劃以滿足團隊需求。如需任何協助,歡迎聯絡我們。', machine_to_machine_other: @@ -18,16 +17,14 @@ const paywall = { '已達到的{{count, number}}個 API 資源每個權限限制。立即升級以擴展。如需任何幫助,請聯繫我們。', scopes_per_resource_other: '已達到的{{count, number}}個 API 資源每個權限限制。立即升級以擴展。如需任何幫助,請聯繫我們。', - /** UNTRANSLATED */ custom_domain: - 'Unlock custom domain functionality by upgrading to Hobby or Pro plan. Don’t hesitate to contact us if you need any assistance.', + '升級至 HobbyPro 計劃以解鎖自訂網域功能。如有任何需要協助,請隨時聯繫我們。', social_connectors: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', social_connectors_other: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', - /** UNTRANSLATED */ standard_connectors_feature: - 'Upgrade to the Hobby or Pro plan to create your own connectors using OIDC, OAuth 2.0, and SAML protocols, plus unlimited social connectors and all the premium features. Feel free to contact us if you need any assistance.', + '升級至 HobbyPro 計劃以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器,享有無限社交連接器和所有高級功能。如需任何協助,歡迎聯繫我們。', standard_connectors: '已達到的{{count, number}}個社交連接器限制。為滿足您團隊的需求,請升級計劃以獲取額外的社交連接器,並可以使用 OIDC、OAuth 2.0 和 SAML 協議創建您自己的連接器。如需任何幫助,請聯繫我們。', standard_connectors_other: diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/user-details.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/user-details.ts index eaf1eb1fc..0af4733e9 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/user-details.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/user-details.ts @@ -20,14 +20,11 @@ const user_details = { tab_settings: '設定', tab_roles: '角色', tab_logs: '用戶日誌', - /** UNTRANSLATED */ - tab_organizations: 'Organizations', - /** UNTRANSLATED */ - authentication: 'Authentication', + tab_organizations: '組織', + authentication: '身份驗證', authentication_description: '每個用戶都有一個包含所有用戶資訊的個人資料。它由基本數據、社交身份和自定義數據組成。', - /** UNTRANSLATED */ - user_profile: 'User profile', + user_profile: '使用者檔案', field_email: '電子郵箱', field_phone: '手機號碼', field_username: '用戶名', @@ -37,29 +34,21 @@ const user_details = { field_custom_data: '自定義數據', field_custom_data_tip: '預定義屬性之外的用戶資訊,例如用戶偏好的顏色和語言。', field_connectors: '社交帳號', - /** UNTRANSLATED */ - field_sso_connectors: 'Enterprise connections', + field_sso_connectors: '企業連接', custom_data_invalid: '自定義數據必須是有效的 JSON 對象', connectors: { connectors: '連接器', user_id: '用戶ID', remove: '刪除', - /** UNTRANSLATED */ - connected: 'This user is connected with multiple social connectors.', + connected: '該用戶已連接多個社交連接器。', not_connected: '該用戶還沒有綁定社交帳號', deletion_confirmation: '您正在刪除現有的身份。你確定要繼續嗎?', }, sso_connectors: { - /** UNTRANSLATED */ - connectors: 'Connectors', - /** UNTRANSLATED */ - enterprise_id: 'Enterprise ID', - /** UNTRANSLATED */ - connected: - 'This user is connected to multiple enterprise identity providers for Single Sign-On.', - /** UNTRANSLATED */ - not_connected: - 'The user is not connected to any enterprise identity providers for Single Sign-On.', + connectors: '連接器', + enterprise_id: '企業ID', + connected: '該用戶已連接至多個企業身份提供者進行單一登錄。', + not_connected: '該用戶尚未連接到任何企業身份提供者進行單一登錄。', }, mfa: { field_name: '多因素驗證', @@ -97,8 +86,7 @@ const user_details = { }, warning_no_sign_in_identifier: '使用者需要至少擁有一個登入標識(使用者名稱、電子郵件、電話號碼或社交帳號)才能登入。確定要繼續嗎?', - /** UNTRANSLATED */ - organization_roles_tooltip: 'The roles assigned to the user within this organization.', + organization_roles_tooltip: '該組織中分配給該用戶的角色。', }; export default Object.freeze(user_details); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/webhooks.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/webhooks.ts index 7fad9d662..3cd34871c 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/webhooks.ts @@ -17,7 +17,7 @@ const webhooks = { placeholder: { title: 'Webhook', description: - '創建 Webhook 以收到通過 POST 請求發送到您的端點 URL 的即時更新。保持資訊,對「創建帳戶」、「登錄」和「重置密碼」等事件立即採取行動。', + '創建 Webhook 以收到通過 POST 請求發送到您的端點 URL 的即時更新。保持資訊,對「創建帳戶」「登錄」和「重置密碼」等事件立即採取行動。', create_webhook: '創建 Webhook', }, create_form: { @@ -29,9 +29,7 @@ const webhooks = { name_placeholder: '輸入 webhook 名稱', endpoint_url: '端點 URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', - /** UNTRANSLATED */ - endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + endpoint_url_tip: '輸入您的端點 URL,當事件發生時會將 Webhook 的載荷發送到該 URL。', create_webhook: '創建 webhook', missing_event_error: '您需要選擇至少一個事件。', },