32b4460b66
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz словари (170 ключей, идентичная
вложенная структура) к существующим en/ru. lib/locales.ts — единый источник
списка локалей/дефолтной локали/RTL-набора вместо захардкоженного ["en","ru"]
в proxy.ts. language-switcher.tsx: переключение языка резало только
двухбуквенные коды регэкспом (/^\/[a-z]{2}/), из-за чего zh-CN никогда не
матчился и путь задваивался — заменено на honest-поиск по списку locales.
app/[lang]/layout.tsx — dir="rtl"/"ltr" на <html> по локали (SSR, в отличие
от реактивного клиентского переключения в netrunner-app). Header.tsx/
Footer.tsx — разбитое на три <span> имя бренда визуально переворачивалось
Flexbox'ом под dir=rtl ("VPNrunnerNet"), исправлено через dir="ltr" на
самом враппере.
BlogPreview/Faq/Pricing и обе blog-страницы: fallback на *_en-коллекцию
PocketBase, если для языка ещё нет переведённого контента (FAQ-ответы,
детали тарифов, посты блога не тянутся автоматически — это отдельный от
статических словарей CMS-контент), плюс i18n-ключи period1m/period6m/
period1y вместо захардкоженных ru/en-подписей периодов в Pricing.tsx.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
243 lines
12 KiB
JSON
243 lines
12 KiB
JSON
{
|
||
"nav": {
|
||
"features": "امکانات",
|
||
"pricing": "قیمتگذاری",
|
||
"faq": "سوالات متداول",
|
||
"blog": "لاگها",
|
||
"terminal": "ترمینال",
|
||
"docs": "مستندات",
|
||
"cta": "دریافت Netrunner",
|
||
"profile": "پروفایل",
|
||
"menu": "Menu.exe",
|
||
"speedtest": "تشخیص",
|
||
"doom": "DOOM OS"
|
||
},
|
||
"hero": {
|
||
"badge": "سیستم در حال نظارت است",
|
||
"badgeSecure": "تونل امن برقرار شد",
|
||
"titleStart": "سیستم همه را زیر نظر دارد،",
|
||
"titleHighlight": "بهجز تو.",
|
||
"subtitle": "رد پای دیجیتال پنهان شد. لاگها نابود شدند. سرعت نامحدود.",
|
||
"switchLabel": "Netrunner VPN",
|
||
"ctaPrimary": "دانلود کلاینت",
|
||
"ctaSecondary": "لیست نودها"
|
||
},
|
||
"features": {
|
||
"title": "فناوریهای دسترسی",
|
||
"items": [
|
||
{
|
||
"title": "دور زدن DPI و uTLS",
|
||
"description": "Netrunner ترافیک را به شکل HTTPS معمولی درمیآورد. سیستمهای بازرسی عمیق بسته فقط نویز سفید میبینند."
|
||
},
|
||
{
|
||
"title": "رمزنگاری ChaCha20-Poly1305",
|
||
"description": "رمزنگاری جریانی پیشرفته با Perfect Forward Secrecy. کلیدهای نشست بهصورت پویا تولید میشوند."
|
||
},
|
||
{
|
||
"title": "فشار برگشتی تطبیقی",
|
||
"description": "اندازه بافر بر اساس تأخیر رفتوبرگشت سیستم بهصورت پویا تنظیم میشود و بهطور خودکار از افزایش ناگهانی تأخیر جلوگیری میکند."
|
||
},
|
||
{
|
||
"title": "هسته چندسکویی",
|
||
"description": "هسته سطحپایین Rust سازگاری کامل و بدون سربار اضافه را در اندروید، ویندوز و لینوکس تضمین میکند. پشتیبانی از macOS و iOS در حال توسعه است."
|
||
},
|
||
{
|
||
"title": "زیرساخت اختصاصی",
|
||
"description": "بهجای اجاره از ارائهدهندگان بزرگ ابری، سرورهای خودمان را اجرا میکنیم و با مالتیپلکسینگ جریان میان نودها، اتصالی پایدار و بهسختی قابل مسدودسازی فراهم میکنیم."
|
||
}
|
||
]
|
||
},
|
||
"pricing": {
|
||
"badge": "پروتکلهای قیمتگذاری",
|
||
"title": "Uplink خود را انتخاب کنید",
|
||
"perMonth": "/ماه",
|
||
"recommend": "پیشنهادی",
|
||
"syncing": "در حال همگامسازی نودها...",
|
||
"empty": "هیچ اتصالی یافت نشد.",
|
||
"discount": "تخفیف",
|
||
"mo": "/ماه",
|
||
"billedOnce": "پرداخت یکباره:",
|
||
"period1m": "۱ ماه",
|
||
"period6m": "۶ ماه",
|
||
"period1y": "۱ سال"
|
||
},
|
||
"faq": {
|
||
"title": "پرسشهای سیستم (سوالات متداول)",
|
||
"empty": "هیچ رکوردی یافت نشد."
|
||
},
|
||
"blog": {
|
||
"badge": "لاگهای داده",
|
||
"title": "وقایعنگاری شبکه",
|
||
"more": "همه مطالب",
|
||
"readMore": "بیشتر بخوانید",
|
||
"empty": "سیگنالی یافت نشد.",
|
||
"archive": "بایگانی ترمینال",
|
||
"systemLogs": "لاگهای سیستم",
|
||
"emptySector": "[هیچ رکوردی در این بخش یافت نشد]",
|
||
"decrypt": "رمزگشایی مطلب ←",
|
||
"backBtn": "cd ../logs",
|
||
"readTime": "زمان مطالعه: ۴ دقیقه",
|
||
"verified": "تأیید شده: Netrunner",
|
||
"endTransmission": "پایان انتقال // node_th_01"
|
||
},
|
||
"footer": {
|
||
"brand": "Netrunner VPN",
|
||
"tagline": "سیستم همه را زیر نظر دارد، بهجز تو.",
|
||
"sections": {
|
||
"product": "محصول",
|
||
"resources": "منابع",
|
||
"legal": "حقوقی"
|
||
},
|
||
"links": {
|
||
"features": "امکانات",
|
||
"pricing": "قیمتگذاری",
|
||
"faq": "سوالات متداول",
|
||
"protocol": "پروتکل",
|
||
"comms": "وبلاگ",
|
||
"privacy": "حریم خصوصی",
|
||
"terms": "شرایط",
|
||
"profile": "پروفایل"
|
||
},
|
||
"rights": "© ۲۰۲۶ Netrunner VPN. تمام بستهها رمزنگاری شدهاند.",
|
||
"protocolStatus": "پروتکل // دسترسی رمزنگاریشده",
|
||
"uplinkStatus": "وضعیت Uplink",
|
||
"activeNode": "نود فعال",
|
||
"latency": "تأخیر (RTT)"
|
||
},
|
||
"download": {
|
||
"title": "استقرار نود",
|
||
"subtitle": "پلتفرم خود را برای استقرار کلاینت Netrunner انتخاب کنید.",
|
||
"badges": {
|
||
"active": "نسخه پایدار",
|
||
"dev": "در حال توسعه"
|
||
},
|
||
"buttons": {
|
||
"direct": "دانلود مستقیم",
|
||
"store": "لینک فروشگاه",
|
||
"github": "کد منبع",
|
||
"notify": "اطلاعرسانی به من",
|
||
"soon": "بهزودی در فروشگاه",
|
||
"pending": "در انتظار ساخت"
|
||
},
|
||
"platforms": {
|
||
"windows": "Windows 10 / 11",
|
||
"android": "Android 8.0+",
|
||
"linux": "Ubuntu / Debian / Arch",
|
||
"macos": "macOS 12.0+",
|
||
"ios": "iOS 15.0+"
|
||
},
|
||
"accessingBuild": "در حال دسترسی به سرور بیلد..."
|
||
},
|
||
"terminal": {
|
||
"title": "کانال ارتباطی جهانی",
|
||
"description": "کانال ارتباطی عمومی. تاریخچه نامحدود.",
|
||
"alias": "نام مستعار",
|
||
"message": "ورود داده...",
|
||
"send": "ارسال همگانی",
|
||
"systemReady": "SYSTEM_READY // UPLINK_SECURED",
|
||
"loadingHistory": "در حال بارگذاری بایگانی...",
|
||
"noMoreLogs": "به پایان بایگانی رسیدید",
|
||
"encrypting": "در حال رمزنگاری...",
|
||
"cooldown": "خنکسازی: {{time}} ثانیه",
|
||
"manifestoTitle": "مانیفست ارتباط آزاد // نسخه ۱.۰",
|
||
"manifestoText": "این ترمینال یک کانال مستقیم به هسته Netrunner است. ما لاگها را بدون سانسور و بهصورت زنده پخش میکنیم، چرا که پروتکلی که میتواند از DPI عبور کند، نباید از حقیقت بترسد.",
|
||
"rulesTitle": "پروتکل رفتاری:",
|
||
"rule1": "— بدون پیشبررسی. پیام شما فوراً وارد شبکه میشود.",
|
||
"rule2": "— انتقاد از VPN، گزارش باگ یا سوالات سخت — همه چیز مجاز است.",
|
||
"rule3": "— تنها محدودیت: توهین مستقیم به دیگر اعضای شبکه و اسپم. یک سایبرپانک باش، نه یک مزاحم.",
|
||
"statusReady": "UPLINK_ESTABLISHED // NO_FILTERS_DETECTED"
|
||
},
|
||
"loading": {
|
||
"establishing": "در حال برقراری اتصال"
|
||
},
|
||
"notFound": {
|
||
"errorBadge": "[ خطا: نود یافت نشد ]",
|
||
"message": "جدول مسیریابی حاوی نود درخواستی نیست. انتقال قطع شد. به شبکه امن بازگردید.",
|
||
"returnHome": "بازگشت به خانه"
|
||
},
|
||
"nodes": {
|
||
"title": "شبکه جهانی نودها",
|
||
"subtitle": "توپولوژی لحظهای سرورهای Netrunner.",
|
||
"status": {
|
||
"online": "آنلاین",
|
||
"full": "پر",
|
||
"maintenance": "در حال تعمیر"
|
||
},
|
||
"labels": {
|
||
"load": "بار سرور",
|
||
"latency": "تأخیر"
|
||
}
|
||
},
|
||
"guestbook": {
|
||
"title": "COMM-LINK_",
|
||
"subtitle": "ترمینال ارتباطی",
|
||
"description": "کانال مستقیم به نودهای Netrunner.",
|
||
"philosophyTitle": "سانسور صفر",
|
||
"philosophyText": "ما Netrunner را برای عبور از همه موانع ساختیم، پس از حرفهای شما نمیترسیم. این فید گواهی زندهای بر آزادی بیان است. وقتی دیگران بازخوردها را پنهان میکنند، ما آن را بهصورت زنده پخش میکنیم. اگر پروتکل ما در برابر DPI مقاومت میکند، در برابر صداقت شما هم مقاومت خواهد کرد.",
|
||
"liveFeed": "فید زنده (۵۰ مورد آخر)",
|
||
"noTransmissions": "هیچ انتقال فعالی یافت نشد.",
|
||
"labelAlias": "نام مستعار",
|
||
"labelPayload": "محتوا",
|
||
"placeholderAlias": "Guest_77",
|
||
"placeholderPayload": "داده انتقال را وارد کنید...",
|
||
"statusSuccess": "داده با موفقیت ارسال شد.",
|
||
"statusErrorBreach": "نقض امنیتی. اتصال قطع شد.",
|
||
"statusErrorEmpty": "نام مستعار و محتوا الزامی است.",
|
||
"statusErrorSize": "حجم داده از حد مجاز بیشتر است.",
|
||
"statusErrorFirewall": "فایروال فعال است. {{time}} ثانیه صبر کنید.",
|
||
"statusErrorOffline": "انتقال ناموفق بود. نود آفلاین است.",
|
||
"statusErrorFilter": "⛔ رد شد: پیام شما سیاست امنیتی ما را نقض میکند (الفاظ رکیک، اسپم یا محتوای مسموم). لطفاً آن را بازنویسی کنید.",
|
||
"btnEncrypting": "در حال رمزنگاری...",
|
||
"btnBroadcast": "ارسال همگانی",
|
||
"cooldown": "خنکسازی: {{time}} ثانیه"
|
||
},
|
||
"auth": {
|
||
"title": "احراز هویت UPLINK",
|
||
"processing": "در حال پردازش اطلاعات ورود...",
|
||
"verifying": "در حال تأیید امضای رمزنگاریشده...",
|
||
"granted": "دسترسی تأیید شد",
|
||
"denied": "دسترسی رد شد",
|
||
"noToken": "توکن احراز هویت یافت نشد. لطفاً از طریق ترمینال Netrunner در تلگرام احراز هویت کنید.",
|
||
"redirecting": "در حال انتقال به بخش امن...",
|
||
"toBot": "باز کردن ترمینال تلگرام",
|
||
"awaiting": "در انتظار اطلاعات ورود",
|
||
"authPrompt": "برای دسترسی به پنل کنترل، یک اتصال امن از طریق تلگرام برقرار کنید.",
|
||
"logs": {
|
||
"waitInit": "> [در انتظار] راهاندازی ورود امن تلگرام...",
|
||
"sigValid": "> [OK] امضا معتبر است",
|
||
"apiRejected": "> [خطا] API توکن را رد کرد",
|
||
"coreOffline": "> [خطا] هسته آفلاین است",
|
||
"authPayload": "> [AUTH] داده تلگرام دریافت شد",
|
||
"verifyHmac": "> در حال تأیید امضای HMAC-SHA256...",
|
||
"invalidSig": "> [خطا] امضا نامعتبر یا منقضی شده",
|
||
"networkError": "> [خطا] خطای شبکه"
|
||
}
|
||
},
|
||
"docs": {
|
||
"establishing": "در حال برقراری اتصال امن...",
|
||
"vaultTitle": "DATA_VAULT",
|
||
"vaultSubtitle": "لاگهای سیستم و مستندات // نسخه ۴.۲",
|
||
"searchPlaceholder": "root@nrxp:~# grep -i ...",
|
||
"empty": "برای این جستجو ۰ رکورد یافت شد",
|
||
"closeSession": "بستن نشست",
|
||
"noContent": "محتوایی یافت نشد",
|
||
"eof": "EOF"
|
||
},
|
||
"speedtest": {
|
||
"title": "تشخیص Uplink",
|
||
"mockMode": "حالت شبیهسازی محلی",
|
||
"prodMode": "اندازهگیری مستقیم نسبت به دروازه شبکه Netrunner.",
|
||
"btnError": "تکرار توالی",
|
||
"btnDone": "راهاندازی مجدد Uplink",
|
||
"btnIdle": "شروع آزمایش",
|
||
"statusPinging": "در حال پینگ",
|
||
"statusDownloading": "در حال دانلود",
|
||
"statusUploading": "در حال آپلود",
|
||
"latency": "تأخیر",
|
||
"download": "دانلود",
|
||
"upload": "آپلود",
|
||
"unitMs": "میلیثانیه",
|
||
"unitMbps": "مگابیت بر ثانیه"
|
||
}
|
||
}
|