From ae90e72ae8513099402698268dfe8d9aa54f4e03 Mon Sep 17 00:00:00 2001 From: Charles Zhao Date: Tue, 21 May 2024 16:57:50 +0800 Subject: [PATCH] chore(console): translate i18n phrases --- .../src/locales/de/errors/application.ts | 25 +- .../phrases/src/locales/de/errors/domain.ts | 3 +- .../phrases/src/locales/de/errors/resource.ts | 6 +- .../phrases/src/locales/de/errors/role.ts | 3 +- .../phrases/src/locales/de/errors/user.ts | 7 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 11 +- .../admin-console/application-details.ts | 216 +++++++---------- .../translation/admin-console/applications.ts | 41 ++-- .../translation/admin-console/connectors.ts | 39 ++- .../de/translation/admin-console/domain.ts | 10 +- .../translation/admin-console/get-started.ts | 6 +- .../de/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 75 ++---- .../translation/admin-console/role-details.ts | 5 +- .../admin-console/tenant-members.ts | 124 ++++------ .../de/translation/admin-console/webhooks.ts | 21 +- .../src/locales/es/errors/application.ts | 28 +-- .../phrases/src/locales/es/errors/domain.ts | 3 +- .../phrases/src/locales/es/errors/resource.ts | 6 +- .../phrases/src/locales/es/errors/role.ts | 3 +- .../phrases/src/locales/es/errors/user.ts | 7 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 7 +- .../admin-console/application-details.ts | 170 +++++-------- .../translation/admin-console/applications.ts | 27 +-- .../translation/admin-console/connectors.ts | 3 +- .../es/translation/admin-console/domain.ts | 10 +- .../translation/admin-console/get-started.ts | 18 +- .../es/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 76 ++---- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 120 ++++------ .../es/translation/admin-console/webhooks.ts | 21 +- .../src/locales/fr/errors/application.ts | 31 +-- .../phrases/src/locales/fr/errors/domain.ts | 3 +- .../phrases/src/locales/fr/errors/resource.ts | 6 +- .../phrases/src/locales/fr/errors/role.ts | 5 +- .../phrases/src/locales/fr/errors/user.ts | 7 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 7 +- .../admin-console/application-details.ts | 168 +++++-------- .../translation/admin-console/applications.ts | 27 +-- .../translation/admin-console/connectors.ts | 3 +- .../fr/translation/admin-console/domain.ts | 8 +- .../translation/admin-console/get-started.ts | 6 +- .../fr/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 77 +++--- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 121 ++++------ .../fr/translation/admin-console/tenants.ts | 2 +- .../fr/translation/admin-console/webhooks.ts | 19 +- .../src/locales/it/errors/application.ts | 30 +-- .../phrases/src/locales/it/errors/domain.ts | 3 +- .../phrases/src/locales/it/errors/resource.ts | 6 +- .../phrases/src/locales/it/errors/role.ts | 3 +- .../phrases/src/locales/it/errors/user.ts | 6 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 7 +- .../admin-console/application-details.ts | 172 +++++--------- .../translation/admin-console/applications.ts | 23 +- .../translation/admin-console/connectors.ts | 13 +- .../it/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 6 +- .../it/translation/admin-console/guide.ts | 8 +- .../translation/admin-console/invitation.ts | 24 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 76 ++---- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 121 ++++------ .../it/translation/admin-console/webhooks.ts | 21 +- .../src/locales/ja/errors/application.ts | 29 +-- .../phrases/src/locales/ja/errors/domain.ts | 3 +- .../phrases/src/locales/ja/errors/resource.ts | 6 +- .../phrases/src/locales/ja/errors/role.ts | 3 +- .../phrases/src/locales/ja/errors/user.ts | 2 - .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 1 - .../admin-console/application-details.ts | 158 ++++--------- .../translation/admin-console/applications.ts | 17 +- .../translation/admin-console/connectors.ts | 3 +- .../ja/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 14 +- .../ja/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 24 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 20 +- .../admin-console/protected-app.ts | 72 ++---- .../translation/admin-console/role-details.ts | 32 +-- .../admin-console/tenant-members.ts | 119 +++------- .../ja/translation/admin-console/tenants.ts | 12 +- .../ja/translation/admin-console/webhooks.ts | 21 +- .../src/locales/ko/errors/application.ts | 29 +-- .../phrases/src/locales/ko/errors/domain.ts | 3 +- .../phrases/src/locales/ko/errors/resource.ts | 6 +- .../phrases/src/locales/ko/errors/role.ts | 4 +- .../phrases/src/locales/ko/errors/user.ts | 4 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 1 - .../admin-console/application-details.ts | 223 +++++++----------- .../translation/admin-console/applications.ts | 51 ++-- .../translation/admin-console/connectors.ts | 9 +- .../ko/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 7 +- .../ko/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 24 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 38 ++- .../admin-console/protected-app.ts | 74 ++---- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 121 ++++------ .../ko/translation/admin-console/webhooks.ts | 21 +- .../src/locales/pl-pl/errors/application.ts | 28 +-- .../src/locales/pl-pl/errors/domain.ts | 3 +- .../src/locales/pl-pl/errors/resource.ts | 6 +- .../phrases/src/locales/pl-pl/errors/role.ts | 3 +- .../phrases/src/locales/pl-pl/errors/user.ts | 13 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 8 +- .../admin-console/application-details.ts | 201 ++++++---------- .../translation/admin-console/applications.ts | 29 +-- .../translation/admin-console/connectors.ts | 1 - .../pl-pl/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 6 +- .../pl-pl/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 8 +- .../admin-console/protected-app.ts | 76 ++---- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 123 ++++------ .../translation/admin-console/tenants.ts | 11 +- .../translation/admin-console/webhooks.ts | 23 +- .../src/locales/pt-br/errors/application.ts | 29 +-- .../src/locales/pt-br/errors/domain.ts | 3 +- .../src/locales/pt-br/errors/resource.ts | 6 +- .../phrases/src/locales/pt-br/errors/role.ts | 3 +- .../phrases/src/locales/pt-br/errors/user.ts | 6 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 11 +- .../admin-console/application-details.ts | 198 ++++++---------- .../translation/admin-console/applications.ts | 31 +-- .../translation/admin-console/connectors.ts | 7 +- .../pt-br/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 6 +- .../pt-br/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 77 +++--- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 121 ++++------ .../translation/admin-console/tenants.ts | 2 +- .../translation/admin-console/webhooks.ts | 34 ++- .../src/locales/pt-pt/errors/application.ts | 30 +-- .../src/locales/pt-pt/errors/domain.ts | 3 +- .../src/locales/pt-pt/errors/resource.ts | 6 +- .../phrases/src/locales/pt-pt/errors/role.ts | 3 +- .../phrases/src/locales/pt-pt/errors/user.ts | 2 - .../admin-console/api-resource-details.ts | 12 +- .../admin-console/api-resources.ts | 21 +- .../admin-console/application-details.ts | 173 +++++--------- .../translation/admin-console/applications.ts | 41 ++-- .../translation/admin-console/connectors.ts | 3 +- .../pt-pt/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 14 +- .../pt-pt/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 10 +- .../admin-console/protected-app.ts | 76 ++---- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 121 ++++------ .../translation/admin-console/webhooks.ts | 23 +- .../src/locales/ru/errors/application.ts | 28 +-- .../phrases/src/locales/ru/errors/domain.ts | 3 +- .../phrases/src/locales/ru/errors/resource.ts | 6 +- .../phrases/src/locales/ru/errors/role.ts | 3 +- .../phrases/src/locales/ru/errors/user.ts | 6 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 5 +- .../admin-console/application-details.ts | 175 +++++--------- .../translation/admin-console/applications.ts | 38 ++- .../translation/admin-console/connectors.ts | 3 +- .../ru/translation/admin-console/domain.ts | 2 - .../translation/admin-console/get-started.ts | 18 +- .../ru/translation/admin-console/guide.ts | 4 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 72 ++---- .../translation/admin-console/role-details.ts | 7 +- .../admin-console/tenant-members.ts | 123 ++++------ .../ru/translation/admin-console/webhooks.ts | 21 +- .../src/locales/tr-tr/errors/application.ts | 30 +-- .../src/locales/tr-tr/errors/domain.ts | 3 +- .../src/locales/tr-tr/errors/resource.ts | 6 +- .../phrases/src/locales/tr-tr/errors/role.ts | 3 +- .../phrases/src/locales/tr-tr/errors/user.ts | 12 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 1 - .../admin-console/application-details.ts | 200 ++++++---------- .../translation/admin-console/applications.ts | 35 +-- .../translation/admin-console/connectors.ts | 63 +++-- .../tr-tr/translation/admin-console/domain.ts | 6 +- .../translation/admin-console/get-started.ts | 6 +- .../tr-tr/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 24 +- .../admin-console/organization-details.ts | 9 +- .../admin-console/organizations.ts | 8 +- .../admin-console/protected-app.ts | 73 ++---- .../translation/admin-console/role-details.ts | 7 +- .../admin-console/tenant-members.ts | 121 ++++------ .../translation/admin-console/webhooks.ts | 25 +- .../src/locales/zh-cn/errors/application.ts | 29 +-- .../src/locales/zh-cn/errors/domain.ts | 3 +- .../src/locales/zh-cn/errors/resource.ts | 6 +- .../phrases/src/locales/zh-cn/errors/role.ts | 4 +- .../phrases/src/locales/zh-cn/errors/user.ts | 4 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 21 +- .../admin-console/application-details.ts | 187 +++++---------- .../translation/admin-console/applications.ts | 34 +-- .../translation/admin-console/connectors.ts | 3 +- .../zh-cn/translation/admin-console/domain.ts | 31 ++- .../translation/admin-console/get-started.ts | 7 +- .../zh-cn/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 10 +- .../admin-console/organizations.ts | 12 +- .../admin-console/protected-app.ts | 79 ++----- .../translation/admin-console/role-details.ts | 3 + .../admin-console/tenant-members.ts | 123 ++++------ .../translation/admin-console/tenants.ts | 2 +- .../translation/admin-console/webhooks.ts | 23 +- .../src/locales/zh-hk/errors/application.ts | 29 +-- .../src/locales/zh-hk/errors/domain.ts | 5 +- .../src/locales/zh-hk/errors/resource.ts | 6 +- .../phrases/src/locales/zh-hk/errors/role.ts | 4 +- .../phrases/src/locales/zh-hk/errors/user.ts | 6 +- .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 5 +- .../admin-console/application-details.ts | 196 ++++++--------- .../translation/admin-console/applications.ts | 32 +-- .../translation/admin-console/connectors.ts | 7 +- .../zh-hk/translation/admin-console/domain.ts | 17 +- .../translation/admin-console/get-started.ts | 7 +- .../zh-hk/translation/admin-console/guide.ts | 6 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 10 +- .../admin-console/organizations.ts | 6 +- .../admin-console/protected-app.ts | 78 ++---- .../translation/admin-console/role-details.ts | 5 +- .../admin-console/tenant-members.ts | 123 ++++------ .../translation/admin-console/tenants.ts | 4 +- .../translation/admin-console/webhooks.ts | 21 +- .../src/locales/zh-tw/errors/application.ts | 29 +-- .../src/locales/zh-tw/errors/domain.ts | 3 +- .../src/locales/zh-tw/errors/resource.ts | 6 +- .../phrases/src/locales/zh-tw/errors/role.ts | 4 +- .../phrases/src/locales/zh-tw/errors/user.ts | 2 - .../admin-console/api-resource-details.ts | 6 +- .../admin-console/api-resources.ts | 1 - .../admin-console/application-details.ts | 187 +++++---------- .../translation/admin-console/applications.ts | 42 ++-- .../translation/admin-console/connectors.ts | 3 +- .../zh-tw/translation/admin-console/domain.ts | 7 +- .../translation/admin-console/get-started.ts | 7 +- .../zh-tw/translation/admin-console/guide.ts | 9 +- .../translation/admin-console/invitation.ts | 25 +- .../admin-console/organization-details.ts | 10 +- .../admin-console/organizations.ts | 36 ++- .../admin-console/protected-app.ts | 79 ++----- .../translation/admin-console/role-details.ts | 7 +- .../admin-console/tenant-members.ts | 123 ++++------ .../translation/admin-console/tenants.ts | 2 +- .../translation/admin-console/webhooks.ts | 23 +- 287 files changed, 2923 insertions(+), 5384 deletions(-) diff --git a/packages/phrases/src/locales/de/errors/application.ts b/packages/phrases/src/locales/de/errors/application.ts index 1f0c1afae77..c9a2fdf8879 100644 --- a/packages/phrases/src/locales/de/errors/application.ts +++ b/packages/phrases/src/locales/de/errors/application.ts @@ -7,27 +7,18 @@ const application = { 'Nur traditionelle Webanwendungen können als Drittanbieter-App markiert werden.', third_party_application_only: 'Das Feature ist nur für Drittanbieter-Anwendungen verfügbar.', user_consent_scopes_not_found: 'Ungültige Benutzerzustimmungsbereiche.', - /** UNTRANSLATED */ consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', protected_app_metadata_is_required: 'Geschützte App-Metadaten sind erforderlich.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + 'Geschützter App-Anbieter ist nicht konfiguriert. Dieses Feature ist in der Open-Source-Version nicht verfügbar.', + cloudflare_unknown_error: 'Fehler unbekannt beim Abrufen der Cloudflare API', + protected_application_only: 'Das Feature ist nur für geschützte Anwendungen verfügbar.', + protected_application_misconfigured: 'Geschützte Anwendung falsch konfiguriert.', protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'Die Subdomain der geschützten Anwendung wird bereits verwendet.', + invalid_subdomain: 'Ungültige Subdomain.', + custom_domain_not_found: 'Benutzerdefinierte Domain nicht gefunden.', + should_delete_custom_domains_first: 'Benutzerdefinierte Domains sollten zuerst gelöscht werden.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/de/errors/domain.ts b/packages/phrases/src/locales/de/errors/domain.ts index c45990f7750..f87bb047fa6 100644 --- a/packages/phrases/src/locales/de/errors/domain.ts +++ b/packages/phrases/src/locales/de/errors/domain.ts @@ -7,8 +7,7 @@ const domain = { limit_to_one_domain: 'Sie können nur eine benutzerdefinierte Domain haben.', hostname_already_exists: 'Diese Domain existiert bereits auf unserem Server.', cloudflare_not_found: 'Hostname in Cloudflare nicht gefunden', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Diese Domain ist nicht zulässig.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/de/errors/resource.ts b/packages/phrases/src/locales/de/errors/resource.ts index 969ec8cac5b..7b1d13a1f5b 100644 --- a/packages/phrases/src/locales/de/errors/resource.ts +++ b/packages/phrases/src/locales/de/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'Die API-Kennung {{indicator}} wird bereits verwendet', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Kann das Logto-Management-API nicht löschen.', + cannot_modify_management_api: 'Kann das Logto-Management-API nicht ändern.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/de/errors/role.ts b/packages/phrases/src/locales/de/errors/role.ts index a6bb3af3c11..8b569ee61f7 100644 --- a/packages/phrases/src/locales/de/errors/role.ts +++ b/packages/phrases/src/locales/de/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Dieser Rollenname {{name}} wird bereits verwendet.', scope_exists: 'Die Scope-ID {{scopeId}} wurde bereits zu dieser Rolle hinzugefügt.', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Kann management API Scopes nicht einem Benutzerrolle zuweisen.', user_exists: 'Die Benutzer-ID {{userId}} wurde bereits zu dieser Rolle hinzugefügt.', application_exists: 'Die Anwendungs-ID {{applicationId}} wurde bereits zu dieser Rolle hinzugefügt.', diff --git a/packages/phrases/src/locales/de/errors/user.ts b/packages/phrases/src/locales/de/errors/user.ts index e43dd16ca02..df95f38c6db 100644 --- a/packages/phrases/src/locales/de/errors/user.ts +++ b/packages/phrases/src/locales/de/errors/user.ts @@ -37,10 +37,9 @@ const user = { 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.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: 'Password-Algorithmus ist erforderlich.', + password_and_digest: + 'Sie können nicht sowohl das Passwort im Klartext als auch den Passwort-Hash festlegen.', }; 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 e9eaab59cb6..f5cdb0159a9 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Berechtigung erstellen', create_subtitle: 'Definieren Sie die benötigten Berechtigungen (Bereiche) für diese API.', confirm_create: 'Berechtigung erstellen', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Berechtigung bearbeiten', + edit_subtitle: 'Definieren Sie die Berechtigungen (Scopes) der {{resourceName}} API.', name: 'Berechtigungsname', name_placeholder: 'read:resource', forbidden_space_in_name: 'Der Berechtigungsname darf keine Leerzeichen enthalten.', diff --git a/packages/phrases/src/locales/de/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/de/translation/admin-console/api-resources.ts index 7999e5ced9f..c4f11aed498 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/api-resources.ts @@ -1,11 +1,11 @@ const api_resources = { - page_title: 'API Ressourcen', - title: 'API Ressourcen', + page_title: 'API-Ressourcen', + title: 'API-Ressourcen', subtitle: 'Lege APIs an, die du in deinen autorisierten Anwendungen verwenden kannst', - create: 'API Ressource erstellen', + create: 'API-Ressource erstellen', api_name: 'API-Name', api_name_placeholder: 'Gib einen API-Namen ein', - api_identifier: 'API Identifier', + api_identifier: 'API-Identifier', api_identifier_placeholder: 'https://your-api-identifier/', api_identifier_tip: 'Der eindeutige Identifikator der API-Ressource muss eine absolute URI ohne Fragmentbezeichner (#) sein. Entspricht dem Ressourcenparameter in OAuth 2.0.', @@ -13,8 +13,7 @@ const api_resources = { default_api_label: 'Pro Mandant kann nur eine Standard-API festgelegt werden. Wenn eine Standard-API festgelegt ist, kann der Ressourcenparameter in der Authentifizierungsanfrage weggelassen werden. Folgende Token-Austauschvorgänge verwenden standardmäßig die API als Publikum, was zur Ausgabe von JWTs führt. Erfahren Sie mehr', api_resource_created: 'Die API-Ressource {{name}} wurde erfolgreich erstellt', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: 'API-Indikator muss eine gültige absolute URI sein.', }; export default Object.freeze(api_resources); 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 3ee1d929000..22dde7eb0f5 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 @@ -3,29 +3,21 @@ const application_details = { back_to_applications: 'Zurück zu Anwendungen', check_guide: 'Zur Anleitung', settings: 'Einstellungen', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ + 'Eine "Anwendung" ist eine registrierte Software oder Dienst, die auf Benutzerinformationen zugreifen oder im Namen eines Benutzers agieren kann. Anwendungen helfen dabei, zu erkennen, wer von Logto was verlangt, und behandeln die Anmeldung und Berechtigung. Fülle die erforderlichen Felder für die Authentifizierung aus.', integration: 'Integration', - /** UNTRANSLATED */ integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Implementieren Sie sichere Worker von Logto, die von Cloudflares Edge-Netzwerk betrieben werden, für eine erstklassige Leistung und weltweite 0ms-Cold-Starts.', + service_configuration: 'Dienstkonfiguration', + service_configuration_description: + 'Führen Sie die erforderlichen Konfigurationen in Ihrem Dienst durch.', + session: 'Sitzung', + endpoints_and_credentials: 'Endpunkte & Anmeldeinformationen', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Verwenden Sie die folgenden Endpunkte und Anmeldeinformationen, um die OIDC-Verbindung in Ihrer Anwendung einzurichten.', + refresh_token_settings: 'Auffrischungstoken', + refresh_token_settings_description: + 'Verwalten Sie die Auffrischungstoken-Regeln für diese Anwendung.', application_roles: 'Rollen', machine_logs: 'Maschinenprotokolle', application_name: 'Anwendungsname', @@ -35,166 +27,124 @@ const application_details = { config_endpoint: 'OpenID Provider Konfigurations-Endpunkt', authorization_endpoint: 'Autorisierungs-Endpoint', authorization_endpoint_tip: - 'Der Endpoint, der für die Authentifizierung und Authorisierung via OpenID Connect verwendet wird.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + 'Der Endpunkt, der für die Authentifizierung und Authorisierung über OpenID Connect verwendet wird.', + show_endpoint_details: 'Endpunktdetails anzeigen', + hide_endpoint_details: 'Endpunktdetails ausblenden', logto_endpoint: 'Logto-Endpunkt', application_id: 'App-ID', application_id_tip: - 'Die eindeutige Anwendungs-ID, die normalerweise von Logto generiert wird. Es steht auch für "client_id" in OpenID Connect.', + 'Die eindeutige Anwendungs-ID, die normalerweise von Logto generiert wird. Steht auch für "client_id" in OpenID Connect.', application_secret: 'App-Geheimnis', redirect_uri: 'Umleitungs-URI', redirect_uris: 'Umleitungs-URIs', redirect_uri_placeholder: 'https://deine.website.de/app', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - 'URI, zu der der Benutzer nach der Anmeldung (egal ob erfolgreich oder nicht) weitergeleitet wird. Siehe OpenID Connect AuthRequest für weitere Informationen.', - post_sign_out_redirect_uri: 'Post Sign-out Umleitungs-URI', - post_sign_out_redirect_uris: 'Post Sign-out Umleitungs-URIs', + 'URI, zu dem der Benutzer nach der Anmeldung (egal ob erfolgreich oder nicht) weitergeleitet wird. Siehe OpenID Connect AuthRequest für weitere Informationen.', + post_sign_out_redirect_uri: 'Umleitungs-URI nach Abmeldung', + post_sign_out_redirect_uris: 'Umleitungs-URIs nach Abmeldung', post_sign_out_redirect_uri_placeholder: 'https://deine.website.de/home', post_sign_out_redirect_uri_tip: - 'URI, zu der der Benutzer nach dem Abmelden weitergeleitet wird (optional). Hat bei einigen Anwendungstypen keine Auswirkungen.', - cors_allowed_origins: 'CORS zugelassene Ursprünge', - cors_allowed_origins_placeholder: 'https://your.website.de', + 'URI, zu dem der Benutzer nach dem Abmelden weitergeleitet wird (optional). Hat bei einigen Anwendungstypen keine Auswirkungen.', + cors_allowed_origins: 'CORS-erlaubte Ursprünge', + cors_allowed_origins_placeholder: 'https://deine.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-Dokumentationfür detaillierte Informationen.', + 'Standardmäßig sind alle Ursprünge für Umleitungs-URIs zugelassen. In der Regel ist dieses Feld nicht erforderlich. Siehe die MDN-Dokumentation für detaillierte Informationen.', token_endpoint: 'Token-Endpunkt', user_info_endpoint: 'Benutzerinformations-Endpunkt', - enable_admin_access: 'Admin-Zugang aktivieren', + enable_admin_access: 'Admin-Zugriff aktivieren', enable_admin_access_label: - 'Zugang zur Management API aktivieren oder deaktivieren. Wenn aktiviert, können Access Tokens verwendet werden, um die Management API im Namen der Anwendung aufzurufen.', - always_issue_refresh_token: 'Immer den Refresh Token ausgeben', + 'Aktivieren oder deaktivieren Sie den Zugriff auf die Management-API. Bei Aktivierung können Zugriffstoken verwendet werden, um die Management-API im Namen der Anwendung aufzurufen.', + always_issue_refresh_token: 'Immer das Auffrischungstoken ausgeben', always_issue_refresh_token_label: - 'Durch Aktivieren dieser Konfiguration kann Logto immer Refresh Tokens ausgeben, unabhängig davon, ob in der Authentifizierungsanforderung "prompt=consent" angegeben ist. Diese Praxis wird jedoch nur dann empfohlen, wenn es notwendig ist, da sie nicht mit OpenID Connect kompatibel ist und möglicherweise Probleme verursacht.', - refresh_token_ttl: 'Ablaufzeit des Refresh Tokens in Tagen', + 'Durch Aktivierung dieser Konfiguration kann Logto immer Auffrischungstoken ausgeben, unabhängig davon, ob "prompt=consent" in der Authentifizierungsanforderung angegeben ist. Diese Praxis wird jedoch nur empfohlen, wenn es notwendig ist, da sie nicht mit OpenID Connect kompatibel ist und möglicherweise Probleme verursachen kann.', + refresh_token_ttl: 'Ablaufzeit des Auffrischungstokens in Tagen', refresh_token_ttl_tip: - 'Die Dauer, für die ein Refresh Token verwendet werden kann, um neue Zugriffstoken anzufordern, bevor es abläuft und ungültig wird. Token-Anfragen erweitern die Verfallszeit des Refresh Tokens auf diesen Wert.', - rotate_refresh_token: 'Refresh Token drehen', + 'Die Zeitdauer, für die ein Auffrischungstoken verwendet werden kann, um neue Zugriffstoken anzufordern, bevor es abläuft und ungültig wird. Tokenanfragen verlängern die Ablaufzeit des Auffrischungstokens auf diesen Wert.', + rotate_refresh_token: 'Auffrischungstoken drehen', rotate_refresh_token_label: - 'Wenn diese Option aktiviert ist, wird Logto für Tokenanfragen ein neues Refresh Token ausgeben, wenn 70% der ursprünglichen Zeit bis zur Ausführung (TTL) verstrichen sind oder bestimmte Bedingungen erfüllt sind. Erfahren Sie mehr', + 'Wenn diese Option aktiviert ist, wird Logto ein neues Auffrischungstoken für Tokenanfragen ausgeben, wenn 70% der ursprünglichen Zeit bis zum Ablauf (TTL) verstrichen sind oder bestimmte Bedingungen erfüllt sind. Erfahren Sie mehr', delete_description: - 'Diese Aktion kann nicht rückgängig gemacht werden. Die Anwendung wird permanent gelöscht. Bitte gib den Anwendungsnamen {{name}} zur Bestätigung ein.', - enter_your_application_name: 'Gib einen Anwendungsnamen ein', + 'Diese Aktion ist nicht umkehrbar. Die Anwendung wird dauerhaft gelöscht. Bitte geben Sie den Anwendungsnamen {{name}} zur Bestätigung ein.', + enter_your_application_name: 'Geben Sie einen Anwendungsnamen ein', application_deleted: 'Anwendung {{name}} wurde erfolgreich gelöscht', - redirect_uri_required: 'Gib mindestens eine Umleitungs-URI an', - /** UNTRANSLATED */ + redirect_uri_required: 'Geben Sie mindestens eine Umleitungs-URI an', app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Nutzen Sie Ihre Domain mit {{domain}} von Logto, die dauerhaft gültig ist.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Nutzen Sie Ihre Domain {{domain}} die dauerhaft gültig ist.', + custom_rules: 'Benutzerdefinierte Authentifizierungsregeln', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Legen Sie Regeln mit regulären Ausdrücken für authentifizierungsbedürftige Routen fest. Standardmäßig: Vollständiger Schutz der Website, wenn nichts angegeben ist.', + authentication_routes: 'Authentifizierungsrouten', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Hier sind zwei Szenarien:
  1. Um nur die Routen '/admin' und '/privacy' mit Authentifizierung zu schützen: ^/(admin|privacy)/.*
  2. Um JPG-Bilder von der Authentifizierung auszuschließen: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Leiten Sie Ihren Authentifizierungsbutton mit den angegebenen Routen weiter. Hinweis: Diese Routen sind unersetzbar.', + protect_origin_server: 'Schützen Sie Ihren Herkunftsserver', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Stellen Sie sicher, dass Ihr Herkunftsserver vor direktem Zugriff geschützt ist. Beachten Sie die Anleitung für weitere detaillierte Anweisungen.', + session_duration: 'Sitzungsdauer (Tage)', + try_it: 'Probieren Sie es aus', branding: { - /** UNTRANSLATED */ name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + description: + 'Passen Sie den Anzeigenamen und das Logo Ihrer Anwendung auf dem Einwilligungsbildschirm an.', + more_info: 'Mehr Infos', + more_info_description: + 'Bieten Sie den Benutzern auf dem Einwilligungsbildschirm weitere Informationen über Ihre Anwendung.', + display_name: 'Anzeigenamen', + display_logo: 'Logo anzeigen', + display_logo_dark: 'Logo anzeigen (dunkel)', + terms_of_use_url: 'URL der Anwendungsbedingungen', + privacy_policy_url: 'URL der Anwendungsdatenschutzbestimmungen', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Berechtigungen', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Wählen Sie die Berechtigungen aus, die die Drittanbieteranwendung für die Benutzerautorisierung zum Zugriff auf bestimmte Datentypen benötigt.', + user_permissions: 'Persönliche Benutzerdaten', + organization_permissions: 'Zugriff auf Organisation', + table_name: 'Berechtigungen erteilen', + field_name: 'Berechtigung', + field_description: 'Ersccheint auf dem Einwilligungsbildschirm', + delete_text: 'Berechtigung entfernen', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Diese Aktion hebt die der Drittanbieter-App erteilten Berechtigungen auf, was sie daran hindert, Benutzerberechtigung für bestimmte Datentypen anzufragen. Sind Sie sicher, dass Sie fortfahren möchten?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Wählen Sie die Berechtigungen aus, die die Drittanbieteranwendung für die Benutzerautorisierung zum Zugriff auf bestimmte Datentypen benötigt.', + user_profile: 'Benutzerdaten', + api_permissions: 'API-Berechtigungen', + organization: 'Organisationsberechtigungen', + user_permissions_assignment_form_title: + 'Fügen Sie die Berechtigungen für das Benutzerprofil hinzu', + organization_permissions_assignment_form_title: + 'Fügen Sie die Organisationsberechtigungen hinzu', + api_resource_permissions_assignment_form_title: + 'Fügen Sie die Berechtigungen für die API-Ressource hinzu', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Sie können die Beschreibung der Berechtigungen für personenbezogene Benutzerdaten über "Anmeldeerfahrung > Inhalt > Sprache verwalten" ändern.', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Wenn Logto als Identitätsanbieter (IdP) für die Authentifizierung in Drittanbieter-Apps verwendet wird und Benutzer um Autorisierung gebeten werden, erscheint diese Beschreibung auf dem Einwilligungsbildschirm.', + user_title: 'Benutzer', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Wählen Sie die Berechtigungen aus, die von der Drittanbieter-App für den Zugriff auf bestimmte Benutzerdaten angefordert werden.', + grant_user_level_permissions: 'Berechtigungen für Benutzerdaten erteilen', + organization_title: 'Organisation', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Wählen Sie die Berechtigungen aus, die von der Drittanbieter-App für den Zugriff auf bestimmte Organisationsdaten angefordert werden.', + grant_organization_level_permissions: 'Berechtigungen für Organisationdaten erteilen', }, roles: { name_column: 'Rolle', description_column: 'Beschreibung', assign_button: 'Rollen zuweisen', delete_description: - 'Diese Aktion entfernt diese Rolle von dieser Maschinen-zu-Maschinen-App. Die Rolle selbst existiert weiterhin, ist aber nicht mehr mit dieser Maschinen-zu-Maschinen-App verknüpft.', + 'Diese Aktion entfernt diese Rolle von dieser Maschinen-zu-Maschinen-App. Die Rolle existiert zwar weiterhin, ist jedoch nicht mehr mit dieser Maschinen-zu-Maschinen-App verknüpft.', deleted: '{{name}} wurde erfolgreich von diesem Benutzer entfernt.', assign_title: 'Rollen an {{name}} zuweisen', - assign_subtitle: 'Autorisiere {{name}} mit einer oder mehreren Rollen', + assign_subtitle: '{{name}} mit einer oder mehreren Rollen autorisieren', assign_role_field: 'Rollen zuweisen', role_search_placeholder: 'Nach Rollennamen suchen', added_text: '{{value, number}} hinzugefügt', diff --git a/packages/phrases/src/locales/de/translation/admin-console/applications.ts b/packages/phrases/src/locales/de/translation/admin-console/applications.ts index 70e194d928a..4944d40c539 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/applications.ts @@ -2,12 +2,11 @@ const applications = { page_title: 'Anwendungen', title: 'Anwendungen', subtitle: - 'Richte eine native, single page, machine to machine oder herkömmliche Anwendung ein, die Logto zur Authentifizierung nutzt.', + 'Richte eine native, single-page-, Machine-to-Machine- oder herkömmliche Anwendung ein, die Logto zur Authentifizierung nutzt.', subtitle_with_app_type: 'Richte Logto-Authentifizierung für deine {{name}}-Anwendung ein', create: 'Anwendung erstellen', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Verwende Logto als deinen Identitätsanbieter (IdP), um leicht mit Anwendungen von Drittanbietern zu integrieren', application_name: 'Anwendungsname', application_name_placeholder: 'Meine App', application_description: 'Anwendungsbeschreibung', @@ -16,23 +15,21 @@ const applications = { no_application_type_selected: 'Du hast noch keinen Anwendungstyp ausgewählt', application_created: 'Die Anwendung wurde erfolgreich erstellt.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Meine Apps', + third_party_applications: 'Apps von Drittanbietern', }, - app_id: 'App ID', + app_id: 'App-ID', type: { native: { title: 'Native App', subtitle: 'Eine Anwendung, die in einer nativen Umgebung läuft', - description: 'z.B. iOS app, Android app', + description: 'z.B. iOS-App, Android-App', }, spa: { - title: 'Single Page App', + title: 'Single-Page-App', subtitle: - 'Eine Anwendung, die in einem Webbrowser ausgeführt wird und Daten dynamisch an Ort und Stelle aktualisiert', - description: 'z.B. React DOM app, Vue app', + 'Eine Anwendung, die im Webbrowser ausgeführt wird und Daten dynamisch vor Ort aktualisiert', + description: 'z.B. React-DOM-App, Vue-App', }, traditional: { title: 'Herkömmliche Website', @@ -42,28 +39,22 @@ const applications = { machine_to_machine: { title: 'Machine-to-Machine', subtitle: 'Eine Anwendung (normalerweise ein Dienst), die direkt mit Ressourcen kommuniziert', - description: 'z.B. Backend Dienst', + description: 'z.B. Backend-Dienst', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'Geschützte App', + subtitle: 'Eine von Logto geschützte App', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Drittanbieter-App', + subtitle: 'Eine App, die als Drittanbieter-IdP-Konnektor verwendet wird', + description: 'z.B. OIDC, SAML', }, }, placeholder_title: 'Wähle einen Anwendungstyp, um fortzufahren', placeholder_description: - 'Logto verwendet eine Anwendungs-Entität für OIDC, um Aufgaben wie die Identifizierung Ihrer Apps, die Verwaltung der Anmeldung und die Erstellung von Prüfprotokollen zu erleichtern.', + 'Logto verwendet eine Anwendungs-Entität für OIDC, um Aufgaben wie die Identifizierung deiner Apps, das Management der Anmeldung und die Erstellung von Prüfprotokollen zu erleichtern.', }; export default Object.freeze(applications); diff --git a/packages/phrases/src/locales/de/translation/admin-console/connectors.ts b/packages/phrases/src/locales/de/translation/admin-console/connectors.ts index a12c04011e0..3ffc603e750 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/connectors.ts @@ -1,14 +1,14 @@ const connectors = { page_title: 'Connectoren', title: 'Connectoren', - subtitle: 'Richte Connectoren ein um passwortlose und Social Anmeldung zu aktivieren', - create: 'Social Connector erstellen', + subtitle: 'Richte Connectoren ein, um passwortlose und Social-Anmeldung zu aktivieren', + create: 'Social-Connector erstellen', config_sie_notice: 'Sie haben Connectoren eingerichtet. Stellen Sie sicher, dass Sie ihn in {{link}} konfigurieren.', config_sie_link_text: 'Anmeldeerfahrung', - tab_email_sms: 'E-Mail und SMS Connectoren', - tab_social: 'Social Connectoren', - connector_name: 'Connectorname', + tab_email_sms: 'E-Mail und SMS-Connectoren', + tab_social: 'Social-Connectoren', + connector_name: 'Connector-Name', demo_tip: 'Die maximale Anzahl von Nachrichten für diesen Demo-Connector ist auf 100 begrenzt und wird nicht für den Einsatz in einer Produktionsumgebung empfohlen.', social_demo_tip: @@ -19,22 +19,22 @@ const connectors = { connector_status_not_in_use: 'Nicht in Benutzung', not_in_use_tip: { content: - 'Nicht in Benutzung bedeutet, dass Ihre Anmeldeerfahrung diese Anmeldeoption nicht verwendet hat. {{link}}, um diese Anmeldeoption hinzuzufügen. ', + 'Nicht in Benutzung bedeutet, dass Ihre Anmeldeerfahrung diese Anmeldeoption nicht verwendet hat. {{link}}, um diese Anmeldeoption hinzuzufügen.', go_to_sie: 'Zur Anmeldeerfahrung gehen', }, - placeholder_title: 'Social connector', + placeholder_title: 'Social-Connector', placeholder_description: - 'Logto hat viele weit verbreitete Social-Sign-In-Connectors bereitgestellt. Inzwischen können Sie mit Standardprotokollen Ihre eigenen erstellen.', + 'Logto hat viele weit verbreitete Social-Sign-In-Connectoren bereitgestellt. Inzwischen können Sie mit Standardprotokollen Ihre eigenen erstellen.', save_and_done: 'Speichern und fertigstellen', type: { - email: 'E-Mail Connector', - sms: 'SMS Connector', - social: 'Social Connector', + email: 'E-Mail-Connector', + sms: 'SMS-Connector', + social: 'Social-Connector', }, setup_title: { - email: 'E-Mail Connector einrichten', - sms: 'SMS Connector einrichten', - social: 'Social Connector erstellen', + email: 'E-Mail-Connector einrichten', + sms: 'SMS-Connector einrichten', + social: 'Social-Connector erstellen', }, guide: { subtitle: 'Eine Schritt-für-Schritt-Anleitung zur Konfiguration deines Connectors', @@ -52,11 +52,11 @@ const connectors = { logo_dark: 'Logo-URL für Social-Sign-In-Button (Dark mode)', logo_dark_placeholder: 'https://your.cdn.domain/logo.png', logo_dark_tip: - 'Legen Sie das Logo Ihres Connectors für den Dark-Modus fest, nachdem Sie ihn in der Anmeldeerfahrung der Admin Console aktiviert haben.', + 'Legen Sie das Logo Ihres Connectors für den Dark-Modus fest, nachdem Sie ihn in der Anmeldeerfahrung der Admin Konsole aktiviert haben.', logo_dark_collapse: 'Zusammenklappen', logo_dark_show: 'Logo-Einstellung für Dark-Modus anzeigen', target: 'Identity Provider Name', - target_placeholder: 'Geben Sie den Connector Identity Provider Namen ein', + target_placeholder: 'Geben Sie den Namen des Connector Identity Providers ein', target_tip: 'Der Wert von "IdP-Name" kann eine eindeutige Kennung sein, um Ihre Social-Identitäten zu unterscheiden.', target_tip_standard: @@ -78,16 +78,15 @@ const connectors = { callback_uri: 'Callback-URI', callback_uri_description: 'Auch als Redirect-URI bezeichnet, ist die URI in Logto, zu der Benutzer nach der Social-Autorisierung zurückgesendet werden. Kopieren und fügen Sie sie in die Konfigurationsseite des Social Providers ein.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'Assertion Consumer Service URL', }, platform: { universal: 'Universal', web: 'Web', native: 'Nativ', }, - add_multi_platform: ' unterstützt mehrere Plattformen, wähle eine Plattform aus, um fortzufahren', - drawer_title: 'Connector Anleitung', + add_multi_platform: ' unterstützt mehrere Plattformen. Wähle eine Plattform aus, um fortzufahren', + drawer_title: 'Connector-Anleitung', drawer_subtitle: 'Folge den Anweisungen, um deinen Connector zu integrieren', unknown: 'Unbekannter Connector', standard_connectors: 'Standard-Connectoren', diff --git a/packages/phrases/src/locales/de/translation/admin-console/domain.ts b/packages/phrases/src/locales/de/translation/admin-console/domain.ts index 01bec9f48df..6f508a76332 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/domain.ts @@ -15,15 +15,14 @@ const domain = { custom_domain_field: 'Benutzerdefinierte Domain', custom_domain_placeholder: 'ihre.domain.com', add_domain: 'Domain hinzufügen', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Bitte geben Sie eine gültige Domain-URL mit mindestens drei Teilen an, z. B. "ihre.domain.com."', verify_domain: 'Domain überprüfen', enable_ssl: 'SSL aktivieren', checking_dns_tip: - 'Nachdem Sie die DNS-Einträge konfiguriert haben, wird der Prozess automatisch ausgeführt und kann bis zu 24 Stunden dauern. Sie können diese Oberfläche verlassen während er läuft.', + 'Nachdem Sie die DNS-Einträge konfiguriert haben, wird der Prozess automatisch ausgeführt und kann bis zu 24 Stunden dauern. Sie können diese Oberfläche verlassen, während er läuft.', enable_ssl_tip: - 'SSL aktivieren wird automatisch ausgeführt und kann bis zu 24 Stunden dauern. Sie können diese Oberfläche verlassen während er läuft.', + 'SSL aktivieren wird automatisch ausgeführt und kann bis zu 24 Stunden dauern. Sie können diese Oberfläche verlassen, während er läuft.', generating_dns_records: 'DNS-Einträge werden generiert...', add_dns_records: 'Bitte fügen Sie diese DNS-Einträge Ihrem DNS-Provider hinzu.', dns_table: { @@ -52,9 +51,8 @@ const domain = { 'Sie können den Domainnamen dieser Endpunkte anpassen, wie Sie möchten. Wählen Sie entweder "{{custom}}" oder "{{default}}".', custom_social_callback_url_note: 'Sie können den Domainnamen dieser URI anpassen, um mit dem Endpunkt Ihrer Anwendung übereinzustimmen. Wählen Sie entweder "{{custom}}" oder "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Sie können den Domainnamen dieser URI anpassen, um mit der URL Ihres Identitätsanbieters Assertions-Verbraucherdienst übereinzustimmen. Wählen Sie entweder "{{custom}}" oder "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/de/translation/admin-console/get-started.ts b/packages/phrases/src/locales/de/translation/admin-console/get-started.ts index 2f32cd1ea56..d3b7c7ce0cd 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: 'Einige Dinge, die Sie tun können, um schnell den Wert von Logto zu erhalten', develop: { title: 'Entwicklung: Nehmen Sie sich 5 Minuten Zeit, um Ihre App zu integrieren', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Entwicklung: Integrieren Sie Ihre App in Minuten sicher', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Oder nehmen Sie 5 Minuten Zeit, um Ihre App mit unseren vorgefertigten SDKs und Tutorials zu integrieren.', }, customize: { title: 'Anpassen: Liefern Sie ein großartiges Anmeldeerlebnis', diff --git a/packages/phrases/src/locales/de/translation/admin-console/guide.ts b/packages/phrases/src/locales/de/translation/admin-console/guide.ts index 3d3ea6d2ff7..e020497d1d1 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Single-Page-Anwendung', Native: 'Native', MachineToMachine: 'Maschinen-zu-Maschinen', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integration ohne SDK', + ThirdParty: 'Third-party-App', }, filter: { title: 'Filter-Framework', diff --git a/packages/phrases/src/locales/de/translation/admin-console/invitation.ts b/packages/phrases/src/locales/de/translation/admin-console/invitation.ts index fd14201f2f4..2195216e58d 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Finde deine Mieter', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Ihre E-Mail-Adresse ist möglicherweise bereits bei mehreren Mietern registriert. Sie können wählen, einem vorhandenen beizutreten oder fortfahren, einen neuen zu erstellen.', + create_new_tenant: 'Neuen Mieter erstellen', + email_not_match_title: 'Sie sind derzeit angemeldet als\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Melden Sie sich bitte mit dem richtigen Konto an, um die Einladung anzunehmen und Mitglied der Organisation zu werden.', + switch_account: 'An ein anderes Konto anmelden', + invalid_invitation_status: + 'Ungültige Einladung. Bitte kontaktieren Sie den Administrator und versuchen Sie es erneut.', + invitation_not_found: 'Einladung nicht gefunden. Bitte kontaktieren Sie den Administrator.', }; export default Object.freeze(invitation); 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 73cf60d6e1e..e5b0e5f8379 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 @@ -22,13 +22,10 @@ const organization_details = { '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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Benutzerdefinierte Daten', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Benutzerdefinierte Daten sind ein JSON-Objekt, das verwendet werden kann, um zusätzliche Daten zu speichern, die mit der Organisation verbunden sind.', + invalid_json_object: 'Ungültiges JSON-Objekt.', }; 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 f3e5427f0c9..210b922ea87 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: 'Organisation', page_title: 'Organisationen', title: 'Organisationen', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Organisationen werden üblicherweise in SaaS- oder ähnlichen Mehrbenutzeranwendungen verwendet und repräsentieren Ihre Kunden, die Teams, Organisationen oder ganze Unternehmen sind. Organisationen fungieren als grundlegende Elemente für B2B-Authentifizierung und Autorisierung.', organization_template: 'Organisationsvorlage', organization_id: 'Organisations-ID', members: 'Mitglieder', create_organization: 'Organisation erstellen', setup_organization: 'Richten Sie Ihre Organisation ein', organization_list_placeholder_title: 'Organisation', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Organisationen werden in SaaS- oder ähnlichen Mehrbenutzeranwendungen häufig als bewährte Methode verwendet. Sie ermöglichen es Ihnen, Apps zu entwickeln, die es Kunden ermöglichen, Organisationen zu erstellen und zu verwalten, Mitglieder einzuladen und Rollen zuzuweisen.', organization_name_placeholder: 'Meine Organisation', organization_description_placeholder: 'Eine kurze Beschreibung der Organisation', organization_permission: 'Organisationsberechtigung', diff --git a/packages/phrases/src/locales/de/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/de/translation/admin-console/protected-app.ts index 9af4f1a1c70..db78bd04a7b 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/protected-app.ts @@ -1,69 +1,46 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Geschützte App', + title: + 'Erstellen einer geschützten App: Fügen Sie Authentifizierung mit Einfachheit und epischer Geschwindigkeit hinzu', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'Die geschützte App pflegt Benutzersitzungen sicher und leitet Ihre App-Anfragen weiter. Angetrieben von Cloudflare-Workern, genießen Sie die erstklassige Leistung und weltweiten 0-ms-Kaltstart. Mehr erfahren ', + fast_create: 'Schnell erstellen', + modal_title: 'Geschützte App erstellen', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Aktivieren Sie mit wenigen Klicks sicheren und schnellen Schutz. Fügen Sie Authentifizierung zu Ihrer vorhandenen Web-App hinzu mit Leichtigkeit', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: 'Ihre Ursprungs-URL', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_description: + 'Geben Sie die Adresse Ihrer App an, die einen Authentifizierungsschutz benötigt.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'Änderungen an der Ursprungs-URL können bis zu 1-2 Minuten dauern, um weltweit wirksam zu werden.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Geben Sie die Adresse Ihrer Anwendung an, ohne '/pathname'. Nach der Erstellung können Sie die Routenauthentifizierungsregeln anpassen.\n\nHinweis: Die Ursprungs-URL selbst erfordert keine Authentifizierung; Der Schutz wird ausschließlich für Aufrufe über die dafür vorgesehene App-Domäne angewendet.", + domain_field_label: 'App-Domäne', + domain_field_placeholder: 'ihre-domain', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Diese URL dient als ein Authentifizierungsschutzproxy für die originale URL. Nach der Erstellung kann eine benutzerdefinierte Domain angewendet werden.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Diese URL dient als ein Authentifizierungsschutzproxy für die originale URL.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Apps, die von Logto geschützt sind, werden standardmäßig unter 'ihre-domain.{{domain}}' gehostet. Eine benutzerdefinierte Domain kann nach der Erstellung angewendet werden.", + create_application: 'Anwendung erstellen', + create_protected_app: 'Schnell erstellen', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Ihre Domain ist erforderlich.', + domain_in_use: 'Dieser Subdomänenname wird bereits verwendet.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Ungültiges Subdomänenformat: Verwenden Sie nur Kleinbuchstaben, Zahlen und Bindestriche '-'.", + url_required: 'Ursprungs-URL ist erforderlich.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Ungültiges Ursprungs-URL-Format: Verwenden Sie http:// oder https://. Hinweis: '/pathname' wird derzeit nicht unterstützt.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Bitte belichten Sie zunächst Ihren lokalen Server im Internet. Erfahren Sie mehr über die lokale Entwicklung .', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 App-Authentifizierung erfolgreich aktiviert! Entdecken Sie die neue Erfahrung Ihrer Webseite.', }; export default Object.freeze(protected_app); 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 62ea9700686..754965553dc 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 @@ -13,6 +13,9 @@ const role_details = { 'Rollen sind eine Gruppierung von Berechtigungen, die Benutzern zugewiesen werden können. Sie ermöglichen auch eine Zusammenfassung von Berechtigungen, die für verschiedene APIs definiert wurden, was es effizienter macht, Berechtigungen im Vergleich zur individuellen Zuweisung an Benutzer hinzuzufügen, zu entfernen oder zu ändern.', field_name: 'Name', field_description: 'Beschreibung', + field_is_default: 'Standardrolle', + field_is_default_description: + 'Setze diese Rolle als Standardrolle für neue Benutzer. Es können mehrere Standardrollen festgelegt werden. Dies betrifft auch die Standardrollen für Benutzer, die über die Management-API erstellt wurden.', type_m2m_role_tag: 'Maschinen-zu-Maschinen-App-Rolle', type_user_role_tag: 'Benutzerrolle', permission: { @@ -21,7 +24,7 @@ const role_details = { assign_subtitle: 'Weisen Sie dieser Rolle Berechtigungen zu. Die Rolle erhält die hinzugefügten Berechtigungen, und Benutzer mit dieser Rolle erben diese Berechtigungen.', assign_form_field: 'Berechtigungen zuweisen', - added_text_one: '{{count, number}} Berechtigung hinzugefügt', + added_text_one: 'Ein Berechtigung hinzugefügt', added_text_other: '{{count, number}} Berechtigungen hinzugefügt', api_permission_count_one: '{{count, number}} Berechtigung', api_permission_count_other: '{{count, number}} Berechtigungen', diff --git a/packages/phrases/src/locales/de/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/de/translation/admin-console/tenant-members.ts index c2947d0cef9..7548b761314 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/tenant-members.ts @@ -1,102 +1,64 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Mitglieder', + invitations: 'Einladungen', + invite_members: 'Mitglieder einladen', + user: 'Benutzer', + roles: 'Rollen', + admin: 'Administrator', + collaborator: 'Mitarbeiter', + invitation_status: 'Einladungsstatus', + inviter: 'Einlader', + expiration_date: 'Ablaufdatum', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Lade Leute zu Silverhand ein', + subtitle: + 'Um Mitglieder zu einer Organisation einzuladen, müssen sie die Einladung akzeptieren.', + to: 'An', + added_as: 'Hinzugefügt als Rollen', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Ausstehend', + accepted: 'Akzeptiert', + expired: 'Abgelaufen', + revoked: 'Zurückgezogen', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Teammitglieder einladen', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Ihr Mandant hat derzeit keine eingeladenen Mitglieder.\nZur Unterstützung Ihrer Integration sollten Sie weitere Mitglieder oder Administratoren hinzufügen.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Mandantenrolle bearbeiten', + delete: 'Benutzer aus Mandanten entfernen', + resend_invite: 'Einladung erneut senden', + revoke: 'Einladung zurückziehen', + delete_invitation_record: 'Diesen Einladungsdatensatz löschen', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Rollen von {{name}} ändern', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Möchten Sie diesen Benutzer wirklich aus diesem Mandanten entfernen?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Möchten Sie sicher den/die ausgewählten Benutzer zum Administrator machen? Die Gewährung von Administratorzugriff gewährt den folgenden Berechtigungen:', + revoke_invitation_confirm: 'Möchten Sie diese Einladung wirklich zurückziehen?', + delete_invitation_confirm: 'Möchten Sie diesen Einladungsdatensatz wirklich löschen?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Einladung gesendet.', + invitation_revoked: 'Einladung zurückgezogen.', + invitation_resend: 'Einladung erneut gesendet.', + invitation_deleted: 'Einladungsdatensatz gelöscht.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'E-Mail für den Eingeladenen ist erforderlich.', + email_exists: 'Die E-Mail-Adresse existiert bereits.', + member_exists: 'Dieser Benutzer ist bereits Mitglied dieser Organisation.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Ausstehende Einladung vorhanden. Löschen Sie die entsprechende E-Mail oder widerrufen Sie die Einladung.', + invalid_email: + 'Die E-Mail-Adresse ist ungültig. Stellen Sie sicher, dass sie im richtigen Format vorliegt.', + max_member_limit: + 'Sie haben die maximale Anzahl von Mitgliedern ({{limit}}) für diesen Mandanten erreicht.', }, }; 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 240bb9bb574..1eb7b0d48f3 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/webhooks.ts @@ -5,20 +5,13 @@ const webhooks = { 'Erstellen Sie Webhooks, um mühelos Echtzeit-Updates zu bestimmten Ereignissen zu empfangen.', create: 'Webhook erstellen', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Nutzerinteraktion', + user: 'Benutzer', + organization: 'Organisation', + role: 'Rolle', + scope: 'Berechtigung', + organization_role: 'Organisationsrolle', + organization_scope: 'Organisationsberechtigung', }, table: { name: 'Name', diff --git a/packages/phrases/src/locales/es/errors/application.ts b/packages/phrases/src/locales/es/errors/application.ts index 7affa70b8cc..ff7ba0fd029 100644 --- a/packages/phrases/src/locales/es/errors/application.ts +++ b/packages/phrases/src/locales/es/errors/application.ts @@ -7,27 +7,19 @@ const application = { 'Solo las aplicaciones web tradicionales pueden ser marcadas como una aplicación de terceros.', third_party_application_only: 'La función solo está disponible para aplicaciones de terceros.', user_consent_scopes_not_found: 'Ámbitos de consentimiento de usuario no válidos.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: + 'Los ámbitos de la API de administración no están permitidos.', protected_app_metadata_is_required: 'Se requiere metadatos de aplicación protegida.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + 'El proveedor de aplicación protegida no está configurado. Esta función no está disponible para la versión de código abierto.', + cloudflare_unknown_error: 'Se produjo un error desconocido al solicitar la API de Cloudflare', + protected_application_only: 'La función solo está disponible para aplicaciones protegidas.', + protected_application_misconfigured: 'La aplicación protegida está mal configurada.', protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'El subdominio de la aplicación protegida ya está en uso.', + invalid_subdomain: 'Subdominio no válido.', + custom_domain_not_found: 'Dominio personalizado no encontrado.', + should_delete_custom_domains_first: 'Debe eliminar primero los dominios personalizados.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/es/errors/domain.ts b/packages/phrases/src/locales/es/errors/domain.ts index 431c536ed90..4542eb3586d 100644 --- a/packages/phrases/src/locales/es/errors/domain.ts +++ b/packages/phrases/src/locales/es/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Solo puedes tener un dominio personalizado.', hostname_already_exists: 'Este dominio ya existe en nuestro servidor.', cloudflare_not_found: 'No se puede encontrar el nombre de host en Cloudflare', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Este dominio no está permitido.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/es/errors/resource.ts b/packages/phrases/src/locales/es/errors/resource.ts index 0f3dc89d6d3..682f53863e7 100644 --- a/packages/phrases/src/locales/es/errors/resource.ts +++ b/packages/phrases/src/locales/es/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: '"El identificador de API {{indicator}} ya está en uso', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'No se puede eliminar la API de administración de Logto.', + cannot_modify_management_api: 'No se puede modificar la API de administración de Logto.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/es/errors/role.ts b/packages/phrases/src/locales/es/errors/role.ts index 8bb37d40814..391855bdcce 100644 --- a/packages/phrases/src/locales/es/errors/role.ts +++ b/packages/phrases/src/locales/es/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Este nombre de rol {{name}} ya está en uso', scope_exists: 'El id de alcance {{scopeId}} ya ha sido agregado a este rol', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'No se pueden asignar alcances de API de gestión a un rol de usuario.', user_exists: 'El id de usuario {{userId}} ya ha sido agregado a este rol', application_exists: 'El id de aplicación {{applicationId}} ya ha sido agregado a este rol', default_role_missing: diff --git a/packages/phrases/src/locales/es/errors/user.ts b/packages/phrases/src/locales/es/errors/user.ts index 3bcb5b3af4b..ace75419ba6 100644 --- a/packages/phrases/src/locales/es/errors/user.ts +++ b/packages/phrases/src/locales/es/errors/user.ts @@ -34,10 +34,9 @@ const user = { 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.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: 'Se requiere algoritmo de contraseña.', + password_and_digest: + 'No puedes establecer una contraseña en texto plano y en formato resumido al mismo tiempo.', }; 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 468f7f072cc..1b88d0a25a6 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Crear permiso', create_subtitle: 'Define los permisos (scopes) necesarios para esta API.', confirm_create: 'Crear permiso', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Editar permiso de API', + edit_subtitle: 'Define los permisos (scopes) necesarios por la API {{resourceName}}.', name: 'Nombre del permiso', name_placeholder: 'leer:recurso', forbidden_space_in_name: 'El nombre del permiso no debe contener espacios.', diff --git a/packages/phrases/src/locales/es/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/es/translation/admin-console/api-resources.ts index 3aad961ac6d..18a724bb0d0 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/api-resources.ts @@ -5,16 +5,15 @@ const api_resources = { create: 'Crear recurso de API', api_name: 'Nombre de la API', api_name_placeholder: 'Ingrese el nombre de su API', - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: 'Identificador de API', + api_identifier_placeholder: 'https://su-api-identificador/', api_identifier_tip: 'El identificador único para el recurso de API. Debe ser una URI absoluta y no tiene componente de fragmento (#). Es igual al parámetro de recurso en OAuth 2.0.', default_api: 'API por defecto', default_api_label: 'Sólo se puede establecer cero o una API por defecto por inquilino. Cuando se designa una API por defecto, el parámetro de recurso se puede omitir en la solicitud de autenticación. Las posteriores intercambios de tokens utilizarán esa API como audiencia por defecto, lo que dará lugar a la emisión de JWTs. Obtener más información', api_resource_created: 'El recurso de API {{name}} se ha creado correctamente', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: 'El indicador de API debe ser una URI absoluta válida.', }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/es/translation/admin-console/application-details.ts b/packages/phrases/src/locales/es/translation/admin-console/application-details.ts index fdb165d4cf7..2fbb5724f9d 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Volver a Aplicaciones', check_guide: 'Revisar Guía', settings: 'Configuraciones', - /** UNTRANSLATED */ settings_description: 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + integration: 'Integración', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Despliega con los trabajadores seguros de Logto, potenciados por la red global de Cloudflare para un rendimiento de primer nivel y arranques instantáneos de 0ms a nivel mundial.', + service_configuration: 'Configuración del servicio', + service_configuration_description: 'Completa las configuraciones necesarias en tu servicio.', + session: 'Sesión', + endpoints_and_credentials: 'Endpoints y Credenciales', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Utiliza los siguientes endpoints y credenciales para configurar la conexión OIDC en tu aplicación.', + refresh_token_settings: 'Token de actualización', + refresh_token_settings_description: + 'Gestiona las reglas del token de actualización para esta aplicación.', application_roles: 'Roles de Aplicación', machine_logs: 'Registros de Máquina', application_name: 'Nombre de Aplicación', @@ -36,10 +27,8 @@ const application_details = { authorization_endpoint: 'Endpoint de Autorización', authorization_endpoint_tip: 'El endpoint para la autenticación y autorización. Se utiliza para OpenID Connect Autenticación.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + show_endpoint_details: 'Mostrar detalles del endpoint', + hide_endpoint_details: 'Ocultar detalles del endpoint', logto_endpoint: 'Endpoint de Logto', application_id: 'ID de Aplicación', application_id_tip: @@ -79,112 +68,69 @@ const application_details = { enter_your_application_name: 'Ingresa el nombre de tu aplicación', application_deleted: 'Se ha eliminado exitosamente la aplicación {{name}}', redirect_uri_required: 'Debes ingresar al menos un URI de Redireccionamiento', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'No dudes en utilizar tu dominio con {{domain}} potenciado por Logto, que es permanentemente válido.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'No dudes en utilizar tu dominio {{domain}}, que es permanentemente válido.', + custom_rules: 'Reglas de autenticación personalizadas', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Establece reglas con expresiones regulares para rutas que requieren autenticación. Por defecto: protección de todo el sitio si se deja en blanco.', + authentication_routes: 'Rutas de autenticación', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Aquí tienes dos escenarios:
  1. Para proteger solo las rutas '/admin' y '/privacy' con autenticación: ^/(admin|privacy)/.*
  2. Para excluir imágenes JPG de la autenticación: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Redirige tu botón de autenticación utilizando las rutas especificadas. Nota: Estas rutas son irremplazables.', + protect_origin_server: 'Proteger tu servidor de origen', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Asegúrate de proteger tu servidor de origen contra el acceso directo. Consulta la guía para obtener más instrucciones detalladas.', + session_duration: 'Duración de la sesión (días)', + try_it: 'Probar', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Marca', + description: + 'Personaliza el nombre y el logotipo de tu aplicación en la pantalla de consentimiento.', + more_info: 'Más información', + more_info_description: + 'Ofrece a los usuarios más detalles sobre tu aplicación en la pantalla de consentimiento.', + display_name: 'Nombre a Mostrar', + display_logo: 'Logotipo a Mostrar', + display_logo_dark: 'Logotipo a Mostrar (oscuro)', + terms_of_use_url: 'URL de Términos de Uso de la Aplicación', + privacy_policy_url: 'URL de Política de Privacidad de la Aplicación', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Permisos', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Selecciona los permisos que la aplicación de terceros requiere para la autorización de usuarios a acceder a tipos específicos de datos.', + user_permissions: 'Datos personales del usuario', + organization_permissions: 'Acceso a la organización', + table_name: 'Conceder permisos', + field_name: 'Permiso', + field_description: 'Mostrado en la pantalla de consentimiento', + delete_text: 'Eliminar permiso', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Esta acción retirará los permisos otorgados a la aplicación de terceros, impidiendo que solicite autorización de usuarios para tipos específicos de datos. ¿Estás seguro de que deseas continuar?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Selecciona los permisos que la aplicación de terceros solicita para la autorización de usuarios a acceder a tipos específicos de datos.', + user_profile: 'Datos del usuario', + api_permissions: 'Permisos de API', + organization: 'Permisos de organización', + user_permissions_assignment_form_title: 'Añadir permisos del perfil de usuario', + organization_permissions_assignment_form_title: 'Añadir permisos de organización', + api_resource_permissions_assignment_form_title: 'Añadir permisos de recurso de API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Puedes modificar la descripción de los permisos de datos personales del usuario a través de "Experiencia de Inicio de Sesión > Contenido > Administrar Idioma"', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Cuando Logto es utilizado como un Proveedor de Identidad (IdP) para autenticación en aplicaciones de terceros, y se solicita autorización a los usuarios, esta descripción aparece en la pantalla de consentimiento.', + user_title: 'Usuario', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Selecciona los permisos solicitados por la aplicación de terceros para acceder a datos específicos del usuario.', + grant_user_level_permissions: 'Conceder permisos de datos de usuario', + organization_title: 'Organización', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Selecciona los permisos solicitados por la aplicación de terceros para acceder a datos específicos de la organización.', + grant_organization_level_permissions: 'Conceder permisos de datos de organización', }, roles: { name_column: 'Rol', diff --git a/packages/phrases/src/locales/es/translation/admin-console/applications.ts b/packages/phrases/src/locales/es/translation/admin-console/applications.ts index 57644b29cab..7987577c221 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/applications.ts @@ -5,9 +5,8 @@ const applications = { 'Configura la autenticación de Logto para tu aplicación nativa, de página única, de máquina a máquina o tradicional', subtitle_with_app_type: 'Configura la autenticación de Logto para tu aplicación {{name}}', create: 'Crear aplicación', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Utiliza Logto como proveedor de identidad (IdP) para integrarte fácilmente con aplicaciones de terceros', application_name: 'Nombre de la aplicación', application_name_placeholder: 'Mi App', application_description: 'Descripción de la aplicación', @@ -16,12 +15,10 @@ const applications = { no_application_type_selected: 'Aún no has seleccionado ningún tipo de aplicación', application_created: '¡La aplicación se ha creado correctamente.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Mis aplicaciones', + third_party_applications: 'Aplicaciones de terceros', }, - app_id: 'App ID', + app_id: 'ID de la aplicación', type: { native: { title: 'App nativa', @@ -45,20 +42,14 @@ const applications = { description: 'Por ejemplo, servicio backend', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'App protegida', + subtitle: 'Una aplicación protegida por Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'App de terceros', + subtitle: 'Una aplicación que se utiliza como conector de proveedor de identidad de terceros', + description: 'Ej.: OIDC, SAML', }, }, placeholder_title: 'Selecciona un tipo de aplicación para continuar', diff --git a/packages/phrases/src/locales/es/translation/admin-console/connectors.ts b/packages/phrases/src/locales/es/translation/admin-console/connectors.ts index 61c6740939e..ba9895f5b93 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/connectors.ts @@ -78,8 +78,7 @@ const connectors = { callback_uri: 'URI de devolución de llamada', callback_uri_description: 'También llamado URI de redireccionamiento, es la URI en Logto a la que se enviarán los usuarios después de la autorización social, copie y pegue en la página de configuración del proveedor social.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'URL del servicio de consumo de afirmaciones', }, platform: { universal: 'Universal', diff --git a/packages/phrases/src/locales/es/translation/admin-console/domain.ts b/packages/phrases/src/locales/es/translation/admin-console/domain.ts index 882e3e477f5..5c459497b03 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Dominio personalizado', custom_domain_placeholder: 'tu.dominio.com', add_domain: 'Agregar dominio', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Por favor, proporcione una URL de dominio válida con un mínimo de tres partes, por ejemplo, "tu.dominio.com".', verify_domain: 'Verificar dominio', enable_ssl: 'Habilitar SSL', checking_dns_tip: @@ -36,9 +35,9 @@ const domain = { reminder: 'Eliminar dominio personalizado', description: '¿Está seguro de que desea eliminar este dominio personalizado?', in_used_description: - '¿Está seguro de que desea eliminar este dominio personalizado "{{domain}}"?', + '¿Está seguro de que desea eliminar el dominio personalizado "{{domain}}"?', in_used_tip: - 'Si había configurado este dominio personalizado en su proveedor de conector social o punto final de aplicación antes, deberá modificar la URI al dominio predeterminado de Logto "{{dominio}}" primero. Esto es necesario para que el botón de inicio de sesión social funcione correctamente.', + 'Si había configurado este dominio personalizado en su proveedor de conector social o punto final de aplicación antes, necesitará modificar la URI al dominio predeterminado de Logto "{{dominio}}" primero. Esto es necesario para que el botón de inicio de sesión social funcione correctamente.', deleted: '¡Dominio personalizado eliminado con éxito!', }, }, @@ -52,9 +51,8 @@ const domain = { 'Puede personalizar el nombre de dominio de estos puntos finales según sea necesario. Elija "{{custom}}" o "{{default}}".', custom_social_callback_url_note: 'Puede personalizar el nombre de dominio de esta URI para que coincida con el punto final de su aplicación. Elija "{{custom}}" o "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Puede personalizar el nombre de dominio de esta URI para que coincida con la URL del servicio de consumidor de afirmaciones de su proveedor de identidad. Elija "{{custom}}" o "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/es/translation/admin-console/get-started.ts b/packages/phrases/src/locales/es/translation/admin-console/get-started.ts index b9e5ecb0924..1310db1ec23 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/get-started.ts @@ -3,34 +3,32 @@ const get_started = { title: 'Algo para explorar que te ayudará a tener éxito', subtitle: 'Algunas cosas que puedes hacer para obtener rápidamente el valor de Logto', develop: { - title: 'Develop: Dedica 5 minutos para integrar tu aplicación', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title: 'Desarrollar: Dedica 5 minutos para integrar tu aplicación', + title_cloud: 'Desarrollar: Integra tu aplicación de forma segura en minutos', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'O toma 5 minutos para integrar tu aplicación con nuestros SDKs y tutoriales preconstruidos.', }, customize: { - title: 'Customize: Ofrece una excelente experiencia de inicio de sesión', + title: 'Personalizar: Ofrece una excelente experiencia de inicio de sesión', preview: { title: 'Ver la vista previa en directo de la experiencia de inicio de sesión que acabas de personalizar', subtitle: 'Prueba la experiencia de inicio de sesión de Logto ahora y ve cómo funciona', }, connector: { - title: 'Agregar más conectores para admitir más métodos de inicio de sesión sociales', + title: 'Añadir más conectores para admitir más métodos de inicio de sesión sociales', subtitle: 'Prueba el inicio de sesión sin contraseña y habilita una experiencia segura y sin fricciones para tus clientes', }, continue_customizing: 'Continúa personalizando', try_now: 'Pruébalo ahora', - add_more: 'Agregar más', + add_more: 'Añadir más', }, secure: { - title: 'Secure: Protege tus recursos', + title: 'Seguro: Protege tus recursos', }, manage: { - title: 'Manage: Define control de acceso para tu producto y usuarios', + title: 'Gestionar: Define control de acceso para tu producto y usuarios', rbac: { title: 'Agregar control de acceso basado en roles para proteger tus recursos', subtitle: diff --git a/packages/phrases/src/locales/es/translation/admin-console/guide.ts b/packages/phrases/src/locales/es/translation/admin-console/guide.ts index d1b584f8107..bd0dadc7613 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Aplicación de una sola página', Native: 'Nativa', MachineToMachine: 'Máquina a máquina', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integración no oficial', + ThirdParty: 'Aplicación de terceros', }, filter: { title: 'Filtrar framework', diff --git a/packages/phrases/src/locales/es/translation/admin-console/invitation.ts b/packages/phrases/src/locales/es/translation/admin-console/invitation.ts index fd14201f2f4..36e4480cea0 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Encuentra a tus inquilinos', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Tu dirección de correo electrónico puede estar registrada con varios inquilinos. Puedes elegir unirte a los existentes o continuar creando uno nuevo.', + create_new_tenant: 'Crear un nuevo inquilino', + email_not_match_title: 'Actualmente has iniciado sesión como\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Por favor, inicia sesión con la cuenta correcta para aceptar la invitación y convertirte en miembro de la organización.', + switch_account: 'Inicia sesión con otra cuenta', + invalid_invitation_status: + 'Invitación inválida. Por favor contacta al administrador e intenta nuevamente.', + invitation_not_found: 'Invitación no encontrada. Por favor, contacta al administrador.', }; export default Object.freeze(invitation); 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 6673e2ee834..5ac23bcf955 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 @@ -22,13 +22,10 @@ const organization_details = { '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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Datos personalizados', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Los datos personalizados son un objeto JSON que se puede usar para almacenar datos adicionales asociados con la organización.', + invalid_json_object: 'Objeto JSON no válido.', }; 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 b00b556f6de..36ca8301ccf 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: 'Organización', page_title: 'Organizaciones', title: 'Organizaciones', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Las organizaciones suelen utilizarse en aplicaciones SaaS u aplicaciones similares de múltiples inquilinos y representan a sus clientes que son equipos, organizaciones o empresas enteras. Las organizaciones trabajan como un elemento fundamental para la autenticación y autorización de B2B.', organization_template: 'Plantilla de organización', 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', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Las organizaciones suelen utilizarse en aplicaciones SaaS u aplicaciones similares de múltiples inquilinos como mejor práctica. Le permiten desarrollar aplicaciones que permiten a los clientes crear y gestionar organizaciones, invitar miembros y asignar roles.', organization_name_placeholder: 'Mi organización', organization_description_placeholder: 'Una breve descripción de la organización', organization_permission: 'Permiso de la organización', diff --git a/packages/phrases/src/locales/es/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/es/translation/admin-console/protected-app.ts index 9af4f1a1c70..60102c3c480 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/protected-app.ts @@ -1,69 +1,45 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Aplicación Protegida', + title: 'Crea una Aplicación Protegida: Agrega autenticación con simplicidad y velocidad épica', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'Aplicación Protegida mantiene las sesiones de usuario de forma segura y redirige las peticiones de tu aplicación. Potenciado por Cloudflare Workers, disfruta del rendimiento de primera clase y 0ms de arranque en frío en todo el mundo. Aprende más', + fast_create: 'Creación rápida', + modal_title: 'Crear Aplicación Protegida', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Habilita protección segura y rápida con solo unos clics. Agrega autenticación a tu aplicación web existente con facilidad.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: 'La URL de origen', + url_field_placeholder: 'https://dominio.com/', + url_field_description: + 'Proporciona la dirección de tu aplicación que requiere protección de autenticación.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'Las modificaciones en la URL de origen pueden tardar de 1 a 2 minutos en ser efectivas en todas las ubicaciones de la red mundial.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Proporciona la dirección de tu aplicación, excluyendo '/ruta'. Después de la creación, puedes personalizar las reglas de autenticación en la ruta.\n\nNota: La URL de origen en sí no necesita autenticación; la protección se aplica exclusivamente a los accesos a través del dominio de la aplicación designada.", + domain_field_label: 'Dominio de la aplicación', + domain_field_placeholder: 'tu-dominio', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Esta URL sirve como un proxy de protección de autenticación para la URL original. Se puede aplicar un dominio personalizado después de la creación.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Esta URL sirve como un proxy de protección de autenticación para la URL original.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Las aplicaciones protegidas por Logto se alojarán en 'tu-dominio.{{dominio}}' de forma predeterminada. Se puede aplicar un dominio personalizado después de la creación.", + create_application: 'Crear aplicación', + create_protected_app: 'Creación rápida', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Se requiere tu dominio.', + domain_in_use: 'Este nombre de subdominio ya está en uso.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Formato de subdominio no válido: usa solo letras minúsculas, números y guiones '-'.", + url_required: 'La URL de origen es requerida.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Formato de URL de origen no válido: Usar http:// o https://. Nota: '/ruta' no es compatible actualmente.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Por favor, expone tu servidor local a internet primero. Aprende más sobre el desarrollo local.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 ¡La autenticación de la aplicación se ha habilitado con éxito! Explora la nueva experiencia de tu sitio web.', }; export default Object.freeze(protected_app); 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 397ad2c8b58..2f7e947cafb 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 @@ -13,6 +13,9 @@ const role_details = { 'Los roles son un agrupamiento de permisos que se pueden asignar a los usuarios. También proporcionan una manera de agregar permisos definidos para diferentes APIs, lo que hace más eficiente agregar, eliminar o ajustar permisos en comparación con asignarlos individualmente a los usuarios.', field_name: 'Nombre', field_description: 'Descripción', + field_is_default: 'Rol por defecto', + field_is_default_description: + 'Establecer este rol como un rol por defecto para los nuevos usuarios. Se pueden establecer varios roles por defecto. Esto también afectará a los roles por defecto para los usuarios creados a través de la API de gestión.', type_m2m_role_tag: 'Rol de aplicación de máquina a máquina', type_user_role_tag: 'Rol de usuario', permission: { diff --git a/packages/phrases/src/locales/es/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/es/translation/admin-console/tenant-members.ts index c2947d0cef9..9712d3b5983 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/tenant-members.ts @@ -1,102 +1,62 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ + members: 'Miembros', + invitations: 'Invitaciones', + invite_members: 'Invitar miembros', + user: 'Usuario', roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + admin: 'Administrador', + collaborator: 'Colaborador', + invitation_status: 'Estado de la invitación', + inviter: 'Invitador', + expiration_date: 'Fecha de vencimiento', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Invitar personas a Silverhand', + subtitle: 'Para invitar miembros a una organización, deben aceptar la invitación.', + to: 'Para', + added_as: 'Añadido como roles', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Pendiente', + accepted: 'Aceptada', + expired: 'Caducada', + revoked: 'Revocada', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Invitar miembros al equipo', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Tu inquilino actualmente no tiene miembros invitados.\nPara ayudar con tu integración, considera agregar más miembros o administradores.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Editar rol del inquilino', + delete: 'Eliminar usuario del inquilino', + resend_invite: 'Reenviar invitación', + revoke: 'Revocar invitación', + delete_invitation_record: 'Eliminar este registro de invitación', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Cambiar roles de {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: '¿Estás seguro de que quieres eliminar a este usuario de este inquilino?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '¿Estás seguro de que deseas hacer que el/los usuario(s) seleccionado(s) sea(n) administrador(es)? Otorgar acceso de administrador dará al usuario/los usuarios los siguientes permisos.', + revoke_invitation_confirm: '¿Estás seguro de que quieres revocar esta invitación?', + delete_invitation_confirm: '¿Estás seguro de que quieres eliminar este registro de invitación?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Invitación enviada.', + invitation_revoked: 'Invitación revocada.', + invitation_resend: 'Invitación reenviada.', + invitation_deleted: 'Registro de invitación eliminado.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'El correo electrónico del invitado es obligatorio.', + email_exists: 'La dirección de correo electrónico ya existe.', + member_exists: 'Este usuario ya es miembro de esta organización.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Existe una invitación pendiente. Elimina el correo electrónico relacionado o revoca la invitación.', + invalid_email: + 'La dirección de correo electrónico es inválida. Asegúrate de que esté en el formato correcto.', + max_member_limit: 'Has alcanzado el número máximo de miembros ({{limit}}) para este inquilino.', }, }; 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 4323da5abc6..3412ffe6125 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/webhooks.ts @@ -5,20 +5,13 @@ const webhooks = { 'Crea webhooks para recibir de manera fácil actualizaciones en tiempo real sobre eventos específicos.', create: 'Crear Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Interacción de usuario', + user: 'Usuario', + organization: 'Organización', + role: 'Rol', + scope: 'Permiso', + organization_role: 'Rol de organización', + organization_scope: 'Permiso de organización', }, table: { name: 'Nombre', diff --git a/packages/phrases/src/locales/fr/errors/application.ts b/packages/phrases/src/locales/fr/errors/application.ts index 05de377aa57..44d258ee954 100644 --- a/packages/phrases/src/locales/fr/errors/application.ts +++ b/packages/phrases/src/locales/fr/errors/application.ts @@ -8,27 +8,20 @@ const application = { third_party_application_only: 'La fonctionnalité est uniquement disponible pour les applications tierces.', user_consent_scopes_not_found: 'Portées de consentement utilisateur invalides.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', - protected_app_metadata_is_required: "Les métadonnées d'application protégée sont requises.", - /** UNTRANSLATED */ + consent_management_api_scopes_not_allowed: + "Les scopes de l'API de gestion ne sont pas autorisés.", + protected_app_metadata_is_required: "Les métadonnées de l'application protégée sont requises.", protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + "Le fournisseur d'application protégée n'est pas configuré. Cette fonctionnalité n'est pas disponible dans la version open source.", + cloudflare_unknown_error: "Erreur inconnue lors de la requête à l'API Cloudflare", + protected_application_only: + 'La fonctionnalité est uniquement disponible pour les applications protégées.', + protected_application_misconfigured: "L'application protégée est mal configurée.", protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + "Le sous-domaine de l'application protégée est déjà utilisé.", + invalid_subdomain: 'Sous-domaine invalide.', + custom_domain_not_found: 'Domaine personnalisé non trouvé.', + should_delete_custom_domains_first: "Devrait d'abord supprimer les domaines personnalisés.", }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/fr/errors/domain.ts b/packages/phrases/src/locales/fr/errors/domain.ts index db9922b94d0..193d91c6275 100644 --- a/packages/phrases/src/locales/fr/errors/domain.ts +++ b/packages/phrases/src/locales/fr/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: "Vous ne pouvez avoir qu'un seul domaine personnalisé", hostname_already_exists: 'Ce domaine existe déjà sur notre serveur.', cloudflare_not_found: "Impossible de trouver le nom d'hôte dans Cloudflare", - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: "Ce domaine n'est pas autorisé.", }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/fr/errors/resource.ts b/packages/phrases/src/locales/fr/errors/resource.ts index 54e3955cd19..7875f735aa6 100644 --- a/packages/phrases/src/locales/fr/errors/resource.ts +++ b/packages/phrases/src/locales/fr/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: "L'identifiant d'API {{indicator}} est déjà utilisé", - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: "Impossible de supprimer l'API de gestion de Logto.", + cannot_modify_management_api: "Impossible de modifier l'API de gestion de Logto.", }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/fr/errors/role.ts b/packages/phrases/src/locales/fr/errors/role.ts index 9e2ae01de73..86031d2d3e2 100644 --- a/packages/phrases/src/locales/fr/errors/role.ts +++ b/packages/phrases/src/locales/fr/errors/role.ts @@ -1,15 +1,14 @@ const role = { name_in_use: 'Ce nom de rôle {{name}} est déjà utilisé', scope_exists: "L'identifiant de portée {{scopeId}} a déjà été ajouté à ce rôle", - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + "Impossible d'attribuer des portées d'API de gestion à un rôle utilisateur.", user_exists: "L'identifiant d'utilisateur {{userId}} a déjà été ajouté à ce rôle", application_exists: "L'identifiant d'application {{applicationId}} a déjà été ajouté à ce rôle", default_role_missing: "Certains noms de rôles par défaut n'existent pas dans la base de données, veuillez vous assurer de créer d'abord des rôles", internal_role_violation: - 'Vous essayez peut-être de mettre à jour ou de supprimer un rôle interne, ce qui est interdit par Logto. Si vous créez un nouveau rôle, essayez un autre nom qui ne commence pas par "#internal:".', + 'Vous essayez peut-être de mettre à jour ou de supprimer un rôle interne, ce qui est interdit par Logto. Si vous créez un nouveau rôle, essayez un autre nom qui ne commence pas par "#internal:". ', }; export default Object.freeze(role); diff --git a/packages/phrases/src/locales/fr/errors/user.ts b/packages/phrases/src/locales/fr/errors/user.ts index 3737a685704..809a9c5eddc 100644 --- a/packages/phrases/src/locales/fr/errors/user.ts +++ b/packages/phrases/src/locales/fr/errors/user.ts @@ -33,10 +33,9 @@ const user = { 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é.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: 'Algorithme de mot de passe est requis.', + password_and_digest: + 'Vous ne pouvez pas définir à la fois un mot de passe en texte brut et un digest de mot de passe.', }; 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 c433d629e97..a92f76b66ca 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Créer une autorisation', create_subtitle: 'Définir les autorisations (scopes) requises pour cette API.', confirm_create: 'Créer une autorisation', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: "Modifier l'autorisation de l'API", + edit_subtitle: "Définir les autorisations (scopes) nécessaires pour l'API {{resourceName}}.", name: "Nom de l'autorisation", name_placeholder: 'lecture:ressource', forbidden_space_in_name: "Le nom de l'autorisation ne doit pas contenir d'espaces.", diff --git a/packages/phrases/src/locales/fr/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/fr/translation/admin-console/api-resources.ts index cedaf8b9626..5a696319f70 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/api-resources.ts @@ -5,16 +5,15 @@ const api_resources = { create: 'Créer une ressource API', api_name: "Nom de l'API", api_name_placeholder: "Entrez votre nom d'API", - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: "Identifiant de l'API", + api_identifier_placeholder: 'https://votre-identifiant-api/', api_identifier_tip: "L'identifiant unique de la ressource API. Il doit s'agir d'un URI absolu et ne doit pas comporter de fragment (#). Équivaut au paramètre de ressource dans OAuth 2.0.", default_api: 'API par défaut', default_api_label: 'Seulement zéro ou une API par défaut peut être définie par tenant. Lorsqu\'une API par défaut est désignée, le paramètre "resource" peut être omis dans la demande d\'authentification. Les échanges de jetons ultérieurs utiliseront cette API comme public cible par défaut, ce qui entraînera la délivrance de JWT. En savoir plus', api_resource_created: 'La ressource API {{name}} a été créée avec succès.', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: "L'indicateur de l'API doit être un URI absolu valide.", }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/application-details.ts b/packages/phrases/src/locales/fr/translation/admin-console/application-details.ts index 0bd87067744..1eee63d1cc0 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Retour aux applications', check_guide: 'Consulter le guide', settings: 'Paramètres', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + 'Une "Application" est un logiciel ou un service enregistré qui peut accéder aux infos utilisateur ou agir pour un utilisateur. Les applications aident à reconnaître qui demande quoi à Logto et à gérer la connexion et les autorisations. Remplissez les champs requis pour l\'authentification.', + integration: 'Intégration', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ + 'Déployez avec les travailleurs sécurisés de Logto, alimentés par le réseau Edge de Cloudflare pour des performances de premier plan et des démarrages à froid de 0ms dans le monde entier.', + service_configuration: 'Configuration du service', + service_configuration_description: 'Complétez les configurations nécessaires dans votre service.', session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + endpoints_and_credentials: "Points de terminaison & Informations d'identification", endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + "Utilisez les points de terminaison et les informations d'identification suivants pour configurer la connexion OIDC dans votre application.", + refresh_token_settings: 'Token de rafraîchissement', + refresh_token_settings_description: + 'Gérez les règles du jeton de rafraîchissement pour cette application.', application_roles: 'Rôles', machine_logs: 'Journaux de machine', application_name: "Nom de l'application", @@ -36,11 +27,9 @@ const application_details = { authorization_endpoint: "Point de terminaison d'autorisation", authorization_endpoint_tip: "Le point de terminaison pour effectuer l'authentification et l'autorisation. Il est utilisé pour l'authentification OpenID Connect.", - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Endpoint Logto', + show_endpoint_details: 'Afficher les détails du point de terminaison', + hide_endpoint_details: 'Masquer les détails du point de terminaison', + logto_endpoint: 'Point de terminaison Logto', application_id: "ID de l'application", application_id_tip: "L'identifiant d'application unique généralement généré par Logto. Il signifie également client_id dans OpenID Connect.", @@ -79,112 +68,67 @@ const application_details = { enter_your_application_name: 'Entrez le nom de votre application', application_deleted: "L'application {{name}} a été supprimée avec succès.", redirect_uri_required: 'Vous devez entrer au moins un URI de redirection.', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + "N'hésitez pas à utiliser votre domaine avec {{domain}} alimenté par Logto, qui est valide en permanence.", app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + "N'hésitez pas à utiliser votre domaine {{domain}} qui est valide en permanence.", + custom_rules: "Règles d'authentification personnalisées", custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Définissez des règles avec des expressions régulières pour les routes nécessitant une authentification. Par défaut : protection totale du site si laissé vide.', + authentication_routes: "Routes d'authentification", custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Voici deux scénarios possibles :
  1. Pour protéger uniquement les routes '/admin' et '/privacy' avec une authentification : ^/(admin|privacy)/.*
  2. Pour exclure les images JPG de l'authentification : ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + "Redirigez votre bouton d'authentification en utilisant les routes spécifiées. Remarque : Ces routes sont inchangeables.", + protect_origin_server: "Protéger votre serveur d'origine", protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + "Assurez-vous de protéger votre serveur d'origine contre un accès direct. Référez-vous au guide pour plus de instructions détaillées.", + session_duration: 'Durée de la session (jours)', + try_it: 'Essayez', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Marque', + description: + "Personnalisez le nom d'affichage et le logo de votre application sur l'écran de consentement.", + more_info: "Plus d'informations", + more_info_description: + "Offrez aux utilisateurs plus de détails sur votre application sur l'écran de consentement.", + display_name: "Nom d'affichage", + display_logo: "Logo d'affichage", + display_logo_dark: "Logo d'affichage (sombre)", + terms_of_use_url: "URL des conditions d'utilisation de l'application", + privacy_policy_url: "URL de la politique de confidentialité de l'application", }, permissions: { - /** UNTRANSLATED */ name: 'Permissions', - /** UNTRANSLATED */ description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ + "Sélectionnez les permissions requises par l'application tierce pour l'autorisation de l'utilisateur afin d'accéder à des types de données spécifiques.", + user_permissions: "Données personnelles de l'utilisateur", + organization_permissions: "Accès à l'organisation", + table_name: 'Accorder des permissions', field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ - permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + field_description: "Affiché à l'écran de consentement", + delete_text: 'Supprimer la permission', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + "Sélectionnez les permissions demandées par l'application tierce pour l'autorisation de l'utilisateur afin d'accéder à des types de données spécifiques.", + user_profile: 'Données utilisateur', + api_permissions: "Permissions d'API", + organization: "Permissions d'organisation", + user_permissions_assignment_form_title: 'Ajouter les permissions du profil utilisateur', + organization_permissions_assignment_form_title: "Ajouter les permissions de l'organisation", + api_resource_permissions_assignment_form_title: "Ajouter les permissions des ressources d'API", user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Vous pouvez modifier la description des permissions relatives aux données personnelles des utilisateurs via "Expérience de connexion > Contenu > Gérer la langue"', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + "Lorsque Logto est utilisé comme fournisseur d'identités (IdP) pour l'authentification dans des applications tierces, et que les utilisateurs doivent donner leur autorisation, cette description apparaît sur l'écran de consentement.", + user_title: 'Utilisateur', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + "Sélectionnez les permissions demandées par l'application tierce pour accéder à des données utilisateur spécifiques.", + grant_user_level_permissions: 'Accorder des permissions des données utilisateur', + organization_title: 'Organisation', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + "Sélectionnez les permissions demandées par l'application tierce pour accéder à des données d'organisation spécifiques.", + grant_organization_level_permissions: "Accorder des permissions des données d'organisation", }, roles: { name_column: 'Rôle', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/applications.ts b/packages/phrases/src/locales/fr/translation/admin-console/applications.ts index 7f327af9de0..b6ba14e0f26 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/applications.ts @@ -5,9 +5,8 @@ const applications = { "Configurez une application mobile, une page unique, machine to machine ou une application traditionnelle pour utiliser Logto pour l'authentification.", subtitle_with_app_type: "Configurez l'authentification Logto pour votre application {{name}}", create: 'Créer une application', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + "Utilisez Logto en tant que votre fournisseur d'identité (IdP) pour intégrer facilement avec des applications tierces", application_name: "Nom de l'application", application_name_placeholder: 'Mon app', application_description: "Description de l'application", @@ -16,10 +15,8 @@ const applications = { no_application_type_selected: "Vous n'avez pas encore sélectionné de type d'application", application_created: "L'application a été créée avec succès.", tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Mes applications', + third_party_applications: 'Applications tierces', }, app_id: 'App ID', type: { @@ -46,25 +43,19 @@ const applications = { description: 'Par exemple, un service backend', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'Application protégée', + subtitle: 'Une application protégée par Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Application tierce', + subtitle: 'Une application utilisée comme connecteur IdP tiers', + description: 'Par exemple, OIDC, SAML', }, }, placeholder_title: "Sélectionnez un type d'application pour continuer", placeholder_description: - "Logto utilise une entité d'application pour OIDC pour aider aux tâches telles que l'identification de vos applications, la gestion de la connexion et la création de journaux d'audit.", + "Logto utilise une entité d'application pour OIDC pour aider aux tâches telles que l'identification de vos applications, la gestion de la connexion et la création de journaux d'audit", }; export default Object.freeze(applications); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/connectors.ts b/packages/phrases/src/locales/fr/translation/admin-console/connectors.ts index b150b9644d5..4ba7ee8cdf7 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/connectors.ts @@ -79,8 +79,7 @@ const connectors = { callback_uri: 'URI de rappel', callback_uri_description: "Également appelée URI de redirection, c'est l'URI dans Logto où les utilisateurs seront renvoyés après l'autorisation sociale, copiez et collez sur la page de configuration du fournisseur social.", - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: "URL de service de consommation d'assertions", }, platform: { universal: 'Universel', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/domain.ts b/packages/phrases/src/locales/fr/translation/admin-console/domain.ts index df2d5eca3c9..46f1e33e117 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/domain.ts @@ -15,13 +15,12 @@ const domain = { custom_domain_field: 'Domaine personnalisé', custom_domain_placeholder: 'votre.domaine.com', add_domain: 'Ajouter un domaine', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Veuillez fournir une URL de domaine valide avec un minimum de trois parties, par exemple "votre.domaine.com."', verify_domain: 'Vérifier le domaine', enable_ssl: 'Activer SSL', checking_dns_tip: - "Après avoir configuré les enregistrements DNS, le processus s'exécutera automatiquement et peut prendre jusqu'à 24 heures. Vous pouvez quitter cette interface pendant son exécution.", + 'Après avoir configuré les enregistrements DNS, le processus s’exécutera automatiquement et peut prendre jusqu’à 24 heures. Vous pouvez quitter cette interface pendant son exécution.', enable_ssl_tip: 'Activer SSL s’exécutera automatiquement et peut prendre jusqu’à 24 heures. Vous pouvez quitter cette interface pendant son exécution.', generating_dns_records: 'Génération des enregistrements DNS...', @@ -52,9 +51,8 @@ const domain = { 'Vous pouvez personnaliser le nom de domaine de ces points de terminaison selon vos besoins. Choisissez soit "{{custom}}" ou "{{default}}".', custom_social_callback_url_note: 'Vous pouvez personnaliser le nom de domaine de cette URI pour correspondre au point de terminaison de votre application. Choisissez soit "{{custom}}" ou "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Vous pouvez personnaliser le nom de domaine de cette URI pour correspondre à l\'URL du service de consommation d\'assertion de votre fournisseur d\'identité. Choisissez soit "{{custom}}" ou "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/fr/translation/admin-console/get-started.ts b/packages/phrases/src/locales/fr/translation/admin-console/get-started.ts index 603f82d9100..f7a80205f7c 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: 'Quelques choses que vous pouvez faire pour obtenir rapidement de la valeur de Logto', develop: { title: 'Développer: Prenez 5 minutes pour intégrer votre application', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Développer: Intégrez votre application de manière sécurisée en quelques minutes', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Ou prenez 5 minutes pour intégrer votre application avec nos SDK préconstruits et tutoriels.', }, customize: { title: 'Personnaliser: Offrez une excellente expérience de connexion', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/guide.ts b/packages/phrases/src/locales/fr/translation/admin-console/guide.ts index 9d5254b3010..93529d2a034 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Application sur une seule page', Native: 'Natif', MachineToMachine: 'Machine-à-machine', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Intégration non-SDK', + ThirdParty: 'Application tierce', }, filter: { title: 'Filtrer le framework', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/invitation.ts b/packages/phrases/src/locales/fr/translation/admin-console/invitation.ts index fd14201f2f4..2c872d55210 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Trouvez vos locataires', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Votre adresse e-mail peut déjà être enregistrée avec plusieurs locataires. Vous pouvez choisir de rejoindre les existants ou continuer à créer un nouveau.', + create_new_tenant: 'Créer un nouveau locataire', + email_not_match_title: 'Vous êtes actuellement connecté en tant que\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + "Veuillez vous connecter avec le compte correct pour accepter l'invitation et devenir un membre de l'organisation.", + switch_account: 'Se connecter à un autre compte', + invalid_invitation_status: + "Invitation invalide. Veuillez contacter l'administrateur et réessayer.", + invitation_not_found: "Invitation non trouvée. Veuillez contacter l'administrateur.", }; export default Object.freeze(invitation); 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 91941b02bb7..b95231fad52 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 @@ -22,13 +22,10 @@ const organization_details = { "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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Données personnalisées', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + "Les données personnalisées sont un objet JSON qui peut être utilisé pour stocker des données supplémentaires associées à l'organisation.", + invalid_json_object: 'Objet JSON non valide.', }; 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 a84e83d03ae..8c09ee21040 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: 'Organisation', page_title: 'Organisations', title: 'Organisations', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + "Les organisations sont généralement utilisées dans les applications SaaS ou similaires multi-locataires et représentent vos clients qui sont des équipes, des organisations, ou des entreprises entières. Les organisations servent d'élément fondateur pour l'authentification et l'autorisation B2B.", organization_template: "Modèle d'organisation", organization_id: "ID de l'organisation", members: 'Membres', create_organization: 'Créer une organisation', setup_organization: 'Configurer votre organisation', organization_list_placeholder_title: 'Organisation', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + "Les organisations sont souvent utilisées dans les applications SaaS ou similaires multi-locataires comme bonne pratique. Elles vous permettent de développer des applications qui permettent aux clients de créer et de gérer des organisations, d'inviter des membres, et d'assigner des rôles.", organization_name_placeholder: 'Mon organisation', organization_description_placeholder: "Une brève description de l'organisation", organization_permission: "Autorisation de l'organisation", diff --git a/packages/phrases/src/locales/fr/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/fr/translation/admin-console/protected-app.ts index 9af4f1a1c70..ab51c67ce7a 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/protected-app.ts @@ -1,69 +1,46 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Application Protégée', + title: + "Créez une application protégée : ajoutez l'authentification en toute simplicité et avec une vitesse épique", description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + "L'application protégée maintient de manière sécurisée les sessions utilisateur et redirige les requêtes de votre application. Propulsée par Cloudflare Workers, profitez des performances de premier ordre et d'un démarrage instantané de 0 ms dans le monde entier. En savoir plus", + fast_create: 'Création rapide', + modal_title: 'Créer une Application Protégée', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + "Activez une protection sécurisée et rapide en quelques clics. Ajoutez facilement l'authentification à votre application web existante.", form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: "Votre URL d'origine", + url_field_placeholder: 'https://domaine.com/', + url_field_description: + "Indiquez l'adresse de votre application nécessitant une protection d'authentification.", url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + "Les modifications apportées à l'URL d'origine peuvent prendre de 1 à 2 minutes pour être effectives dans les emplacements du réseau mondial.", url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Indiquez l'adresse de votre application, en excluant tout '/chemin'. Après la création, vous pouvez personnaliser les règles d'authentification de routage.\n\nRemarque : l'URL d'origine en elle-même ne nécessite pas d'authentification ; la protection est appliquée exclusivement aux accès via le domaine de l'application désignée.", + domain_field_label: "Domaine de l'application", + domain_field_placeholder: 'votre-domaine', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + "Cette URL sert de proxy de protection d'authentification pour l'URL d'origine. Un domaine personnalisé peut être appliqué après la création.", domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + "Cette URL sert de proxy de protection d'authentification pour l'URL d'origine.", domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Les applications protégées par Logto seront hébergées par défaut à 'votre-domaine.{{domain}}'. Un domaine personnalisé peut être appliqué après la création.", + create_application: "Créer l'application", + create_protected_app: 'Création rapide', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Votre domaine est requis.', + domain_in_use: 'Ce nom de sous-domaine est déjà utilisé.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Format de sous-domaine invalide : utilisez uniquement des lettres minuscules, des chiffres et des tirets '-'.", + url_required: "L'URL d'origine est requise.", invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Format d'URL d'origine invalide : Utilisez http:// ou https://. Remarque : '/chemin' n'est actuellement pas pris en charge.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + "Veuillez exposer votre serveur local à Internet d'abord. En savoir plus sur le développement local.", }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + "🎉 Authentification de l'application activée avec succès ! Découvrez la nouvelle expérience de votre site web.", }; export default Object.freeze(protected_app); 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 653c877c42f..79f05dbbbfa 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 @@ -13,6 +13,9 @@ const role_details = { "Les rôles sont un regroupement d'autorisations qui peuvent être attribuées aux utilisateurs. Ils fournissent également un moyen d'agréger les autorisations définies pour différentes API, ce qui rend plus efficace l'ajout, la suppression ou l'ajustement des autorisations par rapport à leur attribution individuelle aux utilisateurs.", field_name: 'Nom', field_description: 'Description', + field_is_default: 'Rôle par défaut', + field_is_default_description: + "Définissez ce rôle comme rôle par défaut pour les nouveaux utilisateurs. Plusieurs rôles par défaut peuvent être définis. Cela affectera également les rôles par défaut des utilisateurs créés via l'API de gestion.", type_m2m_role_tag: "Rôle de l'application machine-à-machine", type_user_role_tag: "Rôle d'utilisateur", permission: { diff --git a/packages/phrases/src/locales/fr/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/fr/translation/admin-console/tenant-members.ts index c2947d0cef9..7b79f19d3d1 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/tenant-members.ts @@ -1,102 +1,63 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ + members: 'Membres', invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + invite_members: 'Inviter des membres', + user: 'Utilisateur', + roles: 'Rôles', + admin: 'Administrateur', + collaborator: 'Collaborateur', + invitation_status: "Statut de l'invitation", + inviter: 'Invitant', + expiration_date: "Date d'expiration", invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Inviter des personnes à Silverhand', + subtitle: "Pour inviter des membres à une organisation, ils doivent accepter l'invitation.", + to: 'À', + added_as: 'Ajouté en tant que rôles', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'En attente', + accepted: 'Accepté', + expired: 'Expiré', + revoked: 'Révoqué', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: "Inviter des membres d'équipe", description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + "Votre locataire n'a actuellement aucun membre invité.\nPour aider à votre intégration, envisagez d'ajouter plus de membres ou d'administrateurs.", }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: "Modifier le rôle de l'utilisateur", + delete: "Supprimer l'utilisateur du locataire", + resend_invite: "Renvoyer l'invitation", + revoke: "Révoquer l'invitation", + delete_invitation_record: "Supprimer cet enregistrement d'invitation", }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Modifier les rôles de {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Êtes-vous sûr de vouloir supprimer cet utilisateur de ce locataire?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + "Êtes-vous sûr de vouloir rendre le(s) utilisateur(s) sélectionné(s) administrateur? Accorder l'accès administrateur donnera au(x) utilisateur(s) les autorisations suivantes.", + revoke_invitation_confirm: 'Êtes-vous sûr de vouloir révoquer cette invitation?', + delete_invitation_confirm: "Êtes-vous sûr de vouloir supprimer cet enregistrement d'invitation?", messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Invitation envoyée.', + invitation_revoked: 'Invitation révoquée.', + invitation_resend: 'Invitation renvoyée.', + invitation_deleted: "Enregistrement de l'invitation supprimé.", }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: "L'adresse e-mail de l'invité est requise.", + email_exists: "L'adresse e-mail existe déjà.", + member_exists: 'Cet utilisateur est déjà membre de cette organisation.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + "Une invitation en attente existe. Supprimez l'e-mail associé ou révoquez l'invitation.", + invalid_email: + "L'adresse e-mail est invalide. Veuillez vous assurer qu'elle est dans le bon format.", + max_member_limit: + 'Vous avez atteint le nombre maximum de membres ({{limit}}) pour ce locataire.', }, }; 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 5db9cac2799..65ca54935d6 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/tenants.ts @@ -62,7 +62,7 @@ const tenants = { }, dev_tenant_migration: { title: - 'Vous pouvez désormais essayer nos fonctionnalités Pro gratuitement en créant un nouveau "locataire de développement" !', + 'Vous pouvez désormais essayer nos fonctionnalités Pro gratuitement en créant un nouveau « locataire de développement » !', affect_title: 'Comment cela vous affecte-t-il ?', hint_1: "Nous remplaçons les anciennes balises d'environnement par deux nouveaux types de locataires : « Développement » et « Production ».", 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 adc6ce86ae6..d4b4bc991c2 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/webhooks.ts @@ -5,20 +5,13 @@ const webhooks = { 'Créez des webhooks pour recevoir sans effort des mises à jour en temps réel concernant des événements spécifiques.', create: 'Créer un webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ + interaction: 'Interaction utilisateur', + user: 'Utilisateur', + organization: 'Organisation', + role: 'Rôle', scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + organization_role: "Rôle de l'organisation", + organization_scope: "Permission de l'organisation", }, table: { name: 'Nom', diff --git a/packages/phrases/src/locales/it/errors/application.ts b/packages/phrases/src/locales/it/errors/application.ts index 9c5665c1689..41fcf7d888a 100644 --- a/packages/phrases/src/locales/it/errors/application.ts +++ b/packages/phrases/src/locales/it/errors/application.ts @@ -8,27 +8,19 @@ const application = { third_party_application_only: 'La funzionalità è disponibile solo per le applicazioni di terze parti.', user_consent_scopes_not_found: 'Scopi di consenso utente non validi.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', - protected_app_metadata_is_required: 'Protected app metadata is required.', - /** UNTRANSLATED */ + consent_management_api_scopes_not_allowed: 'I management API scopes non sono consentiti.', + protected_app_metadata_is_required: "I metadati dell'applicazione protetta sono obbligatori.", protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + "Il provider dell'applicazione protetta non è configurato. Questa funzionalità non è disponibile nella versione open source.", + cloudflare_unknown_error: + "Si è verificato un errore sconosciuto durante la richiesta all'API di Cloudflare", + protected_application_only: 'La funzionalità è disponibile solo per le applicazioni protette.', + protected_application_misconfigured: "L'applicazione protetta è configurata in modo errato.", protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + "Il sottodominio dell'applicazione protetta è già in uso.", + invalid_subdomain: 'Sottodominio non valido.', + custom_domain_not_found: 'Dominio personalizzato non trovato.', + should_delete_custom_domains_first: 'Dovresti eliminare prima i domini personalizzati.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/it/errors/domain.ts b/packages/phrases/src/locales/it/errors/domain.ts index d6dab0a8d15..4fe4d62d615 100644 --- a/packages/phrases/src/locales/it/errors/domain.ts +++ b/packages/phrases/src/locales/it/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Puoi avere solo un dominio personalizzato.', hostname_already_exists: 'Questo dominio esiste già nel nostro server.', cloudflare_not_found: 'Impossibile trovare il nome host in Cloudflare.', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Questo dominio non è permesso.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/it/errors/resource.ts b/packages/phrases/src/locales/it/errors/resource.ts index b6332a463b8..6f533af6712 100644 --- a/packages/phrases/src/locales/it/errors/resource.ts +++ b/packages/phrases/src/locales/it/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: "L'identificatore API {{indicator}} è già in uso", - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: "Impossibile eliminare l'API di gestione di Logto.", + cannot_modify_management_api: "Impossibile modificare l'API di gestione di Logto.", }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/it/errors/role.ts b/packages/phrases/src/locales/it/errors/role.ts index c9360485f71..99e5cd9225f 100644 --- a/packages/phrases/src/locales/it/errors/role.ts +++ b/packages/phrases/src/locales/it/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Il nome di ruolo {{name}} è già in uso', scope_exists: "L'identificatore di ambito {{scopeId}} è già stato aggiunto a questo ruolo", - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + "Impossibile assegnare scope dell'API di gestione a un ruolo utente.", user_exists: "L'identificatore di utente {{userId}} è già stato aggiunto a questo ruolo", application_exists: "L'ID dell'applicazione {{applicationId}} è già stato aggiunto a questo ruolo", diff --git a/packages/phrases/src/locales/it/errors/user.ts b/packages/phrases/src/locales/it/errors/user.ts index 2184b289e91..6b8414f151a 100644 --- a/packages/phrases/src/locales/it/errors/user.ts +++ b/packages/phrases/src/locales/it/errors/user.ts @@ -33,10 +33,8 @@ const user = { 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.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: "L'algoritmo della password è richiesto.", + password_and_digest: 'Non puoi impostare sia la password in chiaro che il digest della password.', }; 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 b8d30ccf480..a29485c2af7 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'crea autorizzazione', create_subtitle: 'Definire le autorizzazioni (ambiti) necessarie per questa API.', confirm_create: 'Crea autorizzazione', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Modifica autorizzazione', + edit_subtitle: 'Definire le autorizzazioni (ambiti) necessarie per la API {{resourceName}}.', name: 'Nome autorizzazione', name_placeholder: 'lettura:risorsa', forbidden_space_in_name: "Il nome dell'autorizzazione non deve contenere spazi.", diff --git a/packages/phrases/src/locales/it/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/it/translation/admin-console/api-resources.ts index 011dc77344f..28e66dd8279 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/api-resources.ts @@ -5,16 +5,15 @@ const api_resources = { create: 'Crea risorsa API', api_name: 'Nome API', api_name_placeholder: "Inserisci il nome dell'API", - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: 'Identificatore API', + api_identifier_placeholder: 'https://il-tuo-identificatore-api/', api_identifier_tip: "L'identificatore univoco della risorsa API. Deve essere un URI assoluto e non ha componenti di frammento (#). Corrisponde al parametro risorsa in OAuth 2.0.", default_api: 'API predefinita', default_api_label: 'Solo zero o una API predefinita possono essere impostate per tenant. Quando viene designata una API predefinita, il parametro di risorsa può essere omesso nella richiesta di autorizzazione. Gli scambi di token successivi utilizzeranno quell API come destinatario per impostazione predefinita, con conseguente rilascio di JWT. Scopri di più', api_resource_created: 'La risorsa API {{name}} è stata creata con successo', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: "L'indicatore dell'API deve essere un URI assoluto valido.", }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/it/translation/admin-console/application-details.ts b/packages/phrases/src/locales/it/translation/admin-console/application-details.ts index f8a2de7cabe..dd218b2dbc7 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Torna alle applicazioni', check_guide: 'Verifica guida', settings: 'Impostazioni', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + "Un \"Applicazione\" è un software o servizio registrato che può accedere alle informazioni dell'utente o agire per conto di un utente. Le applicazioni aiutano a riconoscere chi sta chiedendo cosa da Logto e gestiscono l'accesso e le autorizzazioni. Compila i campi obbligatori per l'autenticazione.", + integration: 'Integrazione', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + "Implementa con i lavoratori sicuri di Logto, supportati dalla rete perimetrale di Cloudflare per prestazioni di prim'ordine e avviamenti istantanei in tutto il mondo a 0 ms.", + service_configuration: 'Configurazione del servizio', + service_configuration_description: 'Completa le configurazioni necessarie nel tuo servizio.', + session: 'Sessione', + endpoints_and_credentials: 'Endpoint e Credenziali', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Usa i seguenti endpoint e credenziali per configurare la connessione OIDC nella tua applicazione.', + refresh_token_settings: 'Token di aggiornamento', + refresh_token_settings_description: + 'Gestisci le regole dei token di aggiornamento per questa applicazione.', application_roles: 'Ruoli', machine_logs: 'Log delle macchine', application_name: "Nome dell'applicazione", @@ -36,10 +27,8 @@ const application_details = { authorization_endpoint: 'Endpoint di autorizzazione', authorization_endpoint_tip: "L'endpoint per effettuare l'autenticazione e l'autorizzazione. Viene utilizzato per la connessione OpenID autenticazione.", - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + show_endpoint_details: 'Mostra dettagli endpoint', + hide_endpoint_details: 'Nascondi dettagli endpoint', logto_endpoint: 'Endpoint Logto', application_id: 'ID App', application_id_tip: @@ -79,112 +68,69 @@ const application_details = { enter_your_application_name: 'Inserisci il nome della tua applicazione', application_deleted: "L'applicazione {{name}} è stata eliminata con successo", redirect_uri_required: 'Devi inserire almeno un URI di reindirizzamento', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Sentiti libero di utilizzare il tuo dominio con {{domain}} alimentato da Logto, che è permanentemente valido.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Sentiti libero di utilizzare il tuo dominio {{domain}} che è permanentemente valido.', + custom_rules: 'Regole di autenticazione personalizzate', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + "Imposta le regole con espressioni regolari per percorsi richiesti per l'autenticazione. Predefinito: protezione completa del sito se lasciato vuoto.", + authentication_routes: 'Percorsi di autenticazione', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Ecco due scenari:
  1. Per proteggere solo i percorsi '/admin' e '/privacy' con autenticazione: ^/(admin|privacy)/.*
  2. Per escludere le immagini JPG dall'autenticazione: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + "Reindirizza l'autenticazione del tuo pulsante utilizzando i percorsi specificati. Nota: questi percorsi sono irrimovibili.", + protect_origin_server: 'Proteggi il tuo server di origine', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + "Assicurati di proteggere il tuo server di origine dall'accesso diretto. Fai riferimento alla guida per ulteriori istruzioni dettagliate.", + session_duration: 'Durata della sessione (giorni)', + try_it: 'Provalo', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Marchio', + description: "Personalizza il nome e il logo dell'applicazione sullo schermo del consenso.", + more_info: 'Maggiori informazioni', + more_info_description: + "Offri agli utenti ulteriori dettagli sull'applicazione sullo schermo del consenso.", + display_name: 'Nome visualizzato', + display_logo: 'Logo visualizzato', + display_logo_dark: 'Logo visualizzato (scuro)', + terms_of_use_url: "URL termini d'uso dell'applicazione", + privacy_policy_url: "URL politica sulla privacy dell'applicazione", }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Autorizzazioni', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + "Seleziona le autorizzazioni che l'applicazione di terze parti richiede per l'autorizzazione dell'utente all'accesso a tipi di dati specifici.", + user_permissions: 'Dati utente personali', + organization_permissions: 'Accesso organizzazione', + table_name: 'Concedi autorizzazioni', + field_name: 'Autorizzazione', + field_description: 'Visualizzato nello schermo del consenso', + delete_text: 'Rimuovi autorizzazione', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + "Questa azione revocherà le autorizzazioni concesse all'applicazione di terze parti, impedendole di richiedere l'autorizzazione dell'utente per tipi di dati specifici. Sei sicuro di voler continuare?", permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + "Seleziona le autorizzazioni richieste dall'applicazione di terze parti per l'autorizzazione dell'utente all'accesso a tipi di dati specifici.", + user_profile: 'Dati utente', + api_permissions: 'Autorizzazioni API', + organization: 'Autorizzazioni organizzazione', + user_permissions_assignment_form_title: 'Aggiungi le autorizzazioni del profilo utente', + organization_permissions_assignment_form_title: + "Aggiungi le autorizzazioni dell'organizzazione", + api_resource_permissions_assignment_form_title: 'Aggiungi le autorizzazioni delle risorse API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Puoi modificare la descrizione delle autorizzazioni dei dati personali degli utenti tramite "Esperienza di accesso > Contenuto > Gestisci lingue".', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + "Quando Logto viene utilizzato come Provider di Identità (IdP) per l'autenticazione nelle app di terze parti e agli utenti viene chiesta l'autorizzazione, questa descrizione appare sullo schermo del consenso.", + user_title: 'Utente', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + "Seleziona le autorizzazioni richieste dall'applicazione di terze parti per accedere a tipi specifici di dati utente.", + grant_user_level_permissions: 'Concedi autorizzazioni dei dati utente', + organization_title: 'Organizzazione', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + "Seleziona le autorizzazioni richieste dall'applicazione di terze parti per accedere a tipi specifici di dati organizzazione.", + grant_organization_level_permissions: 'Concedi autorizzazioni dei dati organizzazione', }, roles: { name_column: 'Ruolo', diff --git a/packages/phrases/src/locales/it/translation/admin-console/applications.ts b/packages/phrases/src/locales/it/translation/admin-console/applications.ts index e204c8b3862..e93aa6da55a 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/applications.ts @@ -5,9 +5,8 @@ const applications = { "Configura l'autenticazione Logto per la tua applicazione nativa, a singola pagina, macchina-to-macchina o tradizionale", subtitle_with_app_type: "Configura l'autenticazione Logto per la tua applicazione {{name}}", create: 'Crea Applicazione', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Utilizza Logto come tuo provider di identità (IdP) per integrarti facilmente con applicazioni di terze parti', application_name: 'Nome applicazione', application_name_placeholder: 'La mia App', application_description: 'Descrizione applicazione', @@ -16,10 +15,8 @@ const applications = { no_application_type_selected: 'Non hai ancora selezionato alcun tipo di applicazione', application_created: "L'applicazione è stata creata con successo.", tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Le mie app', + third_party_applications: 'App di terze parti', }, app_id: 'App ID', type: { @@ -45,19 +42,13 @@ const applications = { description: 'E.g., servizio backend', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'App Protetta', + subtitle: 'Un app protetta da Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ + title: 'App di Terze Parti', + subtitle: 'Un app utilizzata come connettore IdP di terze parti', description: 'E.g., OIDC, SAML', }, }, diff --git a/packages/phrases/src/locales/it/translation/admin-console/connectors.ts b/packages/phrases/src/locales/it/translation/admin-console/connectors.ts index 3f9e40de07a..146bcd417eb 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/connectors.ts @@ -2,7 +2,7 @@ const connectors = { page_title: 'Connettori', title: 'Connettori', subtitle: - 'Imposta i connettori per abilitare una esperienza di accesso senza password e tramite social media', + "Imposta i connettori per abilitare un'esperienza di accesso senza password e tramite social media", create: 'Aggiungi connettore sociale', config_sie_notice: 'Hai impostato i connettori. Assicurati di configurarli in {{link}}.', config_sie_link_text: 'esperienza di accesso', @@ -19,8 +19,8 @@ const connectors = { connector_status_not_in_use: 'Non in uso', not_in_use_tip: { content: - 'Non in uso significa che la tua esperienza di accesso non ha utilizzato questo metodo di accesso. {{link}} per aggiungere questo metodo di accesso. ', - go_to_sie: 'Vai all’esperienza di accesso', + 'Non in uso significa che la tua esperienza di accesso non ha utilizzato questo metodo di accesso. {{link}} per aggiungere questo metodo di accesso.', + go_to_sie: "Vai all'esperienza di accesso", }, placeholder_title: 'Connettore sociale', placeholder_description: @@ -52,7 +52,7 @@ const connectors = { logo_dark: 'URL del logo per il pulsante di accesso tramite social media (modalità scura)', logo_dark_placeholder: 'https://your.cdn.domain/logo.png', logo_dark_tip: - 'Imposta il logo del tuo connettore per la modalità scura dopo averla abilitata nell’esperienza di accesso nel Console dell’Amministratore.', + "Imposta il logo del tuo connettore per la modalità scura dopo averla abilitata nell'esperienza di accesso nel Console dell'Amministratore.", logo_dark_collapse: 'Comprimi', logo_dark_show: 'Mostra le impostazioni del logo per la modalità scura', target: 'Nome del provider di identità', @@ -64,7 +64,7 @@ const connectors = { target_tooltip: "'Nome IdP' nei connettori social di Logto si riferisce alla 'fonte' delle tue identità social media. Nel design di Logto, non accettiamo lo stesso 'Nome IdP' di una piattaforma specifica per evitare conflitti. Devi fare molta attenzione prima di aggiungere un connettore, poiché NON PUOI cambiarne il valore una volta creato. Scopri di più", target_conflict: - 'Il nome IdP inserito corrisponde al connettore nome esistente. L’utilizzo dello stesso nome IdP potrebbe causare un comportamento di accesso imprevisto in cui gli utenti possono accedere allo stesso account tramite due connettori diversi.', + "Il nome IdP inserito corrisponde al connettore nome esistente. L'utilizzo dello stesso nome IdP potrebbe causare un comportamento di accesso imprevisto in cui gli utenti possono accedere allo stesso account tramite due connettori diversi.", target_conflict_line2: 'Se desideri sostituire il connettore corrente con lo stesso provider di identità e consentire agli utenti precedenti di accedere senza registrarsi nuovamente, elimina il connettore nome e crea un nuovo connettore con lo stesso "Nome IdP".', target_conflict_line3: @@ -78,8 +78,7 @@ const connectors = { callback_uri: 'URI di callback', callback_uri_description: "Anche chiamato URI di reindirizzamento, è l'URI in Logto dove gli utenti verranno rimandati dopo l'autorizzazione tramite social media, copia e incollalo nella pagina di configurazione del provider social media.", - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'URL del servizio consumer di assunzione', }, platform: { universal: 'Universale', diff --git a/packages/phrases/src/locales/it/translation/admin-console/domain.ts b/packages/phrases/src/locales/it/translation/admin-console/domain.ts index 6495b31c7db..922362e552d 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Dominio personalizzato', custom_domain_placeholder: 'il-tuo-dominio.com', add_domain: 'Aggiungi dominio', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Si prega di fornire un URL di dominio valido con un minimo di tre parti, ad esempio "tuo.dominio.com".', verify_domain: 'Verifica dominio', enable_ssl: 'Abilita SSL', checking_dns_tip: @@ -52,9 +51,8 @@ const domain = { 'Puoi personalizzare il nome di dominio di questi endpoint come richiesto. Scegli "{{custom}}" o "{{default}}".', custom_social_callback_url_note: 'Puoi personalizzare il nome di dominio di questo URI per corrispondere all\'endpoint della tua applicazione. Scegli "{{custom}}" o "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Puoi personalizzare il nome di dominio di questo URI per corrispondere all\'URL del servizio consumer assertion provider del tuo fornitore di identità. Scegli "{{custom}}" o "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/it/translation/admin-console/get-started.ts b/packages/phrases/src/locales/it/translation/admin-console/get-started.ts index 678c3f31a21..dbfcfcf7176 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: 'Alcune cose che puoi fare per ottenere rapidamente il valore di Logto', develop: { title: 'Sviluppa: Dedica 5 minuti per integrare la tua app', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Sviluppa: Integra in modo sicuro la tua app in pochi minuti', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Oppure impiega 5 minuti per integrare la tua app con i nostri SDK predefiniti e i tutorial.', }, customize: { title: "Personalizza: Offri un'ottima esperienza di accesso", diff --git a/packages/phrases/src/locales/it/translation/admin-console/guide.ts b/packages/phrases/src/locales/it/translation/admin-console/guide.ts index 6b72dfbd605..163dad249f9 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/guide.ts @@ -1,16 +1,14 @@ const guide = { start_building: 'Inizia a costruire', - get_started: 'Inizia', + get_started: 'Comincia', categories: { featured: 'Popolare e per te', Traditional: 'Applicazione Web Tradizionale', SPA: 'App a pagina singola', Native: 'Nativo', MachineToMachine: 'Dalla macchina alla macchina', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integrazione non-SDK', + ThirdParty: 'App di terze parti', }, filter: { title: 'Filtra framework', diff --git a/packages/phrases/src/locales/it/translation/admin-console/invitation.ts b/packages/phrases/src/locales/it/translation/admin-console/invitation.ts index fd14201f2f4..13f8857dfbb 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/invitation.ts @@ -1,22 +1,14 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Trova i tuoi inquilini', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Il tuo indirizzo email potrebbe già essere registrato con più inquilini. Puoi scegliere di unirti a quelli esistenti o continuare a crearne uno nuovo.', + create_new_tenant: 'Crea un nuovo inquilino', + email_not_match_title: "Al momento hai effettuato l'accesso come\n{{email}}", email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + "Effettua l'accesso con l'account corretto per accettare l'invito e diventare un membro dell'organizzazione.", + switch_account: 'Accedi con un altro account', + invalid_invitation_status: "Invito non valido. Contatta l'amministratore e riprova.", + invitation_not_found: "Invito non trovato. Contatta l'amministratore.", }; export default Object.freeze(invitation); 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 4700c52b144..8936053177b 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 @@ -22,13 +22,10 @@ const organization_details = { "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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Dati personalizzati', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + "I dati personalizzati sono un oggetto JSON che può essere utilizzato per archiviare dati aggiuntivi associati all'organizzazione.", + invalid_json_object: 'Oggetto JSON non valido.', }; 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 34c82282132..2671ce95fc8 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: 'Organizzazione', page_title: 'Organizzazioni', title: 'Organizzazioni', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + "Le organizzazioni sono solitamente utilizzate in app SaaS o simili multi-tenant e rappresentano i tuoi clienti che sono team, organizzazioni o intere aziende. Le organizzazioni funzionano come elemento fondamentale per l'autenticazione e l'autorizzazione B2B.", organization_template: 'Modello organizzazione', organization_id: 'ID organizzazione', members: 'Membri', create_organization: 'Crea organizzazione', setup_organization: 'Configura la tua organizzazione', organization_list_placeholder_title: 'Organizzazione', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Le organizzazioni sono spesso utilizzate in app SaaS o simili multi-tenant come pratica consigliata. Ti consentono di sviluppare app che permettono ai clienti di creare e gestire organizzazioni, invitare membri e assegnare ruoli.', organization_name_placeholder: 'La mia organizzazione', organization_description_placeholder: "Una breve descrizione dell'organizzazione", organization_permission: 'Permessi organizzazione', diff --git a/packages/phrases/src/locales/it/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/it/translation/admin-console/protected-app.ts index 9af4f1a1c70..83d6e550113 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/protected-app.ts @@ -1,69 +1,45 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Applicazione Protetta', + title: "Crea un'App Protetta: Aggiungi autenticazione con semplicità e velocità epica", description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + "L'App protetta mantiene in modo sicuro le sessioni degli utenti e instrada le richieste della tua app. Alimentata da Cloudflare Workers, godi delle prestazioni di alto livello e dell'avvio istantaneo da 0 ms in tutto il mondo. Scopri di più", + fast_create: 'Creazione rapida', + modal_title: "Crea un'App Protetta", modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Abilita una protezione sicura e veloce con pochi clic. Aggiungi facilmente autenticazione alla tua app web esistente.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: 'URL di origine', + url_field_placeholder: 'https://dominio.com/', + url_field_description: + "Fornisci l'indirizzo della tua app che richiede protezione tramite autenticazione.", url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + "Le modifiche all'URL di origine possono impiegare da 1 a 2 minuti per diventare effettive in tutte le posizioni della rete globale.", url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Fornisci l'indirizzo della tua applicazione, escludendo qualsiasi '/percorso'. Dopo la creazione, puoi personalizzare le regole di autenticazione del percorso.\n\nNota: L'URL di origine di per sé non richiede autenticazione; la protezione è applicata esclusivamente agli accessi tramite il dominio dell'app designato.", + domain_field_label: "Dominio dell'App", + domain_field_placeholder: 'tuo-dominio', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + "Questo URL funge da proxy di protezione dell'autenticazione per l'URL originale. Il dominio personalizzato può essere applicato dopo la creazione.", domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + "Questo URL funge da proxy di protezione dell'autenticazione per l'URL originale.", domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Le app protette da Logto saranno ospitate di default su 'tuo-dominio.{{domain}}'. Il dominio personalizzato può essere applicato dopo la creazione.", + create_application: 'Crea applicazione', + create_protected_app: 'Creazione rapida', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Il tuo dominio è obbligatorio.', + domain_in_use: 'Questo nome sottodominio è già in uso.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Formato di sottodominio non valido: utilizza solo lettere minuscole, numeri e trattini '-'.", + url_required: "L'URL di origine è obbligatorio.", invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Formato URL di origine non valido: Usa http:// o https://. Nota: '/percorso' non è attualmente supportato.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Si prega di esporre prima il proprio server locale su Internet. Scopri di più su sviluppo locale.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + "🎉 Autenticazione dell'app abilitata con successo! Esplora la nuova esperienza del tuo sito web.", }; export default Object.freeze(protected_app); 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 1a58df95e5e..ffcbef97271 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 @@ -13,6 +13,9 @@ const role_details = { "I ruoli sono un raggruppamento di autorizzazioni che possono essere assegnate agli utenti. Forniscono anche un modo per aggregare le autorizzazioni definite per diverse API, rendendo più efficiente l'aggiunta, la rimozione o la regolazione delle autorizzazioni rispetto all'assegnazione individuale agli utenti.", field_name: 'Nome', field_description: 'Descrizione', + field_is_default: 'Ruolo predefinito', + field_is_default_description: + "Imposta questo ruolo come ruolo predefinito per i nuovi utenti. Possono essere impostati più ruoli predefiniti. Ciò influenzerà anche i ruoli predefiniti per gli utenti creati tramite l'API di gestione.", type_m2m_role_tag: 'Ruolo app macchina-to-macchina', type_user_role_tag: 'Ruolo utente', permission: { diff --git a/packages/phrases/src/locales/it/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/it/translation/admin-console/tenant-members.ts index c2947d0cef9..a8fbff2742c 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Membri', + invitations: 'Inviti', + invite_members: 'Invita membri', + user: 'Utente', + roles: 'Ruoli', + admin: 'Amministratore', + collaborator: 'Collaboratore', + invitation_status: 'Stato invito', + inviter: 'Chi ha invitato', + expiration_date: 'Data di scadenza', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Invita persone in Silverhand', + subtitle: "Per invitare membri a un'organizzazione, devono accettare l'invito.", + to: 'A', + added_as: 'Aggiunti come ruoli', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'In attesa', + accepted: 'Accettato', + expired: 'Scaduto', + revoked: 'Revocato', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Invita membri del team', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + "Attualmente il tuo inquilino non ha membri invitati.\nPer aiutare con la tua integrazione, considera l'aggiunta di più membri o amministratori.", }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Modifica ruolo inquilino', + delete: "Rimuovi utente dall'inquilino", + resend_invite: 'Rinvia invito', + revoke: 'Revoca invito', + delete_invitation_record: 'Elimina questo record di invito', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Cambia ruoli di {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Sei sicuro di voler rimuovere questo utente da questo inquilino?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + "Sei sicuro di voler rendere amministratore i(e) ​​utente(i)​​ selezionato(i)​​? Concedere l'accesso da amministratore fornirà al(i)​​ utente(i)​​ le seguenti autorizzazioni.", + revoke_invitation_confirm: 'Sei sicuro di voler revocare questo invito?', + delete_invitation_confirm: 'Sei sicuro di voler eliminare questo record di invito?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Invito inviato.', + invitation_revoked: 'Invito revocato.', + invitation_resend: 'Invito rinviato.', + invitation_deleted: 'Record di invito eliminato.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: "L'email dell'invitato è obbligatoria.", + email_exists: "L'indirizzo email esiste già.", + member_exists: 'Questo utente è già membro di questa organizzazione.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + "Esiste un invito in sospeso. Elimina l'email correlata o revoca l'invito.", + invalid_email: "L'indirizzo email non è valido. Assicurati che sia nel formato corretto.", + max_member_limit: 'Hai raggiunto il numero massimo di membri ({{limit}}) per questo inquilino.', }, }; 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 ecc98cdbafc..008d72da9ac 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/webhooks.ts @@ -5,20 +5,13 @@ const webhooks = { 'Crea webhook per ricevere facilmente aggiornamenti in tempo reale relativi a eventi specifici.', create: 'Crea Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Interazione utente', + user: 'Utente', + organization: 'Organizzazione', + role: 'Ruolo', + scope: 'Permesso', + organization_role: 'Ruolo organizzazione', + organization_scope: 'Permesso organizzazione', }, table: { name: 'Nome', diff --git a/packages/phrases/src/locales/ja/errors/application.ts b/packages/phrases/src/locales/ja/errors/application.ts index 49f23420bc3..a07e4bce8ae 100644 --- a/packages/phrases/src/locales/ja/errors/application.ts +++ b/packages/phrases/src/locales/ja/errors/application.ts @@ -7,27 +7,18 @@ const application = { '伝統的なWebアプリケーションにのみ、サードパーティアプリとしてマークできます。', third_party_application_only: 'この機能はサードパーティアプリケーションにのみ利用可能です。', user_consent_scopes_not_found: '無効なユーザー同意スコープ。', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', - protected_app_metadata_is_required: 'Protected app metadata is required.', - /** UNTRANSLATED */ + consent_management_api_scopes_not_allowed: '管理APIスコープは許可されていません。', + protected_app_metadata_is_required: '保護されたアプリケーションメタデータが必要です。', protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + '保護されたアプリケーションプロバイダーが構成されていません。この機能はオープンソースバージョンでは利用できません。', + cloudflare_unknown_error: 'Cloudflare APIをリクエスト中に不明なエラーが発生しました', + protected_application_only: 'この機能は保護されたアプリケーションにのみ利用可能です。', + protected_application_misconfigured: '保護されたアプリケーションの設定が間違っています。', protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + '保護されたアプリケーションのサブドメインはすでに使用されています。', + invalid_subdomain: '無効なサブドメイン。', + custom_domain_not_found: 'カスタムドメインが見つかりません。', + should_delete_custom_domains_first: 'まずカスタムドメインを削除する必要があります。', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/ja/errors/domain.ts b/packages/phrases/src/locales/ja/errors/domain.ts index 9014a45f673..03885be4904 100644 --- a/packages/phrases/src/locales/ja/errors/domain.ts +++ b/packages/phrases/src/locales/ja/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'カスタムドメインは1つしか持てません。', hostname_already_exists: 'サーバーには既にこのドメインが存在しています。', cloudflare_not_found: 'Cloudflare からホスト名が見つかりませんでした。', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'このドメインは許可されていません。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/ja/errors/resource.ts b/packages/phrases/src/locales/ja/errors/resource.ts index 2b42469768d..d61355749aa 100644 --- a/packages/phrases/src/locales/ja/errors/resource.ts +++ b/packages/phrases/src/locales/ja/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API識別子 {{indicator}} はすでに使用されています', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Logto管理APIを削除できません。', + cannot_modify_management_api: 'Logto管理APIを変更できません。', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/ja/errors/role.ts b/packages/phrases/src/locales/ja/errors/role.ts index 1819b4565e6..a9915cd5add 100644 --- a/packages/phrases/src/locales/ja/errors/role.ts +++ b/packages/phrases/src/locales/ja/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'このロール名{{name}}はすでに使用されています', scope_exists: 'スコープID {{scopeId}}はすでにこのロールに追加されています', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'ユーザーのロールに管理APIのスコープを割り当てることはできません。', user_exists: 'ユーザーID{{userId}}はすでにこのロールに追加されています', application_exists: 'アプリケーション ID {{applicationId}} はすでにこのロールに追加されています', default_role_missing: diff --git a/packages/phrases/src/locales/ja/errors/user.ts b/packages/phrases/src/locales/ja/errors/user.ts index 78abaa94f30..dd974d70bee 100644 --- a/packages/phrases/src/locales/ja/errors/user.ts +++ b/packages/phrases/src/locales/ja/errors/user.ts @@ -33,9 +33,7 @@ const user = { missing_mfa: 'MFAを追加してからサインインしてください。', totp_already_in_use: 'TOTPはすでに使用されています。', backup_code_already_in_use: 'バックアップコードはすでに使用されています。', - /** UNTRANSLATED */ password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ password_and_digest: 'You cannot set both plain text password and password digest.', }; 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 e71f5b9f005..19a570fbe19 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リソースに戻る', general_tab: '一般', permissions_tab: '権限', @@ -21,9 +21,7 @@ const api_resource_details = { create_title: '権限の作成', create_subtitle: 'このAPIで必要な権限(スコープ)を定義します。', confirm_create: '権限を作成', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ + edit_title: 'API権限の編集', edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', name: '権限名', name_placeholder: 'read:resource', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/ja/translation/admin-console/api-resources.ts index 44115567273..b628844ace7 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/api-resources.ts @@ -13,7 +13,6 @@ const api_resources = { default_api_label: 'テナントごとにデフォルトのAPIを0または1つだけ設定できます。デフォルトのAPIが指定されている場合、認証リクエストでリソースパラメータを省略できます。その後のトークン交換は、デフォルトのAPIを対象として行われます。それにより、JWTが発行されます。詳細を見る', api_resource_created: 'APIリソース{{name}}が正常に作成されました', - /** UNTRANSLATED */ invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/application-details.ts index 7906c5c1552..8d4a13ef236 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/application-details.ts @@ -3,43 +3,32 @@ const application_details = { back_to_applications: 'アプリケーションに戻る', check_guide: 'ガイドを確認', settings: '設定', - /** UNTRANSLATED */ settings_description: 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + integration: '統合', integration_description: "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + service_configuration: 'サービス構成', + service_configuration_description: 'サービスで必要な構成を完了します。', + session: 'セッション', + endpoints_and_credentials: 'エンドポイントと資格情報', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + '次のエンドポイントと資格情報を使用して、アプリケーションでOIDC接続を設定します。', + refresh_token_settings: 'リフレッシュトークン', + refresh_token_settings_description: + 'このアプリケーションのリフレッシュトークン規則を管理します。', application_roles: '役割', machine_logs: 'マシンログ', application_name: 'アプリケーション名', application_name_placeholder: '私のアプリ', description: '説明', description_placeholder: 'アプリケーションの説明を入力してください', - config_endpoint: 'OpenID Providerの構成エンドポイント', + config_endpoint: 'OpenIDプロバイダ構成エンドポイント', authorization_endpoint: '認可エンドポイント', authorization_endpoint_tip: '認証と認可を実行するエンドポイントです。OpenID Connectの認証に使用されます。', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + show_endpoint_details: 'エンドポイントの詳細を表示', + hide_endpoint_details: 'エンドポイントの詳細を非表示', logto_endpoint: 'Logto エンドポイント', application_id: 'アプリID', application_id_tip: @@ -79,112 +68,67 @@ const application_details = { enter_your_application_name: 'アプリケーション名を入力してください', application_deleted: 'アプリケーション{{name}}が正常に削除されました', redirect_uri_required: 'リダイレクトURIを少なくとも1つ入力する必要があります', - /** UNTRANSLATED */ app_domain_description_1: 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ app_domain_description_2: 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ - custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ + custom_rules: 'カスタム認証ルール', + custom_rules_placeholder: '^/(admin|privacy)/.+', custom_rules_description: 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + authentication_routes: '認証ルート', custom_rules_tip: "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ authentication_routes_description: 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + protect_origin_server: 'オリジンサーバーを保護する', protect_origin_server_description: 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + session_duration: 'セッション期間(日単位)', + try_it: 'お試しください', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'ブランディング', + description: 'Consent画面上でアプリケーションの表示名とロゴをカスタマイズします。', + more_info: '詳細', + more_info_description: 'Consent画面上でアプリケーションに関する追加情報を提供します。', + display_name: '表示名', + display_logo: '表示ロゴ', + display_logo_dark: '表示ロゴ(ダーク)', + terms_of_use_url: 'アプリケーション利用規約URL', + privacy_policy_url: 'アプリケーションプライバシーポリシーURL', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: '権限', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'ユーザーが特定のデータタイプにアクセスするためにサードパーティアプリケーションに対して承認される必要がある権限を選択します。', + user_permissions: '個人ユーザーデータ', + organization_permissions: '組織アクセス', + table_name: '権限を許可', + field_name: '権限', + field_description: '同意画面に表示', + delete_text: '権限を削除', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'この操作は、ユーザーの特定のデータタイプに対するユーザー認証を要求するアプリケーションに許可された権限を撤回し、続行してもよろしいですか?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'ユーザーが特定のデータタイプにアクセスするためにサードパーティアプリケーションが要求している権限を選択します。', + user_profile: 'ユーザーデータ', + api_permissions: 'API権限', + organization: '組織権限', + user_permissions_assignment_form_title: 'ユーザープロファイル権限を追加', + organization_permissions_assignment_form_title: '組織権限を追加', + api_resource_permissions_assignment_form_title: 'APIリソース権限を追加', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + '個人ユーザーデータ権限の説明を「サインイン体験 > コンテンツ > 言語管理」を介して変更できます', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Logtoがサードパーティアプリケーションの認証プロバイダ(IdP)として使用され、ユーザーに承認を要求される場合、この説明が同意画面に表示されます。', + user_title: 'ユーザー', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + '特定のユーザーデータにアクセスするためにサードパーティアプリケーションが要求する権限を選択します。', + grant_user_level_permissions: 'ユーザーデータの権限を付与する', + organization_title: '組織', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + '特定の組織データにアクセスするためにサードパーティアプリケーションが要求する権限を選択します。', + grant_organization_level_permissions: '組織データの権限を付与する', }, roles: { name_column: '役割', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/applications.ts b/packages/phrases/src/locales/ja/translation/admin-console/applications.ts index 9a8f4f768a7..9ac197042a5 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/applications.ts @@ -5,9 +5,8 @@ const applications = { 'ネイティブ、シングルページ、マシン・トゥ・マシン、または従来のアプリケーションにLogto認証を設定する', subtitle_with_app_type: 'あなたの {{name}} アプリケーションに Logto 認証を設定する', create: 'アプリケーションを作成する', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'LogtoをIdentity Provider(IdP)として使用し、サードパーティアプリケーションと簡単に統合できます', application_name: 'アプリケーション名', application_name_placeholder: '私のアプリ', application_description: 'アプリケーションの説明', @@ -16,9 +15,7 @@ const applications = { no_application_type_selected: 'まだアプリケーションタイプが選択されていません', application_created: 'アプリケーションが正常に作成されました。', tab: { - /** UNTRANSLATED */ my_applications: 'My apps', - /** UNTRANSLATED */ third_party_applications: 'Third-party apps', }, app_id: 'App ID', @@ -44,20 +41,14 @@ const applications = { description: '例:バックエンドサービス', }, protected: { - /** UNTRANSLATED */ title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + subtitle: 'Logtoによって保護されたアプリ', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + subtitle: 'サードパーティIdPコネクターとして使用されるアプリ', + description: '例:OIDC、SAML', }, }, placeholder_title: '続行するにはアプリケーションタイプを選択してください', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ja/translation/admin-console/connectors.ts index 3bdb104640e..af9f694ff8e 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/connectors.ts @@ -75,8 +75,7 @@ const connectors = { callback_uri: 'Callback URI', callback_uri_description: 'Redirect URIもしくはコールバックURIとも呼ばれ、Logtoに戻るURIです。コピーしてソーシャルプロバイダの構成ページに貼り付けてください。', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'アサーションコンシューマーサービスURL', }, platform: { universal: 'ユニバーサル', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/domain.ts b/packages/phrases/src/locales/ja/translation/admin-console/domain.ts index 5d3c9ab8138..a054060ffba 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/domain.ts @@ -14,9 +14,8 @@ const domain = { custom_domain_field: 'カスタムドメイン', custom_domain_placeholder: 'your.domain.com', add_domain: 'ドメインを追加', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + '有効なドメインURLを指定してください。最低3つの部分を含め、例:"your.domain.com."', verify_domain: 'ドメインを検証', enable_ssl: 'SSLを有効にする', checking_dns_tip: @@ -51,9 +50,8 @@ const domain = { 'これらのエンドポイントのドメイン名を必要に応じてカスタマイズできます。 "{{custom}}" または "{{default}}" のいずれかを選択してください。', custom_social_callback_url_note: 'このURIのドメイン名をアプリケーションのエンドポイントに合わせてカスタマイズできます。 "{{custom}}" または "{{default}}" のいずれかを選択してください。', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'このURIのドメイン名をアイデンティティプロバイダのアサーションコンシューマーサービスURLに合わせてカスタマイズできます。 "{{custom}}" または "{{default}}" のいずれかを選択してください。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/ja/translation/admin-console/get-started.ts b/packages/phrases/src/locales/ja/translation/admin-console/get-started.ts index 6f4b7936ade..966eae9cfad 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/get-started.ts @@ -3,15 +3,13 @@ const get_started = { title: 'あなたの成功を手助けする探索', subtitle: 'Logtoの価値を迅速に把握するための数つの方法', develop: { - title: 'Develop: 5分の時間を使ってアプリを統合してみましょう', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title: '開発: 5分の時間を使ってアプリを統合してみましょう', + title_cloud: '開発: 数分でアプリを安全に統合する', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'または、5分間でアプリを当社の事前構築済みSDKおよびチュートリアルで統合してください。', }, customize: { - title: 'Customize: 素晴らしいサインイン体験を提供する', + title: 'カスタマイズ: 素晴らしいサインイン体験を提供する', preview: { title: 'あなたがカスタマイズしたサインイン体験のライブプレビューをチェックしましょう', subtitle: 'Logtoのサインイン体験を試して、その使い方を確認してください', @@ -25,10 +23,10 @@ const get_started = { add_more: 'もっと追加する', }, secure: { - title: 'Secure: リソースを保護する', + title: 'セキュリティ: リソースを保護する', }, manage: { - title: 'Manage: 製品とユーザーのアクセス制御を定義する', + title: '管理: 製品とユーザーのアクセス制御を定義する', rbac: { title: 'ロールベースのアクセス制御を追加して、リソースを保護する', subtitle: '多様なユースケースに対してスケーラブルなロールの認可によりリソースを制御します', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/guide.ts b/packages/phrases/src/locales/ja/translation/admin-console/guide.ts index 15468f6afca..8cad092405f 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'シングルページアプリ', Native: 'ネイティブ', MachineToMachine: 'Machine-to-machine', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: '非SDK統合', + ThirdParty: 'サードパーティーアプリ', }, filter: { title: 'フレームワークを絞り込む', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/invitation.ts b/packages/phrases/src/locales/ja/translation/admin-console/invitation.ts index fd14201f2f4..f074bac76bc 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/invitation.ts @@ -1,22 +1,14 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'テナントを見つける', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'あなたのメールアドレスはすでに複数のテナントに登録されているかもしれません。既存のものに参加するか、新しいものを作成し続けるか選択できます。', + create_new_tenant: '新しいテナントを作成', + email_not_match_title: '現在サインインされているメールアドレス\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + '招待を受け入れ、組織のメンバーになるには、正しいアカウントでサインインしてください。', + switch_account: '別のアカウントにサインイン', + invalid_invitation_status: '招待状が無効です。管理者に問い合わせて、もう一度お試しください。', + invitation_not_found: '招待が見つかりませんでした。管理者に連絡してください。', }; export default Object.freeze(invitation); 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 be29978c504..744247c8f44 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 @@ -22,13 +22,10 @@ const organization_details = { '削除すると、ユーザーは組織内のメンバーシップとロールを失います。この操作は元に戻せません。', search_user_placeholder: '名前、メール、電話番号、またはユーザーIDで検索', at_least_one_user: '少なくとも1人のユーザーが必要です。', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'カスタムデータ', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'カスタムデータは、組織に関連付けられた追加データを格納するために使用できるJSONオブジェクトです。', + invalid_json_object: '無効なJSONオブジェクト。', }; 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 cca20d6b267..5a3eddb6e8f 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: '組織', page_title: '組織', title: '組織', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', - organization_template: 'Organization template', + '組織は通常、SaaSや類似したマルチテナントアプリで使用され、お客様(チーム、組織、または企業全体)を代表します。 組織はB2B認証および承認の基本的な要素として機能します。', + organization_template: '組織テンプレート', organization_id: '組織ID', members: 'メンバー', create_organization: '組織を作成', setup_organization: '組織を設定', organization_list_placeholder_title: '組織', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + '組織はSaaSや類似したマルチテナントアプリでよく使用され、クライアントが組織を作成・管理し、メンバーを招待し、役割を割り当てるようなアプリを開発できるようにします。', organization_name_placeholder: '私の組織', organization_description_placeholder: '組織の簡単な説明', organization_permission: '組織権限', @@ -26,10 +24,10 @@ const organizations = { role: '役割', search_placeholder: '組織名またはIDで検索', search_role_placeholder: '検索して役割を選択', - empty_placeholder: '🤔 You don’t have any {{entity}} set up yet.', + empty_placeholder: '🤔 あなたはまだ{{entity}}を設定していません。', organization_and_member: '組織とメンバー', organization_and_member_description: - '組織はユーザーのグループであり、チーム、ビジネス顧客、およびパートナー企業を代表し、各ユーザーが「メンバー」です。これらはマルチテナント要件を処理するための基本的なエンティティです。', + '組織はユーザーのグループであり、チーム、ビジネス顧客、およびパートナー企業を代表し、各ユーザーが「メンバー」です。 これらはマルチテナント要件を処理するための基本的なエンティティです。', guide: { title: 'ガイドで始める', subtitle: 'ガイドを使って組織設定をスタートしましょう', @@ -52,12 +50,12 @@ const organizations = { section_3: { title: '組織の役割にAPI権限を割り当てることはできますか?', description: - 'はい、組織の役割にAPI権限を割り当てることができます。Logtoは組織の役割を効果的に管理する柔軟性を提供し、それらの役割に組織権限とAPI権限の両方を含めることができます。', + 'はい、組織の役割にAPI権限を割り当てることができます。 Logtoは組織の役割を効果的に管理する柔軟性を提供し、それらの役割に組織権限とAPI権限の両方を含めることができます。', }, section_4: { title: 'イラストを操作して、接続方法を確認してください', description: - '例として、John、Sarahは異なる組織に所属し、それぞれ異なる組織のコンテキストで異なる役割を担っています。異なるモジュールにカーソルを合わせて、それぞれの動作を確認しましょう。', + '例として、John、Sarahは異なる組織に所属し、それぞれ異なる組織のコンテキストで異なる役割を担っています。 異なるモジュールにカーソルを合わせて、それぞれの動作を確認しましょう。', }, }, organization_permissions: '組織権限', @@ -68,10 +66,10 @@ const organizations = { role_description: '役割「{{role}}」は、異なる組織で同じ組織テンプレートを共有しています。', john: 'John', john_tip: - 'Johnは、異なる組織に所属し、単一の識別子として「john@email.com」のメールアドレスを持っています。彼は組織Aの管理者であり、組織Bのゲストでもあります。', + 'Johnは、異なる組織に所属し、単一の識別子として「john@email.com」のメールアドレスを持っています。 彼は組織Aの管理者であり、組織Bのゲストでもあります。', sarah: 'Sarah', sarah_tip: - 'Sarahは、単一の識別子として「sarah@email.com」のメールアドレスを持つ1つの組織に属しています。彼女は組織Bの管理者です。', + 'Sarahは、単一の識別子として「sarah@email.com」のメールアドレスを持つ1つの組織に属しています。 彼女は組織Bの管理者です。', }, }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/ja/translation/admin-console/protected-app.ts index 9af4f1a1c70..75b23e2c6dd 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/protected-app.ts @@ -1,69 +1,43 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: '保護されたアプリ', + title: '保護されたアプリを作成:シンプルさとエピックなスピードで認証を追加', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + '保護されたアプリはユーザーセッションを安全に維持し、アプリのリクエストをプロキシします。Cloudflare Workersによって強力なパフォーマンスと世界中で0msの起動時間をお楽しみください。さらに詳しく', + fast_create: '高速作成', + modal_title: '保護されたアプリを作成', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'クリックするだけで安全で高速な保護を有効にします。既存のWebアプリに簡単に認証を追加します。', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: '元のURL', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_description: '認証保護が必要なアプリのアドレスを提供してください。', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + '元のURLへの変更は、グローバルネットワークロケーション全体で有効になるまで1〜2分かかる場合があります。', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "アプリケーションのアドレスを提供します。'/pathname'を含まないでください。作成後、ルート認証ルールをカスタマイズできます。\n\n注意:元のURLそのものには認証が必要ではありません。指定されたアプリドメイン経由でのアクセスにのみ保護が適用されます。", + domain_field_label: 'アプリドメイン', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ - domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'このURLは元のURLの認証保護プロキシとして機能します。作成後、カスタムドメインを適用できます。', + domain_field_description_short: 'このURLは元のURLの認証保護プロキシとして機能します。', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Logtoによって保護されたアプリは、デフォルトで 'your-domain.{{domain}}' でホストされます。作成後にカスタムドメインを適用できます。", + create_application: 'アプリケーションを作成', + create_protected_app: '高速作成', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'アプリドメインが必要です。', + domain_in_use: 'このサブドメイン名は既に使用されています。', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + '無効なサブドメイン形式:小文字のアルファベット、数字、ハイフン「-」のみを使用してください。', + url_required: '元のURLが必要です。', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "無効な元のURL形式:http://またはhttps://を使用してください。注:'/pathname' は現在サポートされていません。", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'まずローカルサーバーをインターネットに公開してください。ローカル開発についてさらに詳しく。', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 アプリ認証が正常に有効化されました!Webサイトの新しいエクスペリエンスをご覧ください。', }; export default Object.freeze(protected_app); 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 32b76f8bf5c..11f0df11242 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 @@ -13,54 +13,58 @@ const role_details = { 'ロールは、ユーザーに割り当てることができる許可のグループ化です。また、異なるAPIに対して定義された許可を集約する方法を提供し、ユーザーに個別に割り当てるよりも許可を追加、削除、または調整するのに効率的です。', field_name: '名前', field_description: '説明', + field_is_default: 'デフォルトロール', + field_is_default_description: + '新規ユーザーに対してこのロールをデフォルトロールとして設定します。複数のデフォルトロールを設定できます。これは、管理APIを介して作成されたユーザーのデフォルトロールにも影響します。', type_m2m_role_tag: '機械対機械のアプリのロール', type_user_role_tag: 'ユーザーロール', permission: { assign_button: '許可を割り当てる', assign_title: '許可の割り当て', assign_subtitle: - 'このロールに許可を割り当てます。ロールには追加された許可が追加され、このロールを持つユーザーはこれらの許可を継承します。', + 'このロールに許可を割り当てます。ロールに追加された許可がこのロールを持つユーザーにも適用されます。', assign_form_field: '許可を割り当てる', added_text_one: '{{count, number}} 個の許可が追加されました', added_text_other: '{{count, number}} 個の許可が追加されました', api_permission_count_one: '{{count, number}} 個の許可', api_permission_count_other: '{{count, number}} 個の許可', confirm_assign: '許可を割り当てる', - permission_assigned: '選択した許可は、このロールに正常に割り当てられました', + permission_assigned: '選択した許可はこのロールに正常に割り当てられました。', deletion_description: - 'この許可が削除されると、このロールの影響を受けるユーザーは、この許可によって付与されたアクセス権を失います。', - permission_deleted: '許可 "{{name}}" がこのロールから正常に削除されました', - empty: '使用可能な許可はありません', + 'この許可が削除されると、このロールに属するユーザーが失ったアクセス権に影響を受けます。', + permission_deleted: '許可 "{{name}}" がこのロールから正常に削除されました。', + empty: '利用可能な許可はありません。', }, users: { assign_button: 'ユーザーを割り当てる', name_column: 'ユーザー', app_column: 'アプリ', latest_sign_in_column: '最新サインイン', - delete_description: 'ユーザープールには残りますが、このロールに対する認可を失います。', - deleted: '{{name}} はこのロールから正常に削除されました', + delete_description: 'ユーザープールには残りますが、このロールからのアクセス権は削除されます。', + deleted: '{{name}} はこのロールから正常に削除されました。', assign_title: 'ユーザーを割り当てる', assign_subtitle: - 'ユーザーをこのロールに割り当てます。名前、電子メール、電話、またはユーザーIDで検索して適切なユーザーを見つけます。', + 'ユーザーをこのロールに割り当てます。名前、メール、電話、またはユーザーIDで検索して適切なユーザーを見つけます。', assign_field: 'ユーザーを割り当てる', confirm_assign: 'ユーザーを割り当てる', - assigned_toast_text: '選択したユーザーがこのロールに正常に割り当てられました', - empty: '使用可能なユーザーはありません', + assigned_toast_text: '選択したユーザーがこのロールに正常に割り当てられました。', + empty: '利用可能なユーザーはありません。', }, applications: { assign_button: 'アプリケーションを割り当てる', name_column: 'アプリケーション', app_column: 'アプリ', description_column: '説明', - delete_description: 'アプリケーションプールには残りますが、このロールに対する認可を失います。', - deleted: '{{name}} はこのロールから正常に削除されました', + delete_description: + 'アプリケーションプールには残りますが、このロールからのアクセス権は削除されます。', + deleted: '{{name}} はこのロールから正常に削除されました。', assign_title: 'アプリケーションを割り当てる', assign_subtitle: 'このロールにアプリケーションを割り当てます。名前、説明、またはアプリIDで検索して適切なアプリケーションを見つけます。', assign_field: 'アプリケーションを割り当てる', confirm_assign: 'アプリケーションを割り当てる', - assigned_toast_text: '選択したアプリケーションがこのロールに正常に割り当てられました', - empty: '利用可能なアプリケーションはありません', + assigned_toast_text: '選択したアプリケーションがこのロールに正常に割り当てられました。', + empty: '利用可能なアプリケーションはありません。', }, }; diff --git a/packages/phrases/src/locales/ja/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/ja/translation/admin-console/tenant-members.ts index c2947d0cef9..2580209d571 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'メンバー', + invitations: '招待状', + invite_members: 'メンバーを招待する', + user: 'ユーザー', + roles: 'ロール', + admin: '管理者', + collaborator: '共同作業者', + invitation_status: '招待状のステータス', + inviter: '招待者', + expiration_date: '有効期限', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ + title: 'Silverhand への招待', + subtitle: '組織にメンバーを招待するには、招待を受け入れる必要があります。', to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + added_as: '役割として追加', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: '保留中', + accepted: '受け入れ済み', + expired: '期限切れ', + revoked: '取り消された', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'チームメンバーを招待', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + '現在、テナントに招待されたメンバーはいません。\n統合の支援のために、メンバーや管理者を追加するかどうか検討してください。', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'テナントロールを編集', + delete: 'テナントからユーザーを削除', + resend_invite: '招待を再送信', + revoke: '招待を取り消す', + delete_invitation_record: 'この招待レコードを削除', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: '{{name}} の役割を変更', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'このユーザーをこのテナントから削除してもよろしいですか?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '選択したユーザーを管理者にすることを確認しますか? 管理者アクセスを付与すると、次の権限がユーザーに付与されます。', + revoke_invitation_confirm: 'この招待を取り消してもよろしいですか?', + delete_invitation_confirm: 'この招待レコードを削除してもよろしいですか?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: '招待が送信されました。', + invitation_revoked: '招待が取り消されました。', + invitation_resend: '招待が再送信されました。', + invitation_deleted: '招待レコードが削除されました。', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: '招待対象のメールアドレスは必須です。', + email_exists: '電子メールアドレスは既に存在します。', + member_exists: 'このユーザーはすでにこの組織のメンバーです。', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + '保留中の招待が存在します。関連する電子メールを削除するか、招待を取り消してください。', + invalid_email: 'メールアドレスが無効です。正しい形式であることを確認してください。', + max_member_limit: 'このテナントの最大メンバー数({{limit}})に達しました。', }, }; 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 19624bf16df..a684b30fc71 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/tenants.ts @@ -36,12 +36,12 @@ const tenants = { tenant_deletion_button: 'テナントを削除する', }, leave_tenant_card: { - title: '脱退', - leave_tenant: 'テナントを脱退する', + title: '退出', + leave_tenant: 'テナントを退出する', leave_tenant_description: - 'テナント内のリソースは残りますが、このテナントにはもうアクセスできません。', + 'テナント内のリソースは保持されますが、これ以上このテナントにアクセスできません。', last_admin_note: - 'このテナントを脱退するには、もう1人以上のメンバーに管理者ロールがあることを確認してください。', + 'このテナントを退出するには、少なくとも1人の他のメンバーが管理者の役割を持つことを確認してください。', }, create_modal: { title: 'テナントを作成する', @@ -81,8 +81,8 @@ const tenants = { '申し訳ありませんが、現時点ではこのテナントを削除できません。無料プランに登録しており、未払いの請求がないことを確認してください。', }, leave_tenant_modal: { - description: 'このテナントを脱退してもよろしいですか?', - leave_button: '脱退', + description: 'このテナントを退出してもよろしいですか?', + leave_button: '退出', }, tenant_landing_page: { title: 'まだテナントを作成していません', 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 38a5767a181..5aecdc31960 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/webhooks.ts @@ -4,20 +4,13 @@ const webhooks = { subtitle: '特定のイベントに関するリアルタイムの更新を手軽に受け取るためにWebhookを作成します。', create: 'Webhookを作成する', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'ユーザーインタラクション', + user: 'ユーザー', + organization: '組織', + role: 'ロール', + scope: '権限', + organization_role: '組織の役割', + organization_scope: '組織の権限', }, table: { name: '名前', diff --git a/packages/phrases/src/locales/ko/errors/application.ts b/packages/phrases/src/locales/ko/errors/application.ts index 372cb2f307f..6f8a0aad906 100644 --- a/packages/phrases/src/locales/ko/errors/application.ts +++ b/packages/phrases/src/locales/ko/errors/application.ts @@ -4,29 +4,20 @@ const application = { invalid_role_type: '사용자 유형 역할을 기계 대 기계 응용 프로그램에 할당할 수 없습니다.', invalid_third_party_application_type: '전통적인 웹 응용 프로그램만 제 3자 앱으로 표시할 수 있습니다.', - third_party_application_only: '해당 기능은 제 3자 응용 프로그램에만 사용할 수 있습니다.', + third_party_application_only: '해당 기능은 제 3자 응용프로그램에만 사용할 수 있습니다.', user_consent_scopes_not_found: '유효하지 않은 사용자 동의 범위입니다.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: '管理 API 범위 허용되지 않습니다.', protected_app_metadata_is_required: '보호된 응용 프로그램 메타데이터가 필요합니다.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ + '보호된 앱 제공자가 구성되지 않았습니다. 이 기능은 오픈 소스 버전에는 사용할 수 없습니다.', + cloudflare_unknown_error: 'Cloudflare API를 요청할 때 알 수없는 오류가 발생했습니다', + protected_application_only: '해당 기능은 보호된 응용 프로그램에만 사용할 수 있습니다.', + protected_application_misconfigured: '보호된 응용 프로그램이 잘못 구성되었습니다.', protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + '보호된 응용 프로그램의 하위 도메인이 이미 사용 중입니다.', + invalid_subdomain: '잘못된 하위 도메인입니다.', + custom_domain_not_found: '사용자 정의 도메인을 찾을 수 없습니다.', + should_delete_custom_domains_first: '먼저 사용자 정의 도메인을 삭제해야 합니다.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/ko/errors/domain.ts b/packages/phrases/src/locales/ko/errors/domain.ts index 289722e377c..a4b866f59b6 100644 --- a/packages/phrases/src/locales/ko/errors/domain.ts +++ b/packages/phrases/src/locales/ko/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: '하나의 맞춤 도메인만 사용할 수 있습니다.', hostname_already_exists: '이 도메인은 이미 서버에 존재합니다.', cloudflare_not_found: 'Cloudflare에서 호스트 이름을 찾을 수 없습니다.', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: '이 도메인은 허용되지 않습니다.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/ko/errors/resource.ts b/packages/phrases/src/locales/ko/errors/resource.ts index 405b298c38d..137e64bcec2 100644 --- a/packages/phrases/src/locales/ko/errors/resource.ts +++ b/packages/phrases/src/locales/ko/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API 식별자 {{indicator}}가 이미 사용 중입니다', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Logto 管理 API를 삭제할 수 없습니다.', + cannot_modify_management_api: 'Logto 관리 API를 수정할 수 없습니다.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/ko/errors/role.ts b/packages/phrases/src/locales/ko/errors/role.ts index ec3d9bbaa6d..0750ce06f1f 100644 --- a/packages/phrases/src/locales/ko/errors/role.ts +++ b/packages/phrases/src/locales/ko/errors/role.ts @@ -1,9 +1,7 @@ const role = { name_in_use: '역할 이름 {{name}}이/가 이미 사용 중이에요.', scope_exists: '범위 ID {{scopeId}}이/가 이미 이 역할에 추가되어 있어요.', - /** UNTRANSLATED */ - management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + management_api_scopes_not_assignable_to_user_role: '用户角色无法分配管理 API 范围。', user_exists: '사용자 ID {{userId}}이/가 이미 이 역할에 추가되어 있어요.', application_exists: '애플리케이션 ID {{applicationId}} 가 이미 이 역할에 추가되어 있어요.', default_role_missing: diff --git a/packages/phrases/src/locales/ko/errors/user.ts b/packages/phrases/src/locales/ko/errors/user.ts index 07415262af5..8a29bd23241 100644 --- a/packages/phrases/src/locales/ko/errors/user.ts +++ b/packages/phrases/src/locales/ko/errors/user.ts @@ -32,9 +32,7 @@ const user = { missing_mfa: 'You need to bind additional MFA before signing-in.', totp_already_in_use: 'TOTP is already in use.', backup_code_already_in_use: 'Backup code is already in use.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ + password_algorithm_required: '비밀번호 알고리즘이 필요합니다.', password_and_digest: 'You cannot set both plain text password and password digest.', }; 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 5657ade1b74..0845bb831b3 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 @@ -21,16 +21,14 @@ const api_resource_details = { create_title: '권한 생성', create_subtitle: '이 API에 필요한 권한을 정의합니다.', confirm_create: '권한 생성', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ + edit_title: '권한 편집', edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', name: '권한 이름', name_placeholder: 'read:resource', forbidden_space_in_name: '권한 이름에는 공백을 포함할 수 없습니다.', description: '설명', description_placeholder: '리소스를 볼 수 있는 권한', - permission_created: '권한 {{name}}이 성공적으로 생성되었습니다.', + permission_created: '{{name}} 권한이 성공적으로 생성되었습니다.', delete_description: '이 권한이 삭제되면, 해당 권한을 가진 사용자는 해당 권한으로 인해 부여받은 접근 권한을 상실하게 됩니다.', deleted: '권한 "{{name}}"이 성공적으로 삭제되었습니다.', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts index ee79d3d428d..5d183148f4b 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts @@ -13,7 +13,6 @@ const api_resources = { default_api_label: '테넌트 당 기본 API는 0개 또는 1개만 지정 할 수 있어요. 기본 API가 지정되면 인증 요청에서 리소스 매개 변수를 생략할 수 있어요. 이후 토큰 교환이 기본적으로 대상에 해당하는 API를 사용하여 수행되어 JWT가 발급되어요. 자세히 알아보기', api_resource_created: '{{name}} API 리소스가 성공적으로 생성되었어요.', - /** UNTRANSLATED */ invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts index 9cf65d5e69c..2524d062960 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts @@ -3,202 +3,143 @@ const application_details = { back_to_applications: '어플리케이션으로 돌아가기', check_guide: '가이드 확인', settings: '설정', - /** UNTRANSLATED */ settings_description: 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + integration: '통합', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + '로그토에서 클라우드플레어의 엣지 네트워크로 구동되는 안전한 워커를 사용하여 세계적인 최고 수준의 성능 및 전 세계 0ms의 차가운 시작을 구동합니다.', + service_configuration: '서비스 구성', + service_configuration_description: '서비스에서 필요한 구성을 완료하세요.', + session: '세션', + endpoints_and_credentials: '엔드포인트 및 자격증명', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + '이 어플리케이션에서 OIDC 연결 설정을 위해 다음 엔드포인트 및 자격증명을 사용하세요.', + refresh_token_settings: 'Refresh 토큰', + refresh_token_settings_description: '이 어플리케이션을 위한 Refresh 토큰 규칙을 관리하세요.', application_roles: '역할', machine_logs: '기계 로그', application_name: '어플리케이션 이름', application_name_placeholder: '나의 앱', description: '설명', description_placeholder: '어플리케이션 설명을 적어주세요.', - config_endpoint: 'OpenID Provider 구성 endpoint', - authorization_endpoint: '인증 Endpoint', + config_endpoint: 'OpenID Provider 구성 엔드포인트', + authorization_endpoint: '인증 엔드포인트', authorization_endpoint_tip: - '인증 및 권한 부여를 진행할 End-Point예요. OpenID Connect 인증에서 사용되던 값이에요.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Logto endpoint', + '인증 및 권한 부여를 진행할 엔드포인트입니다. OpenID Connect 인증에서 사용되었던 값입니다.', + show_endpoint_details: '엔드포인트 세부 정보 표시', + hide_endpoint_details: '엔드포인트 세부 정보 숨기기', + logto_endpoint: '로그토 엔드포인트', application_id: '앱 ID', application_id_tip: - '일반적으로 Logto에서 생성되는 고유한 응용 프로그램 식별자예요. OpenID Connect에서 "client_id"의 약자이기도 해요.', + '일반적으로 로그토에서 생성되는 고유한 애플리케이션 식별자입니다. OpenID Connect에서 "client_id"의 약어입니다.', application_secret: '앱 시크릿', - redirect_uri: 'Redirect URI', - redirect_uris: 'Redirect URIs', + redirect_uri: '리디렉트 URI', + redirect_uris: '리디렉트 URIs', redirect_uri_placeholder: 'https://your.website.com/app', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - '사용자 로그인 이후, 리다이렉트될 URI 경로예요. 더욱 자세한 정보는 OpenID Connect AuthRequest를 참고해주세요.', - post_sign_out_redirect_uri: '로그아웃 이후 Redirect URI', - post_sign_out_redirect_uris: '로그아웃 이후 Redirect URIs', + '사용자 로그인 후 리디렉트될 URI 경로입니다. 더 자세한 정보는 OpenID Connect 인증 요청을 참조하세요.', + post_sign_out_redirect_uri: '로그아웃 후 리디렉트 URI', + post_sign_out_redirect_uris: '로그아웃 후 리디렉트 URIs', post_sign_out_redirect_uri_placeholder: 'https://your.website.com/home', post_sign_out_redirect_uri_tip: - '로그아웃 이후, 리다이렉트될 URI 경로예요 (선택). 일부 앱에서는 실제 효과가 없을 수 있어요.', - cors_allowed_origins: 'CORS Allow Origins', + '로그아웃 후 리디렉트될 URI 경로입니다 (선택 사항). 일부 앱에서는 실제로 작동하지 않을 수 있습니다.', + cors_allowed_origins: 'CORS 허용 오리진', cors_allowed_origins_placeholder: 'https://your.website.com', cors_allowed_origins_tip: - '기본으로 모든 리다이렉트의 오리진들은 허용돼요. 대체적으로 이 값을 건들 필요는 없어요. 더욱 자세한 정보는 MDN doc를 확인해주세요.', - token_endpoint: '토큰 End-Point', - user_info_endpoint: '사용자 정보 End-Point', + '기본적으로 모든 리디렉트 오리진들이 허용됩니다. 일반적으로 이 값을 변경할 필요가 없습니다. 더 자세한 정보는 MDN 문서를 확인하세요.', + token_endpoint: '토큰 엔드포인트', + user_info_endpoint: '사용자 정보 엔드포인트', enable_admin_access: '관리자 접근 활성화', enable_admin_access_label: - '관리 API에 대한 접근을 활성화, 비활성화할 수 있어요. 활성화한다면, 이 어플리케이션에서 Access 토큰을 통해 관리 API를 사용할 수 있어요.', - always_issue_refresh_token: '항상 Refresh Token을 발급하세요', + '관리 API에 대한 접근을 활성화 또는 비활성화할 수 있습니다. 활성화하면, 이 애플리케이션에서 Access 토큰을 통해 관리 API를 사용할 수 있습니다.', + always_issue_refresh_token: '항상 Refresh 토큰 발급', always_issue_refresh_token_label: - '다음 구성을 활성화하면 Logto 가 인증 요청에 `prompt=consent` 가 제시되었는지 여부와 상관없이 항상 Refresh Token 을 발급할 수 있게 됩니다. 그러나 OpenID Connect 와 호환되지 않으며 문제가 발생할 수 있으므로 필요하지 않은 경우에는 이러한 방법을 권장하지 않습니다. ', - refresh_token_ttl: 'Refresh Token Time to Live (TTL) (일)', + '다음 구성을 활성화하면 Logto가 인증 요청에 `prompt=consent`가 제시되었는지 여부와 상관없이 항상 Refresh 토큰을 발급할 수 있게 됩니다. 그러나 OpenID Connect와 호환되지 않을 수 있으므로 필요하지 않은 경우에는 이 방식을 권장하지 않습니다.', + refresh_token_ttl: 'Refresh 토큰 수명 (일)', refresh_token_ttl_tip: - 'Refresh Token이 새로운 엑세스 토큰을 요청할 수 있는 기간입니다. 토큰 요청이 이루어지면 Refresh Token 의 TTL 이 이 값으로 연장됩니다.', - rotate_refresh_token: 'Refresh Token 회전', + '새로운 Access 토큰을 요청할 수 있는 Refresh 토큰의 기간입니다. 토큰 요청 시 Refresh 토큰의 수명이 이 값으로 연장됩니다.', + rotate_refresh_token: 'Refresh 토큰 회전', rotate_refresh_token_label: - '활성화하면, 원래의 TTL 중 70% 가 지난 후 또는 특정 조건이 충족되면 Refresh Token 요청에 대해 새로운 Refresh Token 을 발행합니다. 자세히 보기', + '활성화하면, 원래 TTL 중 70%가 지난 후 또는 특정 조건이 충족되면 Refresh 토큰 요청에 대해 새로운 Refresh 토큰을 발행합니다. 자세히 보기', delete_description: - '이 행동은 취소될 수 없어요. 어플리케이션을 영원히 삭제할 거에요. 삭제를 진행하기 위해 {{name}} 를 입력해주세요.', - enter_your_application_name: '어플리케이션 이름을 입력해 주세요.', - application_deleted: '{{name}} 어플리케이션이 성공적으로 삭제되었어요.', - redirect_uri_required: '반드시 최소 하나의 Redirect URI 를 입력해야 해요.', - /** UNTRANSLATED */ + '이 행동은 취소할 수 없습니다. 애플리케이션을 영구적으로 삭제할 것입니다. 삭제를 진행하려면 {{name}}를 입력하세요.', + enter_your_application_name: '어플리케이션 이름을 입력하세요.', + application_deleted: '{{name}} 애플리케이션이 성공적으로 삭제되었습니다.', + redirect_uri_required: '최소 하나의 리디렉트 URI를 반드시 입력해야 합니다.', app_domain_description_1: 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ app_domain_description_2: 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + custom_rules: '사용자 인증규칙', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + '사용자 인증이 필요한 라우트에 대한 정규 표현식 규칙을 설정하세요. 기본값: 비어있을 경우 전체 사이트 보호.', + authentication_routes: '인증 라우트', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "다음의 두 가지 케이스를 보여드립니다:
  1. '/admin' 및 '/privacy' 라우트만 사용자 인증으로 보호하는 경우: ^/(admin|privacy)/.*
  2. JPG 이미지를 제외한 경우: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + '지정된 라우트를 사용하여 인증 버튼을 리디렉션합니다. 참고: 이 라우트들은 변경할 수 없습니다.', + protect_origin_server: '원본 서버 보호', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + '원본 서버를 직접 액세스로부터 보호하세요. 더 많은 자세한 지침을 위해 안내서를 참조하세요.', + session_duration: '세션 기간 (일)', + try_it: '해보기', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: '브랜딩', + description: '동의 화면에서 앱의 표시 이름과 로고를 사용자 정의하세요.', + more_info: '추가 정보', + more_info_description: '동의 화면에서 사용자에게 앱에 대한 자세한 정보를 제공하세요.', + display_name: '표시 이름', + display_logo: '표시 로고', + display_logo_dark: '표시 로고 (어두운 버전)', + terms_of_use_url: '애플리케이션 이용 약관 URL', + privacy_policy_url: '애플리케이션 개인정보 보호정책 URL', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: '권한', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + '제3자 애플리케이션이 사용자 인증 특정 데이터 유형에 액세스하기 위해 필요한 권한을 선택하세요.', + user_permissions: '개인 사용자 데이터', + organization_permissions: '조직 액세스', + table_name: '권한 부여', + field_name: '권한', + field_description: '동의 화면에서 표시됨', + delete_text: '권한 제거', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + '이 작업은 제3자 앱에 부여된 권한을 취소하여 특정 데이터 유형에 대한 사용자 권한 요청을 막습니다. 계속 진행하시겠습니까?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + '제3자 애플리케이션이 특정 데이터 유형에 액세스하기 위해 사용자에게 요청하는 권한을 선택하세요.', + user_profile: '사용자 데이터', + api_permissions: 'API 권한', + organization: '조직 권한', + user_permissions_assignment_form_title: '사용자 프로필 권한 추가', + organization_permissions_assignment_form_title: '조직 권한 추가', + api_resource_permissions_assignment_form_title: 'API 리소스 권한 추가', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + '개인 사용자 데이터 권한에 대한 설명을 "사용자 경험 > 콘텐츠 > 언어 관리"를 통해 수정할 수 있습니다.', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ - user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ - organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Logto가 제3자 앱의 인증을 위해 Identity Provider (IdP)로 사용되고 사용자가 권한을 요청하면, 이 설명이 동의 화면에 나타납니다.', + user_title: '사용자', + user_description: '제3자 앱에서 특정 사용자 데이터에 액세스하려는 권한을 선택하세요.', + grant_user_level_permissions: '사용자 데이터의 권한 부여', + organization_title: '조직', + organization_description: '제3자 앱에서 특정 조직 데이터에 액세스하려는 권한을 선택하세요.', + grant_organization_level_permissions: '조직 데이터의 권한 부여', }, roles: { name_column: '역할', description_column: '설명', assign_button: '역할 할당', delete_description: - '이 행동은 이 장치 간 앱에서 이 역할을 제거합니다. 역할 자체는 여전히 존재하지만 이 장치 간 앱과 연계되지 않게 됩니다.', + '이 작업은 이 장치 간 앱에서이 역할을 제거합니다. 역할 자체는 여전히 존재하지만 이 장치 간 앱과 관련이 없어집니다.', deleted: '{{name}} 가 성공적으로 삭제되었습니다.', assign_title: '{{name}} 에 역할 할당', - assign_subtitle: '{{name}} 에게 하나 이상의 역할을 승인', + assign_subtitle: '{{name}} 에게 하나 이상의 역할을 할당하세요.', assign_role_field: '역할 할당', role_search_placeholder: '역할 이름으로 검색', added_text: '{{value, number}} 추가됨', - assigned_app_count: '{{value, number}} 개의 어플리케이션', + assigned_app_count: '{{value, number}} 개의 애플리케이션', confirm_assign: '역할 할당', role_assigned: '역할이 성공적으로 할당되었습니다.', search: '역할 이름, 설명 또는 ID로 검색', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/applications.ts b/packages/phrases/src/locales/ko/translation/admin-console/applications.ts index 14fc539f1f8..b5da2545b12 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/applications.ts @@ -3,66 +3,57 @@ const applications = { title: '어플리케이션', subtitle: '인증에 Logto를 사용할 모바일, 단일 페이지, Machine-to-Machine 또는 기존 어플리케이션을 설정할 수 있어요.', - subtitle_with_app_type: 'Set up Logto authentication for your {{name}} application', + subtitle_with_app_type: '내 {{name}} 어플리케이션에 대한 Logto 인증 설정', create: '어플리케이션 생성', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Logto를 사용하여 쉽게 서드파티 앱과 통합할 수 있는 식별 공급자(IdP)로 사용하세요', application_name: '어플리케이션 이름', application_name_placeholder: '나의 앱', application_description: '어플리케이션 설명', - application_description_placeholder: '어플리케이션 설명을 적어주세요.', + application_description_placeholder: '어플리케이션 설명을 입력해주세요.', select_application_type: '어플리케이션 종류 선택', no_application_type_selected: '어플리케이션 종류를 선택하지 않았어요.', application_created: '어플리케이션이 성공적으로 생성되었어요.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: '내 어플리케이션', + third_party_applications: '서드파티 앱', }, - app_id: 'App ID', + app_id: '앱 식별자', type: { native: { - title: 'Native App', - subtitle: 'Native 환경에서 작동하는 어플리케이션', + title: '네이티브 앱', + subtitle: '네이티브 환경에서 작동하는 어플리케이션', description: '예) iOS, Android 앱', }, spa: { - title: 'Single Page App', - subtitle: '웹 브라우저에서 작동하며, 한 페이지에서 유동적으로 업데이트 되는 웹', + title: '싱글 페이지 앱', + subtitle: '웹 브라우저에서 동작하며 한 페이지에서 유동적으로 업데이트되는 웹', description: '예) React DOM, Vue 앱', }, traditional: { - title: 'Traditional Web', - subtitle: '서버를 통하여 웹 페이지가 업데이트 되는 앱', + title: '전통적인 웹', + subtitle: '서버를 통해 웹 페이지가 업데이트되는 앱', description: '예) JSP, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', - subtitle: '직접 리소스에 접근하는 엡(서비스)', + title: '기계 간 앱', + subtitle: '직접 리소스에 액세스하는 앱(서비스)', description: '예) 백엔드 서비스', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: '보호된 앱', + subtitle: 'Logto로 보호되는 앱', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: '서드파티 앱', + subtitle: '서드파티 IdP 커넥터로 사용되는 앱', + description: '예: OIDC, SAML', }, }, - placeholder_title: '애플리케이션 유형을 선택하여 계속하세요', + placeholder_title: '어플리케이션 유형을 선택하여 계속하세요', placeholder_description: - 'Logto는 OIDC용 애플리케이션 엔티티를 사용하여 앱 식별, 로그인 관리 및 감사 로그 생성과 같은 작업을 지원합니다.', + 'Logto는 OIDC용 앱 엔티티를 사용하여 앱 식별, 로그인 관리 및 감사 로그 생성과 같은 작업을 지원합니다.', }; export default Object.freeze(applications); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts index 59a056d8712..2f336144fe5 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts @@ -73,13 +73,12 @@ const connectors = { callback_uri: 'Callback URI', callback_uri_description: '리다이렉트 URI라고도 불려요. 사용자의 소셜 인증 이후 되돌아올 Logto URI예요. 소셜 공급자의 설정 페이지에 붙여넣으세요.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: '단언 소비 서비스 URL', }, platform: { - universal: 'Universal', - web: 'Web', - native: 'Native', + universal: '일반', + web: '웹', + native: '네이티브', }, add_multi_platform: ' 다양한 플랫폼 지원, 플랫폼을 선택해주세요.', drawer_title: '연동 가이드', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/domain.ts b/packages/phrases/src/locales/ko/translation/admin-console/domain.ts index a10ce14584a..14faf9ef671 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/domain.ts @@ -14,9 +14,8 @@ const domain = { custom_domain_field: '사용자 지정 도메인', custom_domain_placeholder: 'your.domain.com', add_domain: '도메인 추가', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + '유효한 도메인 URL을 제공해야합니다. 최소 세 부분으로 구성되어야 하며 예를 들어 "your.domain.com."이어야 합니다.', verify_domain: '도메인 확인', enable_ssl: 'SSL 사용', checking_dns_tip: @@ -51,9 +50,8 @@ const domain = { '이 엔드포인트의 도메인 이름을 필요에 따라 사용자 정의할 수 있습니다. "{{custom}}" 또는 "{{default}}" 중 하나를 선택하세요.', custom_social_callback_url_note: '이 URI의 도메인 이름을 애플리케이션 엔드포인트와 일치하도록 사용자 정의할 수 있습니다. "{{custom}}" 또는 "{{default}}" 중 하나를 선택하세요.', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + '이 URI의 도메인명을 사용자의 ID 공급자 Assertion Consumer 서비스 URL과 일치하도록 사용자 정의할 수 있습니다. "{{custom}}" 또는 "{{default}}" 중 하나를 선택하세요.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/ko/translation/admin-console/get-started.ts b/packages/phrases/src/locales/ko/translation/admin-console/get-started.ts index 0e16dd54e94..9bdee1fae61 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/get-started.ts @@ -4,11 +4,8 @@ const get_started = { subtitle: 'Logto의 가치를 빠르게 얻을 수 있는 몇 가지 방법', develop: { title: '개발: 앱을 통합하는 데 5분이면 충분합니다', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ - subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + title_cloud: '개발: 몇 분 안에 앱을 안전하게 통합하기', + subtitle_cloud: '아니면 미리 만들어진 SDK와 자습서로 앱을 5분만에 통합해 보세요.', }, customize: { title: '사용자 정의: 훌륭한 로그인 경험 전달하기', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/guide.ts b/packages/phrases/src/locales/ko/translation/admin-console/guide.ts index 08cf0469bdf..f8570fde714 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: '싱글 페이지 앱', Native: '네이티브', MachineToMachine: '기계 간 통신', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'SDK 통합이 없는 보호', + ThirdParty: '타사 앱', }, filter: { title: '프레임워크 필터', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/invitation.ts b/packages/phrases/src/locales/ko/translation/admin-console/invitation.ts index fd14201f2f4..ab4bce1ff60 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/invitation.ts @@ -1,22 +1,14 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: '입주자 찾기', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + '귀하의 이메일 주소는 이미 여러 입주자와 등록되어 있을 수 있습니다. 기존 입주자에 가입하거나 새로운 입주자를 생성할 수 있습니다.', + create_new_tenant: '신규 입주자 생성', + email_not_match_title: '현재 다음으로\n{{email}}\n사용자로 로그인 중입니다', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + '초대장을 수락하고 조직의 구성원이 되려면 올바른 계정으로 로그인하십시오.', + switch_account: '다른 계정으로 로그인', + invalid_invitation_status: '잘못된 초대장입니다. 관리자에게 문의하고 다시 시도하십시오.', + invitation_not_found: '초대장을 찾을 수 없습니다. 관리자에게 문의하십시오.', }; export default Object.freeze(invitation); 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 862aefaacfa..23442d2b548 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 @@ -22,13 +22,10 @@ const organization_details = { '제거하면 사용자가 이 조직에서 멤버십과 역할을 잃습니다. 이 작업은 취소할 수 없습니다.', search_user_placeholder: '이름, 이메일, 전화 또는 사용자 ID로 검색', at_least_one_user: '최소한 한 명의 사용자가 필요합니다.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: '사용자 정의 데이터', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + '사용자 정의 데이터는 조직과 관련된 추가 데이터를 저장하는 데 사용할 수 있는 JSON 객체입니다.', + invalid_json_object: '잘못된 JSON 객체입니다.', }; 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 d830632dc40..948fe34410a 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/organizations.ts @@ -2,61 +2,59 @@ const organizations = { organization: '조직', page_title: '조직', title: '조직', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + '조직은 일반적으로 SaaS 또는 유사한 멀티 테넌트 앱에서 사용되며 팀, 조직 또는 전체 회사를 나타내는 것으로 클라이언트로서 역할을 하게 됩니다. 조직은 B2B 인증 및 권한 부여를 위한 기본 요소로 작용합니다.', organization_template: '조직 템플릿', organization_id: '조직 ID', members: '회원', create_organization: '조직 만들기', setup_organization: '조직 설정', organization_list_placeholder_title: '조직', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + '조직은 보통 SaaS 또는 유사한 멀티 테넌트 앱에서 모법 사례로 사용됩니다. 이를 통해 클라이언트가 조직을 만들고 관리하며 구성원을 초대하고 역할을 할당할 수 있는 앱을 개발할 수 있습니다.', organization_name_placeholder: '내 조직', - organization_description_placeholder: '조직에 대한 간략한 설명', + organization_description_placeholder: '조직에 대한 간단한 설명', organization_permission: '조직 권한', organization_permission_other: '조직 권한', - create_permission_placeholder: '약속 내역 읽기', + create_permission_placeholder: '약속 내용 읽기', organization_role: '조직 역할', organization_role_other: '조직 역할', organization_role_description: - '조직 역할은 사용자에 할당할 수 있는 권한의 그룹화입니다. 권한은 미리 정의된 조직 권한에서 가져와야 합니다.', + '조직 역할은 사용자에게 할당할 수 있는 권한을 그룹화하는 것입니다. 권한은 미리 정의된 조직 권한에서 가져와야 합니다.', role: '역할', search_placeholder: '조직 이름 또는 ID로 검색', search_role_placeholder: '검색하여 역할 선택', - empty_placeholder: '🤔 You don’t have any {{entity}} set up yet.', + empty_placeholder: '🤔 {{entity}}를 아직 설정하지 않았습니다.', organization_and_member: '조직 및 구성원', organization_and_member_description: - '조직은 사용자 그룹이며 팀, 비즈니스 고객 및 파트너 업체를 나타낼 수 있으며 각 사용자는 "구성원"입니다. 이러한 것들은 여러분의 멀티 테넌트 요구사항을 처리하는 데 기본적인 엔터티일 수 있습니다.', + '조직은 사용자 그룹으로써 팀, 비즈니스 고객 및 파트너 기업을 나타내며 각 사용자가 "구성원"입니다. 이러한 것들은 B2B 요청 및 권한을 처리하는 데 주요 요소일 수 있습니다.', guide: { title: '가이드로 시작', - subtitle: '우리의 안내서를 통해 조직 설정의 시작을 빠르게 해보세요', + subtitle: '조직 설정을 빠르게 시작해 보세요.', introduction: { - title: '로그토에서 조직이 작동하는 방식을 이해해봅시다', + title: '로그토에서 조직이 작동하는 방식 이해하기', section_1: { title: '조직은 사용자(아이덴티티) 그룹입니다', }, section_2: { - title: '조직 템플릿은 멀티 테넌트 앱 액세스 제어를 위해 설계되었습니다', + title: '조직 템플릿은 멀티 테넌트 앱 액세스 제어에 사용됩니다', description: - '멀티 테넌트 SaaS 애플리케이션에서는 여러 조직이 종종 권한 및 역할을 포함한 동일한 액세스 제어 템플릿을 공유합니다. 로그토에서는 이를 "조직 템플릿"이라고 합니다.', - permission_description: '조직 권한은 조직의 컨텍스트에서 리소스에 대한 권한을 나타냅니다.', + '멀티 테넌트 SaaS 애플리케이션에서 여러 조직이 종종 동일한 액세스 제어 템플릿을 공유합니다. 이를 로그토에서는 "조직 템플릿"이라고 합니다.', + permission_description: '조직 권한은 리소스에 대한 권한을 나타냅니다.', role_description_deprecated: '조직 역할은 구성원에게 할당할 수 있는 조직 권한의 그룹화입니다.', role_description: - '조직 역할은 구성원에게 할당할 수 있는 조직 권한 또는 API 권한의 그룹입니다.', + '조직 역할은 구성원에게 할당할 수 있는 조직 권한이나 API 권한의 그룹입니다.', }, section_3: { title: '조직 역할에 API 권한을 할당할 수 있나요?', description: - '네, 조직 역할에 API 권한을 할당할 수 있습니다. Logto는 조직의 역할을 효과적으로 관리할 수 있는 유연성을 제공하며, 해당 역할 내에 조직 권한 및 API 권한을 모두 포함할 수 있습니다.', + '네, 조직 역할에 API 권한을 할당할 수 있습니다. Logto는 조직 역할에 효과적으로 API 권한을 관리할 수 있는 유연성을 제공합니다.', }, section_4: { - title: '일러스트를 상호 작용하여 연결되는 방식 확인', + title: '일러스트로 상호 연결 방식 확인하기', description: - '예를 들어 존과 사라가 서로 다른 조직에서 서로 다른 역할을 가진 채로 있습니다. 각 모듈 위로 마우스를 올려보세요.', + '예를 들어, 존과 사라는 서로 다른 조직에 속하고 각기 다른 역할을 가지고 있습니다. 모듈 위로 마우스를 올려보세요.', }, }, organization_permissions: '조직 권한', @@ -67,10 +65,10 @@ const organizations = { role_description: '역할 "{{role}}"은 다른 조직에서도 동일한 조직 템플릿을 공유합니다.', john: '존', john_tip: - '존은 두 개의 조직에 속하며 단일 식별자로 "john@email.com"을 가지고 있습니다. 그는 조직 A의 관리자이자 조직 B의 게스트입니다.', + '존은 두 조직에 속하며 "john@email.com"라는 단일 식별자를 가지고 있습니다. 그는 조직 A의 관리자이자 조직 B의 게스트입니다.', sarah: '사라', sarah_tip: - '사라는 단일 식별자로 "sarah@email.com"을 가지고 있는 하나의 조직에 속합니다. 그녀는 조직 B의 관리자입니다.', + '사라는 "sarah@email.com"라는 단일 식별자를 가지고 하나의 조직에 속해 있습니다. 그녀는 조직 B의 관리자입니다.', }, }; diff --git a/packages/phrases/src/locales/ko/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/ko/translation/admin-console/protected-app.ts index 9af4f1a1c70..8e92aa2670e 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/protected-app.ts @@ -1,69 +1,41 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: '보호된 앱', + title: '보호된 앱 생성: 간편한 인증 및 뛰어난 속도로 추가하세요', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + '보호된 앱은 사용자 세션을 안전하게 유지하고 앱 요청을 프록시로 전달합니다. Cloudflare Workers를 통해 제공되며 전 세계에서 최고 수준의 성능과 0ms의 콜드 스타트를 경험하세요. 더 알아보기', + fast_create: '빠르게 생성', + modal_title: '보호된 앱 생성', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + '클릭 몇 번으로 보안 및 빠른 보호 기능을 활성화하세요. 기존 웹 앱에 쉽게 인증을 추가하세요.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: '원본 URL', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_description: '인증 보호가 필요한 앱의 주소를 제공하세요.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + '원본 URL에 대한 수정 사항은 전 세계 네트워크 위치에서 효과가 발생하기까지 1-2분이 소요될 수 있습니다.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "애플리케이션의 주소를 제공하세요. '/pathname'을 제외한 주소를 제공하세요. 생성 후에는 라우트 인증 규칙을 사용자화할 수 있습니다.\n\n참고: 원본 URL 자체에는 인증이 필요하지 않으며, 보호는 지정된 앱 도메인을 통해 액세스에 배타적으로 적용됩니다.", + domain_field_label: '앱 도메인', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ - domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + '이 URL은 원본 URL에 대한 인증 보호 프록시로 작동합니다. 생성 후에 사용자 정의 도메인을 적용할 수 있습니다.', + domain_field_description_short: '이 URL은 원본 URL에 대한 인증 보호 프록시로 작동합니다.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Logto로 보호된 앱은 기본적으로 'your-domain.{{domain}}'에서 호스팅됩니다. 생성 후에 사용자 정의 도메인을 적용할 수 있습니다.", + create_application: '애플리케이션 생성', + create_protected_app: '빠르게 생성', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ - invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + domain_required: '도메인을 입력하세요.', + domain_in_use: '이 서브도메인 이름은 이미 사용 중입니다.', + invalid_domain_format: "잘못된 서브도메인 형식: 소문자, 숫자, 하이픈 '-'만 사용하세요.", + url_required: '원본 URL을 입력하세요.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "잘못된 원본 URL 형식: http:// 또는 https://를 사용하세요. 참고: '/pathname'은 현재 지원되지 않습니다.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + '로컬 서버를 먼저 인터넷에 노출시켜야 합니다. 로컬 개발에 대해 더 알아보기.', }, }, - /** UNTRANSLATED */ - success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + success_message: '🎉 앱 인증이 성공적으로 활성화되었습니다! 새로운 웹 사이트 경험을 탐색하세요.', }; export default Object.freeze(protected_app); 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 804a638724a..d2fe0f7a0eb 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 @@ -13,6 +13,9 @@ const role_details = { '역할은 사용자에게 할당된 권한들의 모음이에요. 역할은 다양한 API에 정의된 권한들을 통합하는 방법을 제공하기 때문에, 사용자에게 개별적으로 할당하는 것보다 효율적으로 권한을 추가, 제거, 조정할 수 있어요.', field_name: '이름', field_description: '설명', + field_is_default: '기본 역할', + field_is_default_description: + '새 사용자에게 기본 역할로 설정합니다. 여러 기본 역할을 설정할 수 있습니다. 이는 Management API를 통해 생성된 사용자에 대한 기본 역할에도 영향을 미칩니다.', type_m2m_role_tag: '기계 대 기계 앱 역할', type_user_role_tag: '사용자 역할', permission: { diff --git a/packages/phrases/src/locales/ko/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/ko/translation/admin-console/tenant-members.ts index c2947d0cef9..1408806943e 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: '멤버', + invitations: '초대', + invite_members: '멤버 초대', + user: '사용자', + roles: '역할', + admin: '관리자', + collaborator: '협력자', + invitation_status: '초대 상태', + inviter: '초대자', + expiration_date: '만료 날짜', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Silverhand로 사람 초대', + subtitle: '조직에 멤버를 초대하려면 초대를 수락해야 합니다.', + to: '받는 사람', + added_as: '역할로 추가됨', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: '보류 중', + accepted: '수락함', + expired: '만료됨', + revoked: '철회됨', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: '팀 멤버 초대', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + '귀하의 테넌트에는 현재 초대받은 멤버가 없습니다.\n통합에 도움을 주려면 더 많은 멤버나 관리자를 추가하세요.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: '테넌트 역할 편집', + delete: '테넌트에서 사용자 제거', + resend_invite: '초대 다시 보내기', + revoke: '초대 철회', + delete_invitation_record: '이 초대 기록 삭제', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: '{{name}}의 역할 변경', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: '이 사용자를 이 테넌트에서 제거하시겠습니까?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '선택한 사용자를 관리자로 지정하시겠습니까? 관리자 액세스 부여시 다음 권한이 부여됩니다.', + revoke_invitation_confirm: '이 초대를 철회하시겠습니까?', + delete_invitation_confirm: '이 초대 기록을 삭제하시겠습니까?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: '초대가 전송되었습니다.', + invitation_revoked: '초대가 철회되었습니다.', + invitation_resend: '초대가 다시 전송되었습니다.', + invitation_deleted: '초대 기록이 삭제되었습니다.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: '초대 받는 사람 이메일은 필수입니다.', + email_exists: '이메일 주소가 이미 존재합니다.', + member_exists: '이 사용자는 이미 이 조직의 멤버입니다.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + '보류 중인 초대가 있습니다. 관련 이메일을 삭제하거나 초대를 철회하세요.', + invalid_email: '이메일 주소가 잘못되었습니다. 올바른 형식인지 확인하세요.', + max_member_limit: '이 테넌트의 최대 멤버 수({{limit}}명)에 도달했습니다.', }, }; 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 ba76cf57c95..c87b80b9e60 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/webhooks.ts @@ -4,20 +4,13 @@ const webhooks = { subtitle: '특정 이벤트에 대한 실시간 업데이트를 쉽게 수신할 수 있는 웹훅을 생성하세요.', create: '웹훅 생성', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: '사용자 상호 작용', + user: '사용자', + organization: '조직', + role: '역할', + scope: '권한', + organization_role: '조직 역할', + organization_scope: '조직 권한', }, table: { name: '이름', diff --git a/packages/phrases/src/locales/pl-pl/errors/application.ts b/packages/phrases/src/locales/pl-pl/errors/application.ts index 4c1c0f365c7..2600613eca6 100644 --- a/packages/phrases/src/locales/pl-pl/errors/application.ts +++ b/packages/phrases/src/locales/pl-pl/errors/application.ts @@ -6,27 +6,17 @@ const application = { 'Tylko tradycyjne aplikacje internetowe mogą być oznaczone jako aplikacja zewnętrzna.', third_party_application_only: 'Ta funkcja jest dostępna tylko dla aplikacji zewnętrznych.', user_consent_scopes_not_found: 'Nieprawidłowe zakresy zgody użytkownika.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: 'Nie są dozwolone zakresy API zarządzania.', protected_app_metadata_is_required: 'Wymagane jest zabezpieczone metadane aplikacji.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'Dostawca aplikacji zabezpieczonej nie jest skonfigurowany. Ta funkcja nie jest dostępna dla wersji open source.', + cloudflare_unknown_error: 'Wystąpił nieznany błąd podczas żądania interfejsu API Cloudflare', + protected_application_only: 'Ta funkcja jest dostępna tylko dla aplikacji chronionych.', + protected_application_misconfigured: 'Aplikacja chroniona jest źle skonfigurowana.', + protected_application_subdomain_exists: 'Subdomena aplikacji chronionej jest już w użyciu.', + invalid_subdomain: 'Nieprawidłowa subdomena.', + custom_domain_not_found: 'Nie znaleziono niestandardowej domeny.', + should_delete_custom_domains_first: 'Należy najpierw usunąć niestandardowe domeny.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/pl-pl/errors/domain.ts b/packages/phrases/src/locales/pl-pl/errors/domain.ts index e4789fa464c..4e445536037 100644 --- a/packages/phrases/src/locales/pl-pl/errors/domain.ts +++ b/packages/phrases/src/locales/pl-pl/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Możesz mieć tylko jedną niestandardową domenę.', hostname_already_exists: 'Ta domena już istnieje na naszym serwerze.', cloudflare_not_found: 'Nie można znaleźć nazwy hosta w Cloudflare', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Ta domena nie jest dozwolona.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pl-pl/errors/resource.ts b/packages/phrases/src/locales/pl-pl/errors/resource.ts index 1982afca72d..94c254f6415 100644 --- a/packages/phrases/src/locales/pl-pl/errors/resource.ts +++ b/packages/phrases/src/locales/pl-pl/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'Identyfikator API {{indicator}} jest już używany', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Nie można usunąć interfejsu API zarządzania Logto.', + cannot_modify_management_api: 'Nie można modyfikować interfejsu API zarządzania Logto.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/pl-pl/errors/role.ts b/packages/phrases/src/locales/pl-pl/errors/role.ts index 7951a0e5982..343cdd318c2 100644 --- a/packages/phrases/src/locales/pl-pl/errors/role.ts +++ b/packages/phrases/src/locales/pl-pl/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Ta nazwa roli {{name}} jest już w użyciu', scope_exists: 'Identyfikator zakresu {{scopeId}} został już dodany do tej roli', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Nie można przypisać zakresów API zarządzania do roli użytkownika.', user_exists: 'Identyfikator użytkownika {{userId}} został już dodany do tej roli', application_exists: 'Identyfikator aplikacji {{applicationId}} został już dodany do tej roli', default_role_missing: diff --git a/packages/phrases/src/locales/pl-pl/errors/user.ts b/packages/phrases/src/locales/pl-pl/errors/user.ts index 516707d4b48..91021097abd 100644 --- a/packages/phrases/src/locales/pl-pl/errors/user.ts +++ b/packages/phrases/src/locales/pl-pl/errors/user.ts @@ -30,13 +30,12 @@ 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.', - missing_mfa: 'You need to bind additional MFA before signing-in.', - totp_already_in_use: 'TOTP is already in use.', - backup_code_already_in_use: 'Backup code is already in use.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + missing_mfa: 'Musisz podłączyć dodatkowe MFA przed zalogowaniem.', + totp_already_in_use: 'TOTP jest już w użyciu.', + backup_code_already_in_use: 'Kod zapasowy jest już w użyciu.', + password_algorithm_required: 'Wymagany jest algorytm hasła.', + password_and_digest: + 'Nie możesz ustawić zarówno hasła w postaci tekstu jawnego, jak i skrótu hasła.', }; export default Object.freeze(user); 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 327fd6d493e..6e6841151ed 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Utwórz uprawnienie', create_subtitle: 'Zdefiniuj uprawnienia (zakresy) wymagane przez to API.', confirm_create: 'Utwórz uprawnienie', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Edytuj uprawnienie', + edit_subtitle: 'Zdefiniuj uprawnienia (zakresy) wymagane przez API {{resourceName}}.', name: 'Nazwa uprawnienia', name_placeholder: 'ready:resource', forbidden_space_in_name: 'Nazwa uprawnienia nie może zawierać spacji.', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resources.ts index a46740f88c6..4a3814ab210 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/api-resources.ts @@ -5,16 +5,16 @@ const api_resources = { create: 'Utwórz zasób API', api_name: 'Nazwa API', api_name_placeholder: 'Wprowadź nazwę swojego API', - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: 'Identyfikator API', + api_identifier_placeholder: 'https://twój-identyfikator-api/', api_identifier_tip: 'Unikalny identyfikator zasobu API. Musi to być bezwzględny adres URI bez składnika fragmentu (#). Jest równy parametrowi zasobu w standardzie OAuth 2.0.', default_api: 'Domyślne API', default_api_label: 'Tylko jedno API domyślne może być ustawione na jeden najem. Kiedy określone zostanie API domyślne, parametr zasobu może zostać pominięty w żądaniu autoryzacji. Następujące procesy wymiany tokenu będą domyślnie korzystać z tego API, co umożliwi wydanie JWT. Dowiedz się więcej', api_resource_created: 'Zasób API {{name}} został pomyślnie utworzony', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: + 'Identyfikator API musi być poprawnym bezwzględnym adresem URI.', }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/application-details.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/application-details.ts index 3031a8d4189..6f8473c9a6d 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Powrót do aplikacji', check_guide: 'Sprawdź przewodnik', settings: 'Ustawienia', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + 'Aplikacja to zarejestrowane oprogramowanie lub usługa, która może uzyskać dostęp do informacji użytkownika lub działać w imieniu użytkownika. Aplikacje pomagają rozpoznać, kto czego od Logto żąda i obsługują proces logowania oraz udzielania uprawnień. Wypełnij wymagane pola dla uwierzytelniania.', + integration: 'Integracja', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Wdrożenie zabezpieczonych workerów Logto, zasilanych przez sieć rozproszoną Cloudflare, zapewniających najlepszą wydajność i zerowy czas uruchamiania odwołań na całym świecie.', + service_configuration: 'Konfiguracja usługi', + service_configuration_description: 'Uzupełnij niezbędne konfiguracje w swojej usłudze.', + session: 'Sesja', + endpoints_and_credentials: 'Punkty końcowe i dane uwierzytelniające', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Użyj poniższych punktów końcowych i danych uwierzytelniających do skonfigurowania połączenia OIDC w Twojej aplikacji.', + refresh_token_settings: 'Token odświeżania', + refresh_token_settings_description: + 'Zarządzaj zasadami dotyczącymi tokena odświeżania dla tej aplikacji.', application_roles: 'Role', machine_logs: 'Dzienniki maszynowe', application_name: 'Nazwa aplikacji', @@ -35,163 +26,117 @@ const application_details = { config_endpoint: 'Konfiguracja punktu końcowego OpenID Provider', authorization_endpoint: 'Endpoint autoryzacji', authorization_endpoint_tip: - 'Endpoint wykorzystywany do autentykacji i autoryzacji. Używany jest dla OpenID Connect Autentykacji.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Logto endpoint', + 'Punkt końcowy wykorzystywany do uwierzytelniania i autoryzacji. Jest używany do OpenID Connect uwierzytelniania.', + show_endpoint_details: 'Pokaż szczegóły punktu końcowego', + hide_endpoint_details: 'Ukryj szczegóły punktu końcowego', + logto_endpoint: 'Punkt końcowy Logto', application_id: 'ID aplikacji', application_id_tip: - 'Unikalny identyfikator aplikacji, który jest zwykle generowany przez Logto. Oznacza również „client_id” w OpenID Connect.', + 'Unikalny identyfikator aplikacji, który zazwyczaj jest generowany przez Logto. Oznacza również „client_id” w OpenID Connect.', application_secret: 'Tajny kod aplikacji', redirect_uri: 'Adres URL przekierowania', redirect_uris: 'Adresy URL przekierowania', redirect_uri_placeholder: 'https://twoja.strona.com/aplikacja', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - 'Adres URL, na który użytkownik jest przekierowywany po zalogowaniu się (zarówno pozytywnym, jak i negatywnym). Zobacz OpenID Connect AuthRequest po więcej informacji.', + 'Adres URL, na który użytkownik jest przekierowywany po zalogowaniu (zarówno pozytywnym, jak i negatywnym). Zobacz OpenID Connect AuthRequest po więcej informacji.', post_sign_out_redirect_uri: 'Adres URL przekierowania po wylogowaniu', post_sign_out_redirect_uris: 'Adresy URL przekierowania po wylogowaniu', post_sign_out_redirect_uri_placeholder: 'https://twoja.strona.com/strona-startowa', post_sign_out_redirect_uri_tip: - 'Adres URL, na który użytkownik jest przekierowywany po wylogowaniu (opcjonalnie). W niektórych rodzajach aplikacji może nie mieć to praktycznego wpływu.', + 'Adres URL, na który użytkownik jest przekierowywany po wylogowaniu (opcjonalnie). W niektórych rodzajach aplikacji może to nie mieć praktycznego znaczenia.', cors_allowed_origins: 'Dozwolone źródła CORS', cors_allowed_origins_placeholder: 'https://twoja.strona.com', cors_allowed_origins_tip: - 'Domyślnie dozwolone będą wszystkie źródła z adresów URL przekierowania. Zazwyczaj nie wymaga to żadnych działań. Zobacz dokumentację MDN dla szczegółowych informacji.', - token_endpoint: 'Endpoint Tokena', - user_info_endpoint: 'Endpoint Informacji o użytkowniku', + 'Domyślnie dozwolone są wszystkie źródła z adresów URL przekierowania. Zazwyczaj nie wymaga to żadnych działań. Zobacz dokumentację MDN dla szczegółowych informacji.', + token_endpoint: 'Punkt końcowy tokena', + user_info_endpoint: 'Punkt końcowy informacji o użytkowniku', enable_admin_access: 'Włącz dostęp administratora', enable_admin_access_label: 'Włącz lub wyłącz dostęp do interfejsu API zarządzania. Po włączeniu możesz używać tokenów dostępu do wywoływania interfejsu API zarządzania w imieniu tej aplikacji.', - always_issue_refresh_token: 'Zawsze wydawaj Refresh Token', + always_issue_refresh_token: 'Zawsze wydawaj token odświeżania', always_issue_refresh_token_label: - 'Rozwiazanie tej konfiguracji pozwoli Logto zawsze wydawac cwiecze tokeny, bez wzgledu na to, czy w zadaniu autoryzacji zostal przedstawiony `prompt=consent`. Jednak ta praktyka jest odstraszana, chyba ze konieczne, jak nie jest w pelni kompatybilna z OpenID Connect i moze potencjalnie powodowac problemy.', + 'Ta konfiguracja umożliwia Logto zawsze wydawanie cewecznych tokenów, niezależnie od tego, czy w żądaniu autoryzacji został przekazany `prompt=consent`. Jednak ta praktyka jest odstraszana, chyba że konieczna, ponieważ nie jest w pełni zgodna z OpenID Connect i potencjalnie może powodować problemy.', refresh_token_ttl: 'Czas życia tokena odświeżania w dniach', refresh_token_ttl_tip: - 'Okres, przez który Token odświeżania można używać do żądania nowych tokenów dostępu, zanim wygaśnie i zostanie unieważniony. Wymaga to przedłużenia czasu życia tokenów żądania. ', + 'Okres, przez który można używać tokena odświeżania do żądania nowych tokenów dostępu, zanim wygaśnie i zostanie unieważniony. Wymaga to przedłużenia czasu życia żądanego tokena.', rotate_refresh_token: 'Obróć token odświeżania', rotate_refresh_token_label: - 'Po włączeniu tej opcji Logto wydaje nowy Token odświeżania dla żądań tokenów, gdy upłynęło 70% oryginalnego czasu życia (TTL) lub spełnione są pewne warunki. Dowiedz się więcej', + 'Po włączeniu tej opcji Logto wydaje nowy token odświeżania dla żądań tokenów, gdy upłynęło 70% oryginalnego czasu życia (TTL) lub spełnione są określone warunki. Dowiedz się więcej', delete_description: - 'Ta operacja nie może zostać cofnięta. Skutkuje ona trwałym usunięciem aplikacji. Aby potwierdzić, wpisz nazwę aplikacji {{name}}.', + 'Ta operacja nie może zostać cofnięta. Spowoduje trwałe usunięcie aplikacji. Aby potwierdzić, wpisz nazwę aplikacji {{name}}.', enter_your_application_name: 'Wpisz nazwę swojej aplikacji', application_deleted: 'Aplikacja {{name}} została pomyślnie usunięta', - redirect_uri_required: 'Musisz wpisać co najmniej jeden adres URL przekierowania', - /** UNTRANSLATED */ + redirect_uri_required: 'Musisz podać co najmniej jeden adres URL przekierowania', app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Skorzystaj z domeny {{domain}} obsługiwanej przez Logto, która jest trwale ważna.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Skorzystaj z domeny {{domain}}, która jest trwale ważna.', + custom_rules: 'Niestandardowe zasady uwierzytelniania', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Ustaw zasady z wyrażeniami regularnymi dla wymaganych tras wymagających uwierzytelniania. Domyślnie: ochrona całej strony, jeśli pole jest puste.', + authentication_routes: 'Trasy uwierzytelniania', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + 'Oto dwa scenariusze:
  1. Aby chronić tylko trasy „/admin” i „/privacy” za pomocą uwierzytelniania: ^/(admin|privacy)/.*
  2. Aby wykluczyć obrazy JPG z uwierzytelniania: ^(?!.*\\.jpg$).*$
', authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Przekieruj przycisk uwierzytelniania, korzystając z określonych tras. Uwaga: te trasy są niezastąpione.', + protect_origin_server: 'Zabezpiecz swój serwer źródłowy', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Upewnij się, że chronisz swój serwer źródłowy przed bezpośrednim dostępem. Odniesienie do przewodnika dla więcej szczegółowych instrukcji.', + session_duration: 'Czas trwania sesji (dni)', + try_it: 'Wypróbuj', branding: { - /** UNTRANSLATED */ name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + description: 'Dostosuj nazwę i logo aplikacji na ekranie zgody.', + more_info: 'Więcej informacji', + more_info_description: + 'Zaoferuj użytkownikom więcej szczegółów na temat Twojej aplikacji na ekranie zgody.', + display_name: 'Nazwa wyświetlana', + display_logo: 'Wyświetl logo', + display_logo_dark: 'Wyświetl logo (ciemne)', + terms_of_use_url: 'Adres URL warunków użytkowania aplikacji', + privacy_policy_url: 'Adres URL polityki prywatności aplikacji', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Uprawnienia', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Wybierz uprawnienia, których wymaga aplikacja innych firm do autoryzacji użytkownika w celu uzyskania dostępu do określonych typów danych.', + user_permissions: 'Dane osobowe użytkownika', + organization_permissions: 'Dostęp do organizacji', + table_name: 'Udziel uprawnień', + field_name: 'Uprawnienie', + field_description: 'Wyświetlane na ekranie zgody', + delete_text: 'Usuń uprawnienie', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Ta czynność odwoła nadane uprawnienia dla aplikacji innej firmy, uniemożliwiając jej żądanie autoryzacji użytkownika do określonych typów danych. Czy na pewno chcesz kontynuować?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Wybierz uprawnienia, które aplikacja innej firmy ma żądać do uzyskania autoryzacji użytkownika do określonych typów danych.', + user_profile: 'Dane użytkownika', + api_permissions: 'Uprawnienia API', + organization: 'Uprawnienia organizacyjne', + user_permissions_assignment_form_title: 'Dodaj uprawnienia do profilu użytkownika', + organization_permissions_assignment_form_title: 'Dodaj uprawnienia organizacji', + api_resource_permissions_assignment_form_title: 'Dodaj uprawnienia zasobów API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Możesz zmodyfikować opis uprawnień do danych osobowych użytkownika za pomocą „Doświadczenia przy logowaniu > Zasób > Zarządzaj Językiem”', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Gdy Logto jest wykorzystywane jako Dostawca Tożsamości (IdP) do uwierzytelniania w aplikacjach innych firm, a użytkownicy są proszeni o autoryzację, ten opis pojawia się na ekranie zgody.', + user_title: 'Użytkownik', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Wybierz uprawnienia żądane przez aplikację innej firmy do uzyskania dostępu do określonych danych użytkownika.', + grant_user_level_permissions: 'Udziel uprawnień do danych użytkownika', + organization_title: 'Organizacja', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Wybierz uprawnienia żądane przez aplikację innej firmy do uzyskania dostępu do określonych danych organizacyjnych.', + grant_organization_level_permissions: 'Udziel uprawnień do danych organizacyjnych', }, roles: { - name_column: 'Role', + name_column: 'Rola', description_column: 'Opis', assign_button: 'Przypisz role', delete_description: - 'Ta akcja usunie tę rolę z tej aplikacji machine-to-machine. Rola ta nadal będzie istnieć, ale nie będzie już powiązana z tą aplikacją machine-to-machine.', + 'Ta czynność usunie tę rolę z tej aplikacji machine-to-machine. Rola ta nadal istnieje, ale nie będzie już powiązana z tą aplikacją machine-to-machine.', deleted: '{{name}} został(a) pomyślnie usunięty(ą) z tego użytkownika.', assign_title: 'Przypisz role dla {{name}}', assign_subtitle: 'Autoryzuj {{name}} jedną lub więcej ról', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/applications.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/applications.ts index 91cf80c5540..9b858ac12dd 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/applications.ts @@ -5,21 +5,18 @@ const applications = { 'Skonfiguruj uwierzytelnianie Logto dla Twojej aplikacji natywnej, jednostronicowej, komunikującej się bezpośrednio z zasobami lub tradycyjnej', subtitle_with_app_type: 'Skonfiguruj uwierzytelnianie Logto dla twojej aplikacji {{name}}', create: 'Utwórz aplikację', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Użyj Logto jako swojego dostawcy tożsamości (IdP), aby łatwo integrować się z aplikacjami stron trzecich', application_name: 'Nazwa aplikacji', application_name_placeholder: 'Moja aplikacja', application_description: 'Opis aplikacji', application_description_placeholder: 'Wprowadź opis swojej aplikacji', select_application_type: 'Wybierz typ aplikacji', no_application_type_selected: 'Nie wybrałeś jeszcze żadnego typu aplikacji', - application_created: 'Aplikacja ostała pomyślnie utworzona.', + application_created: 'Aplikacja została pomyślnie utworzona.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Moje aplikacje', + third_party_applications: 'Aplikacje stron trzecich', }, app_id: 'App ID', type: { @@ -40,25 +37,19 @@ const applications = { description: 'Na przykład Next.js, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', + title: 'Komunikacja maszyna-do-maszyny', subtitle: 'Aplikacja (zazwyczaj usługa), która bezpośrednio komunikuje się z zasobami', description: 'Na przykład usługa backendowa', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'Chroniona aplikacja', + subtitle: 'Aplikacja chroniona przez Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Aplikacja stron trzecich', + subtitle: 'Aplikacja używana jako łącznik do dostawcy tożsamości stron trzecich', + description: 'Np. OIDC, SAML', }, }, placeholder_title: 'Wybierz typ aplikacji, aby kontynuować', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/connectors.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/connectors.ts index 908e4519f5a..e151f26c716 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/connectors.ts @@ -77,7 +77,6 @@ const connectors = { callback_uri: 'URI zwrotu (Callback)', callback_uri_description: 'Nazywany także URI przekierowania, to URI w Logto, do którego użytkownicy zostaną przesłani po autoryzacji społecznej; skopiuj i wklej na stronie konfiguracyjnej dostawcy usług społecznościowych.', - /** UNTRANSLATED */ acs_url: 'Assertion consumer service URL', }, platform: { diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/domain.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/domain.ts index 2dcc701afe4..da93d4325f5 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Niestandardowa domena', custom_domain_placeholder: 'twoja.domena.com', add_domain: 'Dodaj domenę', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Proszę podać poprawny adres URL domeny z co najmniej trzema częściami, np. "twoja.domena.com."', verify_domain: 'Zweryfikuj domenę', enable_ssl: 'Włącz SSL', checking_dns_tip: @@ -52,9 +51,8 @@ const domain = { 'Możesz dostosować nazwę domeny tych punktów końcowych według swoich wymagań. Wybierz "{{custom}}" lub "{{default}}".', custom_social_callback_url_note: 'Możesz dostosować nazwę domeny tego adresu URI, aby dopasować ją do punktu końcowego Twojej aplikacji. Wybierz "{{custom}}" lub "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Możesz dostosować nazwę domeny tego URI, aby dopasować ją do adresu URL usługi konsumenta oświadczeń Twojego dostawcy tożsamości. Wybierz "{{custom}}" lub "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/get-started.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/get-started.ts index f5a9716c2c0..db4edcad363 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: 'Kilka rzeczy, które możesz zrobić, aby szybko uzyskać wartość Logto', develop: { title: 'Develop: Zajmie to 5 minut, aby zintegrować swoją aplikację', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Develop: Bezpiecznie zintegruj swoją aplikację w kilka minut', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Lub poświęć 5 minut na integrację swojej aplikacji za pomocą naszych gotowych SDKów i samouczków.', }, customize: { title: 'Customize: Dostarcz świetne doświadczenie logowania', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/guide.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/guide.ts index 5d1225d5ea0..1f06f034fde 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Aplikacja na jednej stronie', Native: 'Natywna', MachineToMachine: 'Maszyna-do-maszyny', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integracja zewnętrzna', + ThirdParty: 'Aplikacja innej firmy', }, filter: { title: 'Filtr Framework', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/invitation.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/invitation.ts index fd14201f2f4..defb8955ad3 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Znajdź swoich najemców', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Twój adres e-mailowy może być już zarejestrowany u wielu najemców. Możesz wybrać dołączenie do istniejących lub kontynuować tworzenie nowego.', + create_new_tenant: 'Utwórz nowego najemcę', + email_not_match_title: 'Jesteś obecnie zalogowany jako\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Zaloguj się na poprawne konto, aby zaakceptować zaproszenie i stać się członkiem organizacji.', + switch_account: 'Zaloguj się na inne konto', + invalid_invitation_status: + 'Nieprawidłowe zaproszenie. Skontaktuj się z administratorem i spróbuj ponownie.', + invitation_not_found: 'Zaproszenie nie znalezione. Skontaktuj się z administratorem.', }; export default Object.freeze(invitation); 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 b751f2a1edd..54ce0537b5b 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 @@ -23,13 +23,10 @@ const organization_details = { 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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Dane niestandardowe', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Dane niestandardowe to obiekt JSON, który może być wykorzystany do przechowywania dodatkowych danych związanych z organizacją.', + invalid_json_object: 'Nieprawidłowy obiekt JSON.', }; 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 36b0d4ffab9..c62178b99f4 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 @@ -2,18 +2,16 @@ const organizations = { organization: 'Organizacja', page_title: 'Organizacje', title: 'Organizacje', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Organizacje są zazwyczaj używane w aplikacjach typu SaaS lub podobnych dla wielu najemców i reprezentują Twoich klientów, którzy są zespołami, organizacjami lub całymi firmami. Organizacje są podstawowym elementem do uwierzytelniania i autoryzacji B2B.', organization_template: 'Szablon organizacji', organization_id: 'ID organizacji', members: 'Członkowie', create_organization: 'Utwórz organizację', setup_organization: 'Skonfiguruj swoją organizację', organization_list_placeholder_title: 'Organizacja', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Organizacje są często wykorzystywane w aplikacjach typu SaaS lub podobnych jako praktyka najlepsza. Pozwalają one tworzyć aplikacje, które umożliwiają klientom tworzenie i zarządzanie organizacjami, zapraszanie członków oraz przypisywanie ról.', organization_name_placeholder: 'Moja organizacja', organization_description_placeholder: 'Krótki opis organizacji', organization_permission: 'Uprawnienie organizacji', @@ -44,7 +42,7 @@ const organizations = { description: 'W wielomandantowych aplikacjach typu SaaS, wiele organizacji często dzieli ten sam szablon kontroli dostępu, który obejmuje uprawnienia i role. W Logto nazywamy to "szablonem organizacji".', permission_description: - 'Uprawnienie organizacji odnosi się do autoryzacji dostępu do zasobu w kontekście organizacji.', + 'Uprawnienie organizacji odnosi się do autoryzacji dostępu do zasobów w kontekście organizacji.', role_description_deprecated: 'Rola organizacji to grupowanie uprawnień organizacji, które można przypisać członkom.', role_description: diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/protected-app.ts index 9af4f1a1c70..01bcf68c694 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/protected-app.ts @@ -1,69 +1,45 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Aplikacja chroniona', + title: + 'Stwórz aplikację zabezpieczoną: Dodaj uwierzytelnienie w prosty sposób i z dużą prędkością', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'Aplikacja chroniona bezpiecznie zarządza sesjami użytkowników i przekierowuje żądania Twojej aplikacji. Dzięki Cloudflare Workers, ciesz się wydajnością najwyższej klasy i zerowym czasem uruchamiania globalnie. Dowiedz się więcej', + fast_create: 'Szybkie tworzenie', + modal_title: 'Utwórz aplikację chronioną', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Włącz bezpieczną i szybką ochronę za pomocą kilku kliknięć. Dodaj uwierzytelnienie do istniejącej aplikacji internetowej z łatwością.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: 'Twój adres URL źródłowy', + url_field_placeholder: 'https://domena.com/', + url_field_description: 'Podaj adres swojej aplikacji wymagającej ochrony uwierzytelnienia.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'Modyfikacje w adresie URL źródłowym mogą potrwać od 1 do 2 minut, aby zacząć działać na całym globalnym sieciowym miejscu.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Podaj adres swojej aplikacji, pomijając wszelkie '/ścieżki'. Po utworzeniu możesz dostosować zasady uwierzytelniania trasy.\n\nUwaga: Sam adres URL źródłowy nie wymaga uwierzytelnienia; ochrona jest stosowana wyłącznie do dostępów poprzez wyznaczoną domenę aplikacji.", + domain_field_label: 'Domena aplikacji', + domain_field_placeholder: 'twoja-domena', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Ten adres URL służy jako proxy ochrony uwierzytelnienia dla oryginalnego URL. Domena niestandardowa może zostać zastosowana po utworzeniu.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Ten adres URL służy jako proxy ochrony uwierzytelnienia dla oryginalnego URL.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Aplikacje chronione przez Logto będą hostowane domyślnie pod adresem 'twoja-domena.{{domain}}'. Domena niestandardowa może zostać zastosowana po utworzeniu.", + create_application: 'Stwórz aplikację', + create_protected_app: 'Szybkie tworzenie', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Twoja domena jest wymagana.', + domain_in_use: 'Ta nazwa poddomeny jest już w użyciu.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Nieprawidłowy format poddomeny: użyj tylko małych liter, liczb i myślników '-'.", + url_required: 'Adres URL źródłowy jest wymagany.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Nieprawidłowy format adresu URL źródłowego: Użyj http:// lub https://. Uwaga: '/ścieżka' nie jest obecnie obsługiwana.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Najpierw wystaw swój lokalny serwer do internetu. Dowiedz się więcej o lokalnym rozwoju.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 Uwierzytelnienie aplikacji pomyślnie włączone! Odkryj nowe doświadczenia Twojej strony internetowej.', }; export default Object.freeze(protected_app); 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 0ecf42a3f84..14263506ca3 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 @@ -13,6 +13,9 @@ const role_details = { 'Role to grupowanie uprawnień, które mogą być przypisywane do użytkowników. Zapewniają również sposób agregacji uprawnień zdefiniowanych dla różnych interfejsów API, co umożliwia bardziej efektywne dodawanie, usuwanie lub modyfikowanie uprawnień w porównaniu z przypisywaniem ich do użytkowników indywidualnie.', field_name: 'Nazwa', field_description: 'Opis', + field_is_default: 'Domyślna rola', + field_is_default_description: + 'Ustaw tę rolę jako domyślną rolę dla nowych użytkowników. Można ustawić wiele domyślnych ról. To również wpłynie na domyślne role dla użytkowników utworzonych za pomocą interfejsu API zarządzania.', type_m2m_role_tag: 'Rola aplikacji maszynowych', type_user_role_tag: 'Rola użytkownika', permission: { diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/tenant-members.ts index c2947d0cef9..1da334fc672 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Członkowie', + invitations: 'Zaproszenia', + invite_members: 'Zaproś członków', + user: 'Użytkownik', + roles: 'Role', + admin: 'Administrator', + collaborator: 'Współpracownik', + invitation_status: 'Status zaproszenia', + inviter: 'Zapraszający', + expiration_date: 'Data wygaśnięcia', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ - email_input_placeholder: 'johndoe@example.com', + title: 'Zaproś ludzi do Silverhand', + subtitle: 'Aby zaprosić członków do organizacji, muszą zaakceptować zaproszenie.', + to: 'Do', + added_as: 'Dodany jako role', + email_input_placeholder: 'janekkowalski@przykład.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Oczekujące', + accepted: 'Zaakceptowane', + expired: 'Wygasłe', + revoked: 'Anulowane', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Zaproś członków zespołu', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Twoja dzierżawa obecnie nie ma zaproszonych członków.\nAby pomóc w integracji, rozważ dodanie więcej członków lub administratorów.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Edytuj rolę dzierżawy', + delete: 'Usuń użytkownika z dzierżawy', + resend_invite: 'Ponownieś w zaproszenie', + revoke: 'Anuluj zaproszenie', + delete_invitation_record: 'Usuń ten rekord zaproszenia', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Zmień role dla {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Czy na pewno chcesz usunąć tego użytkownika z tej dzierżawy?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Czy na pewno chcesz uczynić wybranego użytkownika/ów administratorem? Przyznanie uprawnień administratora spowoduje nadanie użytkownikowi/om następujących uprawnień.', + revoke_invitation_confirm: 'Czy na pewno chcesz anulować to zaproszenie?', + delete_invitation_confirm: 'Czy na pewno chcesz usunąć ten rekord zaproszenia?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Zaproszenie wysłane.', + invitation_revoked: 'Zaproszenie anulowane.', + invitation_resend: 'Zaproszenie wysłane ponownie.', + invitation_deleted: 'Rekord zaproszenia usunięty.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'E-mail zapraszanego jest wymagany.', + email_exists: 'Adres e-mail już istnieje.', + member_exists: 'Ten użytkownik jest już członkiem tej organizacji.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Istnieje oczekujące zaproszenie. Usuń powiązany adres e-mail lub anuluj zaproszenie.', + invalid_email: 'Adres e-mail jest nieprawidłowy. Upewnij się, że jest w odpowiednim formacie.', + max_member_limit: 'Osiągnąłeś limit maksymalnej liczby członków ({{limit}}) dla tej dzierżawy.', }, }; 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 d4c13c4c715..e760595c008 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 @@ -38,13 +38,12 @@ const tenants = { tenant_deletion_button: 'Usuń najemcę', }, leave_tenant_card: { - title: 'OPUSZCZENIE', - leave_tenant: 'Opuszczenie najemcy', - /** UNTRANSLATED */ + title: 'OPUŚĆ', + leave_tenant: 'Opuść najemcę', leave_tenant_description: 'Any resources in the tenant will remain but you no longer have access to this tenant.', - /** UNTRANSLATED */ - last_admin_note: 'To leave this tenant, ensure at least one more member has the Admin role.', + last_admin_note: + 'Aby opuścić tego najemcę, upewnij się, że co najmniej jeszcze jeden członek ma rolę Administrator.', }, create_modal: { title: 'Utwórz nowego najemcę', @@ -86,7 +85,7 @@ const tenants = { 'Przepraszam, nie możesz teraz usunąć tego najemcy. Upewnij się, że korzystasz z planu darmowego i uregulowałeś wszystkie zaległe płatności.', }, leave_tenant_modal: { - description: 'Czy na pewno chcesz opuścić tego najemcy?', + description: 'Czy na pewno chcesz opuścić tego najemcę?', leave_button: 'Opuść', }, tenant_landing_page: { 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 6a438b010ca..4f463d2fea6 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 @@ -5,20 +5,13 @@ const webhooks = { 'Utwórz webhooki, aby bez wysiłku otrzymywać aktualizacje w czasie rzeczywistym dotyczące określonych zdarzeń.', create: 'Utwórz webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Interakcja użytkownika', + user: 'Użytkownik', + organization: 'Organizacja', + role: 'Rola', + scope: 'Uprawnienie', + organization_role: 'Rola w organizacji', + organization_scope: 'Uprawnienie w organizacji', }, table: { name: 'Nazwa', @@ -44,7 +37,7 @@ const webhooks = { endpoint_url: 'URL punktu końcowego', endpoint_url_placeholder: 'https://twoj.webhook.endpoint.url', endpoint_url_tip: - 'Enter the URL of your endpoint where a webhook’s payload is sent to when the event occurs.', + 'Wprowadź adres URL punktu końcowego, do którego wysyłane będzie obciążenie webhooka, gdy wydarzenie ma miejsce.', create_webhook: 'Utwórz webhook', missing_event_error: 'Musisz wybrać przynajmniej jedno zdarzenie.', }, diff --git a/packages/phrases/src/locales/pt-br/errors/application.ts b/packages/phrases/src/locales/pt-br/errors/application.ts index 644749c43d5..6bf02afe592 100644 --- a/packages/phrases/src/locales/pt-br/errors/application.ts +++ b/packages/phrases/src/locales/pt-br/errors/application.ts @@ -7,27 +7,18 @@ const application = { 'Apenas aplicativos da web tradicionais podem ser marcados como um aplicativo de terceiros.', third_party_application_only: 'O recurso está disponível apenas para aplicativos de terceiros.', user_consent_scopes_not_found: 'Escopos de consentimento do usuário inválidos.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: + 'Os escopos da API de gerenciamento não são permitidos.', protected_app_metadata_is_required: 'Protegido metadados do app é necessário.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'Provedor de app protegido não está configurado. Este recurso não está disponível na versão de código aberto.', + cloudflare_unknown_error: 'Erro desconhecido ao solicitar a API do Cloudflare', + protected_application_only: 'O recurso está disponível apenas para aplicativos protegidos.', + protected_application_misconfigured: 'O aplicativo protegido está mal configurado.', + protected_application_subdomain_exists: 'O subdomínio do aplicativo protegido já está em uso.', + invalid_subdomain: 'Subdomínio inválido.', + custom_domain_not_found: 'Domínio personalizado não encontrado.', + should_delete_custom_domains_first: 'Deve excluir os domínios personalizados primeiro.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/pt-br/errors/domain.ts b/packages/phrases/src/locales/pt-br/errors/domain.ts index 3ac205c895c..3c0fa495a76 100644 --- a/packages/phrases/src/locales/pt-br/errors/domain.ts +++ b/packages/phrases/src/locales/pt-br/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Você só pode ter um domínio personalizado.', hostname_already_exists: 'Este domínio já existe em nosso servidor.', cloudflare_not_found: 'Não é possível encontrar o nome do host no Cloudflare', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Este domínio não é permitido.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pt-br/errors/resource.ts b/packages/phrases/src/locales/pt-br/errors/resource.ts index 959ec7de28d..a6777d353af 100644 --- a/packages/phrases/src/locales/pt-br/errors/resource.ts +++ b/packages/phrases/src/locales/pt-br/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'O identificador de API {{indicator}} já está em uso', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Não é possível excluir a API de gerenciamento da Logto.', + cannot_modify_management_api: 'Não é possível modificar a API de gerenciamento da Logto.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/pt-br/errors/role.ts b/packages/phrases/src/locales/pt-br/errors/role.ts index 6d2879c623a..0f79b3888d8 100644 --- a/packages/phrases/src/locales/pt-br/errors/role.ts +++ b/packages/phrases/src/locales/pt-br/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Este nome de papel {{name}} já está em uso', scope_exists: 'O id de escopo {{scopeId}} já foi adicionado a este papel', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Não é possível atribuir escopos da API de gerenciamento a uma função de usuário.', user_exists: 'O id de usuário {{userId}} já foi adicionado a este papel', application_exists: 'O id do aplicativo {{applicationId}} já foi adicionado a este papel', default_role_missing: diff --git a/packages/phrases/src/locales/pt-br/errors/user.ts b/packages/phrases/src/locales/pt-br/errors/user.ts index fd8f21da0b5..efa26e33bc2 100644 --- a/packages/phrases/src/locales/pt-br/errors/user.ts +++ b/packages/phrases/src/locales/pt-br/errors/user.ts @@ -33,10 +33,8 @@ const user = { 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.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: 'Algoritmo de senha é necessário.', + password_and_digest: 'Você não pode definir tanto senha de texto simples quanto digest de senha.', }; 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 97c5a0588e3..083c78cab17 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Criar permissão', create_subtitle: 'Define as permissões (escopos) necessárias para esta API.', confirm_create: 'Criar permissão', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Editar permissão de API', + edit_subtitle: 'Define as permissões (escopos) necessárias pela API {{resourceName}}.', name: 'Nome da permissão', name_placeholder: 'ler:recurso', forbidden_space_in_name: 'O nome da permissão não deve conter espaços.', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/api-resources.ts index 6b27574f48f..53344a5262e 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/api-resources.ts @@ -5,16 +5,15 @@ const api_resources = { create: 'Criar recurso de API', api_name: 'Nome da API', api_name_placeholder: 'Digite o nome da sua API', - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: 'Identificador da API', + api_identifier_placeholder: 'https://seu-identificador-de-api/', api_identifier_tip: - 'O identificador exclusivo para o recurso da API. Deve ser um URI absoluto e não tem nenhum componente de fragmento (#). Igual ao parâmetro de recurso em OAuth 2.0.', + 'O identificador exclusivo para o recurso da API. Deve ser um URI absoluto e não ter nenhum componente de fragmento (#). Igual ao parâmetro de recurso em OAuth 2.0.', default_api: 'API padrão', default_api_label: 'Apenas uma API padrão pode ser definida por locatário. Quando uma API padrão é definida, o parâmetro de recurso pode ser omitido na solicitação de autenticação. As trocas de token subsequentes usarão essa API como audiência por padrão, resultando na emissão de JWTs. Saiba mais', - api_resource_created: 'O recurso API {{name}} foi criado com sucesso', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + api_resource_created: 'O recurso da API {{name}} foi criado com sucesso', + invalid_resource_indicator_format: 'O indicador da API deve ser um URI absoluto válido.', }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/application-details.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/application-details.ts index bfa291fccd9..dc5ca79821a 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Voltar para Aplicativos', check_guide: 'Visualizar o guia', settings: 'Configurações', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + 'Uma "Aplicação" é um software ou serviço registrado que pode acessar informações do usuário ou atuar em nome de um usuário. As aplicações ajudam a reconhecer quem está solicitando o quê do Logto e lidam com o login e permissão. Preencha os campos necessários para a autenticação.', + integration: 'Integração', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Implemente com trabalhadores seguros do Logto, alimentados pela rede de borda da Cloudflare para desempenho de primeira linha e inicializações instantâneas de 0ms em todo o mundo.', + service_configuration: 'Configuração de serviço', + service_configuration_description: 'Conclua as configurações necessárias em seu serviço.', + session: 'Sessão', + endpoints_and_credentials: 'Endpoints e Credenciais', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Use os seguintes endpoints e credenciais para configurar a conexão OIDC em sua aplicação.', + refresh_token_settings: 'Token de atualização', + refresh_token_settings_description: + 'Gerencie as regras do token de atualização para esta aplicação.', application_roles: 'Funções do aplicativo', machine_logs: 'Logs da máquina', application_name: 'Nome do aplicativo', @@ -35,156 +26,111 @@ const application_details = { config_endpoint: 'Endpoint de configuração do OpenID Provider', authorization_endpoint: 'Endpoint de autorização', authorization_endpoint_tip: - 'O endpoint para executar autenticação e autorização. É usado para autenticação OpenID Connect.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + 'O endpoint para execução de autenticação e autorização. É usado para autenticação OpenID Connect.', + show_endpoint_details: 'Mostrar detalhes do endpoint', + hide_endpoint_details: 'Ocultar detalhes do endpoint', logto_endpoint: 'Endpoint do Logto', - application_id: 'ID do aplicativo', + application_id: 'ID da aplicação', application_id_tip: - 'O identificador exclusivo do aplicativo normalmente gerado pela Logto. Também é conhecido como “client_id” em OpenID Connect.', - application_secret: 'Segredo do aplicativo', + 'O identificador exclusivo da aplicação normalmente gerado pelo Logto. Também conhecido como “client_id” no OpenID Connect.', + application_secret: 'Segredo da aplicação', redirect_uri: 'URI de redirecionamento', redirect_uris: 'URIs de redirecionamento', redirect_uri_placeholder: 'https://seusite.com.br/app', redirect_uri_placeholder_native: 'io.logto://retorno', redirect_uri_tip: - 'O URI é redirecionado após o login do usuário (seja bem-sucedido ou não). Consulte OpenID Connect AuthRequest para obter mais informações.', + 'O URI para o redirecionamento após o login do usuário (seja bem-sucedido ou não). Consulte AuthRequest OpenID Connect para mais informações.', post_sign_out_redirect_uri: 'URI de redirecionamento após saída', post_sign_out_redirect_uris: 'URIs de redirecionamento após saída', post_sign_out_redirect_uri_placeholder: 'https://seusite.com.br/home', post_sign_out_redirect_uri_tip: - 'O URI é redirecionado após a saída do usuário (opcional). Pode não ter efeito prático em alguns tipos de aplicativos.', + 'O URI para redirecionamento após o usuário sair (opcional). Pode não ter efeito prático em alguns tipos de aplicativos.', cors_allowed_origins: 'Origens permitidas pelo CORS', cors_allowed_origins_placeholder: 'https://seusite.com.br', cors_allowed_origins_tip: - 'Por padrão, todas as origens de URIs de redirecionamento serão permitidas. Normalmente, nenhuma ação é necessária para este campo. Confira o doc MDN para informações detalhadas.', + 'Por padrão, todas as origens dos URIs de redirecionamento serão permitidas. Normalmente, nenhuma ação é necessária para este campo. Confira a documentação MDN para informações detalhadas.', token_endpoint: 'Token Endpoint', user_info_endpoint: 'Userinfo Endpoint', enable_admin_access: 'Ativar acesso de administrador', enable_admin_access_label: 'Ative ou desative o acesso à API de gerenciamento. Uma vez ativado, você pode usar tokens de acesso para chamar a API de gerenciamento em nome deste aplicativo.', - always_issue_refresh_token: 'Emitir sempre o token de refresh', + always_issue_refresh_token: 'Emitir sempre o token de atualização', always_issue_refresh_token_label: - 'Ativar esta configuração permitirá que a Logto emita sempre tokens de Refresh, independentemente de "prompt=consent" ser apresentado na solicitação de autenticação. No entanto, essa prática é desencorajada, a menos que seja necessária, pois não é compatível com o OpenID Connect e pode potencialmente causar problemas.', - refresh_token_ttl: 'Tempo de vida do Refresh Token em dias', + 'Ativar esta configuração permitirá que o Logto emita sempre tokens de atualização, independentemente de "prompt=consent" ser apresentado na solicitação de autenticação. No entanto, essa prática é desencorajada, a menos que seja necessária, pois não é compatível com o OpenID Connect e pode potencialmente causar problemas.', + refresh_token_ttl: 'Tempo de vida do token de atualização em dias', refresh_token_ttl_tip: - 'A duração para a qual um Refresh Token pode ser usado para solicitar novos tokens de acesso antes que expire e se torne inválido. As solicitações de token estenderão o TTL do Refresh Token para este valor.', - rotate_refresh_token: 'Rotacionar Refresh Token', + 'A duração para a qual um token de atualização pode ser usado para solicitar novos tokens de acesso antes de expirar e se tornar inválido. As solicitações de token estenderão o TTL do token de atualização para este valor.', + rotate_refresh_token: 'Rotacionar token de atualização', rotate_refresh_token_label: - 'Quando ativado, a Logto emitirá um novo Refresh Token para solicitações de token quando 70% do tempo de vida original (TTL) tenha passado ou certas condições sejam atendidas. Saiba mais', + 'Quando ativado, o Logto emitirá um novo token de atualização para solicitações de token quando 70% do tempo de vida original (TTL) tiver passado ou certas condições forem atendidas. Saiba mais', delete_description: - 'Essa ação não pode ser desfeita. Isso excluirá permanentemente o aplicativo. Insira o nome do aplicativo {{name}} para confirmar.', + 'Esta ação não pode ser desfeita. Isso excluirá permanentemente o aplicativo. Insira o nome do aplicativo {{name}} para confirmar.', enter_your_application_name: 'Digite o nome do seu aplicativo', application_deleted: 'O aplicativo {{name}} foi excluído com sucesso', redirect_uri_required: 'Você deve inserir pelo menos um URI de redirecionamento', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Sinta-se à vontade para usar seu domínio com {{domain}} alimentado pelo Logto, que é permanentemente válido.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Sinta-se à vontade para utilizar seu domínio {{domain}} que é permanentemente válido.', + custom_rules: 'Regras de autenticação personalizadas', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Defina regras com expressões regulares para rotas que requerem autenticação. Padrão: proteção de todo o site se deixado em branco.', + authentication_routes: 'Rotas de autenticação', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Aqui estão dois cenários de exemplo:
  1. Para proteger apenas as rotas '/admin' e '/privacy' com autenticação: ^/(admin|privacy)/.*
  2. Para excluir imagens JPG da autenticação: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Redirecione seu botão de autenticação usando as rotas especificadas. Observação: Essas rotas são irsubstituíveis.', + protect_origin_server: 'Proteger seu servidor de origem', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Garanta proteger seu servidor de origem contra acesso direto. Consulte o guia para mais instruções detalhadas.', + session_duration: 'Duração da sessão (dias)', + try_it: 'Tente', branding: { - /** UNTRANSLATED */ name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + description: + 'Personalize o nome e logotipo da exibição de sua aplicação na tela de consentimento.', + more_info: 'Mais informações', + more_info_description: + 'Ofereça aos usuários mais detalhes sobre sua aplicação na tela de consentimento.', + display_name: 'Nome de exibição', + display_logo: 'Logotipo de exibição', + display_logo_dark: 'Logotipo de exibição (escuro)', + terms_of_use_url: 'URL dos termos de uso da aplicação', + privacy_policy_url: 'URL da política de privacidade da aplicação', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Permissões', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Selecione as permissões que o aplicativo de terceiros requer para autorização do usuário para acessar tipos específicos de dados.', + user_permissions: 'Dados pessoais do usuário', + organization_permissions: 'Acesso à organização', + table_name: 'Conceder permissões', + field_name: 'Permissão', + field_description: 'Exibido na tela de consentimento', + delete_text: 'Remover permissão', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Esta ação retirará as permissões concedidas ao aplicativo de terceiros, impedindo-o de solicitar autorização do usuário para tipos específicos de dados. Tem certeza de que deseja continuar?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Selecione as permissões solicitadas pelo aplicativo de terceiros para autorização do usuário para acessar tipos específicos de dados.', + user_profile: 'Dados do usuário', + api_permissions: 'Permissões de API', + organization: 'Permissões da organização', + user_permissions_assignment_form_title: 'Adicionar as permissões do perfil do usuário', + organization_permissions_assignment_form_title: 'Adicionar as permissões da organização', + api_resource_permissions_assignment_form_title: 'Adicionar as permissões de recursos da API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Você pode modificar a descrição das permissões de dados pessoais do usuário via "Experiência de Login > Conteúdo > Gerenciar Idioma"', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Quando o Logto é usado como Provedor de Identidade (IdP) para autenticação em aplicativos de terceiros, e os usuários são solicitados para autorização, esta descrição aparece na tela de consentimento.', + user_title: 'Usuário', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Selecione as permissões solicitadas pelo aplicativo de terceiros para acessar tipos específicos de dados do usuário.', + grant_user_level_permissions: 'Conceder permissões de dados de usuário', + organization_title: 'Organização', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Selecione as permissões solicitadas pelo aplicativo de terceiros para acessar tipos específicos de dados da organização.', + grant_organization_level_permissions: 'Conceder permissões de dados da organização', }, roles: { name_column: 'Função', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/applications.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/applications.ts index 09699ea0a14..2eba39a7a41 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/applications.ts @@ -2,12 +2,11 @@ const applications = { page_title: 'Aplicativos', title: 'Aplicativos', subtitle: - 'Configure um aplicativo móvel, single page, machine to machine ou tradicional para usar o Logto para autenticação', + 'Configure um aplicativo móvel, de página única, máquina a máquina ou tradicional para usar o Logto para autenticação', subtitle_with_app_type: 'Configure a autenticação Logto para o seu aplicativo {{name}}', create: 'Criar aplicativo', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Use o Logto como seu provedor de identidade (IdP) para integrar facilmente com aplicativos de terceiros', application_name: 'Nome do Aplicativo', application_name_placeholder: 'Meu aplicativo', application_description: 'Descrição do aplicativo', @@ -16,12 +15,10 @@ const applications = { no_application_type_selected: 'Você ainda não selecionou nenhum tipo de aplicativo', application_created: 'O aplicativo foi criado com sucesso.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Meus aplicativos', + third_party_applications: 'Aplicativos de terceiros', }, - app_id: 'App ID', + app_id: 'ID do App', type: { native: { title: 'Aplicativo Nativo', @@ -40,25 +37,19 @@ const applications = { description: 'Ex: aplicativo Next.js, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', + title: 'Máquina a Máquina', subtitle: 'Um aplicativo (geralmente um serviço) que fala diretamente com os recursos', description: 'Ex: serviço de backend', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'Aplicativo Protegido', + subtitle: 'Um aplicativo protegido pelo Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Aplicativo de Terceiros', + subtitle: 'Um aplicativo usado como conector de IdP de terceiros', + description: 'Ex.: OIDC, SAML', }, }, placeholder_title: 'Selecione um tipo de aplicativo para continuar', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/connectors.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/connectors.ts index 24d638105a3..64f75b577db 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/connectors.ts @@ -6,7 +6,7 @@ const connectors = { config_sie_notice: 'Você configurou os conectores. Certifique-se de configurá-lo em {{link}}.', config_sie_link_text: 'experiência de login', - tab_email_sms: 'Conectores de Email e SMS', + tab_email_sms: 'Conectores de E-mail e SMS', tab_social: 'Conectores sociais', connector_name: 'Nome do conector', demo_tip: @@ -76,13 +76,12 @@ const connectors = { callback_uri: 'URI de retorno do chamado', callback_uri_description: 'Também chamado de URI de redirecionamento, é a URI no Logto para a qual os usuários serão enviados de volta após a autorização social; copie e cole na página de configuração do provedor social.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'URL do serviço de consumo de afirmações', }, platform: { universal: 'Universal', web: 'Web', - native: 'Nat', + native: 'Nativo', }, add_multi_platform: 'suporta várias plataformas, selecione uma plataforma para continuar', drawer_title: 'Guia do Conector', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/domain.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/domain.ts index 47e33ba2f5a..0f3210ccd49 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Domínio personalizado', custom_domain_placeholder: 'seu.domínio.com', add_domain: 'Adicionar domínio', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Por favor, forneça uma URL de domínio válida com um mínimo de três partes, por exemplo, "seu.domínio.com."', verify_domain: 'Verificar domínio', enable_ssl: 'Habilitar SSL', checking_dns_tip: @@ -52,9 +51,8 @@ const domain = { 'Você pode personalizar o nome de domínio desses endpoints conforme necessário. Escolha "{{custom}}" ou "{{default}}".', custom_social_callback_url_note: 'Você pode personalizar o nome de domínio desta URI para corresponder ao endpoint de seu aplicativo. Escolha "{{custom}}" ou "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Você pode personalizar o nome de domínio desta URI para corresponder à URL do serviço consumidor de assertividade de seu provedor de identidade. Escolha "{{custom}}" ou "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/get-started.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/get-started.ts index 9be7a59f6c6..c8cad354589 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: 'Algumas coisas que você pode fazer para obter rapidamente valor do Logto', develop: { title: 'Desenvolva: Dedique 5 minutos para integrar o seu aplicativo', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Desenvolver: Integre com segurança seu aplicativo em minutos', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Ou leve 5 minutos para integrar seu aplicativo com nossos SDKs pré-construídos e tutoriais.', }, customize: { title: 'Personalize: Ofereça uma ótima experiência de login', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/guide.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/guide.ts index 939a2ad3bef..eca5f7bf9ac 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Aplicativo de página única', Native: 'Nativo', MachineToMachine: 'Máquina a máquina', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integração sem SDK', + ThirdParty: 'Aplicativo de terceiros', }, filter: { title: 'Filtrar framework', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/invitation.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/invitation.ts index fd14201f2f4..dea41fafc8a 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Encontre seus inquilinos', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Seu endereço de e-mail pode já estar registrado em vários inquilinos. Você pode escolher se juntar aos existentes ou continuar e criar um novo.', + create_new_tenant: 'Criar um novo inquilino', + email_not_match_title: 'Você está atualmente conectado como\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Por favor, faça login com a conta correta para aceitar o convite e se tornar um membro da organização.', + switch_account: 'Entrar com outra conta', + invalid_invitation_status: + 'Convite inválido. Entre em contato com o administrador e tente novamente.', + invitation_not_found: 'Convite não encontrado. Por favor, entre em contato com o administrador.', }; export default Object.freeze(invitation); 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 22e2533abed..ac52d40cc7f 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 @@ -22,13 +22,10 @@ const organization_details = { '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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Dados personalizados', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Dados personalizados é um objeto JSON que pode ser usado para armazenar dados adicionais associados à organização.', + invalid_json_object: 'Objeto JSON inválido.', }; 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 41d43ea5e7f..f8ec0beb6da 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 @@ -2,18 +2,16 @@ const organizations = { organization: 'Organização', page_title: 'Organizações', title: 'Organizações', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Organizações são normalmente utilizadas em aplicativos SaaS ou aplicativos semelhantes de vários inquilinos e representam seus clientes que são equipes, organizações ou empresas inteiras. Organizações funcionam como um elemento fundamental para autenticação e autorização B2B.', organization_template: 'Modelo de organização', 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', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Organizações são frequentemente usadas em aplicativos SaaS ou aplicativos semelhantes de vários inquilinos como uma prática recomendada. Elas permitem que você desenvolva aplicativos que permitem aos clientes criar e gerenciar organizações, convidar membros e atribuir funções.', organization_name_placeholder: 'Minha organização', organization_description_placeholder: 'Uma breve descrição da organização', organization_permission: 'Permissão da organização', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/protected-app.ts index 9af4f1a1c70..8b7f2806a14 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/protected-app.ts @@ -1,69 +1,46 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Aplicativo Protegido', + title: + 'Crie um Aplicativo Protegido: Adicione autenticação com simplicidade e velocidade incrível', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'O Aplicativo Protegido mantém sessões de usuários de forma segura e encaminha as solicitações do seu aplicativo. Potencializado pelos Cloudflare Workers, desfrute do desempenho de alto nível e início instantâneo de 0ms em todo o mundo. Aprenda mais ', + fast_create: 'Criação rápida', + modal_title: 'Criar Aplicativo Protegido', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Ative a proteção segura e rápida com alguns cliques. Adicione autenticação ao seu aplicativo web existente com facilidade.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: 'Seu URL de origem', + url_field_placeholder: 'https://dominio.com/', + url_field_description: + 'Informe o endereço do seu aplicativo que requer proteção de autenticação.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'As modificações no URL de origem podem levar de 1 a 2 minutos para se tornarem efetivas em todas as localizações da rede global.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Forneça o endereço da sua aplicação, excluindo '/caminho'. Após a criação, você pode personalizar as regras de autenticação da rota.\n\nNota: O URL de origem em si não exige autenticação; a proteção é aplicada exclusivamente aos acessos por meio do domínio do aplicativo designado.", + domain_field_label: 'Domínio do aplicativo', + domain_field_placeholder: 'seu-domínio', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Este URL funciona como um proxy de proteção de autenticação para o URL original. Domínio personalizado pode ser aplicado após a criação.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Este URL funciona como um proxy de proteção de autenticação para o URL original.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Aplicativos protegidos pela Logto serão hospedados em 'seu-domínio.{{domain}}' por padrão. Domínio personalizado pode ser aplicado após a criação.", + create_application: 'Criar aplicativo', + create_protected_app: 'Criação rápida', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'O seu domínio é obrigatório.', + domain_in_use: 'Este nome de subdomínio já está em uso.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Formato de subdomínio inválido: use apenas letras minúsculas, números e hífens '-'.", + url_required: 'O URL de origem é obrigatório.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Formato de URL de origem inválido: Use http:// ou https://. Observação: '/caminho' não é suportado atualmente.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Por favor, exponha seu servidor local para a Internet primeiro. Saiba mais sobre o desenvolvimento local .', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 Autenticação de aplicativo habilitada com sucesso! Explore a nova experiência do seu site.', }; export default Object.freeze(protected_app); 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 71faa7ce977..eb2b0132cd0 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 @@ -13,6 +13,9 @@ const role_details = { 'Os papéis são um agrupamento de permissões que podem ser atribuídas a usuários. Eles também fornecem uma maneira de agregar permissões definidas para diferentes APIs, tornando mais eficiente a adição, remoção ou ajuste de permissões em comparação com a atribuição individual a usuários.', field_name: 'Nome', field_description: 'Descrição', + field_is_default: 'Função padrão', + field_is_default_description: + 'Defina este papel como um papel padrão para novos usuários. Vários papéis padrão podem ser definidos. Isso também afetará os papéis padrão para usuários criados via API de Gerenciamento.', type_m2m_role_tag: 'Função de aplicativo máquina-a-máquina', type_user_role_tag: 'Função de usuário', permission: { diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/tenant-members.ts index c2947d0cef9..687c9c9a870 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Membros', + invitations: 'Convites', + invite_members: 'Convidar membros', + user: 'Usuário', + roles: 'Funções', + admin: 'Administrador', + collaborator: 'Colaborador', + invitation_status: 'Status do convite', + inviter: 'Convidador', + expiration_date: 'Data de expiração', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Convidar pessoas para Silverhand', + subtitle: 'Para convidar membros para uma organização, eles devem aceitar o convite.', + to: 'Para', + added_as: 'Adicionados como funções', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Pendente', + accepted: 'Aceito', + expired: 'Expirado', + revoked: 'Revogado', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Convidar membros da equipe', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Seu locatário atualmente não possui membros convidados.\nPara ajudar com sua integração, considere adicionar mais membros ou administradores.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Editar função do locatário', + delete: 'Remover usuário do locatário', + resend_invite: 'Reenviar convite', + revoke: 'Revogar convite', + delete_invitation_record: 'Excluir este registro de convite', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Alterar funções de {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Tem certeza de que deseja remover este usuário deste locatário?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Tem certeza de que deseja tornar o(s) usuário(s) selecionado(s) como administrador? Conceder acesso de administrador dará ao(s) usuário(s) as seguintes permissões.', + revoke_invitation_confirm: 'Tem certeza de que deseja revogar este convite?', + delete_invitation_confirm: 'Tem certeza de que deseja excluir este registro de convite?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Convite enviado.', + invitation_revoked: 'Convite revogado.', + invitation_resend: 'Convite reenviado.', + invitation_deleted: 'Registro de convite excluído.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'O e-mail do convidado é obrigatório.', + email_exists: 'O endereço de e-mail já existe.', + member_exists: 'Este usuário já é membro desta organização.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Convite pendente existe. Exclua o e-mail relacionado ou revogue o convite.', + invalid_email: 'O endereço de e-mail é inválido. Certifique-se de que está no formato correto.', + max_member_limit: 'Você atingiu o número máximo de membros ({{limit}}) para este locatário.', }, }; 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 dd8f7ecdbf6..07ff31b8a5b 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 @@ -61,7 +61,7 @@ const tenants = { }, dev_tenant_migration: { title: - 'Agora você pode experimentar nossos recursos Pro gratuitamente criando um novo "locatário de desenvolvimento"!', + 'Agora você pode experimentar nossos recursos Pro gratuitamente criando um novo “locatário de desenvolvimento”!', affect_title: 'Como isso afeta você?', hint_1: 'Estamos substituindo as antigas etiquetas de ambiente por dois novos tipos de locatário: “Desenvolvimento” e “Produção”.', 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 c4bd07a2858..5d92feceaa4 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 @@ -5,47 +5,41 @@ const webhooks = { 'Crie ganchos da web para receber atualizações em tempo real sobre eventos específicos sem esforço.', create: 'Criar Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Interac\u00E7\u00E3o do usu\u00E1rio', + user: 'Usu\u00E1rio', + organization: 'Organiza\u00E7\u00E3o', + role: 'Fun\u00E7\u00E3o', + scope: 'Permiss\u00E3o', + organization_role: 'Fun\u00E7\u00E3o da organiza\u00E7\u00E3o', + organization_scope: 'Permiss\u00E3o da organiza\u00E7\u00E3o', }, table: { name: 'Nome', events: 'Eventos', success_rate: 'Taxa de sucesso (24h)', - requests: 'Requisições (24h)', + requests: 'Requisi\u00E7\u00F5es (24h)', }, placeholder: { title: 'Webhook', description: - 'Crie um webhook para receber atualizações em tempo real por meio de solicitações POST para o URL do seu ponto de extremidade. Fique informado e tome medidas imediatas em eventos como "Criar conta", "Entrar" e "Redefinir senha".', + 'Crie um webhook para receber atualiza\u00E7\u00F5es em tempo real por meio de solicita\u00E7\u00F5es POST para o URL do seu ponto de extremidade. Fique informado e tome medidas imediatas em eventos como "Criar conta", "Entrar" e "Redefinir senha".', create_webhook: 'Criar Webhook', }, create_form: { title: 'Criar Webhook', subtitle: - 'Adicione o Webhook para enviar uma solicitação POST para o URL do endpoint com detalhes de quaisquer eventos de usuários.', + 'Adicione o Webhook para enviar uma solicita\u00E7\u00E3o POST para o URL do endpoint com detalhes de quaisquer eventos de usu\u00E1rios.', events: 'Eventos', - events_description: 'Selecione os eventos de gatilho que o Logto enviará a solicitação POST.', + events_description: + 'Selecione os eventos de gatilho que o Logto enviar\u00E1 a solicita\u00E7\u00E3o POST.', name: 'Nome', name_placeholder: 'Digite o nome do webhook', endpoint_url: 'URL de endpoint', endpoint_url_placeholder: 'https://seu.url.endpoint.do.webhook', endpoint_url_tip: - 'Insira o URL do seu ponto de extremidade para o qual a carga útil de um webhook é enviada quando o evento ocorre.', + 'Insira o URL do seu ponto de extremidade para o qual a carga \u00FAtil de um webhook \u00E9 enviada quando o evento ocorre.', create_webhook: 'Criar webhook', - missing_event_error: 'Você precisa selecionar pelo menos um evento.', + missing_event_error: 'Voc\u00EA precisa selecionar pelo menos um evento.', }, webhook_created: 'O webhook {{name}} foi criado com sucesso.', }; diff --git a/packages/phrases/src/locales/pt-pt/errors/application.ts b/packages/phrases/src/locales/pt-pt/errors/application.ts index 5ff0f4b0ab2..b8951a64eae 100644 --- a/packages/phrases/src/locales/pt-pt/errors/application.ts +++ b/packages/phrases/src/locales/pt-pt/errors/application.ts @@ -7,27 +7,17 @@ const application = { 'Apenas aplicações web tradicionais podem ser marcadas como uma aplicação de terceiros.', third_party_application_only: 'A funcionalidade só está disponível para aplicações de terceiros.', user_consent_scopes_not_found: 'Escopos de consentimento de utilizador inválidos.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', - protected_app_metadata_is_required: 'Protected app metadata is required.', - /** UNTRANSLATED */ + consent_management_api_scopes_not_allowed: 'Os escopos de API de gestão não são permitidos.', + protected_app_metadata_is_required: 'Metadados de aplicação protegida são necessários.', protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'O provedor de aplicação protegida não está configurado. Esta funcionalidade não está disponível na versão de código aberto.', + cloudflare_unknown_error: 'Erro desconhecido ao solicitar API da Cloudflare', + protected_application_only: 'A funcionalidade só está disponível para aplicações protegidas.', + protected_application_misconfigured: 'Aplicação protegida está mal configurada.', + protected_application_subdomain_exists: 'O subdomínio da aplicação protegida já está em uso.', + invalid_subdomain: 'Subdomínio inválido.', + custom_domain_not_found: 'Domínio personalizado não encontrado.', + should_delete_custom_domains_first: 'Deve eliminar primeiro os domínios personalizados.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/pt-pt/errors/domain.ts b/packages/phrases/src/locales/pt-pt/errors/domain.ts index 6df409ffd89..c9f8647be3a 100644 --- a/packages/phrases/src/locales/pt-pt/errors/domain.ts +++ b/packages/phrases/src/locales/pt-pt/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Você só pode ter um domínio personalizado.', hostname_already_exists: 'Este domínio já existe em nosso servidor.', cloudflare_not_found: 'Não é possível encontrar o nome de host no Cloudflare', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Este domínio não é permitido.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pt-pt/errors/resource.ts b/packages/phrases/src/locales/pt-pt/errors/resource.ts index 1f01ab54040..74b42bcda24 100644 --- a/packages/phrases/src/locales/pt-pt/errors/resource.ts +++ b/packages/phrases/src/locales/pt-pt/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'O identificador da API {{indicator}} já está em uso', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Não é possível excluir a API de gestão do Logto.', + cannot_modify_management_api: 'Não é possível modificar a API de gestão do Logto.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/pt-pt/errors/role.ts b/packages/phrases/src/locales/pt-pt/errors/role.ts index 5d93c8947bb..575be29690e 100644 --- a/packages/phrases/src/locales/pt-pt/errors/role.ts +++ b/packages/phrases/src/locales/pt-pt/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Este nome de função {{name}} já está em uso', scope_exists: 'O id do escopo {{scopeId}} já foi adicionado a esta função', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Não é possível atribuir escopos da API de gestão a uma função de usuário.', user_exists: 'O id do usuário {{userId}} já foi adicionado a esta função', application_exists: 'O id de aplicação {{applicationId}} já foi adicionado a esta função', default_role_missing: diff --git a/packages/phrases/src/locales/pt-pt/errors/user.ts b/packages/phrases/src/locales/pt-pt/errors/user.ts index 602a8857aa3..2d8660fba70 100644 --- a/packages/phrases/src/locales/pt-pt/errors/user.ts +++ b/packages/phrases/src/locales/pt-pt/errors/user.ts @@ -33,9 +33,7 @@ const user = { missing_mfa: 'You need to bind additional MFA before signing-in.', totp_already_in_use: 'TOTP is already in use.', backup_code_already_in_use: 'Backup code is already in use.', - /** UNTRANSLATED */ password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ password_and_digest: 'You cannot set both plain text password and password digest.', }; 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 6d8ecd8ce1b..408aeb30a18 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 @@ -3,13 +3,13 @@ const api_resource_details = { back_to_api_resources: 'Voltar aos recursos da API', general_tab: 'Geral', permissions_tab: 'Permissões', - settings: 'Configurações', + settings: 'Definições', settings_description: '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.', + 'A API de Gestão 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.', management_api_notice: - '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', + 'Esta API representa a entidade Logto e não pode ser modificada ou eliminada. Você pode usar a API de gestão 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: @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Criar permissão', create_subtitle: 'Define as permissões (escopos) necessários para essa API.', confirm_create: 'Criar permissão', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Editar permissão da API', + edit_subtitle: 'Define as permissões (escopos) necessários pela API {{resourceName}}.', name: 'Nome da permissão', name_placeholder: 'leitura:recurso', forbidden_space_in_name: 'O nome da permissão não pode conter espaços.', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resources.ts index ebac242fb18..16ee135c435 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/api-resources.ts @@ -1,20 +1,19 @@ const api_resources = { - page_title: 'Recursos de API', - title: 'Recursos de API', - subtitle: 'Defina as APIs que podem ser consumidas ​​pelas aplicações autorizadas', - create: 'Criar recurso de API', + page_title: 'Recursos da API', + title: 'Recursos da API', + subtitle: 'Defina as APIs que podem ser consumidas pelas aplicações autorizadas', + create: 'Criar recurso da API', api_name: 'Nome da API', api_name_placeholder: 'Insira o nome da sua API', - api_identifier: 'API Identifier', - api_identifier_placeholder: 'https://your-api-identifier/', + api_identifier: 'Identificador da API', + api_identifier_placeholder: 'https://seu-identificador-de-api/', api_identifier_tip: - 'O identificador exclusivo para o recurso de API. Deve ser um URI absoluto e não ter um componente de fragmento (#). Igual ao parâmetro resource no OAuth 2.0.', + 'O identificador exclusivo para o recurso da API. Deve ser um URI absoluto e não ter um componente de fragmento (#). Igual ao parâmetro resource no OAuth 2.0.', default_api: 'API padrão', default_api_label: - 'Somente uma API padrão pode ser definida por inquilino. Quando uma API padrão é definida, o parâmetro de recurso pode ser omitido na solicitação de autorização. Subsequentes trocas de token usarão essa API como audiência por padrão, resultando na emissão de JWTs. Saiba mais', - api_resource_created: 'O recurso de API {{name}} foi criado com sucesso', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + 'Apenas uma API padrão pode ser definida por inquilino. Quando uma API padrão é definida, o parâmetro de recurso pode ser omitido na solicitação de autorização. Subsequentes trocas de token usarão essa API como audiência por padrão, resultando na emissão de JWTs. Saiba mais', + api_resource_created: 'O recurso da API {{name}} foi criado com sucesso', + invalid_resource_indicator_format: 'O indicador da API deve ser um URI absoluto válido.', }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/application-details.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/application-details.ts index e9032e3c0f2..cdf5ae90430 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/application-details.ts @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Voltar para aplicações', check_guide: 'Guia de verificação', settings: 'Definições', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + 'Uma "Aplicação" é um software ou serviço registado que pode aceder às informações do utilizador ou agir em nome de um utilizador. As aplicações ajudam a reconhecer quem está a pedir o quê à Logto e a gerir o início de sessão e as permissões. Preencha os campos obrigatórios para autenticação.', + integration: 'Integração', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Implemente com os trabalhadores seguros da Logto, alimentados pela rede de borda da Cloudflare para um desempenho de primeira classe e inícios instantâneos a 0ms em todo o mundo.', + service_configuration: 'Configuração do serviço', + service_configuration_description: 'Complete as configurações necessárias no seu serviço.', + session: 'Sessão', + endpoints_and_credentials: 'Endpoints & Credenciais', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Utilize os seguintes endpoints e credenciais para configurar a ligação OIDC na sua aplicação.', + refresh_token_settings: 'Token de atualização', + refresh_token_settings_description: + 'Gerir as regras de token de atualização para esta aplicação.', application_roles: 'Funções da aplicação', machine_logs: 'Registos da máquina', application_name: 'Nome da aplicação', @@ -36,10 +27,8 @@ const application_details = { authorization_endpoint: 'Endpoint de autorização', authorization_endpoint_tip: 'O endpoint para realizar a autenticação e autorização. É usado para autenticação OpenID Connect.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + show_endpoint_details: 'Mostrar detalhes do endpoint', + hide_endpoint_details: 'Ocultar detalhes do endpoint', logto_endpoint: 'Endpoint Logto', application_id: 'ID da aplicação', application_id_tip: @@ -61,7 +50,7 @@ const application_details = { cors_allowed_origins_tip: 'Por padrão, todas as origens de redirecionamento são permitidas. Recomenda-se restringi-las. Consulte a documentação MDN para obter informações detalhadas.', token_endpoint: 'Endpoint do token', - user_info_endpoint: 'Endpoint do Userinfo', + user_info_endpoint: 'Endpoint do Utilizador', enable_admin_access: 'Ativar o acesso de administrador', enable_admin_access_label: 'Ativar ou desativar o acesso à API de gestão. Uma vez ativado, pode utilizar tokens de acesso para chamar a API de gestão em nome desta aplicação.', @@ -79,112 +68,68 @@ const application_details = { enter_your_application_name: 'Insira o nome da aplicação', application_deleted: 'Aplicação {{name}} eliminada com sucesso', redirect_uri_required: 'Deve inserir pelo menos um URI de redirecionamento', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Sinta-se à vontade para utilizar o seu domínio com {{domain}} alimentado pela Logto, que é permanentemente válido.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Sinta-se à vontade para utilizar o seu domínio {{domain}} que é permanentemente válido.', + custom_rules: 'Regras de autenticação personalizadas', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Defina regras com expressões regulares para rotas que requerem autenticação. Padrão: proteção de todo o site se ficar em branco.', + authentication_routes: 'Rotas de autenticação', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Aqui estão dois cenários possíveis:
  1. Para proteger apenas as rotas '/admin' e '/privacy' com autenticação: ^/(admin|privacy)/.*
  2. Para excluir imagens JPG da autenticação: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Redirecione o seu botão de autenticação usando as rotas especificadas. Nota: Estas rotas são irsubstituíveis.', + protect_origin_server: 'Proteja o seu servidor de origem', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Assegure-se de proteger o seu servidor de origem do acesso direto. Consulte o guia para mais instruções detalhadas.', + session_duration: 'Duração da sessão (dias)', + try_it: 'Experimente', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Marca', + description: 'Personalize o nome e o logótipo da sua aplicação no ecrã de consentimento.', + more_info: 'Mais informações', + more_info_description: + 'Ofereça aos utilizadores mais detalhes sobre a sua aplicação no ecrã de consentimento.', + display_name: 'Nome a apresentar', + display_logo: 'Logótipo a apresentar', + display_logo_dark: 'Logótipo a apresentar (escuro)', + terms_of_use_url: 'URL dos termos de utilização da aplicação', + privacy_policy_url: 'URL da política de privacidade da aplicação', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Permissões', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Selecione as permissões que a aplicação de terceiros requer para a autorização do utilizador para aceder a tipos específicos de dados.', + user_permissions: 'Dados pessoais do utilizador', + organization_permissions: 'Acesso à organização', + table_name: 'Conceder permissões', + field_name: 'Permissão', + field_description: 'Mostrado no ecrã de consentimento', + delete_text: 'Remover permissão', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Esta ação irá retirar as permissões concedidas à aplicação de terceiros, impedindo-a de solicitar a autorização do utilizador para tipos específicos de dados. Tem a certeza de que deseja continuar?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Selecione as permissões que a aplicação de terceiros solicita para a autorização do utilizador para aceder a tipos específicos de dados.', + user_profile: 'Dados do utilizador', + api_permissions: 'Permissões de API', + organization: 'Permissões da organização', + user_permissions_assignment_form_title: 'Adicionar permissões de perfil de utilizador', + organization_permissions_assignment_form_title: 'Adicionar permissões da organização', + api_resource_permissions_assignment_form_title: 'Adicionar permissões de recurso da API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Pode modificar a descrição das permissões de dados pessoais do utilizador através de "Experiência de Início de Sessão > Conteúdo > Gerir Idioma"', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Quando o Logto é usado como um Prestador de Identidades (IdP) para autenticação em aplicações de terceiros, e os utilizadores são solicitados para autorização, esta descrição aparece no ecrã de consentimento.', + user_title: 'Utilizador', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Selecione as permissões solicitadas pela aplicação de terceiros para aceder a dados específicos do utilizador.', + grant_user_level_permissions: 'Conceder permissões de dados do utilizador', + organization_title: 'Organização', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Selecione as permissões solicitadas pela aplicação de terceiros para aceder a dados específicos da organização.', + grant_organization_level_permissions: 'Conceder permissões de dados da organização', }, roles: { name_column: 'Nome da função', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/applications.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/applications.ts index 23cbb9248a1..dd8c20f11ce 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/applications.ts @@ -2,12 +2,11 @@ const applications = { page_title: 'Aplicações', title: 'Aplicações', subtitle: - 'Configure um aplicativo móvel, de página única, machine to machine ou tradicional para usar o Logto para autenticação', + 'Configure uma aplicação móvel, de página única, máquina a máquina ou tradicional para utilizar o Logto para autenticação', subtitle_with_app_type: 'Configurar autenticação Logto para a aplicação {{name}}', create: 'Criar aplicação', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Utilize o Logto como seu fornecedor de identidade (IdP) para integrar facilmente com aplicações de terceiros', application_name: 'Nome da aplicação', application_name_placeholder: 'Ex: Site Empresa', application_description: 'Descrição da aplicação', @@ -16,47 +15,39 @@ const applications = { no_application_type_selected: 'Ainda não selecionou nenhum tipo de aplicação', application_created: 'A aplicação foi criada com sucesso.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'As minhas apps', + third_party_applications: 'Apps de terceiros', }, - app_id: 'App ID', + app_id: 'ID da App', type: { native: { title: 'Nativo', - subtitle: 'Uma aplicação que é executada em um ambiente nativo', - description: 'Ex., App iOS, App Android', + subtitle: 'Uma aplicação que é executada num ambiente nativo', + description: 'Ex.: App iOS, App Android', }, spa: { title: 'Página única (SPAs)', subtitle: 'Uma aplicação que é executada num navegador e atualiza dinamicamente os dados', - description: 'Ex., App React, App VueJS', + description: 'Ex.: App React, App VueJS', }, traditional: { title: 'Web tradicional', subtitle: 'Uma aplicação que renderiza e atualiza páginas apenas pelo servidor web', - description: 'Ex., Next.js, PHP', + description: 'Ex.: Next.js, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', - subtitle: 'Uma aplicação (normalmente um serviço) que se comunica diretamente com recursos', - description: 'Ex., serviço back-end', + title: 'Máquina a Máquina', + subtitle: 'Uma aplicação (normalmente um serviço) que comunica diretamente com recursos', + description: 'Ex.: serviço back-end', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'App Protegida', + subtitle: 'Uma aplicação protegida pelo Logto', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ + title: 'App de Terceiros', + subtitle: 'Uma aplicação utilizada como conetor de IdP de terceiros', description: 'E.g., OIDC, SAML', }, }, diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/connectors.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/connectors.ts index 0b6e7e3cc7d..a7a53aa2e87 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/connectors.ts @@ -78,8 +78,7 @@ const connectors = { callback_uri: 'URI de retorno', callback_uri_description: 'Também chamado de URI de redirecionamento, é a URI no Logto para onde os usuários serão enviados após a autorização social, copie e cole na página de configuração do provedor social.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'URL do serviço do consumidor de afirmação', }, platform: { universal: 'Universal', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/domain.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/domain.ts index 74bac1757f0..5c25f573296 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Domínio personalizado', custom_domain_placeholder: 'seu.dominio.com', add_domain: 'Adicionar domínio', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Por favor, forneça um URL de domínio válido com um mínimo de três partes, por exemplo, "seu.dominio.com."', verify_domain: 'Verificar domínio', enable_ssl: 'Ativar SSL', checking_dns_tip: @@ -52,9 +51,8 @@ const domain = { 'Pode personalizar o nome de domínio desses endpoints conforme necessário. Escolha "{{custom}}" ou "{{default}}".', custom_social_callback_url_note: 'Pode personalizar o nome de domínio deste URI para corresponder ao endpoint da sua aplicação. Escolha "{{custom}}" ou "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Pode personalizar o nome de domínio deste URI para corresponder ao URL do serviço de consumidor de confirmação do seu fornecedor de identidade. Escolha "{{custom}}" ou "{{default}}".', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/get-started.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/get-started.ts index c80e412e33b..16ba00da48d 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/get-started.ts @@ -3,15 +3,13 @@ const get_started = { title: 'Algo para explorar para o ajudar a ter sucesso', subtitle: 'Algumas coisas que você pode fazer para obter rapidamente valor do Logto', develop: { - title: 'Develop: Dedique 5 minutos para integrar o seu aplicativo', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title: 'Desenvolver: Dedique 5 minutos para integrar o seu aplicativo', + title_cloud: 'Desenvolver: Integre o seu aplicativo de forma segura em minutos', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Ou leve 5 minutos para integrar o seu aplicativo com os nossos SDKs predefinidos e tutoriais.', }, customize: { - title: 'Customize: Ofereça uma ótima experiência de login', + title: 'Personalizar: Ofereça uma ótima experiência de login', preview: { title: 'Verifique a pré-visualização ao vivo da experiência de login que você acabou de personalizar', @@ -27,10 +25,10 @@ const get_started = { add_more: 'Adicione mais', }, secure: { - title: 'Secure: Proteja seus recursos', + title: 'Segurança: Proteja seus recursos', }, manage: { - title: 'Manage: Defina o controle de acesso para seu produto e usuários', + title: 'Gerenciar: Defina o controle de acesso para seu produto e usuários', rbac: { title: 'Adicione controle de acesso baseado em função para proteger seus recursos', subtitle: diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/guide.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/guide.ts index 14eb77a64e6..945766a7640 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Aplicação de página única', Native: 'Nativo', MachineToMachine: 'Máquina-a-máquina', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'Integração não-SDK', + ThirdParty: 'Aplicação de terceiros', }, filter: { title: 'Filtrar framework', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/invitation.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/invitation.ts index fd14201f2f4..e8ff9db7c29 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Encontre os seus inquilinos', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'O seu endereço de email pode já estar registado em vários inquilinos. Pode optar por juntar-se aos existentes ou continuar a criar um novo.', + create_new_tenant: 'Criar um novo inquilino', + email_not_match_title: 'Atualmente iniciou sessão como\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Por favor inicie sessão com a conta correta para aceitar o convite e tornar-se membro da organização.', + switch_account: 'Iniciar sessão com outra conta', + invalid_invitation_status: + 'Convite inválido. Por favor contacte o administrador e tente novamente.', + invitation_not_found: 'Convite não encontrado. Por favor contacte o administrador.', }; export default Object.freeze(invitation); 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 5255a7b50ab..9a279fcbd10 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 @@ -22,13 +22,10 @@ const organization_details = { '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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Dados personalizados', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Dados personalizados é um objeto JSON que pode ser usado para armazenar dados adicionais associados à organização.', + invalid_json_object: 'Objeto JSON inválido.', }; 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 4bb54723c34..7449205a82c 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 @@ -2,18 +2,16 @@ const organizations = { organization: 'Organização', page_title: 'Organizações', title: 'Organizações', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'As organizações são geralmente usadas em aplicações SaaS ou similares de múltiplos inquilinos e representam os seus clientes, que podem ser equipas, organizações ou empresas inteiras. As organizações funcionam como um elemento fundamental para a autenticação e autorização B2B.', organization_template: 'Modelo de organização', 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', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'As organizações são frequentemente utilizadas em aplicações SaaS ou similares de múltiplos inquilinos como uma prática recomendada. Permitem-lhe desenvolver aplicações que permitem aos clientes criar e gerir organizações, convidar membros e atribuir funçõ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', @@ -26,10 +24,10 @@ const organizations = { role: 'Função', search_placeholder: 'Pesquisar por nome ou ID da organização', search_role_placeholder: 'Digite para pesquisar e selecionar funções', - empty_placeholder: '🤔 Você ainda não configurou nenhum {{entity}}.', + empty_placeholder: '🤔 Ainda não configurou nenhum {{entity}}.', organization_and_member: 'Organização e membro', organization_and_member_description: - 'A organização é um grupo de utilizadores e pode representar as equipas, clientes empresariais e empresas parceiras, sendo que cada utilizador é um "Membro". Estas podem ser entidades fundamentais para lidar com os requisitos de vários inquilinos.', + 'A organização é um grupo de utilizadores e pode representar as equipas, clientes empresariais e empresas parceiras, sendo que cada utilizador é um "Membro". Estas podem ser entidades fundamentais para lidar com os requisitos de múltiplos inquilinos.', guide: { title: 'Comece com guias', subtitle: 'Inicie as configurações da sua organização com os nossos guias', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/protected-app.ts index 9af4f1a1c70..49d9abaaa62 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/protected-app.ts @@ -1,69 +1,45 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'App Protegida', + title: 'Crie uma App Protegida: Adicione autenticação com simplicidade e velocidade épica', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'A App Protegida mantém as sessões de usuário de forma segura e redireciona as solicitações do seu aplicativo. Alimentado pelos Cloudflare Workers, desfrute do desempenho de primeira classe e da inicialização instantânea em todo o mundo. Saiba mais', + fast_create: 'Criar rapidamente', + modal_title: 'Criar App Protegida', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Habilitar proteção segura e rápida com alguns cliques. Adicione autenticação ao seu aplicativo da web existente com facilidade.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ - url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_label: 'O URL de origem', + url_field_placeholder: 'https://domínio.com/', + url_field_description: + 'Forneça o endereço do seu aplicativo que necessita de proteção de autenticação.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'Modificações no URL de origem podem levar de 1-2 minutos para se tornarem eficazes em todas as localizações da rede global.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Forneça o endereço da sua aplicação, excluindo qualquer '/caminho'. Após a criação, você pode personalizar as regras de autenticação de rota.\n\nObservação: O próprio URL de origem não necessita de autenticação; a proteção é aplicada exclusivamente a acessos via o domínio do aplicativo designado.", + domain_field_label: 'Domínio do aplicativo', + domain_field_placeholder: 'seu-domínio', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Este URL serve como um proxy de proteção de autenticação para o URL original. O domínio personalizado pode ser aplicado após a criação.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Este URL serve como um proxy de proteção de autenticação para o URL original.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Apps protegidos pelo Logto serão hospedados em 'seu-domínio.{{domain}}' por padrão. O domínio personalizado pode ser aplicado após a criação.", + create_application: 'Criar aplicativo', + create_protected_app: 'Criar rapidamente', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'O seu domínio é obrigatório.', + domain_in_use: 'Este nome de subdomínio já está em uso.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Formato de subdomínio inválido: use apenas letras minúsculas, números e hífens '-'.", + url_required: 'O URL de origem é obrigatório.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Formato de URL de origem inválido: Use http:// ou https://. Observação: '/caminho' não é suportado atualmente.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Por favor, exponha primeiro o seu servidor local à internet. Saiba mais sobre o desenvolvimento local.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 Autenticação do aplicativo habilitada com sucesso! Explore a nova experiência do seu site.', }; export default Object.freeze(protected_app); 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 77821621494..b43f4e36b91 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 @@ -13,6 +13,9 @@ const role_details = { 'As funções são um agrupamento de permissões que podem ser atribuídas aos utilizadores. Elas também proporcionam uma forma de agregar permissões definidas para diferentes APIs, tornando mais eficiente adicionar, remover ou ajustar permissões comparativamente à sua atribuição individual a utilizadores.', field_name: 'Nome', field_description: 'Descrição', + field_is_default: 'Função predefinida', + field_is_default_description: + 'Defina esta função como uma função predefinida para novos utilizadores. Podem ser definidas várias funções predefinidas. Isto também afetará as funções predefinidas para utilizadores criados através da API de Gestão.', type_m2m_role_tag: 'Função de aplicação de máquina para máquina', type_user_role_tag: 'Função de utilizador', permission: { diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/tenant-members.ts index c2947d0cef9..59e4b98a0f3 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Membros', + invitations: 'Convites', + invite_members: 'Convidar membros', + user: 'Utilizador', + roles: 'Funções', + admin: 'Administrador', + collaborator: 'Colaborador', + invitation_status: 'Estado do convite', + inviter: 'Convidante', + expiration_date: 'Data de expiração', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Convidar pessoas para Silverhand', + subtitle: 'Para convidar membros para uma organização, eles devem aceitar o convite.', + to: 'Para', + added_as: 'Adicionado como funções', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Pendente', + accepted: 'Aceite', + expired: 'Expirado', + revoked: 'Revogado', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Convidar membros da equipa', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Neste momento, o seu espaço inquilino não tem membros convidados.\nPara ajudar na integração, considere adicionar mais membros ou administradores.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Editar função do inquilino', + delete: 'Remover utilizador do inquilino', + resend_invite: 'Reenviar convite', + revoke: 'Revogar convite', + delete_invitation_record: 'Eliminar este registo de convite', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Alterar funções de {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Tem a certeza de que deseja remover este utilizador deste inquilino?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Tem a certeza de que deseja tornar o(s) utilizador(es) selecionado(s) administrador(es)? Ao conceder acesso de administrador, o(s) utilizador(es) terão as seguintes permissões.', + revoke_invitation_confirm: 'Tem a certeza de que deseja revogar este convite?', + delete_invitation_confirm: 'Tem a certeza de que deseja eliminar este registo de convite?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Convite enviado.', + invitation_revoked: 'Convite revogado.', + invitation_resend: 'Convite reenviado.', + invitation_deleted: 'Registo de convite eliminado.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'O email do convidado é obrigatório.', + email_exists: 'O endereço de email já existe.', + member_exists: 'Este utilizador já é membro desta organização.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Convite pendente existente. Elimine o email relacionado ou revogue o convite.', + invalid_email: 'Endereço de email é inválido. Certifique-se de que está no formato correto.', + max_member_limit: 'Atingiu o número máximo de membros ({{limit}}) para este inquilino.', }, }; 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 c9c68ae2127..a996c328378 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 @@ -4,20 +4,13 @@ const webhooks = { subtitle: 'Crie webhooks para receber atualizações em tempo real sobre eventos específicos.', create: 'Criar Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Interação do utilizador', + user: 'Utilizador', + organization: 'Organização', + role: 'Função', + scope: 'Permissão', + organization_role: 'Função da organização', + organization_scope: 'Permissão da organização', }, table: { name: 'Nome', @@ -34,7 +27,7 @@ const webhooks = { create_form: { title: 'Criar Webhook', subtitle: - 'Adicione o Webhook para enviar uma solicitação POST para o URL do ponto final com detalhes de quaisquer eventos de usuários.', + 'Adicione o Webhook para enviar uma solicitação POST para o URL do ponto final com detalhes de quaisquer eventos de utilizadores.', events: 'Eventos', events_description: 'Selecione os eventos de gatilho nos quais o Logto enviará a solicitação POST.', diff --git a/packages/phrases/src/locales/ru/errors/application.ts b/packages/phrases/src/locales/ru/errors/application.ts index 8af2c1e443f..742510d0111 100644 --- a/packages/phrases/src/locales/ru/errors/application.ts +++ b/packages/phrases/src/locales/ru/errors/application.ts @@ -8,27 +8,17 @@ const application = { third_party_application_only: 'Эта функция доступна только для приложений сторонних разработчиков.', user_consent_scopes_not_found: 'Недействительные области согласия пользователя.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: 'API-области управления не разрешены.', protected_app_metadata_is_required: 'Требуется защищенная метаданные приложения.', - /** UNTRANSLATED */ protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'Поставщик защищенного приложения не настроен. Эта функция недоступна для версии с открытым исходным кодом.', + cloudflare_unknown_error: 'Получена неизвестная ошибка при запросе к API Cloudflare', + protected_application_only: 'Эта функция доступна только для защищенных приложений.', + protected_application_misconfigured: 'Защищенное приложение настроено неверно.', + protected_application_subdomain_exists: 'Поддомен защищенного приложения уже используется.', + invalid_subdomain: 'Недопустимый поддомен.', + custom_domain_not_found: 'Пользовательский домен не найден.', + should_delete_custom_domains_first: 'Сначала следует удалить пользоватские домены.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/ru/errors/domain.ts b/packages/phrases/src/locales/ru/errors/domain.ts index 33b89d63e41..e8898c759d5 100644 --- a/packages/phrases/src/locales/ru/errors/domain.ts +++ b/packages/phrases/src/locales/ru/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Вы можете использовать только один пользовательский домен.', hostname_already_exists: 'Этот домен уже существует на нашем сервере.', cloudflare_not_found: 'Не удается найти имя хоста в Cloudflare', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Этот домен не разрешен.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/ru/errors/resource.ts b/packages/phrases/src/locales/ru/errors/resource.ts index 6cc4c6031eb..1a5abc176da 100644 --- a/packages/phrases/src/locales/ru/errors/resource.ts +++ b/packages/phrases/src/locales/ru/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'Идентификатор API {{indicator}} уже используется', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: 'Не удается удалить управляемый API Logto.', + cannot_modify_management_api: 'Не удается изменить управляемый API Logto.', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/ru/errors/role.ts b/packages/phrases/src/locales/ru/errors/role.ts index c859f6fc53a..b6113053e09 100644 --- a/packages/phrases/src/locales/ru/errors/role.ts +++ b/packages/phrases/src/locales/ru/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Это имя роли {{name}} уже используется', scope_exists: 'Идентификатор области действия {{scopeId}} уже был добавлен в эту роль', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Не удается назначить области управления API пользовательской роли.', user_exists: 'Идентификатор пользователя {{userId}} уже был добавлен в эту роль', application_exists: 'Идентификатор приложения {{applicationId}} уже был добавлен в эту роль', default_role_missing: diff --git a/packages/phrases/src/locales/ru/errors/user.ts b/packages/phrases/src/locales/ru/errors/user.ts index 6ca739d0054..bc84aea4238 100644 --- a/packages/phrases/src/locales/ru/errors/user.ts +++ b/packages/phrases/src/locales/ru/errors/user.ts @@ -33,10 +33,8 @@ const user = { missing_mfa: 'You need to bind additional MFA before signing-in.', totp_already_in_use: 'TOTP is already in use.', backup_code_already_in_use: 'Backup code is already in use.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: 'Требуется алгоритм пароля.', + password_and_digest: 'Вы не можете установить как обычный пароль, так и дайджест пароля.', }; export default Object.freeze(user); 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 0c2496da8e0..c8119dfcdfe 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'Создать разрешение', create_subtitle: 'Определите необходимые разрешения (области) для этого API.', confirm_create: 'Создать разрешение', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'Изменить разрешение API', + edit_subtitle: 'Определите необходимые разрешения (области) для API {{resourceName}}.', name: 'Название разрешения', name_placeholder: 'read:resource', forbidden_space_in_name: 'Название разрешения не должно содержать пробелов.', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/ru/translation/admin-console/api-resources.ts index d7f356b557f..58c55d4aa10 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/api-resources.ts @@ -5,7 +5,7 @@ const api_resources = { create: 'Создать ресурс API', api_name: 'Название API', api_name_placeholder: 'Введите название вашего API', - api_identifier: 'API Identifier', + api_identifier: 'Идентификатор API', api_identifier_placeholder: 'https://your-api-identifier/', api_identifier_tip: 'Уникальный идентификатор для ресурса API. Он должен быть абсолютным URI и не иметь фрагмента (#). Равен параметру resource в OAuth 2.0.', @@ -13,8 +13,7 @@ const api_resources = { default_api_label: 'В каждом арендаторе может быть только один API по умолчанию. Когда устанавливается API по умолчанию, можно опустить параметр resource в запросе на аутентификацию. Последующие запросы на обмен токенами будут использовать указанное API в качестве аудитории по умолчанию, что приведет к выдаче JWT. Узнать больше', api_resource_created: 'Ресурс API {{name}} был успешно создан', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: 'Формат индикатора API должен быть допустимым абсолютным URI.', }; export default Object.freeze(api_resources); 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 956b20e922b..54502568240 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 @@ -3,29 +3,20 @@ const application_details = { back_to_applications: 'Вернуться к приложениям', check_guide: 'Проверить гид', settings: 'Настройки', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + '«Приложение» — это зарегистрированное программное обеспечение или сервис, которое может получать доступ к информации пользователя либо действовать от его имени. Приложения помогают узнавать, кто запрашивает какие данные у Logto и обрабатывать вход и разрешения. Заполните необходимые поля для аутентификации.', + integration: 'Интеграция', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + 'Развертывайте защищенные рабочие процессы Logto, работающие на сети реберного узла Cloudflare, для обеспечения высочайшей производительности и нулевого времени запуска в любой точке мира.', + service_configuration: 'Конфигурация службы', + service_configuration_description: 'Завершите необходимые настройки в своем сервисе.', + session: 'Сессия', + endpoints_and_credentials: 'Конечные точки и учетные данные', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Используйте следующие конечные точки и учетные данные для настройки соединения OIDC в своем приложении.', + refresh_token_settings: 'Обновить токен', + refresh_token_settings_description: + 'Управляйте правилами обновления токенов для этого приложения.', application_roles: 'Роли', machine_logs: 'Машинные журналы', application_name: 'Название приложения', @@ -36,11 +27,9 @@ const application_details = { authorization_endpoint: 'Конечная точка авторизации', authorization_endpoint_tip: 'Конечная точка для аутентификации и авторизации. Он используется для аутентификации OpenID Connect.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Logto endpoint', + show_endpoint_details: 'Показать подробности конечной точки', + hide_endpoint_details: 'Скрыть подробности конечной точки', + logto_endpoint: 'Конечная точка Logto', application_id: 'ID приложения', application_id_tip: 'Уникальный идентификатор приложения, обычно генерируемый Logto. Он также означает «client_id» в OpenID Connect.', @@ -79,119 +68,75 @@ const application_details = { enter_your_application_name: 'Введите название своего приложения', application_deleted: 'Приложение {{name}} успешно удалено', redirect_uri_required: 'Вы должны ввести по крайней мере один URI перенаправления', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + 'Не стесняйтесь использовать ваш домен с {{domain}}, под управлением Logto, который имеет постоянную действительность.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + 'Смело используйте ваш домен {{domain}}, который имеет постоянную действительность.', + custom_rules: 'Пользовательские правила аутентификации', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Установите правила с использованием регулярных выражений для требуемых маршрутов, требующих аутентификации. По умолчанию: защита всего сайта, если оставить пустым.', + authentication_routes: 'Маршруты аутентификации', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "Вот два варианта сценариев:
  1. Для защиты только маршрутов '/admin' и '/privacy' аутентификацией: ^/(admin|privacy)/.*
  2. Для исключения из аутентификации изображений JPG: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Перенаправьте вашу кнопку аутентификации, используя указанные маршруты. Примечание: Эти маршруты незаменяемы.', + protect_origin_server: 'Защита вашего исходного сервера', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Обеспечьте защиту вашего исходного сервера от прямого доступа. Обратитесь к руководству для получения более подробных инструкций.', + session_duration: 'Продолжительность сеанса (дни)', + try_it: 'Попробуйте', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Брендинг', + description: 'Настройте отображаемое имя и логотип вашего приложения на экране согласия.', + more_info: 'Дополнительная информация', + more_info_description: + 'Предлагайте пользователям больше информации о вашем приложении на экране согласия.', + display_name: 'Отображаемое имя', + display_logo: 'Отображаемый логотип', + display_logo_dark: 'Отображаемый логотип (темный)', + terms_of_use_url: 'URL условий использования приложения', + privacy_policy_url: 'URL политики конфиденциальности приложения', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'Разрешения', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Выберите разрешения, которые требуются стороннему приложению для получения авторизации пользователя на доступ к определенным типам данных.', + user_permissions: 'Персональные данные пользователя', + organization_permissions: 'Доступ организации', + table_name: 'Предоставление разрешений', + field_name: 'Разрешение', + field_description: 'Отображается на экране согласия', + delete_text: 'Удалить разрешение', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Это действие отозвет предоставленные разрешения стороннему приложению, препятствуя запросу пользователя на авторизацию к определенным типам данных. Вы уверены, что хотите продолжить?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Выберите разрешения, которые стороннее приложение запрашивает для авторизации пользователя к определенным типам данных.', + user_profile: 'Данные пользователя', + api_permissions: 'API-разрешения', + organization: 'Разрешения организации', + user_permissions_assignment_form_title: 'Добавить разрешения на профиль пользователя', + organization_permissions_assignment_form_title: 'Добавить разрешения на организацию', + api_resource_permissions_assignment_form_title: 'Добавить разрешения на ресурс API', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Вы можете изменить описание персональных данных пользователя через "Опыт входа -> Содержание -> Управление языком".', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Когда Logto используется в качестве поставщика идентификации (IdP) для аутентификации в сторонних приложениях, и пользователи запрашивают авторизацию, данное описание отображается на экране согласия.', + user_title: 'Пользователь', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Выберите разрешения, запрошенные сторонним приложением для доступа к определенным данным пользователя.', + grant_user_level_permissions: 'Предоставить разрешения на данные пользователя', + organization_title: 'Организация', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Выберите разрешения, которые запрашиваются сторонним приложением для доступа к определенным данным организации.', + grant_organization_level_permissions: 'Предоставить разрешения на данные организации', }, roles: { name_column: 'Роль', description_column: 'Описание', assign_button: 'Назначить роли', delete_description: - 'This action will remove this role from this machine-to-machine app. The role itself will still exist, but it will no longer be associated with this machine-to-machine app.', + 'Это действие удалит эту роль из этого приложения. Сама роль останется, но больше не будет связана с этим приложением.', deleted: '{{name}} успешно удалено у этого пользователя.', assign_title: 'Назначить роли для {{name}}', assign_subtitle: 'Авторизовать {{name}} одну или несколько ролей', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/applications.ts b/packages/phrases/src/locales/ru/translation/admin-console/applications.ts index 73cac22ec24..6b4f5ef7381 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/applications.ts @@ -5,9 +5,8 @@ const applications = { 'Настроить аутентификацию Logto для вашего нативного, одностраничного, машина-машина или традиционного приложения.', subtitle_with_app_type: 'Настроить аутентификацию Logto для вашего приложения {{name}}', create: 'Создать заявку', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + 'Используйте Logto в качестве поставщика идентификации (IdP) для простой интеграции с приложениями сторонних разработчиков', application_name: 'Название приложения', application_name_placeholder: 'Мое приложение', application_description: 'Описание приложения', @@ -16,12 +15,10 @@ const applications = { no_application_type_selected: 'Вы еще не выбрали тип приложения', application_created: 'Приложение успешно создано.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Мои приложения', + third_party_applications: 'Приложения сторонних разработчиков', }, - app_id: 'App ID', + app_id: 'Идентификатор приложения', type: { native: { title: 'Нативное приложение', @@ -34,30 +31,25 @@ const applications = { description: 'Например, приложение React DOM, приложение Vue', }, traditional: { - title: 'Традиционный веб', - subtitle: 'Приложение, которое отображает и обновляет страницы только веб-сервером', + title: 'Традиционное веб-приложение', + subtitle: 'Приложение, которое отображает и обновляет страницы только через веб-сервер', description: 'Например, Next.js, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', + title: 'Машина-машина', subtitle: 'Приложение (обычно сервис), которое напрямую общается с ресурсами', - description: 'Например, backend-сервис', + description: 'Например, бэкэнд-сервис', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ - description: 'N/A', + title: 'Защищенное приложение', + subtitle: 'Приложение, защищенное Logto', + description: 'N/А', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Приложение сторонних разработчиков', + subtitle: + 'Приложение, используемое в качестве коннектора стороннего поставщика идентификации', + description: 'Например, OIDC, SAML', }, }, placeholder_title: 'Выберите тип приложения, чтобы продолжить', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ru/translation/admin-console/connectors.ts index 970e7cd6e1b..91b4b7b8bd3 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/connectors.ts @@ -77,8 +77,7 @@ const connectors = { callback_uri: 'URI обратного вызова', callback_uri_description: 'Также называется URI перенаправления, это URI в Logto, на который пользователи будут отправлены после социальной авторизации. Скопируйте и вставьте его на странице настройки социального провайдера.', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: 'URL сервиса подтверждения утверждений', }, platform: { universal: 'Универсальная', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/domain.ts b/packages/phrases/src/locales/ru/translation/admin-console/domain.ts index e231a3994fa..105b75ef2be 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/domain.ts @@ -15,7 +15,6 @@ const domain = { custom_domain_field: 'Пользовательский домен', custom_domain_placeholder: 'Ваш.домен.com', add_domain: 'Добавить домен', - /** UNTRANSLATED */ invalid_domain_format: 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', verify_domain: 'Проверить домен', @@ -52,7 +51,6 @@ const domain = { 'Вы можете настроить имя домена этих конечных точек по своему усмотрению. Выберите "{{custom}}" или "{{default}}".', custom_social_callback_url_note: 'Вы можете настроить имя домена этого URI, чтобы соответствовать конечной точке вашего приложения. Выберите "{{custom}}" или "{{default}}".', - /** UNTRANSLATED */ custom_acs_url_note: 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/get-started.ts b/packages/phrases/src/locales/ru/translation/admin-console/get-started.ts index f6d6097e33f..c5901e9e0df 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/get-started.ts @@ -3,17 +3,15 @@ const get_started = { title: 'Что-то, что поможет вам добиться успеха', subtitle: 'Несколько вещей, которые вы можете сделать, чтобы быстро получить ценность от Logto', develop: { - title: 'Develop: Вам понадобится 5 минут, чтобы интегрировать ваше приложение', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title: 'Разработка: Вам понадобится 5 минут, чтобы интегрировать ваше приложение', + title_cloud: 'Разработка: Безопасная интеграция вашего приложения за минуты', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + 'Или займет 5 минут для интеграции вашего приложения с нашими готовыми SDK и руководствами.', }, customize: { - title: 'Customize: Создайте отличный вариант входа в систему', + title: 'Настроить: Создайте отличный вариант входа в систему', preview: { - title: 'Проверьте прямую трансляцию присоединения к системе, которое вы только что настроили', + title: 'Проверьте живую трансляцию присоединения к системе, которое вы только что настроили', subtitle: 'Попробуйте пробный вариант входа в систему Logto, чтобы узнать, как это работает', }, connector: { @@ -27,12 +25,12 @@ const get_started = { add_more: 'Добавьте еще', }, secure: { - title: 'Secure: Защитите свои ресурсы', + title: 'Защита: Защитите свои ресурсы', }, manage: { - title: 'Manage: Определите контроль доступа для вашего продукта и пользователей', + title: 'Управление: Определите контроль доступа для вашего продукта и пользователей', rbac: { - title: 'Добавьте контроль доступа на основе ролей, чтобы защитить ваши ресурсы', + title: 'Добавьте управление доступом на основе ролей, чтобы защитить ваши ресурсы', subtitle: 'Управляйте вашим ресурсом через масштабируемую авторизацию ролей для различных случаев использования', }, diff --git a/packages/phrases/src/locales/ru/translation/admin-console/guide.ts b/packages/phrases/src/locales/ru/translation/admin-console/guide.ts index 2c220bbee5c..1056426e29f 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/guide.ts @@ -7,9 +7,7 @@ const guide = { SPA: 'Одностраничное приложение', Native: 'Нативное', MachineToMachine: 'Машина к машине', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ + Protected: 'Интеграция без SDK', ThirdParty: 'Third-party app', }, filter: { diff --git a/packages/phrases/src/locales/ru/translation/admin-console/invitation.ts b/packages/phrases/src/locales/ru/translation/admin-console/invitation.ts index fd14201f2f4..12ee06d2588 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/invitation.ts @@ -1,22 +1,15 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Найти своих арендаторов', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'Ваш адрес электронной почты может уже быть зарегистрирован у нескольких арендаторов. Вы можете выбрать присоединиться к уже существующим или продолжить создание нового.', + create_new_tenant: 'Создать нового арендатора', + email_not_match_title: 'Вы вошли в систему как\n{{email}}', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Пожалуйста, войдите под правильной учетной записью, чтобы принять приглашение и стать участником организации.', + switch_account: 'Войти под другой учетной записью', + invalid_invitation_status: + 'Недействительное приглашение. Пожалуйста, свяжитесь с администратором и повторите попытку.', + invitation_not_found: 'Приглашение не найдено. Пожалуйста, свяжитесь с администратором.', }; export default Object.freeze(invitation); 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 de25fb2be3a..f9e8bdbe50a 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 @@ -23,13 +23,10 @@ const organization_details = { search_user_placeholder: 'Поиск по имени, электронной почте, телефону или идентификатору пользователя', at_least_one_user: 'Необходимо указать хотя бы одного пользователя.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Кастомные данные', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Кастомные данные представляют собой JSON-объект, который может использоваться для хранения дополнительных данных, связанных с организацией.', + invalid_json_object: 'Некорректный JSON-объект.', }; 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 0d17b65cb4d..a32524c9a8e 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/organizations.ts @@ -2,18 +2,16 @@ const organizations = { organization: 'Организация', page_title: 'Организации', title: 'Организации', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Организации обычно используются в SaaS или подобных многоклиентских приложениях и представляют ваших клиентов - это команды, организации или целые компании. Организации действуют как основной элемент для аутентификации и авторизации B2B.', organization_template: 'Шаблон организации', organization_id: 'Идентификатор организации', members: 'Участники', create_organization: 'Создать организацию', setup_organization: 'Настройка вашей организации', organization_list_placeholder_title: 'Организация', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Организации часто используются в SaaS или подобных многоклиентских приложениях как лучшая практика. Они позволяют вам разрабатывать приложения, которые позволяют клиентам создавать и управлять организациями, приглашать участников и назначать роли.', organization_name_placeholder: 'Моя организация', organization_description_placeholder: 'Краткое описание организации', organization_permission: 'Разрешение организации', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/ru/translation/admin-console/protected-app.ts index 9af4f1a1c70..4c8891bbf9e 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/protected-app.ts @@ -1,69 +1,45 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Защищенное приложение', + title: + 'Создайте защищенное приложение: добавьте аутентификацию с простотой и эпической скоростью', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'Защищенное приложение безопасно сохраняет сеансы пользователей и проксирует запросы вашего приложения. Построенное на Cloudflare Workers, наслаждайтесь высочайшей производительностью и мгновенным запуском по всему миру. Узнайте больше', + fast_create: 'Быстрое создание', + modal_title: 'Создать защищенное приложение', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Включите безопасную и быструю защиту всего в несколько кликов. Легко добавьте аутентификацию к вашему существующему веб-приложению.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: 'Ваш URL-адрес источника', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_description: 'Укажите адрес вашего приложения, требующего защиты аутентификации.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + 'Изменения в исходном URL могут потребовать до 1-2 минут для активации по всему мировому сетевому оборудованию.', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "Укажите адрес вашего приложения, за исключением любых '/pathname'. После создания вы сможете настроить правила аутентификации маршрутов.\n\nПримечание: сам по себе исходный URL не требует защиты аутентификации; защита применяется исключительно к доступам через указанный домен приложения.", + domain_field_label: 'Домен приложения', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Этот URL служит прокси для исходного URL с защитой аутентификации. Пользовательский домен может быть применен после создания.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Этот URL служит прокси для исходного URL с защитой аутентификации.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Приложения, защищенные через Logto, будут размещены по адресу 'your-domain.{{domain}}' по умолчанию. После создания может быть применен пользовательский домен.", + create_application: 'Создать приложение', + create_protected_app: 'Быстрое создание', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Требуется ваш домен.', + domain_in_use: 'Это поддомен уже используется.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Недопустимый формат поддомена: используйте только строчные буквы, цифры и дефисы '-'.", + url_required: 'Требуется исходный URL.', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Недопустимый формат исходного URL: используйте http:// или https://. Примечание: '/pathname' в настоящее время не поддерживается.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Пожалуйста, сначала дайте доступ к вашему локальному серверу из интернета. Узнайте больше о локальной разработке.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 Аутентификация приложения успешно включена! Исследуйте новый опыт вашего веб-сайта.', }; export default Object.freeze(protected_app); 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 f300c1ecf03..b9f1a93c4ff 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 @@ -13,6 +13,9 @@ const role_details = { 'Роли - это группировка разрешений, которые могут быть назначены пользователям. Они также обеспечивают способ объединения разрешений, определенных для разных API, что делает более эффективным добавление, удаление или корректировку разрешений по сравнению с назначением их отдельно пользователям.', field_name: 'Имя', field_description: 'Описание', + field_is_default: 'Стандартная роль', + field_is_default_description: + 'Установить эту роль как стандартную для новых пользователей. Можно установить несколько стандартных ролей. Это также повлияет на стандартные роли для пользователей, созданных с использованием API управления.', type_m2m_role_tag: 'Роль машинного приложения', type_user_role_tag: 'Роль пользователя', permission: { @@ -45,7 +48,7 @@ const role_details = { 'Назначить пользователей на эту роль. Найдите подходящих пользователей, используя поиск по имени, электронной почте, номеру телефона или идентификатору пользователя.', assign_field: 'Назначить пользователей', confirm_assign: 'Назначить пользователей', - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Выбранные пользователи были успешно назначены на эту роль', empty: 'Нет доступных пользователей', }, applications: { @@ -61,7 +64,7 @@ const role_details = { 'Назначить приложения на эту роль. Найдите подходящие приложения, используя поиск по имени, описанию или идентификатору приложения.', assign_field: 'Назначить приложения', confirm_assign: 'Назначить приложения', - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Выбранные приложения были успешно назначены на эту роль', empty: 'Нет доступных приложений', }, }; diff --git a/packages/phrases/src/locales/ru/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/ru/translation/admin-console/tenant-members.ts index c2947d0cef9..4f94bbc045f 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/tenant-members.ts @@ -1,102 +1,63 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Участники', + invitations: 'Приглашения', + invite_members: 'Пригласить участников', + user: 'Пользователь', + roles: 'Роли', + admin: 'Администратор', + collaborator: 'Соавтор', + invitation_status: 'Статус приглашения', + inviter: 'Пригласивший', + expiration_date: 'Дата окончания', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: 'Пригласить людей в Silverhand', + subtitle: 'Для приглашения участников в организацию они должны принять приглашение.', + to: 'Кому', + added_as: 'Добавлено как роль', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'В ожидании', + accepted: 'Принято', + expired: 'Истекло', + revoked: 'Отозвано', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Пригласить членов команды', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Ваша организация пока что не пригласила никаких участников.\nДля помощи в вашем интеграции рассмотрите возможность добавления большего количества участников или администраторов.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Изменить роль арендатора', + delete: 'Удалить пользователя из арендатора', + resend_invite: 'Отправить приглашение повторно', + revoke: 'Отозвать приглашение', + delete_invitation_record: 'Удалить эту запись о приглашении', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: 'Изменить роли у {{name}}', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Вы уверены, что хотите удалить этого пользователя из данного арендатора?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Вы уверены, что хотите сделать выбранного пользовател(ей) администратором? Предоставление прав админа даст пользователю(ям) следующие разрешения.', + revoke_invitation_confirm: 'Вы уверены, что хотите отозвать это приглашение?', + delete_invitation_confirm: 'Вы уверены, что хотите удалить эту запись о приглашении?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Приглашение отправлено.', + invitation_revoked: 'Приглашение отозвано.', + invitation_resend: 'Приглашение отправлено повторно.', + invitation_deleted: 'Запись о приглашении удалена.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'Электронная почта приглашенного обязательна.', + email_exists: 'Адрес электронной почты уже существует.', + member_exists: 'Этот пользователь уже является участником этой организации.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Существует незавершенное приглашение. Удалите связанный адрес электронной почты или отзовите приглашение.', + invalid_email: + 'Адрес электронной почты недействителен. Пожалуйста, убедитесь, что он находится в правильном формате.', + max_member_limit: + 'Вы достигли максимального количества участников ({{limit}}) для этого арендатора.', }, }; 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 e26d245267e..703a06bfe6f 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/webhooks.ts @@ -5,20 +5,13 @@ const webhooks = { 'Создайте вебхуки, чтобы легко получать обновления в реальном времени относительно определенных событий.', create: 'Создать вебхук', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Взаимодействие пользователя', + user: 'Пользователь', + organization: 'Организация', + role: 'Роль', + scope: 'Разрешение', + organization_role: 'Роль организации', + organization_scope: 'Разрешение организации', }, table: { name: 'Имя', diff --git a/packages/phrases/src/locales/tr-tr/errors/application.ts b/packages/phrases/src/locales/tr-tr/errors/application.ts index aa55ef070d3..22dc20c491e 100644 --- a/packages/phrases/src/locales/tr-tr/errors/application.ts +++ b/packages/phrases/src/locales/tr-tr/errors/application.ts @@ -6,27 +6,17 @@ const application = { 'Sadece geleneksel web uygulamaları üçüncü taraf uygulaması olarak işaretlenebilir.', third_party_application_only: 'Bu özellik sadece üçüncü taraf uygulamalar için geçerlidir.', user_consent_scopes_not_found: 'Geçersiz kullanıcı onay kapsamları.', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', - protected_app_metadata_is_required: 'Protected app metadata is required.', - /** UNTRANSLATED */ + consent_management_api_scopes_not_allowed: 'Yönetim API kapsamları izin verilmiyor.', + protected_app_metadata_is_required: 'Korunan uygulama meta verileri gereklidir.', protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + 'Korunan uygulama sağlayıcısı yapılandırılmamıştır. Bu özellik açık kaynak sürümü için mevcut değil.', + cloudflare_unknown_error: 'Cloudflare API isteği sırasında bilinmeyen hata alındı', + protected_application_only: 'Özellik sadece korunan uygulamalar için geçerlidir.', + protected_application_misconfigured: 'Korunan uygulama yanlış yapılandırılmış.', + protected_application_subdomain_exists: 'Korunan uygulama alt alan adı zaten kullanımda.', + invalid_subdomain: 'Geçersiz alt alan adı.', + custom_domain_not_found: 'Özel domain bulunamadı.', + should_delete_custom_domains_first: 'Özel domainleri önce silmelisiniz.', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/tr-tr/errors/domain.ts b/packages/phrases/src/locales/tr-tr/errors/domain.ts index c3c67f93352..1f8b4831a4d 100644 --- a/packages/phrases/src/locales/tr-tr/errors/domain.ts +++ b/packages/phrases/src/locales/tr-tr/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: 'Sadece bir özel alan adınız olabilir.', hostname_already_exists: 'Bu alan adı sunucumuzda zaten mevcut.', cloudflare_not_found: "Cloudflare'da alan adı bulunamadı.", - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: 'Bu alan adı izin verilen değildir.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/tr-tr/errors/resource.ts b/packages/phrases/src/locales/tr-tr/errors/resource.ts index fbfa33bbd31..ec12a00272a 100644 --- a/packages/phrases/src/locales/tr-tr/errors/resource.ts +++ b/packages/phrases/src/locales/tr-tr/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API tanımlayıcısı {{indicator}} zaten kullanımda', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: "Logto yönetim API'sini silemezsiniz.", + cannot_modify_management_api: "Logto yönetim API'sini değiştiremezsiniz.", }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/tr-tr/errors/role.ts b/packages/phrases/src/locales/tr-tr/errors/role.ts index c7f7c1fb998..dba2e66d144 100644 --- a/packages/phrases/src/locales/tr-tr/errors/role.ts +++ b/packages/phrases/src/locales/tr-tr/errors/role.ts @@ -1,9 +1,8 @@ const role = { name_in_use: 'Bu rol adı {{name}} zaten kullanımda', scope_exists: 'Bu kapsam kimliği {{scopeId}} zaten bu role eklendi', - /** UNTRANSLATED */ management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + 'Kullanıcı rolüne yönetim API kapsamları atanamaz.', user_exists: 'Bu kullanıcı kimliği {{userId}} zaten bu role eklendi', application_exists: 'Bu uygulama kimliği {{applicationId}} zaten bu role eklendi', default_role_missing: diff --git a/packages/phrases/src/locales/tr-tr/errors/user.ts b/packages/phrases/src/locales/tr-tr/errors/user.ts index 11ba8ded99d..6d23e0e9e40 100644 --- a/packages/phrases/src/locales/tr-tr/errors/user.ts +++ b/packages/phrases/src/locales/tr-tr/errors/user.ts @@ -29,13 +29,11 @@ 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.', - missing_mfa: 'You need to bind additional MFA before signing-in.', - totp_already_in_use: 'TOTP is already in use.', - backup_code_already_in_use: 'Backup code is already in use.', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + missing_mfa: 'Oturum açmadan önce ekstra MFA bağlamanız gerekiyor.', + totp_already_in_use: 'TOTP zaten kullanımda.', + backup_code_already_in_use: 'Yedek kod zaten kullanımda.', + password_algorithm_required: 'Şifre algoritması gereklidir.', + password_and_digest: 'Düz metin şifresini ve şifre özetini aynı anda belirleyemezsiniz.', }; export default Object.freeze(user); 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 698bd479b54..6f50b7a1ae1 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: 'İzin Oluştur', create_subtitle: 'Bu API tarafından gerektirilen izinleri (kapsamları) tanımlayın.', confirm_create: 'İzin Oluştur', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: 'API iznini düzenle', + edit_subtitle: 'API tarafından gereken izinleri (kapsamları) tanımlayın.', name: 'İzin adı', name_placeholder: 'read:kaynak', forbidden_space_in_name: 'İzin adı boşluk içermemelidir.', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resources.ts index 241dd02bc41..6edc5dcbb12 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/api-resources.ts @@ -13,7 +13,6 @@ const api_resources = { default_api_label: 'Mandant başına sadece sıfır veya bir varsayılan API ayarlanabilir. Varsayılan bir API belirlendiğinde, auth isteğindeki kaynak parametresi çıkarılabilir. Sonraki token değişimlerinde varsayılan olarak bu API hedef alınarak JWTler oluşturulur. Daha fazla bilgi edinin', api_resource_created: '{{name}} API kaynağı başarıyla oluşturuldu', - /** UNTRANSLATED */ invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/application-details.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/application-details.ts index c9b11c66fac..54a60c90ab9 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/application-details.ts @@ -3,54 +3,42 @@ const application_details = { back_to_applications: 'Uygulamalara geri dön', check_guide: 'Kılavuza Göz At', settings: 'Ayarlar', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + 'Bir "Uygulama", kullanıcı bilgilerine erişebilen veya bir kullanıcı adına hareket edebilen kayıtlı bir yazılım veya hizmettir. Uygulamalar, Kimin Logto\'dan ne istediğini tanımaya yardımcı olur ve giriş yapma ve izinleri işlemek için yardımcı olur. Kimlik doğrulaması için gerekli alanları doldurun.', + integration: 'Entegrasyon', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ + "Cloudflare'ın kenar ağı tarafından desteklenen ve dünya çapında en üst düzey performans ve 0ms soğuk başlangıçlarla Logto güvenli çalışanlarla dağıtım yapın.", + service_configuration: 'Hizmet yapılandırması', + service_configuration_description: 'Servisinizde gerekli yapılandırmaları tamamlayın.', + session: 'Oturum', + endpoints_and_credentials: 'Bitiş Noktaları ve Kimlik Bilgileri', endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + 'Uygulamanızda OIDC bağlantısını kurmak için aşağıdaki bitiş noktalarını ve kimlik bilgilerini kullanın.', + refresh_token_settings: 'Yenileme belirteci', + refresh_token_settings_description: 'Bu uygulama için yenileme belirteci kurallarını yönetin.', application_roles: 'Roller', machine_logs: 'Makine günlükleri', application_name: 'Uygulama Adı', application_name_placeholder: 'Uygulamam', description: 'Açıklama', description_placeholder: 'Uygulama açıklamasını giriniz', - config_endpoint: 'OpenID Provider yapılandırma bitiş noktası', + config_endpoint: 'OpenID Sağlayıcı yapılandırma bitiş noktası', authorization_endpoint: 'Yetkilendirme bitiş noktası', authorization_endpoint_tip: - 'Kimlik doğrulama ve yetkilendirme gerçekleştirmek için bitiş noktası. OpenID Connect Authentication için kullanılır.', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + 'Kimlik doğrulama ve yetkilendirme için bir bitiş noktası. OpenID Connect Authentication için kullanılır.', + show_endpoint_details: 'Bitiş noktası ayrıntılarını göster', + hide_endpoint_details: 'Bitiş noktası ayrıntılarını gizle', logto_endpoint: 'Logto bitiş noktası', application_id: 'Uygulama IDsi', application_id_tip: - 'Logto tarafından normalde oluşturulan benzersiz uygulama tanımlayıcısıdır. Ayrıca OpenID Connect "client_id" anlamına gelir.', + 'Genellikle Logto tarafından oluşturulan benzersiz bir uygulama tanımlayıcısıdır. Ayrıca OpenID Connect "client_id" anlamına gelir.', application_secret: 'Uygulama Sırrı', redirect_uri: 'Yönlendirme URIı', redirect_uris: 'Yönlendirme URIları', redirect_uri_placeholder: 'https://siteniz.com/uygulama', redirect_uri_placeholder_native: 'io.logto://callback', redirect_uri_tip: - 'URI, kullanıcının oturum açma işlemi tamamlandıktan sonra yönlendirir (başarılı olsa da olmasa da). Ayrıntılı bilgi için OpenID Connect AuthRequesta bakınız.', + 'Kullanıcının oturum açma işlemi tamamlandıktan sonra (başarılı olsa da olmasa da) yönlendirilen bir URI. Daha fazla bilgi için OpenID Connect AuthRequesta bakınız.', post_sign_out_redirect_uri: 'Oturumdan Çıkış sonrası yönlendirme URIı', post_sign_out_redirect_uris: 'Oturumdan Çıkış sonrası yönlendirme URIları', post_sign_out_redirect_uri_placeholder: 'https://siteniz.com/anasayfa', @@ -60,138 +48,94 @@ const application_details = { cors_allowed_origins_placeholder: 'https://siteniz.com', cors_allowed_origins_tip: 'Varsayılan olarak, Yönlendirme URIlerinin tüm originlerine izin verilir. Genellikle bu alan için herhangi bir işlem gerekmez. Ayrıntılı bilgi için MDN doc sayfasına bakın.', - token_endpoint: 'Token bitiş noktası', - user_info_endpoint: 'Userinfo bitiş noktası', + token_endpoint: 'Belirteç bitiş noktası', + user_info_endpoint: 'Kullanıcı bilgileri bitiş noktası', enable_admin_access: 'Yönetici erişimini etkinleştir', enable_admin_access_label: - "Yönetim API erişimine izin verme veya engelleme. Etkinleştirildikten sonra, bu uygulama adına yönetim API'sini çağırmak için erişim belirteçleri kullanabilirsiniz.", - always_issue_refresh_token: 'Her zaman Refresh Token ver', + "Yönetim API erişimine izin verme veya engel. Etkinleştirildikten sonra, bu uygulama adına yönetim API'sini çağırmak için erişim belirteçleri kullanabilirsiniz.", + always_issue_refresh_token: 'Her zaman Yenileme Belirteci ver', always_issue_refresh_token_label: - "Bu yapılandırmayı etkinleştirmek, Logto'nun OpenID Connect ile uyumlu olmayan ve olası sorunlara neden olabilecek her zaman Refresh Token çıkarmasına izin verir `prompt=consent` kimlik doğrulama isteğinin sunulup sunulmadığına bakılmaksızın. Ancak, bu uygulama yalnızca zorunlu olduğunda caydırılmayan bir uygulamadır.", - refresh_token_ttl: 'Refresh Token süresi (gün cinsinden)', + "Bu yapılandırmayı etkinleştirmek, Logto'nun OpenID Connect ile uyumlu olmayan ve olası sorunlara neden olabilecek her zaman Yenileme Belirteği çıkarmasına izin verir `prompt=consent` kimlik doğrulama isteğinin sunulup sunulmadığına bakılmaksızın. Ancak, bu uygulama sadece gerekli olduğunda caydırılmayan bir uygulamadır.", + refresh_token_ttl: 'Yenileme Belirteci süresi (gün cinsinden)', refresh_token_ttl_tip: - 'Yeni erişim belirteği istekleri için Refresh Belirteği kullanılabilecek süre. Belirteğin süresi dolmadan önce yapılan talepler belirteğin ömrünü uzatacaktır.', - rotate_refresh_token: 'Refresh Tokenı değiştir', + 'Yeni erişim belirteği talepleri için Yenileme Belirteği kullanılabilecek süre. Belirteğin süresi dolmadan önce yapılan talepler belirteğin ömrünü uzatacaktır.', + rotate_refresh_token: 'Yenileme Belirteci değiştir', rotate_refresh_token_label: - "Bu seçenek etkinleştirildiğinde, Logto Token Bitiş Süresinin %70'i geçildiğinde veya belli koşullar sağlandığında yeni bir Refresh Token verecektir. Daha fazlası için tıklayın", + "Bu seçenek etkinleştirildiğinde, Logto Yenileme Belirteği Bitiş Süresinin %70'i geçildiğinde veya belirli koşullar sağlandığında yeni bir Yenileme Belirteği verecektir. Daha fazlası için tıklayın", delete_description: 'Bu eylem geri alınamaz. Uygulama kalıcı olarak silinecektir. Lütfen onaylamak için uygulama adı {{name}} girin.', enter_your_application_name: 'Uygulama adı giriniz', application_deleted: '{{name}} Uygulaması başarıyla silindi', redirect_uri_required: 'En az 1 yönlendirme URIı girmelisiniz', - /** UNTRANSLATED */ app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ + '{{domain}} destekli Logto ile alanınızı özgürce kullanın, bu sürekli geçerlidir.', app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ - custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ + 'Kalıcı olarak geçerli olan {{domain}} alanınızı özgürce kullanabilirsiniz.', + custom_rules: 'Özel kimlik doğrulama kuralları', + custom_rules_placeholder: '^/(admin|privacy)/.+', custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + 'Kimlik doğrulaması gerektiren rotalar için düzenli ifadelerle kurallar belirleyin. Varsayılan: boş bırakılırsa tüm site koruması.', + authentication_routes: 'Kimlik doğrulama rotaları', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "İki durum senaryosu burada:
  1. Sadece '/admin' ve '/privacy' rotalarını kimlik doğrulama ile korumak için: ^/(admin|privacy)/.*
  2. JPG resimlerini kimlik doğrulamadan hariç tutmak için: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + 'Belirtilen rotaları kullanarak kimlik doğrulama düğmesinizi yönlendirin. Not: Bu rotalar değiştirilemez.', + protect_origin_server: 'Orjın sunucunu koru', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + 'Orjın sunucunuzu doğrudan erişimden korumaya emin olun. Daha fazla açıklamalı talimatlar için kılavuza bakın.', + session_duration: 'Oturum süresi (gün cinsinden)', + try_it: 'Deneyin', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: 'Markalama', + description: 'Uygulamanızın adını ve logosunu açıklama ekranında özelleştirin.', + more_info: 'Daha fazla bilgi', + more_info_description: + 'Uygulamanız hakkında kullanıcılara açıklama ekranında daha fazla bilgi sunun.', + display_name: 'Adı göster', + display_logo: 'Logoyu göster', + display_logo_dark: 'Logoyu göster (koyu)', + terms_of_use_url: 'Kullanım Koşulları URLsi', + privacy_policy_url: 'Gizlilik Politikası URLsi', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ + name: 'İzinler', description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + 'Üçüncü taraf uygulamanın belirli veri türlerine erişim için kullanıcı yetkilendirmesi için gereken izinleri seçin.', + user_permissions: 'Kişisel kullanıcı verileri', + organization_permissions: 'Organizasyon erişimi', + table_name: 'İzin ver', + field_name: 'İzin', + field_description: 'Açıklama ekranında gösterilir', + delete_text: 'İzni kaldır', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + 'Bu işlem, üçüncü taraf uygulamaya verilen izinleri geri çekecek ve belirli veri tipleri için kullanıcı yetkilendirmesi istemesini engelleyecektir. Devam etmek istediğinizden emin misiniz?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + 'Üçüncü taraf uygulamanın belirli veri türlerine erişim için kullanıcı yetkilendirme istediği izinleri seçin.', + user_profile: 'Kullanıcı verileri', + api_permissions: 'API izinleri', + organization: 'Organizasyon izinleri', + user_permissions_assignment_form_title: 'Kullanıcı profili izinlerini ekleyin', + organization_permissions_assignment_form_title: 'Organizasyon izinlerini ekleyin', + api_resource_permissions_assignment_form_title: 'API kaynağı izinlerini ekleyin', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + 'Kişisel kullanıcı veri izinlerinin açıklamasını "Oturum Açma Deneyimi > İçerik > Dil Yönetimi" aracılığıyla değiştirebilirsiniz.', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ + 'Logto, üçüncü taraf uygulamalar için kimlik sağlayıcı (IdP) olarak kullanıldığında ve kullanıcılardan yetkilendirme istendiğinde, bu açıklama açıklama ekranında görünür.', + user_title: 'Kullanıcı', user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ + 'Üçüncü taraf uygulamanın belirli kullanıcı verilerine erişmek için istediği izinleri seçin.', + grant_user_level_permissions: 'Kullanıcı veri izinlerini ver', + organization_title: 'Organizasyon', organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + 'Üçüncü taraf uygulamanın belirli organizasyon verilerine erişmek için istediği izinleri seçin.', + grant_organization_level_permissions: 'Organizasyon veri izinlerini ver', }, roles: { name_column: 'Rol', description_column: 'Açıklama', assign_button: 'Rolleri Ata', delete_description: - 'Bu işlem bu role bu makine-makine uygulamasından kaldıracaktır. Rol kendisi hala var olacak, ancak artık makine-makine uygulamasıyla ilişkilendirilmeyecektir.', + 'Bu işlem bu rolü bu makine günlüğünden kaldıracaktır. Rol kendisi hala var olacak, ancak artık makine-makine uygulamasıyla ilişkilendirilmeyecektir.', deleted: '{{name}}, bu kullanıcıdan başarıyla kaldırıldı.', assign_title: "{{name}}'a rolleri atayın", assign_subtitle: '{{name}} için bir veya daha fazla rol yetkilendirin', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/applications.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/applications.ts index 2828efe4fe1..09f62ed7933 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/applications.ts @@ -5,31 +5,28 @@ const applications = { 'Kimlik doğrulaması için Logtoyu kullanmak üzere mobil, tek sayfa, machine to machine veya geleneksel bir uygulama ayarlayınız', subtitle_with_app_type: 'Logto Doğrulamasını {{name}} uygulamanız için yapılandırın', create: 'Uygulama oluştur', - /** UNTRANSLATED */ create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + "Logto'yu kimlik sağlayıcısı (IdP) olarak kullanarak üçüncü taraf uygulamalarla kolayca entegre olun", application_name: 'Uygulama adı', application_name_placeholder: 'Uygulamam', application_description: 'Uygulama açıklaması', application_description_placeholder: 'Uygulama açıklaması giriniz', select_application_type: 'Uygulama tipi seçiniz', no_application_type_selected: 'Henüz bir uygulama tipi seçmediniz', - application_created: 'Uygulaması başarıyla oluşturuldu.', + application_created: 'Uygulama başarıyla oluşturuldu.', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: 'Benim uygulamalarım', + third_party_applications: 'Üçüncü taraf uygulamaları', }, - app_id: 'App ID', + app_id: "Uygulama ID'si", type: { native: { - title: 'Native Uygulama', + title: 'Yerel Uygulama', subtitle: 'Nativede çalışan bir uygulama ', description: 'Örneğin, iOS uygulaması, Android uygulaması', }, spa: { - title: 'Tek sayfalı uygulama', + title: 'Tek Sayfalı Uygulama', subtitle: 'Bir web tarayıcısında çalışan ve verileri yerinde dinamik olarak güncelleyen bir uygulama', description: 'Örneğin, React DOM uygulaması, Vue uygulaması', @@ -40,25 +37,19 @@ const applications = { description: 'Örneğin, JSP, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', + title: 'Makine-Makine', subtitle: 'Kaynaklarla doğrudan iletişim kuran bir uygulama (genellikle bir servis)', description: 'Örneğin, Backend servisi', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: 'Korunan Uygulama', + subtitle: 'Logto tarafından korunan bir uygulama', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: 'Üçüncü Taraf Uygulama', + subtitle: 'Üçüncü taraf bir IdP bağlayıcısı olarak kullanılan bir uygulama', + description: 'Ör., OIDC, SAML', }, }, placeholder_title: 'Devam etmek için bir uygulama tipi seçin', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/connectors.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/connectors.ts index d7975f04709..2b82c4c7829 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/connectors.ts @@ -1,18 +1,18 @@ const connectors = { - page_title: 'Connectorlar', - title: 'Connectorlar', + page_title: 'Bağlayıcılar', + title: 'Bağlayıcılar', subtitle: - 'Şifresiz ve sosyal oturum açma deneyimini etkinleştirmek için connectorları ayarlayınız.', - create: 'Sosyal Connector ekle', - config_sie_notice: 'Connectorları ayarladınız. {{link}} içinde yapılandırmayı yapın.', + 'Şifresiz ve sosyal oturum açma deneyimini etkinleştirmek için bağlayıcıları yapılandırın.', + create: 'Sosyal Bağlayıcı ekle', + config_sie_notice: 'Bağlayıcıları yapılandırdınız. {{link}} içinde yapılandırmayı yapın.', config_sie_link_text: 'oturum açma deneyimi', - tab_email_sms: 'E-posta ve SMS connectorları', - tab_social: 'Sosyal connectorlar', - connector_name: 'Connector adı', + tab_email_sms: 'E-posta ve SMS bağlayıcıları', + tab_social: 'Sosyal bağlayıcılar', + connector_name: 'Bağlayıcı adı', demo_tip: - 'Bu demo connector için izin verilen maksimum mesaj sayısı 100 ile sınırlıdır ve üretim ortamında dağıtılması önerilmez.', + 'Bu demo bağlayıcı için izin verilen maksimum mesaj sayısı 100 ile sınırlıdır ve üretim ortamında dağıtılması önerilmez.', social_demo_tip: - 'Demo connector sadece gösterim amaçlı tasarlanmıştır ve üretim ortamında uygulanması önerilmez.', + 'Demo bağlayıcı sadece gösterim amaçlı tasarlanmıştır ve üretim ortamında uygulanması önerilmez.', connector_type: 'Tip', connector_status: 'Oturum açma deneyimi', connector_status_in_use: 'Kullanımda', @@ -22,62 +22,61 @@ const connectors = { 'Kullanımda değil, oturum açma deneyiminiz bu oturum açma yöntemini kullanmamış demektir. {{link}} bağlantısını kullanarak bu oturum açma yöntemini ekleyin.', go_to_sie: 'Oturum açma deneyimine git', }, - placeholder_title: 'Sosyal connector', + placeholder_title: 'Sosyal bağlayıcı', placeholder_description: - 'Logto, çok sayıda kullanılan sosyal oturum açma connectorı sağlamıştır. Bu arada, standart protokollerle kendi connectorınızı oluşturabilirsiniz.', + 'Logto, çok sayıda kullanılan sosyal oturum açma bağlayıcısı sağlamıştır. Bu arada, standart protokollerle kendi bağlayıcınızı oluşturabilirsiniz.', save_and_done: 'Kaydet ve bitir', type: { - email: 'Eposta connectorı', - sms: 'SMS connectorı', - social: 'Sosyal connector', + email: 'E-posta bağlayıcısı', + sms: 'SMS bağlayıcısı', + social: 'Sosyal bağlayıcı', }, setup_title: { - email: 'E-posta connectorı ayarla', - sms: 'SMS connectorı ayarla', - social: 'Sosyal Connector ekle', + email: 'E-posta bağlayıcısı ayarla', + sms: 'SMS bağlayıcısı ayarla', + social: 'Sosyal Bağlayıcı ekle', }, guide: { - subtitle: 'Connectorı yapılandırmak için adım adım kılavuz', + subtitle: 'Bağlayıcıyı yapılandırmak için adım adım kılavuz', general_setting: 'Genel ayarlar', parameter_configuration: 'Parametre konfigürasyonu', test_connection: 'Bağlantıyı test et', name: 'Sosyal oturum açma düğmesi için ad', name_placeholder: 'Sosyal oturum açma düğmesi için ad girin', name_tip: - 'Connector düğmesinin adı "{{name}} ile devam et" olarak görüntülenecektir. İsimlendirmenin uzunluğuna dikkat edin, çok uzun olursa bir sorun oluşabilir.', + 'Bağlayıcı düğmesinin adı "{{name}} ile devam et" olarak görüntülenecektir. İsimlendirmenin uzunluğuna dikkat edin, çok uzun olursa bir sorun oluşabilir.', logo: 'Sosyal oturum açma düğmesi için logo URL', logo_placeholder: 'https://your.cdn.domain/logo.png', logo_tip: 'Logo resmi bağlantısı düğmede görüntülenecektir. Herkese açık bir bağlantı alın ve bağlantıyı buraya yapıştırın.', logo_dark: 'Sosyal oturum açma düğmesi için logo URL (Karanlık mod)', logo_dark_placeholder: 'https://your.cdn.domain/logo.png', - logo_dark_tip: 'Karanlık modu etkinleştirdikten sonra connector logonuzu ayarlayın.', + logo_dark_tip: 'Karanlık modu etkinleştikten sonra bağlayıcı logonuzu ayarlayın.', logo_dark_collapse: 'Daralt', logo_dark_show: 'Karanlık mod logu ayarını göster', target: 'Kimlik sağlayıcısı adı', - target_placeholder: 'Connector kimlik sağlayıcısı adını girin', + target_placeholder: 'Bağlayıcı kimlik sağlayıcısı adını girin', target_tip: '“IdP adı” değeri, sosyal kimliklerinizi ayırt etmek için benzersiz bir tanımlayıcı dize olabilir.', target_tip_standard: - '“IdP adı” değeri, sosyal kimliklerinizi ayırt etmek için benzersiz bir tanımlayıcı dize olabilir. Bu ayar, connector oluşturulduktan sonra değiştirilemez.', + '“IdP adı” değeri, sosyal kimliklerinizi ayırt etmek için benzersiz bir tanımlayıcı dize olabilir. Bu ayar, bağlayıcı oluşturulduktan sonra değiştirilemez.', target_tooltip: - 'Logto sosyal connectorlarındaki "Hedef", sosyal kimliklerinizin "kaynağı" na işaret eder. Logto tasarımında, aynı bir platformun "hedef" i kabul edilmez ve çakışmaları önlemek için benzersiz olmalıdır. Bir connector eklemeniz gerektiğinde çok dikkatli olmalısınız çünkü oluşturulduktan sonra "hedef" değerini DEĞİŞTİREMEZSİNİZ. Daha fazla bilgi edinin', + 'Logto sosyal bağlayıcılarındaki "Hedef", sosyal kimliklerinizin "kaynağı" na işaret eder. Logto tasarımında, aynı bir platformun "hedef" i kabul edilmez ve çakışmaları önlemek için benzersiz olmalıdır. Bir bağlayıcı eklemeniz gerektiğinde çok dikkatli olmalısınız çünkü oluşturulduktan sonra "hedef" değerini DEĞİŞTİREMEZSİNİZ. Daha fazla bilgi edinin', target_conflict: - 'Kullanılan IdP adı, adı ile eşleşmektedir. Aynı idp adını kullanmak, kullanıcıların iki farklı connector aracılığıyla aynı hesaba erişebileceği şekilde beklenmeyen oturum açma davranışına neden olabilir.', + 'Kullanılan IdP adı, adı ile eşleşmektedir. Aynı idp adını kullanmak, kullanıcıların iki farklı bağlayıcı aracılığıyla aynı hesaba erişebileceği şekilde beklenmeyen oturum açma davranışına neden olabilir.', target_conflict_line2: - 'Eski kullanıcıların yeniden kayıt olma olmadan oturum açmasına izin vermek için önceki adı connectorını silerek aynı "IdP adı" ile yeni bir connector oluşturmak isterseniz yapın.', + 'Eski kullanıcıların yeniden kayıt olma olmadan oturum açmasına izin vermek için önceki adı bağlayıcıyı silerek aynı "IdP adı" ile yeni bir bağlayıcı oluşturmak isterseniz yapın.', target_conflict_line3: 'Farklı bir kimlik sağlayıcıya bağlanmak isterseniz, "IdP adı" nı değiştirin ve devam edin.', config: "Konfigürasyon JSON'ınızı girin", sync_profile: 'Profil bilgisini senkronize et', sync_profile_only_at_sign_up: 'Sadece kayıtta senkronize et', - sync_profile_each_sign_in: 'Her oturum açma da her zaman senkronize et', + sync_profile_each_sign_in: 'Her oturum açmada her zaman senkronize et', sync_profile_tip: 'Sosyal sağlayıcıdan temel profil (kullanıcıların adları ve avatarları gibi) senkronize edilsin.', callback_uri: 'Geri dönüş URI', callback_uri_description: "Ayrıca yönlendirme URI'si olarak adlandırılır, kullanıcıların sosyal yetkilendirmeden sonra Logto'ya geri gönderilecekleri URI'dir, ve sosyal sağlayıcının yapılandırma sayfasına kopyalayın yapıştırın.", - /** UNTRANSLATED */ acs_url: 'Assertion consumer service URL', }, platform: { @@ -86,10 +85,10 @@ const connectors = { native: 'Native', }, add_multi_platform: ' birden fazla platformu destekler, devam etmek için bir platform seçin', - drawer_title: 'Connector Kılavuzu', - drawer_subtitle: 'Connectorı entegre etmek için yönergeleri izleyin', - unknown: 'Bilinmeyen connector', - standard_connectors: 'Standart connectorlar', + drawer_title: 'Bağlayıcı Kılavuzu', + drawer_subtitle: 'Bağlayıcıyı entegre etmek için yönergeleri izleyin', + unknown: 'Bilinmeyen bağlayıcı', + standard_connectors: 'Standart bağlayıcılar', }; export default Object.freeze(connectors); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/domain.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/domain.ts index 26dc17f4839..454760a6bba 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/domain.ts @@ -15,9 +15,8 @@ const domain = { custom_domain_field: 'Özel alan adı', custom_domain_placeholder: 'alan_adınız.com', add_domain: 'Alan Adı Ekle', - /** UNTRANSLATED */ invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + 'Lütfen geçerli bir alan adı URL\'si sağlayın, en az üç parçaya sahip olmalıdır, örneğin "alanınız.com."', verify_domain: 'Alan adınızı doğrulayın', enable_ssl: 'SSL etkinleştirilsin mi', checking_dns_tip: @@ -52,9 +51,8 @@ const domain = { 'Bu uç noktaların alan adını özelleştirebilirsiniz. "{{custom}}" veya "{{default}}" seçeneklerinden birini seçin.', custom_social_callback_url_note: 'Bu URI\'nin alan adını uygulamanızın uç noktasıyla eşleştirmek için özelleştirebilirsiniz. "{{custom}}" veya "{{default}}" seçeneklerinden birini seçin.', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + 'Bu URI\'nin alan adını kimlik sağlayıcısı Assertion Consumer Service URL\'inizle eşleştirmek üzere özelleştirebilirsiniz. "{{custom}}" veya "{{default}}" seçeneklerinden birini seçin.', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/get-started.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/get-started.ts index 68ffefebf2e..9454de04289 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/get-started.ts @@ -4,11 +4,9 @@ const get_started = { subtitle: "Logto'nun değerini hızla elde etmek için yapabileceğiniz birkaç şey", develop: { title: 'Geliştir: Uygulamanızı entegre etmek için 5 dakika ayırın', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ + title_cloud: 'Geliştir: Uygulamanızı dakikalar içinde güvenli bir şekilde entegre edin', subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + "Veya uygulamanızı hazır SDK'larımız ve rehberlerimizle entegre etmek için 5 dakika ayırın.", }, customize: { title: 'Özelleştir: Harika bir oturum açma deneyimi sunun', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/guide.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/guide.ts index c0c28267341..774e3d9430d 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: 'Tek sayfalık uygulama', Native: 'Doğal', MachineToMachine: 'Makineden makineye', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: 'SDK Entegrasyonu Olmayan', + ThirdParty: 'Üçüncü taraf uygulama', }, filter: { title: "Framework'ü filtrele", diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/invitation.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/invitation.ts index fd14201f2f4..2cf0113f990 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/invitation.ts @@ -1,22 +1,14 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: 'Kiracılarınızı Bulun', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ + 'E-posta adresiniz zaten birden fazla kiracı ile kayıtlı olabilir. Var olanlara katılabilir veya devam ederek yeni bir tane oluşturabilirsiniz.', + create_new_tenant: 'Yeni Kiracı Oluştur', + email_not_match_title: 'Şu anda\n{{email}} olarak oturum açtınız', email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + 'Daveti kabul etmek ve organizasyonun bir üyesi olmak için doğru hesapla oturum açınız.', + switch_account: 'Başka bir hesaba oturum açın', + invalid_invitation_status: 'Geçersiz davet. Lütfen yöneticiyle iletişime geçerek tekrar deneyin.', + invitation_not_found: 'Davet bulunamadı. Lütfen yöneticiyle iletişime geçin.', }; export default Object.freeze(invitation); 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 ab35a49b5fd..375d3b8a180 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 @@ -22,13 +22,10 @@ const organization_details = { '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.', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ + custom_data: 'Özel veri', custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + 'Özel veri, kuruluşla ilişkili ek verileri depolamak için kullanılabilen bir JSON nesnesidir.', + invalid_json_object: 'Geçersiz JSON nesnesi.', }; 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 92ebb01ee06..254b21d1741 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 @@ -2,18 +2,16 @@ const organizations = { organization: 'Kuruluş', page_title: 'Kuruluşlar', title: 'Kuruluşlar', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + 'Organizasyonlar genellikle SaaS veya benzeri çok kiracılı uygulamalarda kullanılır ve müşterilerinizi, takımları, kuruluşları veya tam şirketleri temsil eder. Kuruluşlar, B2B kimlik doğrulama ve yetkilendirme için temel bir unsur olarak işler.', organization_template: 'Kuruluş şablonu', organization_id: 'Kuruluş Kimliği', members: 'Üyeler', create_organization: 'Kuruluş oluştur', setup_organization: 'Kuruluşunuzu ayarlayın', organization_list_placeholder_title: 'Kuruluş', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + 'Organizasyonlar genellikle SaaS veya benzeri çok kiracılı uygulamalarda iyi bir uygulama olarak kullanılır. Bu, müşterilerin kuruluşlar oluşturmasına ve yönetmesine, üyeleri davet etmesine ve roller atanmasına olanak tanır.', organization_name_placeholder: 'Benim kuruluşum', organization_description_placeholder: 'Kuruluşun kısa açıklaması', organization_permission: 'Kuruluş izni', @@ -29,7 +27,7 @@ const organizations = { empty_placeholder: '\uD83E\uDD14 Herhangi bir {{entity}} henüz ayarlanmamış.', organization_and_member: 'Kuruluş ve üye', organization_and_member_description: - 'Kuruluş, kullanıcı gruplarıdır ve ekipleri, iş müşterilerini ve iş ortaklarını temsil edebilir. Her kullanıcı bir "Üye" olabilir. Bunlar, çok kiracılı gereksinimlerinizi ele almak için temel varlıklar olabilir.', + 'Kuruluşlar, kullanıcı gruplarıdır ve ekipleri, iş müşterilerini ve iş ortaklarını temsil edebilir. Her kullanıcı bir "Üye" olabilir. Bunlar, çok kiracılı gereksinimlerinizi ele almak için temel varlıklar olabilir.', guide: { title: 'Kılavuzlarla başlayın', subtitle: 'Kılavuzlarımızla kuruluş ayarlarınızı hızlandırın', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/protected-app.ts index 9af4f1a1c70..6c67b335a7c 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/protected-app.ts @@ -1,69 +1,44 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: 'Korunaklı Uygulama', + title: 'Korunaklı Bir Uygulama Oluştur: Kimlik doğrulamayı basitlik ve epik hızla ekleyin', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ + 'Korunaklı Uygulama güvenli bir şekilde kullanıcı oturumlarını korur ve uygulama isteklerinizi proxyler. Cloudflare Workers tarafından desteklenerek, dünya çapında üstün performanstan ve 0 ms soğuk başlatmadan faydalanın. Daha fazlasını öğrenin', + fast_create: 'Hızlı oluştur', + modal_title: 'Korunaklı Uygulama Oluştur', modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + 'Tıklamalarla güvenli ve hızlı koruma etkinleştirin. Mevcut web uygulamanıza kolayca kimlik doğrulama ekleyin.', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: "Orijin URL'iniz", url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ + url_field_description: 'Kimlik doğrulama koruması gereken uygulamanızın adresini sağlayın.', url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + "Orijin URL'sinde yapılan değişiklikler, küresel ağ konumlarında etkin olmak için 1-2 dakika sürebilir.", url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ - domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ + "Uygulamanızın adresini sağlayın, '/dizinadı' hariç. Oluşturduktan sonra, rotanızın kimlik doğrulama kurallarını özelleştirebilirsiniz.\n\nNot: Orijinal URL kendisi kimlik doğrulamayı gerektirmiyor; koruma yalnızca belirlenmiş uygulama alanı üzerinden erişimlere uygulanır.", + domain_field_label: 'Uygulama alanı', + domain_field_placeholder: 'alan-adınız', domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ + 'Bu URL, orijinal URL için bir kimlik doğrulama koruma proxyi olarak hizmet verir. Özel alan oluşturulduktan sonra uygulanabilir.', domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + 'Bu URL, orijinal URL için bir kimlik doğrulama koruma proxyi olarak hizmet verir.', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "Logto tarafından korunan uygulamalar varsayılan olarak 'alan-adınız.{{domain}}' şeklinde barındırılacaktır. Özel alan oluşturulduktan sonra uygulanabilir.", + create_application: 'Uygulama oluştur', + create_protected_app: 'Hızlı oluştur', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ + domain_required: 'Alan adınız gereklidir.', + domain_in_use: 'Bu alt alan adı zaten kullanılıyor.', invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + "Geçersiz alt alan adı formatı: sadece küçük harfler, sayılar ve kısa çizgiler '-' kullanın.", + url_required: "Orijin URL'si gereklidir.", invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ + "Geçersiz orijin URL formatı: http:// veya https:// kullanın. Not: '/dizinadı' şu anda desteklenmiyor.", localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + 'Lütfen önce yerel sunucunuzu internete açın. Yerel geliştirme hakkında daha fazla bilgi edinin.', }, }, - /** UNTRANSLATED */ success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + '🎉 Uygulama kimlik doğrulaması başarıyla etkinleştirildi! Web sitenizin yeni deneyimini keşfedin.', }; export default Object.freeze(protected_app); 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 502a4482719..ce02c955dbe 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 @@ -13,6 +13,9 @@ const role_details = { "Roller, kullanıcılara atanabilen izinlerin bir gruplamasıdır. Ayrıca, farklı API'ler için tanımlanan izinleri biriktirmek için bir yol sağladıkları için, izinleri kullanıcılara bireysel olarak atamaktan daha verimli bir şekilde eklemek, kaldırmak veya ayarlamak için bir yoldur.", field_name: 'Adı', field_description: 'Açıklama', + field_is_default: 'Varsayılan rol', + field_is_default_description: + "Bu rolü yeni kullanıcılar için varsayılan rol olarak ayarla. Birden çok varsayılan rol belirlenebilir. Bu ayrıca Yönetim API'si aracılığıyla oluşturulan kullanıcılar için varsayılan rolleri etkiler.", type_m2m_role_tag: 'Makine-makine uygulama rolü', type_user_role_tag: 'Kullanıcı rolü', permission: { @@ -44,7 +47,7 @@ const role_details = { 'Kullanıcıları bu role atayın. İsim, e-posta, telefon veya kullanıcı kimliği arayarak uygun kullanıcıları bulun.', assign_field: 'Kullanıcıları Ata', confirm_assign: 'Kullanıcıları Ata', - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: 'Seçilen kullanıcılar bu role başarıyla atandı', empty: 'Mevcut kullanıcı yok', }, applications: { @@ -60,7 +63,7 @@ const role_details = { 'Bu role uygulamaları atayın. İsim, açıklama veya uygulama kimliği arayarak uygun uygulamaları bulun.', assign_field: 'Uygulamaları Ata', confirm_assign: 'Uygulamaları Ata', - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: 'Seçilen uygulamalar bu role başarıyla atandı', empty: 'Mevcut uygulama yok', }, }; diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/tenant-members.ts index c2947d0cef9..8c33598cd9d 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/tenant-members.ts @@ -1,102 +1,61 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: 'Üyeler', + invitations: 'Davetiyeler', + invite_members: 'Üyeleri davet et', + user: 'Kullanıcı', + roles: 'Roller', + admin: 'Yönetici', + collaborator: 'İşbirlikçi', + invitation_status: 'Davet durumu', + inviter: 'Davet eden', + expiration_date: 'Son kullanma tarihi', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: "Silverhand'e Kişileri Davet Et", + subtitle: 'Bir kuruluşa üye davet etmek için daveti kabul etmeleri gerekmektedir.', + to: 'Kime', + added_as: 'Şu rollerle eklendi', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: 'Beklemede', + accepted: 'Kabul edildi', + expired: 'Süresi doldu', + revoked: 'İptal Edildi', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ + title: 'Takım üyelerini davet et', description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + 'Kurumunuz şu anda davet edilen üyesi bulunmamaktadır.\nEntegrasyonunuzda yardımcı olmak için daha fazla üye veya yönetici eklemeyi düşünün.', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: 'Kullanıcı rolünü düzenle', + delete: 'Kullanıcıyı kiracıdan kaldır', + resend_invite: 'Daveti tekrar gönder', + revoke: 'Daveti iptal et', + delete_invitation_record: 'Bu davet kaydını sil', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: "{{name}}'in rollerini değiştir", }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: 'Bu kullanıcıyı kiracıdan kaldırmak istediğinizden emin misiniz?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + 'Seçilen kullanıcı(ları) yönetici yapmak istediğinizden emin misiniz? Yönetici erişimi vermek aşağıdaki izinleri verecektir.', + revoke_invitation_confirm: 'Bu daveti iptal etmek istediğinizden emin misiniz?', + delete_invitation_confirm: 'Bu davet kaydını silmek istediğinizden emin misiniz?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: 'Davet gönderildi.', + invitation_revoked: 'Davet iptal edildi.', + invitation_resend: 'Davet tekrar gönderildi.', + invitation_deleted: 'Davet kaydı silindi.', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ + email_required: 'Davet edilen e-posta gerekli.', + email_exists: 'E-posta adresi zaten mevcut.', + member_exists: 'Bu kullanıcı zaten bu kuruluşun bir üyesidir.', pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + 'Bekleyen davet mevcut. İlgili e-postayı silin veya daveti iptal edin.', + invalid_email: 'E-posta adresi geçersiz. Lütfen doğru formatta olduğundan emin olun.', + max_member_limit: 'Bu kiracı için maksimum üye sayısına ulaştınız ({{limit}}).', }, }; 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 32e7e2843f5..a917fbe6ae2 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 @@ -5,20 +5,13 @@ const webhooks = { 'Belirli olaylarla ilgili gerçek zamanlı güncellemeler almak için webhooklar oluşturun.', create: 'Webhook Oluştur', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: 'Kullanıcı etkileşimi', + user: 'Kullanıcı', + organization: 'Kuruluş', + role: 'Rol', + scope: 'İzin', + organization_role: 'Kuruluş rolü', + organization_scope: 'Kuruluş izni', }, table: { name: 'Adı', @@ -29,13 +22,13 @@ const webhooks = { placeholder: { title: 'Webhook', description: - 'POST istekleri aracılığıyla uç nokta URL\'nize gerçek zamanlı güncellemeler almak için bir webhook oluşturun. "Hesap Oluşturma", "Oturum Açma" ve "Şifre Sıfırlama" gibi olayların etkinliklerini takip edin ve hemen harekete geçin.', + 'POST istekleri aracılığıyla uç nokta URL\'nıza gerçek zamanlı güncellemeler almak için bir webhook oluşturun. "Hesap Oluşturma", "Oturum Açma" ve "Şifre Sıfırlama" gibi olayların etkinliklerini takip edin ve hemen harekete geçin.', create_webhook: 'Webhook Oluştur', }, create_form: { title: 'Webhook Oluştur', subtitle: - 'Webhook ekleyerek, Logto’nun kullanıcı eylemlerinin ayrıntılarını POST isteğiyle uç nokta URL’nize göndermesini sağlayabilirsiniz.', + 'Webhook ekleyerek, Logto’nun kullanıcı eylemlerinin ayrıntılarını POST isteğiyle uç nokta URL’nıza göndermesini sağlayabilirsiniz.', events: 'Olaylar', events_description: 'Logto’nun POST isteğini göndermesi için tetikleyici olayları seçin.', name: 'Adı', diff --git a/packages/phrases/src/locales/zh-cn/errors/application.ts b/packages/phrases/src/locales/zh-cn/errors/application.ts index 1ea5111eb95..469426e6a85 100644 --- a/packages/phrases/src/locales/zh-cn/errors/application.ts +++ b/packages/phrases/src/locales/zh-cn/errors/application.ts @@ -5,27 +5,16 @@ const application = { invalid_third_party_application_type: '只有传统网络应用程序可以标记为第三方应用。', third_party_application_only: '该功能仅适用于第三方应用程序。', user_consent_scopes_not_found: '无效的用户同意范围。', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: '管理 API 范围不允许。', protected_app_metadata_is_required: '需要保护的应用程序元数据。', - /** UNTRANSLATED */ - protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + protected_app_not_configured: '受保护的应用程序提供程序未配置。 此功能不适用于开源版本。', + cloudflare_unknown_error: '请求 Cloudflare API 时发生未知错误', + protected_application_only: '该功能仅适用于受保护的应用程序。', + protected_application_misconfigured: '受保护的应用程序配置不正确。', + protected_application_subdomain_exists: '受保护的应用程序子域名已在使用中。', + invalid_subdomain: '无效的子域名。', + custom_domain_not_found: '未找到自定义域。', + should_delete_custom_domains_first: '应先删除自定义域。', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/zh-cn/errors/domain.ts b/packages/phrases/src/locales/zh-cn/errors/domain.ts index 40c79c6e93a..8ed84a32160 100644 --- a/packages/phrases/src/locales/zh-cn/errors/domain.ts +++ b/packages/phrases/src/locales/zh-cn/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: '仅限一个自定义域名。', hostname_already_exists: '该域名在我们的服务器中已存在。', cloudflare_not_found: '在 Cloudflare 中找不到主机名', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: '该域名不允许。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-cn/errors/resource.ts b/packages/phrases/src/locales/zh-cn/errors/resource.ts index d563c5b1f1c..ab0e5e32d1a 100644 --- a/packages/phrases/src/locales/zh-cn/errors/resource.ts +++ b/packages/phrases/src/locales/zh-cn/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API 标识符 {{indicator}} 已被使用', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: '无法删除 Logto 管理 API。', + cannot_modify_management_api: '无法修改 Logto 管理 API。', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/zh-cn/errors/role.ts b/packages/phrases/src/locales/zh-cn/errors/role.ts index efccda95934..937456f9840 100644 --- a/packages/phrases/src/locales/zh-cn/errors/role.ts +++ b/packages/phrases/src/locales/zh-cn/errors/role.ts @@ -1,9 +1,7 @@ const role = { name_in_use: '此角色名称 {{name}} 已被使用', scope_exists: '作用域 ID {{scopeId}} 已添加到此角色', - /** UNTRANSLATED */ - management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + management_api_scopes_not_assignable_to_user_role: '无法将管理 API 作用域分配给用户角色。', user_exists: '用户 ID {{userId}} 已添加到此角色', application_exists: '应用程序 ID {{applicationId}} 已添加到此角色', default_role_missing: '某些默认角色名称在数据库中不存在,请确保先创建角色', diff --git a/packages/phrases/src/locales/zh-cn/errors/user.ts b/packages/phrases/src/locales/zh-cn/errors/user.ts index 8fdbf7dd6d8..a60af896a1e 100644 --- a/packages/phrases/src/locales/zh-cn/errors/user.ts +++ b/packages/phrases/src/locales/zh-cn/errors/user.ts @@ -31,9 +31,7 @@ const user = { missing_mfa: '你需要在登录之前绑定额外的MFA。', totp_already_in_use: 'TOTP已在使用中。', backup_code_already_in_use: '备用代码已在使用中。', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ + password_algorithm_required: '密码算法是必需的。', password_and_digest: 'You cannot set both plain text password and password digest.', }; 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 d3e0ee8452c..fc3b48379be 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: '创建权限', create_subtitle: '定义此 API 所需的权限 (scope)。', confirm_create: '创建权限', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: '编辑 API 权限', + edit_subtitle: '定义 {{resourceName}} API 需要的权限(范围)。', name: '权限名称', name_placeholder: 'read:resource', forbidden_space_in_name: '权限名称不能包含空格。', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resources.ts index 0fe1b9b5cff..245592c5fce 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/api-resources.ts @@ -1,20 +1,19 @@ const api_resources = { - page_title: 'API 资源', - title: 'API 资源', - subtitle: '定义可以从已授权的应用程序中使用的 API', - create: '创建 API 资源', - api_name: 'API 名称', + page_title: 'API资源', + title: 'API资源', + subtitle: '定义可以从已授权的应用程序中使用的API', + create: '创建API资源', + api_name: 'API名称', api_name_placeholder: '输入API名称', - api_identifier: 'API Identifier', + api_identifier: 'API标识符', api_identifier_placeholder: 'https://your-api-identifier/', api_identifier_tip: - '对于 API 资源的唯一标识符。它必须是一个绝对 URI 并没有 fragment (#) 组件。等价于 OAuth 2.0 中的 resource parameter。', + '对于API资源的唯一标识符。它必须是一个绝对URI并没有fragment(#)组件。等价于OAuth 2.0中的资源参数。', default_api: '默认API', default_api_label: - '每个租户只能设置零个或一个默认 API。当指定默认 API 时,可以在认证请求中省略资源参数。后续令牌交换将默认使用该 API 作为 Audience,从而签发 JWT。了解更多', - api_resource_created: ' API 资源 {{name}} 已成功创建。', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + '每个租户只能设置零个或一个默认API。当指定默认API时,可以在认证请求中省略资源参数。后续令牌交换将默认使用该API作为Audience,从而签发JWT。了解更多', + api_resource_created: 'API资源{{name}}已成功创建。', + invalid_resource_indicator_format: 'API标识符必须是有效的绝对URI。', }; export default Object.freeze(api_resources); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/application-details.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/application-details.ts index 3af38781d38..9a8f26f5cc8 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/application-details.ts @@ -3,29 +3,18 @@ const application_details = { back_to_applications: '返回全部应用', check_guide: '查看指南', settings: '设置', - /** UNTRANSLATED */ settings_description: 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + integration: '集成', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ - endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + '使用由 Cloudflare 边缘网络提供动力的 Logto 安全工作者部署,实现世界各地的一流性能和 0ms 冷启动。', + service_configuration: '服务配置', + service_configuration_description: '在您的服务中完成必要的配置。', + session: '会话', + endpoints_and_credentials: '端点和凭据', + endpoints_and_credentials_description: '使用以下端点和凭据在应用程序中设置 OIDC 连接。', + refresh_token_settings: '刷新令牌设置', + refresh_token_settings_description: '管理此应用程序的刷新令牌规则。', application_roles: '角色', machine_logs: '机器日志', application_name: '应用名称', @@ -35,10 +24,8 @@ const application_details = { config_endpoint: 'OpenID Provider 配置端点', authorization_endpoint: '授权端点', authorization_endpoint_tip: '进行鉴权与授权的端点。用于 OpenID Connect 中的 鉴权 流程。', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', + show_endpoint_details: '显示端点详细信息', + hide_endpoint_details: '隐藏端点详细信息', logto_endpoint: 'Logto 端点', application_id: '应用 ID', application_id_tip: @@ -59,130 +46,80 @@ const application_details = { cors_allowed_origins_placeholder: 'https://your.website.com', cors_allowed_origins_tip: '所有重定向 URI 的来源将默认被允许。通常不需要对此字段进行操作。参见 MDN 文档 以了解更多。', - token_endpoint: 'Token Endpoint', + token_endpoint: 'Token 端点', user_info_endpoint: '用户信息端点', enable_admin_access: '启用管理访问', enable_admin_access_label: '启用或禁用对管理 API 的访问。启用后,你可以使用访问令牌代表该应用程序调用管理 API。', - always_issue_refresh_token: '总是颁发 Refresh Token', + always_issue_refresh_token: '总是颁发刷新令牌', always_issue_refresh_token_label: - '启用此配置将允许 Logto 始终颁发 Refresh Token,无论身份验证请求中是否呈现 `prompt=consent`。 然而,除非必要,否则不推荐这样做,因为它与 OpenID Connect 不兼容,可能会导致问题。', - refresh_token_ttl: 'Refresh Token 有效期(天)', + '启用此配置将允许 Logto 始终颁发刷新令牌,无论身份验证请求中是否呈现 `prompt=consent`。 然而,除非必要,否则不推荐这样做,因为它与 OpenID Connect 不兼容,可能会导致问题。', + refresh_token_ttl: '刷新令牌有效期(天)', refresh_token_ttl_tip: - '可用于请求新访问令牌的 Refresh Token 在过期之前的时间段。访问令牌请求将把 Refresh Token 的时效延长到此值。', - rotate_refresh_token: '轮换 Refresh Token', + '可用于请求新访问令牌的刷新令牌在过期之前的时间段。访问令牌请求将把刷新令牌的时效延长到此值。', + rotate_refresh_token: '轮换刷新令牌', rotate_refresh_token_label: - '启用后,当原先的 Refresh Token 的时效已经过去 70%,或者满足一定条件时,Logto 将会为访问令牌请求发放新的 Refresh Token。了解更多', + '启用后,当原先的刷新令牌的时效已经过去 70%,或者满足一定条件时,Logto 将会为访问令牌请求发放新的刷新令牌。了解更多', delete_description: '本操作会永久性地删除该应用,且不可撤销。输入 {{name}} 确认。', enter_your_application_name: '输入你的应用名称', application_deleted: '应用 {{name}} 成功删除。', redirect_uri_required: '至少需要输入一个重定向 URI。', - /** UNTRANSLATED */ - app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ - app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + app_domain_description_1: '随时使用由 Logto 提供支持的 {{domain}} 域名,永久有效。', + app_domain_description_2: '随时使用您的域名 {{domain}},永久有效。', + custom_rules: '自定义认证规则', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + '使用正则表达式为需要认证的路由设置规则。默认情况下:如果留空,则对整个站点进行保护。', + authentication_routes: '认证路由', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "以下是两种案例场景:
  1. 仅对'/admin'和'/privacy'路由进行认证保护:^/(admin|privacy)/.*
  2. 排除 JPG 图像的认证:^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + '通过指定的路由来重定向您的认证按钮。注意:这些路由是不可替代的。', + protect_origin_server: '保护您的源服务器', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + '确保保护源服务器免受直接访问。请参阅指南了解更多详细说明。', + session_duration: '会话持续时间(天)', + try_it: '试一下', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: '品牌化', + description: '在授权屏幕上自定义应用程序的显示名称和标识。', + more_info: '更多信息', + more_info_description: '在授权屏幕上为用户提供关于您的应用程序的更多详细信息。', + display_name: '显示名称', + display_logo: '显示标识', + display_logo_dark: '显示标识(深色)', + terms_of_use_url: '应用程序使用条款 URL', + privacy_policy_url: '应用程序隐私政策 URL', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ - description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + name: '权限', + description: '选择第三方应用程序需要的权限,以便用户授权访问特定数据类型。', + user_permissions: '个人用户数据', + organization_permissions: '组织访问', + table_name: '授予权限', + field_name: '权限', + field_description: '在授权屏幕中显示', + delete_text: '删除权限', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ + '此操作将会撤回授予第三方应用程序的权限,阻止其请求特定数据类型的用户授权。您确定要继续吗?', permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + '选择第三方应用程序请求用于用户授权访问特定数据类型的权限。', + user_profile: '用户数据', + api_permissions: 'API 权限', + organization: '组织权限', + user_permissions_assignment_form_title: '添加用户个人资料权限', + organization_permissions_assignment_form_title: '添加组织权限', + api_resource_permissions_assignment_form_title: '添加 API 资源权限', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + '您可以通过“登录体验 > 内容 > 管理语言”修改个人用户数据权限的描述。', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ - user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ - organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + '当 Logto 作为第三方应用程序中的身份提供者(IdP)用于授权时,用户被要求授权时,此描述会显示在授权屏幕上。', + user_title: '用户', + user_description: '选择第三方应用程序需要访问特定用户数据的权限。', + grant_user_level_permissions: '授予用户数据权限', + organization_title: '组织', + organization_description: '选择第三方应用程序需要访问特定组织数据的权限。', + grant_organization_level_permissions: '授予组织数据权限', }, roles: { name_column: '角色', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/applications.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/applications.ts index 745722627ef..1cd8c13028a 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/applications.ts @@ -4,9 +4,7 @@ const applications = { subtitle: '创建一个移动、单页、machine-to-machine 或传统 web 应用程序,并通过 Logto 进行身份验证', subtitle_with_app_type: '为你的 {{name}} 应用程序设置 Logto 身份验证', create: '创建应用', - /** UNTRANSLATED */ - create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + create_subtitle_third_party: '使用 Logto 作为你的身份提供者(IdP)来轻松集成第三方应用程序', application_name: '应用名称', application_name_placeholder: '我的应用', application_description: '应用描述', @@ -15,22 +13,20 @@ const applications = { no_application_type_selected: '你还没有选择应用类型', application_created: '创建应用成功。', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: '我的应用', + third_party_applications: '第三方应用', }, app_id: 'App ID', type: { native: { title: '原生应用', subtitle: '在原生环境中运行的应用程序', - description: '例如 iOS app,Android app', + description: '例如 iOS 应用程序,Android 应用程序', }, spa: { title: '单页应用', subtitle: '在浏览器中运行并动态更新数据的应用程序', - description: '例如 React DOM app,Vue app', + description: '例如 React DOM 应用程序,Vue 应用程序', }, traditional: { title: '传统网页应用', @@ -38,25 +34,19 @@ const applications = { description: '例如 Next.js, PHP', }, machine_to_machine: { - title: 'Machine-to-Machine', + title: '机器对机器', subtitle: '直接与资源对话的应用程序(通常是服务)', - description: '例如,后端服务', + description: '例如后端服务', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: '受保护的应用', + subtitle: '受 Logto 保护的应用程序', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: '第三方应用', + subtitle: '用作第三方 IdP 连接器的应用程序', + description: '例如,OIDC,SAML', }, }, placeholder_title: '选择应用程序类型以继续', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/connectors.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/connectors.ts index 9975d879f91..a59ac0797b9 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/connectors.ts @@ -68,8 +68,7 @@ const connectors = { callback_uri: 'Callback URI', callback_uri_description: '也称为重定向 URI,在社交授权后,用户将被发送回 Logto 的 URI,复制并粘贴到社交提供者的配置页面中。', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: '断言消费服务 URL', }, platform: { universal: '通用', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/domain.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/domain.ts index 03ae1801ce2..568762d6715 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/domain.ts @@ -5,24 +5,22 @@ const domain = { failed_to_connect: '连接失败', }, update_endpoint_notice: - '如果您想使用自定义域名,请不要忘记在应用程序中更新社交连接器回调 URI 和 Logto 终结点的域名。 {{link}}', - error_hint: '请确保更新您的 DNS 记录。我们将继续每 {{value}} 秒检查一次。', + '如果你想使用自定义域名,请不要忘记在应用程序中更新社交连接器回调 URI 和 Logto 终结点的域名。 {{link}}', + error_hint: '请确保更新你的 DNS 记录。我们将继续每 {{value}} 秒检查一次。', custom: { custom_domain: '自定义域名', - custom_domain_description: '通过使用自定义域名来提高品牌形象。此域名将用于您的登录体验。', + custom_domain_description: '通过使用自定义域名来提高品牌形象。此域名将用于你的登录体验。', custom_domain_field: '自定义域名', custom_domain_placeholder: 'your.domain.com', add_domain: '添加域名', - /** UNTRANSLATED */ - invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + invalid_domain_format: '请提供一个有效的域名 URL,至少有三个部分,例如 "your.domain.com."', verify_domain: '验证域名', enable_ssl: '启用 SSL', checking_dns_tip: - 'DNS 记录已配置,请等待最长 24 小时,以使变更生效。在域名是否有效期间,您可以离开此界面。', - enable_ssl_tip: '启用 SSL 将自动运行,可能需要最长 24 小时。在运行期间,您可以离开此界面。', + 'DNS 记录已配置,请等待最长 24 小时,以使变更生效。在域名是否有效期间,你可以离开此界面。', + enable_ssl_tip: '启用 SSL 将自动运行,可能需要最长 24 小时。在运行期间,你可以离开此界面。', generating_dns_records: '正在生成 DNS 记录...', - add_dns_records: '请将以下 DNS 记录添加到您的 DNS 服务提供商。', + add_dns_records: '请将以下 DNS 记录添加到你的 DNS 服务提供商。', dns_table: { type_field: '类型', name_field: '名称', @@ -31,25 +29,24 @@ const domain = { deletion: { delete_domain: '删除域名', reminder: '删除自定义域名', - description: '您确定要删除此自定义域名吗?', - in_used_description: '您确定要删除此自定义域名 "{{domain}}" 吗?', + description: '你确定要删除此自定义域名吗?', + in_used_description: '你确定要删除此自定义域名 "{{domain}}" 吗?', in_used_tip: - '如果您之前已在社交连接器提供商或应用程序终结点中设置了此自定义域名,则需要先将 URI 修改为 Logto 默认域名 "{{domain}}"。 这对于社交登录按钮的正常工作是必要的。', + '如果你之前已在社交连接器提供商或应用程序终结点中设置了此自定义域名,则需要先将 URI 修改为 Logto 默认域名 "{{domain}}"。这对于社交登录按钮的正常工作是必要的。', deleted: '自定义域名删除成功!', }, }, default: { default_domain: '默认域名', default_domain_description: - 'Logto 提供了一个预配置的默认域名,无需任何其他设置即可使用。即使您启用了自定义域名,此默认域名也可作为备用选项。', + 'Logto 提供了一个预配置的默认域名,无需任何其他设置即可使用。即使你启用了自定义域名,此默认域名也可作为备用选项。', default_domain_field: 'Logto 默认域名', }, - custom_endpoint_note: '您可以根据需要自定义这些端点的域名。选择 "{{custom}}" 或 "{{default}}"。', + custom_endpoint_note: '你可以根据需要自定义这些端点的域名。选择 "{{custom}}" 或 "{{default}}"。', custom_social_callback_url_note: - '您可以根据需要自定义此 URI 的域名,以匹配您的应用程序端点。选择 "{{custom}}" 或 "{{default}}"。', - /** UNTRANSLATED */ + '你可以根据需要自定义此 URI 的域名,以匹配你的应用程序端点。选择 "{{custom}}" 或 "{{default}}"。', custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + '您可以根据需要自定义此 URI 的域名,以匹配您的身份提供方断言使用者服务 URL。选择 "{{custom}}" 或 "{{default}}"。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/get-started.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/get-started.ts index 90032287955..311e060b442 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/get-started.ts @@ -4,11 +4,8 @@ const get_started = { subtitle: '一些你可以做的事情,以快速获取 Logto 的价值', develop: { title: '开发:花 5 分钟集成你的应用', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ - subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + title_cloud: 'Develop: 安全地在几分钟内集成您的应用', + subtitle_cloud: '或花 5 分钟用我们预构建的 SDK 和教程集成您的应用。', }, customize: { title: '自定义:提供出色的登录体验', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/guide.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/guide.ts index 7a7176af2f8..d3d26918e03 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: '单页应用', Native: '原生应用', MachineToMachine: 'Machine-to-machine', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: '非 SDK 集成', + ThirdParty: '第三方应用', }, filter: { title: '筛选框架', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/invitation.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/invitation.ts index fd14201f2f4..49c78f213af 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/invitation.ts @@ -1,22 +1,13 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: '找到你的租户', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ - email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + '您的电子邮件地址可能已经注册了多个租户。您可以选择加入现有租户或继续创建一个新租户。', + create_new_tenant: '创建一个新的租户', + email_not_match_title: '您当前以\n{{email}}\n登录', + email_not_match_description: '请使用正确的帐户登录以接受邀请并成为组织的成员。', + switch_account: '切换到另一个帐户登录', + invalid_invitation_status: '无效的邀请。请联系管理员并重试。', + invitation_not_found: '未找到邀请。请联系管理员。', }; export default Object.freeze(invitation); 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 9a8b58a7e9f..3f32eb62d12 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 @@ -21,13 +21,9 @@ const organization_details = { '一旦移除,用户将失去他们在这个机构中的成员资格和角色。此操作将无法撤销。', search_user_placeholder: '按名称、电子邮件、电话或用户ID搜索', at_least_one_user: '至少需要一个用户。', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ - custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + custom_data: '自定义数据', + custom_data_tip: '自定义数据是一个 JSON 对象,可用于存储与机构关联的附加数据。', + invalid_json_object: '无效的 JSON 对象。', }; 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 ccaeecfc4cc..537deb769f3 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 @@ -2,18 +2,16 @@ const organizations = { organization: '组织', page_title: '组织', title: '组织', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + '组织通常在SaaS或类似的多租户应用程序中使用,代表您的客户,这些客户可以是团队、组织或整个公司。组织作为B2B身份验证和授权的基础元素。', organization_template: '组织模板', organization_id: '组织 ID', members: '成员', create_organization: '创建组织', setup_organization: '设置您的组织', organization_list_placeholder_title: '组织', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + '在SaaS或类似的多租户应用程序中,通常作为最佳实践使用组织。它们使您能够开发允许客户创建和管理组织、邀请成员并分配角色的应用程序。', organization_name_placeholder: '我的组织', organization_description_placeholder: '组织的简要描述', organization_permission: '组织权限', @@ -22,7 +20,7 @@ const organizations = { organization_role: '组织角色', organization_role_other: '组织角色', organization_role_description: - '组织角色是可以分配给用户的权限组。这些权限必须来自预定义的组织权限。', + '组织角色是可分配给用户的权限组。这些权限必须来自预定义的组织权限。', role: '角色', search_placeholder: '按组织名称或ID搜索', search_role_placeholder: '输入以搜索和选择角色', @@ -41,9 +39,9 @@ const organizations = { section_2: { title: '组织模板专为多租户应用程序访问控制而设计', description: - '在多租户SaaS应用程序中,多个组织通常共享相同的访问控制模板,其中包括权限和角色。在Logto中,我们称之为“组织模板”。', + '在多租户SaaS应用程序中,多个组织通常共享相同的访问控制模板,包括权限和角色。在Logto中,我们称之为“组织模板”。', permission_description: '组织权限是指在组织上下文中访问资源的授权。', - role_description_deprecated: '组织角色是可以分配给成员的组织权限组。', + role_description_deprecated: '组织角色是可分配给成员的组织权限组。', role_description: '组织角色是可以分配给成员的组织权限或API权限的分组。', }, section_3: { diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/protected-app.ts index 9af4f1a1c70..61b247585af 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/protected-app.ts @@ -1,69 +1,36 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: '受保护的应用', + title: '创建受保护的应用:简单快速地添加身份验证', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ - modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + '受保护的应用安全地维护用户会话并代理您的应用请求。由 Cloudflare Workers 提供支持,全球范围内享受一流性能和 0 毫秒冷启动。 了解更多', + fast_create: '快速创建', + modal_title: '创建受保护的应用', + modal_subtitle: '点击即可启用安全且快速的保护。轻松为现有 Web 应用添加身份验证。', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: '您的源 URL', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ - url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + url_field_description: '提供需要身份验证保护的应用地址。', + url_field_modification_notice: '对源 URL 的修改可能需要 1-2 分钟在全球网络位置生效。', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "提供您应用的地址,不包括任何 '/pathname'。创建后,您可以自定义路由身份验证规则。\n\n请注意:源 URL 本身不需要进行验证;保护仅适用于通过指定应用域名访问。", + domain_field_label: '应用域名', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ - domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ - domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + domain_field_description: '此 URL 用作原始 URL 的身份验证保护代理。创建后可申请自定义域。', + domain_field_description_short: '此 URL 用作原始 URL 的身份验证保护代理。', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "通过 Logto 保护的应用默认将托管在'your-domain.{{domain}}'. 创建后可申请自定义域。", + create_application: '创建应用', + create_protected_app: '快速创建', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ - invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ - invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ - localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + domain_required: '需要您的域名。', + domain_in_use: '此子域名已被使用。', + invalid_domain_format: "无效的子域名格式:仅使用小写字母、数字和短横线 '-'。", + url_required: '需要源 URL。', + invalid_url: "无效的源 URL 格式:使用 http:// 或 https://。请注意:暂不支持 '/pathname'。", + localhost: '请首先将本地服务器暴露到互联网上。了解有关本地开发的更多信息。', }, }, - /** UNTRANSLATED */ - success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + success_message: '🎉 应用身份验证成功启用!尽情探索您网站的新体验。', }; export default Object.freeze(protected_app); 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 139b99645c3..6d8c2315dc5 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 @@ -13,6 +13,9 @@ const role_details = { '角色是一组权限,可以分配给用户。它们还提供了一种聚合不同 API 定义的权限的方法,使得添加、删除或调整权限比将其单独分配给用户更有效率。', field_name: '名称', field_description: '描述', + field_is_default: '默认角色', + field_is_default_description: + '将此角色设为新用户的默认角色。可以设置多个默认角色。这也会影响通过管理 API 创建的用户的默认角色。', type_m2m_role_tag: '机器对机器应用角色', type_user_role_tag: '用户角色', permission: { diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/tenant-members.ts index c2947d0cef9..b280dfbf019 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/tenant-members.ts @@ -1,102 +1,59 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: '成员', + invitations: '邀请', + invite_members: '邀请成员', + user: '用户', + roles: '角色', + admin: '管理员', + collaborator: '合作者', + invitation_status: '邀请状态', + inviter: '邀请者', + expiration_date: '到期日期', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: '邀请人员加入Silverhand', + subtitle: '要邀请成员加入组织,他们必须接受邀请。', + to: '至', + added_as: '作为角色添加', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: '待处理', + accepted: '已接受', + expired: '已过期', + revoked: '已撤销', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ - description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + title: '邀请团队成员', + description: '您的租户当前没有邀请的成员。为了协助您的集成,请考虑添加更多成员或管理员。', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: '编辑租户角色', + delete: '从租户中删除用户', + resend_invite: '重新发送邀请', + revoke: '撤销邀请', + delete_invitation_record: '删除此邀请记录', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: '更改{{name}}的角色', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: '您确定要从此租户中删除此用户吗?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '您确定要将所选用户设为管理员吗?授予管理员访问权限将为用户提供以下权限。', + revoke_invitation_confirm: '您确定要撤销此邀请吗?', + delete_invitation_confirm: '您确定要删除此邀请记录吗?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: '已发送邀请。', + invitation_revoked: '已撤销邀请。', + invitation_resend: '已重新发送邀请。', + invitation_deleted: '已删除邀请记录。', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ - pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + email_required: '邀请人员的电子邮件地址是必需的。', + email_exists: '电子邮件地址已存在。', + member_exists: '此用户已是此组织的成员。', + pending_invitation_exists: '存在待处理的邀请。删除相关电子邮件或撤销邀请。', + invalid_email: '电子邮件地址无效。请确保其格式正确。', + max_member_limit: '您已达到此租户的最大成员数({{limit}})。', }, }; 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 71d82a3b06c..0d720d0a159 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 @@ -73,7 +73,7 @@ const tenants = { '抱歉,您现在无法删除此租户。请确保您处于免费计划并已支付所有未结账单。', }, leave_tenant_modal: { - description: '您确定要离开此租户吗?', + description: '确定要离开此租户吗?', leave_button: '离开', }, tenant_landing_page: { 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 4497fc6cd19..f93e91f9b19 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 @@ -4,20 +4,13 @@ const webhooks = { subtitle: '创建 Webhooks 以轻松接收有关特定事件的实时更新。', create: '创建 Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: '用户交互', + user: '用户', + organization: '组织', + role: '角色', + scope: '权限', + organization_role: '组织角色', + organization_scope: '组织权限', }, table: { name: '名称', @@ -38,7 +31,7 @@ const webhooks = { events_description: '选择触发事件,Logto 将发送 POST 请求。', name: '名称', name_placeholder: '输入 Webhook 名称', - endpoint_url: 'Endpoint URL', + endpoint_url: '端点 URL', endpoint_url_placeholder: 'https://your.webhook.endpoint.url', endpoint_url_tip: '输入您的端点 URL,在事件发生时 Webhook 的数据将被发送到该 URL。', create_webhook: '创建 Webhook', diff --git a/packages/phrases/src/locales/zh-hk/errors/application.ts b/packages/phrases/src/locales/zh-hk/errors/application.ts index ff49439d4b9..71e215d8dc7 100644 --- a/packages/phrases/src/locales/zh-hk/errors/application.ts +++ b/packages/phrases/src/locales/zh-hk/errors/application.ts @@ -5,27 +5,16 @@ const application = { invalid_third_party_application_type: '只有傳統網頁應用程式才能被標記為第三方應用程式。', third_party_application_only: '此功能只適用於第三方應用程式。', user_consent_scopes_not_found: '無效的使用者同意範圍。', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: '管理 API 範圍不被允許。', protected_app_metadata_is_required: '保護應用程式元數據是必需的。', - /** UNTRANSLATED */ - protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + protected_app_not_configured: '未配置保護應用程式提供商。此功能對開源版本不可用。', + cloudflare_unknown_error: '請求 Cloudflare API 時發生未知錯誤', + protected_application_only: '此功能僅適用於保護應用程式。', + protected_application_misconfigured: '保護應用程式配置錯誤。', + protected_application_subdomain_exists: '保護應用程式子域名已在使用中。', + invalid_subdomain: '無效的子域名。', + custom_domain_not_found: '自訂域名未找到。', + should_delete_custom_domains_first: '應該先刪除自訂域名。', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/zh-hk/errors/domain.ts b/packages/phrases/src/locales/zh-hk/errors/domain.ts index 94c1c257a5c..da3255b67f5 100644 --- a/packages/phrases/src/locales/zh-hk/errors/domain.ts +++ b/packages/phrases/src/locales/zh-hk/errors/domain.ts @@ -3,11 +3,10 @@ const domain = { cloudflare_data_missing: 'cloudflare_data 缺失,請檢查。', cloudflare_unknown_error: '獲取 Cloudflare API 時發生未知錯誤', cloudflare_response_error: '從 Cloudflare 獲取到意外的響應', - limit_to_one_domain: '您只能擁有一個自定義域名。', + limit_to_one_domain: '你只能擁有一個自訂域名。', hostname_already_exists: '此域名已存在於我們的伺服器中。', cloudflare_not_found: '無法在 Cloudflare 中找到主機名', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: '這個域名不被允許。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-hk/errors/resource.ts b/packages/phrases/src/locales/zh-hk/errors/resource.ts index c03c3fcacc9..7e1d43e3ae7 100644 --- a/packages/phrases/src/locales/zh-hk/errors/resource.ts +++ b/packages/phrases/src/locales/zh-hk/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API 識別碼 {{indicator}} 已經被使用', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: '無法刪除 Logto 管理 API。', + cannot_modify_management_api: '無法修改 Logto 管理 API。', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/zh-hk/errors/role.ts b/packages/phrases/src/locales/zh-hk/errors/role.ts index cdc50d32474..2191992c2d6 100644 --- a/packages/phrases/src/locales/zh-hk/errors/role.ts +++ b/packages/phrases/src/locales/zh-hk/errors/role.ts @@ -1,9 +1,7 @@ const role = { name_in_use: '此角色名稱 {{name}} 已被使用', scope_exists: '作用域 ID {{scopeId}} 已添加到此角色', - /** UNTRANSLATED */ - management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + management_api_scopes_not_assignable_to_user_role: '無法將管理 API 作用域分配給用戶角色。', user_exists: '用戶 ID {{userId}} 已添加到此角色', application_exists: '應用程式 ID {{applicationId}} 已添加到此角色', default_role_missing: '某些默認角色名稱在數據庫中不存在,請確保先創建角色', diff --git a/packages/phrases/src/locales/zh-hk/errors/user.ts b/packages/phrases/src/locales/zh-hk/errors/user.ts index 98b7938e4da..fffc670805e 100644 --- a/packages/phrases/src/locales/zh-hk/errors/user.ts +++ b/packages/phrases/src/locales/zh-hk/errors/user.ts @@ -31,10 +31,8 @@ const user = { missing_mfa: '你需要在登錄前綁定額外的 MFA。', totp_already_in_use: 'TOTP 已經在使用中。', backup_code_already_in_use: '備份代碼已經在使用中。', - /** UNTRANSLATED */ - password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ - password_and_digest: 'You cannot set both plain text password and password digest.', + password_algorithm_required: '密碼算法為必填項。', + password_and_digest: '你不能同時設置明文密碼和密碼摘要。', }; 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 34667981382..ef95755b3b7 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: '創建權限', create_subtitle: '定義此 API 所需的權限 (scope)。', confirm_create: '創建權限', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: '編輯 API 權限', + edit_subtitle: '定義 {{resourceName}} API 需要的權限 (範圍)。', name: '權限名稱', name_placeholder: 'read:resource', forbidden_space_in_name: '權限名稱不能包含空格。', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resources.ts index 8d5c757edca..acd9317b7d3 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/api-resources.ts @@ -11,10 +11,9 @@ const api_resources = { '對於 API 資源的唯一標識符。它必須是一個絕對 URI 並沒有 fragment (#) 組件。等價於 OAuth 2.0 中的 resource parameter。', default_api: '預設的 API', default_api_label: - '一个租户只能设置零或一个默认 API。当指定默认 API 时,可以在身份验证请求中省略资源参数,还可以使用该 API 作为默认受众方进行令牌交换,从而发放 JWT。了解更多', + '一个租户只能设置零或一个默认 API。當指定預設的 API 時,可以在身份驗證請求中省略資源參數,還可以使用該 API 作為預設受眾方進行令牌交換,從而發放 JWT。了解更多', api_resource_created: ' API 資源 {{name}} 已成功創建。', - /** UNTRANSLATED */ - invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', + invalid_resource_indicator_format: 'API 描述符必須是有效的絕對 URI。', }; export default Object.freeze(api_resources); 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 6e5505d6f2e..3177ee852b2 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 @@ -3,29 +3,18 @@ const application_details = { back_to_applications: '返回全部應用程式', check_guide: '查看指南', settings: '設定', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + '一個「應用程式」是一個註冊的軟體或服務,可以存取使用者資訊或代表使用者操作。應用程式有助於識別 Logto 的使用者要求的內容,並處理登入和權限。填寫所需的身份驗證欄位。', + integration: '整合', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ - endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + '使用 Logto 安全工作者,由 Cloudflare 的邊緣網路提供支持,實現頂級性能和全球 0 毫秒冷啟動。', + service_configuration: '服務配置', + service_configuration_description: '在您的服務中完成必要的配置。', + session: '會話', + endpoints_and_credentials: '端點與憑證', + endpoints_and_credentials_description: '使用以下端點和憑證在您的應用程式中設置 OIDC 連接。', + refresh_token_settings: '刷新令牌', + refresh_token_settings_description: '管理此應用程式的刷新令牌規則。', application_roles: '角色', machine_logs: '機器日誌', application_name: '應用程式名稱', @@ -34,15 +23,13 @@ const application_details = { description_placeholder: '請輸入應用程式描述', config_endpoint: 'OpenID Provider 配置端點', authorization_endpoint: '授權端點', - authorization_endpoint_tip: '進行驗證和授權的端點。用於 OpenID Connect 中的驗證 流程。', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Logto endpoint', + authorization_endpoint_tip: '進行驗證和授權的端點。用於 OpenID Connect 中的 驗證 流程。', + show_endpoint_details: '顯示端點詳情', + hide_endpoint_details: '隱藏端點詳情', + logto_endpoint: 'Logto 端點', application_id: '應用程式 ID', application_id_tip: - '應用程式的唯一標識,通常由 Logto 生成。等價於 OpenID Connect 中的client_id。', + '應用程式的唯一標識,通常由 Logto 生成。等同於 OpenID Connect 中的 client_id。', application_secret: '應用程式密鑰', redirect_uri: '重定向 URI', redirect_uris: '重定向 URI', @@ -59,130 +46,79 @@ const application_details = { cors_allowed_origins_placeholder: 'https://your.website.com', cors_allowed_origins_tip: '所有重定向 URI 的來源將預設被允許。通常不需要對此欄位進行操作。參見 MDN 文檔 以瞭解更多。', - token_endpoint: 'Token Endpoint', + token_endpoint: '令牌端點', user_info_endpoint: '用戶信息端點', enable_admin_access: '啟用管理訪問', enable_admin_access_label: '啟用或禁用對管理 API 的訪問。啟用後,你可以使用訪問權杖代表該應用程式調用管理 API。', - always_issue_refresh_token: '始終發放 Refresh Token', + always_issue_refresh_token: '始終發行刷新令牌', always_issue_refresh_token_label: - '啟用此配置將允許 Logto 發行 Refresh Token,無論是否在驗證請求中呈現 `prompt=consent`。但是,除非必要,否則不建議這樣做,因為它不兼容 OpenID Connect,可能會引起問題。', - refresh_token_ttl: 'Refresh Token 的有效期(天)', + '啟用此配置將允許 Logto 發行刷新令牌,無論是否在驗證請求中提供 `prompt=consent`。但是,除非必要,否則不建議這樣做,因為它不兼容 OpenID Connect,可能會引起問題。', + refresh_token_ttl: '刷新令牌的有效期(天)', refresh_token_ttl_tip: - 'Refresh Token 可用來在其過期之前請求新的訪問權杖的持續時間。訪問令牌將將缺省的 TTL 延長到此值。', - rotate_refresh_token: '旋轉 Refresh Token', + '刷新令牌可用於在其過期之前請求新的訪問權杖的持續時間。訪問令牌將將默認的 TTL 延長到此值。', + rotate_refresh_token: '旋轉刷新令牌', rotate_refresh_token_label: - '啟用後,當原始 TTL 達到 70% 或滿足某些條件時就可以在令牌請求中為 Refresh Token 發行新的 Refresh Token。 瞭解更多。', + '啟用後,當原始 TTL 達到 70% 或滿足某些條件時就可以在令牌請求中為刷新令牌發行新的刷新令牌。 了解更多。', delete_description: '本操作會永久性地刪除該應用,且不可撤銷。輸入 {{name}} 確認。', enter_your_application_name: '輸入你的應用程式名稱', application_deleted: '應用 {{name}} 成功刪除。', redirect_uri_required: '至少需要輸入一個重定向 URL。', - /** UNTRANSLATED */ - app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ - app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + app_domain_description_1: '隨時使用由 Logto 提供支持的 {{domain}} 網域,它是永久有效的。', + app_domain_description_2: '隨時使用您的網域 {{domain}},它是永久有效的。', + custom_rules: '自定義驗證規則', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + '使用正則表達式設置需要驗證的路由規則。默認情況下:如果留空,將保護整個網站。', + authentication_routes: '驗證路由', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "以下是兩個案例:
  1. 只保護需要驗證的路由 '/admin' 和 '/privacy':^/(admin|privacy)/.*
  2. 排除 JPG 圖片不需要驗證:^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + '使用指定的路由重定向您的驗證按鈕。注意:這些路由是不可替代的。', + protect_origin_server: '保護您的源伺服器', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + '確保保護您的源伺服器免受直接訪問。有關更多 詳細指示,請參見指南。', + session_duration: '會話持續時間(天)', + try_it: '試試看', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: '品牌推廣', + description: '在同意屏幕上自訂您應用程式的顯示名稱和標誌。', + more_info: '更多資訊', + more_info_description: '在同意屏幕上提供有關您應用程式的更多詳細資訊。', + display_name: '顯示名稱', + display_logo: '顯示標誌', + display_logo_dark: '顯示標誌(深色)', + terms_of_use_url: '應用程式使用條款網址', + privacy_policy_url: '應用程式隱私政策網址', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ - description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + name: '權限', + description: '選擇第三方應用程式所需的權限,用於授權訪問特定數據類型的使用者。', + user_permissions: '個人用戶數據', + organization_permissions: '組織訪問', + table_name: '授予權限', + field_name: '權限', + field_description: '在同意屏幕中顯示', + delete_text: '刪除權限', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ - permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + '此操作將撤銷對第三方應用程式所授予的權限,防止其為特定數據類型請求用戶授權。是否確定要繼續?', + permissions_assignment_description: '選擇第三方應用程式請求授權訪問特定數據類型所需的權限。', + user_profile: '用戶數據', + api_permissions: 'API 權限', + organization: '組織權限', + user_permissions_assignment_form_title: '添加用戶配置權限', + organization_permissions_assignment_form_title: '添加組織權限', + api_resource_permissions_assignment_form_title: '添加 API 資源權限', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + '您可以通過 "登入體驗 > 內容 > 管理語言" 修改個人用戶數據權限的描述', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ - user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ - organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + '當 Logto 用作第三方應用程式的身份提供者(IdP)用於授權時,以及用戶被要求授權時,此描述將在同意屏幕上顯示。', + user_title: '用戶', + user_description: '選擇第三方應用程式為存取特定用戶數據所需的權限。', + grant_user_level_permissions: '授予用戶數據的權限', + organization_title: '組織', + organization_description: '選擇第三方應用程式為存取特定組織數據所需的權限。', + grant_organization_level_permissions: '授予組織數據的權限', }, roles: { name_column: '角色', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/applications.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/applications.ts index c9593102204..81158620a70 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/applications.ts @@ -4,9 +4,7 @@ const applications = { subtitle: '創建一個移動、單頁、machine-to-machine 或傳統 web 應用程序,並通過 Logto 進行身份驗證', subtitle_with_app_type: '為你的 {{name}} 應用程序設置 Logto 身份驗證', create: '創建應用', - /** UNTRANSLATED */ - create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + create_subtitle_third_party: '使用 Logto 作為您的身份提供者(IdP)輕鬆與第三方應用程序集成', application_name: '應用名稱', application_name_placeholder: '我的應用', application_description: '應用描述', @@ -15,12 +13,10 @@ const applications = { no_application_type_selected: '你還沒有選擇應用類型', application_created: '應用創建成功。', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: '我的應用', + third_party_applications: '第三方應用程式', }, - app_id: 'App ID', + app_id: '應用程式 ID', type: { native: { title: '原生應用', @@ -43,25 +39,19 @@ const applications = { description: '例如,後端服務', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: '受保護應用程序', + subtitle: '透過 Logto 保護的應用程序', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: '第三方應用程序', + subtitle: '作為第三方 IdP 連接器使用的應用程序', + description: '例如 OIDC,SAML', }, }, - placeholder_title: '選擇應用程序類型以繼續', + placeholder_title: '選擇應用程式類型以繼續', placeholder_description: - 'Logto 使用 OIDC 的應用程序實體來幫助識別您的應用程序、管理登錄和創建審計日誌等任務。', + 'Logto 使用 OIDC 的應用程式實體來幫助識別您的應用程式、管理登錄和創建審核日誌等任務。', }; export default Object.freeze(applications); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/connectors.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/connectors.ts index 441f12d8ab9..70a7980c390 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/connectors.ts @@ -9,7 +9,7 @@ const connectors = { tab_social: '社交連接器', connector_name: '連接器名稱', demo_tip: '演示連接器僅用於演示且最多只能發送 100 條消息,不建議在生產環境中部署。', - social_demo_tip: '演示連接器僅用於演示目的,不建議在生產環境中部署。', + social_demo_tip: '演示連接器僅用於演示目的,不建議在生產璃廠中部署。', connector_type: '類型', connector_status: '登錄體驗', connector_status_in_use: '使用中', @@ -45,7 +45,7 @@ const connectors = { logo_tip: '該圖片將用於連接器的展示。獲取圖片鏈接後粘貼在此處。', logo_dark: '社交登錄按鈕的 Logo 圖片鏈接(深色模式)', logo_dark_placeholder: 'https://your.cdn.domain/logo.png', - logo_dark_tip: '在管理控制台的登錄體驗中啟用“深色模式”後,可設置此連接器 Logo 用於深色模式。', + logo_dark_tip: '在管理控制臺的登錄體驗中啟用“深色模式”後,可設置此連接器 Logo 用於深色模式。', logo_dark_collapse: '收起', logo_dark_show: '展開深色模式 Logo 設置', target: '身份提供商名稱', @@ -68,7 +68,6 @@ const connectors = { callback_uri: 'Callback URI', callback_uri_description: '也稱為重定向 URI,在社交授權後,用戶將被發送回 Logto 的 URI,復制並粘貼到社交提供者的配置頁面中。', - /** UNTRANSLATED */ acs_url: 'Assertion consumer service URL', }, platform: { @@ -76,7 +75,7 @@ const connectors = { web: '網頁', native: '原生', }, - add_multi_platform: '支持多平台,選擇一個平台繼續', + add_multi_platform: '支持多平臺,選擇一個平臺繼續', drawer_title: '連接器配置指南', drawer_subtitle: '參考以下步驟完善或修改你的連接器設置', unknown: '未知連接器', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/domain.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/domain.ts index 8cae06945e1..a63ddf1182d 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/domain.ts @@ -5,7 +5,7 @@ const domain = { failed_to_connect: '連接失敗', }, update_endpoint_notice: - '不要忘記在應用程序中更新社交連接器回調URI和Logto端點的域名,如果您想使用自定義域名進行功能。 {{link}}', + '不要忘記在應用程序中更新社交連接器回調URI和Logto端點的域名,如果你想使用自定義域名進行功能。 {{link}}', error_hint: '確保更新您的 DNS 記錄。我們將繼續每 {{value}} 秒檢查。', custom: { custom_domain: '自定義域名', @@ -13,16 +13,14 @@ const domain = { custom_domain_field: '自定義域名', custom_domain_placeholder: 'your.domain.com', add_domain: '添加域名', - /** UNTRANSLATED */ - invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + invalid_domain_format: '請提供有效的域名 URL,至少有三部分,例如 "your.domain.com."', verify_domain: '驗證域名', enable_ssl: '啟用 SSL', checking_dns_tip: '配置 DNS 記錄後,此程序將自動運行,可能需要長達 24 個小時。不影響執行,可離開此界面。', enable_ssl_tip: '啟用 SSL 將自動運行,可能需要長達 24 個小時。您可以在運行期間離開此界面。', generating_dns_records: '正在生成 DNS 記錄...', - add_dns_records: '請把以下 DNS 記錄添加到 DNS 提供者。', + add_dns_records: '請將以下 DNS 記錄添加到 DNS 提供者。', dns_table: { type_field: '類型', name_field: '名稱', @@ -34,22 +32,21 @@ const domain = { description: '確定刪除此自定義域名嗎?', in_used_description: '確定刪除此自定義域名"{{domain}}"嗎?', in_used_tip: - '如果在之前的社交記錄或應用程式終端點中配置此自定義域名,您需要先使用Logto默認域名"{{domain}}"修改URI,使社交組件可以正常使用。', + '如果在之前的社交記錄或應用程式終端點中配置了此自定義域名,您需要先使用 Logto 默認域名"{{domain}}" 修改 URI,使社交組件可以正常使用。', deleted: '成功刪除自定義域名!', }, }, default: { default_domain: '默認域名', default_domain_description: - 'Logto提供預配置的默認域名,無需進行任何其他設置即可使用。即使啟用了自定義域名,此默認域名也可作為備用選項。', + 'Logto 提供預配置的默認域名,無需進行任何其他設置即可使用。即使啟用了自定義域名,此默認域名也可作為備用選項。', default_domain_field: 'Logto 默認域名', }, custom_endpoint_note: '您可以根據需要自定義這些端點的域名。選擇“{{custom}}”或“{{default}}”。', custom_social_callback_url_note: - '您可以自定義此URI的域名以匹配您的應用程序端點。選擇“{{custom}}”或“{{default}}”。', - /** UNTRANSLATED */ + '您可以自定義此 URI 的域名以匹配您的應用程序端點。選擇“{{custom}}”或“{{default}}”。', custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + '您可以自定義這個 URI 的域名以匹配您的身份提供者斷言使用者服務 URL。選擇“{{custom}}”或“{{default}}”。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/get-started.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/get-started.ts index 38d3f5fd06a..4814ad1ef0d 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/get-started.ts @@ -4,11 +4,8 @@ const get_started = { subtitle: '一些你可以做的事情,以快速獲取 Logto 的價值', develop: { title: '開發:花 5 分鐘將你的應用集成進來', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ - subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + title_cloud: '開發:花 5 分鐘將你的應用安全集成進來', + subtitle_cloud: '或花 5 分鐘將你的應用與我們預先構建的 SDK 和教程集成。', }, customize: { title: '定制:提供出色的登錄體驗', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/guide.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/guide.ts index b3390d792c9..cdd4db69d3f 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/guide.ts @@ -7,10 +7,8 @@ const guide = { SPA: '單頁應用', Native: '原生應用', MachineToMachine: '機器對機器', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + Protected: '非 SDK 整合', + ThirdParty: '第三方應用程式', }, filter: { title: '篩選框架', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/invitation.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/invitation.ts index fd14201f2f4..f49626fc1ba 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/invitation.ts @@ -1,22 +1,13 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: '尋找你的承租人', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ - email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + '您的電子郵件地址可能已在多個租戶中註冊。您可以選擇加入現有租戶或繼續創建新的。', + create_new_tenant: '建立新租戶', + email_not_match_title: '您目前是以\n{{email}}\n登入', + email_not_match_description: '請使用正確的帳戶登入以接受邀請並成為組織的成員。', + switch_account: '切換帳號', + invalid_invitation_status: '無效的邀請。請聯絡管理員並重試。', + invitation_not_found: '找不到邀請。請聯絡管理員。', }; export default Object.freeze(invitation); 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 7e39f50f3c0..ea3944ff0ad 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 @@ -20,13 +20,9 @@ const organization_details = { '移除後,使用者將失去他們在此組織的成員資格和角色。此操作無法撤銷。', search_user_placeholder: '按姓名、電子郵件、電話或使用者 ID 搜尋', at_least_one_user: '至少需要一名使用者。', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ - custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + custom_data: '自訂資料', + custom_data_tip: '自訂資料是一個 JSON 物件,可用於存儲與組織相關的附加資料。', + invalid_json_object: '無效的 JSON 物件。', }; 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 4c0f7628785..c6569e4d2f2 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 @@ -2,18 +2,16 @@ const organizations = { organization: '組織', page_title: '組織', title: '組織', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + '組織通常用於 SaaS 或類似的多租戶應用程式,代表您的客戶團隊、組織或整個公司。組織作為 B2B 認證和授權的基礎要素。', organization_template: '組織模板', organization_id: '組織 ID', members: '成員', create_organization: '建立組織', setup_organization: '設定您的組織', organization_list_placeholder_title: '組織', - /** UNTRANSLATED */ organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', + '組織通常在 SaaS 或類似的多租戶應用程式中是最佳實踐。它們讓您開發應用程式,讓客戶可以建立和管理組織、邀請成員並分配角色。', organization_name_placeholder: '我的組織', organization_description_placeholder: '組織的簡要描述', organization_permission: '組織權限', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/protected-app.ts index 9af4f1a1c70..50c72b7b28c 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/protected-app.ts @@ -1,69 +1,37 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: '受保護應用程式', + title: '建立一個受保護的應用程式: 透過簡潔和極速添加身分驗證', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ - modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + '受保護的應用程式安全地維護使用者會話並代理您的應用程式請求。由 Cloudflare Workers 提供支援,享受全球頂尖性能和 0 毫秒的全球啟動速度。 了解更多', + fast_create: '快速建立', + modal_title: '建立受保護的應用程式', + modal_subtitle: '透過點擊啟用安全和快速保護。輕鬆為您現有的網絡應用程式添加身分驗證功能。', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: '您的原始網址', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ - url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + url_field_description: '提供需要身分驗證保護的應用程式地址。', + url_field_modification_notice: '對原始網址的修訂可能需要 1-2 分鐘才能在全球網絡位置上生效。', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "提供您應用程式的地址,不包括任何 '/pathname'。創建後,您可以自定義路由身分驗證規則。\n\n注意: 原始網址本身並不需要身分驗證; 受保護僅適用於通過指定應用程式域訪問的情況。", + domain_field_label: '應用程式域名', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ - domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ - domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + domain_field_description: '此 URL 將作為原始 URL 的身分驗證保護代理。創建後可以應用自訂域名。', + domain_field_description_short: '此 URL 將作為原始 URL 的身分驗證保護代理。', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "受 Logto 保護的應用程式將默認托管在 'your-domain.{{domain}}' 上。創建後可以應用自訂域名。", + create_application: '創建應用程式', + create_protected_app: '快速建立', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ - invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ + domain_required: '您的域名是必填的。', + domain_in_use: '這個子域名已經被使用。', + invalid_domain_format: "無效的子域名格式: 只能使用小寫字母、數字和連字符 '-'。", + url_required: '原始 URL 是必填的。', invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ - localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + "無效的原始 URL 格式: 僅支援 http:// 或 https://。注意: 目前不支援 '/pathname'。", + localhost: '請先將本地伺服器暴露到互聯網。了解更多關於 本地開發。', }, }, - /** UNTRANSLATED */ - success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + success_message: '🎉 應用程式身分驗證成功啟用!探索您的網站的全新體驗。', }; export default Object.freeze(protected_app); 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 77a5447712a..c69fc2ffd52 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 @@ -13,8 +13,11 @@ const role_details = { '角色是一組權限,可以分配給用戶。它們還提供了一種聚合不同 API 定義的權限的方法,使得添加、刪除或調整權限比將其單獨分配給用戶更有效率。', field_name: '名稱', field_description: '描述', + field_is_default: '默认角色', + field_is_default_description: + '將此角色設置為新用戶的默认角色。可以設置多個默認角色。這也會影響通過管理 API 創建的用戶的默认角色。', type_m2m_role_tag: '機器對機器應用角色', - type_user_role_tag: '用戶角色', + type_user_role_tag: '用户角色', permission: { assign_button: '分配權限', assign_title: '分配權限', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/tenant-members.ts index c2947d0cef9..8b8f31bcddd 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/tenant-members.ts @@ -1,102 +1,59 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: '成員', + invitations: '邀請', + invite_members: '邀請成員', + user: '用戶', + roles: '角色', + admin: '管理員', + collaborator: '協作者', + invitation_status: '邀請狀態', + inviter: '邀請者', + expiration_date: '到期日期', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: '邀請人加入 Silverhand', + subtitle: '要邀請組織成員,他們必須接受邀請。', + to: '到', + added_as: '被添加為角色', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: '待定', + accepted: '已接受', + expired: '已過期', + revoked: '已撤銷', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ - description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + title: '邀請團隊成員', + description: '您的租戶目前沒有被邀請的成員。\n為了協助您的整合,請考慮添加更多成員或管理員。', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: '編輯租戶角色', + delete: '從租戶中移除用戶', + resend_invite: '重新發送邀請', + revoke: '撤銷邀請', + delete_invitation_record: '刪除此邀請記錄', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: '更改 {{name}} 的角色', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: '您確定要從此租戶中刪除此用戶嗎?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '您確定要將所選用戶設為管理員嗎?授予管理員訪問權限將賦予用戶如下權限。', + revoke_invitation_confirm: '您確定要撤銷此邀請嗎?', + delete_invitation_confirm: '您確定要刪除此邀請記錄嗎?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: '已發送邀請。', + invitation_revoked: '邀請已撤銷。', + invitation_resend: '邀請已重新發送。', + invitation_deleted: '邀請記錄已刪除。', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ - pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + email_required: '需要邀請者的電子郵件。', + email_exists: '電子郵件地址已經存在。', + member_exists: '此用戶已經是此組織的成員。', + pending_invitation_exists: '存在待定的邀請。請刪除相關郵件或撤銷邀請。', + invalid_email: '電子郵件地址無效。請確保其格式正確。', + max_member_limit: '您已達到此租戶的最大成員數量({{limit}})。', }, }; 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 f78d7e393d3..9b27d1538e2 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 @@ -41,7 +41,7 @@ const tenants = { }, create_modal: { title: '創建租戶', - subtitle: '創建一個具有隔離資源和用戶的新租戶。數據托管的區域和租戶類型在創建後無法修改。', + subtitle: '創建一個具有隔離資源和使用者的新租戶。數據托管的區域和租戶類型在創建後無法修改。', tenant_usage_purpose: '您希望使用此租戶做什麼?', development_description: '僅供測試使用,不應在生產中使用。無需訂閱。', development_hint: '它具有所有專業功能,但存在限制,例如登錄橫幅。', @@ -73,7 +73,7 @@ const tenants = { '抱歉,您現在無法刪除此租戶。請確保您處於免費計劃並已支付所有未結賬單。', }, leave_tenant_modal: { - description: '您確定要離開這個租戶?', + description: '您確定要離開此租戶?', leave_button: '離開', }, tenant_landing_page: { 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 74ec1629714..a572803872b 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 @@ -4,20 +4,13 @@ const webhooks = { subtitle: '創建 Webhooks,輕鬆地接收有關特定事件的實時更新。', create: '創建 Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: '用戶互動', + user: '用戶', + organization: '組織', + role: '角色', + scope: '權限', + organization_role: '組織角色', + organization_scope: '組織權限', }, table: { name: '名稱', diff --git a/packages/phrases/src/locales/zh-tw/errors/application.ts b/packages/phrases/src/locales/zh-tw/errors/application.ts index 0ac414396a5..eafd4bf9bcb 100644 --- a/packages/phrases/src/locales/zh-tw/errors/application.ts +++ b/packages/phrases/src/locales/zh-tw/errors/application.ts @@ -5,27 +5,16 @@ const application = { invalid_third_party_application_type: '僅傳統網路應用程式可以標記為第三方應用程式。', third_party_application_only: '該功能僅適用於第三方應用程式。', user_consent_scopes_not_found: '無效的使用者同意範圍。', - /** UNTRANSLATED */ - consent_management_api_scopes_not_allowed: 'Management API scopes are not allowed.', + consent_management_api_scopes_not_allowed: '管理 API 範圍不被允許。', protected_app_metadata_is_required: '需要保護應用程式元數據。', - /** UNTRANSLATED */ - protected_app_not_configured: - 'Protected app provider is not configured. This feature is not available for open source version.', - /** UNTRANSLATED */ - cloudflare_unknown_error: 'Got unknown error when requesting Cloudflare API', - /** UNTRANSLATED */ - protected_application_only: 'The feature is only available for protected applications.', - /** UNTRANSLATED */ - protected_application_misconfigured: 'Protected application is misconfigured.', - /** UNTRANSLATED */ - protected_application_subdomain_exists: - 'The subdomain of Protected application is already in use.', - /** UNTRANSLATED */ - invalid_subdomain: 'Invalid subdomain.', - /** UNTRANSLATED */ - custom_domain_not_found: 'Custom domain not found.', - /** UNTRANSLATED */ - should_delete_custom_domains_first: 'Should delete custom domains first.', + protected_app_not_configured: '保護應用程式提供者未配置。此功能不適用於開源版本。', + cloudflare_unknown_error: '在請求 Cloudflare API 時發生未知錯誤', + protected_application_only: '該功能僅適用於受保護的應用程式。', + protected_application_misconfigured: '受保護的應用程式配置錯誤。', + protected_application_subdomain_exists: '受保護應用程式的子域名已被使用。', + invalid_subdomain: '無效的子域名。', + custom_domain_not_found: '找不到自訂域名。', + should_delete_custom_domains_first: '應先刪除自訂域名。', }; export default Object.freeze(application); diff --git a/packages/phrases/src/locales/zh-tw/errors/domain.ts b/packages/phrases/src/locales/zh-tw/errors/domain.ts index a029fe145af..969f27be037 100644 --- a/packages/phrases/src/locales/zh-tw/errors/domain.ts +++ b/packages/phrases/src/locales/zh-tw/errors/domain.ts @@ -6,8 +6,7 @@ const domain = { limit_to_one_domain: '您只能擁有一個自訂網域。', hostname_already_exists: '此網域名稱已經存在我們的伺服器中。', cloudflare_not_found: '無法找到 Cloudflare 中的主機名', - /** UNTRANSLATED */ - domain_is_not_allowed: 'This domain is not allowed.', + domain_is_not_allowed: '這個網域不允許。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-tw/errors/resource.ts b/packages/phrases/src/locales/zh-tw/errors/resource.ts index c03c3fcacc9..7e1d43e3ae7 100644 --- a/packages/phrases/src/locales/zh-tw/errors/resource.ts +++ b/packages/phrases/src/locales/zh-tw/errors/resource.ts @@ -1,9 +1,7 @@ const resource = { resource_identifier_in_use: 'API 識別碼 {{indicator}} 已經被使用', - /** UNTRANSLATED */ - cannot_delete_management_api: 'Cannot delete Logto management API.', - /** UNTRANSLATED */ - cannot_modify_management_api: 'Cannot modify Logto management API.', + cannot_delete_management_api: '無法刪除 Logto 管理 API。', + cannot_modify_management_api: '無法修改 Logto 管理 API。', }; export default Object.freeze(resource); diff --git a/packages/phrases/src/locales/zh-tw/errors/role.ts b/packages/phrases/src/locales/zh-tw/errors/role.ts index 49c84e0a470..8b36a5cd270 100644 --- a/packages/phrases/src/locales/zh-tw/errors/role.ts +++ b/packages/phrases/src/locales/zh-tw/errors/role.ts @@ -1,9 +1,7 @@ const role = { name_in_use: '此角色名稱 {{name}} 已被使用', scope_exists: '作用域 ID {{scopeId}} 已添加到此角色', - /** UNTRANSLATED */ - management_api_scopes_not_assignable_to_user_role: - 'Cannot assign management API scopes to a user role.', + management_api_scopes_not_assignable_to_user_role: '無法將管理 API 作用域分配給用戶角色。', user_exists: '用戶 ID {{userId}} 已添加到此角色', application_exists: '已經將應用程式 ID {{applicationId}} 添加到此角色', default_role_missing: '某些預設角色名稱在資料庫中不存在,請確保先創建角色', diff --git a/packages/phrases/src/locales/zh-tw/errors/user.ts b/packages/phrases/src/locales/zh-tw/errors/user.ts index 2ca2b159575..51686089e08 100644 --- a/packages/phrases/src/locales/zh-tw/errors/user.ts +++ b/packages/phrases/src/locales/zh-tw/errors/user.ts @@ -31,9 +31,7 @@ const user = { missing_mfa: '在登錄前需要綁定額外的多因素驗證。', totp_already_in_use: 'TOTP 已經在使用中。', backup_code_already_in_use: '備份代碼已經在使用中。', - /** UNTRANSLATED */ password_algorithm_required: 'Password algorithm is required.', - /** UNTRANSLATED */ password_and_digest: 'You cannot set both plain text password and password digest.', }; 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 6e18a1f77be..856b92b3fa4 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 @@ -21,10 +21,8 @@ const api_resource_details = { create_title: '建立權限', create_subtitle: '定義此 API 所需的權限 (scope)。', confirm_create: '建立權限', - /** UNTRANSLATED */ - edit_title: 'Edit API permission', - /** UNTRANSLATED */ - edit_subtitle: 'Define the permissions (scopes) needed by the {{resourceName}} API.', + edit_title: '編輯 API 權限', + edit_subtitle: '定義 {{resourceName}} API 所需的權限 (scopes)。', name: '權限名稱', name_placeholder: 'read:resource', forbidden_space_in_name: '權限名稱不能包含空格。', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resources.ts index 3c3d730e6a7..3ac6ef68fdc 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resources.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/api-resources.ts @@ -13,7 +13,6 @@ const api_resources = { default_api_label: '一個租戶只能設定零個或一個預設 API。當指定了預設 API 後,可以在授權請求中省略 `resource` 參數。隨後的令牌交換將使用該 API 作為默認的 Audience,從而產生 JWT。了解更多', api_resource_created: ' API 資源 {{name}} 已成功創建。', - /** UNTRANSLATED */ invalid_resource_indicator_format: 'API indicator must be a valid absolute URI.', }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/application-details.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/application-details.ts index ce8d30010ae..5829b0d52e2 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/application-details.ts @@ -3,29 +3,18 @@ const application_details = { back_to_applications: '返回全部應用', check_guide: '查看指南', settings: '設置', - /** UNTRANSLATED */ settings_description: - 'An "Application" is a registered software or service that can access user info or act for a user. Applications help recognize who’s asking for what from Logto and handle the sign-in and permission. Fill in the required fields for authentication.', - /** UNTRANSLATED */ - integration: 'Integration', - /** UNTRANSLATED */ + '一個「應用程式」是一個已註冊的軟體或服務,可以存取使用者資訊或代表使用者進行操作。應用程式有助於辨識是誰向 Logto 要求什麼,並處理登入和權限問題。填寫驗證所需的字段。', + integration: '整合', integration_description: - "Deploy with Logto secure workers, powered by Cloudflare's edge network for top-tier performance and 0ms cold starts worldwide.", - /** UNTRANSLATED */ - service_configuration: 'Service configuration', - /** UNTRANSLATED */ - service_configuration_description: 'Complete the necessary configurations in your service.', - /** UNTRANSLATED */ - session: 'Session', - /** UNTRANSLATED */ - endpoints_and_credentials: 'Endpoints & Credentials', - /** UNTRANSLATED */ - endpoints_and_credentials_description: - 'Use the following endpoints and credentials to set up the OIDC connection in your application.', - /** UNTRANSLATED */ - refresh_token_settings: 'Refresh token', - /** UNTRANSLATED */ - refresh_token_settings_description: 'Manage the refresh token rules for this application.', + '使用由 Cloudflare 邊緣網路提供動力的 Logto 安全工作者部署,實現全球頂級性能和 0 毫秒全球冷啟動。', + service_configuration: '服務配置', + service_configuration_description: '在您的服務中完成必要的配置。', + session: '會話', + endpoints_and_credentials: '端點與憑證', + endpoints_and_credentials_description: '使用以下端點和憑證設置應用程式中的 OIDC 連接。', + refresh_token_settings: '刷新令牌', + refresh_token_settings_description: '管理此應用程式的刷新令牌規則。', application_roles: '角色', machine_logs: '機器日誌', application_name: '應用程式姓名', @@ -35,11 +24,9 @@ const application_details = { config_endpoint: 'OpenID Provider 配置端點', authorization_endpoint: '授權端點', authorization_endpoint_tip: '進行驗證與授權的端點。用於 OpenID Connect 中的 驗證 流程。', - /** UNTRANSLATED */ - show_endpoint_details: 'Show endpoint details', - /** UNTRANSLATED */ - hide_endpoint_details: 'Hide endpoint details', - logto_endpoint: 'Logto endpoint', + show_endpoint_details: '顯示端點詳情', + hide_endpoint_details: '隱藏端點詳情', + logto_endpoint: 'Logto 端點', application_id: '應用程式 ID', application_id_tip: '應用程式的唯一標識,通常由 Logto 生成。相當於 OpenID Connect 中的 client_id。', @@ -59,8 +46,8 @@ const application_details = { cors_allowed_origins_placeholder: 'https://your.website.com', cors_allowed_origins_tip: '所有重新導向 URI 的來源都將默認被允許。通常不需要對此欄位進行操作。參見 MDN 文件 以了解更多。', - token_endpoint: 'Token Endpoint', - user_info_endpoint: '用戶信息端點', + token_endpoint: 'Token 端點', + user_info_endpoint: '用戶資訊端點', enable_admin_access: '啟用管理訪問', enable_admin_access_label: '啟用或禁用對管理 API 的訪問。啟用後,你可以使用訪問令牌代表該應用程式調用管理 API。', @@ -72,125 +59,73 @@ const application_details = { 'Refresh Token 可用來獲取新的訪問令牌,失效日期之前可用。獲取訪問令牌時,該令牌的期限將被延長至此值。', rotate_refresh_token: '旋轉 Refresh Token', rotate_refresh_token_label: - '啟用此配置將使 Logto 当 Refresh Token 的原始有效期剩下 70% 时或当满足某些条件时,授予新的 Refresh Token 以获取新的 Access Token。了解更多', + '啟用此配置將使 Logto 当 Refresh Token 的原始有效期剩下 70% 时或当满足某些条件时,授予新的 Refresh Token 以獲取新的 Access Token。了解更多', delete_description: '本操作會永久性地刪除該應用程式,且不可撤銷。輸入 {{name}} 確認。', enter_your_application_name: '輸入你的應用程式姓名', application_deleted: '應用 {{name}} 成功刪除。', redirect_uri_required: '至少需要輸入一個重定向 URL。', - /** UNTRANSLATED */ - app_domain_description_1: - 'Feel free to use your domain with {{domain}} powered by Logto, which is permanently valid.', - /** UNTRANSLATED */ - app_domain_description_2: - 'Feel free to utilize your domain {{domain}} which is permanently valid.', - /** UNTRANSLATED */ - custom_rules: 'Custom authentication rules', - /** UNTRANSLATED */ + app_domain_description_1: '隨時使用由 Logto 提供動力的 {{domain}} 域,其永久有效。', + app_domain_description_2: '隨時使用您的域 {{domain}},其永久有效。', + custom_rules: '自定義身份驗證規則', custom_rules_placeholder: '^/(admin|privacy)/.+$', - /** UNTRANSLATED */ - custom_rules_description: - 'Set rules with regular expressions for authentication-required routes. Default: full-site protection if left blank.', - /** UNTRANSLATED */ - authentication_routes: 'Authentication routes', - /** UNTRANSLATED */ + custom_rules_description: '使用正則表達式設置需要身份驗證的路徑規則。預設: 若留空則全站保護。', + authentication_routes: '身份驗證路徑', custom_rules_tip: - "Here are two case scenarios:
  1. To only protect routes '/admin' and '/privacy' with authentication: ^/(admin|privacy)/.*
  2. To exclude JPG images from authentication: ^(?!.*\\.jpg$).*$
", - /** UNTRANSLATED */ + "這裡有兩個案例:
  1. 僅對 '/admin' 和 '/privacy' 路徑進行身份驗證: ^/(admin|privacy)/.*
  2. 排除 JPG 圖片不進行身份驗證: ^(?!.*\\.jpg$).*$
", authentication_routes_description: - 'Redirect your authentication button using the specified routes. Note: These routes are irreplaceable.', - /** UNTRANSLATED */ - protect_origin_server: 'Protect your origin server', - /** UNTRANSLATED */ + '使用指定路徑重新導向您的身份驗證按鈕。注意: 這些路徑不可替代。', + protect_origin_server: '保護您的源伺服器', protect_origin_server_description: - 'Ensure to protect your origin server from direct access. Refer to the guide for more detailed instructions.', - /** UNTRANSLATED */ - session_duration: 'Session duration (days)', - /** UNTRANSLATED */ - try_it: 'Try it', + '確保保護您的源伺服器免受直接訪問。請參閱指南以獲取更多 詳細說明。', + session_duration: '會話持續時間(天數)', + try_it: '試試看', branding: { - /** UNTRANSLATED */ - name: 'Branding', - /** UNTRANSLATED */ - description: "Customize your application's display name and logo on the consent screen.", - /** UNTRANSLATED */ - more_info: 'More info', - /** UNTRANSLATED */ - more_info_description: 'Offer users more details about your application on the consent screen.', - /** UNTRANSLATED */ - display_name: 'Display name', - /** UNTRANSLATED */ - display_logo: 'Display logo', - /** UNTRANSLATED */ - display_logo_dark: 'Display logo (dark)', - /** UNTRANSLATED */ - terms_of_use_url: 'Application terms of use URL', - /** UNTRANSLATED */ - privacy_policy_url: 'Application privacy policy URL', + name: '品牌', + description: '在同意畫面上自訂應用程式的顯示名稱和標誌。', + more_info: '更多資訊', + more_info_description: '在同意畫面上提供有關您的應用程式的更多詳細資訊。', + display_name: '顯示名稱', + display_logo: '顯示標誌', + display_logo_dark: '顯示標誌(深色)', + terms_of_use_url: '應用程式使用條款網址', + privacy_policy_url: '應用程式隱私政策網址', }, permissions: { - /** UNTRANSLATED */ - name: 'Permissions', - /** UNTRANSLATED */ - description: - 'Select the permissions that the third-party application requires for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_permissions: 'Personal user data', - /** UNTRANSLATED */ - organization_permissions: 'Organization access', - /** UNTRANSLATED */ - table_name: 'Grant permissions', - /** UNTRANSLATED */ - field_name: 'Permission', - /** UNTRANSLATED */ - field_description: 'Displayed in the consent screen', - /** UNTRANSLATED */ - delete_text: 'Remove permission', - /** UNTRANSLATED */ + name: '權限', + description: '選擇第三方應用程式需要的許可權,以便用戶授權訪問特定資料類型。', + user_permissions: '個人用戶資料', + organization_permissions: '組織訪問', + table_name: '授予權限', + field_name: '權限', + field_description: '在同意畫面上顯示', + delete_text: '刪除權限', permission_delete_confirm: - 'This action will withdraw the permissions granted to the third-party app, preventing it from requesting user authorization for specific data types. Are you sure you want to continue?', - /** UNTRANSLATED */ - permissions_assignment_description: - 'Select the permissions the third-party application requests for user authorization to access specific data types.', - /** UNTRANSLATED */ - user_profile: 'User data', - /** UNTRANSLATED */ - api_permissions: 'API permissions', - /** UNTRANSLATED */ - organization: 'Organization permissions', - /** UNTRANSLATED */ - user_permissions_assignment_form_title: 'Add the user profile permissions', - /** UNTRANSLATED */ - organization_permissions_assignment_form_title: 'Add the organization permissions', - /** UNTRANSLATED */ - api_resource_permissions_assignment_form_title: 'Add the API resource permissions', - /** UNTRANSLATED */ + '此操作將撤銷授予第三方應用程式的權限,防止其要求授權訪問特定資料類型。確定要繼續嗎?', + permissions_assignment_description: '選擇第三方應用程式請求用戶授權訪問特定資料類型的權限。', + user_profile: '用戶資料', + api_permissions: 'API 權限', + organization: '組織權限', + user_permissions_assignment_form_title: '添加用戶資料權限', + organization_permissions_assignment_form_title: '添加組織權限', + api_resource_permissions_assignment_form_title: '添加 API 资源權限', user_data_permission_description_tips: - 'You can modify the description of the personal user data permissions via "Sign-in Experience > Content > Manage Language"', - /** UNTRANSLATED */ + '您可以通過「登入體驗 > 內容 > 管理語言」修改個人用戶資料權限的描述。', permission_description_tips: - 'When Logto is used as an Identity Provider (IdP) for authentication in third-party apps, and users are asked for authorization, this description appears on the consent screen.', - /** UNTRANSLATED */ - user_title: 'User', - /** UNTRANSLATED */ - user_description: - 'Select the permissions requested by the third-party app for accessing specific user data.', - /** UNTRANSLATED */ - grant_user_level_permissions: 'Grant permissions of user data', - /** UNTRANSLATED */ - organization_title: 'Organization', - /** UNTRANSLATED */ - organization_description: - 'Select the permissions requested by the third-party app for accessing specific organization data.', - /** UNTRANSLATED */ - grant_organization_level_permissions: 'Grant permissions of organization data', + '當 Logto 作為第三方應用程式中的身份提供者(IdP)用於身份驗證時,用戶被要求授權,此描述將顯示在同意畫面上。', + user_title: '用戶', + user_description: '選擇由第三方應用程式請求的用於訪問特定用戶資料的權限。', + grant_user_level_permissions: '授予用戶資料權限', + organization_title: '組織', + organization_description: '選擇由第三方應用程式請求的用於訪問特定組織資料的權限。', + grant_organization_level_permissions: '授予組織資料權限', }, roles: { name_column: '角色', description_column: '描述', assign_button: '分配角色', delete_description: - '本操作將從此機器到機器應用程式中刪除此角色。該角色本身仍然存在,但不再與此機器到機器應用程式關聯。', + '此操作將從此機器到機器應用程式中刪除該角色。該角色本身仍然存在,但不再與此機器到機器應用程式關聯。', deleted: '已成功從此用戶中刪除 {{name}}。', assign_title: '將角色分配給 {{name}}', assign_subtitle: '授權 {{name}} 一個或多個角色', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/applications.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/applications.ts index 873e8a9e22a..200748f3180 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/applications.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/applications.ts @@ -4,9 +4,7 @@ const applications = { subtitle: '創建一個移動、單頁、machine-to-machine 或傳統 web 應用程序,並通過 Logto 進行身份驗證', subtitle_with_app_type: '設置 {{name}} 應用程序的 Logto 身份驗證', create: '創建應用', - /** UNTRANSLATED */ - create_subtitle_third_party: - 'Use Logto as your identity provider (IdP) to easily integrate with third-party applications', + create_subtitle_third_party: '使用 Logto 作為您的身份提供者(IdP),輕鬆集成第三方應用程式', application_name: '應用名稱', application_name_placeholder: '我的應用', application_description: '應用描述', @@ -15,53 +13,45 @@ const applications = { no_application_type_selected: '你還沒有選擇應用類型', application_created: '應用創建成功。', tab: { - /** UNTRANSLATED */ - my_applications: 'My apps', - /** UNTRANSLATED */ - third_party_applications: 'Third-party apps', + my_applications: '我的應用', + third_party_applications: '第三方應用程式', }, app_id: 'App ID', type: { native: { title: '原生應用', subtitle: '在原生環境中運行的應用程序', - description: '例如 iOS app,Android app', + description: '例如 iOS 應用程式,Android 應用程式', }, spa: { title: '單頁應用', - subtitle: '在瀏覽器中運行並動態更新數據的應用程序', - description: '例如 React DOM app,Vue app', + subtitle: '在瀏覽器中運行並動態更新數據的應用程式', + description: '例如 React DOM 應用程式,Vue 應用程式', }, traditional: { title: '傳統網頁應用', - subtitle: '僅由 Web 伺服器渲染和更新的應用程序', - description: '例如 Next.js, PHP', + subtitle: '僅由 Web 伺服器渲染和更新的應用程式', + description: '例如 Next.js,PHP', }, machine_to_machine: { title: 'Machine-to-Machine', - subtitle: '直接與資源對話的應用程序(通常是服務)', + subtitle: '直接與資源對話的應用程式(通常是服務)', description: '例如,後端服務', }, protected: { - /** UNTRANSLATED */ - title: 'Protected App', - /** UNTRANSLATED */ - subtitle: 'An app that is protected by Logto', - /** UNTRANSLATED */ + title: '受保護應用', + subtitle: '受 Logto 保護的應用', description: 'N/A', }, third_party: { - /** UNTRANSLATED */ - title: 'Third-party App', - /** UNTRANSLATED */ - subtitle: 'An app that is used as a third-party IdP connector', - /** UNTRANSLATED */ - description: 'E.g., OIDC, SAML', + title: '第三方應用程式', + subtitle: '作為第三方 IdP 連接器使用的應用程式', + description: '例如,OIDC、SAML', }, }, - placeholder_title: '選擇應用程序類型以繼續', + placeholder_title: '選擇應用程式類型以繼續', placeholder_description: - 'Logto 使用 OIDC 的應用程序實體來幫助識別你的應用程序、管理登入和創建審計日誌等任務。', + 'Logto 使用 OIDC 的應用程式實體來幫助識別你的應用程式、管理登入和創建審計日誌等任務。', }; export default Object.freeze(applications); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/connectors.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/connectors.ts index 3272c298bf5..e722ae8cb52 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/connectors.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/connectors.ts @@ -68,8 +68,7 @@ const connectors = { callback_uri: 'Callback URI', callback_uri_description: '也稱為重定向 URI,在社交授權後,用戶將被發送回 Logto 的 URI,複製並粘貼到社交提供者的配置頁面中。', - /** UNTRANSLATED */ - acs_url: 'Assertion consumer service URL', + acs_url: '斷言消費者服務網址', }, platform: { universal: '通用', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/domain.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/domain.ts index a92cb5f6a0b..8eae084bf35 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/domain.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/domain.ts @@ -13,9 +13,7 @@ const domain = { custom_domain_field: '自訂網域', custom_domain_placeholder: 'your.domain.com', add_domain: '新增網域', - /** UNTRANSLATED */ - invalid_domain_format: - 'Please provide a valid domain URL with a minimum of three parts, e.g. "your.domain.com."', + invalid_domain_format: '請提供一個有效的域名網址,至少包含三個部分,例如 "your.domain.com."', verify_domain: '驗證網域', enable_ssl: '啟用 SSL', checking_dns_tip: @@ -47,9 +45,8 @@ const domain = { custom_endpoint_note: '您可以根據需要自定義這些端點的域名。選擇“{{custom}}”或“{{default}}”。', custom_social_callback_url_note: '您可以自定義此 URI 的域名以匹配您的應用程序端點。選擇“{{custom}}”或“{{default}}”。', - /** UNTRANSLATED */ custom_acs_url_note: - 'You can customize the domain name of this URI to match your identity provider assertion consumer service URL. Choose either "{{custom}}" or "{{default}}".', + '您可以自訂此 URI 的域名以匹配您的身份提供者斷言使用者服務 URL。選擇“{{custom}}”或“{{default}}”。', }; export default Object.freeze(domain); diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/get-started.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/get-started.ts index f2321ac9ebd..6dbcd39d6c2 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/get-started.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/get-started.ts @@ -4,11 +4,8 @@ const get_started = { subtitle: '一些快速獲取 Logto 價值的事情', develop: { title: '開發:花 5 分鐘集成您的應用程式', - /** UNTRANSLATED */ - title_cloud: 'Develop: Securely integrate your app in minutes', - /** UNTRANSLATED */ - subtitle_cloud: - 'Or take 5 minutes to integrate your app with our pre-built SDKs and tutorials.', + title_cloud: '開發:在幾分鐘內安全集成您的應用程式', + subtitle_cloud: '或花 5 分鐘用我們預先構建的 SDK 和教程集成您的應用程式。', }, customize: { title: '自訂:提供出色的登錄體驗', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/guide.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/guide.ts index cc877c382b5..cdd4db69d3f 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/guide.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/guide.ts @@ -6,12 +6,9 @@ const guide = { Traditional: '傳統網頁應用', SPA: '單頁應用', Native: '原生應用', - /** UNTRANSLATED */ - MachineToMachine: 'Machine-to-machine', - /** UNTRANSLATED */ - Protected: 'Non-SDK Integration', - /** UNTRANSLATED */ - ThirdParty: 'Third-party app', + MachineToMachine: '機器對機器', + Protected: '非 SDK 整合', + ThirdParty: '第三方應用程式', }, filter: { title: '篩選框架', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/invitation.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/invitation.ts index fd14201f2f4..ee70602280b 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/invitation.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/invitation.ts @@ -1,22 +1,13 @@ const invitation = { - /** UNTRANSLATED */ - find_your_tenants: 'Find your tenants', - /** UNTRANSLATED */ + find_your_tenants: '尋找你的租戶', find_tenants_description: - 'Your email address may already be registered with multiple tenants. You can choose to join the existing ones or continue create a new one.', - /** UNTRANSLATED */ - create_new_tenant: 'Create a new tenant', - /** UNTRANSLATED */ - email_not_match_title: 'You are currently signed in as\n{{email}}', - /** UNTRANSLATED */ - email_not_match_description: - 'Please sign in with the correct account to accept the invitation and become a member of the organization.', - /** UNTRANSLATED */ - switch_account: 'Sign in to another account', - /** UNTRANSLATED */ - invalid_invitation_status: 'Invalid invitation. Please contact the administrator and try again.', - /** UNTRANSLATED */ - invitation_not_found: 'Invitation not found. Please contact the administrator.', + '你的電子郵件地址可能已被多個租戶註冊。您可以選擇加入現有的租戶或繼續建立一個新的。', + create_new_tenant: '建立新租戶', + email_not_match_title: '您目前以\n{{email}}\n登錄', + email_not_match_description: '請使用正確的帳戶登入以接受邀請並成為組織成員。', + switch_account: '登入到另一個帳戶', + invalid_invitation_status: '無效的邀請。請聯繫管理員並重試。', + invitation_not_found: '找不到邀請。請聯繫管理員。', }; export default Object.freeze(invitation); 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 b5f7409361d..23c58fb426a 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 @@ -20,13 +20,9 @@ const organization_details = { '刪除後,用戶將失去在這個組織中的成員資格和角色。此操作無法撤銷。', search_user_placeholder: '按名稱、電子郵件、電話或用戶ID搜尋', at_least_one_user: '至少需要一個用戶。', - /** UNTRANSLATED */ - custom_data: 'Custom data', - /** UNTRANSLATED */ - custom_data_tip: - 'Custom data is a JSON object that can be used to store additional data associated with the organization.', - /** UNTRANSLATED */ - invalid_json_object: 'Invalid JSON object.', + custom_data: '自訂數據', + custom_data_tip: '自訂數據是一個可用於存儲與組織相關的附加數據的 JSON 對象。', + invalid_json_object: '無效的 JSON 對象。', }; 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 8befae5cfa2..f4ec3136869 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 @@ -2,19 +2,17 @@ const organizations = { organization: '組織', page_title: '組織', title: '組織', - /** UNTRANSLATED */ subtitle: - 'Organizations are usually used in SaaS or similar multi-tenant apps and represent your clients which are teams, organizations, or entire companies. Organizations work as a foundational element for B2B authentication and authorization.', + '組織通常在SaaS或類似的多租戶應用程式中使用,代表您的客戶,這些客戶可以是團隊、組織或整個公司。 組織作為B2B身份驗證和授權的基本元素。', organization_template: '組織模板', - organization_id: '組織 ID', + organization_id: '組繹 ID', members: '成員', - create_organization: '建立組織', - setup_organization: '設立您的組織', - organization_list_placeholder_title: '組織', - /** UNTRANSLATED */ + create_organization: '建立組繹', + setup_organization: '設立您的組繹', + organization_list_placeholder_title: '組繹', organization_list_placeholder_text: - 'Organizations are often used in SaaS or similar multi-tenant apps as a best practice. They enable you to develop apps that allow clients to create and manage organizations, invite members, and assign roles.', - organization_name_placeholder: '我的組織', + '組繹通常在SaaS或類似的多租戶應用程式中作為最佳做法使用。 它們使您能夠開發應用程式,讓客戶可以創建和管理組繹、邀請成員並分配角色。', + organization_name_placeholder: '我的組繹', organization_description_placeholder: '組繹的簡要描述', organization_permission: '組繹權限', organization_permission_other: '組繹權限', @@ -22,14 +20,14 @@ const organizations = { organization_role: '組繹角色', organization_role_other: '組繹角色', organization_role_description: - '組繹角色是一組可以分配給用戶的權限。這些權限必須來自預定義的組繹權限。', + '組繹角色是一組可以分配給用戶的權限。 這些權限必須來自預定義的組繹權限。', role: '角色', search_placeholder: '按組繹名稱或 ID 搜索', search_role_placeholder: '輸入搜索並選擇角色', - empty_placeholder: '🤔 你目前尚未設置任何 {{entity}} 。', - organization_and_member: '組織和成員', + empty_placeholder: '🤔 你目前尚未設置任何 {{entity}}。', + organization_and_member: '組繹和成員', organization_and_member_description: - '組繹是一個用戶組的群組,可以代表團隊、商業客戶和合作夥伴公司,每個用戶都是一個「成員」。這些可以是處理多租戶需求的基本實體。', + '組繹是一個用戶組的群組,可以代表團隊、商業客戶和合作夥伴公司,每個用戶都是一個「成員」。 這些可以是處理多租戶需求的基本實體。', guide: { title: '從指南開始', subtitle: '使用我們的指南快速開始組繹設定', @@ -41,15 +39,15 @@ const organizations = { section_2: { title: '組繹模板旨在用於多租戶應用程式存取控制', description: - '在多租戶 SaaS 應用程式中,多個組織通常共用相同的存取控制模板,其中包括權限和角色。 在 Logto 中,我們稱之為「組繹模板」。', + '在多租戶SaaS應用程式中,多個組繹通常共用相同的存取控制模板,其中包括權限和角色。 在Logto中,我們稱之為「組繹模板」。', permission_description: '組繹權限是指在組繹上下文中訪問資源的授權。', - role_description_deprecated: '組繹角色是一組組繹權限,可以分配給成員。', - role_description: '組織角色是可以分配給成員的組織權限或API權限的分組。', + role_description_deprecated: '組繭角色是一組組繹權限,可以分配給成員。', + role_description: '組繹角色是可以分配給成員的組繹權限或API權限的分組。', }, section_3: { - title: '我可以將API權限指派給組織角色嗎?', + title: '我可以將API權限指派給組繹角色嗎?', description: - '是的,您可以將API權限指派給組織角色。Logto提供彈性,有效管理您組織的角色,允許您在這些角色中包含組織權限和API權限。', + '是的,您可以將API權限指派給組繭角色。 Logto提供彈性,有效管理您組繹的角色,允許您在這些角色中包含組繭權限和API權限。', }, section_4: { title: '與插圖互動,查看所有連結如何互相連接', @@ -62,7 +60,7 @@ const organizations = { admin: '管理員', member: '成員', guest: '訪客', - role_description: '角色 "{{role}}" 在不同的組繹中共用相同的組繹模板。', + role_description: '角色 "{{role}}" 在不同的組繭中共用相同的組繹模板。', john: '約翰', john_tip: '約翰的電子郵件地址為 "john@email.com",他屬於兩個組繹,分別作為組繹 A 的管理員和組繹 B 的訪客。', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/protected-app.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/protected-app.ts index 9af4f1a1c70..728bf1b085a 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/protected-app.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/protected-app.ts @@ -1,69 +1,36 @@ const protected_app = { - /** UNTRANSLATED */ - name: 'Protected App', - /** UNTRANSLATED */ - title: 'Create a Protected App: Add authentication with simplicity and epic speed', - /** UNTRANSLATED */ + name: '受保護應用程式', + title: '建立受保護應用程式:使用簡單和極速添加身份驗證', description: - 'Protected App securely maintains user sessions and proxies your app requests. Powered by Cloudflare Workers, enjoy the top-tier performance and 0ms cold start worldwide. Learn more', - /** UNTRANSLATED */ - fast_create: 'Fast create', - /** UNTRANSLATED */ - modal_title: 'Create Protected App', - /** UNTRANSLATED */ - modal_subtitle: - 'Enable secure and fast protection with clicks. Add authentication to your existing web app with ease.', + '受保護應用程式安全地維護使用者會話並代理您的應用程式請求。由 Cloudflare Workers 提供支持,享受全球頂尖性能和 0ms 全球即開啟速度。了解更多', + fast_create: '快速創建', + modal_title: '建立受保護應用程式', + modal_subtitle: '點擊啟用安全且高速的保護。輕鬆地為現有的 Web 應用程式添加身份驗證。', form: { - /** UNTRANSLATED */ - url_field_label: 'Your origin URL', - /** UNTRANSLATED */ + url_field_label: '您的原始 URL', url_field_placeholder: 'https://domain.com/', - /** UNTRANSLATED */ - url_field_description: 'Provide the address of your app requiring authentication protection.', - /** UNTRANSLATED */ - url_field_modification_notice: - 'Modifications to the origin URL may take up to 1-2 minutes to become effective across global network locations.', - /** UNTRANSLATED */ + url_field_description: '提供需要身份驗證保護的應用程式地址。', + url_field_modification_notice: '對原始 URL 的修改可能需要 1-2 分鐘在全球網絡位置生效。', url_field_tooltip: - "Provide the address of your application, excluding any '/pathname'. After creation, you can customize route authentication rules.\n\nNote: The origin URL itself doesn't necessitate authentication; protection is applied exclusively to accesses via the designated app domain.", - /** UNTRANSLATED */ - domain_field_label: 'App domain', - /** UNTRANSLATED */ + "提供應用程式的地址,不包括任何 '/pathname'。創建後,您可以自定義路由身份驗證規則。\n\n注意:原始 URL 本身不需要身份驗證;保護僅應用於通過指定應用程式域訪問的操作。", + domain_field_label: '應用程式域', domain_field_placeholder: 'your-domain', - /** UNTRANSLATED */ - domain_field_description: - 'This URL serves as an authentication protection proxy for the original URL. Custom domain can be applied after creation.', - /** UNTRANSLATED */ - domain_field_description_short: - 'This URL serves as an authentication protection proxy for the original URL.', - /** UNTRANSLATED */ + domain_field_description: '此 URL 用作原始 URL 的身份驗證保護代理。創建後可以應用自定義域。', + domain_field_description_short: '此 URL 用作原始 URL 的身份驗證保護代理。', domain_field_tooltip: - "Apps protected by Logto will be hosted at 'your-domain.{{domain}}' by default. Custom domain can be applied after creation.", - /** UNTRANSLATED */ - create_application: 'Create application', - /** UNTRANSLATED */ - create_protected_app: 'Fast create', + "由 Logto 保護的應用程式將默認托管在 'your-domain.{{domain}}'。創建後可以應用自定義域。", + create_application: '創建應用程式', + create_protected_app: '快速創建', errors: { - /** UNTRANSLATED */ - domain_required: 'Your domain is required.', - /** UNTRANSLATED */ - domain_in_use: 'This subdomain name is already in use.', - /** UNTRANSLATED */ - invalid_domain_format: - "Invalid subdomain format: use only lowercase letters, numbers, and hyphens '-'.", - /** UNTRANSLATED */ - url_required: 'Origin URL is required.', - /** UNTRANSLATED */ - invalid_url: - "Invalid origin URL format: Use http:// or https://. Note: '/pathname' is not currently supported.", - /** UNTRANSLATED */ - localhost: - 'Please expose your local server to the internet first. Learn more about local development.', + domain_required: '需要您的域。', + domain_in_use: '此子域名已在使用中。', + invalid_domain_format: "無效的子域名格式:僅使用小寫字母、數字和破折號 '-'。", + url_required: '需要原始 URL。', + invalid_url: "無效的原始 URL 格式:使用 http:// 或 https://。注意:目前不支持 '/pathname'。", + localhost: '請先將您的本地服務器暴露到互聯網上。了解有關本地開發的更多信息。', }, }, - /** UNTRANSLATED */ - success_message: - '🎉 App authentication successfully enabled! Explore the new experience of your website.', + success_message: '🎉 應用程式身份驗證已成功啟用!探索您的網站的新體驗。', }; export default Object.freeze(protected_app); 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 45d260767c6..e28919e5af3 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 @@ -13,6 +13,9 @@ const role_details = { '角色是一組權限,可以分配給用戶。它們還提供了一種聚合不同 API 定義的權限的方法,使得添加、刪除或調整權限比將其單獨分配給用戶更有效率。', field_name: '名稱', field_description: '描述', + field_is_default: '默認角色', + field_is_default_description: + '將此角色設置為新用戶的默認角色。可以設置多個默認角色。這也將影響通過管理 API 創建的用戶的默認角色。', type_m2m_role_tag: '機器對機器應用角色', type_user_role_tag: '用戶角色', permission: { @@ -41,7 +44,7 @@ const role_details = { assign_subtitle: '將用戶分配給此角色。通過搜索名稱、電子郵件、電話或用戶 ID 尋找適當的用戶。', assign_field: '分配用戶', confirm_assign: '分配用戶', - assigned_toast_text: 'The selected users were successfully assigned to this role', + assigned_toast_text: '所選用戶已成功分配給此角色', empty: '無可用用戶', }, applications: { @@ -55,7 +58,7 @@ const role_details = { assign_subtitle: '將應用程式分配給此角色。通過搜索名稱、描述或應用程式 ID 尋找合適的應用程式。', assign_field: '分配應用', confirm_assign: '分配應用', - assigned_toast_text: 'The selected applications were successfully assigned to this role', + assigned_toast_text: '所選應用程式已成功分配給此角色', empty: '沒有可用的應用程式', }, }; diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/tenant-members.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/tenant-members.ts index c2947d0cef9..e19945144b7 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/tenant-members.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/tenant-members.ts @@ -1,102 +1,59 @@ const tenant_members = { - /** UNTRANSLATED */ - members: 'Members', - /** UNTRANSLATED */ - invitations: 'Invitations', - /** UNTRANSLATED */ - invite_members: 'Invite members', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - roles: 'Roles', - /** UNTRANSLATED */ - admin: 'Admin', - /** UNTRANSLATED */ - collaborator: 'Collaborator', - /** UNTRANSLATED */ - invitation_status: 'Invitation status', - /** UNTRANSLATED */ - inviter: 'Inviter', - /** UNTRANSLATED */ - expiration_date: 'Expiration date', + members: '成員', + invitations: '邀請函', + invite_members: '邀請成員', + user: '使用者', + roles: '角色', + admin: '管理員', + collaborator: '合作夥伴', + invitation_status: '邀請狀態', + inviter: '邀請者', + expiration_date: '到期日期', invite_modal: { - /** UNTRANSLATED */ - title: 'Invite people to Silverhand', - /** UNTRANSLATED */ - subtitle: 'To invite members to an organization, they must accept the invitation.', - /** UNTRANSLATED */ - to: 'To', - /** UNTRANSLATED */ - added_as: 'Added as roles', - /** UNTRANSLATED */ + title: '邀請人加入 Silverhand', + subtitle: '要邀請成員加入組織,必須接受邀請。', + to: '寄至', + added_as: '以角色新增', email_input_placeholder: 'johndoe@example.com', }, invitation_statuses: { - /** UNTRANSLATED */ - pending: 'Pending', - /** UNTRANSLATED */ - accepted: 'Accepted', - /** UNTRANSLATED */ - expired: 'Expired', - /** UNTRANSLATED */ - revoked: 'Revoked', + pending: '待處理', + accepted: '已接受', + expired: '已過期', + revoked: '已撤銷', }, invitation_empty_placeholder: { - /** UNTRANSLATED */ - title: 'Invite team members', - /** UNTRANSLATED */ - description: - 'Your tenant currently has no members invited.\nTo assist with your integration, consider adding more members or admins.', + title: '邀請團隊成員', + description: '您的租戶目前沒有邀請的成員。\n為了協助您的整合,請考慮增加更多成員或管理員。', }, menu_options: { - /** UNTRANSLATED */ - edit: 'Edit tenant role', - /** UNTRANSLATED */ - delete: 'Remove user from tenant', - /** UNTRANSLATED */ - resend_invite: 'Resend invitation', - /** UNTRANSLATED */ - revoke: 'Revoke invitation', - /** UNTRANSLATED */ - delete_invitation_record: 'Delete this invitation record', + edit: '編輯租戶角色', + delete: '從租戶中刪除使用者', + resend_invite: '重新發送邀請', + revoke: '撤銷邀請', + delete_invitation_record: '刪除此邀請記錄', }, edit_modal: { - /** UNTRANSLATED */ - title: 'Change roles of {{name}}', + title: '更改 {{name}} 的角色', }, - /** UNTRANSLATED */ - delete_user_confirm: 'Are you sure you want to remove this user from this tenant?', - /** UNTRANSLATED */ + delete_user_confirm: '您確定要從此租戶中刪除這個使用者嗎?', assign_admin_confirm: - 'Are you sure you want to make the selected user(s) admin? Granting admin access will give the user(s) the following permissions.', - /** UNTRANSLATED */ - revoke_invitation_confirm: 'Are you sure you want to revoke this invitation?', - /** UNTRANSLATED */ - delete_invitation_confirm: 'Are you sure you want to delete this invitation record?', + '您確定要將所選使用者設為管理員嗎?授予管理員訪問權限將賦予使用者以下權限。', + revoke_invitation_confirm: '您確定要撤銷此邀請嗎?', + delete_invitation_confirm: '您確定要刪除此邀請記錄嗎?', messages: { - /** UNTRANSLATED */ - invitation_sent: 'Invitation sent.', - /** UNTRANSLATED */ - invitation_revoked: 'Invitation revoked.', - /** UNTRANSLATED */ - invitation_resend: 'Invitation resent.', - /** UNTRANSLATED */ - invitation_deleted: 'Invitation record deleted.', + invitation_sent: '邀請已發送。', + invitation_revoked: '邀請已撤銷。', + invitation_resend: '邀請已重新發送。', + invitation_deleted: '邀請記錄已刪除。', }, errors: { - /** UNTRANSLATED */ - email_required: 'Invitee email is required.', - /** UNTRANSLATED */ - email_exists: 'Email address already exists.', - /** UNTRANSLATED */ - member_exists: 'This user is already a member of this organization.', - /** UNTRANSLATED */ - pending_invitation_exists: - 'Pending invitation exists. Delete related email or revoke the invitation.', - /** UNTRANSLATED */ - invalid_email: 'Email address is invalid. Please make sure it is in the right format.', - /** UNTRANSLATED */ - max_member_limit: 'You have reached the maximum number of members ({{limit}}) for this tenant.', + email_required: '邀請人電子郵件為必填欄位。', + email_exists: '電子郵件地址已存在。', + member_exists: '此使用者已是組織的成員。', + pending_invitation_exists: '存在待處理的邀請。刪除相關電子郵件或撤銷邀請。', + invalid_email: '電子郵件地址無效。請確保其格式正確。', + max_member_limit: '您已達到此租戶的最大成員數限制({{limit}})。', }, }; 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 d6fdb84f134..698d3d5d1ec 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 @@ -73,7 +73,7 @@ const tenants = { '抱歉,您現在無法刪除此租戶。請確保您處於免費方案並已支付所有未結賬單。', }, leave_tenant_modal: { - description: '您確定要離開此租戶嗎?', + description: '您確定要離開此租戶?', leave_button: '離開', }, tenant_landing_page: { 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 59aa90d2610..59ea3d403f8 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 @@ -4,20 +4,13 @@ const webhooks = { subtitle: '創建 Webhook 以輕鬆收到特定事件的即時更新。', create: '創建 Webhook', schemas: { - /** UNTRANSLATED */ - interaction: 'User interaction', - /** UNTRANSLATED */ - user: 'User', - /** UNTRANSLATED */ - organization: 'Organization', - /** UNTRANSLATED */ - role: 'Role', - /** UNTRANSLATED */ - scope: 'Permission', - /** UNTRANSLATED */ - organization_role: 'Organization role', - /** UNTRANSLATED */ - organization_scope: 'Organization permission', + interaction: '使用者互動', + user: '使用者', + organization: '組織', + role: '角色', + scope: '權限', + organization_role: '組織角色', + organization_scope: '組織權限', }, table: { name: '名稱', @@ -33,7 +26,7 @@ const webhooks = { }, create_form: { title: '創建 Webhook', - subtitle: '添加 Webhook 以發送 POST 請求到端點 URL,包含任何用戶事件的詳細信息。', + subtitle: '添加 Webhook 以發送 POST 請求到端點 URL,包含任何使用者事件的詳細資訊。', events: '事件', events_description: '選擇 Logto 將發送 POST 請求的觸發事件。', name: '名稱',