diff --git a/docker-compose.yml b/docker-compose.yml index 86c4f309..227670e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,6 @@ services: - CLIENT_ID=$CLIENT_ID - LOGIN_CLIENT_ID=$CLIENT_LOGIN_ID - CLIENT_SECRET=$CLIENT_SECRET - - MULTI_LANGS_SUPPORT=$MULTI_LANGS_SUPPORT - PRELOAD_LANG=$PRELOAD_LANG - LANGS_SUPPORT=$LANGS_SUPPORT - DEFAULT_THEME=$DEFAULT_THEME diff --git a/env-map.js b/env-map.js index 23040c56..78c63d30 100644 --- a/env-map.js +++ b/env-map.js @@ -6,7 +6,6 @@ window.env = { REACT_APP_LOGIN_CLIENT_ID: "$CLIENT_ID", REACT_APP_CLIENT_ID: "$CLIENT_ID", REACT_APP_CLIENT_SECRET: "$CLIENT_SECRET", - REACT_APP_MULTI_LANGS_SUPPORT : "$MULTI_LANGS_SUPPORT", REACT_APP_PRELOAD_LANG : "$PRELOAD_LANG", REACT_APP_LANGS_SUPPORT : "$LANGS_SUPPORT", REACT_APP_DEFAULT_THEME : "$DEFAULT_THEME", diff --git a/package.json b/package.json index b2bd7530..298f1393 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "react-dropzone": "^11.3.1", "react-hot-toast": "^2.4.1", "react-i18next": "^12.2.2", + "react-multi-date-picker": "^4.3.1", "react-number-format": "^4.9.3", "react-qr-code": "^2.0.11", "react-redux": "^8.0.5", diff --git a/public/assets/locales/en/translation.json b/public/assets/locales/en/translation.json index c4e776f1..d765c03b 100644 --- a/public/assets/locales/en/translation.json +++ b/public/assets/locales/en/translation.json @@ -1,8 +1,8 @@ { "title": "OPEX", - "signIn":"Sign In", + "signIn": "Sign In", "signUp": "Sign Up", - "signOut":"Sign Out", + "signOut": "Sign Out", "date": "Date", "time": "Time", "volume": "Volume", @@ -15,11 +15,10 @@ "max": "Max", "buy": "Buy", "sell": "Sell", - "all": "All", "orderType": "Order Type", - "status" : "Status", - "pleaseLogin" : "Please Log In!", - "comingSoon" : "Coming Soon!", + "status": "Status", + "pleaseLogin": "Please Log In!", + "comingSoon": "Coming Soon!", "deposit": "Deposit", "withdrawal": "Withdrawal", "transfer": "Transfer", @@ -28,6 +27,12 @@ "commission": "Commission", "nextStep": "Next Step", "prevStep": "Prev Step", + "next": "next", + "all": "all", + "prev": "prev", + "ask": "ask", + "bid": "bid", + "to": "to", "submit": "Submit", "username": "Username", "password": "Password", @@ -44,21 +49,28 @@ "noTx": "There is no transaction!", "close": "Close", "unit": "Unit", + "from": "from", + "row": "Row", + "until": "until", + "withPrice": "with price", + "description": "Description", + "first": "First", "offline": "Check your connection!", - "improperMobileView ": "Not optimized for mobile view.", + "improperMobileView": "Not optimized for mobile view.", "home": "Home", "country": { - "iran" : "I. R. IRAN", - "germany" : "Germany", + "iran": "IRAN", + "germany": "Germany", "uk": "United Kingdom", - "turkey" : "Turkey" + "turkey": "Turkey", + "uzbekistan": "Uzbekistan" }, "currency": { - "IRT" : "IRT", - "Euro" : "Euro", - "USD" : "USD", - "BTC" : "BTC", - "ETH" : "ETH", + "IRT": "IRT", + "Euro": "Euro", + "USD": "USD", + "BTC": "BTC", + "ETH": "ETH", "USDT": "USDT", "TBTC": "TBTC", "TETH": "TETH", @@ -119,8 +131,8 @@ "LIMIT_MAKER": "Limit Maker" }, "header": { - "lastPrice" : "Last Price", - "availableBalance" : "Available Balance", + "lastPrice": "Last Price", + "availableBalance": "Available Balance", "free": "Available", "locked": "Locked", "inWithdrawalProcess": "Pending Withdrawal", @@ -144,6 +156,9 @@ "technical": { "title": "Technical" }, + "txHistory": { + "title": "Transactions History" + }, "messages": { "title": "Messages" }, @@ -151,9 +166,10 @@ "title": "Settings" }, "Languages": { - "Persian": "فارسی", - "English": "English", - "Arabic": "عربي" + "fa": "فارسی", + "en": "English", + "ar": "عربي", + "uzb": "Oʻzbekcha" }, "Theme": { "Light": "Light", @@ -165,13 +181,13 @@ }, "TimeZone": { "THR": "Asia / Tehran / UTC+3:30", - "UTC" : "UTC" + "UTC": "UTC" }, "orders": { "title": "Order", - "minOrder": "Minimum allowed order is {{min}} {{currency}}", - "maxOrder": "Maximum allowed order is {{max}} {{currency}}", - "divisibility": "Divisibility !", + "minOrder": "Minimum allowed order is {{min}} {{currency}}", + "maxOrder": "Maximum allowed order is {{max}} {{currency}}", + "divisibility": "The entered value must be divisible by {{mod}} !", "notEnoughBalance": "Insufficient Balance ", "availableAmount": "Available Amount", "bestOffer": "Best Offer", @@ -227,6 +243,21 @@ "showZeroBalance": "Do not show zero balance.", "estimateAlert": "The equivalent amount is calculated based on the highest buy offer" }, + "TransactionHistory": { + "coin": "Coins", + "category": "Categories", + "size": "Number", + "period" : "Period" + }, + "TransactionCategory": { + "DEPOSIT": "Deposit", + "FEE": "Fee", + "TRADE": "Trade", + "WITHDRAW": "Withdraw", + "ORDER_CANCEL": "Cancel Order", + "ORDER_CREATE": "Create Order", + "ORDER_FINALIZED": "Finalized Order" + }, "DepositWithdraw": { "title": "Deposit / Withdraw", "success": "The Address is copied.", @@ -266,7 +297,7 @@ }, "IPGErrorCode": { "13003": "You are not allowed to pay.", - "13004":"You have an unpaid request.", + "13004": "You have an unpaid request.", "13005": "Request locked.", "13007": "Unknown Error" }, @@ -598,9 +629,9 @@ }, "Footer": { "darkMode": "Dark Mode", - "aboutUs" : "About Us", - "contactUS" : "Contact Us", - "blog" : "Blog", + "aboutUs": "About Us", + "contactUS": "Contact Us", + "blog": "Blog", "guide": "Guide", "rules": "Rules", "api": "API", @@ -618,10 +649,10 @@ "tooManyFiles": "Uploading more than one photo is not allowed!", "errorMsgDefault": "Uploaded photo is not valid!" }, - "errorPage" : { - "needKYC" : "Access denied for KYC status", - "reload" : "Try Again", - "errorText" : "Server connection error" + "errorPage": { + "needKYC": "Access denied for KYC status", + "reload": "Try Again", + "errorText": "Server connection error" }, "aboutUs": { "title": "About US", @@ -663,7 +694,6 @@ "p8": "", "p9": "", "text4": "" - }, "transferFees": { "title": "Transfer Fees", diff --git a/public/assets/locales/fa/translation.json b/public/assets/locales/fa/translation.json index d6437674..ff7bd4f8 100644 --- a/public/assets/locales/fa/translation.json +++ b/public/assets/locales/fa/translation.json @@ -15,7 +15,6 @@ "max": "حداکثر", "buy": "خرید", "sell": "فروش", - "all": "همه", "orderType": "نوع سفارش", "status": "وضعیت", "pleaseLogin": "لطفاً وارد شوید!", @@ -28,6 +27,12 @@ "commission": "کارمزد", "nextStep": "گام بعدی", "prevStep": "گام قبلی", + "next": "بعدی", + "all": "همه موارد", + "prev": "قبلی", + "ask": "فروش", + "bid": "خرید", + "to": "تا", "submit": "ثبت", "username": "نام کاربری", "password": "رمز ورود", @@ -44,14 +49,21 @@ "noTx": "تراکنشی وجود ندارد.", "close": "بستن", "unit": "واحد", + "from": "از", + "row": "ردیف", + "until": "تا", + "withPrice": "با قیمت", + "description": "توضیحات", + "first": "ابتدا", "offline": "اتصال اینترنت را بررسی کنید!", - "improperMobileView ": "فعلاً برای موبایل بهینه نشده است.", + "improperMobileView": "فعلاً برای موبایل بهینه نشده است.", "home": "صفحه اصلی", "country": { - "iran" : "جمهوری اسلامی ایران", - "germany" : "آلمان", + "iran": "ایران", + "germany": "آلمان", "uk": "انگلستان", - "turkey" : "ترکیه" + "turkey": "ترکیه", + "uzbekistan": "ازبکستان" }, "currency": { "IRT": "تومان", @@ -144,6 +156,9 @@ "technical": { "title": "تکنیکال" }, + "txHistory": { + "title": "تاریخچه تراکنش ها" + }, "messages": { "title": "پیام ها" }, @@ -151,9 +166,10 @@ "title": "تنظیمات" }, "Languages": { - "Persian": "فارسی", - "English": "English", - "Arabic": "عربي" + "fa": "فارسی", + "en": "English", + "ar": "عربي", + "uzb": "Oʻzbekcha" }, "Theme": { "Light": "روشن", @@ -165,7 +181,7 @@ }, "TimeZone": { "THR": "آسیا / تهران / UTC+3:30", - "UTC" : 0 + "UTC": 0 }, "orders": { "title": "سفارش", @@ -227,6 +243,21 @@ "showZeroBalance": "عدم نمایش موجودی صفر", "estimateAlert": "مبلغ دارایی معادل براساس بالاترین پیشنهاد خرید محاسبه شده" }, + "TransactionHistory": { + "coin" : "ارز", + "category" : "نوع تراکنش", + "size" : "تعداد", + "period" : "بازه زمانی" + }, + "TransactionCategory": { + "DEPOSIT" : "واریز", + "FEE" : "کارمزد", + "TRADE" : "معامله", + "WITHDRAW" : "برداشت", + "ORDER_CANCEL" : "لغو سفارش", + "ORDER_CREATE" : "ثبت سفارش", + "ORDER_FINALIZED" : "اتمام سفارش" + }, "DepositWithdraw": { "title": "واریز/برداشت", "success": "آدرس کپی شد", @@ -618,10 +649,10 @@ "tooManyFiles": "آپلود بیشتر از یک عکس مجاز نیست!", "errorMsgDefault": "عکس آپلود شده معتبر نیست!" }, - "errorPage" : { - "needKYC" : "دسترسی این بخش فقط برای کاربران احراز هویت شده مجاز است!", - "reload" : "تلاش مجدد", - "errorText" : "خطا در ارتباط با سرور" + "errorPage": { + "needKYC": "دسترسی این بخش فقط برای کاربران احراز هویت شده مجاز است!", + "reload": "تلاش مجدد", + "errorText": "خطا در ارتباط با سرور" }, "aboutUs": { "title": "درباره ما", @@ -663,7 +694,6 @@ "p8": "", "p9": "", "text4": "" - }, "transferFees": { "title": "کارمزد انتقال", diff --git a/public/assets/locales/uzb/translation.json b/public/assets/locales/uzb/translation.json new file mode 100644 index 00000000..9a2c9ce7 --- /dev/null +++ b/public/assets/locales/uzb/translation.json @@ -0,0 +1,753 @@ +{ + "title": "OPEX", + "signIn": "kirish", + "signUp": "Ro'yxatdan o'tish", + "signOut": "Tizimdan chiqish", + "date": "Sana", + "time": "Vaqt", + "volume": "Hajmi", + "totalVolume": "Jami hajm", + "price": "Narxi", + "pricePerUnit": "Birlik narxi", + "totalPrice": "Jami narxi", + "averagePrice": "o'rtacha narx", + "min": "Min", + "max": "Maks", + "buy": "Sotib olish", + "sell": "Sotish", + "orderType": "Buyurtma turi", + "status": "Holat", + "pleaseLogin": "Iltimos, tizimga kiring!", + "comingSoon": "Tez orada!", + "deposit": "Depozit", + "withdrawal": "yechib", + "transfer": "O'tkazish", + "destination": "maqsad", + "details": "Tafsilotlar", + "commission": "Komissiya", + "nextStep": "Keyingi qadam", + "prevStep": "Oldingi qadam", + "next": "keyingi", + "all": "barchasi", + "prev": "oldingi", + "ask": "so'rash", + "bid": "taklif", + "to": "ga", + "submit": "Yuborish", + "username": "Foydalanuvchi nomi", + "password": "Parol", + "confirmPassword": "Parolni tasdiqlash", + "otp": "OTP", + "firstName": "Ism", + "lastName": "Familiya", + "email": "Email", + "captchaAnswer": "Captcha", + "desktopSupport": "Mobil versiya mavjud emas!", + "error": "Xatolik yuz berdi!", + "loading": "Yuklanmoqda...", + "noData": "Ko'rsatish uchun kontent yo'q!", + "noTx": "Tranzaktsiya yo'q!", + "close": "Yopish", + "unit": "Birlik", + "from": "dan", + "row": "Qator", + "until": "gacha", + "withPrice": "narx bilan", + "description": "Tavsif", + "first": "Birinchi", + "offline": "Internetga ulanganligini tekshiring!", + "improperMobileView": "Mobil versiya uchun optimallashtirilmagan.", + "home": "Bosh sahifa", + "country": { + "iran": "IRAN", + "germany": "Germany", + "uk": "United Kingdom", + "turkey": "Turkey", + "uzbekistan": "Uzbekistan" + }, + "currency": { + "IRT": "IRT", + "Euro": "Euro", + "USD": "USD", + "BTC": "BTC", + "ETH": "ETH", + "USDT": "USDT", + "TBTC": "TBTC", + "TETH": "TETH", + "TUSDT": "TUSDT", + "BNB": "BNB", + "BUSD": "BUSD", + "DOGE": "DOGE", + "LTC": "LTC", + "TBNB": "TBUSD", + "TBUSD": "TBUSD", + "BCH": "BCH", + "TRX": "TRX" + }, + "marketInterval": { + "24h": "24 Soat", + "7d": "7 Kunlar", + "1M": "30 Kunlar" + }, + "routes": { + "/panel/settings/profile": "Foydalanuvchi profili", + "/panel/settings/security": "Xavfsizlik", + "/panel/settings/personalization": "Sozlash", + "/panel/settings/authentication": "Autentifikatsiya", + "/panel/settings/api-key": "API KEY" + }, + "orderStatus": { + "NEW": "yangi buyurtma", + "REJECTED": "Rad etilgan", + "FILLED": "To'ldirilgan", + "DONE": "Tugallangan", + "CANCELED": "Bekor qilingan", + "PENDING_CANCEL": "Bekor qilinishini kutish", + "EXPIRED": "Muddati o'tgan", + "PARTIALLY_FILLED": "Qisman to'ldirilgan" + }, + "paymentStatus": { + "Open": "Ochilgan", + "Canceled": "Bekor qilingan", + "Expired": "Muddati o'tgan", + "Done": "Tugallangan", + "Failed": "Muvaffaqiyatsiz", + "Undefined": "Muvaffaqiyatsiz" + }, + "messagesTitle": { + "successful": "muvaffaqiyatli", + "login": "muvaffaqiyatli kirish", + "cancel": "buyurtmani bekor qilish", + "done": "tugallangan", + "inCompleted": "tugallanmagan" + }, + "orderTypes": { + "LIMIT": "Limit", + "MARKET": "Bozor", + "STOP_LOSS": "To'xtatish yo'qotishi", + "STOP_LOSS_LIMIT": "To'xtatish yo'qotishi limiti", + "TAKE_PROFIT": "Foyda olish", + "TAKE_PROFIT_LIMIT": "Foyda olish limiti", + "LIMIT_MAKER": "Limit yaratuvchisi" + }, + "header": { + "lastPrice": "So'nggi narx", + "availableBalance": "Mavjud muvozanat", + "free": "Mavjud", + "locked": "Qulflangan", + "inWithdrawalProcess": "Chiqishni kutish", + "logOutSuccess": "Muvaffaqiyatli tizimga kirishdi.", + "logOutError": "Xato roʻy berdi. iltimos, qayta urinib ko'ring!" + }, + "overview": { + "title": "Umumiy tasavvur", + "change": "O'zgartirish", + "volume": "Hajm", + "lastDay": "24 soat", + "lastWeek": "1 hafta", + "lastMonth": "30 kun" + }, + "market": { + "title": "Bozor" + }, + "wallet": { + "title": "Hamyon" + }, + "technical": { + "title": "Texnik" + }, + "txHistory": { + "title": "Tranzaktsiyalar tarixi" + }, + "messages": { + "title": "Xabarlar" + }, + "settings": { + "title": "sozlamalari" + }, + "Languages": { + "fa": "فارسی", + "en": "English", + "ar": "عربي", + "uzb": "Oʻzbek" + }, + "Theme": { + "Light": "yorug'lik", + "Dark": "qorong'i" + }, + "Calendar": { + "IRCalender": "Eron taqvimi", + "GCCalender": "Grigoriy taqvimi" + }, + "TimeZone": { + "THR": "Asia / Tehran / UTC+3:30", + "UTC": "UTC" + }, + "orders": { + "title": "Buyurtma", + "minOrder": "{{min}} {{currency}} dan kam bo'lmagan buyurtma qabul qilinadi.", + "maxOrder": "{{max}} {{currency}} dan ortiq bo'lmagan buyurtma qabul qilinadi.", + "divisibility": " Kiritilgan qiymat {{mod}} ga bo'linishi kerak!", + "notEnoughBalance": "Yetarli mablag' mavjud emas", + "availableAmount": "Mavjud summa", + "bestOffer": "Eng yaxshi taklif", + "stopLimit": "To'xtatish chegarasi", + "stopPrice": "To'xtatish narxi", + "amount": "Summa", + "pricePerUnit": "Birlik narxi", + "marketBuyPrice": "Bozor sotib olish", + "marketSellPrice": "Bozor sotish", + "totalPrice": "Jami narx", + "tradeFee": "Birja haq", + "getAmount": "Qabul qilingan summa", + "hasNoOffer": "Hech qanday taklif mavjud emas", + "error": "Xato!", + "success": " {{type}} buyurtmasi {{reqAmount}} {{base}} {{pricePerUnit}} {{quote}} narxida ro'yxatga olindi" + }, + "LastTrades": { + "title": "So'nggi savdolar" + }, + "charts": { + "title": "Charts", + "noChartData": "Maʼlumot topilmadi!", + "globalChart": "Global", + "opexChart": "Opex" + }, + "orderBook": { + "title": "Buyurtma kitobi" + }, + "myOrders": { + "title": "Mening buyurtmalarim", + "donePercentage": "% bajarildi", + "stoppedPrice": "To'xtatilgan narx", + "orderId": "Buyurtma ID", + "tradeId": "Savdo ID", + "tradedAmount": "Savdoga qo'yilgan", + "avgTradedAmount": "Avg savdo miqdori", + "tradedPrice": "Savdo narxi", + "aliveOrder": "Live", + "stoppedOrder": "To'xtadi", + "orderHistory": "Tarix", + "stopOrderTime": "Buyurtma vaqtini to'xtatish", + "startOrderTime": "Buyurtma vaqtini boshlash", + "cancelOrder": "Buyurtmani bekor qilish", + "orders": "Buyurtmalar", + "cancelSuccess": "Buyurtma muvaffaqiyatli bekor qilindi!", + "cancelError": "Buyurtma bekor qilinmaydi" + }, + "WalletSubMenu": { + "title": "hamyon", + "totalValue": "Jami qiymat", + "approximate": "Taxminiy", + "equivalent": "Ekvivalent", + "showZeroBalance": "Nol balansini ko'rsatmaslik", + "estimateAlert": "Ekvivalent miqdor eng yuqori sotib olish taklifiga asoslanib hisoblanadi" + }, + "TransactionHistory": { + "coin": "Koins", + "category": "Toifalar", + "size": "Raqam", + "period" : "Davr" + }, + "TransactionCategory": { + "DEPOSIT": "Depozit", + "FEE": "haq", + "TRADE": "Savdo", + "WITHDRAW": "Olib chiqish", + "ORDER_CANCEL": "Buyurtmani bekor qilish", + "ORDER_CREATE": "Buyurtma yaratish", + "ORDER_FINALIZED": "Buyurtma yakunlandi" + }, + "DepositWithdraw": { + "title": "Depozit / Pul olish", + "success": "Manzil nusxa olindi.", + "copy": "Nusxa olindi!", + "IRTAllowable": "Minimal summa {{min}} IRT va maksimal summa {{max}} IRT bo'lishi kerak.", + "emptyInput": "Talab qilingan qiymati kiriting.", + "IRTText": "IRT {{amount}} miqdoridagi faktura {{date}}, {{time}} da yaratildi. Quyidagi yashil tugma orqali to'lov portaliga yo'naltirilasiz. Yangi faktura yaratish, to'lash yoki oldingi fakturani bekor qilish uchun quyidagi yashil tugmani bosing.", + "IRTFormText": "Depozit qilish uchun avval faktura yaratishingiz kerak, depozitning ruxsat etilgan miqdori kamida {{min}} IRT va eng ko'pi {{max}} IRT.", + "pay": "To'lash", + "cancel": "Bekor qilish", + "seconds": "Sonliya", + "submitPaymentReq": "To'lov so'rovini yuborish", + "noInventory": "Sizning balansingiz yetarli emas.", + "allowableWithdraw": "Minimal ruxsat etilgan olish miqdori saqlanmadi.", + "fillAddress": "Manzil kiriting.", + "important": "Muhim", + "DepositTETHContentBefore": "Faqat Ropsten tarmog'i ETH testi qabul qilinadi! Bepul yuklash uchun", + "DepositTETHContentAfter": "Yuqoridagi manzilga test ETH yuborish uchun o'ting. Siz Ethereum tarmog'ini Ropstenga o'zgartirishingiz kerak. Ushbu tarmoq Metamask hamyon tarmog'i ro'yxatida sukut bo'yicha mavjud. Yuqoridagi manzilga 0.001 ETH yoki undan katta miqdorni o'z ichiga olgan har qanday tranzaktsiya sizning hisobingizga qo'shiladi.", + "minDeposit": "Minimal ruxsat etilgan miqdor {{min}} {{currency}}", + "minDepositText": "Har qanday tranzaktsiya quyidagi manzilga sizning hisobingizga qo'shiladi.", + "DepositTBTCContentBefore": "Faqat BTC testi qabul qilindi! Bepul yuklab olish uchun", + "DepositTBTCContentAfter": "Yuqoridagi manzilga kamida 0,001 BTC miqdoridagi har qanday tranzaktsiya sizning hisobingizga qo'shiladi.", + "DepositTUSDTContentBefore": "Faqat USDT Ropsten tarmog'i testi qabul qilinadi! Bepul qanday qilib olishni o'rganish uchun,", + "DepositTUSDTContentAfter": "Yuqoridagi manzilga USDT testini yuborish uchun atrium tarmog'ini Ropstenga o'zgartirishingiz kerak. Ushbu tarmoq Metamask hamyoni tarmog'i ro'yxatida sukut bo'yicha mavjud. Yuqoridagi manzilga kamida 10 USDT miqdoridagi har qanday tranzaktsiya sizning hisobingizga qo'shiladi.", + "depositTime": "* Sizning balansingiz yuqoridagi manzilga pul o'tkazgandan {{time}} daqiqa o'tgach oshadi.", + "securityConsiderations": "Xavfsizlik sababli hisobga o'tkazish biroz kechiktirilishi mumkin. O'tkazma holatini 'Hisobga olish/chiqarish tranzaksiyalari' bo'limida ko'rishingiz mumkin.", + "network": "Tarmoq", + "selectNetwork": "Tarmoqni tanlang", + "gettingAddress": "Manzil olinmoqda...", + "errorGettingAddress": "Manzilni olishda xatolik yuz berdi" + }, + "CallbackPage": { + "ok": "Depozit amalga oshirildi.", + "failed": "Depozit amalga oshirilmadi.", + "noData": "Ko'rsatish uchun kontent yo'q!", + "errorMessage": "Hatolik xabari" + }, + "IPGErrorCode": { + "13003": "Siz to'lov qilishga ruxsat berilmagan.", + "13004": "To'lanmagan so'rovingiz bor.", + "13005": "So'rov qulflangan.", + "13007": "Noma'lum xato" + }, + "DepositWithdrawTx": { + "title": "Depozit / Olib chiqarish tranzaksiyalari", + "depositWithdrawal": "Depozit / Olib chiqarish", + "withdrawalSend": "Olib chiqarish / Yuborish", + "transactionType": "Tranzaksiya turi", + "transactionId": "Tranzaksiya ID", + "blockchainTransactionId": "Blokchin tranzaksiya ID", + "price": "Narx", + "destination": "Manzil / Olib oluvchi", + "inventory": "Tranzaksiyadan keyingi balans", + "freeWallet": "Erkin aktiv", + "minWithdraw": "Minimal olib chiqarish miqdori", + "minDeposit": "Minimal depozit miqdori", + "maxWithdraw": "Sizning kunlik olib chiqarish limiti", + "maxMonthWithdraw": "Sizning oylik olib chiqarish limiti", + "withdrawWarn": "Diqqat! Manzilni noto'g'ri kiritish kapital yo'qotilishiga olib kelishi mumkin.", + "withdrawReqSubmit": "Olib chiqarish so'rovi", + "destAddress": "Olib oluvchi manzili", + "reqAmount": "Sizning olib chiqarish miqdori", + "network": "Tarmoq", + "success": "{{amount}} {{asset}} olib chiqarish so'rovi muvaffaqiyatli ro'yxatga olindi", + "IRTsuccess": "{{amount}} so'm depozit so'rovi muvaffaqiyatli ro'yxatga olindi", + "cancel": "bekor qilish", + "cancelPayment": "To'lov amalga oshirilmadi!" + }, + "transactionType": { + "deposit": "Depozit", + "withdrawal": "Olib chiqarish", + "Received": "Olingan", + "send": "jo'natish" + }, + "OrdersTrades": { + "title": "Buyurtmalar va tranzaksiyalar", + "aliveOrder": "Joriy buyurtmalar", + "stop": "To'xtatish", + "cancelClose": "Bekor qilingan va yopiq", + "trades": "Savdolar", + "side": "Taraf", + "order": "Buyurtma", + "done": "Bajarildi", + "donePercentage": "% bajarildi", + "stoppedPrice": "To'xtatish narxi", + "ordersHistory": "Buyurtmalar tarixi", + "type": "Turi", + "market": "Bozor", + "limit": "Cheklangan", + "paid": "To'langan" + }, + "MessagesSubMenu": { + "title": "Bildirishnomalar", + "myMessages": "Mening xabarlarim", + "news": "Yangiliklar" + }, + "SettingsSubMenu": { + "title": "Sozlamalar", + "userProfile": "Foydalanuvchi profili", + "security": "Xavfsizlik", + "personalization": "Shaxsiylashtirish", + "authentication": "Autentifikatsiya" + }, + "UserAccountStatus": { + "title": "Hisob holati", + "userAccountLevel1": "Foydalanuvchi darajasi 1", + "minInput": "{{name}} kamida {{min}} ta belgidan iborat bo'lishi kerak.", + "dailyWithdrawal": "Kunlik valyuta olib chiqarish: 20,000,000 Tomandan {{amount}} Toman ekvivalent", + "dailyDeposit": "Kunlik chet el valyutasi depositi: 20,000,000 Tomandan {{amount}} Toman ekvivalent", + "dailyWithdrawalCryptoCurrency": "Kunlik kriptovalyuta olib chiqarish: 20,000,000 Tomandan {{amount}} ekvivalent", + "dailyDepositCryptoCurrency": "Kunlik kriptovalyuta depositi: 20,000,000 Tomandan {{amount}} ekvivalent", + "monthlyWithdrawal": "Oylik valyuta olib chiqarish: 20,000,000 Tomandan {{amount}} Toman ekvivalent", + "monthlyDeposit": "Oylik depozit: 20,000,000 Tomandan {{amount}} ekvivalent", + "monthlyWithdrawalCryptoCurrency": "Oylik kriptovalyuta olib chiqarish: 20,000,000 Tomandan {{amount}} ekvivalent", + "monthlyDepositCryptoCurrency": "Oylik depozit depositi: 20,000,000 Tomandan {{amount}} Toman ekvivalent", + "tradesCommission": "Savdo komissiyasi: {{amount}} taker, {{num}}" + }, + "PersonalProfile": { + "title": "Shaxsiy profil", + "cantEdit": "Sizning autentifikatsiyangiz yakunlandi. Siz profilni tahrirlay olmaysiz.", + "userLevel/fee": "Foydalanuvchi darajasi / To'lovlar", + "firstName": "Ism", + "lastName": "Familiya", + "firstNameMain": "Ism (asosiy til)", + "lastNameMain": "Familiya (asosiy til)", + "nationality": "Millat", + "residence": "Yashash joyi", + "birthdayG": "Tug'ilgan sana", + "birthdayJ": "Tug'ilgan sana (hijriy)", + "birthday": "Tug'ilgan sana", + "nationalId": "Milliy ID", + "idNumber": "Milliy ID / Pasport raqami", + "idNumberPlaceHolder": "Milliy ID yoki pasport raqamini kiriting", + "passportNumber": "Pasport raqami", + "mobile": "Telefon raqami", + "telephone": "Telefon", + "email": "Email", + "postalCode": "Pochta indeksi", + "address": "Manzil", + "selectNationality": "Millatingizni tanlang", + "selectResidence": "Yashash joyingizni tanlang" + }, + "LoginReports": { + "title": "Kirish hisobotlari" + }, + "ActiveSessions": { + "title": " Faol sessiyalar", + "ip": "IP", + "LOGGED_IN": "Kirdi", + "LOGGING_OUT": "Chiqayotgan", + "LOGGED_OUT": "Chiqdi", + "details": "Tafsilotlar", + "closeSession": "Sessiyani yopish", + "success": "{{location}} sessiyasi muvaffaqiyatli yopildi.", + "failed": "Server xatosi, iltimos qaytadan urinib ko'ring.", + "logOutAllSuccess": "Boshqa sessiyalar muvaffaqiyatli yopildi.", + "logOutAllError": "Server xatosi, iltimos qaytadan urinib ko'ring.", + "noData": "Element topilmadi!", + "thisSession": "Joriy sessiya", + "otherSession": "Boshqa sessiyalar", + "closeOtherSessions": "Boshqa barcha sessiyalarni yopish." + }, + "ChangePassword": { + "title": "Parolni o'zgartirish", + "newPassword": "Yangi parol", + "confirmation": "Yangi parolni tasdiqlash", + "currentPassword": "Joriy parol", + "success": "Parol muvaffaqiyatli o'zgartirildi.", + "error": "Parolni o'zgartirishda xatolik yuz berdi.", + "minInput": "{{name}} kamida {{min}} ta belgidan iborat bo'lishi kerak.", + "emptyInput": "{{name}} maydonini to'ldirishingiz kerak.", + "confirmationError": "Yangi parol va yangi parolni tasdiqlash mos kelmaydi.", + "currentPasswordError": "Joriy parol noto'g'ri kiritildi." + }, + "SetTwoStepVerification": { + "title": "Ikkita qadamli tasdiqlashni o'rnatish", + "!title": "2-qadamli loginni o'chirish", + "code": "Kod", + "active": "Faollashtirish", + "isActive": " 2-qadamli login yoqilgan.", + "deActive": "O'chirish", + "success": "2-qadamli login muvaffaqiyatli yoqildi.", + "error": "2-qadamli login o'chirildi.", + "initialCodeMin": "Kod 6 xonali bo'lishi kerak.", + "initialCodeError": "Kiritilgan kod noto'g'ri.", + "serverError": "Server xatosi, iltimos qaytadan urinib ko'ring.", + "description": "Ikkita qadamli login yoqilgan bo'lsa, foydalanuvchi paneliga har kirish uchun ikki qadamli parol so'raladi.", + "QRdescription": "Google Authenticator dasturi (yoki shunga o'xshash) dan foydalanib QR kodini skanerlang, 6 xonali raqamni kiriting va ro'yxatdan o'ting." + }, + "HelpStep": { + "title": "4-dan 1-qadam: Foydalanuvchi qo'llanmasi", + "content": "Ushbu birjaning barcha xizmatlaridan foydalanish va pul olish imkoniyatini faollashtirish uchun shaxsingiz aniqlanishi kerak. Autentifikatsiya jarayoni oddiy va onlayn. Keyingi bosqichlarda sizdan tegishli formda shaxsiy ma'lumotlaringizni kiritish so'raladi. Rasm, ID karta va shartnoma xatini kiriting va yuboring." + }, + "PersonalProfileStep": { + "title": "4-dan 2-qadam: Shaxsiy ma'lumotlaringizni kiriting.", + "serverError": "Ma'lumotlarni olishda xatolik yuz berdi, iltimos, qaytadan urinib ko'ring.", + "minInput": "{{name}} kamida {{min}} ta belgidan iborat bo'lishi kerak.", + "wrongDateG": "Sana formati noto'g'ri!", + "wrongDateJ": "Sana formati noto'g'ri!", + "wrongNationalId": "Shaxsiy ID raqamingiz noto'g'ri!", + "wrongPassportNumber": "Pasport raqami noto'g'ri!", + "emptyInput": "{{name}} maydoni to'ldirilishi kerak.", + "yy/mm//dd": "Yil/Oy/Kun" + }, + "SendPhotosStep": { + "title": "4-dan 3-qadam: Rasmlarni joʻnatish", + "content": "To complete the authentication, please follow the steps below:", + "acceptForm": "1) A4-qog'ozda xizmatlardan foydalanish bo'yicha kelishuv xatini yozing, imzo cheking va uning fotosini oling.", + "selfie": "2) Kelishuv xatini ko'kragingga ushlab, selfie oling.", + "idCard": "3) Shaxsiy guvohnomangizni yoki pasportingizni ko'kragingga ushlab, selfie oling.", + "acceptFormLink": "(Kelishuv xati namunasi)", + "selfieLink": "(Namunasi)", + "idCardLink": "(Namunasi)", + "acceptFormDropzone": "Kelishuv xati:", + "selfieDropzone": "Kelishuv xati bilan selfie:", + "idCardDropzone": "Pasport yoki shaxsiy guvohnomangiz bilan selfie", + "sendingData": "Ma'lumotlar yuborilmoqda...", + "imageAcceptedFormat": "- Iltimos, fotosuratlarni faqat JPEG va PNG formatida yuklang!", + "imageAcceptedSize": "- Yuklanadigan fotosuratlar uchun maksimal qabul qilinadigan o'lcham 1 MB!", + "acceptFormEmpty": "Kelishuv xati fotosini yuklang!", + "selfieEmpty": "Kelishuv xati chopini qo'lingizda ushlab, selfie yuklang!", + "idCardEmpty": "Shaxsiy guvohnomangiz yoki pasportingiz bilan selfie yuklang!", + "serverError": "Rasm yuborishda xatolik yuz berdi, qaytadan urinib ko'ring!" + }, + "SendToAdminStep": { + "title": "4-dan 4-qadam: Adminstratorga yuborish", + "content": "Profil muvaffaqiyatli ro'yxatdan o'tdi. Sizning autentifikatsiya holatingiz quyidagicha:", + "pending": "Ko'rib chiqilmoqda", + "accepted": "Autentifikatsiya muvaffaqiyatli yakunlandi.", + "rejected": "Autentifikatsiya amalga oshmadi, iltimos, qaytadan urinib ko'ring!", + "blocked": "Autentifikatsiya amalga oshmadi!", + "noData": "Ma'lumot yo'q!", + "errorMessage": "Xato haqida xabar" + }, + "Authentication": { + "HelpStep": "Foydalanuvchi qo'llanmasi", + "PersonalProfileStep": " Shaxsiy profil", + "SendPhotosStep": "Suratlarni yuborish", + "SendToAdminStep": "Adminstratorga yuborish" + }, + "PersonalizationForm": { + "title": "Shaxsiylashtirish", + "placeholder": "Tanlash", + "defaultLang": "Asosiy til", + "defaultTheme": "Asosiy mavzu", + "defaultCalendarSystem": "Asosiy kalendar tizimi", + "defaultTimeZone": "Vaqt mintaqasi", + "defaultReferenceCurrency": "Asosiy reference valyuta", + "defaultReferenceCryptoCurrency": "Asosiy reference kriptovalyuta", + "save": "Saqlash" + }, + "APIKey": { + "title": "API kaliti", + "create": "API kaliti yaratish", + "enable": "API kalitini yoqish", + "disable": "API kalitini o'chirish", + "delete": "kalitini o'chirish", + "label": "Sarlavha", + "secret": "Sir", + "success": "API kaliti muvaffaqiyatli yaratildi.", + "apiKey": "API kaliti", + "expiration": "Amal qilish muddati", + "allowedIPs": "Ruxsat berilgan IP-lar", + "ONE_MONTH": "Bir oy", + "THREE_MONTHS": "Uch oy", + "SIX_MONTHS": "Olti oy", + "ONE_YEAR": "Bir yil", + "content": "API kalitini yaratish uchun quyidagi ma'lumotlarni kiriting.", + "selectExpiration": "Amal qilish muddatini tanlang", + "allowedIPsExample": "IP 1 , IP 2 , IP 3 , ...", + "noActiveAPIKey": "API kaliti yaratilmadi.", + "understand": "Tushundim!", + "warning": "Ehtiyot bo'ling, sir tiklanmaydi va agar uni unutgan bo'lsangiz, yangi API kalitini yaratishingiz kerak bo'ladi!", + "copied": "Nusxalandi", + "enableButton": "Yoqish", + "disableButton": "o'chirib qo'yish", + "deleteButton": "O'chirish", + "successEnable": "Muvaffaqiyatli yoqildi.", + "successDisable": "Muvaffaqiyatli o'chirildi.", + "failedEnable": "Yoqolmadi, iltimos qaytadan urinib ko'ring!", + "failedDisable": "O'chirilmadi, iltimos qaytadan urinib ko'ring!", + "successDelete": "Muvaffaqiyatli o'chirildi!", + "failedDelete": "O'chirishda xatolik, iltimos qaytadan urinib ko'ring!", + "emptyLabel": "Sarlavha bo'sh bo'lmasligi kerak!", + "reachedLimit": "API kaliti chegarasiga yetildi. API kalitlarining maksimal soni 10." + }, + "login": { + "title": "tizimga kirish/Ro'yxatdan", + "wrongPassword": "Foydalanuvchi nomi yoki parol noto'g'ri!", + "wrongOTP": "Kiritilgan OTP noto'g'ri!", + "wrongPasswordConfirmation": "Parol va parolni tasdiqlash mos kelmaydi.", + "forgetPassword": "Parolni unutdingizmi", + "verificationEmail": "E-mailni olmadingizmi?", + "resendVerifyEmail": "Email manzilini qayta yuborish", + "sendEmail": "Email pochta yuborish", + "verifyEmailServerError": "Serverda xatolik, qaytadan urinib ko'ring!", + "verifyEmailFinished": "asdiqlash elektron pochtasi muvaffaqiyatli yuborildi!", + "emailAlreadyVerified": "Email manzili allaqachon tasdiqlangan.", + "accountNotActive": "Sizning hisobingiz hali faollashtirilmagan.", + "enter": "Kirish", + "resetPassword": "Parolni tiklash", + "inputError": "Parol / foydalanuvchi nomi belgilarini kiritish noto'g'ri.", + "loginError": "Serverga ulanishda xatolik!", + "registerFinished": "Ro'yxatdan o'tish muvaffaqiyatli yakunlandi!", + "forgetPasswordFinished": "Parolni tiklash so'rovi muvaffaqiyatli yuborildi!", + "registerFinishedGoToMail": "Ro'yxatdan o'tishni yakunlash uchun {{email}} elektron pochta qutisini tekshiring.", + "registerFinishedSpamMail": "{{email}} manzilidan yuborilgan email spam papkangizda bo'lishi mumkin!", + "register": "Ro'yxatdan", + "wrongEmail": "Kiritilgan email manzili noto'g'ri!", + "emptyEmail": "email manzilingizni kiriting.", + "emptyInput": "{{name}} maydoni to'ldirilishi kerak.", + "emptyCredentialError": "Foydalanuvchi nomi va parolni kiritish kerak.", + "minInput": "{{name}} kamida {{min}} belgidan iborat bo'lishi kerak.", + "finishedWithError": "Yangi foydalanuvchi yaratilayotganda xatolik yuz berdi!", + "back": "Orqaga", + "description": "Ochiq manba Birjasi", + "OTPRequired": "Ikki faktorli parol (OTP) talab qilinadi!", + "otpLength": "Ikki faktorli kod 6 belgidan iborat bo'lishi kerak.", + "refreshCaptcha": "Captcha-ni yana ko'rsat!", + "captchaServerError": "Captcha-ni olish uchun serverda xatolik yuz berdi!", + "InvalidCaptcha": "CCaptcha noto'g'ri kiritildi!", + "minCaptcha": "Captcha 5 belgidan iborat bo'lishi kerak!", + "emptyCaptcha": "Captcha talab qilinadi!", + "forgetPassServerError": "Parolni tiklashda xatolik yuz berdi, qaytadan urinib ko'ring!", + "UserAlreadyExists": "Ushbu email manziliga ega foydalanuvchi allaqachon ro'yxatdan o'tgan", + "forgetPassEmailForgetError": "Email manzili formati noto'g'ri!", + "forDemoLogin": "Sinov uchun kirish uchun bu yerni bosing!" + }, + "userPage": { + "title": "", + "success": "Email manzili muvaffaqiyatli tasdiqlandi.", + "failed": "Tasdiqlash amalga oshirilmadi, qaytadan urinib ko'ring!", + "serverError": "Serverda xatolik yuz berdi, qaytadan urinib ko'ring." + }, + "Landing": { + "title": "Kripto Birjasi platformasi" + }, + "MarketTitle": { + "content": "Sizning ehtiyojlaringizni qondirish uchun maxsus ishlab chiqilgan.", + "advancedTrading": "Kengaytirilgan savdo", + "easyTrading": "Oson savdo" + }, + "GeneralInfo": { + "activeUsers": "Faol foydalanuvchilar", + "totalOrders": "Jami buyurtmalar", + "totalTrades": "Jami savdolar" + }, + "MarketInfo": { + "viewAllMarket": "Barcha bozorni ko'rish", + "name": "Nomi", + "cryptocurrency": "Kriptovalyuta", + "lastPrice": "Oxirgi narx", + "lowPrice": "Eng past narx", + "highPrice": "Eng yuqori narx", + "priceChange": "Narx o'zgarishi", + "chart": "Jadval", + "volume": "Hajm", + "details": "Tafsilotlar", + "trade": "Savdo", + "marketCap": "Bozor kapitalizatsiyasi" + }, + "MarketView": { + "title": "Bozor statistikasi ( 24 Soat )", + "mostIncreased": "Eng ko'p oshgan", + "mostDecreased": "Eng ko'p pasaygan", + "mostTrades": "Aksariyat savdolar", + "mostVolume": "Eng ko'p hajm", + "nullResponse": "So'nggi {{interval}} da tranzaktsiyalar yo'q" + }, + "Footer": { + "darkMode": "Qorong'u rejim", + "aboutUs": "Biz haqimizda", + "contactUS": "Biz bilan bog'laning", + "blog": "Blog", + "guide": "Qo'llanma", + "rules": "Qoidalar", + "api": "API", + "addCoin": "Koin qo'shish", + "demo": "Bozor demosi", + "errorReport": "Xato haqida xabar berish", + "copyright": "© {{year}} OPEX. Barcha huquqlar himoyalangan." + }, + "ImageInput": { + "title": "", + "dropText": "Drag va drop / brauzer orqali yuklash", + "iconErrorText": "Yuklangan rasm yaroqsiz, iltimos qayta urinib ko'ring!", + "fileTooLarge": "Yuklangan fayl hajmi maksimal ruxsat etilgandan kattaroq!", + "fileInvalidType": "Yuklangan fayl formati qabul qilinmaydi!", + "tooManyFiles": "Bir nechta rasm yuklashga ruxsat berilmaydi!", + "errorMsgDefault": "Yuklangan rasm yaroqsiz!" + }, + "errorPage": { + "needKYC": "KYC holati uchun kirish rad etildi", + "reload": "Qayta urinib ko'ring", + "errorText": "Server bilan bog'lanishda xatolik" + }, + "aboutUs": { + "title": "Biz haqimizda", + "text1": "Biz haqimizda ma'lumot", + "p1": "", + "p2": "", + "p3": "", + "p4": "", + "text2": "", + "subTitle1": "", + "text3": "", + "p5": "", + "p6": "", + "p7": "", + "p8": "", + "p9": "", + "p10": "", + "subTitle2": "", + "text4": "", + "subTitle3": "", + "p11": "", + "p12": "", + "p13": "", + "text5": "" + }, + "commissions": { + "title": "Komissiya", + "subTitle1": "Komissiya ma'lumot", + "text1": "", + "p1": "", + "p2": "", + "p3": "", + "p4": "", + "p5": "", + "p6": "", + "text2": "", + "text3": "", + "p7": "", + "p8": "", + "p9": "", + "text4": "" + }, + "transferFees": { + "title": "O'tkazish komissiyalari", + "text1": "O'tkazish komissiyalari ma'lumot", + "p1": "", + "p2": "", + "p3": "", + "p4": "", + "p5": "", + "text2": "", + "text3": "", + "text4": "", + "subTitle1": "", + "text5": "", + "subTitle2": "", + "text6": "", + "subTitle3": "", + "text7": "", + "subTitle4": "", + "text8": "" + }, + "guide": { + "title": "Qo'llanma", + "subTitle1": "Qo'llanma ma'lumot", + "p1": "", + "p2": "", + "p3": "", + "p4": "", + "p5": "", + "p6": "", + "subTitle2": "", + "p7": "", + "p8": "", + "p9": "", + "p10": "" + }, + "rules": { + "title": "Qoidalar", + "subTitle1": "Qoidalar ma'lumot", + "p1": "", + "p2": "", + "p3": "", + "p4": "", + "p5": "", + "p6": "", + "subTitle2": "", + "p7": "", + "p8": "", + "p9": "", + "p10": "" + }, + "contactUs": { + "title": "Biz bilan bog'laning", + "subTitle1": "Biz bilan bog'laning ma'lumot", + "text1": "" + } +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 336fd63e..d304ceda 100644 --- a/public/index.html +++ b/public/index.html @@ -40,7 +40,7 @@