From 892d3c0b108e3206168a69b0f8e1956c7ecf8a7a Mon Sep 17 00:00:00 2001 From: ex-vi Date: Thu, 6 Aug 2026 00:21:52 +0300 Subject: [PATCH 1/2] feat(localizations): complete uk-UA (Ukrainian) translations --- .changeset/uk-ua-complete-translations.md | 5 + packages/localizations/src/uk-UA.ts | 1743 +++++++++++---------- 2 files changed, 914 insertions(+), 834 deletions(-) create mode 100644 .changeset/uk-ua-complete-translations.md diff --git a/.changeset/uk-ua-complete-translations.md b/.changeset/uk-ua-complete-translations.md new file mode 100644 index 00000000000..6b423e72584 --- /dev/null +++ b/.changeset/uk-ua-complete-translations.md @@ -0,0 +1,5 @@ +--- +'@clerk/localizations': patch +--- + +Complete the Ukrainian (uk-UA) localization. All previously untranslated keys now have Ukrainian translations, covering the SSO configuration wizard (`configureSSO`), billing, checkout and pricing, organization and user profile billing pages, API keys, reverification, the MFA setup and password reset tasks, OAuth consent, passkeys, sign-in/sign-up flows, and error messages. diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index d30dea0a59c..e48636b5a32 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -15,694 +15,723 @@ import type { LocalizationResource } from '@clerk/shared/types'; export const ukUA: LocalizationResource = { locale: 'uk-UA', apiKeys: { - action__add: undefined, - action__search: undefined, + action__add: 'Додати новий ключ', + action__search: 'Пошук ключів', copySecret: { formButtonPrimary__copyAndClose: 'Копіювати та закрити', formHint: 'З міркувань безпеки ми не дозволимо вам переглянути його пізніше.', formTitle: 'Скопіюйте ваш API-ключ "{{name}}" зараз', }, - createdAndExpirationStatus__expiresOn: undefined, - createdAndExpirationStatus__never: undefined, - detailsTitle__emptyRow: undefined, - formButtonPrimary__add: undefined, - formFieldCaption__expiration__expiresOn: undefined, - formFieldCaption__expiration__never: undefined, - formFieldOption__expiration__180d: undefined, - formFieldOption__expiration__1d: undefined, - formFieldOption__expiration__1y: undefined, - formFieldOption__expiration__30d: undefined, - formFieldOption__expiration__60d: undefined, - formFieldOption__expiration__7d: undefined, - formFieldOption__expiration__90d: undefined, - formFieldOption__expiration__never: undefined, - formHint: undefined, - formTitle: undefined, - lastUsed__days: undefined, - lastUsed__hours: undefined, - lastUsed__minutes: undefined, - lastUsed__months: undefined, - lastUsed__seconds: undefined, - lastUsed__years: undefined, - menuAction__revoke: undefined, + createdAndExpirationStatus__expiresOn: + "Створено {{ createdDate | shortDate('uk-UA') }} • Термін дії до {{ expiresDate | longDate('uk-UA') }}", + createdAndExpirationStatus__never: "Створено {{ createdDate | shortDate('uk-UA') }} • Безстроковий", + detailsTitle__emptyRow: 'API-ключів не знайдено', + formButtonPrimary__add: 'Створити ключ', + formFieldCaption__expiration__expiresOn: 'Діє до {{ date }}', + formFieldCaption__expiration__never: 'Цей ключ безстроковий', + formFieldOption__expiration__180d: '180 днів', + formFieldOption__expiration__1d: '1 день', + formFieldOption__expiration__1y: '1 рік', + formFieldOption__expiration__30d: '30 днів', + formFieldOption__expiration__60d: '60 днів', + formFieldOption__expiration__7d: '7 днів', + formFieldOption__expiration__90d: '90 днів', + formFieldOption__expiration__never: 'Безстроково', + formHint: 'Вкажіть назву, щоб згенерувати новий ключ. Ви зможете відкликати його в будь-який момент.', + formTitle: 'Додати новий API-ключ', + lastUsed__days: '{{days}} дн. тому', + lastUsed__hours: '{{hours}} год. тому', + lastUsed__minutes: '{{minutes}} хв. тому', + lastUsed__months: '{{months}} міс. тому', + lastUsed__seconds: '{{seconds}} с тому', + lastUsed__years: '{{years}} р. тому', + menuAction__revoke: 'Відкликати ключ', revokeConfirmation: { - confirmationText: undefined, - formButtonPrimary__revoke: undefined, - formHint: undefined, - formTitle: undefined, - inputLabel: undefined, - }, - tableHeader__actions: undefined, - tableHeader__lastUsed: undefined, - tableHeader__name: undefined, + confirmationText: 'Відкликати', + formButtonPrimary__revoke: 'Відкликати ключ', + formHint: 'Ви впевнені, що хочете видалити цей секретний ключ?', + formTitle: 'Відкликати секретний ключ "{{apiKeyName}}"?', + inputLabel: 'Введіть "Відкликати", щоб підтвердити', + }, + tableHeader__actions: 'Дії', + tableHeader__lastUsed: 'Останнє використання', + tableHeader__name: 'Назва', }, backButton: 'Назад', - badge__activePlan: undefined, - badge__banned: undefined, - badge__canceledEndsAt: undefined, - badge__currentPlan: undefined, + badge__activePlan: 'Активний', + badge__banned: 'Заблокований', + badge__canceledEndsAt: "Скасовано • Завершується {{ date | shortDate('uk-UA') }}", + badge__currentPlan: 'Поточний план', badge__default: 'За замовчуванням', - badge__deprovisioned: undefined, - badge__endsAt: undefined, - badge__expired: undefined, - badge__freeTrial: undefined, + badge__deprovisioned: 'Деактивовано', + badge__endsAt: "Завершується {{ date | shortDate('uk-UA') }}", + badge__expired: 'Термін дії минув', + badge__freeTrial: 'Безкоштовний пробний період', badge__otherImpersonatorDevice: 'Інший пристрій-двійник', - badge__pastDueAt: undefined, - badge__pastDuePlan: undefined, + badge__pastDueAt: "Прострочено {{ date | shortDate('uk-UA') }}", + badge__pastDuePlan: 'Прострочено', badge__primary: 'Основний', - badge__renewsAt: undefined, + badge__renewsAt: "Поновлюється {{ date | shortDate('uk-UA') }}", badge__requiresAction: 'Потребує дії', - badge__startsAt: undefined, + badge__startsAt: "Починається {{ date | shortDate('uk-UA') }}", badge__thisDevice: 'Цей пристрій', - badge__trialEndsAt: undefined, + badge__trialEndsAt: "Пробний період завершується {{ date | shortDate('uk-UA') }}", badge__unverified: 'Неперевірений', - badge__upcomingPlan: undefined, + badge__upcomingPlan: 'Наступний', badge__userDevice: 'Пристрій користувача', badge__you: 'Ви', billing: { - accountCredit: undefined, - addPaymentMethod__label: undefined, - alwaysFree: undefined, - annually: undefined, - availableFeatures: undefined, - billedAnnually: undefined, - billedAnnuallyOnly: undefined, - billedMonthly: undefined, - billedMonthlyOnly: undefined, - cancelFreeTrial: undefined, - cancelFreeTrialAccessUntil: undefined, - cancelFreeTrialTitle: undefined, - cancelSubscription: undefined, - cancelSubscriptionAccessUntil: undefined, - cancelSubscriptionNoCharge: undefined, - cancelSubscriptionPastDue: undefined, - cancelSubscriptionTitle: undefined, - cannotSubscribeMonthly: undefined, - cannotSubscribeUnrecoverable: undefined, + accountCredit: 'Кредит облікового запису', + addPaymentMethod__label: 'Додати спосіб оплати', + alwaysFree: 'Завжди безкоштовно', + annually: 'Щорічно', + availableFeatures: 'Доступні функції', + billedAnnually: 'Оплата щорічно', + billedAnnuallyOnly: 'Оплата лише щорічно', + billedMonthly: 'Оплата щомісяця', + billedMonthlyOnly: 'Оплата лише щомісяця', + cancelFreeTrial: 'Скасувати безкоштовний пробний період', + cancelFreeTrialAccessUntil: + "Ваш пробний період залишатиметься активним до {{ date | longDate('uk-UA') }}. Після цього ви втратите доступ до функцій пробного періоду. Кошти не стягуватимуться.", + cancelFreeTrialTitle: 'Скасувати безкоштовний пробний період плану {{plan}}?', + cancelSubscription: 'Скасувати підписку', + cancelSubscriptionAccessUntil: + "Ви можете користуватися функціями плану '{{plan}}' до {{ date | longDate('uk-UA') }}, після чого втратите доступ.", + cancelSubscriptionNoCharge: 'Кошти за цю підписку не стягуватимуться.', + cancelSubscriptionPastDue: + 'Вашу підписку буде негайно завершено, і ви втратите доступ до всіх функцій плану. Під час наступної підписки вам буде запропоновано сплатити прострочену суму.', + cancelSubscriptionTitle: 'Скасувати підписку {{plan}}?', + cannotSubscribeMonthly: + 'Ви не можете оформити цей план зі щомісячною оплатою. Щоб підписатися на цей план, виберіть щорічну оплату.', + cannotSubscribeUnrecoverable: 'Ви не можете підписатися на цей план. Ваша поточна підписка дорожча за цей план.', checkout: { - description__paymentSuccessful: undefined, - description__subscriptionSuccessful: undefined, - downgradeNotice: undefined, + description__paymentSuccessful: 'Ваш платіж успішно виконано.', + description__subscriptionSuccessful: 'Вашу нову підписку оформлено.', + downgradeNotice: + 'Ваша поточна підписка та її функції діятимуть до кінця розрахункового періоду, після чого вас буде переведено на цю підписку.', emailForm: { - subtitle: undefined, - title: undefined, + subtitle: 'Перш ніж завершити покупку, додайте адресу електронної пошти, на яку надсилатимуться квитанції.', + title: 'Додайте адресу електронної пошти', }, lineItems: { - title__freeTrialEndsAt: undefined, - title__paymentMethod: undefined, - title__statementId: undefined, - title__subscriptionBegins: undefined, - title__totalPaid: undefined, - }, - pastDueNotice: undefined, - perMonth: undefined, - title: undefined, - title__paymentSuccessful: undefined, - title__subscriptionSuccessful: undefined, - title__trialSuccess: undefined, - totalDueAfterTrial: undefined, - totalDuePerPeriod: undefined, - }, - credit: undefined, - creditRemainder: undefined, - defaultFreePlanActive: undefined, - free: undefined, - getStarted: undefined, - highlightedPlanBadge: undefined, - keepFreeTrial: undefined, - keepSubscription: undefined, - manage: undefined, - manageSubscription: undefined, - month: undefined, - monthAbbreviation: undefined, - monthPerUnit: undefined, - monthly: undefined, - pastDue: undefined, - pay: undefined, - payerCreditRemainder: undefined, + title__freeTrialEndsAt: 'Пробний період завершується', + title__paymentMethod: 'Спосіб оплати', + title__statementId: 'Ідентифікатор виписки', + title__subscriptionBegins: 'Підписка починається', + title__totalPaid: 'Усього сплачено', + }, + pastDueNotice: 'Ваша попередня підписка була прострочена без оплати.', + perMonth: 'на місяць', + title: 'Оформлення замовлення', + title__paymentSuccessful: 'Платіж успішно виконано!', + title__subscriptionSuccessful: 'Готово!', + title__trialSuccess: 'Пробний період успішно розпочато!', + totalDueAfterTrial: 'Усього до сплати після завершення пробного періоду через {{days}} дн.', + totalDuePerPeriod: 'Усього до сплати за період', + }, + credit: 'Кредит', + creditRemainder: 'Кредит за залишок вашої поточної підписки.', + defaultFreePlanActive: 'Наразі ви користуєтеся безкоштовним планом', + free: 'Безкоштовно', + getStarted: 'Розпочати', + highlightedPlanBadge: 'Популярний', + keepFreeTrial: 'Залишити безкоштовний пробний період', + keepSubscription: 'Залишити підписку', + manage: 'Керувати', + manageSubscription: 'Керувати підпискою', + month: 'Місяць', + monthAbbreviation: 'міс', + monthPerUnit: 'Місяць за {{unitName}}', + monthly: 'Щомісячно', + pastDue: 'Прострочено', + pay: 'Сплатити {{amount}}', + payerCreditRemainder: 'Кредит із балансу рахунку.', paymentMethod: { applePayDescription: { - annual: undefined, - monthly: undefined, + annual: 'Щорічний платіж', + monthly: 'Щомісячний платіж', }, dev: { - anyNumbers: undefined, - cardNumber: undefined, - cvcZip: undefined, - developmentMode: undefined, - expirationDate: undefined, - testCardInfo: undefined, + anyNumbers: 'Будь-які цифри', + cardNumber: 'Номер картки', + cvcZip: 'CVC, поштовий індекс', + developmentMode: 'Режим розробки', + expirationDate: 'Термін дії', + testCardInfo: 'Дані тестової картки', }, }, - paymentMethods__label: undefined, + paymentMethods__label: 'Способи оплати', pricingTable: { - billingCycle: undefined, - included: undefined, + billingCycle: 'Розрахунковий період', + included: 'Включено', seatCost: { - additionalSeats: undefined, - freeUpToSeats: undefined, - includedSeats: undefined, - perSeat: undefined, + additionalSeats: '({{additionalTierFeePerBlockAmount}}/{{periodAbbreviation}} за додаткові)', + freeUpToSeats: 'Безкоштовно до {{endsAfterBlock}} місць', + includedSeats: 'Включено {{includedSeats}} місць', + perSeat: '{{feePerBlockAmount}}/{{periodAbbreviation}} за місце', tooltip: { - additionalSeatsEach: undefined, - firstSeatsIncludedInPlan: undefined, - freeForUpToSeats: undefined, + additionalSeatsEach: 'Додаткові місця коштують {{feePerBlockAmount}}/{{period}} кожне.', + firstSeatsIncludedInPlan: 'Перші {{endsAfterBlock}} місць включено в план.', + freeForUpToSeats: 'Безкоштовно до {{endsAfterBlock}} місць.', }, - unlimitedSeats: undefined, - upToSeats: undefined, - }, - }, - proratedDiscount: undefined, - prorationCredit: undefined, - reSubscribe: undefined, - seatBreakdownIncludedPlural: undefined, - seatBreakdownIncludedSingular: undefined, - seatBreakdownPlural: undefined, - seatBreakdownSingular: undefined, - seats: undefined, - seatsWithLimit: undefined, - seeAllFeatures: undefined, - startFreeTrial: undefined, - startFreeTrial__days: undefined, - subscribe: undefined, + unlimitedSeats: 'Необмежена кількість місць', + upToSeats: 'До {{endsAfterBlock}} місць', + }, + }, + proratedDiscount: 'Пропорційна знижка', + prorationCredit: 'Пропорційний кредит', + reSubscribe: 'Поновити підписку', + seatBreakdownIncludedPlural: '{{chargeable}} місць по {{rate}}/міс ({{totalSeats}} всього - {{included}} включено)', + seatBreakdownIncludedSingular: '1 місце по {{rate}}/міс ({{totalSeats}} всього - {{included}} включено)', + seatBreakdownPlural: '{{chargeable}} місць по {{rate}}/міс', + seatBreakdownSingular: '1 місце по {{rate}}/міс', + seats: 'Місця', + seatsWithLimit: 'Місця (до {{limit}})', + seeAllFeatures: 'Переглянути всі функції', + startFreeTrial: 'Почати безкоштовний пробний період', + startFreeTrial__days: 'Почати {{days}}-денний безкоштовний пробний період', + subscribe: 'Підписатися', subscriptionDetails: { - beginsOn: undefined, - currentBillingCycle: undefined, - endsOn: undefined, - firstPaymentAmount: undefined, - firstPaymentOn: undefined, - nextPaymentAmount: undefined, - nextPaymentOn: undefined, - pastDueAt: undefined, - renewsAt: undefined, - subscribedOn: undefined, - title: undefined, - trialEndsOn: undefined, - trialStartedOn: undefined, - }, - subtotal: undefined, - subtotalRenewal: undefined, - switchPlan: undefined, - switchToAnnual: undefined, - switchToAnnualWithAnnualPrice: undefined, - switchToMonthly: undefined, - switchToMonthlyWithPrice: undefined, - totalDue: undefined, - totalDuePerPeriod: undefined, - totalDueToday: undefined, - viewFeatures: undefined, - viewPayment: undefined, - year: undefined, - yearAbbreviation: undefined, - yearPerUnit: undefined, + beginsOn: 'Починається', + currentBillingCycle: 'Поточний розрахунковий період', + endsOn: 'Завершується', + firstPaymentAmount: 'Сума першого платежу', + firstPaymentOn: 'Перший платіж', + nextPaymentAmount: 'Сума наступного платежу', + nextPaymentOn: 'Наступний платіж', + pastDueAt: 'Прострочено з', + renewsAt: 'Поновлюється', + subscribedOn: 'Підписка оформлена', + title: 'Підписка', + trialEndsOn: 'Пробний період завершується', + trialStartedOn: 'Пробний період розпочато', + }, + subtotal: 'Проміжна сума', + subtotalRenewal: 'Проміжна сума за період', + switchPlan: 'Перейти на цей план', + switchToAnnual: 'Перейти на щорічну оплату', + switchToAnnualWithAnnualPrice: 'Перейти на щорічну оплату {{price}} / рік', + switchToMonthly: 'Перейти на щомісячну оплату', + switchToMonthlyWithPrice: 'Перейти на щомісячну оплату {{price}} / місяць', + totalDue: 'Усього до сплати', + totalDuePerPeriod: 'Усього за період', + totalDueToday: 'Усього до сплати сьогодні', + viewFeatures: 'Переглянути функції', + viewPayment: 'Переглянути платіж', + year: 'Рік', + yearAbbreviation: 'р', + yearPerUnit: 'Рік за {{unitName}}', }, configureSSO: { activate: { - activateButton: undefined, - activeSubtitle: undefined, - activeTitle: undefined, - doneButton: undefined, - skipButton: undefined, - subtitle: undefined, - title: undefined, + activateButton: 'Активувати SSO', + activeSubtitle: 'Усі, хто входить із {{domain}}, повинні використовувати вашого постачальника ідентифікації.', + activeTitle: "З'єднання SSO активне", + doneButton: 'Готово', + skipButton: 'Пропустити поки що', + subtitle: + "Ваше з'єднання SSO готове. Після активації всі, хто входить із {{domain}}, повинні використовувати вашого постачальника ідентифікації.", + title: "З'єднання SSO налаштовано", }, changeProviderDialog: { - cancelButton: undefined, - confirmButton: undefined, - subtitle: undefined, - title: undefined, + cancelButton: 'Скасувати', + confirmButton: 'Змінити постачальника', + subtitle: "Перехід на {{provider}} видалить ваше з'єднання {{currentProvider}} і вимагатиме нового налаштування.", + title: 'Змінити постачальника на {{provider}}', }, configureStep: { activeConnectionWarning: { - dismiss: undefined, - title: undefined, + dismiss: 'Закрити', + title: + "Це з'єднання активне. Збережені зміни застосовуються негайно і можуть порушити вхід для поточних учасників.", }, attributeMappingTable: { badges: { - optional: undefined, - required: undefined, + optional: "Необов'язковий", + required: "Обов'язковий", }, }, oidcCustom: { credentialsStep: { clientId: { - label: undefined, - placeholder: undefined, + label: 'Ідентифікатор клієнта', + placeholder: 'Вставте ідентифікатор клієнта сюди...', }, clientSecret: { - label: undefined, - placeholder: undefined, + label: 'Секрет клієнта', + placeholder: 'Вставте секрет клієнта сюди...', }, - headerSubtitle: undefined, - paragraph: undefined, + headerSubtitle: 'Додайте облікові дані вашого застосунку', + paragraph: 'Отримайте ці значення в OIDC-застосунку вашого постачальника ідентифікації.', }, endpointsStep: { discoveryUrl: { - description: undefined, - label: undefined, - placeholder: undefined, + description: + 'Отримайте discovery-ендпоінт в OIDC-застосунку вашого постачальника ідентифікації. Вставте його нижче.', + label: 'Discovery-ендпоінт', + placeholder: 'Вставте URL сюди...', }, - headerSubtitle: undefined, + headerSubtitle: 'Додайте ендпоінти вашого постачальника ідентифікації', manual: { authUrl: { - label: undefined, - placeholder: undefined, + label: 'URL авторизації', + placeholder: 'Вставте URL сюди...', }, - description: undefined, + description: 'Отримайте ці значення в OIDC-застосунку вашого постачальника ідентифікації.', tokenUrl: { - label: undefined, - placeholder: undefined, + label: 'URL токена', + placeholder: 'Вставте URL сюди...', }, userInfoUrl: { - label: undefined, - placeholder: undefined, + label: 'URL даних користувача', + placeholder: 'Вставте URL сюди...', }, }, modes: { - ariaLabel: undefined, - discoveryUrl: undefined, - manual: undefined, + ariaLabel: 'Спосіб налаштування ендпоінтів OIDC', + discoveryUrl: 'Додати через discovery-ендпоінт', + manual: 'Налаштувати вручну', }, }, - mainHeaderTitle: undefined, + mainHeaderTitle: 'Налаштуйте вашого постачальника ідентифікації', redirectUriStep: { claims: { - description: undefined, + description: 'Переконайтеся, що ваш ID-токен містить такі клейми:', table: { columns: { - attribute: undefined, - claim: undefined, + attribute: 'Атрибут Clerk', + claim: 'Клейм ID-токена', }, rows: { email: { - attribute: undefined, + attribute: 'Основна електронна пошта', }, firstName: { - attribute: undefined, + attribute: "Ім'я", }, lastName: { - attribute: undefined, + attribute: 'Прізвище', }, subject: { - attribute: undefined, + attribute: 'Зовнішній ID користувача', }, }, }, }, - headerSubtitle: undefined, - paragraph: undefined, + headerSubtitle: 'Створіть новий OIDC-застосунок у панелі керування вашого постачальника ідентифікації', + paragraph: + 'У панелі керування вашого постачальника ідентифікації створіть новий OIDC-застосунок із підтримкою типу авторизації authorization code та використайте такий redirect URI:', redirectUri: { - label: undefined, + label: 'Авторизований redirect URI', }, }, }, samlCustom: { assignUsersStep: { - headerSubtitle: undefined, - paragraph: undefined, + headerSubtitle: 'Призначте користувачів або групи вашому SAML-застосунку', + paragraph: 'Призначте користувачів або групи вашому застосунку, перш ніж вони зможуть входити через SSO.', }, attributeMappingStep: { attributeMappingTable: { columns: { - attributeName: undefined, - userAttribute: undefined, + attributeName: 'Назва атрибута', + userAttribute: 'Атрибут користувача', }, rows: { email: { - attributeName: undefined, - userAttribute: undefined, + attributeName: 'Основна електронна пошта', + userAttribute: 'mail', }, firstName: { - attributeName: undefined, - userAttribute: undefined, + attributeName: "Ім'я", + userAttribute: 'firstName', }, lastName: { - attributeName: undefined, - userAttribute: undefined, + attributeName: 'Прізвище', + userAttribute: 'lastName', }, }, }, - headerSubtitle: undefined, - paragraph: undefined, + headerSubtitle: 'Зіставте атрибути користувачів вашого постачальника ідентифікації з вашим застосунком.', + paragraph: 'Ваша SAML-відповідь повинна містити такі атрибути:', }, createAppStep: { createAppInstructions: { - paragraph: undefined, + paragraph: + 'У панелі керування вашого постачальника ідентифікації створіть новий застосунок SAML 2.0 та використайте такі дані постачальника послуг:', }, - headerSubtitle: undefined, + headerSubtitle: 'Створіть новий SAML-застосунок у панелі керування вашого постачальника ідентифікації', serviceProviderFields: { acsUrl: { - label: undefined, + label: 'URL Assertion Consumer Service (ACS)', }, spEntityId: { - label: undefined, + label: 'Entity ID', }, }, }, identityProviderMetadataStep: { - headerSubtitle: undefined, + headerSubtitle: 'Налаштуйте метадані постачальника ідентифікації', manual: { - description: undefined, + description: 'Отримайте ці значення в SAML-застосунку вашого постачальника ідентифікації.', issuer: { - label: undefined, - placeholder: undefined, + label: 'Issuer', + placeholder: 'Вставте URL сюди...', }, signOnUrl: { - label: undefined, - placeholder: undefined, + label: 'URL входу', + placeholder: 'Вставте URL сюди...', }, signingCertificate: { - fileUploaded: undefined, - label: undefined, - removeFile: undefined, - replaceFile: undefined, - uploadFile: undefined, + fileUploaded: 'Файл завантажено', + label: 'Сертифікат підпису', + removeFile: 'Видалити файл', + replaceFile: 'Замінити файл', + uploadFile: 'Завантажити файл', }, }, metadataUrl: { - description: undefined, - label: undefined, - placeholder: undefined, + description: + 'Отримайте URL метаданих у SAML-застосунку вашого постачальника ідентифікації. Вставте його нижче.', + label: 'URL метаданих', + placeholder: 'Вставте URL сюди...', }, modes: { - ariaLabel: undefined, - manual: undefined, - metadataUrl: undefined, + ariaLabel: 'Налаштування ', + manual: 'Налаштувати вручну', + metadataUrl: 'Додати через метадані', }, }, - mainHeaderTitle: undefined, + mainHeaderTitle: 'Налаштуйте вашого постачальника ідентифікації', }, samlGoogle: { attributeMappingStep: { attributeMappingTable: { columns: { - appAttribute: undefined, - googleAttribute: undefined, + appAttribute: 'Атрибут застосунку', + googleAttribute: 'Атрибут Google', }, rows: { email: { - appAttribute: undefined, - googleAttribute: undefined, + appAttribute: 'email', + googleAttribute: 'Основна електронна пошта', }, firstName: { - appAttribute: undefined, - googleAttribute: undefined, + appAttribute: 'firstName', + googleAttribute: "Ім'я", }, lastName: { - appAttribute: undefined, - googleAttribute: undefined, + appAttribute: 'lastName', + googleAttribute: 'Прізвище', }, }, }, - headerSubtitle: undefined, - paragraph: undefined, - step1: undefined, - step2: undefined, + headerSubtitle: 'Зіставте атрибути користувачів Google Workspace з вашим застосунком', + paragraph: "Очікується, що ваша SAML-відповідь поверне електронну пошту, ім'я та прізвище користувача.", + step1: 'У Google Admin Console знайдіть розділ Attributes.', + step2: 'Виберіть Add mapping для кожного атрибута та введіть такі атрибути Google і застосунку:', }, configureUserAccess: { assignUsersInstructions: { - paragraph1: undefined, - paragraph2: undefined, - step1: undefined, - step2: undefined, - step3: undefined, + paragraph1: 'Після завершення налаштування в Google вас буде перенаправлено на сторінку огляду застосунку.', + paragraph2: + "Google може знадобитися до 24 годин, щоб застосувати ці зміни. З'єднання залишатиметься неактивним, доки вони не наберуть чинності.", + step1: 'Відкрийте розділ User access.', + step2: 'Виберіть ON for everyone.', + step3: 'Виберіть Save.', }, - headerSubtitle: undefined, + headerSubtitle: 'Увімкніть ваш SAML-застосунок Google Workspace', }, createAppStep: { createAppInstructions: { - step1: undefined, - step2: undefined, - step3: undefined, - step4: undefined, - title: undefined, + step1: 'У бічній навігації в розділі Apps виберіть Web and mobile apps.', + step2: 'Виберіть Add app, потім Add custom SAML app.', + step3: 'Введіть App name.', + step4: 'Виберіть Continue.', + title: 'У Google Workspace створіть новий SAML-застосунок:', }, - headerSubtitle: undefined, + headerSubtitle: 'Створіть новий SAML-застосунок у Google Workspace', }, identityProviderMetadataStep: { - headerSubtitle: undefined, + headerSubtitle: 'Додайте метадані вашого застосунку Google Workspace', manual: { - description: undefined, + description: 'Отримайте ці значення у вашому застосунку Google Workspace.', issuer: { - label: undefined, - placeholder: undefined, + label: 'Entity ID', + placeholder: 'Вставте URL сюди...', }, signOnUrl: { - label: undefined, - placeholder: undefined, + label: 'SSO URL', + placeholder: 'Вставте URL сюди...', }, signingCertificate: { - fileUploaded: undefined, - label: undefined, - removeFile: undefined, - replaceFile: undefined, - uploadFile: undefined, + fileUploaded: 'Файл завантажено', + label: 'Сертифікат підпису', + removeFile: 'Видалити файл', + replaceFile: 'Замінити файл', + uploadFile: 'Завантажити файл', }, }, metadataFile: { - description: undefined, - fileUploaded: undefined, - label: undefined, - removeFile: undefined, - replaceFile: undefined, - uploadFile: undefined, + description: 'У застосунку Google Workspace отримайте файл метаданих IdP і завантажте його нижче.', + fileUploaded: 'Файл завантажено', + label: 'Метадані IdP', + removeFile: 'Видалити файл', + replaceFile: 'Замінити файл', + uploadFile: 'Завантажити файл', }, modes: { - ariaLabel: undefined, - manual: undefined, - metadataFile: undefined, + ariaLabel: 'Налаштування', + manual: 'Налаштувати вручну', + metadataFile: 'Додати через метадані', }, }, - mainHeaderTitle: undefined, + mainHeaderTitle: 'Налаштуйте Google Workspace', serviceProviderStep: { - headerSubtitle: undefined, + headerSubtitle: 'Налаштуйте постачальника послуг', nameIdInstructions: { - step1: undefined, - step2: undefined, + step1: + 'У розділі Name ID відкрийте випадний список формату Name ID і виберіть Email.', + step2: 'Виберіть Continue', }, - paragraph: undefined, + paragraph: + 'Щоб налаштувати постачальника послуг, додайте ці два поля до вашого SAML-застосунку Google Workspace:', serviceProviderFields: { acsUrl: { - label: undefined, + label: 'ACS URL', }, spEntityId: { - label: undefined, + label: 'Entity ID', }, }, - title: undefined, + title: 'Налаштуйте постачальника послуг', }, }, samlMicrosoft: { attributeMappingStep: { attributeMappingTable: { columns: { - attribute: undefined, - claimName: undefined, - value: undefined, + attribute: 'Атрибут', + claimName: 'Назва клейму', + value: 'Значення', }, - copyClaimName: undefined, - copyClaimNameCopied: undefined, + copyClaimName: 'Копіювати назву клейму', + copyClaimNameCopied: 'Скопійовано', rows: { email: { - attribute: undefined, - claimName: undefined, - value: undefined, + attribute: 'Адреса електронної пошти', + claimName: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', + value: 'user.mail', }, firstName: { - attribute: undefined, - claimName: undefined, - value: undefined, + attribute: "Ім'я", + claimName: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname', + value: 'user.givenname', }, lastName: { - attribute: undefined, - claimName: undefined, - value: undefined, + attribute: 'Прізвище', + claimName: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname', + value: 'user.surname', }, }, }, - headerSubtitle: undefined, - step1: undefined, - step2: undefined, - title: undefined, + headerSubtitle: 'Налаштуйте атрибути, які Microsoft Entra включає у вашу SAML-відповідь', + step1: 'На сторінці SAML-based Sign-on знайдіть розділ Attributes & Claims.', + step2: 'Виберіть Edit.', + title: 'Ваша SAML-відповідь повинна містити такі атрибути:', }, createAppStep: { assignUsersInstructions: { - step1: undefined, - step2: undefined, - step3: undefined, - step4: undefined, - step5: undefined, - title: undefined, + step1: 'У розділі Getting Started виберіть Assign users and groups.', + step2: + 'Виберіть Add user/group. Вас буде перенаправлено на сторінку Add Assignment.', + step3: 'Виберіть посилання None Selected.', + step4: + 'Виберіть Select унизу сторінки. Вас буде перенаправлено на сторінку Add Assignment.', + step5: 'Виберіть Assign', + title: 'Призначте користувачів або групи в Microsoft', }, createAppInstructions: { - step1: undefined, - step2: undefined, - step3: undefined, + step1: 'Увійдіть у Microsoft Azure Portal і перейдіть до Enterprise applications.', + step2: + 'Натисніть New application. Вас буде перенаправлено на сторінку Browse Microsoft Entra Gallery.', + step3: 'Виберіть Create your own application.', step4: { - label: undefined, + label: 'У вікні, що відкриється:', subSteps: { - appName: undefined, - create: undefined, - nonGallery: undefined, + appName: 'Вкажіть назву вашого застосунку.', + create: 'Виберіть Create.', + nonGallery: + "Виберіть Integrate any other application you don't find in the gallery (Non-gallery).", }, }, - title: undefined, + title: 'Створіть новий корпоративний застосунок', }, - headerSubtitle: undefined, + headerSubtitle: 'Створіть новий корпоративний застосунок у вашому Azure Portal', }, identityProviderMetadataStep: { - headerSubtitle: undefined, + headerSubtitle: 'Додайте метадані вашого застосунку Microsoft Entra', manual: { - description: undefined, + description: + 'На сторінці SAML-based Sign-on знайдіть розділ SAML Certificates. Отримайте ці значення та додайте їх нижче.', issuer: { - label: undefined, - placeholder: undefined, + label: 'Issuer', + placeholder: 'Вставте URL сюди...', }, signOnUrl: { - label: undefined, - placeholder: undefined, + label: 'URL входу', + placeholder: 'Вставте URL сюди...', }, signingCertificate: { - fileUploaded: undefined, - label: undefined, - removeFile: undefined, - replaceFile: undefined, - uploadFile: undefined, + fileUploaded: 'Файл завантажено', + label: 'Сертифікат підпису', + removeFile: 'Видалити файл', + replaceFile: 'Замінити файл', + uploadFile: 'Завантажити файл', }, }, metadataUrl: { - description: undefined, - label: undefined, - placeholder: undefined, + description: + 'На сторінці SAML-based Sign-on знайдіть розділ SAML Certificates і скопіюйте App Federation Metadata Url. Вставте нижче.', + label: 'URL метаданих', + placeholder: 'Вставте URL сюди...', }, modes: { - ariaLabel: undefined, - manual: undefined, - metadataUrl: undefined, + ariaLabel: 'Налаштування ', + manual: 'Налаштувати вручну', + metadataUrl: 'Додати через метадані', }, }, - mainHeaderTitle: undefined, + mainHeaderTitle: 'Налаштуйте Microsoft Entra', serviceProviderStep: { - headerSubtitle: undefined, + headerSubtitle: 'Додайте конфігурацію постачальника послуг у Microsoft Entra', serviceProviderFields: { acsUrl: { - label: undefined, + label: 'Reply URL (Assertion Consumer Service URL)', }, spEntityId: { - label: undefined, + label: 'Identifier (Entity ID)', }, }, - step1: undefined, - step2: undefined, - step3: undefined, - step4: undefined, - step5: undefined, - step6: undefined, - title: undefined, + step1: 'У бічній навігації відкрийте випадний список Manage і виберіть Single sign-on.', + step2: 'У розділі Select a single sign-on method виберіть SAML.', + step3: 'Знайдіть розділ Basic SAML Configuration.', + step4: 'Виберіть Edit. Відкриється панель Basic SAML Configuration.', + step5: + 'Скопіюйте такі значення в поля Identifier (Entity ID) та Reply URL (ACS URL):', + step6: 'Виберіть Save угорі панелі. Закрийте панель.', + title: 'Додайте дані постачальника послуг', }, }, samlOkta: { assignUsersStep: { assignUsersInstructions: { - paragraph: undefined, - step1: undefined, - step2: undefined, - step3: undefined, - step4: undefined, - step5: undefined, + paragraph: + 'Призначте користувачів або групи вашому застосунку Okta, перш ніж вони зможуть входити через SSO', + step1: 'У панелі керування Okta виберіть вкладку Assignments.', + step2: + 'Відкрийте випадний список Assign і виберіть Assign to people або Assign to groups.', + step3: 'Знайдіть користувача або групу для призначення.', + step4: 'Натисніть Assign поруч із користувачем або групою.', + step5: 'Натисніть Done.', }, - headerSubtitle: undefined, + headerSubtitle: 'Призначте користувачів вашому застосунку Okta', }, attributeMappingStep: { attributeMappingTable: { columns: { - expression: undefined, - name: undefined, + expression: 'Вираз', + name: 'Назва атрибута', }, rows: { email: { - expression: undefined, - name: undefined, + expression: 'user.profile.email', + name: 'mail', }, firstName: { - expression: undefined, - name: undefined, + expression: 'user.profile.firstName', + name: 'firstName', }, lastName: { - expression: undefined, - name: undefined, + expression: 'user.profile.lastName', + name: 'lastName', }, }, }, - headerSubtitle: undefined, - paragraph: undefined, - step1: undefined, - step2: undefined, + headerSubtitle: 'Налаштуйте атрибути, які Okta включає у вашу SAML-відповідь', + paragraph: 'Ваша SAML-відповідь повинна містити такі атрибути:', + step1: 'У панелі керування Okta знайдіть розділ Attribute Statements.', + step2: 'Виберіть Add Expression для кожного атрибута та введіть такі пари назв і виразів:', }, createAppStep: { completeSamlIntegrationInstructions: { - step1: undefined, - step2: undefined, - title: undefined, + step1: + 'У розділі Feedback виберіть This is an internal app that we have created.', + step2: 'Натисніть Finish, щоб завершити інтеграцію.', + title: 'Завершіть SAML-інтеграцію', }, createAppInstructions: { - step1: undefined, - step2: undefined, - step3: undefined, - step4: undefined, - title: undefined, + step1: 'Увійдіть в Okta і перейдіть до Admin → Applications.', + step2: 'Натисніть Create App Integration. і виберіть SAML 2.0.', + step3: "Заповніть General Settings. Назва застосунку обов'язкова.", + step4: 'Натисніть Next, щоб завершити створення застосунку.', + title: 'Створіть новий SAML-застосунок в Okta', }, - headerSubtitle: undefined, + headerSubtitle: 'Створіть і налаштуйте SAML-застосунок у вашій панелі керування Okta', serviceProviderInstructions: { - paragraph1: undefined, - paragraph2: undefined, + paragraph1: + 'Після заповнення General Settings ви побачите сторінку Configure SAML.', + paragraph2: 'Додайте ці два поля до вашого застосунку Okta, щоб налаштувати постачальника послуг.', serviceProviderFields: { acsUrl: { - label: undefined, + label: 'Single sign-on URL', }, spEntityId: { - label: undefined, + label: 'Audience URI (SP Entity ID)', }, }, - title: undefined, + title: 'Налаштуйте постачальника послуг', }, }, identityProviderMetadataStep: { - headerSubtitle: undefined, + headerSubtitle: 'Додайте метадані вашого застосунку Okta', manual: { - description: undefined, + description: + 'У вашому SAML-застосунку Okta перейдіть на вкладку Sign On і отримайте ці значення.', issuer: { - label: undefined, - placeholder: undefined, + label: 'Issuer', + placeholder: 'Вставте URL сюди...', }, signOnUrl: { - label: undefined, - placeholder: undefined, + label: 'URL входу', + placeholder: 'Вставте URL сюди...', }, signingCertificate: { - fileUploaded: undefined, - label: undefined, - removeFile: undefined, - replaceFile: undefined, - uploadFile: undefined, + fileUploaded: 'Файл завантажено', + label: 'Сертифікат підпису', + removeFile: 'Видалити файл', + replaceFile: 'Замінити файл', + uploadFile: 'Завантажити файл', }, }, metadataUrl: { - description: undefined, - label: undefined, - placeholder: undefined, + description: + 'У вашому SAML-застосунку Okta перейдіть на вкладку Sign On, отримайте URL метаданих і вставте його нижче.', + label: 'URL метаданих', + placeholder: 'Вставте URL сюди...', }, modes: { - ariaLabel: undefined, - manual: undefined, - metadataUrl: undefined, + ariaLabel: 'Налаштування', + manual: 'Налаштувати вручну', + metadataUrl: 'Додати через метадані', }, }, - mainHeaderTitle: undefined, + mainHeaderTitle: 'Налаштуйте Okta Workforce', }, unsupportedProvider: { - description: undefined, - title: undefined, + description: + 'Цей постачальник ідентифікації не підтримується в цій версії Clerk. Оновіться до останньої версії, щоб завершити налаштування.', + title: 'Непідтримуваний постачальник', }, }, missingManageEnterpriseConnectionsPermission: { @@ -714,13 +743,15 @@ export const ukUA: LocalizationResource = { }, organizationDomainsStep: { domainCard: { - badge__expired: undefined, + badge__expired: 'Термін дії минув', badge__unverified: 'Не підтверджено', badge__verified: 'Підтверджено', - expiredAtLabel: undefined, - expiredLabel: undefined, - removeButtonTooltip__lastVerifiedDomain: undefined, - removeButtonTooltip__lastVerifiedDomainActive: undefined, + expiredAtLabel: + "Термін дії підтвердження домену минув {{ date | shortDate('uk-UA') }}. Підтвердьте знову, щоб згенерувати новий DNS-запис.", + expiredLabel: 'Термін дії підтвердження домену минув. Підтвердьте знову, щоб згенерувати новий DNS-запис.', + removeButtonTooltip__lastVerifiedDomain: 'Для налаштування SSO потрібен принаймні один підтверджений домен.', + removeButtonTooltip__lastVerifiedDomainActive: + 'Щоб SSO залишався ввімкненим, потрібен принаймні один підтверджений домен.', txtRecord: { hostLabel: 'Хост / Імʼя', instructions: @@ -729,7 +760,7 @@ export const ukUA: LocalizationResource = { valueLabel: 'Значення', }, verifiedAtLabel: "Підтверджено {{ date | shortDate('uk-UA') }}", - verifyAgainButton: undefined, + verifyAgainButton: 'Підтвердити знову', }, domainSuggestion: { formButtonPrimary__add: 'Додати {{domain}}', @@ -739,33 +770,35 @@ export const ukUA: LocalizationResource = { formFieldInputPlaceholder__domain: 'Додати домен', formFieldLabel__domain: 'Домен', removeDomainDialog: { - cancelButton: undefined, - removeButton: undefined, - subtitle__active: undefined, - subtitle__inactive: undefined, - title: undefined, + cancelButton: 'Скасувати', + removeButton: 'Видалити домен', + subtitle__active: + "Ви збираєтеся видалити {{domain}} з цього корпоративного з'єднання. Користувачі більше не зможуть входити з {{domain}}.", + subtitle__inactive: "Ви збираєтеся видалити {{domain}} з цього корпоративного з'єднання.", + title: 'Видалення домену', }, subtitle: 'Додайте та підтвердьте право власності на домени, які ваша організація використовує для входу.', title: 'Додати домени SSO', }, resetConnectionDialog: { - cancelButton: undefined, - confirmationFieldLabel: undefined, - confirmationFieldPlaceholder: undefined, - resetButton: undefined, - subtitle: undefined, - title: undefined, + cancelButton: 'Скасувати', + confirmationFieldLabel: 'Введіть "{{name}}" нижче, щоб продовжити', + confirmationFieldPlaceholder: '{{name}}', + resetButton: "Скинути з'єднання", + subtitle: + "Ви впевнені, що хочете скинути з'єднання? Ця дія незворотна, і вам доведеться налаштувати всі кроки знову", + title: "Скинути з'єднання", }, selectProviderStep: { oidc: { - groupLabel: undefined, - oidcProvider: undefined, + groupLabel: 'OpenID Connect (OIDC)', + oidcProvider: 'Постачальник OIDC', }, saml: { customSaml: 'Користувацький постачальник SAML', - google: undefined, + google: 'Google Workspace', groupLabel: 'SAML', - microsoft: undefined, + microsoft: 'Microsoft Entra (колишній AD)', okta: 'Okta Workforce', }, subtitle: 'Виберіть постачальника, для якого ви налаштовуватимете SSO.', @@ -773,68 +806,75 @@ export const ukUA: LocalizationResource = { warning: 'Після вибору постачальника ви не зможете змінити його, доки не буде завершено налаштування', }, testConfigurationStep: { - error__noSuccessfulTestRun: undefined, - subtitle: undefined, + error__noSuccessfulTestRun: + 'Перш ніж продовжити, потрібен принаймні один успішний тестовий запуск. Згенеруйте тестовий URL і пройдіть процес входу.', + subtitle: "Увійдіть через тестовий URL, щоб переконатися, що ваше з'єднання SSO налаштовано правильно", testResults: { - actionLabel__refresh: undefined, + actionLabel__refresh: 'Оновити журнали', empty: { - subtitle: undefined, - title: undefined, + subtitle: 'Виберіть Відкрити тестовий URL, щоб запустити перший тест', + title: 'Немає результатів тестування', }, - polling: undefined, - status__failed: undefined, - status__pending: undefined, - status__success: undefined, - title: undefined, + polling: 'Очікування завершення тестового запуску…', + status__failed: 'Невдало', + status__pending: 'В очікуванні', + status__success: 'Успішно', + title: 'Ваші результати тестування', }, testRunDetails: { howToFix: { - actionLabel__viewDocumentation: undefined, + actionLabel__viewDocumentation: 'Переглянути документацію', oauth_access_denied: { - description: undefined, + description: + 'Ця помилка виникає, коли користувач натиснув "Скасувати" або "Відхилити" на екрані авторизації постачальника OAuth, або постачальник відхилив запит на авторизацію. Переконайтеся, що облікові дані OAuth-застосунку (Client ID і Client Secret) налаштовано правильно.', }, oauth_fetch_user_error: { - intro: undefined, - step1: undefined, - step2: undefined, + intro: 'Щоб виправити цю помилку, виконайте такі кроки:', + step1: + "Переконайтеся, що області доступу (scopes) OAuth, налаштовані у вашому з'єднанні, містять необхідні дозволи для читання інформації профілю користувача.", + step2: 'Переконайтеся, що URL ендпоінта даних користувача налаштовано правильно.', }, oauth_token_exchange_error: { - description: undefined, + description: + 'Переконайтеся, що Client ID і Client Secret вашого OAuth-застосунку налаштовано правильно і вони збігаються з обліковими даними з панелі керування вашого постачальника OAuth.', }, saml_email_address_domain_mismatch: { - description: undefined, + description: + "Переконайтеся, що користувач входить з адресою електронної пошти, яка відповідає одному з дозволених доменів цього з'єднання. Якщо потрібно додати інші домени, оновіть список дозволених доменів у налаштуваннях з'єднання.", }, saml_response_relaystate_missing: { - description: undefined, + description: + 'Перевірте, що ваш постачальник ідентифікації коректно повертає параметр RelayState, надісланий у початковому запиті.', }, saml_user_attribute_missing: { - intro: undefined, - step1: undefined, - step2: undefined, - step3: undefined, + intro: 'Щоб виправити цю помилку, виконайте такі кроки:', + step1: 'Відкрийте панель налаштувань вашого постачальника ідентифікації.', + step2: 'Перейдіть до налаштувань SAML вашого застосунку або конфігурації зіставлення атрибутів.', + step3: + 'Переконайтеся, що атрибут "mail" правильно зіставлено з полем адреси електронної пошти користувача.', }, - sectionTitle: undefined, + sectionTitle: 'Як виправити', }, parsedUserInfo: { - email: undefined, - firstName: undefined, - sectionTitle: undefined, + email: 'Електронна пошта', + firstName: "Ім'я", + sectionTitle: 'Розпізнані дані користувача', }, runDetails: { - actionLabel__copied: undefined, - actionLabel__copy: undefined, - errorCode: undefined, - fullMessage: undefined, - sectionTitle: undefined, - status: undefined, - timestamp: undefined, + actionLabel__copied: 'Скопійовано', + actionLabel__copy: 'Копіювати повідомлення', + errorCode: 'Код помилки', + fullMessage: 'Повне повідомлення', + sectionTitle: 'Деталі запуску', + status: 'Статус', + timestamp: 'Часова мітка', }, - title: undefined, + title: 'Тестовий запуск', }, testUrl: { - actionLabel__open: undefined, + actionLabel__open: 'Відкрити тестовий URL', }, - title: undefined, + title: "Протестуйте ваше з'єднання SSO", }, }, createOrganization: { @@ -853,7 +893,7 @@ export const ukUA: LocalizationResource = { sameDay: "Сьогодні в {{ date | timeString('uk-UA') }}", }, dividerText: 'або', - footerActionLink__alternativePhoneCodeProvider: undefined, + footerActionLink__alternativePhoneCodeProvider: 'Надіслати код через SMS', footerActionLink__useAnotherMethod: 'Використовувати інший метод', footerPageLink__help: 'Допомога', footerPageLink__privacy: 'Приватність', @@ -866,26 +906,26 @@ export const ukUA: LocalizationResource = { formFieldError__verificationLinkExpired: 'The verification link expired. Please request a new link.', formFieldHintText__optional: "Необов'язково", formFieldHintText__slug: 'A slug is a human-readable ID that must be unique. It’s often used in URLs.', - formFieldInputPlaceholder__apiKeyDescription: undefined, - formFieldInputPlaceholder__apiKeyExpirationDate: undefined, - formFieldInputPlaceholder__apiKeyName: undefined, - formFieldInputPlaceholder__backupCode: undefined, + formFieldInputPlaceholder__apiKeyDescription: 'Поясніть, навіщо ви генеруєте цей ключ', + formFieldInputPlaceholder__apiKeyExpirationDate: 'Виберіть дату', + formFieldInputPlaceholder__apiKeyName: 'Введіть назву секретного ключа', + formFieldInputPlaceholder__backupCode: 'Введіть резервний код', formFieldInputPlaceholder__confirmDeletionUserAccount: 'Delete account', - formFieldInputPlaceholder__emailAddress: undefined, - formFieldInputPlaceholder__emailAddress_username: undefined, + formFieldInputPlaceholder__emailAddress: 'Введіть вашу адресу електронної пошти', + formFieldInputPlaceholder__emailAddress_username: "Введіть пошту або ім'я користувача", formFieldInputPlaceholder__emailAddresses: 'Введіть або вставте одну або більше адрес електронної пошти, розділених пробілами або комами', - formFieldInputPlaceholder__firstName: undefined, - formFieldInputPlaceholder__lastName: undefined, - formFieldInputPlaceholder__organizationDomain: undefined, - formFieldInputPlaceholder__organizationDomainEmailAddress: undefined, - formFieldInputPlaceholder__organizationName: undefined, - formFieldInputPlaceholder__organizationSlug: undefined, - formFieldInputPlaceholder__password: undefined, - formFieldInputPlaceholder__phoneNumber: undefined, - formFieldInputPlaceholder__signUpPassword: undefined, - formFieldInputPlaceholder__username: undefined, - formFieldInput__emailAddress_format: undefined, + formFieldInputPlaceholder__firstName: "Ім'я", + formFieldInputPlaceholder__lastName: 'Прізвище', + formFieldInputPlaceholder__organizationDomain: 'example.com', + formFieldInputPlaceholder__organizationDomainEmailAddress: 'you@example.com', + formFieldInputPlaceholder__organizationName: 'Назва організації', + formFieldInputPlaceholder__organizationSlug: 'moia-org', + formFieldInputPlaceholder__password: 'Введіть ваш пароль', + formFieldInputPlaceholder__phoneNumber: 'Введіть ваш номер телефону', + formFieldInputPlaceholder__signUpPassword: 'Створіть пароль', + formFieldInputPlaceholder__username: "Введіть ваше ім'я користувача", + formFieldInput__emailAddress_format: 'Приклад формату: name@example.com', formFieldLabel__apiKey: 'API-ключ', formFieldLabel__apiKeyDescription: 'Опис', formFieldLabel__apiKeyExpiration: 'Термін дії', @@ -908,39 +948,40 @@ export const ukUA: LocalizationResource = { 'Enter an email address under this domain to receive a code and verify this domain.', formFieldLabel__organizationName: 'Назва організації', formFieldLabel__organizationSlug: 'URL адреса', - formFieldLabel__passkeyName: undefined, + formFieldLabel__passkeyName: 'Назва ключа доступу', formFieldLabel__password: 'Пароль', formFieldLabel__phoneNumber: 'Номер телефону', formFieldLabel__role: 'Роль', formFieldLabel__signOutOfOtherSessions: 'Вийти з усіх інших пристроїв', formFieldLabel__username: "Ім'я користувача", - identityPreviewEditButton__emailAddress: undefined, - identityPreviewEditButton__identifier: undefined, - identityPreviewEditButton__phoneNumber: undefined, + identityPreviewEditButton__emailAddress: 'Змінити адресу електронної пошти', + identityPreviewEditButton__identifier: 'Змінити ідентифікатор', + identityPreviewEditButton__phoneNumber: 'Змінити номер телефону', impersonationFab: { action__signOut: 'Вийти', title: 'Ви увійшли як {{identifier}}', }, lastAuthenticationStrategy: 'Останнє використання', - maintenanceMode: undefined, + maintenanceMode: 'Наразі проводяться технічні роботи, але не хвилюйтеся, це не займе більше кількох хвилин.', membershipRole__admin: 'Адміністратор', membershipRole__basicMember: 'Член', membershipRole__guestMember: 'Гість', oauthConsent: { - action__allow: undefined, - action__deny: undefined, - offlineAccessNotice: undefined, - redirectNotice: undefined, + action__allow: 'Дозволити', + action__deny: 'Відхилити', + offlineAccessNotice: ' Ви залишатиметеся в системі, доки не вийдете або не відкличете доступ.', + redirectNotice: 'Якщо ви дозволите доступ, цей застосунок перенаправить вас на {{domainAction}}.', redirectUriModal: { - subtitle: undefined, - title: undefined, + subtitle: 'Переконайтеся, що ви довіряєте {{applicationName}} і що цей URL належить {{applicationName}}.', + title: 'URL перенаправлення', }, scopeList: { - title: undefined, + title: 'Це надасть {{applicationName}} доступ до:', }, - subtitle: undefined, - viewFullUrl: undefined, - warning: undefined, + subtitle: 'запитує доступ до {{applicationName}} від імені {{identifier}}', + viewFullUrl: 'Переглянути повний URL', + warning: + 'Переконайтеся, що ви довіряєте {{applicationName}} ({{domainAction}}). Ви можете передавати конфіденційні дані цьому сайту або застосунку.', }, organizationList: { action__createOrganization: 'Create organization', @@ -955,86 +996,87 @@ export const ukUA: LocalizationResource = { }, organizationProfile: { apiKeysPage: { - title: undefined, + title: 'API-ключі', }, badge__automaticInvitation: 'Automatic invitations', badge__automaticSuggestion: 'Automatic suggestions', - badge__enterpriseSso: undefined, + badge__enterpriseSso: 'Корпоративний SSO', badge__manualInvitation: 'No automatic enrollment', badge__unverified: 'Unverified', billingPage: { accountCreditsSection: { - title: undefined, - viewHistory: undefined, + title: 'Кредити облікового запису', + viewHistory: 'Переглянути історію кредитів', }, creditHistoryPage: { - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + title: 'Історія кредитів облікового запису', }, paymentHistorySection: { - empty: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - tableHeader__status: undefined, + empty: 'Історія платежів відсутня', + notFound: 'Спробу платежу не знайдено', + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + tableHeader__status: 'Статус', }, paymentMethodsSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Зробити основним', + actionLabel__remove: 'Видалити', + add: 'Додати новий спосіб оплати', + addSubtitle: 'Додайте новий спосіб оплати до вашого облікового запису.', + cancelButton: 'Скасувати', + formButtonPrimary__add: 'Додати спосіб оплати', + formButtonPrimary__pay: 'Сплатити {{amount}}', + payWithTestCardButton: 'Сплатити тестовою карткою', removeMethod: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} буде видалено з цього облікового запису.', + messageLine2: + 'Ви більше не зможете використовувати цей спосіб оплати, і всі регулярні підписки, які від нього залежать, перестануть працювати.', + successMessage: '{{paymentMethod}} було видалено з вашого облікового запису.', + title: 'Видалити спосіб оплати', }, - title: undefined, + title: 'Способи оплати', }, start: { - headerTitle__payments: undefined, - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Платежі', + headerTitle__plans: 'Плани', + headerTitle__statements: 'Виписки', + headerTitle__subscriptions: 'Підписка', }, statementsSection: { - empty: undefined, - itemCaption__paidForPlan: undefined, - itemCaption__payerCredit: undefined, - itemCaption__proratedCredit: undefined, - itemCaption__subscribedAndPaidForPlan: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, - totalPaid: undefined, + empty: 'Немає виписок для відображення', + itemCaption__paidForPlan: 'Оплачено план {{plan}} ({{period}})', + itemCaption__payerCredit: 'Кредит із балансу рахунку', + itemCaption__proratedCredit: 'Пропорційний кредит за часткове використання попередньої підписки', + itemCaption__subscribedAndPaidForPlan: 'Оформлено підписку та оплачено план {{plan}} ({{period}})', + notFound: 'Виписку не знайдено', + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + title: 'Виписки', + totalPaid: 'Усього сплачено', }, subscriptionsListSection: { - actionLabel__manageSubscription: undefined, - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - includedSeatsUsage: undefined, - overview: undefined, - paidSeatsUsage: undefined, - seatLimit: undefined, - seatLimitAndIncludedSeats: undefined, - tableHeader__edit: undefined, - tableHeader__plan: undefined, - tableHeader__startDate: undefined, - title: undefined, + actionLabel__manageSubscription: 'Керувати', + actionLabel__newSubscription: 'Підписатися на план', + actionLabel__switchPlan: 'Змінити план', + includedSeatsUsage: 'Включено {{includedSeats}} місць', + overview: 'Огляд', + paidSeatsUsage: '{{seatsQuantity}} місць x {{amount}}', + seatLimit: 'До {{seatLimit}} місць', + seatLimitAndIncludedSeats: 'До {{seatLimit}} місць ({{includedSeats}} включено)', + tableHeader__edit: 'Редагувати', + tableHeader__plan: 'План', + tableHeader__startDate: 'Дата початку', + title: 'Підписка', }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Керувати', }, switchPlansSection: { - title: undefined, + title: 'Змінити план', }, - title: undefined, + title: 'Оплата', }, createDomainPage: { subtitle: @@ -1044,7 +1086,7 @@ export const ukUA: LocalizationResource = { invitePage: { detailsTitle__inviteFailed: 'Запрошення не вдалося надіслати. Виправте наступне і повторіть спробу:', formButtonPrimary__continue: 'Надіслати запрошення', - formButtonPrimary__purchaseSeats: undefined, + formButtonPrimary__purchaseSeats: 'Придбати додаткові місця', selectDropdown__role: 'Select role', subtitle: 'Запросіть нових учасників до цієї організації', successMessage: 'Запрошення успішно надіслано', @@ -1052,10 +1094,10 @@ export const ukUA: LocalizationResource = { }, membersPage: { action__invite: 'Запросити', - action__search: undefined, + action__search: 'Пошук', activeMembersTab: { menuAction__remove: 'Видалити учасника', - tableHeader__actions: undefined, + tableHeader__actions: 'Дії', tableHeader__joined: 'Приєднався', tableHeader__role: 'Роль', tableHeader__user: 'Користувач', @@ -1099,20 +1141,21 @@ export const ukUA: LocalizationResource = { }, }, navbar: { - apiKeys: undefined, - billing: undefined, + apiKeys: 'API-ключі', + billing: 'Оплата', description: 'Manage your organization.', general: 'General', members: 'Members', - security: undefined, + security: 'Безпека', title: 'Organization', }, plansPage: { alerts: { - noPermissionsToManageBilling: undefined, - planMembershipLimitExceeded: undefined, + noPermissionsToManageBilling: 'У вас немає дозволів на керування оплатою цієї організації.', + planMembershipLimitExceeded: + 'У вашій організації {{count}} учасників (включно з очікуваними запрошеннями). Цей план дозволяє лише {{limit}} учасників.', }, - title: undefined, + title: 'Плани', }, profilePage: { dangerSection: { @@ -1153,36 +1196,40 @@ export const ukUA: LocalizationResource = { }, securityPage: { removeDialog: { - confirmButton: undefined, - subtitle: undefined, - title: undefined, + confirmButton: "Видалити з'єднання", + subtitle: + "Ви впевнені, що хочете видалити з'єднання? Ця дія незворотна і видаляє з'єднання та всю його конфігурацію.", + title: "Видалити з'єднання SSO", }, ssoSection: { - badge__active: undefined, - badge__inProgress: undefined, - badge__inactive: undefined, - badge__unconfigured: undefined, - descriptionLine1: undefined, - domainLabel: undefined, - menuAction__activate: undefined, - menuAction__deactivate: undefined, - menuAction__edit: undefined, - menuAction__remove: undefined, - primaryButton__continueConfiguration: undefined, - primaryButton__startConfiguration: undefined, - title: undefined, - tooltip: undefined, - tooltipLabel: undefined, - tooltip__noRole: undefined, - }, - title: undefined, + badge__active: 'Активне', + badge__inProgress: 'В процесі', + badge__inactive: 'Неактивне', + badge__unconfigured: 'Не налаштовано', + descriptionLine1: + 'Вимагайте від учасників із відповідним доменом електронної пошти входити через вашого постачальника ідентифікації.', + domainLabel: 'Домени:', + menuAction__activate: 'Активувати', + menuAction__deactivate: 'Деактивувати', + menuAction__edit: 'Редагувати', + menuAction__remove: 'Видалити', + primaryButton__continueConfiguration: 'Продовжити налаштування', + primaryButton__startConfiguration: 'Почати налаштування', + title: 'SSO', + tooltip: + 'Учасники без відповідного домену все ще можуть входити за допомогою наявних методів автентифікації. Новим учасникам буде призначено роль {{role}} у цій організації.', + tooltipLabel: 'Докладніше', + tooltip__noRole: + 'Учасники без відповідного домену все ще можуть входити за допомогою наявних методів автентифікації.', + }, + title: 'Безпека', }, start: { headerTitle__general: 'General', headerTitle__members: 'Учасники', - membershipSeatUsageLabel: undefined, + membershipSeatUsageLabel: 'Використано {{count}} з {{limit}} місць', profileSection: { - primaryButton: undefined, + primaryButton: 'Оновити профіль', title: 'Profile', uploadAction__title: 'Logo', }, @@ -1225,11 +1272,11 @@ export const ukUA: LocalizationResource = { }, }, organizationSwitcher: { - action__closeOrganizationSwitcher: undefined, + action__closeOrganizationSwitcher: 'Закрити перемикач організацій', action__createOrganization: 'Створити організацію', action__invitationAccept: 'Join', action__manageOrganization: 'Управління організацією', - action__openOrganizationSwitcher: undefined, + action__openOrganizationSwitcher: 'Відкрити перемикач організацій', action__suggestionsAccept: 'Request to join', notSelected: 'Організація не обрана', personalWorkspace: 'Особистий робочий простір', @@ -1241,67 +1288,69 @@ export const ukUA: LocalizationResource = { paginationRowText__of: 'з', reverification: { alternativeMethods: { - actionLink: undefined, - actionText: undefined, - blockButton__backupCode: undefined, - blockButton__emailCode: undefined, - blockButton__passkey: undefined, - blockButton__password: undefined, - blockButton__phoneCode: undefined, - blockButton__totp: undefined, + actionLink: 'Допомога', + actionText: 'Не маєте жодного з цих методів?', + blockButton__backupCode: 'Використати резервний код', + blockButton__emailCode: 'Надіслати код на {{identifier}}', + blockButton__passkey: 'Використати ключ доступу', + blockButton__password: 'Продовжити з паролем', + blockButton__phoneCode: 'Надіслати SMS-код на {{identifier}}', + blockButton__totp: 'Використати додаток автентифікації', getHelp: { - blockButton__emailSupport: undefined, - content: undefined, - title: undefined, + blockButton__emailSupport: 'Написати в підтримку', + content: + 'Якщо у вас виникли труднощі з підтвердженням вашого облікового запису, напишіть нам, і ми попрацюємо з вами, щоб відновити доступ якнайшвидше.', + title: 'Допомога', }, - subtitle: undefined, - title: undefined, + subtitle: 'Виникли проблеми? Ви можете використати будь-який із цих методів для підтвердження.', + title: 'Використати інший метод', }, backupCodeMfa: { - subtitle: undefined, - title: undefined, + subtitle: 'Введіть резервний код, який ви отримали під час налаштування двоетапної перевірки', + title: 'Введіть резервний код', }, emailCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Код підтвердження', + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'Введіть код, надісланий на вашу електронну пошту, щоб продовжити', + title: 'Потрібне підтвердження', }, noAvailableMethods: { - message: undefined, - subtitle: undefined, - title: undefined, + message: 'Не вдається виконати підтвердження. Не налаштовано жодного відповідного фактора автентифікації', + subtitle: 'Виникла помилка', + title: 'Не вдалося підтвердити ваш обліковий запис', }, passkey: { - blockButton__passkey: undefined, - subtitle: undefined, - title: undefined, + blockButton__passkey: 'Використати ключ доступу', + subtitle: + 'Використання ключа доступу підтверджує вашу особу. Ваш пристрій може запитати відбиток пальця, обличчя або код блокування екрана.', + title: 'Використайте ключ доступу', }, password: { - actionLink: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Використати інший метод', + subtitle: 'Введіть ваш поточний пароль, щоб продовжити', + title: 'Потрібне підтвердження', }, phoneCode: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Код підтвердження', + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'Введіть код, надісланий на ваш телефон, щоб продовжити', + title: 'Потрібне підтвердження', }, phoneCodeMfa: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Код підтвердження', + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'Введіть код, надісланий на ваш телефон, щоб продовжити', + title: 'Потрібне підтвердження', }, totpMfa: { - formTitle: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Код підтвердження', + subtitle: 'Введіть код, згенерований вашим додатком автентифікації, щоб продовжити', + title: 'Потрібне підтвердження', }, }, searchInput: { - action__clear: undefined, + action__clear: 'Очистити пошук', }, signIn: { accountSwitcher: { @@ -1316,7 +1365,7 @@ export const ukUA: LocalizationResource = { blockButton__backupCode: 'Використовуйте код відновлення', blockButton__emailCode: 'Надіслати код на {{identifier}}', blockButton__emailLink: 'Надіслати посилання на {{identifier}}', - blockButton__passkey: undefined, + blockButton__passkey: 'Увійти за допомогою ключа доступу', blockButton__password: 'Увійти з паролем', blockButton__phoneCode: 'Надіслати код на {{identifier}}', blockButton__totp: 'Використовуйте аутентифікатор', @@ -1330,10 +1379,10 @@ export const ukUA: LocalizationResource = { title: 'Використовувати інший метод', }, alternativePhoneCodeProvider: { - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formTitle: 'Код підтвердження', + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'щоб продовжити роботу в "{{applicationName}}"', + title: 'Перевірте ваш {{provider}}', }, backupCodeMfa: { subtitle: 'щоб продовжити роботу в "{{applicationName}}"', @@ -1353,8 +1402,9 @@ export const ukUA: LocalizationResource = { }, emailLink: { clientMismatch: { - subtitle: undefined, - title: undefined, + subtitle: + 'Щоб продовжити, відкрийте посилання для підтвердження на пристрої та в браузері, з яких ви розпочали вхід', + title: 'Посилання для підтвердження недійсне для цього пристрою', }, expired: { subtitle: 'Поверніться на початкову вкладку, щоб продовжити.', @@ -1386,8 +1436,8 @@ export const ukUA: LocalizationResource = { titleNewTab: 'Ви ввійшли на іншій вкладці', }, verifiedTransferable: { - subtitle: undefined, - title: undefined, + subtitle: 'Поверніться на початкову вкладку, щоб продовжити', + title: 'Електронну пошту підтверджено', }, }, emailLinkMfa: { @@ -1397,8 +1447,8 @@ export const ukUA: LocalizationResource = { title: 'Перевірте свою електронну пошту', }, enterpriseConnections: { - subtitle: undefined, - title: undefined, + subtitle: 'Виберіть корпоративний обліковий запис, з яким бажаєте продовжити.', + title: 'Виберіть ваш корпоративний обліковий запис', }, forgotPassword: { formTitle: 'Код відновлення пароля', @@ -1421,8 +1471,9 @@ export const ukUA: LocalizationResource = { title: 'Не вдалося увійти', }, passkey: { - subtitle: undefined, - title: undefined, + subtitle: + 'Використання ключа доступу підтверджує, що це ви. Ваш пристрій може запитати відбиток пальця, обличчя або код блокування екрана.', + title: 'Використайте ключ доступу', }, password: { actionLink: 'Використати інший метод', @@ -1430,13 +1481,13 @@ export const ukUA: LocalizationResource = { title: 'Введіть пароль', }, passwordCompromised: { - title: undefined, + title: 'Пароль скомпрометовано', }, passwordPwned: { - title: undefined, + title: 'Пароль скомпрометовано', }, passwordUntrusted: { - title: undefined, + title: 'Пароль може бути ненадійним', }, phoneCode: { formTitle: 'Код підтвердження', @@ -1447,14 +1498,14 @@ export const ukUA: LocalizationResource = { phoneCodeMfa: { formTitle: 'Код підтвердження', resendButton: 'Не отримали код? повторно відправити', - subtitle: undefined, + subtitle: 'Щоб продовжити, введіть код підтвердження, надісланий на ваш телефон', title: 'Перевірте свій телефон', }, protectCheck: { - loading: undefined, - retryButton: undefined, - subtitle: undefined, - title: undefined, + loading: 'Завантаження…', + retryButton: 'Спробувати ще раз', + subtitle: 'Зачекайте, поки ми перевіряємо ваш запит.', + title: 'Перевірка вашого запиту', }, resetPassword: { formButtonPrimary: 'Скинути пароль', @@ -1467,28 +1518,28 @@ export const ukUA: LocalizationResource = { }, start: { actionLink: 'Зареєструватися', - actionLink__join_waitlist: undefined, + actionLink__join_waitlist: 'Приєднатися до списку очікування', actionLink__use_email: 'Використовувати пошту', actionLink__use_email_username: "Використовувати пошту або ім'я користувача", - actionLink__use_passkey: undefined, + actionLink__use_passkey: 'Використати ключ доступу', actionLink__use_phone: 'Використовувати номер телефону', actionLink__use_username: "Використовувати ім'я користувача", actionText: 'Немає акаунта?', - actionText__join_waitlist: undefined, + actionText__join_waitlist: 'Бажаєте ранній доступ?', alternativePhoneCodeProvider: { - actionLink: undefined, - label: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Використати інший метод', + label: 'Номер телефону {{provider}}', + subtitle: 'Введіть ваш номер телефону, щоб отримати код підтвердження в {{provider}}.', + title: 'Увійдіть у {{applicationName}} через {{provider}}', }, subtitle: 'щоб продовжити роботу в "{{applicationName}}"', subtitleCombined: undefined, title: 'Увійти', - titleCombined: undefined, + titleCombined: 'Продовжити до {{applicationName}}', }, totpMfa: { formTitle: 'Верифікаційний код', - subtitle: undefined, + subtitle: 'Щоб продовжити, введіть код підтвердження, згенерований вашим додатком автентифікації', title: 'Двоетапна перевірка', }, web3Solana: { @@ -1499,9 +1550,9 @@ export const ukUA: LocalizationResource = { signInEnterPasswordTitle: 'Введіть Ваш пароль', signUp: { alternativePhoneCodeProvider: { - resendButton: undefined, - subtitle: undefined, - title: undefined, + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'Введіть код підтвердження, надісланий на ваш {{provider}}', + title: 'Підтвердьте ваш {{provider}}', }, continue: { actionLink: 'Увійти', @@ -1518,8 +1569,9 @@ export const ukUA: LocalizationResource = { }, emailLink: { clientMismatch: { - subtitle: undefined, - title: undefined, + subtitle: + 'Щоб продовжити, відкрийте посилання для підтвердження на пристрої та в браузері, з яких ви розпочали реєстрацію', + title: 'Посилання для підтвердження недійсне для цього пристрою', }, formSubtitle: 'Використовуйте посилання для підтвердження, надіслане на вашу електронну адресу', formTitle: 'Посилання для підтвердження', @@ -1539,18 +1591,19 @@ export const ukUA: LocalizationResource = { }, }, enterpriseConnections: { - subtitle: undefined, - title: undefined, + subtitle: 'Виберіть корпоративний обліковий запис, з яким бажаєте продовжити.', + title: 'Виберіть ваш корпоративний обліковий запис', }, legalConsent: { checkbox: { - label__onlyPrivacyPolicy: undefined, - label__onlyTermsOfService: undefined, - label__termsOfServiceAndPrivacyPolicy: undefined, + label__onlyPrivacyPolicy: 'Я погоджуюся з {{ privacyPolicyLink || link("Політикою конфіденційності") }}', + label__onlyTermsOfService: 'Я погоджуюся з {{ termsOfServiceLink || link("Умовами використання") }}', + label__termsOfServiceAndPrivacyPolicy: + 'Я погоджуюся з {{ termsOfServiceLink || link("Умовами використання") }} та {{ privacyPolicyLink || link("Політикою конфіденційності") }}', }, continue: { - subtitle: undefined, - title: undefined, + subtitle: 'Прочитайте та прийміть умови, щоб продовжити', + title: 'Правова згода', }, }, phoneCode: { @@ -1561,30 +1614,31 @@ export const ukUA: LocalizationResource = { title: 'Підтвердіть свій телефон', }, protectCheck: { - loading: undefined, - retryButton: undefined, - subtitle: undefined, - title: undefined, + loading: 'Завантаження…', + retryButton: 'Спробувати ще раз', + subtitle: 'Зачекайте, поки ми перевіряємо ваш запит.', + title: 'Перевірка вашого запиту', }, restrictedAccess: { - actionLink: undefined, - actionText: undefined, - blockButton__emailSupport: undefined, - blockButton__joinWaitlist: undefined, - subtitle: undefined, - subtitleWaitlist: undefined, - title: undefined, + actionLink: 'Увійти', + actionText: 'Уже є акаунт?', + blockButton__emailSupport: 'Написати в підтримку', + blockButton__joinWaitlist: 'Приєднатися до списку очікування', + subtitle: 'Реєстрацію наразі вимкнено. Якщо ви вважаєте, що повинні мати доступ, зверніться до служби підтримки.', + subtitleWaitlist: + 'Реєстрацію наразі вимкнено. Щоб першими дізнатися про запуск, приєднайтеся до списку очікування.', + title: 'Доступ обмежено', }, start: { actionLink: 'Увійти', - actionLink__use_email: undefined, - actionLink__use_phone: undefined, + actionLink__use_email: 'Використати електронну пошту', + actionLink__use_phone: 'Використати номер телефону', actionText: 'Уже є акаунт?', alternativePhoneCodeProvider: { - actionLink: undefined, - label: undefined, - subtitle: undefined, - title: undefined, + actionLink: 'Використати інший метод', + label: 'Номер телефону {{provider}}', + subtitle: 'Введіть ваш номер телефону, щоб отримати код підтвердження в {{provider}}.', + title: 'Зареєструйтеся в {{applicationName}} через {{provider}}', }, subtitle: 'щоб продовжити роботу в "{{applicationName}}"', subtitleCombined: 'щоб продовжити роботу в "{{applicationName}}"', @@ -1597,7 +1651,7 @@ export const ukUA: LocalizationResource = { }, }, socialButtonsBlockButton: 'Продовжити за допомогою {{provider|titleize}}', - socialButtonsBlockButtonManyInView: undefined, + socialButtonsBlockButtonManyInView: '{{provider|titleize}}', taskChooseOrganization: { alerts: { organizationAlreadyExists: @@ -1632,82 +1686,92 @@ export const ukUA: LocalizationResource = { }, }, taskResetPassword: { - formButtonPrimary: undefined, + formButtonPrimary: 'Скинути пароль', signOut: { - actionLink: undefined, - actionText: undefined, + actionLink: 'Вийти', + actionText: 'Увійшли як {{identifier}}', }, - subtitle: undefined, - title: undefined, + subtitle: 'Ваш обліковий запис потребує нового пароля, перш ніж ви зможете продовжити', + title: 'Скиньте ваш пароль', }, taskSetupMfa: { - badge: undefined, + badge: 'Налаштування двоетапної перевірки', signOut: { - actionLink: undefined, - actionText: undefined, + actionLink: 'Вийти', + actionText: 'Увійшли як {{identifier}}', }, smsCode: { addPhone: { - formButtonPrimary: undefined, - infoText: undefined, + formButtonPrimary: 'Продовжити', + infoText: + 'На цей номер телефону буде надіслано текстове повідомлення з кодом підтвердження. Може стягуватися плата за повідомлення та передачу даних.', }, - addPhoneNumber: undefined, - cancel: undefined, - subtitle: undefined, + addPhoneNumber: 'Додати номер телефону', + cancel: 'Скасувати', + subtitle: + 'Виберіть номер телефону, який ви хочете використовувати для двоетапної перевірки за допомогою SMS-коду', success: { - finishButton: undefined, - message1: undefined, - message2: undefined, - title: undefined, - }, - title: undefined, + finishButton: 'Продовжити', + message1: + 'Двоетапну перевірку ввімкнено. Під час входу вам потрібно буде ввести код підтвердження, надісланий на цей номер телефону, як додатковий крок.', + message2: + 'Збережіть ці резервні коди в надійному місці. Якщо ви втратите доступ до свого автентифікаційного пристрою, ви зможете увійти за допомогою резервних кодів.', + title: 'Перевірку за допомогою SMS-коду ввімкнено', + }, + title: 'Додати перевірку за допомогою SMS-коду', verifyPhone: { - formButtonPrimary: undefined, - formTitle: undefined, - resendButton: undefined, - subtitle: undefined, - title: undefined, + formButtonPrimary: 'Продовжити', + formTitle: 'Код підтвердження', + resendButton: 'Не отримали код? Повторно відправити', + subtitle: 'Введіть код підтвердження, надісланий на', + title: 'Підтвердьте ваш номер телефону', }, }, start: { methodSelection: { - phoneCode: undefined, - totp: undefined, + phoneCode: 'SMS-код', + totp: 'Застосунок автентифікації', }, - subtitle: undefined, - title: undefined, + subtitle: 'Виберіть метод, яким ви бажаєте захистити свій обліковий запис додатковим рівнем безпеки', + title: 'Налаштуйте двоетапну перевірку', }, totpCode: { addAuthenticatorApp: { - buttonAbleToScan__nonPrimary: undefined, - buttonUnableToScan__nonPrimary: undefined, - formButtonPrimary: undefined, - formButtonReset: undefined, - infoText__ableToScan: undefined, - infoText__unableToScan: undefined, - inputLabel__unableToScan1: undefined, + buttonAbleToScan__nonPrimary: 'Замість цього відскануйте QR-код', + buttonUnableToScan__nonPrimary: 'Не вдається відсканувати QR-код?', + formButtonPrimary: 'Продовжити', + formButtonReset: 'Скасувати', + infoText__ableToScan: + "Налаштуйте новий метод входу у вашому застосунку автентифікації та відскануйте наступний QR-код, щоб пов'язати його з вашим обліковим записом.", + infoText__unableToScan: + 'Налаштуйте новий метод входу у вашому застосунку автентифікації та введіть нижче наданий ключ.', + inputLabel__unableToScan1: + "Переконайтеся, що ввімкнено одноразові паролі на основі часу, потім завершіть зв'язування свого облікового запису.", }, success: { - finishButton: undefined, - message1: undefined, - message2: undefined, - title: undefined, - }, - title: undefined, + finishButton: 'Продовжити', + message1: + 'Двоетапну перевірку ввімкнено. Під час входу вам потрібно буде ввести код підтвердження з цього застосунку автентифікації як додатковий крок.', + message2: + 'Збережіть ці резервні коди в надійному місці. Якщо ви втратите доступ до свого автентифікаційного пристрою, ви зможете увійти за допомогою резервних кодів.', + title: 'Перевірку через застосунок автентифікації ввімкнено', + }, + title: 'Додати застосунок автентифікації', verifyTotp: { - formButtonPrimary: undefined, - formButtonReset: undefined, - formTitle: undefined, - subtitle: undefined, - title: undefined, + formButtonPrimary: 'Продовжити', + formButtonReset: 'Скасувати', + formTitle: 'Код підтвердження', + subtitle: 'Введіть код підтвердження, згенерований вашим застосунком автентифікації', + title: 'Додати застосунок автентифікації', }, }, }, unstable__errors: { - action_blocked: undefined, - already_a_member_in_organization: undefined, - api_key_name_already_exists: undefined, - api_key_usage_exceeded: undefined, + action_blocked: + 'Цю дію не вдалося виконати. Спробуйте пізніше або зверніться до служби підтримки, якщо проблема не зникне.', + already_a_member_in_organization: '{{email}} вже є учасником організації.', + api_key_name_already_exists: 'API-ключ із такою назвою вже існує.', + api_key_usage_exceeded: 'Ви досягли ліміту використання. Ви можете зняти ліміт, перейшовши на платний план.', avatar_file_size_exceeded: 'Розмір файлу перевищує максимальний ліміт 10 МБ. Будь ласка, виберіть менший файл.', avatar_file_type_invalid: 'Тип файлу не підтримується. Будь ласка, завантажте зображення у форматі JPG, PNG, GIF або WEBP.', @@ -1722,7 +1786,7 @@ export const ukUA: LocalizationResource = { form_identifier_exists__phone_number: undefined, form_identifier_exists__username: undefined, form_identifier_not_found: 'Не вдалося знайти акаунт з цими даними.', - form_new_password_matches_current: undefined, + form_new_password_matches_current: 'Новий пароль не може збігатися з поточним паролем.', form_param_format_invalid: undefined, form_param_format_invalid__email_address: 'Email address must be a valid email address.', form_param_format_invalid__phone_number: 'Phone number must be in a valid international format', @@ -1736,37 +1800,43 @@ export const ukUA: LocalizationResource = { form_param_value_invalid: undefined, form_password_compromised__sign_in: undefined, form_password_incorrect: undefined, - form_password_length_too_short: undefined, + form_password_length_too_short: 'Ваш пароль занадто короткий. Він має містити щонайменше 8 символів.', form_password_not_strong_enough: 'Ваш пароль недостатньо надійний.', form_password_or_identifier_incorrect: 'Пароль або адреса електронної пошти невірні. Спробуйте ще раз або використайте інший метод.', form_password_pwned: 'Цей пароль було зламано і його не можна використовувати, спробуйте інший пароль.', - form_password_pwned__sign_in: undefined, + form_password_pwned__sign_in: + 'Цей пароль було знайдено серед витоків даних, і його не можна використовувати. Будь ласка, скиньте свій пароль.', form_password_size_in_bytes_exceeded: 'Ваш пароль перевищує максимально допустиму кількість байтів, скоротіть його або видаліть деякі спеціальні символи.', - form_password_untrusted__sign_in: undefined, + form_password_untrusted__sign_in: + 'Ваш пароль може бути скомпрометовано. Щоб захистити свій обліковий запис, продовжте за допомогою альтернативного методу входу. Після входу вам потрібно буде скинути пароль.', form_password_validation_failed: 'Невірний пароль', form_username_invalid_character: undefined, - form_username_invalid_length: undefined, + form_username_invalid_length: "Ім'я користувача має містити від {{min_length}} до {{max_length}} символів.", form_username_needs_non_number_char: "Ім'я користувача повинно містити принаймні один нецифровий символ.", identification_deletion_failed: 'You cannot delete your last identification.', - insufficient_seats_change_plan: undefined, - insufficient_seats_contact_support: undefined, + insufficient_seats_change_plan: + 'У вашій організації недостатньо місць, щоб запросити бажану кількість учасників. Перейдіть на план, який підтримує кількість учасників, яких ви намагаєтеся запросити.', + insufficient_seats_contact_support: + 'У вашій організації недостатньо місць, щоб запросити бажану кількість учасників. Зверніться до служби підтримки.', not_allowed_access: "Адреса електронної пошти або номер телефону не дозволено для реєстрації. Це може бути пов'язано з використанням '+', '=', '#' або '.' в адресі електронної пошти, використанням домену, пов'язаного з тимчасовою електронною поштою, або явного виключення.", - oauth_access_denied: undefined, + oauth_access_denied: 'Ви не надали доступ до свого облікового запису.', organization_domain_blocked: undefined, organization_domain_common: undefined, organization_domain_exists_for_enterprise_connection: undefined, - organization_membership_quota_exceeded: undefined, + organization_membership_quota_exceeded: + 'Ви досягли ліміту членства в організаціях, включно з надісланими запрошеннями.', organization_minimum_permissions_needed: undefined, - organization_not_found_or_unauthorized: undefined, - organization_not_found_or_unauthorized_with_create_organization_disabled: undefined, - passkey_already_exists: undefined, - passkey_not_supported: undefined, - passkey_pa_not_supported: undefined, - passkey_registration_cancelled: undefined, - passkey_retrieval_cancelled: undefined, + organization_not_found_or_unauthorized: 'Ви більше не є учасником цієї організації. Виберіть або створіть іншу.', + organization_not_found_or_unauthorized_with_create_organization_disabled: + 'Ви більше не є учасником цієї організації. Виберіть іншу.', + passkey_already_exists: 'Ключ доступу вже зареєстровано на цьому пристрої.', + passkey_not_supported: 'Ключі доступу не підтримуються на цьому пристрої.', + passkey_pa_not_supported: 'Для реєстрації потрібен платформний автентифікатор, але пристрій його не підтримує.', + passkey_registration_cancelled: 'Реєстрацію ключа доступу було скасовано або час очікування минув.', + passkey_retrieval_cancelled: 'Підтвердження ключа доступу було скасовано або час очікування минув.', passwordComplexity: { maximumLength: 'менше {{length}} символів', minimumLength: '{{length}} або більше символів', @@ -1779,14 +1849,17 @@ export const ukUA: LocalizationResource = { phone_number_exists: 'Цей номер телефону вже використовується. Спробуйте інший.', protect_check_aborted: undefined, protect_check_already_resolved: undefined, - protect_check_execution_failed: undefined, - protect_check_invalid_script: undefined, - protect_check_invalid_sdk_url: undefined, - protect_check_script_load_failed: undefined, - protect_check_timed_out: undefined, - protect_check_unsupported_environment: undefined, + protect_check_execution_failed: 'Перевірку не завершено. Спробуйте ще раз.', + protect_check_invalid_script: + 'Не вдалося завантажити перевірку. Зверніться до служби підтримки, якщо проблема не зникне.', + protect_check_invalid_sdk_url: 'Не вдалося розпочати перевірку. Зверніться до служби підтримки.', + protect_check_script_load_failed: + 'Не вдалося завантажити перевірку. Це може бути спричинено проблемою з мережею або політикою Content Security Policy, яка блокує скрипт перевірки. Спробуйте ще раз або зверніться до служби підтримки.', + protect_check_timed_out: 'Перевірку не завершено вчасно. Спробуйте ще раз.', + protect_check_unsupported_environment: + 'Перевірка не підтримується в цьому середовищі. Продовжте у звичайному браузері або зверніться до служби підтримки.', session_exists: 'Ви вже увійшли в систему.', - web3_missing_identifier: undefined, + web3_missing_identifier: 'Не знайдено розширення Web3-гаманця. Установіть його, щоб продовжити.', web3_signature_request_rejected: 'Ви відхилили запит на підпис. Будь ласка, спробуйте ще раз, щоб продовжити.', web3_solana_signature_generation_failed: 'Під час створення підпису сталася помилка. Будь ласка, спробуйте ще раз, щоб продовжити.', @@ -1832,9 +1905,9 @@ export const ukUA: LocalizationResource = { }, userButton: { action__addAccount: 'Додати акаунт', - action__closeUserMenu: undefined, + action__closeUserMenu: 'Закрити меню користувача', action__manageAccount: 'Управління акаунтом', - action__openUserMenu: undefined, + action__openUserMenu: 'Відкрити меню користувача', action__signOut: 'Вийти', action__signOutAll: 'Вийти з усіх акаунтів', label__accountActions: 'Дії облікового запису', @@ -1843,7 +1916,7 @@ export const ukUA: LocalizationResource = { }, userProfile: { apiKeysPage: { - title: undefined, + title: 'API-ключі', }, backupCodePage: { actionLabel__copied: 'Скопійовано!', @@ -1863,73 +1936,74 @@ export const ukUA: LocalizationResource = { }, billingPage: { accountCreditsSection: { - title: undefined, - viewHistory: undefined, + title: 'Кредити облікового запису', + viewHistory: 'Переглянути історію кредитів', }, creditHistoryPage: { - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + title: 'Історія кредитів облікового запису', }, paymentHistorySection: { - empty: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - tableHeader__status: undefined, + empty: 'Історія платежів відсутня', + notFound: 'Спробу платежу не знайдено', + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + tableHeader__status: 'Статус', }, paymentMethodsSection: { - actionLabel__default: undefined, - actionLabel__remove: undefined, - add: undefined, - addSubtitle: undefined, - cancelButton: undefined, - formButtonPrimary__add: undefined, - formButtonPrimary__pay: undefined, - payWithTestCardButton: undefined, + actionLabel__default: 'Зробити основним', + actionLabel__remove: 'Видалити', + add: 'Додати новий спосіб оплати', + addSubtitle: 'Додайте новий спосіб оплати до вашого облікового запису.', + cancelButton: 'Скасувати', + formButtonPrimary__add: 'Додати спосіб оплати', + formButtonPrimary__pay: 'Сплатити {{amount}}', + payWithTestCardButton: 'Сплатити тестовою карткою', removeMethod: { - messageLine1: undefined, - messageLine2: undefined, - successMessage: undefined, - title: undefined, + messageLine1: '{{identifier}} буде видалено з цього облікового запису.', + messageLine2: + 'Ви більше не зможете використовувати це джерело оплати, і всі регулярні підписки, які від нього залежать, перестануть працювати.', + successMessage: '{{paymentMethod}} було видалено з вашого облікового запису.', + title: 'Видалити спосіб оплати', }, - title: undefined, + title: 'Способи оплати', }, start: { - headerTitle__payments: undefined, - headerTitle__plans: undefined, - headerTitle__statements: undefined, - headerTitle__subscriptions: undefined, + headerTitle__payments: 'Платежі', + headerTitle__plans: 'Плани', + headerTitle__statements: 'Виписки', + headerTitle__subscriptions: 'Підписка', }, statementsSection: { - empty: undefined, - itemCaption__paidForPlan: undefined, - itemCaption__payerCredit: undefined, - itemCaption__proratedCredit: undefined, - itemCaption__subscribedAndPaidForPlan: undefined, - notFound: undefined, - tableHeader__amount: undefined, - tableHeader__date: undefined, - title: undefined, - totalPaid: undefined, + empty: 'Немає виписок для відображення', + itemCaption__paidForPlan: 'Оплачено план {{plan}} ({{period}})', + itemCaption__payerCredit: 'Кредит із балансу рахунку', + itemCaption__proratedCredit: 'Пропорційний кредит за часткове використання попередньої підписки', + itemCaption__subscribedAndPaidForPlan: 'Оформлено підписку та оплачено план {{plan}} ({{period}})', + notFound: 'Виписку не знайдено', + tableHeader__amount: 'Сума', + tableHeader__date: 'Дата', + title: 'Виписки', + totalPaid: 'Усього сплачено', }, subscriptionsListSection: { - actionLabel__manageSubscription: undefined, - actionLabel__newSubscription: undefined, - actionLabel__switchPlan: undefined, - overview: undefined, - tableHeader__edit: undefined, - tableHeader__plan: undefined, - tableHeader__startDate: undefined, - title: undefined, + actionLabel__manageSubscription: 'Керувати', + actionLabel__newSubscription: 'Підписатися на план', + actionLabel__switchPlan: 'Змінити план', + overview: 'Огляд', + tableHeader__edit: 'Редагувати', + tableHeader__plan: 'План', + tableHeader__startDate: 'Дата початку', + title: 'Підписка', }, subscriptionsSection: { - actionLabel__default: undefined, + actionLabel__default: 'Керувати', }, switchPlansSection: { - title: undefined, + title: 'Змінити план', }, - title: undefined, + title: 'Оплата', }, connectedAccountPage: { formHint: 'Виберіть провайдера для підключення вашого акаунта.', @@ -1969,10 +2043,11 @@ export const ukUA: LocalizationResource = { successMessage: 'Адресу електронної пошти {{identifier}} було додано до вашого облікового запису.', }, enterpriseSSOLink: { - formButton: undefined, - formSubtitle: undefined, + formButton: 'Натисніть, щоб увійти', + formSubtitle: 'Завершіть вхід із {{identifier}}', }, - formHint: undefined, + formHint: + 'Вам потрібно підтвердити цю адресу електронної пошти, перш ніж її можна буде додати до вашого облікового запису.', removeResource: { messageLine1: '{{identifier}} буде видалено з цього акаунта.', messageLine2: 'Ви більше не зможете увійти з використанням цієї адреси електронної пошти.', @@ -2040,19 +2115,19 @@ export const ukUA: LocalizationResource = { mobileButton__menu: 'Меню', navbar: { account: 'Profile', - apiKeys: undefined, - billing: undefined, + apiKeys: 'API-ключі', + billing: 'Оплата', description: 'Manage your account info.', security: 'Security', title: 'Account', }, passkeyScreen: { removeResource: { - messageLine1: undefined, - title: undefined, + messageLine1: '{{name}} буде видалено з цього облікового запису.', + title: 'Видалити ключ доступу', }, - subtitle__rename: undefined, - title__rename: undefined, + subtitle__rename: 'Ви можете змінити назву ключа доступу, щоб його було легше знайти.', + title__rename: 'Перейменувати ключ доступу', }, passwordPage: { checkboxInfoText__signOutOfOtherSessions: @@ -2078,7 +2153,7 @@ export const ukUA: LocalizationResource = { verifyTitle: 'Verify phone number', }, plansPage: { - title: undefined, + title: 'Плани', }, profilePage: { fileDropAreaHint: 'Завантажте зображення у форматах JPG, PNG, GIF або WEBP розміром менше 10 МБ', @@ -2099,7 +2174,7 @@ export const ukUA: LocalizationResource = { actionLabel__reauthorize: 'Авторизувати зараз', destructiveActionTitle: 'Видалити', primaryButton: 'Підключити акаунт', - subtitle__disconnected: undefined, + subtitle__disconnected: "Цей акаунт було від'єднано.", subtitle__reauthorize: 'The required scopes have been updated, and you may be experiencing limited functionality. Please re-authorize this application to avoid any issues', title: 'Підключені акаунти', @@ -2142,10 +2217,10 @@ export const ukUA: LocalizationResource = { }, }, passkeysSection: { - menuAction__destructive: undefined, - menuAction__rename: undefined, - primaryButton: undefined, - title: undefined, + menuAction__destructive: 'Видалити', + menuAction__rename: 'Перейменувати', + primaryButton: 'Додати ключ доступу', + title: 'Ключі доступу', }, passwordSection: { primaryButton__setPassword: 'Встановити пароль', @@ -2161,7 +2236,7 @@ export const ukUA: LocalizationResource = { title: 'Номери телефонів', }, profileSection: { - primaryButton: undefined, + primaryButton: 'Оновити профіль', title: 'Профіль', }, usernameSection: { @@ -2171,7 +2246,7 @@ export const ukUA: LocalizationResource = { }, web3WalletsSection: { destructiveAction: 'Видалити гаманець', - detailsAction__nonPrimary: undefined, + detailsAction__nonPrimary: 'Встановити як основний', primaryButton: 'Web3 гаманці', title: 'Web3 гаманці', web3SelectSolanaWalletScreen: { @@ -2196,7 +2271,7 @@ export const ukUA: LocalizationResource = { subtitle__unavailableWallets: 'Немає доступних web3 гаманців.', successMessage: 'Гаманець було додано до вашого облікового запису.', title: 'Додати web3 гаманець', - web3WalletButtonsBlockButton: undefined, + web3WalletButtonsBlockButton: '{{provider|titleize}}', }, }, waitlist: { From aba4f078085f07f50f2e9d3e555839007881abc7 Mon Sep 17 00:00:00 2001 From: ex-vi Date: Thu, 6 Aug 2026 16:50:42 +0300 Subject: [PATCH 2/2] fix(localizations): correct uk-UA plural seat counts and restore the instead sense Ukrainian inflects the noun after a number: 2-4 takes one form and 5+ takes another. One plural key cannot serve both, so the seat breakdown now uses a count and a rate without the noun. Five action links dropped the word instead from the base string. They now keep that sense. --- packages/localizations/src/uk-UA.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index e48636b5a32..2820108d8c4 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -181,9 +181,9 @@ export const ukUA: LocalizationResource = { proratedDiscount: 'Пропорційна знижка', prorationCredit: 'Пропорційний кредит', reSubscribe: 'Поновити підписку', - seatBreakdownIncludedPlural: '{{chargeable}} місць по {{rate}}/міс ({{totalSeats}} всього - {{included}} включено)', - seatBreakdownIncludedSingular: '1 місце по {{rate}}/міс ({{totalSeats}} всього - {{included}} включено)', - seatBreakdownPlural: '{{chargeable}} місць по {{rate}}/міс', + seatBreakdownIncludedPlural: '{{chargeable}} × {{rate}}/міс (усього: {{totalSeats}}, включено: {{included}})', + seatBreakdownIncludedSingular: '1 місце по {{rate}}/міс (усього: {{totalSeats}}, включено: {{included}})', + seatBreakdownPlural: '{{chargeable}} × {{rate}}/міс', seatBreakdownSingular: '1 місце по {{rate}}/міс', seats: 'Місця', seatsWithLimit: 'Місця (до {{limit}})', @@ -893,7 +893,7 @@ export const ukUA: LocalizationResource = { sameDay: "Сьогодні в {{ date | timeString('uk-UA') }}", }, dividerText: 'або', - footerActionLink__alternativePhoneCodeProvider: 'Надіслати код через SMS', + footerActionLink__alternativePhoneCodeProvider: 'Надіслати код через SMS натомість', footerActionLink__useAnotherMethod: 'Використовувати інший метод', footerPageLink__help: 'Допомога', footerPageLink__privacy: 'Приватність', @@ -1521,7 +1521,7 @@ export const ukUA: LocalizationResource = { actionLink__join_waitlist: 'Приєднатися до списку очікування', actionLink__use_email: 'Використовувати пошту', actionLink__use_email_username: "Використовувати пошту або ім'я користувача", - actionLink__use_passkey: 'Використати ключ доступу', + actionLink__use_passkey: 'Використати ключ доступу натомість', actionLink__use_phone: 'Використовувати номер телефону', actionLink__use_username: "Використовувати ім'я користувача", actionText: 'Немає акаунта?', @@ -1631,8 +1631,8 @@ export const ukUA: LocalizationResource = { }, start: { actionLink: 'Увійти', - actionLink__use_email: 'Використати електронну пошту', - actionLink__use_phone: 'Використати номер телефону', + actionLink__use_email: 'Використати електронну пошту натомість', + actionLink__use_phone: 'Використати номер телефону натомість', actionText: 'Уже є акаунт?', alternativePhoneCodeProvider: { actionLink: 'Використати інший метод',