diff --git a/.changeset/lazy-pumpkins-relax.md b/.changeset/lazy-pumpkins-relax.md new file mode 100644 index 0000000000..af1a00fd50 --- /dev/null +++ b/.changeset/lazy-pumpkins-relax.md @@ -0,0 +1,7 @@ +--- +"@rainbow-me/rainbowkit": patch +--- + +Added `uk-UA` and `ua` locale support for the Ukranian language. + +Reference [our guide](https://www.rainbowkit.com/docs/localization) to learn more about Localization. diff --git a/packages/example/next.config.js b/packages/example/next.config.js index b788118d5a..b442df7e45 100644 --- a/packages/example/next.config.js +++ b/packages/example/next.config.js @@ -15,6 +15,7 @@ module.exports = { 'ru-RU', 'th-TH', 'tr-TR', + 'uk-UA', 'zh-CN', ], }, diff --git a/packages/rainbowkit/src/locales/index.ts b/packages/rainbowkit/src/locales/index.ts index 65a1631b57..7b20256e9c 100644 --- a/packages/rainbowkit/src/locales/index.ts +++ b/packages/rainbowkit/src/locales/index.ts @@ -27,6 +27,8 @@ export type Locale = | 'th-TH' | 'tr' | 'tr-TR' + | 'ua' + | 'uk-UA' | 'zh' | 'zh-CN'; @@ -77,6 +79,9 @@ const fetchLocale = async (locale: Locale): Promise => { case 'tr': case 'tr-TR': return (await import('./tr_TR.json')).default; + case 'ua': + case 'uk-UA': + return (await import('./uk_UA.json')).default; case 'zh': case 'zh-CN': return (await import('./zh_CN.json')).default; diff --git a/packages/rainbowkit/src/locales/uk_UA.json b/packages/rainbowkit/src/locales/uk_UA.json new file mode 100644 index 0000000000..5f58403103 --- /dev/null +++ b/packages/rainbowkit/src/locales/uk_UA.json @@ -0,0 +1,954 @@ +{ + "connect_wallet": { + "label": "Під'єднати гаманець" + }, + "intro": { + "title": "Що таке гаманець?", + "description": "Гаманець використовується для відправлення, отримання, зберігання та відображення цифрових активів. Це також новий спосіб входу, без необхідності створювати нові облікові записи та паролі на кожному сайті.", + "digital_asset": { + "title": "Дім для ваших цифрових активів", + "description": "Гаманці використовуються для відправлення, отримання, зберігання та відображення цифрових активів, таких як Ethereum та NFT." + }, + "login": { + "title": "Новий спосіб увійти", + "description": "Замість створення нових облікових записів та паролів на кожному сайті, просто під'єднайте ваш гаманець." + }, + "get": { + "label": "Отримати гаманець" + }, + "learn_more": { + "label": "Дізнатися більше" + } + }, + "sign_in": { + "label": "Перевірте свій обліковий запис", + "description": "Щоб завершити підключення, вам потрібно підписати повідомлення у вашому гаманці, щоб підтвердити, що ви є власником цього облікового запису.", + "message": { + "send": "Підписати повідомлення", + "preparing": "Підготовка повідомлення...", + "cancel": "Скасувати", + "preparing_error": "Помилка підготовки повідомлення, будь ласка, спробуйте ще раз!" + }, + "signature": { + "waiting": "Очікування підпису...", + "verifying": "Перевірка підпису...", + "signing_error": "Помилка підпису повідомлення, будь ласка, спробуйте ще раз!", + "verifying_error": "Помилка перевірки підпису, будь ласка, спробуйте ще раз!", + "oops_error": "Ой, щось пішло не так!" + } + }, + "connect": { + "label": "Під'єднати", + "title": "Під'єднати гаманець", + "new_to_ethereum": { + "description": "Вперше зіткнулися з гаманцями Ethereum?", + "learn_more": { + "label": "Дізнатися більше" + } + }, + "learn_more": { + "label": "Дізнатися більше" + }, + "recent": "Недавні", + "status": { + "opening": "Відкриття %{wallet}...", + "connecting": "Підключення", + "connect_mobile": "Продовжити в %{wallet}", + "not_installed": "%{wallet} не встановлено", + "not_available": "%{wallet} недоступний", + "confirm": "Підтвердіть з'єднання в розширенні", + "confirm_mobile": "Підтвердіть запит на підключення у гаманці" + }, + "secondary_action": { + "get": { + "description": "Не маєте %{wallet}?", + "label": "ОТРИМАТИ" + }, + "install": { + "label": "ВСТАНОВИТИ" + }, + "retry": { + "label": "ПОВТОРИТИ" + } + }, + "walletconnect": { + "description": { + "full": "Потрібне офіційне модальне вікно WalletConnect?", + "compact": "Потрібне модальне вікно WalletConnect?" + }, + "open": { + "label": "ВІДКРИТИ" + } + } + }, + "connect_scan": { + "title": "Сканувати за допомогою %{wallet}", + "fallback_title": "Сканувати за допомогою вашого телефону" + }, + "connector_group": { + "recommended": "Рекомендовано", + "other": "Інші", + "popular": "Популярні", + "more": "Більше", + "others": "Інші" + }, + "get": { + "title": "Отримати гаманець", + "action": { + "label": "ОТРИМАТИ" + }, + "mobile": { + "description": "Мобільний Гаманець" + }, + "extension": { + "description": "Розширення Браузера" + }, + "mobile_and_extension": { + "description": "Мобільний Гаманець та Розширення" + }, + "mobile_and_desktop": { + "description": "Мобільний та Настільний Гаманець" + }, + "looking_for": { + "title": "Не те, що ви шукаєте?", + "mobile": { + "description": "Виберіть гаманець на головному екрані, щоб розпочати роботу з іншим провайдером гаманця." + }, + "desktop": { + "compact_description": "Виберіть гаманець на головному екрані, щоб розпочати роботу з іншим провайдером гаманця.", + "wide_description": "Виберіть гаманець зліва, щоб розпочати роботу з іншим провайдером гаманця." + } + } + }, + "get_options": { + "title": "Розпочніть з %{wallet}", + "short_title": "Отримати %{wallet}", + "mobile": { + "title": "%{wallet} для Мобільних", + "description": "Використовуйте мобільний гаманець для вивчення світу Ethereum.", + "download": { + "label": "Отримати додаток" + } + }, + "extension": { + "title": "%{wallet} для %{browser}", + "description": "Отримайте доступ до свого гаманця прямо з улюбленого веб-браузера.", + "download": { + "label": "Додати до %{browser}" + } + }, + "desktop": { + "title": "%{wallet} для %{platform}", + "description": "Отримайте доступ до вашого гаманця нативно з потужного настільного комп'ютера.", + "download": { + "label": "Додати до %{platform}" + } + } + }, + "get_mobile": { + "title": "Встановити %{wallet}", + "description": "Скануйте за допомогою телефону, щоб завантажити на iOS або Android", + "continue": { + "label": "Продовжити" + } + }, + "get_instructions": { + "mobile": { + "connect": { + "label": "Під'єднати" + }, + "learn_more": { + "label": "Дізнатися більше" + } + }, + "extension": { + "refresh": { + "label": "Оновити" + }, + "learn_more": { + "label": "Дізнатися більше" + } + }, + "desktop": { + "connect": { + "label": "Під'єднати" + }, + "learn_more": { + "label": "Дізнатися більше" + } + } + }, + "chains": { + "title": "Перемкнути мережу", + "wrong_network": "Виявлено неправильну мережу, змініть її або від'єднайтеся, щоб продовжити.", + "confirm": "Підтвердіть у гаманці", + "switching_not_supported": "Ваш гаманець не підтримує зміну мереж з %{appName}. Спробуйте змінити мережу безпосередньо через ваш гаманець.", + "switching_not_supported_fallback": "Ваш гаманець не підтримує зміну мереж з цього додатку. Спробуйте змінити мережу безпосередньо через ваш гаманець.", + "disconnect": "Від'єднатися", + "connected": "Під'єднано" + }, + "profile": { + "disconnect": { + "label": "Від'єднатися" + }, + "copy_address": { + "label": "Скопіювати адресу", + "copied": "Скопійовано!" + }, + "explorer": { + "label": "Переглянути більше в експлорері" + }, + "transactions": { + "description": "%{appName} транзакції з'являться тут...", + "description_fallback": "Тут з'являться ваші транзакції...", + "recent": { + "title": "Останні Транзакції" + }, + "clear": { + "label": "Очистити Все" + } + } + }, + "wallet_connectors": { + "argent": { + "qr_code": { + "step1": { + "description": "Додайте Argent на домашній екран для швидшого доступу до вашого гаманця.", + "title": "Відкрийте додаток Argent" + }, + "step2": { + "description": "Створіть гаманець та ім'я користувача, або імпортуйте існуючий гаманець.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку 'Сканувати QR-код'" + } + } + }, + "bifrost": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо додати Bifrost Wallet на ваш домашній екран для швидшого доступу.", + "title": "Відкрийте додаток Bifrost Wallet" + }, + "step2": { + "description": "Створіть або імпортуйте гаманець, використовуючи вашу фразу для відновлення.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку сканування" + } + } + }, + "bitget": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо розмістити Bitget Wallet на вашому домашньому екрані для швидшого доступу.", + "title": "Відкрийте додаток Bitget Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку сканування" + } + }, + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Bitget Wallet на вашій панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть розширення Bitget Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "bitski": { + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Bitski на панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть розширення Bitski" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "coin98": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо розмістити Coin98 Wallet на домашньому екрані для швидшого доступу до вашого гаманця.", + "title": "Відкрийте додаток Coin98 Wallet" + }, + "step2": { + "description": "Ви можете легко зробити резервну копію вашого гаманця, використовуючи нашу функцію резервного копіювання на вашому телефоні.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку WalletConnect" + } + }, + "extension": { + "step1": { + "description": "Клацніть у верхньому правому куті вашого браузера та закріпіть Coin98 Wallet для зручного доступу.", + "title": "Встановіть розширення Coin98 Wallet" + }, + "step2": { + "description": "Створіть новий гаманець або імпортуйте існуючий.", + "title": "Створіть або імпортуйте гаманець" + }, + "step3": { + "description": "Після налаштування гаманця Coin98 натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "coinbase": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо додати Coinbase Wallet на домашній екран для швидшого доступу.", + "title": "Відкрийте додаток Coinbase Wallet" + }, + "step2": { + "description": "Ви можете легко створити резервну копію гаманця за допомогою функції хмарного резервного копіювання.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку сканування" + } + }, + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Coinbase Wallet на панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть розширення Coinbase Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "core": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо додати Core на домашній екран для швидшого доступу до вашого гаманця.", + "title": "Відкрийте додаток Core" + }, + "step2": { + "description": "Ви можете легко зробити резервну копію вашого гаманця, використовуючи нашу функцію резервного копіювання на вашому телефоні.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку WalletConnect" + } + }, + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Core на панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть розширення Core" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "fox": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо розмістити FoxWallet на головному екрані для швидшого доступу.", + "title": "Відкрийте додаток FoxWallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку сканування" + } + } + }, + "frontier": { + "qr_code": { + "step1": { + "description": "Ми рекомендуємо розмістити Frontier Wallet на головному екрані для швидшого доступу.", + "title": "Відкрийте додаток Frontier Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця.", + "title": "Натисніть кнопку сканування" + } + }, + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Frontier Wallet на панелі задач для швидкого доступу до вашого гаманця.", + "title": "Встановіть розширення Frontier Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "im_token": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток imToken", + "description": "Розмістіть додаток imToken на головному екрані для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Натисніть на іконку сканера в правому верхньому куті", + "description": "Виберіть 'Нове з'єднання', потім відскануйте QR-код і підтвердіть запит на підключення." + } + } + }, + "metamask": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток MetaMask", + "description": "Ми рекомендуємо розмістити MetaMask на головному екрані для швидкого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + }, + "extension": { + "step1": { + "title": "Встановіть розширення MetaMask", + "description": "Ми рекомендуємо закріпити MetaMask на панелі задач для швидкого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "okx": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток OKX Wallet", + "description": "Ми рекомендуємо розмістити OKX Wallet на головному екрані для швидкого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + }, + "extension": { + "step1": { + "title": "Встановіть розширення OKX Wallet", + "description": "Ми рекомендуємо закріпити OKX Wallet на панелі задач для швидкого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "omni": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Omni", + "description": "Додайте Omni на головний екран для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Натисніть на іконку QR та відскануйте", + "description": "Натисніть на іконку QR на вашому головному екрані, відскануйте код та підтвердіть запит для підключення." + } + } + }, + "token_pocket": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток TokenPocket", + "description": "Ми рекомендуємо розмістити TokenPocket на вашому головному екрані для швидшого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + }, + "extension": { + "step1": { + "title": "Встановіть розширення TokenPocket", + "description": "Ми рекомендуємо прикріпити TokenPocket до вашої панелі задач для швидкого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "trust": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Trust Wallet", + "description": "Розмістіть Trust Wallet на вашому головному екрані для швидшого доступу до гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Натисніть WalletConnect у Налаштуваннях", + "description": "Виберіть 'Нове з'єднання', потім відскануйте QR-код і підтвердіть запит на підключення." + } + }, + "extension": { + "step1": { + "title": "Встановіть розширення Trust Wallet", + "description": "Натисніть у верхньому правому куті вашого браузера та закріпіть Trust Wallet для зручного доступу." + }, + "step2": { + "title": "Створіть або імпортуйте гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування Trust Wallet натисніть нижче, щоб оновити браузер та завантажити розширення." + } + } + }, + "uniswap": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Uniswap", + "description": "Додайте Uniswap Wallet на свій домашній екран для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Натисніть на іконку QR та відскануйте", + "description": "Торкніться іконки QR на вашому домашньому екрані, відскануйте код та підтвердіть запит на підключення." + } + } + }, + "zerion": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Zerion", + "description": "Ми рекомендуємо розмістити Zerion на вашому домашньому екрані для швидшого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + }, + "extension": { + "step1": { + "title": "Встановіть розширення Zerion", + "description": "Ми рекомендуємо закріпити Zerion на вашій панелі завдань для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "rainbow": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Rainbow", + "description": "Ми рекомендуємо додати Rainbow на домашній екран для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Ви можете легко зробити резервну копію вашого гаманця, використовуючи нашу функцію резервного копіювання на вашому телефоні." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + } + }, + "enkrypt": { + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Enkrypt Wallet на панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть розширення Enkrypt Wallet" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "frame": { + "extension": { + "step1": { + "description": "Ми рекомендуємо закріпити Frame на панелі задач для швидшого доступу до вашого гаманця.", + "title": "Встановіть Frame та супутнє розширення" + }, + "step2": { + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось.", + "title": "Створити або Імпортувати Гаманець" + }, + "step3": { + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення.", + "title": "Оновіть ваш браузер" + } + } + }, + "one_key": { + "extension": { + "step1": { + "title": "Встановіть розширення OneKey Wallet", + "description": "Ми рекомендуємо закріпити OneKey Wallet на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "phantom": { + "extension": { + "step1": { + "title": "Встановіть розширення Phantom", + "description": "Ми рекомендуємо закріпити Phantom на панелі задач для легшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою відновлення з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "rabby": { + "extension": { + "step1": { + "title": "Встановіть розширення Rabby", + "description": "Ми рекомендуємо закріпити Rabby на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "safeheron": { + "extension": { + "step1": { + "title": "Встановіть розширення Core", + "description": "Ми рекомендуємо закріпити Safeheron на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "taho": { + "extension": { + "step1": { + "title": "Встановіть розширення Taho", + "description": "Ми рекомендуємо закріпити Taho на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "talisman": { + "extension": { + "step1": { + "title": "Встановіть розширення Talisman", + "description": "Ми рекомендуємо закріпити Talisman на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створіть або Імпортуйте Ethereum гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться своєю фразою для відновлення з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "xdefi": { + "extension": { + "step1": { + "title": "Встановіть розширення гаманця XDEFI", + "description": "Ми рекомендуємо закріпити гаманець XDEFI на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "zeal": { + "extension": { + "step1": { + "title": "Встановіть розширення Zeal", + "description": "Ми рекомендуємо закріпити Zeal на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "safepal": { + "extension": { + "step1": { + "title": "Встановіть розширення SafePal Wallet", + "description": "Клацніть у верхньому правому куті вашого браузера та закріпіть SafePal Wallet для зручного доступу." + }, + "step2": { + "title": "Створіть або імпортуйте гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування SafePal Wallet натисніть нижче, щоб оновити браузер і завантажити розширення." + } + }, + "qr_code": { + "step1": { + "title": "Відкрийте додаток SafePal Wallet", + "description": "Додайте SafePal Wallet на домашній екран для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Створіть новий гаманець або імпортуйте існуючий." + }, + "step3": { + "title": "Натисніть WalletConnect у Налаштуваннях", + "description": "Виберіть 'Нове з'єднання', потім відскануйте QR-код і підтвердіть запит на підключення." + } + } + }, + "desig": { + "extension": { + "step1": { + "title": "Встановіть розширення Desig", + "description": "Ми рекомендуємо закріпити Desig на панелі задач для легшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створіть гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + } + }, + "subwallet": { + "extension": { + "step1": { + "title": "Встановіть розширення SubWallet", + "description": "Ми рекомендуємо закріпити SubWallet на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться своєю фразою для відновлення з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + }, + "qr_code": { + "step1": { + "title": "Відкрийте додаток SubWallet", + "description": "Ми рекомендуємо розмістити SubWallet на головному екрані для швидшого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + } + }, + "clv": { + "extension": { + "step1": { + "title": "Встановіть розширення CLV Wallet", + "description": "Ми рекомендуємо закріпити CLV Wallet на панелі задач для швидшого доступу до вашого гаманця." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Оновіть ваш браузер", + "description": "Після налаштування вашого гаманця, натисніть нижче, щоб оновити браузер і завантажити розширення." + } + }, + "qr_code": { + "step1": { + "title": "Відкрийте додаток CLV Wallet", + "description": "Ми рекомендуємо розмістити CLV Wallet на головному екрані для швидшого доступу." + }, + "step2": { + "title": "Створити або Імпортувати Гаманець", + "description": "Не забудьте зробити резервну копію вашого гаманця за допомогою безпечного методу. Ніколи не діліться вашою секретною фразою з кимось." + }, + "step3": { + "title": "Натисніть кнопку сканування", + "description": "Після сканування з'явиться запит на під'єднання для підключення вашого гаманця." + } + } + }, + "okto": { + "qr_code": { + "step1": { + "title": "Відкрийте додаток Okto", + "description": "Додайте Okto на домашній екран для швидкого доступу" + }, + "step2": { + "title": "Створіть MPC гаманець", + "description": "Створіть обліковий запис та згенеруйте гаманець" + }, + "step3": { + "title": "Натисніть WalletConnect у Налаштуваннях", + "description": "Натисніть на іконку Сканування QR-коду в правому верхньому куті та підтвердіть запит для підключення." + } + } + }, + "ledger": { + "desktop": { + "step1": { + "title": "Відкрийте додаток Ledger Live", + "description": "Рекомендуємо розмістити Ledger Live на головному екрані для швидшого доступу." + }, + "step2": { + "title": "Налаштуйте ваш Ledger", + "description": "Налаштуйте новий Ledger або під'єднайте існуючий." + }, + "step3": { + "title": "Під'єднати", + "description": "З'явиться запит на підключення для того, щоб ви могли під'єднати свій гаманець." + } + }, + "qr_code": { + "step1": { + "title": "Відкрийте додаток Ledger Live", + "description": "Рекомендуємо розмістити Ledger Live на головному екрані для швидшого доступу." + }, + "step2": { + "title": "Налаштуйте ваш Ledger", + "description": "Ви можете синхронізувати з десктопним додатком або підключити ваш Ledger." + }, + "step3": { + "title": "Сканувати код", + "description": "Натисніть WalletConnect, потім перейдіть до сканера. Після сканування з'явиться запит на підключення для того, щоб ви могли під'єднати свій гаманець." + } + } + } + } +} diff --git a/site/data/en-US/docs/localization.mdx b/site/data/en-US/docs/localization.mdx index 93d5f872fc..caddd99ef8 100644 --- a/site/data/en-US/docs/localization.mdx +++ b/site/data/en-US/docs/localization.mdx @@ -85,6 +85,7 @@ We provide full support for the following `locale` regions: ['Türkçe', 'Turkey 🇹🇷', 'tr-TR', 'tr'], ['한국어', 'South Korea 🇰🇷', 'ko-KR', 'ko'], ['ภาษาไทย', 'Thailand 🇹🇭', 'th-TH', 'th'], + ['українська', 'Ukraine 🇺🇦', 'uk-UA', 'ua'], ]} /> diff --git a/site/data/ua/docs/authentication.mdx b/site/data/ua/docs/authentication.mdx new file mode 100644 index 0000000000..168061e988 --- /dev/null +++ b/site/data/ua/docs/authentication.mdx @@ -0,0 +1,141 @@ +--- +title: Аутентифікація +description: Аутентифікація користувачів +--- + +# Аутентифікація + +## Надання аутентифікованого доступу до вашого застосунку + +Ви можете необов'язково вимагати, щоб користувачі підписували повідомлення за допомогою свого гаманця під час процесу підключення, доводячи, що вони володіють підключеним обліковим записом, і дозволяючи вам створити аутентифікований користувацький сеанс з привілейованим доступом до вашого застосунку. + +Хоча можливо [інтегруватися з власними бекендами та форматами повідомлень,](/docs/custom-authentication) RainbowKit надає першокласну підтримку для [Входу за допомогою Ethereum](https://login.xyz) та [NextAuth.js.](https://next-auth.js.org) + +### Налаштування Входу за допомогою Ethereum та NextAuth.js + +Якщо ви ще цього не зробили, спершу налаштуйте свій проект [Next.js](https://nextjs.org) за допомогою [офіційного шаблону Sign-In with Ethereum для NextAuth.js.](https://docs.login.xyz/integrations/nextauth.js) + +#### Встановлення + +Встановіть пакет `@rainbow-me/rainbowkit-siwe-next-auth` та його пір-залежність, [ethers](https://docs.ethers.org/v5/). + +```bash +npm install @rainbow-me/rainbowkit-siwe-next-auth siwe@^2 ethers@^5 +``` + +> Примітка: `siwe` вимагає пір-залежність [ethers](https://docs.ethers.org/v5/), у той час як [wagmi](https://wagmi.sh/) тепер покладається на альтернативу [viem](https://viem.sh). + +#### Налаштуйте провайдера + +У вашому компоненті `App`, імпортуйте `RainbowKitSiweNextAuthProvider`. + +```tsx +import { RainbowKitSiweNextAuthProvider } from '@rainbow-me/rainbowkit-siwe-next-auth'; +``` + +Обгорніть `RainbowKitProvider` за допомогою `RainbowKitSiweNextAuthProvider`, переконавшись, що він знаходиться всередині `SessionProvider` від NextAuth, щоб мати доступ до сесії. + +```tsx +import { RainbowKitSiweNextAuthProvider } from '@rainbow-me/rainbowkit-siwe-next-auth'; +import { RainbowKitProvider } from '@rainbow-me/rainbowkit'; +import { SessionProvider } from 'next-auth/react'; +import type { Session } from 'next-auth'; +import { AppProps } from 'next/app'; +import { WagmiConfig } from 'wagmi'; + +export default function App({ + Component, + pageProps, +}: AppProps<{ + session: Session; +}>) { + return ( + + + + + + + + + + ); +} +``` + +З `RainbowKitSiweNextAuthProvider` на місці, тепер ваших користувачів буде запрошено аутентифікуватися, підписавши повідомлення після підключення їхнього гаманця. + +#### Налаштуйте опції повідомлення SIWE + +Ви можете налаштувати [опції повідомлення SIWE](https://github.com/spruceid/siwe/blob/v1.1.6/packages/siwe/lib/client.ts#L29), передавши функцію до пропу `getSiweMessageOptions` на `RainbowKitSiweNextAuthProvider`. + +Ця функція буде викликана кожного разу, коли створюється нове повідомлення. Опції, що повертаються з цієї функції, будуть об'єднані з параметрами за замовчуванням. + +```tsx +import { + RainbowKitSiweNextAuthProvider, + GetSiweMessageOptions, +} from '@rainbow-me/rainbowkit-siwe-next-auth'; + +const getSiweMessageOptions: GetSiweMessageOptions = () => ({ + statement: 'Sign in to my RainbowKit app', +}); + + + ... +; +``` + +#### Доступ до сесії на серверній стороні + +Ви можете отримати доступ до токену сесії за допомогою функції `getToken` від NextAuth, імпортованої з `next-auth/jwt`. Якщо користувач успішно пройшов аутентифікацію, властивість `sub` токена сесії ("суб'єкт" токена, тобто користувач) буде адресою користувача. + +Ви також можете передати об'єкт сесії, який був розгорнутий на сервері, через `getServerSideProps`, щоб NextAuth не потребував його повторного розгортання на клієнті. + +Наприклад: + +```tsx +import { GetServerSideProps, InferGetServerSidePropsType } from 'next'; +import { getSession } from 'next-auth/react'; +import { getToken } from 'next-auth/jwt'; +import React from 'react'; + +export const getServerSideProps: GetServerSideProps = async context => { + const session = await getSession(context); + const token = await getToken({ req: context.req }); + + const address = token?.sub ?? null; + // If you have a value for "address" here, your + // server knows the user is authenticated. + + // You can then pass any data you want + // to the page component here. + return { + props: { + address, + session, + }, + }; +}; + +type AuthenticatedPageProps = InferGetServerSidePropsType< + typeof getServerSideProps +>; + +export default function AuthenticatedPage({ + address, +}: AuthenticatedPageProps) { + return address ? ( +

Authenticated as {address}

+ ) : ( +

Unauthenticated

+ ); +} +``` + +Для отримання додаткової інформації про управління сесією ви можете звернутися до наступної документації: + +- [Посібник з аутентифікації Next.js](https://nextjs.org/docs/authentication) +- [Документація NextAuth.js](https://next-auth.js.org) diff --git a/site/data/ua/docs/chains.mdx b/site/data/ua/docs/chains.mdx new file mode 100644 index 0000000000..a7923de2d6 --- /dev/null +++ b/site/data/ua/docs/chains.mdx @@ -0,0 +1,80 @@ +--- +title: Ланцюги +description: Налаштування ланцюгів +--- + +# Ланцюги + +## Налаштування ланцюгів + +Властивість `chains` в `RainbowKitProvider` визначає, які ланцюги доступні для вибору користувачем. + +RainbowKit розроблений для інтеграції з [об’єктом `chain` від wagmi](https://wagmi.sh/react/chains). Перегляньте список підтримуваних ланцюгів [тут](https://wagmi.sh/react/chains#supported-chains). + +> Для отримання додаткової інформації про об’єкт `chain`, або щоб побачити приклади створення власного визначення ланцюга, перегляньте [вихідний код об’єкта `chain` від wagmi](https://github.com/wagmi-dev/references/blob/main/packages/chains/src/types.ts). + +Ваше налаштування ланцюга може бути визначене в одному масиві, наданому [`configureChains`](https://wagmi.sh/react/providers/configuring-chains). + +```tsx +import { RainbowKitProvider, Chain } from '@rainbow-me/rainbowkit'; +import { configureChains } from 'wagmi'; +import { mainnet, optimism, zora } from 'wagmi/chains'; +import { alchemyProvider } from 'wagmi/providers/alchemy'; +import { publicProvider } from 'wagmi/providers/public'; + +const { chains } = configureChains( + [mainnet, optimism, zora], + [ + alchemyProvider({ apiKey: process.env.ALCHEMY_ID }), + publicProvider(), + ] +); + +const App = () => { + return ( + + {/* ... */} + + ); +}; +``` + +### Налаштування початкового ланцюга + +За замовчуванням, RainbowKit підключиться до першого ланцюга у вашому масиві `chains`, щоб користувачі не стикалися відразу зі станом "Неправильна мережа". Цю поведінку можна налаштувати через властивість `initialChain`. + +Початковий ланцюг можна налаштувати, використовуючи ідентифікатор ланцюга. + +```tsx + +``` + +Для зручності, ви також можете передати об'єкт ланцюга. + +```tsx + +``` + +### Іконки користувацьких ланцюгів + +Кілька іконок ланцюгів надаються за замовчуванням, але ви можете налаштувати іконку для кожного ланцюга, використовуючи властивість iconUrl. + +```tsx +import { Chain, mainnet, optimism } from 'wagmi/chains'; + +const defaultChains: Chain[] = [ + { + ...mainnet, + iconUrl: 'https://example.com/icons/ethereum.png', + }, + { + ...optimism, + iconUrl: 'https://example.com/icons/optimism.png', + }, +]; + +const { chains } = configureChains(defaultChains, [ + alchemyProvider({ apiKey: process.env.ALCHEMY_ID }), + publicProvider(), +]); +``` diff --git a/site/data/ua/docs/connect-button.mdx b/site/data/ua/docs/connect-button.mdx new file mode 100644 index 0000000000..2d1df71c2f --- /dev/null +++ b/site/data/ua/docs/connect-button.mdx @@ -0,0 +1,149 @@ +--- +title: ConnectButton +description: Використання та налаштування ConnectButton +--- + +# ConnectButton + +## Використання та налаштування ConnectButton + +Це основний компонент. Він відповідає за відображення кнопки підключення/відключення, а також інтерфейсу зміни мережі. + +```tsx +import { ConnectButton } from '@rainbow-me/rainbowkit'; + +export const YourApp = () => { + return ; +}; +``` + +> Примітка: Переконайтеся, що ваш додаток обгорнуто в необхідні провайдери. [Дізнатися більше](/docs/installation#wrap-providers). + +### Пропси + +Компонент `ConnectButton` надає кілька пропсів для налаштування його вигляду, включаючи перемикання видимості різних елементів. + +