Skip to content
5 changes: 5 additions & 0 deletions .changeset/silver-doors-change.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"thirdweb": patch
---

Added ru_RU locale to thirdweb package
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
122 changes: 122 additions & 0 deletions packages/thirdweb/src/react/web/ui/ConnectWallet/locale/ru.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
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 <Wallet-Name>>"
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: "Поиск сети или 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: "Просмотр NFT",
viewTokens: "Просмотр токенов",
viewAssets: "Просмотр активов",
},
};

export default connectLocaleRu;
1 change: 1 addition & 0 deletions packages/thirdweb/src/react/web/ui/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ export type LocaleId =
| "vi_VN"
| "de_DE"
| "fr_FR"
| "ru_RU"
| "pt_BR";
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import de from "./de.js";
import en from "./en.js";
import es from "./es.js";
import fr from "./fr.js";
import ru from "./ru.js";
import { getInjectedWalletLocale } from "./getInjectedWalletLocale.js";
import ja from "./ja.js";
import kr from "./kr.js";
Expand All @@ -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 },
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
27 changes: 27 additions & 0 deletions packages/thirdweb/src/react/web/wallets/injected/locale/ru.ts
Original file line number Diff line number Diff line change
@@ -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;
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
61 changes: 61 additions & 0 deletions packages/thirdweb/src/react/web/wallets/shared/locale/ru.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
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;
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import de from "./de.js";
import en from "./en.js";
import es from "./es.js";
import fr from "./fr.js";
import ru from "./ru.js";
import { getSmartWalletLocale } from "./getSmartWalletLocale.js";
import ja from "./ja.js";
import kr from "./kr.js";
Expand All @@ -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 },
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { SmartWalletLocale } from "./types.js";

const smartWalletLocalRu: SmartWalletLocale = {
connecting: "Подключение к смарт-аккаунту",
failedToConnect: "Не удалось подключиться к смарт-аккаунту",
wrongNetworkScreen: {
title: "Неверная сеть",
subtitle: "Ваш кошелек не подключен к нужной сети",
failedToSwitch: "Не удалось сменить сеть",
},
};

export default smartWalletLocalRu;