0fa87e2d9a
Pricing: при полном отказе всех запросов пробует localStorage-кэш последнего успешного ответа вместо пустого состояния, пишет туда же при успехе. Faq: отличает "в кэше правда пусто" от "не смогли загрузить" — раньше оба случая показывали один и тот же текст "0 protocols found", что вводило в заблуждение при обычном сетевом сбое. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
245 lines
9.6 KiB
JSON
245 lines
9.6 KiB
JSON
{
|
|
"nav": {
|
|
"features": "Imkoniyatlar",
|
|
"pricing": "Narxlar",
|
|
"faq": "Savollar",
|
|
"blog": "Jurnallar",
|
|
"terminal": "Terminal",
|
|
"docs": "Hujjatlar",
|
|
"cta": "Netrunner'ni oling",
|
|
"profile": "Profil",
|
|
"menu": "Menu.exe",
|
|
"speedtest": "Diagnostika",
|
|
"doom": "DOOM OS"
|
|
},
|
|
"hero": {
|
|
"badge": "Tizim kuzatmoqda",
|
|
"badgeSecure": "Xavfsiz tunnel o'rnatildi",
|
|
"titleStart": "Tizim hammani kuzatadi,",
|
|
"titleHighlight": "sizdan tashqari.",
|
|
"subtitle": "Raqamli iz yashirilgan. Jurnallar yo'q qilingan. Tezlik cheklanmagan.",
|
|
"switchLabel": "Netrunner VPN",
|
|
"ctaPrimary": "Klientni yuklab olish",
|
|
"ctaSecondary": "Node ro'yxati"
|
|
},
|
|
"features": {
|
|
"title": "Kirish Texnologiyalari",
|
|
"items": [
|
|
{
|
|
"title": "DPI'ni Chetlab O'tish va uTLS",
|
|
"description": "Netrunner trafikni oddiy HTTPS sifatida niqoblaydi. Chuqur paket tekshiruvi tizimlari faqat oq shovqinni ko'radi."
|
|
},
|
|
{
|
|
"title": "ChaCha20-Poly1305 Shifrlash",
|
|
"description": "Perfect Forward Secrecy bilan zamonaviy oqim shifrlash. Sessiya kalitlari dinamik tarzda yaratiladi."
|
|
},
|
|
{
|
|
"title": "Moslashuvchan Backpressure",
|
|
"description": "Bufer hajmi tizim RTT'siga qarab dinamik ravishda o'zgaradi. Kechikish sakrashlarining oldini avtomatik oladi."
|
|
},
|
|
{
|
|
"title": "Ko'p Platformali Yadro",
|
|
"description": "Quyi darajadagi Rust yadrosi Android, Windows va Linux'da mukammal moslik va nol qo'shimcha yukni ta'minlaydi. macOS va iOS qo'llab-quvvatlashi ishlab chiqilmoqda."
|
|
},
|
|
{
|
|
"title": "O'z Infratuzilmamiz",
|
|
"description": "Yirik bulutli provayderlardan ijaraga olish o'rniga o'z serverlarimizni ishlatamiz — tugunlar orasida oqimni multipleksatsiya qilish orqali barqaror va qora ro'yxatga kiritish qiyin bo'lgan ulanish."
|
|
}
|
|
]
|
|
},
|
|
"pricing": {
|
|
"badge": "Narxlash Protokollari",
|
|
"title": "Uplink'ingizni Tanlang",
|
|
"perMonth": "/oy",
|
|
"recommend": "Tavsiya etiladi",
|
|
"syncing": "Tugunlar sinxronlanmoqda...",
|
|
"empty": "Mavjud ulanishlar topilmadi.",
|
|
"discount": "CHEGIRMA",
|
|
"mo": "/oy",
|
|
"billedOnce": "Bir martalik to'lov:",
|
|
"period1m": "1 oy",
|
|
"period6m": "6 oy",
|
|
"period1y": "1 yil",
|
|
"offlineNotice": "Oxirgi saqlangan narxlar ko'rsatilmoqda — hozir serverga ulanib bo'lmayapti."
|
|
},
|
|
"faq": {
|
|
"title": "Tizim So'rovlari (Savollar)",
|
|
"empty": "Yozuvlar topilmadi.",
|
|
"loadError": "Yuklab bo'lmadi — sahifani yangilashga urinib ko'ring."
|
|
},
|
|
"blog": {
|
|
"badge": "Ma'lumotlar Jurnali",
|
|
"title": "Tarmoq Xronikalari",
|
|
"more": "Barcha yozuvlar",
|
|
"readMore": "Batafsil o'qish",
|
|
"empty": "Signallar topilmadi.",
|
|
"archive": "Terminal Arxivi",
|
|
"systemLogs": "Tizim Jurnallari",
|
|
"emptySector": "[Bu bo'limda yozuvlar topilmadi]",
|
|
"decrypt": "Yozuvni ochish →",
|
|
"backBtn": "cd ../logs",
|
|
"readTime": "O'qish: 4 daqiqa",
|
|
"verified": "Tasdiqlangan: Netrunner",
|
|
"endTransmission": "Uzatish yakuni // node_th_01"
|
|
},
|
|
"footer": {
|
|
"brand": "Netrunner VPN",
|
|
"tagline": "Tizim hammani kuzatadi, sizdan tashqari.",
|
|
"sections": {
|
|
"product": "Mahsulot",
|
|
"resources": "Resurslar",
|
|
"legal": "Huquqiy"
|
|
},
|
|
"links": {
|
|
"features": "Imkoniyatlar",
|
|
"pricing": "Narxlar",
|
|
"faq": "Savollar",
|
|
"protocol": "Protokol",
|
|
"comms": "Blog",
|
|
"privacy": "Maxfiylik",
|
|
"terms": "Shartlar",
|
|
"profile": "Profil"
|
|
},
|
|
"rights": "© 2026 Netrunner VPN. Barcha paketlar shifrlangan.",
|
|
"protocolStatus": "PROTOKOL // SHIFRLANGAN KIRISH",
|
|
"uplinkStatus": "Uplink Holati",
|
|
"activeNode": "Faol Tugun",
|
|
"latency": "Kechikish (RTT)"
|
|
},
|
|
"download": {
|
|
"title": "Tugunni Joylashtirish",
|
|
"subtitle": "Netrunner klientini o'rnatish uchun platformangizni tanlang.",
|
|
"badges": {
|
|
"active": "Barqaror Versiya",
|
|
"dev": "Ishlab Chiqilmoqda"
|
|
},
|
|
"buttons": {
|
|
"direct": "To'g'ridan-to'g'ri Yuklash",
|
|
"store": "Do'kon Havolasi",
|
|
"github": "Manba Kodi",
|
|
"notify": "Menga Xabar Bering",
|
|
"soon": "Tez Orada Do'konda",
|
|
"pending": "Build Kutilmoqda"
|
|
},
|
|
"platforms": {
|
|
"windows": "Windows 10 / 11",
|
|
"android": "Android 8.0+",
|
|
"linux": "Ubuntu / Debian / Arch",
|
|
"macos": "macOS 12.0+",
|
|
"ios": "iOS 15.0+"
|
|
},
|
|
"accessingBuild": "Build serveriga ulanmoqda..."
|
|
},
|
|
"terminal": {
|
|
"title": "GLOBAL ALOQA KANALI",
|
|
"description": "Ochiq aloqa kanali. Cheksiz tarix.",
|
|
"alias": "TAXALLUS",
|
|
"message": "MA'LUMOT KIRITING...",
|
|
"send": "TARQATISH",
|
|
"systemReady": "SYSTEM_READY // UPLINK_SECURED",
|
|
"loadingHistory": "Arxiv yuklanmoqda...",
|
|
"noMoreLogs": "ARXIV OXIRIGA YETILDI",
|
|
"encrypting": "SHIFRLANMOQDA...",
|
|
"cooldown": "KUTISH: {{time}}s",
|
|
"manifestoTitle": "ERKIN ALOQA KANALI MANIFESTI // v1.0",
|
|
"manifestoText": "Ushbu terminal Netrunner yadrosiga to'g'ridan-to'g'ri kanaldir. Biz jurnallarni tsenzurasiz va real vaqtda tarqatamiz, chunki DPI'ni chetlab o'tishga qodir protokol haqiqatdan qo'rqmasligi kerak.",
|
|
"rulesTitle": "XULQ-ATVOR PROTOKOLI:",
|
|
"rule1": "— Oldindan moderatsiya yo'q. Xabaringiz darhol tarmoqqa yetib boradi.",
|
|
"rule2": "— VPN'ni tanqid qilish, xato haqida xabar berish yoki qiyin savollar — barchasiga ruxsat.",
|
|
"rule3": "— Yagona cheklov: boshqa tarmoq a'zolarini to'g'ridan-to'g'ri haqorat qilish va spam. Trol emas, kiberpank bo'ling.",
|
|
"statusReady": "UPLINK_ESTABLISHED // NO_FILTERS_DETECTED"
|
|
},
|
|
"loading": {
|
|
"establishing": "Ulanish o'rnatilmoqda"
|
|
},
|
|
"notFound": {
|
|
"errorBadge": "[ Xato: Tugun Topilmadi ]",
|
|
"message": "Marshrutlash jadvalida so'ralgan tugun yo'q. Uzatish bekor qilindi. Xavfsiz tarmoqqa qayting.",
|
|
"returnHome": "Bosh Sahifaga Qaytish"
|
|
},
|
|
"nodes": {
|
|
"title": "Global Tugunlar Tarmog'i",
|
|
"subtitle": "Netrunner serverlarining real vaqtdagi topologiyasi.",
|
|
"status": {
|
|
"online": "Onlayn",
|
|
"full": "To'liq",
|
|
"maintenance": "Texnik xizmat"
|
|
},
|
|
"labels": {
|
|
"load": "Server Yuki",
|
|
"latency": "Kechikish"
|
|
}
|
|
},
|
|
"guestbook": {
|
|
"title": "COMM-LINK_",
|
|
"subtitle": "Aloqa Terminali",
|
|
"description": "Netrunner tugunlariga to'g'ridan-to'g'ri kanal.",
|
|
"philosophyTitle": "Nol Tsenzura",
|
|
"philosophyText": "Biz Netrunner'ni barcha to'siqlarni chetlab o'tish uchun yaratdik, shuning uchun so'zlaringizdan qo'rqmaymiz. Bu lenta so'z erkinligining tirik dalilidir. Boshqalar fikr-mulohazalarni yashirganda, biz uni real vaqtda translyatsiya qilamiz. Agar bizning protokolimiz DPI'ga qarshi tursa, u sizning samimiyligingizga ham qarshi turadi.",
|
|
"liveFeed": "Jonli Translyatsiya (Oxirgi 50)",
|
|
"noTransmissions": "Faol uzatishlar topilmadi.",
|
|
"labelAlias": "Taxallus",
|
|
"labelPayload": "Mazmun",
|
|
"placeholderAlias": "Guest_77",
|
|
"placeholderPayload": "Uzatish ma'lumotlarini kiriting...",
|
|
"statusSuccess": "Ma'lumot muvaffaqiyatli yetkazildi.",
|
|
"statusErrorBreach": "Xavfsizlik buzilishi. Ulanish uzildi.",
|
|
"statusErrorEmpty": "Taxallus va mazmun talab qilinadi.",
|
|
"statusErrorSize": "Mazmun maksimal hajmdan oshib ketdi.",
|
|
"statusErrorFirewall": "Firewall faol. {{time}}s kuting.",
|
|
"statusErrorOffline": "Uzatish muvaffaqiyatsiz tugadi. Tugun oflayn.",
|
|
"statusErrorFilter": "⛔ Rad etildi: Xabaringiz xavfsizlik siyosatimizni buzadi (haqoratli so'zlar, spam yoki zararli mazmun). Iltimos, qayta yozing.",
|
|
"btnEncrypting": "Shifrlanmoqda...",
|
|
"btnBroadcast": "Tarqatish",
|
|
"cooldown": "Kutish: {{time}}s"
|
|
},
|
|
"auth": {
|
|
"title": "UPLINK AVTORIZATSIYASI",
|
|
"processing": "Kirish ma'lumotlari qayta ishlanmoqda...",
|
|
"verifying": "Kriptografik imzo tekshirilmoqda...",
|
|
"granted": "KIRISH RUXSAT ETILDI",
|
|
"denied": "KIRISH RAD ETILDI",
|
|
"noToken": "Avtorizatsiya tokeni topilmadi. Iltimos, Telegram'dagi Netrunner Terminali orqali autentifikatsiyadan o'ting.",
|
|
"redirecting": "Xavfsiz bo'limga yo'naltirilmoqda...",
|
|
"toBot": "Telegram Terminalini Ochish",
|
|
"awaiting": "KIRISH MA'LUMOTLARI KUTILMOQDA",
|
|
"authPrompt": "Boshqaruv paneliga kirish uchun Telegram orqali xavfsiz ulanishni ishga tushiring.",
|
|
"logs": {
|
|
"waitInit": "> [KUTILMOQDA] TELEGRAM XAVFSIZ KIRISHI BOSHLANMOQDA...",
|
|
"sigValid": "> [OK] IMZO HAQIQIY",
|
|
"apiRejected": "> [XATO] API TOKENNI RAD ETDI",
|
|
"coreOffline": "> [XATO] YADRO OFLAYN",
|
|
"authPayload": "> [AUTH] TELEGRAM MA'LUMOTLARI QABUL QILINDI",
|
|
"verifyHmac": "> HMAC-SHA256 IMZOSI TEKSHIRILMOQDA...",
|
|
"invalidSig": "> [XATO] IMZO NOTO'G'RI YOKI MUDDATI O'TGAN",
|
|
"networkError": "> [XATO] TARMOQ XATOSI"
|
|
}
|
|
},
|
|
"docs": {
|
|
"establishing": "Xavfsiz aloqa o'rnatilmoqda...",
|
|
"vaultTitle": "DATA_VAULT",
|
|
"vaultSubtitle": "Tizim jurnallari va hujjatlar // V4.2",
|
|
"searchPlaceholder": "root@nrxp:~# grep -i ...",
|
|
"empty": "Ushbu so'rov uchun 0 ta yozuv topildi",
|
|
"closeSession": "Sessiyani Yopish",
|
|
"noContent": "MAZMUN_TOPILMADI",
|
|
"eof": "EOF"
|
|
},
|
|
"speedtest": {
|
|
"title": "Uplink Diagnostikasi",
|
|
"mockMode": "Lokal Simulyatsiya Rejimi",
|
|
"prodMode": "Netrunner tarmoq shlyuziga nisbatan to'g'ridan-to'g'ri o'lchov.",
|
|
"btnError": "KETMA-KETLIKNI QAYTA URINISH",
|
|
"btnDone": "UPLINK'NI QAYTA ISHGA TUSHIRISH",
|
|
"btnIdle": "TESTNI BOSHLASH",
|
|
"statusPinging": "PING QILINMOQDA",
|
|
"statusDownloading": "YUKLAB OLINMOQDA",
|
|
"statusUploading": "YUKLANMOQDA",
|
|
"latency": "Kechikish",
|
|
"download": "Yuklab olish",
|
|
"upload": "Yuklash",
|
|
"unitMs": "ms",
|
|
"unitMbps": "Mbps"
|
|
}
|
|
}
|