Pārlūkot izejas kodu

feat(core): Add Russian and Ukrainian translation for server messages (#973)

Andrew Kirillov 4 gadi atpakaļ
vecāks
revīzija
5b4a166ab2

+ 1 - 1
packages/core/src/i18n/i18n.service.ts

@@ -54,7 +54,7 @@ export class I18nService implements OnModuleInit {
             .use(Backend as any)
             .use(ICU as any)
             .init({
-                preload: ['en', 'de'],
+                preload: ['en', 'de', 'ru', 'uk'],
                 fallbackLng: 'en',
                 detection: {
                     lookupQuerystring: 'languageCode',

+ 118 - 0
packages/core/src/i18n/messages/ru.json

@@ -0,0 +1,118 @@
+{
+  "error": {
+    "cannot-delete-role": "Роль '{ roleCode }' не может быть удалена",
+    "cannot-locate-customer-for-user": "Невозможно найти Клиента для пользователя",
+    "cannot-modify-role": "Роль '{ roleCode }' не может быть изменена",
+    "cannot-create-sales-for-active-order": "Невозможно создать Продажу для Заказа, который все еще активен",
+    "cannot-move-collection-into-self": "Невозможно переместить Коллекцию в саму себя",
+    "cannot-transition-payment-from-to": "Невозможно перевести Оплату из \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-refund-from-to": "Невозможно перевести Возврат из \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-fulfillment-from-to": "Невозможно перевести Выполнение из \"{ fromState }\" в \"{ toState }\"",
+    "collection-id-or-slug-must-be-provided": "Необходимо указать либо идентификатор Коллекции, либо уникальный строковый идентификатор",
+    "collection-id-slug-mismatch": "Предоставленный идентификатор и уникальный строковый идентификатор относятся к разным Коллекциям",
+    "conditions-required-for-action": "Промоакция '{ action }' требует следующих условий: { conditions }",
+    "configurable-argument-is-required": "Аргумент '{ name }' обязательный",
+    "country-code-not-valid": "Код страны \"{ countryCode }\" не был признан",
+    "customer-does-not-belong-to-customer-group": "Клиент не принадлежит к этой Группе Клиентов",
+    "default-channel-not-found": "Канал по умолчанию не найден",
+    "entity-has-no-translation-in-language": "Переводимый объект '{ entityName }' не был переведен на запрашиваемый язык ({ languageCode })",
+    "entity-with-id-not-found": "Не удалось найти { entityName } с идентификатором '{ id }'",
+    "facetfilterinput-invalid-input": "Объект фильтра значения тега не может одновременно указывать поля 'и' и 'или'",
+    "field-invalid-datetime-range-max": "Специальное поле '{ name }' со значением [{ value }] больше максимального [{ max }]",
+    "field-invalid-datetime-range-min": "Специальное поле '{ name }' со значением [{ value }] меньше минимального [{ min }]",
+    "field-invalid-non-nullable": "Значение Специального поля '{ name }' не может быть установлено равным нулю",
+    "field-invalid-number-range-max": "Специальное поле '{ name }' со значением [{ value }] больше максимального [{ max }]",
+    "field-invalid-number-range-min": "Специальное поле '{ name }' со значением [{ value }] меньше минимального [{ min }]",
+    "field-invalid-readonly": "Специальное поле '{ name }' только для чтения",
+    "field-invalid-string-option": "Специальное поле '{ name }' со значением ['{ value }'] недействительно. Допустимыми вариантами являются [{ validOptions }]",
+    "field-invalid-string-pattern": "Специальное поле '{ name }' со значением ['{ value }'] не соответствует шаблону [{ pattern }]",
+    "forbidden": "В настоящее время вы не имеете права выполнять это действие",
+    "invalid-sort-field": "Поле сортировки '{ fieldName }' недействительно. Допустимыми полями являются: { validFields }",
+    "list-query-limit-exceeded": "Невозможно получить больше чем { limit } результатов из списка запроса",
+    "no-active-tax-zone": "Активную налоговую зону определить не удалось. Убедитесь, что для текущего канала установлена налоговая зона по умолчанию.",
+    "no-configurable-operation-def-with-code-found": "Не удалось найти { type } с кодом '{ code }'",
+    "no-price-found-for-channel": "Информация о цене для идентификатора Варианта Товара '{ variantId}' не найдена в канале '{ channel }'.",
+    "no-search-plugin-configured": "Плагин поиска не был настроен",
+    "order-does-not-contain-line-with-id": "Этот заказ не содержит Строки Заказа с идентификатором { id }",
+    "pending-identifier-missing": "Не удалось найти адрес электронной почты ожидающий обновления",
+    "permission-invalid": "Разрешение \"{ permission }\" не может быть назначено",
+    "products-cannot-be-removed-from-default-channel": "Товары не могут быть удалены из Канала по умолчанию",
+    "product-id-or-slug-must-be-provided": "Необходимо указать либо идентификатор Товара, либо уникальный строковый идентификатор",
+    "product-id-slug-mismatch": "Предоставленный идентификатор и уникальный строковый идентификатор относятся к разным Товарам",
+    "product-variant-option-ids-not-compatible": "Идентификаторы параметров Варианта Товара должны включать один идентификатор параметра из каждой группы: {groupNames}",
+    "product-variant-options-combination-already-exists": "Вариант Товара с выбранными опциями уже существует: {variantName}",
+    "promotion-channels-can-only-be-changed-from-default-channel": "Каналы Промоакций могут быть изменены только из Канала по умолчанию.",
+    "stockonhand-cannot-be-negative": "Наличие на складе не может быть отрицательным значением",
+    "unauthorized": "Учетные данные не совпадают. Пожалуйста, проверьте и попробуйте снова"
+  },
+  "errorResult": {
+    "ALREADY_LOGGED_IN_ERROR": "Невозможно установить Клиента для Заказа, когда он уже вошел в систему",
+    "ALREADY_REFUNDED_ERROR": "Невозможен возврат Позиций Заказа который уже был возвращен",
+    "CANCEL_ACTIVE_ORDER_ERROR": "Невозможно отменить Позиции Заказа из Заказа в \"{ orderState }\" состоянии",
+    "CHANNEL_DEFAULT_LANGUAGE_ERROR": "Невозможно сделать язык \"{ language }\" недоступным, так как он используется как язык по умолчанию для канала \"{ channelCode }\"",
+    "COUPON_CODE_EXPIRED_ERROR": "Код купона \"{ couponCode }\" закончил срок действия",
+    "COUPON_CODE_INVALID_ERROR": "Код купона \"{ couponCode }\" недействителен",
+    "COUPON_CODE_LIMIT_ERROR": "Код купона невозможно использовать более чем {limit, plural, one {один раз} other {# раз}} на заказчика",
+    "CREATE_FULFILLMENT_ERROR": "Произошла ошибка при попытке создать Выполнение",
+    "EMAIL_ADDRESS_CONFLICT_ERROR": "Адрес электронной почты недоступен.",
+    "EMPTY_ORDER_LINE_SELECTION_ERROR": "Должна быть указана хотя бы одна Позиция Заказа",
+    "IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR": "Токен изменения идентификатора не распознан",
+    "INELIGIBLE_SHIPPING_METHOD_ERROR": "Этот Заказа не подходит для выбранного Способа Доставки",
+    "INSUFFICIENT_STOCK_ERROR": "{quantityAvailable, plural, =0 {Позиций не было} one {Только 1 позиция была} other {Только # позиций было}} добавлено в заказ через недостаточный запас на складе",
+    "INSUFFICIENT_STOCK_ON_HAND_ERROR": "Невозможно создать Выполнение поскольку '{productVariantName}' недостаточно запасов на складе ({stockOnHand})",
+    "INVALID_CREDENTIALS_ERROR": "Предоставленные учетные данные недействительны",
+    "ITEMS_ALREADY_FULFILLED_ERROR": "Один или несколько Позиций Заказа уже являются частью Выполнения",
+    "LANGUAGE_NOT_AVAILABLE_ERROR": "Язык \"{languageCode}\" недоступен. Сначала включите его в Глобальных Настройках и попробуйте еще раз.",
+    "MANUAL_PAYMENT_STATE_ERROR": "Оплата вручную может быть добавлена только когда состояние \"Организация дополнительной оплаты\"",
+    "MIME_TYPE_ERROR": "MIME тип '{ mimeType }' не разрешен.",
+    "MISSING_CONDITIONS_ERROR": "Промоакция должна иметь хотя бы одно условие или установленный код купона",
+    "MISSING_PASSWORD_ERROR": "Пароль должен быть предоставлен.",
+    "NEGATIVE_QUANTITY_ERROR": "Количество Позиций Заказа не может быть отрицательным.",
+    "NO_ACTIVE_ORDER_ERROR": "Нет активного Заказа, связанного с текущим сеансом",
+    "NOTHING_TO_REFUND_ERROR": "Нечего возвращать",
+    "NOT_VERIFIED_ERROR": "Пожалуйста, подтвердите этот адрес электронной почты перед входом в систему",
+    "ORDER_LIMIT_ERROR": "Невозможно добавить позиции. Заказ может состоять максимум из { maxItems } позиций",
+    "ORDER_MODIFICATION_ERROR": "Содержимое Заказа может быть изменено только в состоянии \"Добавление позиций\"",
+    "ORDER_PAYMENT_STATE_ERROR": "Оплата может быть добавлена только когда Заказ в состоянии \"Организация оплаты\"",
+    "ORDER_STATE_TRANSITION_ERROR": "Невозможно перевести Заказ из \"{ fromState }\" в \"{ toState }\"",
+    "PASSWORD_ALREADY_SET_ERROR": "Пароль уже был установлен при регистрации",
+    "PASSWORD_RESET_TOKEN_EXPIRED_ERROR": "Срок действия токена сброса пароля закончился",
+    "PASSWORD_RESET_TOKEN_INVALID_ERROR": "Токен сброса пароля не распознан",
+    "PAYMENT_DECLINED_ERROR": "Оплата была отклонена",
+    "PAYMENT_FAILED_ERROR": "Оплата не состоялась",
+    "PAYMENT_ORDER_MISMATCH_ERROR": "Оплата и Позиции Заказа не принадлежат одному и тому же Заказу",
+    "PAYMENT_STATE_TRANSITION_ERROR": "Невозможно перевести Оплату из \"{ fromState }\" в \"{ toState }\"",
+    "PRODUCT_OPTION_IN_USE_ERROR": "Невозможно удалить Группу Опций Товара \"{ optionGroupCode }\" так как это использует {productVariantCount, plural, one {1 Вариант Товара} other {# Вариантов Товара}}",
+    "QUANTITY_TOO_GREAT_ERROR": "Указанное количество больше, чем доступных Позиций Заказа",
+    "REFUND_ORDER_STATE_ERROR": "Невозможно вернуть Заказ в состоянии \"{ orderState }\"",
+    "SETTLE_PAYMENT_ERROR": "Проведение оплаты не состоялось",
+    "VERIFICATION_TOKEN_EXPIRED_ERROR": "Срок действия токена подтверждения закончился. Используйте обновление подтверждения клиента для отправки нового токена.",
+    "VERIFICATION_TOKEN_INVALID_ERROR": "Токен подтверждения не распознан"
+  },
+  "message": {
+    "asset-to-be-deleted-is-featured": "Выбрано {assetCount, plural, one {Актив} other {Активов}} представленного {products, plural, =0 {} one {1 Товаром} other {# Товарами}} {variants, plural, =0 {} one { 1 Вариантом Товара} other { # Вариантами Товара}} {collections, plural, =0 {} one { 1 Коллекцией} other { # Коллекциями}}",
+    "cannot-remove-tax-category-due-to-tax-rates": "Невозможно удалить Налоговую Категорию \"{ name }\" так как на это ссылается {count, plural, one {1 Ставка Налога} other {# Налоговых Ставок}}",
+    "cannot-transition-order-contains-products-which-are-unavailable": "Невозможен переход в \"{ toState }\" потому что Заказ содержит Варианты Товара, которые больше не доступны",
+    "cannot-transition-from-arranging-additional-payment": "Невозможен переход далеко от \"Организация дополнительной оплаты\" если общая сумма Заказа не покрывается Платежами",
+    "cannot-transition-order-from-to": "Невозможно перевести Заказ из \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-no-additional-payments-needed": "Невозможно перевести Заказ в состояние \"Организация дополнительной оплаты\" так как дополнительных платежей не требуется",
+    "cannot-transition-to-shipping-when-order-is-empty": "Невозможно перевести Заказ в состояние \"Организация Отправки\" когда он пустой",
+    "cannot-transition-to-payment-without-customer": "Невозможно перевести Заказ в состояние \"Организация оплаты\" без сведений о Клиенте",
+    "cannot-transition-unless-all-cancelled": "Невозможно перевести Заказ в состояние \"Отменено\" если не отменены все Позиции Заказа",
+    "cannot-transition-unless-all-order-items-delivered": "Невозможно перевести Заказ в состояние \"Доставлено\" если не доставлены все Позиции Заказа",
+    "cannot-transition-unless-some-order-items-delivered": "Невозможно перевести Заказ в состояние \"Частично доставлено\" если не доставлены некоторые Позиции Заказа",
+    "cannot-transition-unless-some-order-items-shipped": "Невозможно перевести Заказ в состояние \"Частично отправлено\" если не отправлены некоторые Позиции Заказа",
+    "cannot-transition-unless-all-order-items-shipped": "Невозможно перевести Заказ в состояние \"Отправлено\" если не отправлены все Позиции Заказа",
+    "cannot-transition-without-authorized-payments": "Невозможно перевести Заказ в состояние \"Оплата авторизована\" когда общая сумма не покрывается авторизованными Платежами",
+    "cannot-transition-without-modification-payment": "Возможен переход только в состояние \"Организация дополнительной оплаты\"",
+    "cannot-transition-without-settled-payments": "Невозможно перевести Заказ в состояние \"Оплата проведена\" когда общая сумма не покрывается проведенными Платежами",
+    "country-used-in-addresses": "Выбранную Страну невозможно удалить, так как она использована в {count, plural, one {1 Адресе} other {# Адресах}}",
+    "facet-force-deleted": "Тег был удален, и его Значения Тега были удалены из {products, plural, =0 {} one {1 Товара} other {# Товаров}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варианта Товара} other {# Вариантов Товара}}",
+    "facet-used": "Выбранный Тег включает Значения Тега, которые назначены {products, plural, =0 {} one {1 Товара} other {# Товаров}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варианта Товара} other {# Вариантов Товара}}",
+    "facet-value-force-deleted": "Выбранное Значения Тега было удалено из {products, plural, =0 {} one {1 Товара} other {# Товаров}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варианта Товара} other {# Вариантов Товара}}",
+    "facet-value-used": "Выбранное Значения Тега назначено {products, plural, =0 {} one {1 Товара} other {# Товаров}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варианта Товара} other {# Вариантов Товара}}",
+    "payment-method-used-in-channels": "Выбранный Способ Оплаты назначается следующим Каналам: { channelCodes }. Установите \"force: true\" для удаления со всех каналов.",
+    "zone-used-in-channels": "Выбранную Зону невозможно удалить, так как она использована по умолчанию в следующих Каналах: { channelCodes }",
+    "zone-used-in-tax-rates": "Выбранную Зону невозможно удалить, так как она использована в следующих Налоговых Ставках: { taxRateNames }"
+  }
+}

+ 118 - 0
packages/core/src/i18n/messages/uk.json

@@ -0,0 +1,118 @@
+{
+  "error": {
+    "cannot-delete-role": "Роль '{ roleCode }' не може бути видалена",
+    "cannot-locate-customer-for-user": "Неможливо знайти Клієнта для користувача",
+    "cannot-modify-role": "Роль '{ roleCode }' не може бути змінена",
+    "cannot-create-sales-for-active-order": "Неможливо створити Продаж для Замовлення, яке все ще активне",
+    "cannot-move-collection-into-self": "Неможливо перемістити Колекцію в саму себе",
+    "cannot-transition-payment-from-to": "Неможливо перевести Оплату з \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-refund-from-to": "Неможливо перевести Повернення з \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-fulfillment-from-to": "Неможливо перевести Виконання з \"{ fromState }\" в \"{ toState }\"",
+    "collection-id-or-slug-must-be-provided": "Необхідно вказати або ідентифікатор Колекції, або унікальний рядковий ідентифікатор",
+    "collection-id-slug-mismatch": "Наданий ідентифікатор і унікальний рядковий ідентифікатор відносяться до різних Колекцій",
+    "conditions-required-for-action": "Промоакція '{ action }' вимагає наступних умов: { conditions }",
+    "configurable-argument-is-required": "Аргумент '{ name }' обов'язковий",
+    "country-code-not-valid": "Код країни \"{ countryCode }\" не було визнано",
+    "customer-does-not-belong-to-customer-group": "Клієнт не належить до цієї Групи Клієнтів",
+    "default-channel-not-found": "Канал за замовчуванням не знайдено",
+    "entity-has-no-translation-in-language": "Перекладаємий об'єкт '{ entityName }' не був переведений на запитану мову ({ languageCode })",
+    "entity-with-id-not-found": "Не вдалося знайти { entityName } з ідентифікатором '{ id }'",
+    "facetfilterinput-invalid-input": "Об'єкт фільтра значення тега не може одночасно вказувати поля 'і' та 'або'",
+    "field-invalid-datetime-range-max": "Спеціальне поле '{ name }' зі значенням [{ value }] більше максимального [{ max }]",
+    "field-invalid-datetime-range-min": "Спеціальне поле '{ name }' зі значенням [{ value }] менше мінімального [{ min }]",
+    "field-invalid-non-nullable": "Значення Спеціального поля '{ name }' не може бути встановлено рівним нулю",
+    "field-invalid-number-range-max": "Спеціальне поле '{ name }' зі значенням [{ value }] більше максимального [{ max }]",
+    "field-invalid-number-range-min": "Спеціальне поле '{ name }' зі значенням [{ value }] менше мінімального [{ min }]",
+    "field-invalid-readonly": "Спеціальне поле '{ name }' тільки для читання",
+    "field-invalid-string-option": "Спеціальне поле '{ name }' зі значенням ['{ value }'] недійсне. Допустимими варіантами є [{ validOptions }]",
+    "field-invalid-string-pattern": "Спеціальне поле '{ name }' зі значенням ['{ value }'] не відповідає шаблону [{ pattern }]",
+    "forbidden": "На даний момент ви не маєте права виконувати цю дію",
+    "invalid-sort-field": "Поле сортування '{ fieldName }' недійсне. Допустимими полями є: { validFields }",
+    "list-query-limit-exceeded": "Неможливо отримати більше ніж { limit } результатів зі списку запиту",
+    "no-active-tax-zone": "Активну податкову зону визначити не вдалося. Переконайтеся, що для поточного каналу встановлена зона оподаткування за замовчуванням.",
+    "no-configurable-operation-def-with-code-found": "Не вдалося знайти { type } з кодом '{ code }'",
+    "no-price-found-for-channel": "Інформація про ціну для ідентифікатора Варіанта Товару '{ variantId}' не знайдена в каналі '{ channel }'.",
+    "no-search-plugin-configured": "Плагін пошуку не був налаштований",
+    "order-does-not-contain-line-with-id": "Це замовлення не містить Рядка Замовлення з ідентифікатором { id }",
+    "pending-identifier-missing": "Не вдалося знайти адресу електронної пошти що очікує оновлення",
+    "permission-invalid": "Дозвіл \"{ permission }\" не може бути призначено",
+    "products-cannot-be-removed-from-default-channel": "Товари не можуть бути видалені з Каналу за замовчуванням",
+    "product-id-or-slug-must-be-provided": "Необхідно вказати або ідентифікатор Товару, або унікальний рядковий ідентифікатор",
+    "product-id-slug-mismatch": "Наданий ідентифікатор і унікальний рядковий ідентифікатор відносяться до різних Товарів",
+    "product-variant-option-ids-not-compatible": "Ідентифікатори параметрів Варіанта Товару повинні включати один ідентифікатор параметра з кожної групи: {groupNames}",
+    "product-variant-options-combination-already-exists": "Варіант Товару з вибраними опціями вже існує: {variantName}",
+    "promotion-channels-can-only-be-changed-from-default-channel": "Канали Промоакцій можуть бути змінені тільки з Каналу за замовчуванням.",
+    "stockonhand-cannot-be-negative": "Наявність на складі не може бути від’ємним значенням",
+    "unauthorized": "Облікові дані не збігаються. Будь ласка, перевірте і повторіть спробу"
+  },
+  "errorResult": {
+    "ALREADY_LOGGED_IN_ERROR": "Неможливо встановити Клієнта для Замовлення, коли він вже увійшов в систему",
+    "ALREADY_REFUNDED_ERROR": "Неможливо повернення Позицій Замовлення яке вже було повернуто",
+    "CANCEL_ACTIVE_ORDER_ERROR": "Неможливо скасувати Позиції Замовлення із Замовлення у \"{ orderState }\" стані",
+    "CHANNEL_DEFAULT_LANGUAGE_ERROR": "Неможливо зробити мову \"{ language }\" недоступною, так як вона використовується як мова за замовчуванням для канала \"{ channelCode }\"",
+    "COUPON_CODE_EXPIRED_ERROR": "Код купона \"{ couponCode }\" закінчив термін дії",
+    "COUPON_CODE_INVALID_ERROR": "Код купона \"{ couponCode }\" недійсний",
+    "COUPON_CODE_LIMIT_ERROR": "Код купона неможливо використовувати більше ніж {limit, plural, one {один раз} other {# разів}} на замовника",
+    "CREATE_FULFILLMENT_ERROR": "Сталася помилка при спробі створити Виконання",
+    "EMAIL_ADDRESS_CONFLICT_ERROR": "Адреса електронної пошти недоступна.",
+    "EMPTY_ORDER_LINE_SELECTION_ERROR": "Повинна бути вказана хоча б одна Позиція Замовлення",
+    "IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR": "Токен зміни ідентифікатора не розпізнаний",
+    "INELIGIBLE_SHIPPING_METHOD_ERROR": "Це Замовлення не підходить для обраного Способу Доставки",
+    "INSUFFICIENT_STOCK_ERROR": "{quantityAvailable, plural, =0 {Позицій не було} one {Лише 1 позиція була} other {Лише # позицій було}} додано до замовлення через недостатній запас на складі",
+    "INSUFFICIENT_STOCK_ON_HAND_ERROR": "Неможливо створити Виконання оскільки '{productVariantName}' недостатньо запасів на складі ({stockOnHand})",
+    "INVALID_CREDENTIALS_ERROR": "Надані облікові дані недійсні",
+    "ITEMS_ALREADY_FULFILLED_ERROR": "Один або декілька Позицій Замовлення вже є частиною Виконання",
+    "LANGUAGE_NOT_AVAILABLE_ERROR": "Мова \"{languageCode}\" недоступна. Спочатку увімкніть її в Глобальних налаштуваннях та спробуйте ще раз",
+    "MANUAL_PAYMENT_STATE_ERROR": "Оплата вручну може бути додана тільки коли стан \"Організація додаткової оплати\"",
+    "MIME_TYPE_ERROR": "MIME тип '{ mimeType }' не дозволено.",
+    "MISSING_CONDITIONS_ERROR": "Промоакція повинна мати принаймні одну умову або встановлений код купона",
+    "MISSING_PASSWORD_ERROR": "Пароль повинен бути наданий.",
+    "NEGATIVE_QUANTITY_ERROR": "Кількість Позицій Замовлення не може бути від’ємною",
+    "NO_ACTIVE_ORDER_ERROR": "Немає активного Замовлення, пов’язаного з поточним сеансом",
+    "NOTHING_TO_REFUND_ERROR": "Нічого повертати",
+    "NOT_VERIFIED_ERROR": "Будь ласка, підтвердіть цю електронну адресу перед входом в систему",
+    "ORDER_LIMIT_ERROR": "Неможливо додати позиції. Замовлення може складатися максимум з { maxItems } позицій",
+    "ORDER_MODIFICATION_ERROR": "Зміст Замовлення може бути змінено лише у стані \"Додавання позицій\"",
+    "ORDER_PAYMENT_STATE_ERROR": "Оплата може бути додана лише коли Замовлення у стані \"Організація оплати\"",
+    "ORDER_STATE_TRANSITION_ERROR": "Неможливо перевести Замовлення з \"{ fromState }\" в \"{ toState }\"",
+    "PASSWORD_ALREADY_SET_ERROR": "Пароль вже був встановлений при реєстрації",
+    "PASSWORD_RESET_TOKEN_EXPIRED_ERROR": "Термін дії токена скидання пароля закінчився",
+    "PASSWORD_RESET_TOKEN_INVALID_ERROR": "Токен скидання пароля не розпізнаний",
+    "PAYMENT_DECLINED_ERROR": "Оплата була відхилена",
+    "PAYMENT_FAILED_ERROR": "Оплата не відбулася",
+    "PAYMENT_ORDER_MISMATCH_ERROR": "Оплата і Позиції Замовлення не належать одному і тому ж Замовленню",
+    "PAYMENT_STATE_TRANSITION_ERROR": "Неможливо перевести Оплату з \"{ fromState }\" в \"{ toState }\"",
+    "PRODUCT_OPTION_IN_USE_ERROR": "Неможливо видалити Групу Опцій Товара \"{ optionGroupCode }\" так як це використовує {productVariantCount, plural, one {1 Варіант Товару} other {# Варіантів Товару}}",
+    "QUANTITY_TOO_GREAT_ERROR": "Вказана кількість більше, ніж доступних Позицій Замовлення",
+    "REFUND_ORDER_STATE_ERROR": "Неможливо повернути Замовлення у стані \"{ orderState }\"",
+    "SETTLE_PAYMENT_ERROR": "Проведення оплати не відбулось",
+    "VERIFICATION_TOKEN_EXPIRED_ERROR": "Термін дії токена підтвердження закінчився. Використовуйте оновлення підтвердження клієнта для відправки нового токена.",
+    "VERIFICATION_TOKEN_INVALID_ERROR": "Токен підтвердження не розпізнаний"
+  },
+  "message": {
+    "asset-to-be-deleted-is-featured": "Вибрано {assetCount, plural, one {Актив} other {Активів}} представленого {products, plural, =0 {} one {1 Товаром} other {# Товарами}} {variants, plural, =0 {} one { 1 Варіантом Товару} other { # Варіантами Товару}} {collections, plural, =0 {} one { 1 Колекцією} other { # Колекціями}}",
+    "cannot-remove-tax-category-due-to-tax-rates": "Неможливо видалити Податкову Категорію \"{ name }\" так як на це посилається {count, plural, one {1 Ставка Податку} other {# Податкових Ставок}}",
+    "cannot-transition-order-contains-products-which-are-unavailable": "Неможливий перехід в \"{ toState }\" тому що Замовлення містить Варіанти Товару, які більше не доступні",
+    "cannot-transition-from-arranging-additional-payment": "Неможливий перехід далеко від \"Організація додаткової оплати\" якщо загальна сума замовлення не покривається Платежами",
+    "cannot-transition-order-from-to": "Неможливо перевести Замовлення з \"{ fromState }\" в \"{ toState }\"",
+    "cannot-transition-no-additional-payments-needed": "Неможливо перевести Замовлення в стан \"Організація додаткової оплати\" так як додаткових платежів не потрібно",
+    "cannot-transition-to-shipping-when-order-is-empty": "Неможливо перевести Замовлення в стан \"Організація відправки\" коли він порожній",
+    "cannot-transition-to-payment-without-customer": "Неможливо перевести Замовлення в стан \"Організація оплати\" без відомостей про Клієнта",
+    "cannot-transition-unless-all-cancelled": "Неможливо перевести Замовлення в стан \"Скасовано\" якщо не скасовані всі Позиції Замовлення",
+    "cannot-transition-unless-all-order-items-delivered": "Неможливо перевести Замовлення в стан \"Доставлено\" якщо не доставлені всі Позиції Замовлення",
+    "cannot-transition-unless-some-order-items-delivered": "Неможливо перевести Замовлення в стан \"Частково доставлено\" якщо не доставлені деякі Позиції Замовлення",
+    "cannot-transition-unless-some-order-items-shipped": "Неможливо перевести Замовлення в стан \"Частково відправлено\" якщо не відправлені деякі Позиції Замовлення",
+    "cannot-transition-unless-all-order-items-shipped": "Неможливо перевести Замовлення в стан \"Відправлено\" якщо не відправлені всі Позиції Замовлення",
+    "cannot-transition-without-authorized-payments": "Неможливо перевести Замовлення в стан \"Оплата авторизована\" коли загальна сума не покривається авторизованими Платежами",
+    "cannot-transition-without-modification-payment": "Можливий перехід тільки в стан \"Організація додаткової оплати\"",
+    "cannot-transition-without-settled-payments": "Неможливо перевести Замовлення в стан \"Оплата проведена\" коли загальна сума не покривається проведеними Платежами",
+    "country-used-in-addresses": "Вибрану Країну неможливо видалити, так як вона використана в {count, plural, one {1 Адресі} other {# Адресах}}",
+    "facet-force-deleted": "Тег був видалений, і його Значення Тега були видалені з {products, plural, =0 {} one {1 Товару} other {# Товарів}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варіанта Товару} other {# Варіантів Товару}}",
+    "facet-used": "Вибраний Тег включає Значення Тега, які призначені {products, plural, =0 {} one {1 Товару} other {# Товарів}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варіанта Товару} other {# Варіантів Товару}}",
+    "facet-value-force-deleted": "Вибране Значення Тега було видалено з {products, plural, =0 {} one {1 Товару} other {# Товарів}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варіанта Товару} other {# Варіантів Товару}}",
+    "facet-value-used": "Вибране Значення Тега призначено {products, plural, =0 {} one {1 Товару} other {# Товарів}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 Варіанта Товару} other {# Варіантів Товару}}",
+    "payment-method-used-in-channels": "Вибраний Спосіб Оплати призначається наступним Каналам: { channelCodes }. Встановіть \"force: true\" для видалення з усіх каналів.",
+    "zone-used-in-channels": "Вибрану Зону неможливо видалити, так як вона використана за замовчуванням в наступних Каналах: { channelCodes }",
+    "zone-used-in-tax-rates": "Вибрану Зону неможливо видалити, так як вона використана в наступних Податкових Ставках: { taxRateNames }"
+  }
+}