diff --git a/.changeset/silver-doors-change.md b/.changeset/silver-doors-change.md new file mode 100644 index 00000000000..a058a6d2464 --- /dev/null +++ b/.changeset/silver-doors-change.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Added ru_RU locale to thirdweb package diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/getConnectLocale.ts b/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/getConnectLocale.ts index dd2d4d194a9..7c8326085f1 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/getConnectLocale.ts +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/getConnectLocale.ts @@ -24,6 +24,9 @@ export async function getConnectLocale(localeId: LocaleId) { case "fr_FR": { return (await import("./fr.js")).default; } + case "ru_RU": { + return (await import("./ru.js")).default; + } case "pt_BR": { return (await import("./br.js")).default; } diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/ru.ts b/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/ru.ts new file mode 100644 index 00000000000..a346c0c8ac1 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/locale/ru.ts @@ -0,0 +1,124 @@ +import type { ConnectLocale } from "./types.js"; + +const connectLocaleRu: ConnectLocale = { + id: "ru_RU", + signIn: "Войти", + defaultButtonTitle: "Подключиться", + connecting: "Подключение", + switchNetwork: "Сменить сеть", + switchingNetwork: "Смена сети", + defaultModalTitle: "Войти", + recommended: "Рекомендуется", + installed: "Установлено", + buy: "Купить", + continueAsGuest: "Продолжить как гость", + connectAWallet: "Подключить кошелек", + newToWallets: "Новичок в кошельках?", + getStarted: "Начать", + guest: "Гость", + send: "Отправить", + receive: "Получить", + currentNetwork: "Текущая сеть", + switchAccount: "Сменить аккаунт", + requestTestnetFunds: "Запросить средства тестовой сети", + transactions: "Транзакции", + payTransactions: "Фиатные транзакции", + walletTransactions: "Транзакции кошелька", + viewAllTransactions: "Просмотреть все транзакции", + backupWallet: "Создать резервную копию кошелька", + guestWalletWarning: + "Это временный гостевой кошелек. Создайте резервную копию, если не хотите потерять к нему доступ", + switchTo: "Переключиться на", // Используется в "Switch to >" + connectedToSmartWallet: "Смарт-аккаунт", + confirmInWallet: "Подтвердить в кошельке", + disconnectWallet: "Отсоединить кошелек", + copyAddress: "Скопировать адрес", + personalWallet: "Личный кошелек", + smartWallet: "Смарт-кошелек", + or: "ИЛИ", + goBackButton: "Назад", + passkeys: { + title: "Ключи доступа", + linkPasskey: "Привязать ключ доступа", + }, + welcomeScreen: { + defaultTitle: "Ваш портал в мир децентрализации", + defaultSubtitle: "Подключите кошелек, чтобы начать", + }, + agreement: { + prefix: "Подключаясь, вы соглашаетесь с", + termsOfService: "Условиями использования", + and: "и", + privacyPolicy: "Политикой конфиденциальности", + }, + networkSelector: { + title: "Выбрать сеть", + mainnets: "Основные сети (мейннетс)", + testnets: "Тестовые сети (тестнетс)", + allNetworks: "Все", + addCustomNetwork: "Добавить кастомную сеть", + inputPlaceholder: "Поиск сети или Chain ID", + categoryLabel: { + recentlyUsed: "Недавно использованные", + popular: "Популярные", + others: "Все сети", + }, + loading: "Загрузка", + failedToSwitch: "Не удалось сменить сеть", + }, + receiveFundsScreen: { + title: "Получить средства", + instruction: + "Скопируйте адрес кошелька, чтобы отправить средства на этот кошелек", + }, + sendFundsScreen: { + title: "Отправить средства", + submitButton: "Отправить", + token: "Токен", + sendTo: "Отправить на", + amount: "Сумма", + successMessage: "Транзакция успешно выполнена", + invalidAddress: "Недействительный адрес", + noTokensFound: "Токены не найдены", + searchToken: "Найти или вставить адрес токена", + transactionFailed: "Транзакция не удалась", + transactionRejected: "Транзакция отклонена", + insufficientFunds: "Недостаточно средств", + selectTokenTitle: "Выбрать токен", + sending: "Отправка", + }, + signatureScreen: { + instructionScreen: { + title: "Войти", + instruction: + "Пожалуйста, подпишите сообщение в кошельке, чтобы продолжить", + signInButton: "Войти", + disconnectWallet: "Отсоединить кошелек", + }, + signingScreen: { + title: "Вход", + prompt: "Подпись запроса в вашем кошельке", + promptForSafe: + "Подпишите запрос в вашем кошельке и подтвердите транзакцию в Safe", + approveTransactionInSafe: "Подтвердить транзакцию в Safe", + tryAgain: "Попробовать снова", + failedToSignIn: "Не удалось войти", + inProgress: "Ожидание подтверждения", + }, + }, + manageWallet: { + title: "Управление кошельком", + linkedProfiles: "Привязанные профили", + linkProfile: "Привязать профиль", + connectAnApp: "Подключить приложение", + exportPrivateKey: "Экспортировать приватный ключ", + }, + viewFunds: { + title: "Просмотр средств", + viewNFTs: "Просмотр NFTs", + viewTokens: "Просмотр токенов", + viewAssets: "Просмотр активов", + }, +}; + +export default connectLocaleRu; diff --git a/packages/thirdweb/src/react/web/ui/types.ts b/packages/thirdweb/src/react/web/ui/types.ts index a2ef30bcdd2..99ef9963fbb 100644 --- a/packages/thirdweb/src/react/web/ui/types.ts +++ b/packages/thirdweb/src/react/web/ui/types.ts @@ -8,4 +8,5 @@ export type LocaleId = | "vi_VN" | "de_DE" | "fr_FR" + | "ru_RU" | "pt_BR"; diff --git a/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.test.ts b/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.test.ts index 2eec444291b..51b44af7645 100644 --- a/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.test.ts +++ b/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.test.ts @@ -8,6 +8,7 @@ import fr from "./fr.js"; import { getInjectedWalletLocale } from "./getInjectedWalletLocale.js"; import ja from "./ja.js"; import kr from "./kr.js"; +import ru from "./ru.js"; import tl from "./tl.js"; import vi from "./vi.js"; @@ -19,6 +20,7 @@ const locales: { locale: LocaleId; content: object }[] = [ { locale: "de_DE", content: de }, { locale: "ko_KR", content: kr }, { locale: "fr_FR", content: fr }, + { locale: "ru_RU", content: ru }, { locale: "pt_BR", content: br }, ]; diff --git a/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.ts b/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.ts index a2fb2a53d8f..1d265713d77 100644 --- a/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.ts +++ b/packages/thirdweb/src/react/web/wallets/injected/locale/getInjectedWalletLocale.ts @@ -22,6 +22,8 @@ export async function getInjectedWalletLocale( return (await import("./kr.js")).default; case "fr_FR": return (await import("./fr.js")).default; + case "ru_RU": + return (await import("./ru.js")).default; case "pt_BR": { return (await import("./br.js")).default; } diff --git a/packages/thirdweb/src/react/web/wallets/injected/locale/ru.ts b/packages/thirdweb/src/react/web/wallets/injected/locale/ru.ts new file mode 100644 index 00000000000..851136ebf2a --- /dev/null +++ b/packages/thirdweb/src/react/web/wallets/injected/locale/ru.ts @@ -0,0 +1,27 @@ +import type { InjectedWalletLocale } from "./types.js"; + +/** + * @internal + */ +const injectedWalletLocaleRu = (wallet: string): InjectedWalletLocale => ({ + connectionScreen: { + inProgress: "Ожидание подтверждения", + failed: "Подключение не удалось", + instruction: `Примите запрос на подключение в ${wallet}`, + retry: "Попробовать снова", + }, + getStartedScreen: { + instruction: `Отсканируйте QR-код, чтобы скачать приложение ${wallet}`, + }, + scanScreen: { + instruction: `Для подключения отсканируйте QR-код с помощью приложения ${wallet}`, + }, + getStartedLink: `Ещё нет ${wallet}?`, + download: { + chrome: "Скачать расширение для Chrome", + android: "Скачать в Google Play", + iOS: "Скачать в App Store", + }, +}); + +export default injectedWalletLocaleRu; diff --git a/packages/thirdweb/src/react/web/wallets/shared/locale/getConnectLocale.ts b/packages/thirdweb/src/react/web/wallets/shared/locale/getConnectLocale.ts index ed2cfeb9142..184235597d5 100644 --- a/packages/thirdweb/src/react/web/wallets/shared/locale/getConnectLocale.ts +++ b/packages/thirdweb/src/react/web/wallets/shared/locale/getConnectLocale.ts @@ -22,6 +22,8 @@ export async function getInAppWalletLocale( return (await import("./kr.js")).default; case "fr_FR": return (await import("./fr.js")).default; + case "ru_RU": + return (await import("./ru.js")).default; case "pt_BR": { return (await import("./br.js")).default; } diff --git a/packages/thirdweb/src/react/web/wallets/shared/locale/ru.ts b/packages/thirdweb/src/react/web/wallets/shared/locale/ru.ts new file mode 100644 index 00000000000..c72dca695f3 --- /dev/null +++ b/packages/thirdweb/src/react/web/wallets/shared/locale/ru.ts @@ -0,0 +1,62 @@ +import type { InAppWalletLocale } from "./types.js"; + +export default { + signInWithGoogle: "Google", + signInWithFacebook: "Facebook", + signInWithApple: "Apple", + signInWithDiscord: "Discord", + emailPlaceholder: "Адрес электронной почты", + submitEmail: "Продолжить", + signIn: "Войти", + or: "или", + emailRequired: "Требуется адрес электронной почты", + invalidEmail: "Неверный адрес электронной почты", + maxAccountsExceeded: + "Превышено максимальное количество аккаунтов. Пожалуйста, сообщите разработчику приложения.", + socialLoginScreen: { + title: "Войти", + instruction: "Войдите в свой аккаунт во всплывающем окне", + failed: "Не удалось войти", + retry: "Повторить попытку", + }, + emailLoginScreen: { + title: "Войти", + enterCodeSendTo: "Введите код подтверждения, отправленный на", + newDeviceDetected: "Обнаружено новое устройство", + enterRecoveryCode: + "Введите код восстановления, отправленный вам по электронной почте при первой регистрации", + invalidCode: "Неверный код подтверждения", + invalidCodeOrRecoveryCode: + "Неверный код подтверждения или код восстановления", + verify: "Подтвердить", + failedToSendCode: "Не удалось отправить код подтверждения", + sendingCode: "Отправка кода подтверждения", + resendCode: "Повторно отправить код подтверждения", + }, + createPassword: { + title: "Создать пароль", + instruction: + "Установите пароль для вашего аккаунта. Этот пароль понадобится при подключении с нового устройства.", + saveInstruction: "Обязательно сохраните его", + inputPlaceholder: "Введите ваш пароль", + confirmation: "Я сохранил свой пароль", + submitButton: "Установить пароль", + failedToSetPassword: "Не удалось установить пароль", + }, + enterPassword: { + title: "Введите пароль", + instruction: "Введите пароль для вашего аккаунта", + inputPlaceholder: "Введите ваш пароль", + submitButton: "Подтвердить", + wrongPassword: "Неверный пароль", + }, + signInWithEmail: "Войти с помощью электронной почты", + invalidPhone: "Недействительный номер телефона", + phonePlaceholder: "Номер телефона", + signInWithPhone: "Войти с помощью номера телефона", + phoneRequired: "Требуется номер телефона", + passkey: "Ключ доступа", + signInWithWallet: "Войти с помощью кошелька", + linkWallet: "Привязать кошелек", + loginAsGuest: "Продолжить как гость", +} satisfies InAppWalletLocale; diff --git a/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.test.ts b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.test.ts index c9602b85343..21a40fa9dd0 100644 --- a/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.test.ts +++ b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.test.ts @@ -8,6 +8,7 @@ import fr from "./fr.js"; import { getSmartWalletLocale } from "./getSmartWalletLocale.js"; import ja from "./ja.js"; import kr from "./kr.js"; +import ru from "./ru.js"; import tl from "./tl.js"; import vi from "./vi.js"; @@ -19,6 +20,7 @@ const locales: { locale: LocaleId; content: object }[] = [ { locale: "de_DE", content: de }, { locale: "ko_KR", content: kr }, { locale: "fr_FR", content: fr }, + { locale: "ru_RU", content: ru }, { locale: "pt_BR", content: br }, ]; diff --git a/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.ts b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.ts index 5d78baf536e..3231d821d6f 100644 --- a/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.ts +++ b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/getSmartWalletLocale.ts @@ -22,6 +22,8 @@ export async function getSmartWalletLocale( return (await import("./kr.js")).default; case "fr_FR": return (await import("./fr.js")).default; + case "ru_RU": + return (await import("./ru.js")).default; case "pt_BR": { return (await import("./br.js")).default; } diff --git a/packages/thirdweb/src/react/web/wallets/smartWallet/locale/ru.ts b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/ru.ts new file mode 100644 index 00000000000..8d048291c13 --- /dev/null +++ b/packages/thirdweb/src/react/web/wallets/smartWallet/locale/ru.ts @@ -0,0 +1,13 @@ +import type { SmartWalletLocale } from "./types.js"; + +const smartWalletLocalRu: SmartWalletLocale = { + connecting: "Подключение к смарт-аккаунту", + failedToConnect: "Не удалось подключиться к смарт-аккаунту", + wrongNetworkScreen: { + title: "Неверная сеть", + subtitle: "Ваш кошелек не подключен к нужной сети", + failedToSwitch: "Не удалось сменить сеть", + }, +}; + +export default smartWalletLocalRu;