Per user decision 2026-10-21 (reverses the earlier keep call in PANEL-LITE-SPEC.md, now amended): the lite panel never runs a local core, so measuring/probing from the panel host is meaningless. Backend: - delete service/outbound probe implementation (probe_http.go and its tests) and the TestOutbound/TestOutbounds batch prober; outbound traffic accounting (AddTraffic/GetOutboundsTraffic/Reset) unchanged - drop POST /panel/api/xray/testOutbound + testOutbounds routes and the outboundTestUrl setting (get/update plumbing removed; stored rows in existing DBs are inert) - drop POST /panel/api/server/restartXrayService + stopXrayService routes/handlers and the node-sync allowlist entry; the service-level Stop/RestartXrayService stay for internal import/restore flows - node-sync allowlist contract test updated to the new inventory Frontend: - remove test buttons/mode switch/test-all from outbounds tab, card list and table columns; delete TestResultPopover and CountryPill; drop the egress/country/latency columns fed by probe results - remove outboundTestUrl state and save plumbing from useXraySetting and the Basics tab field; drop OutboundTestResult schemas - delete the 15 now-dead i18n keys from all 13 locales (incl. the restart/stop keys orphaned since P6/P7 — i18n-dead-keys test green) - tests: drop the test-URL hook test, re-probe the loopback index mapping through Move-to-top, regenerate API types (gen)
1664 lines
125 KiB
JSON
1664 lines
125 KiB
JSON
{
|
||
"username": "نامکاربری",
|
||
"password": "رمزعبور",
|
||
"login": "ورود",
|
||
"confirm": "تایید",
|
||
"cancel": "انصراف",
|
||
"close": "بستن",
|
||
"save": "ذخیره",
|
||
"logout": "خروج",
|
||
"create": "ایجاد",
|
||
"add": "افزودن",
|
||
"remove": "حذف",
|
||
"update": "بهروزرسانی",
|
||
"copy": "کپی",
|
||
"copied": "کپی شد",
|
||
"more": "بیشتر",
|
||
"download": "دانلود",
|
||
"regenerate": "تولید مجدد",
|
||
"jsonEditor": "ویرایشگر JSON",
|
||
"downloadImage": "دانلود تصویر",
|
||
"sort": "مرتبسازی",
|
||
"remark": "نام",
|
||
"enable": "فعال",
|
||
"protocol": "پروتکل",
|
||
"search": "جستجو",
|
||
"filter": "فیلتر",
|
||
"all": "همه",
|
||
"from": "از",
|
||
"to": "تا",
|
||
"done": "انجام شد",
|
||
"loading": "...در حال بارگذاری",
|
||
"refresh": "تازهسازی",
|
||
"clear": "پاک کردن",
|
||
"second": "ثانیه",
|
||
"minute": "دقیقه",
|
||
"hour": "ساعت",
|
||
"day": "روز",
|
||
"check": "چک کردن",
|
||
"indefinite": "نامحدود",
|
||
"unlimited": "نامحدود",
|
||
"none": "هیچ",
|
||
"qrCode": "QRکد",
|
||
"info": "اطلاعات بیشتر",
|
||
"edit": "ویرایش",
|
||
"delete": "حذف",
|
||
"reset": "بازنشانی",
|
||
"noData": "دادهای وجود ندارد.",
|
||
"copySuccess": "باموفقیت کپیشد",
|
||
"sure": "مطمئن",
|
||
"encryption": "رمزگذاری",
|
||
"transmission": "راهاتصال",
|
||
"host": "میزبان",
|
||
"path": "مسیر",
|
||
"camouflage": "مبهمسازی",
|
||
"status": "وضعیت",
|
||
"enabled": "فعال",
|
||
"disabled": "غیرفعال",
|
||
"depleted": "منقضی",
|
||
"depletingSoon": "درحالانقضا",
|
||
"offline": "آفلاین",
|
||
"online": "آنلاین",
|
||
"domainName": "آدرس دامنه",
|
||
"monitor": "آیپی اتصال",
|
||
"certificate": "گواهی دیجیتال",
|
||
"fail": "ناموفق",
|
||
"comment": "توضیحات",
|
||
"success": "موفق",
|
||
"lastOnline": "آخرین فعالیت",
|
||
"lastSubFetch": "آخرین دریافت اشتراک",
|
||
"install": "نصب",
|
||
"clients": "کاربران",
|
||
"usage": "استفاده",
|
||
"twoFactorCode": "کد",
|
||
"remained": "باقیمانده",
|
||
"security": "امنیت",
|
||
"somethingWentWrong": "مشکلی پیش آمد",
|
||
"subscription": {
|
||
"title": "اطلاعات سابسکریپشن",
|
||
"subId": "شناسه اشتراک",
|
||
"email": "ایمیل",
|
||
"status": "وضعیت",
|
||
"downloaded": "دانلود",
|
||
"uploaded": "آپلود",
|
||
"expiry": "تاریخ پایان",
|
||
"totalQuota": "حجم کلی",
|
||
"active": "فعال",
|
||
"inactive": "غیرفعال",
|
||
"unlimited": "نامحدود",
|
||
"noExpiry": "بدون انقضا",
|
||
"copyAllConfigs": "کپی همه کانفیگها",
|
||
"copyAllConfigsCopied": "همه کانفیگها کپی شدند"
|
||
},
|
||
"menu": {
|
||
"theme": "تم",
|
||
"dashboard": "نمای کلی",
|
||
"inbounds": "ورودیها",
|
||
"clients": "کلاینتها",
|
||
"nodes": "نودها",
|
||
"settings": "تنظیمات پنل",
|
||
"xray": "پیکربندی Xray",
|
||
"routing": "مسیریابی",
|
||
"outbounds": "خروجیها",
|
||
"donate": "حمایت مالی",
|
||
"hosts": "میزبانها",
|
||
"docs": "مستندات",
|
||
"openMenu": "باز کردن منو",
|
||
"pinSidebar": "ثابت کردن نوار کناری",
|
||
"unpinSidebar": "برداشتن تثبیت نوار کناری",
|
||
"subFormats": "Sub Formats"
|
||
},
|
||
"pages": {
|
||
"login": {
|
||
"hello": "سلام",
|
||
"title": "خوشآمدید",
|
||
"loginAgain": "مدت زمان استفاده بهاتمامرسیده، لطفا دوباره وارد شوید",
|
||
"toasts": {
|
||
"invalidFormData": "اطلاعات بهدرستی وارد نشدهاست",
|
||
"emptyUsername": "لطفا یک نامکاربری وارد کنید",
|
||
"emptyPassword": "لطفا یک رمزعبور وارد کنید",
|
||
"wrongUsernameOrPassword": "نام کاربری، رمز عبور یا کد دو مرحلهای نامعتبر است.",
|
||
"successLogin": "شما با موفقیت به حساب کاربری خود وارد شدید."
|
||
}
|
||
},
|
||
"index": {
|
||
"cpu": "پردازنده",
|
||
"swap": "سواپ",
|
||
"storage": "ذخیرهسازی",
|
||
"memory": "حافظه",
|
||
"updatePanel": "بهروزرسانی پنل",
|
||
"panelUpdateDesc": "این عملیات 3X-UI را به آخرین نسخه بهروزرسانی میکند و سرویس پنل را مجدداً راهاندازی میکند.",
|
||
"currentPanelVersion": "نسخه فعلی پنل",
|
||
"latestPanelVersion": "آخرین نسخه پنل",
|
||
"panelUpToDate": "پنل بهروز است",
|
||
"devChannel": "کانال توسعه (Dev)",
|
||
"devChannelWarning": "بیلدهای توسعه هر کامیت روی main را دنبال میکنند و نسخهٔ پایدار نیستند — بازگشت خودکار به نسخهٔ قبلی وجود ندارد.",
|
||
"currentCommit": "کامیت فعلی",
|
||
"latestCommit": "آخرین کامیت",
|
||
"updateChannelChanged": "کانال بهروزرسانی تغییر کرد",
|
||
"connectionCount": "تعداد کانکشن ها",
|
||
"ipAddresses": "آدرسهای IP",
|
||
"toggleIpVisibility": "تغییر وضعیت نمایش IP",
|
||
"overallSpeed": "سرعت کلی",
|
||
"upload": "آپلود",
|
||
"download": "دانلود",
|
||
"sent": "ارسال شده",
|
||
"received": "دریافت شده",
|
||
"panelUpdateDialog": "آیا مطمئن هستید که میخواهید پنل را بهروزرسانی کنید؟",
|
||
"panelUpdateDialogDesc": "این 3X-UI را به نسخه #version# بهروزرسانی کرده و سرویس پنل را مجدداً راهاندازی میکند.",
|
||
"panelUpdateStartedPopover": "بهروزرسانی پنل آغاز شد",
|
||
"panelUpdateFailedTitle": "بهروزرسانی پنل ناموفق بود",
|
||
"panelUpdateFailedDesc": "بهروزرسانی با موفقیت به پایان نرسید. گزارشهای سرور را بررسی کنید یا دستور «x-ui update» را از خط فرمان اجرا کنید.",
|
||
"panelUpdateUnknownTitle": "تأیید نشد که بهروزرسانی به پایان رسیده باشد",
|
||
"panelUpdateUnknownDesc": "پنل بهموقع نتیجهای گزارش نکرد. صفحه را بارگذاری مجدد کنید تا نسخه فعلی را بررسی کنید یا گزارشهای سرور را بررسی کنید.",
|
||
"dontRefresh": "در حال نصب، لطفا صفحه را رفرش نکنید",
|
||
"config": "پیکربندی",
|
||
"backupTitle": "پشتیبانگیری و بازیابی",
|
||
"exportDatabase": "پشتیبانگیری",
|
||
"exportDatabaseDesc": "برای دانلود یک فایل .db حاوی پشتیبان از پایگاه داده فعلی خود به دستگاهتان کلیک کنید. همین فایل در پنلی که روی PostgreSQL اجرا میشود نیز قابل بازیابی است.",
|
||
"importDatabase": "بازیابی",
|
||
"importDatabaseDesc": "برای انتخاب و آپلود یک پشتیبان .db یا فایل مهاجرت .dump از دستگاهتان جهت بازیابی پایگاه داده کلیک کنید.",
|
||
"importDatabaseSuccess": "پایگاه داده با موفقیت وارد شد",
|
||
"importDatabaseError": "خطا در وارد کردن پایگاه داده",
|
||
"readDatabaseError": "خطا در خواندن پایگاه داده",
|
||
"getDatabaseError": "خطا در دریافت پایگاه داده",
|
||
"getConfigError": "خطا در دریافت فایل پیکربندی",
|
||
"backupPostgresNote": "این پنل روی PostgreSQL اجرا میشود. «پشتیبانگیری» یک آرشیو pg_dump (.dump) دانلود میکند و «بازیابی» آن را با pg_restore بازمیگرداند. «بازیابی» همچنین پایگاهدادهٔ SQLite (.db) یا فایل مهاجرت SQLite را میپذیرد و دادههای آن را به PostgreSQL وارد میکند. سرور باید ابزارهای کلاینت PostgreSQL (pg_dump و pg_restore) را نصب داشته باشد.",
|
||
"exportDatabasePgDesc": "برای دانلود یک دامپ PostgreSQL (.dump) از پایگاه داده فعلی روی دستگاهتان کلیک کنید.",
|
||
"importDatabasePgDesc": "برای انتخاب و بارگذاری یک پشتیبان PostgreSQL (.dump)، پایگاهدادهٔ SQLite (.db) یا فایل مهاجرت SQLite جهت بازیابی پایگاه داده کلیک کنید. این کار همه دادههای فعلی را جایگزین میکند.",
|
||
"migrationDownload": "دانلود فایل مهاجرت",
|
||
"migrationDownloadPgDesc": "برای دانلود یک پایگاهدادهٔ SQLite با پسوند .db که از دادههای PostgreSQL شما ساخته میشود کلیک کنید؛ آمادهٔ اجرای این پنل روی SQLite.",
|
||
"free": "آزاد",
|
||
"openSockets": "اتصال باز",
|
||
"throughputSub": "کل اینترفیس",
|
||
"healthWarm": "{list} — رو به گرم شدن",
|
||
"healthCritical": "{list} — بحرانی",
|
||
"panel": "پنل",
|
||
"threads": "نخها",
|
||
"uptime": "مدت کارکرد",
|
||
"importKeepHostSettings": "حفظ تنظیمات این دستگاه",
|
||
"importKeepHostSettingsDesc": "آدرسها و پورتهای شنود، مسیر پایه، گواهیها و هویت نودِ همین پنل را نگه میدارد و آنها را از فایل بارگذاریشده نمیگیرد."
|
||
},
|
||
"inbounds": {
|
||
"totalDownUp": "دریافت/ارسال کل",
|
||
"totalUsage": "مصرف کل",
|
||
"inboundCount": "کل ورودیها",
|
||
"operate": "منو",
|
||
"enable": "فعال",
|
||
"remark": "نام",
|
||
"node": "نود",
|
||
"deployTo": "استقرار روی",
|
||
"localPanel": "پنل لوکال",
|
||
"fallbacks": {
|
||
"title": "Fallbackها",
|
||
"empty": "هنوز فالبکی اضافه نشده",
|
||
"add": "افزودن فالبک",
|
||
"pickInbound": "یک اینباند انتخاب کنید",
|
||
"matchAny": "همه",
|
||
"destPlaceholder": "خودکار (listen:port فرزند)",
|
||
"needsTls": "فالبکها پس از انتخاب TLS یا Reality در برگهی امنیت در دسترس میشوند (فقط VLESS/Trojan روی RAW)."
|
||
},
|
||
"protocol": "پروتکل",
|
||
"port": "پورت",
|
||
"portMap": "نگاشت پورت",
|
||
"traffic": "ترافیک",
|
||
"speed": "سرعت",
|
||
"expireDate": "مدت زمان",
|
||
"createdAt": "ایجاد",
|
||
"updatedAt": "بهروزرسانی",
|
||
"resetTraffic": "بازنشانی ترافیک",
|
||
"addInbound": "افزودن ورودی",
|
||
"generalActions": "عملیات کلی",
|
||
"modifyInbound": "ویرایش ورودی",
|
||
"deleteConfirmTitle": "اینباند «{remark}» حذف شود؟",
|
||
"deleteConfirmContent": "این اینباند و تمام کلاینتهای آن حذف میشود. این عمل غیرقابل بازگشت است.",
|
||
"resetConfirmTitle": "ترافیک اینباند «{remark}» صفر شود؟",
|
||
"resetConfirmContent": "شمارندههای ارسال/دریافت این اینباند به صفر برمیگردد.",
|
||
"selectedCount": "{count} انتخابشده",
|
||
"selectAll": "انتخاب همه",
|
||
"bulkDeleteConfirmTitle": "حذف {count} اینباند؟",
|
||
"bulkDeleteConfirmContent": "اینباندهای انتخابشده و تمام کلاینتهای آنها حذف میشوند. این عمل غیرقابل بازگشت است.",
|
||
"cloneConfirmTitle": "اینباند «{remark}» کپی شود؟",
|
||
"cloneConfirmContent": "یک نسخه با پورت جدید و لیست کلاینت خالی ساخته میشود.",
|
||
"delAllClients": "حذف همه کلاینتها",
|
||
"delAllClientsConfirmTitle": "حذف هر {count} کلاینت اینباند «{remark}»؟",
|
||
"delAllClientsConfirmContent": "تمام کلاینتهای این اینباند به همراه رکوردهای ترافیکشان حذف میشوند. خود اینباند باقی میماند. این عمل غیرقابل بازگشت است.",
|
||
"attachClients": "الصاق کاربران به…",
|
||
"attachClientsTitle": "الصاق کاربران از «{remark}»",
|
||
"attachClientsDesc": "همان {count} کاربر (با UUID/رمز یکسان و ترافیک مشترک) را به ورودی(های) انتخابی الصاق میکند. در این ورودی هم باقی میمانند.",
|
||
"attachClientsTargets": "ورودیهای مقصد",
|
||
"attachClientsNoTargets": "هیچ ورودی سازگار دیگری برای الصاق در دسترس نیست.",
|
||
"attachClientsResult": "الصاق شد {attached}، نادیده {skipped}.",
|
||
"attachClientsResultMixed": "الصاق شد {attached}، نادیده {skipped}، خطا {errors}.",
|
||
"attachClientsSelectLabel": "کاربران برای الصاق",
|
||
"attachClientsSearchPlaceholder": "جستجوی ایمیل یا توضیح",
|
||
"attachClientsStatusDisabled": "غیرفعال",
|
||
"attachClientsSelectedCount": "{selected} از {total} انتخابشده",
|
||
"attachExistingClients": "الصاق کاربران موجود…",
|
||
"attachExistingTitle": "الصاق کاربران موجود به «{remark}»",
|
||
"attachExistingDesc": "کاربران موجود ({count} کاربر در دسترس) را به این ورودی الصاق میکند — با همان UUID/رمز و ترافیک مشترک. کاربرانی که از قبل روی این ورودی هستند نادیده گرفته میشوند.",
|
||
"attachExistingNoClients": "هنوز هیچ کاربری وجود ندارد. ابتدا کاربر بسازید، سپس اینجا الصاق کنید.",
|
||
"attachExistingStatusAttached": "از قبل الصاقشده",
|
||
"detachClients": "جداسازی کاربران",
|
||
"detachClientsTitle": "جداسازی کاربران از «{remark}»",
|
||
"detachClientsDesc": "کاربر(های) انتخابی را تنها از این ورودی حذف میکند. خود رکورد کاربر حفظ میشود (برای حذف کامل از Delete استفاده کنید). مبدا در مجموع {count} کاربر دارد.",
|
||
"detachClientsResult": "جدا شد {detached}، نادیده {skipped}.",
|
||
"detachClientsResultMixed": "جدا شد {detached}، نادیده {skipped}، خطا {errors}.",
|
||
"detachClientsSelectLabel": "کاربران برای جداسازی",
|
||
"exportLinksTitle": "خروجی لینکهای اینباند",
|
||
"exportSubsTitle": "خروجی لینکهای ساب",
|
||
"exportAllLinksTitle": "خروجی لینکهای همه اینباندها",
|
||
"exportAllSubsTitle": "خروجی لینکهای ساب همه اینباندها",
|
||
"exportAllLinksFileName": "همه-ورودیها",
|
||
"exportAllSubsFileName": "همه-ورودیها-Subs",
|
||
"inboundJsonTitle": "JSON ورودی",
|
||
"resetTrafficContent": "آیا مطمئن به ریست ترافیک هستید؟",
|
||
"copyLink": "کپی لینک",
|
||
"address": "آدرس",
|
||
"network": "شبکه",
|
||
"destinationPort": "پورت مقصد",
|
||
"targetAddress": "آدرس مقصد",
|
||
"monitorDesc": "بهطور پیشفرض خالیبگذارید",
|
||
"meansNoLimit": "= نامحدود. (واحد: GB)",
|
||
"totalFlow": "ترافیک کل",
|
||
"leaveBlankToNeverExpire": "برای منقضینشدن خالیبگذارید",
|
||
"certificatePath": "مسیر فایل",
|
||
"certificateContent": "محتوای فایل",
|
||
"publicKey": "کلید عمومی",
|
||
"privatekey": "کلید خصوصی",
|
||
"client": "کاربر",
|
||
"export": "استخراج لینکها",
|
||
"clone": "شبیهسازی",
|
||
"resetAllTraffic": "ریست ترافیک کل ورودیها",
|
||
"resetAllTrafficTitle": "ریست ترافیک کل ورودیها",
|
||
"resetAllTrafficContent": "آیا مطمئن به ریست ترافیک تمام ورودیها هستید؟",
|
||
"email": "ایمیل",
|
||
"IPLimit": "محدودیت آیپی",
|
||
"IPLimitlog": "گزارشها",
|
||
"IPLimitlogclear": "پاک کردن گزارشها",
|
||
"setDefaultCert": "استفاده از گواهی پنل",
|
||
"setDefaultCertEmpty": "هیچ گواهیای برای پنل پیکربندی نشده. ابتدا از تنظیمات یکی تعیین کنید.",
|
||
"streamTab": "انتقال",
|
||
"securityTab": "امنیت",
|
||
"sniffingTab": "شنود",
|
||
"sniffingMetadataOnly": "فقط متادیتا",
|
||
"sniffingRouteOnly": "فقط مسیریابی",
|
||
"sniffingIpsExcluded": "IPهای مستثنا",
|
||
"sniffingDomainsExcluded": "دامنههای مستثنا",
|
||
"decryption": "رمزگشایی",
|
||
"encryption": "رمزنگاری",
|
||
"vlessAuthX25519": "X25519 (native)",
|
||
"vlessAuthMlkem768": "ML-KEM-768 (native)",
|
||
"vlessAuthX25519Xorpub": "X25519 (xorpub)",
|
||
"vlessAuthX25519Random": "X25519 (random)",
|
||
"vlessAuthMlkem768Xorpub": "ML-KEM-768 (xorpub)",
|
||
"vlessAuthMlkem768Random": "ML-KEM-768 (random)",
|
||
"vlessAuthCustom": "سفارشی",
|
||
"vlessAuthSelected": "انتخابشده: {auth}",
|
||
"vlessAuthGenerate": "تولید کلیدها",
|
||
"vlessAuthGenerateButton": "تولید",
|
||
"advanced": {
|
||
"title": "بخشهای JSON اینباند",
|
||
"subtitle": "JSON کامل اینباند و ویرایشگرهای جداگانه برای settings، sniffing و streamSettings.",
|
||
"all": "همه",
|
||
"allHelp": "شیء کامل اینباند با همه فیلدها در یک ویرایشگر.",
|
||
"settings": "تنظیمات",
|
||
"settingsHelp": "ساختار بلوک settings در Xray:",
|
||
"sniffing": "Sniffing",
|
||
"sniffingHelp": "ساختار بلوک sniffing در Xray:",
|
||
"stream": "Stream",
|
||
"streamHelp": "ساختار بلوک stream در Xray:"
|
||
},
|
||
"subSortIndex": "ترتیب اشتراک",
|
||
"inboundInfo": "اطلاعات ورودی",
|
||
"exportInbound": "استخراج ورودی",
|
||
"import": "افزودن",
|
||
"importInbound": "افزودن یک ورودی",
|
||
"periodicTrafficResetTitle": "بازنشانی ترافیک",
|
||
"periodicTrafficResetDay": "روز بازنشانی ماهانه",
|
||
"periodicTrafficReset": {
|
||
"never": "هرگز",
|
||
"daily": "روزانه",
|
||
"weekly": "هفتگی",
|
||
"monthly": "ماهانه",
|
||
"hourly": "هر ساعت"
|
||
},
|
||
"toasts": {
|
||
"obtain": "فراهمسازی",
|
||
"updateSuccess": "بروزرسانی با موفقیت انجام شد",
|
||
"logCleanSuccess": "لاگ پاکسازی شد",
|
||
"inboundUpdateSuccess": "ورودی با موفقیت بهروزرسانی شد",
|
||
"inboundCreateSuccess": "ورودی با موفقیت ایجاد شد",
|
||
"bulkDeleted": "{count} اینباند حذف شد",
|
||
"bulkDeletedMixed": "{ok} حذف، {failed} ناموفق",
|
||
"clonedMany": "{count} اینباند کلون شد",
|
||
"clonedMixed": "{ok} کلون، {failed} ناموفق",
|
||
"inboundDeleteSuccess": "ورودی با موفقیت حذف شد",
|
||
"inboundClientAddSuccess": "کلاینت(های) ورودی اضافه شدند",
|
||
"inboundClientDeleteSuccess": "کلاینت ورودی حذف شد",
|
||
"inboundClientUpdateSuccess": "کلاینت ورودی بهروزرسانی شد",
|
||
"savedNodeOfflineWillSync": "بهصورت محلی ذخیره شد. یک نود پشتیبان آفلاین یا غیرفعال است — تغییر پس از اتصال مجدد همگامسازی میشود.",
|
||
"resetAllClientTrafficSuccess": "تمام ترافیک کلاینت بازنشانی شد",
|
||
"resetAllTrafficSuccess": "تمام ترافیکها بازنشانی شدند",
|
||
"resetInboundClientTrafficSuccess": "ترافیک بازنشانی شد",
|
||
"resetInboundTrafficSuccess": "ترافیک ورودی بازنشانی شد",
|
||
"trafficGetError": "خطا در دریافت ترافیکها",
|
||
"getNewX25519CertError": "خطا در دریافت گواهی X25519.",
|
||
"getNewmldsa65Error": "خطا در دریافت گواهی mldsa65.",
|
||
"getNewVlessEncError": "خطا در دریافت گواهی VlessEnc.",
|
||
"scanRealityTargetError": "اسکن هدف REALITY ناموفق بود.",
|
||
"scanRealityTargetFeasible": "هدف مناسب است — هدف و SNI پر شد.",
|
||
"scanRealityTargetNotFeasible": "هدف در دسترس است اما برای REALITY مناسب نیست.",
|
||
"scanRealityTargetPrivate": "هدف کار میکند اما در شبکهٔ خصوصی/محلی قرار دارد.",
|
||
"invalidClientField": "کلاینت {client}: فیلد {field} — {reason}",
|
||
"invalidField": "{field} — {reason}",
|
||
"moreIssues": "{message} (+{count} مورد دیگر)"
|
||
},
|
||
"form": {
|
||
"moveUp": "بالا",
|
||
"moveDown": "پایین",
|
||
"addAll": "افزودن همه",
|
||
"addAllFallbackTooltip": "برای هر ورودی واجد شرایط که هنوز متصل نشده یک ردیف fallback اضافه میکند",
|
||
"peers": "Peers",
|
||
"addPeer": "افزودن peer",
|
||
"keepAlive": "Keep-alive",
|
||
"autoSystemRoutesTooltip": "فقط ویندوز. CIDRها بهصورت خودکار به جدول مسیریابی سیستم اضافه میشوند تا ترافیک مطابق از TUN عبور کند.",
|
||
"autoOutboundsInterface": "رابط خروجی خودکار",
|
||
"autoOutboundsInterfaceTooltip": "رابط فیزیکی برای ترافیک خروجی. از auto برای تشخیص استفاده کنید؛ زمانی که Auto system routes فعال باشد، بهصورت خودکار فعال میشود.",
|
||
"rewriteAddress": "بازنویسی آدرس",
|
||
"rewritePort": "بازنویسی پورت",
|
||
"allowedNetwork": "شبکه مجاز",
|
||
"followRedirect": "دنبالکردن Redirect",
|
||
"accounts": "حسابها",
|
||
"allowTransparent": "اجازه شفاف",
|
||
"encryptionMethod": "روش رمزنگاری",
|
||
"fakeTlsDomain": "دامنه FakeTLS (SNI)",
|
||
"mtprotoSecret": "کلید مخفی",
|
||
"mtgDomainFrontingIp": "آیپی Domain fronting",
|
||
"mtgDomainFrontingPort": "پورت Domain fronting",
|
||
"mtgDomainFrontingProxyProtocol": "پروتکل PROXY برای Domain fronting",
|
||
"mtgDomainFrontingHint": "جایی که mtg ترافیک غیرتلگرامی را به آن ارسال میکند — مثلاً سایت جعلی NGINX شما. برای استفاده از دامنهٔ FakeTLS از طریق DNS، فیلد IP را خالی بگذارید؛ پورت پیشفرض 443 است.",
|
||
"mtgProxyProtocolListener": "پذیرش پروتکل PROXY (شنونده)",
|
||
"mtgPreferIp": "ترجیح IP",
|
||
"mtgDebug": "گزارش اشکالزدایی",
|
||
"mtgRouteThroughXray": "مسیریابی از طریق Xray",
|
||
"mtgRouteThroughXrayHint": "ترافیک تلگرام این پراکسی را از طریق Xray بفرستید تا از قوانین مسیریابی شما پیروی کند. سرویس جانبی mtg از طریق یک پل SOCKS محلی که با تگ همین ورودی نشانهگذاری شده خارج میشود؛ برای قوانین پیشرفته در تب مسیریابی به همان تگ ارجاع دهید.",
|
||
"mtgRouteOutbound": "خروجی",
|
||
"mtgRouteOutboundHint": "اختیاری. ترافیک تلگرام را وادار کنید از این خروجی (یا متعادلکننده) خارج شود. برای اینکه قوانین مسیریابی تصمیم بگیرند، خالی بگذارید.",
|
||
"mtgRouteOutboundPlaceholder": "استفاده از قوانین مسیریابی",
|
||
"mtprotoFakeTlsDomainHint": "دامنه پیشفرض FakeTLS برای ساخت سکرت کلاینت جدید. هر کلاینت میتواند دامنه مخصوص خود را داشته باشد.",
|
||
"mtgThrottleMaxConnections": "حداکثر اتصالات",
|
||
"mtgThrottleMaxConnectionsHint": "محدود کردن اتصالات همزمان همه کاربران با تقسیم منصفانه. مقدار ۰ غیرفعال است.",
|
||
"mtgAdTagInvalid": "برچسب تبلیغاتی باید دقیقاً ۳۲ کاراکتر هگزادسیمال باشد.",
|
||
"mtgPublicIpv4": "IPv4 عمومی",
|
||
"mtgPublicIpv6": "IPv6 عمومی",
|
||
"mtgPublicIpHint": "نشانی عمومی و دردسترس این سرور که پروکسی میانی برچسب تبلیغاتی از آن استفاده میکند. برای تشخیص خودکار توسط mtg، خالی بگذارید.",
|
||
"visionTestseed": "Vision testseed",
|
||
"version": "نسخه",
|
||
"udpIdleTimeout": "UDP idle timeout (s)",
|
||
"masquerade": "استتار",
|
||
"type": "نوع",
|
||
"upstreamUrl": "آدرس Upstream",
|
||
"rewriteHost": "بازنویسی Host",
|
||
"skipTlsVerify": "رد تایید TLS",
|
||
"directory": "دایرکتوری",
|
||
"statusCode": "کد وضعیت",
|
||
"body": "Body",
|
||
"headers": "هدرها",
|
||
"proxyProtocol": "Proxy Protocol",
|
||
"requestVersion": "نسخه درخواست",
|
||
"requestMethod": "متد درخواست",
|
||
"requestPath": "مسیر درخواست",
|
||
"requestHeaders": "هدرهای درخواست",
|
||
"responseVersion": "نسخه پاسخ",
|
||
"responseStatus": "وضعیت پاسخ",
|
||
"responseReason": "دلیل پاسخ",
|
||
"responseHeaders": "هدرهای پاسخ",
|
||
"heartbeatPeriod": "دوره Heartbeat",
|
||
"serviceName": "نام سرویس",
|
||
"authority": "Authority",
|
||
"multiMode": "حالت چندگانه",
|
||
"maxBufferedUpload": "حداکثر آپلود بافرشده",
|
||
"maxUploadSize": "حداکثر اندازه آپلود (بایت)",
|
||
"streamUpServer": "سرور Stream-Up",
|
||
"serverMaxHeaderBytes": "حداکثر بایت هدر سرور",
|
||
"paddingBytes": "بایتهای Padding",
|
||
"uplinkHttpMethod": "متد HTTP آپلینک",
|
||
"paddingObfsMode": "حالت ابهام Padding",
|
||
"paddingKey": "کلید Padding",
|
||
"paddingHeader": "هدر Padding",
|
||
"paddingPlacement": "محل Padding",
|
||
"paddingMethod": "روش Padding",
|
||
"sessionPlacement": "محل نشست",
|
||
"sessionKey": "کلید نشست",
|
||
"sessionIDTable": "جدول شناسه نشست",
|
||
"sessionIDTableHint": "مجموعه نویسهها برای تولید شناسه نشست: یک نام از پیشتعریفشده (ALPHABET، Base62، hex، number، …) یا یک رشته ASCII. برای مقدار پیشفرض xray-core خالی بگذارید.",
|
||
"sessionIDLength": "طول شناسه نشست",
|
||
"sessionIDLengthHint": "طول یا بازه (مثلاً 8-16) شناسه نشست تولیدشده. فقط وقتی جدول شناسه نشست تنظیم شده باشد استفاده میشود؛ کمینه باید بزرگتر از 0 باشد.",
|
||
"sequencePlacement": "محل Sequence",
|
||
"sequenceKey": "Sequence Key",
|
||
"uplinkDataPlacement": "محل داده Uplink",
|
||
"uplinkDataKey": "کلید داده Uplink",
|
||
"noSseHeader": "بدون هدر SSE",
|
||
"ttiMs": "TTI (ms)",
|
||
"uplinkMbps": "آپلود (MB/s)",
|
||
"downlinkMbps": "دانلود (MB/s)",
|
||
"cwndMultiplier": "ضریب CWND",
|
||
"maxSendingWindow": "حداکثر پنجره ارسال",
|
||
"externalProxy": "پراکسی خارجی",
|
||
"forceTls": "اجبار TLS",
|
||
"fingerprint": "اثرانگشت",
|
||
"defaultOption": "پیشفرض",
|
||
"routeMark": "علامت مسیر",
|
||
"tcpKeepAliveInterval": "بازه TCP Keep Alive",
|
||
"tcpKeepAliveIdle": "TCP Keep Alive Idle",
|
||
"tcpMaxSeg": "TCP Max Seg",
|
||
"tcpUserTimeout": "TCP User Timeout",
|
||
"tcpWindowClamp": "TCP Window Clamp",
|
||
"tcpWindowClampHint": "برای استفاده از پیشفرض سیستمعامل، مقدار را 0 بگذارید. مقادیر غیرصفر پنجرهٔ دریافت TCP اعلامشده را محدود میکنند؛ مقادیری مانند 600 (از مثال مستندات Xray) میتوانند نرخ عبور را روی لینکهای با تأخیر بالا بهشدت کاهش دهند.",
|
||
"tcpFastOpen": "TCP Fast Open",
|
||
"multipathTcp": "Multipath TCP",
|
||
"penetrate": "Penetrate",
|
||
"v6Only": "فقط IPv6",
|
||
"tcpCongestion": "تراکم TCP",
|
||
"dialerProxy": "Dialer Proxy",
|
||
"trustedXForwardedFor": "X-Forwarded-For مورد اعتماد",
|
||
"trustedXForwardedForHint": "این هدر درخواست برای گرفتن IP واقعی کاربر مورد اعتماد قرار میگیرد (مثلاً CF-Connecting-IP پشت CDN کلودفلر). فقط روی ترنسپورتهای WebSocket، HTTPUpgrade، XHTTP و gRPC اعمال میشود. برای نادیدهگرفتن هدرها خالی بگذارید.",
|
||
"proxyProtocolHint": "پذیرش هدر PROXY protocol برای گرفتن IP واقعی کاربر از یک تونل/رله L4 بالادست (HAProxy، gost، nginx-stream، Xray dokodemo-door) یا Cloudflare Spectrum. بالادست باید PROXY protocol را ارسال کند. روی TCP، WebSocket، HTTPUpgrade و gRPC کار میکند؛ روی mKCP خیر.",
|
||
"realClientIp": "IP واقعی کاربر",
|
||
"realClientIpHint": "وقتی ترافیک از طریق CDN یا رله به این ورودی میرسد، بهجای ثبت آدرس واسط، IP واقعی کاربر گرفته میشود. یک پریست انتخاب کنید تا فیلدهای sockopt مربوطه پایین تکمیل شوند. این فیلدها هرگز در اشتراکها به کلاینتها ارسال نمیشوند.",
|
||
"realClientIpPresetOff": "خاموش / مستقیم",
|
||
"realClientIpPresetCloudflare": "Cloudflare CDN",
|
||
"realClientIpPresetProxyProtocol": "رله L4 / Spectrum (PROXY)",
|
||
"realClientIpTrustedHeaderTransportWarn": "Trusted X-Forwarded-For فقط روی WebSocket، HTTPUpgrade و XHTTP اعمال میشود. روی ترنسپورت فعلی این هدر نادیده گرفته میشود.",
|
||
"realClientIpProxyProtocolTransportWarn": "PROXY protocol روی این ترنسپورت (mKCP) پشتیبانی نمیشود. از TCP/RAW، WebSocket، HTTPUpgrade، gRPC یا XHTTP استفاده کنید.",
|
||
"addressPortStrategy": "استراتژی آدرس+پورت",
|
||
"tryDelayMs": "تأخیر تلاش (ms)",
|
||
"prioritizeIPv6": "اولویت IPv6",
|
||
"interleave": "Interleave",
|
||
"maxConcurrentTry": "حداکثر تلاش همزمان",
|
||
"customSockopt": "Sockopt دلخواه",
|
||
"addCustomOption": "افزودن گزینه دلخواه",
|
||
"serverNameIndication": "SNI",
|
||
"cipherSuites": "مجموعههای رمز",
|
||
"autoOption": "خودکار",
|
||
"minMaxVersion": "نسخه حداقل/حداکثر",
|
||
"rejectUnknownSni": "رد SNI ناشناخته",
|
||
"disableSystemRoot": "غیرفعالسازی System Root",
|
||
"sessionResumption": "ازسرگیری نشست",
|
||
"oneTimeLoading": "بارگذاری یکبار",
|
||
"usageOption": "گزینه استفاده",
|
||
"buildChain": "ساخت زنجیره",
|
||
"echKey": "کلید ECH",
|
||
"echConfig": "پیکربندی ECH",
|
||
"echSockopt": "Sockopt مربوط به ECH",
|
||
"echSockoptTip": "تنظیمات سوکت برای اتصالی که Xray برای دریافت لیست پیکربندی ECH استفاده میکند (مثلاً عبور این درخواست از یک dialerProxy). برای استفاده از پیشفرض غیرفعال بگذارید.",
|
||
"curvePreferences": "ترجیح منحنیها",
|
||
"curvePreferencesTip": "منحنیهای تبادل کلید TLS که سرور ارائه میدهد را بهترتیب اولویت محدود میکند (مثلاً X25519MLKEM768، X25519). خالی بگذارید تا پیشفرض Xray استفاده شود.",
|
||
"masterKeyLog": "لاگ کلید اصلی",
|
||
"masterKeyLogTip": "مسیر نوشتن کلیدهای اصلی TLS (قالب SSLKEYLOGFILE) برای دیباگ با Wireshark. در محیط عملیاتی خالی بگذارید — هرکس به این فایل دسترسی داشته باشد میتواند ترافیک را رمزگشایی کند.",
|
||
"pinFromCert": "پرکردن از گواهی همین ورودی",
|
||
"pinFromRemote": "گرفتن هش با پینگکردن SNI (xray tls ping)",
|
||
"pinFromRemoteNoSni": "ابتدا SNI (serverName) را تنظیم کنید تا گواهی راهدور پینگ شود.",
|
||
"pinFromRemoteFailed": "گرفتن هشِ گواهی راهدور ممکن نشد.",
|
||
"verifyPeerCertByName": "تأیید گواهی همتا با نام",
|
||
"verifyPeerCertByNameTip": "به کلاینتها میگوید گواهی سرور را بهجای SNI با این نام تأیید کنند. نامها با کاما جدا شوند. فقط در پنل — در لینکهای اشتراکگذاری گنجانده میشود (vcn). جایگزین مدرن allowInsecure که xray بعد از ۲۰۲۶-۰۶-۰۱ حذفش کرد.",
|
||
"pinnedPeerCertSha256": "SHA-256 پینشدهٔ گواهی همتا",
|
||
"pinnedPeerCertSha256Tip": "هشهای SHA-256 گواهی همتا بهصورت رشتهٔ هگزادسیمال (مثل e8e2d3…)، با کاما جدا شوند. فقط در پنل — در پیکربندی xray سرور نوشته نمیشود، اما در لینکهای اشتراکگذاری گنجانده میشود تا کلاینتها بتوانند گواهی را پین کنند.",
|
||
"pinnedPeerCertSha256Placeholder": "هش(های) هگزادسیمال، با کاما جدا شوند",
|
||
"getNewEchCert": "دریافت گواهی ECH جدید",
|
||
"show": "نمایش",
|
||
"xver": "Xver",
|
||
"target": "هدف",
|
||
"maxTimeDiff": "حداکثر اختلاف زمان (ms)",
|
||
"minClientVer": "حداقل نسخه کلاینت",
|
||
"maxClientVer": "حداکثر نسخه کلاینت",
|
||
"minClientVerHint": "خالی بودن به معنای بدون محدودیت نیست: در این حالت Xray-core حداقل داخلیِ نسخهٔ هستهای را که اجرا میکنید (در نسخههای فعلی 26.3.27) اعمال میکند و کلاینتهایی را که نسخهٔ قدیمیتری اعلام میکنند رد میکند — از جمله هستههای شخص ثالث مانند Mihomo و sing-box. مقدار 1.0.0 آنها را میپذیرد، به بهای پذیرش اثر انگشتهای TLS قدیمی.",
|
||
"maxClientVerHint": "خالی یعنی بدون سقف. در صورت تنظیم، نباید از حداقلِ مؤثر — حداقل نسخه کلاینت، و در صورت خالی بودن آن فیلد، حداقل داخلی Xray-core — کمتر باشد، وگرنه همهٔ کلاینتها رد میشوند.",
|
||
"clientVerInvalid": "نسخهٔ کلاینت باید حداکثر سه عدد جداشده با نقطه باشد، هر یک 0-255 (مثلاً 26.3.27)",
|
||
"maxClientVerBelowMin": "حداکثر نسخهٔ کلاینت نباید از حداقل نسخهٔ کلاینت کمتر باشد",
|
||
"shortIds": "Short IDها",
|
||
"realityTargetHint": "الزامی است. باید شامل پورت باشد (مثلاً example.com:443). بدون پورت، Xray-core اجرا نمیشود.",
|
||
"realityTargetRequired": "هدف REALITY الزامی است",
|
||
"realityTargetNeedsPort": "هدف REALITY باید شامل پورت باشد (مثلاً example.com:443)",
|
||
"realityTargetInvalidPort": "پورت هدف REALITY نامعتبر است",
|
||
"scan": "اسکن",
|
||
"findTargets": "یافتن هدفها",
|
||
"scanModalTitle": "اسکنر هدف REALITY",
|
||
"scanModalDesc": "یک دامنه را اعتبارسنجی کنید، یا یک محدودهی IP/CIDR را اسکن کنید تا هدفهای جدید REALITY از روی گواهیهایشان کشف شوند. برای بررسی کاندیدهای پیشفرض، کادر را خالی بگذارید.",
|
||
"scanDiscoverPlaceholder": "آیپی، CIDR یا دامنه — برای کاندیدهای پیشفرض خالی بگذارید",
|
||
"scanStatus": "وضعیت",
|
||
"scanFeasible": "مناسب",
|
||
"scanNotFeasible": "نامناسب",
|
||
"scanCurve": "تبادل کلید",
|
||
"scanCert": "گواهی",
|
||
"scanCertInvalid": "نامعتبر",
|
||
"scanCertExpiry": "انقضای گواهی",
|
||
"scanSniUsed": "SNI استفادهشده",
|
||
"scanPrivateNote": "بررسی از طریق شبکهٔ خصوصی/محلی انجام شد — این نشانی از اینترنت قابل دسترسی نیست.",
|
||
"scanPrivateConfirmTitle": "هدف در شبکهٔ محلی",
|
||
"scanPrivateConfirmContent": "«{target}» به یک نشانی خصوصی یا loopback اشاره میکند. بررسی تنها برای همین کاوش، محافظت SSRF پنل را نادیده میگیرد. ادامه میدهید؟",
|
||
"scanLatency": "تأخیر",
|
||
"scanUse": "استفاده",
|
||
"scanRescan": "اسکن مجدد",
|
||
"spiderX": "SpiderX",
|
||
"spiderXHint": "دانهی هر کاربر — پنل از روی آن مسیر spx یکتا برای هر کاربر میسازد؛ برای چرخش مسیر همه، دوباره تولید کنید",
|
||
"getNewCert": "دریافت گواهی جدید",
|
||
"mldsa65Seed": "mldsa65 Seed",
|
||
"mldsa65Verify": "mldsa65 Verify",
|
||
"getNewSeed": "دریافت Seed جدید",
|
||
"limitFallback": "محدودیت فالبک",
|
||
"limitFallbackUpload": "محدودیت فالبک آپلود",
|
||
"limitFallbackDownload": "محدودیت فالبک دانلود",
|
||
"afterBytes": "پس از (بایت)",
|
||
"afterBytesTip": "اجازه بده فالبک برای این تعداد بایت با سرعت کامل اجرا شود، سپس محدودسازی شروع شود. مقدار ۰ یعنی از همان بایت اول محدود شود.",
|
||
"bytesPerSec": "بایت بر ثانیه",
|
||
"bytesPerSecTip": "سقف سرعت (بایت بر ثانیه) که بعد از آستانه روی ترافیک فالبک اعمال میشود تا پروبها نتوانند سرورت را بهعنوان پهنایباند رایگان به مقصد استفاده کنند. مقدار ۰ یعنی بدون محدودیت (این جهت غیرفعال میشود).",
|
||
"burstBytesPerSec": "بایت انفجاری بر ثانیه",
|
||
"burstBytesPerSecTip": "سهمیه برای انفجارهای کوتاه بالاتر از نرخ ثابت (اندازهٔ token-bucket). اگر کمتر از «بایت بر ثانیه» باشد، به همان مقدار افزایش مییابد.",
|
||
"listenHelp": "میتوانید بهجای پورت TCP یک مسیر سوکت یونیکس وارد کنید (مثلاً /run/xray/in.sock)، یا یک نام سوکت انتزاعی با پیشوند @ (مثلاً @xray/in.sock)، تا روی سوکت گوش داده شود — در این حالت پورت را روی ۰ بگذارید.",
|
||
"shareAddrStrategy": "راهبرد آدرس اشتراکگذاری",
|
||
"shareAddrStrategyHelp": "مشخص میکند کدام آدرس در لینکهای اشتراکگذاری خروجی، کدهای QR و خروجی اشتراک نوشته شود.",
|
||
"shareAddr": "آدرس اشتراکگذاری سفارشی",
|
||
"shareAddrHelp": "فقط زمانی استفاده میشود که راهبرد آدرس اشتراکگذاری روی سفارشی باشد. میزبان یا IP را بدون طرح و پورت وارد کنید.",
|
||
"subSortIndex": "ترتیب در اشتراک",
|
||
"subSortIndexHelp": "جایگاه لینکهای این ورودی در خروجی اشتراک (صفحه اشتراک و برنامههای کلاینت). مقدار کمتر اول میآید و مقدارهای برابر ترتیب ایجاد را حفظ میکنند. روی فهرست ورودیهای پنل تأثیری ندارد.",
|
||
"disableFlow": "غیرفعالکردن جریان XTLS",
|
||
"disableFlowHelp": "این inbound را از تزریق خودکار xtls-rprx-vision کنار بگذارید، حتی وقتی ترنسپورت آن از flow پشتیبانی میکند (مثلاً یک inbound از نوع XHTTP تونلشده با رمزنگاری VLESS). کلاینتها Vision را روی سایر inboundهای سازگار در همان اشتراک حفظ میکنند. فقط برای VLESS.",
|
||
"shareAddrStrategyOptions": {
|
||
"node": "آدرس نود",
|
||
"listen": "آدرس شنود ورودی",
|
||
"custom": "سفارشی"
|
||
}
|
||
},
|
||
"info": {
|
||
"mode": "حالت",
|
||
"grpcServiceName": "grpc serviceName",
|
||
"grpcMultiMode": "grpc multiMode",
|
||
"interfaceName": "نام رابط",
|
||
"mtu": "MTU",
|
||
"gateway": "Gateway",
|
||
"dns": "DNS",
|
||
"outboundsInterface": "رابط خروجی",
|
||
"autoSystemRoutes": "مسیریابی خودکار سیستم",
|
||
"followRedirect": "FollowRedirect",
|
||
"auth": "احراز",
|
||
"noKernelTun": "TUN غیرکرنل",
|
||
"keepAlive": "Keep alive",
|
||
"peerNumber": "Peer {n}",
|
||
"peerNumberConfig": "پیکربندی Peer {n}"
|
||
},
|
||
"sniffingDestOverride": "بازنویسی مقصد"
|
||
},
|
||
"clients": {
|
||
"tabBasics": "پایه",
|
||
"tabCredentials": "اطلاعات اتصال",
|
||
"tabLinks": "لینکها",
|
||
"wireguardConfig": "پیکربندی WireGuard",
|
||
"config": "پیکربندی",
|
||
"linksHint": "لینکهای اشتراک شخصثالث و آدرس سابسکریپشنهای خارجی را اضافه کنید تا در سابسکریپشن این کاربر قرار گیرند.",
|
||
"addExternalLink": "افزودن لینک خارجی",
|
||
"addExternalSubscription": "افزودن سابسکریپشن خارجی",
|
||
"noExternalLinks": "هنوز لینک خارجیای اضافه نشده.",
|
||
"noExternalSubscriptions": "هنوز سابسکریپشن خارجیای اضافه نشده.",
|
||
"namePrefix": "پیشوند نام",
|
||
"lastFetchAt": "آخرین دریافت",
|
||
"lastFetchError": "خطای دریافت",
|
||
"neverFetched": "هنوز دریافت نشده",
|
||
"submitEdit": "ذخیره تغییرات",
|
||
"clientCount": "تعداد کلاینتها",
|
||
"bulk": "افزودن گروهی",
|
||
"selectAll": "انتخاب همه",
|
||
"clearAll": "پاک کردن همه",
|
||
"method": "روش",
|
||
"first": "اول",
|
||
"last": "آخر",
|
||
"ipLog": "گزارش IP",
|
||
"prefix": "پیشوند",
|
||
"postfix": "پسوند",
|
||
"delayedStart": "شروع پس از اولین استفاده",
|
||
"expireDays": "مدت اعتبار (روز)",
|
||
"renew": "تمدید خودکار",
|
||
"renewDesc": "تمدید خودکار پس از انقضا. (۰ = غیرفعال) (واحد: روز)",
|
||
"renewDays": "تمدید خودکار (روز)",
|
||
"searchPlaceholder": "جستجوی ایمیل، توضیح، Sub ID، UUID، رمز، احراز، Telegram ID...",
|
||
"filterTitle": "فیلتر کاربران",
|
||
"clearAllFilters": "پاک کردن همه",
|
||
"filters": {
|
||
"nodes": "نودها",
|
||
"localPanel": "محلی (همین پنل)"
|
||
},
|
||
"showingCount": "نمایش {shown} از {total}",
|
||
"sortOldest": "قدیمیترین",
|
||
"sortNewest": "جدیدترین",
|
||
"sortRecentlyUpdated": "اخیراً بهروزشده",
|
||
"sortRecentlyOnline": "اخیراً آنلاین",
|
||
"sortEmailAZ": "ایمیل ا→ی",
|
||
"sortEmailZA": "ایمیل ی→ا",
|
||
"sortMostTraffic": "بیشترین ترافیک",
|
||
"sortHighestRemaining": "بیشترین باقیمانده",
|
||
"sortExpiringSoonest": "نزدیکترین انقضا",
|
||
"has": "دارد",
|
||
"hasNot": "ندارد",
|
||
"actions": "عملیات",
|
||
"totalGB": "سقف حجم (گیگابایت)",
|
||
"totalGBDesc": "سهمیهی حجم مصرفی کلاینت. ۰ = نامحدود",
|
||
"expiryTime": "انقضا",
|
||
"addClients": "افزودن کلاینتها",
|
||
"limitIp": "محدودیت IP",
|
||
"limitIpDesc": "حداکثر تعداد IP همزمان. ۰ = نامحدود",
|
||
"limitHwid": "محدودیت HWID",
|
||
"limitHwidDesc": "حداکثر دستگاه ثبتشده برای درخواستهای اشتراک. ۰ = نامحدود",
|
||
"hwidLog": "دستگاههای HWID",
|
||
"hwidDevice": "دستگاه ثبتشده",
|
||
"noHwids": "هنوز دستگاه HWID ثبت نشده است",
|
||
"firstSeen": "اولین مشاهده",
|
||
"lastSeen": "آخرین مشاهده",
|
||
"deleteHwid": "حذف دستگاه",
|
||
"deleteHwidConfirm": "این دستگاه حذف شود؟ در دریافت بعدی اشتراک باید دوباره ثبتنام شود.",
|
||
"hwidDeleted": "دستگاه حذف شد.",
|
||
"clearHwidsConfirm": "همه دستگاههای ثبتشده حذف شوند؟ هر دستگاه در دریافت بعدی اشتراک باید دوباره ثبتنام شود.",
|
||
"limitIpFail2banMissing": "Fail2ban نصب نشده است، بنابراین محدودیت IP اعمال نمیشود. برای فعالسازی این گزینه، Fail2ban را از منوی بش x-ui نصب کنید.",
|
||
"limitIpFail2banWindows": "Fail2ban روی ویندوز در دسترس نیست، بنابراین محدودیت IP قابل اعمال نیست.",
|
||
"limitIpDisabled": "قابلیت محدودیت IP روی این سرور غیرفعال است.",
|
||
"password": "رمز عبور",
|
||
"passwordDesc": "فقط توسط کلاینتهای Trojan و Shadowsocks استفاده میشود؛ برای VLESS، VMess، Hysteria و WireGuard نادیده گرفته میشود.",
|
||
"subId": "شناسه اشتراک",
|
||
"online": "آنلاین",
|
||
"email": "ایمیل",
|
||
"emailInvalidChars": "ایمیل نمیتواند شامل فاصله، '/'، '\\' یا کاراکترهای کنترلی باشد",
|
||
"subIdInvalidChars": "شناسهی اشتراک نمیتواند شامل فاصله، '/'، '\\' یا کاراکترهای کنترلی باشد",
|
||
"group": "گروه",
|
||
"groupDesc": "برچسبی منطقی برای دستهبندی کاربران مرتبط (مثل تیم، مشتری، منطقه). از نوار ابزار قابل فیلتر است.",
|
||
"groupPlaceholder": "مثلاً customer-a",
|
||
"comment": "توضیحات",
|
||
"traffic": "ترافیک",
|
||
"speed": "سرعت",
|
||
"offline": "آفلاین",
|
||
"addClient": "افزودن کلاینت",
|
||
"qrCode": "کد QR",
|
||
"clientInfo": "اطلاعات کلاینت",
|
||
"editClient": "ویرایش کلاینت",
|
||
"client": "کلاینت",
|
||
"enabled": "فعال",
|
||
"remaining": "باقیمانده",
|
||
"duration": "مدت",
|
||
"attachedInbounds": "اینباندهای متصل",
|
||
"selectInbound": "یک یا چند اینباند انتخاب کنید",
|
||
"selectAllInbounds": "انتخاب همه",
|
||
"clearAllInbounds": "پاک کردن همه",
|
||
"noSubId": "این کلاینت subId ندارد، لینک اشتراکگذاری وجود ندارد.",
|
||
"noLinks": "لینکی برای اشتراکگذاری نیست — ابتدا این کلاینت را به یک اینباند با پروتکل سازگار متصل کنید.",
|
||
"link": "لینک",
|
||
"resetNotPossible": "ابتدا این کلاینت را به یک اینباند متصل کنید.",
|
||
"resetAllTraffics": "بازنشانی ترافیک همه کلاینتها",
|
||
"resetAllTrafficsTitle": "بازنشانی ترافیک همه کلاینتها؟",
|
||
"resetAllTrafficsContent": "شمارنده ارسال/دریافت همه کلاینتها به صفر میرسد. سهمیه و تاریخ انقضا تغییری نمیکند. این عمل غیرقابل بازگشت است.",
|
||
"deleteConfirmTitle": "حذف کلاینت {email}؟",
|
||
"deleteConfirmContent": "این کلاینت از تمام اینباندهای متصل حذف و سابقه ترافیک آن پاک میشود. این عمل غیرقابل بازگشت است.",
|
||
"attach": "الصاق",
|
||
"adjust": "تنظیم",
|
||
"subLinks": "لینکهای اشتراک",
|
||
"enable": "فعالسازی",
|
||
"disable": "غیرفعالسازی",
|
||
"bulkEnableConfirmTitle": "{count} کلاینت فعال شوند؟",
|
||
"bulkEnableConfirmContent": "هر کلاینت انتخابشده روی تمام اینباندهای متصل فعال میشود. کلاینتهایی که سهمیه آنها تمام شده یا تاریخ انقضایشان گذشته، بهطور خودکار دوباره غیرفعال میشوند.",
|
||
"bulkDisableConfirmTitle": "{count} کلاینت غیرفعال شوند؟",
|
||
"bulkDisableConfirmContent": "هر کلاینت انتخابشده روی تمام اینباندهای متصل غیرفعال میشود. دسترسی آنها بلافاصله قطع میشود اما رکورد و ترافیکشان حفظ میگردد.",
|
||
"selectedCount": "{count} انتخابشده",
|
||
"attachToInboundsTitle": "الصاق {count} کاربر به ورودی(ها)",
|
||
"attachToInboundsDesc": "{count} کاربر انتخابشده (همان UUID/رمز و ترافیک مشترک) را به ورودیهای انتخابی الصاق میکند. الصاقهای قبلی حفظ میشوند.",
|
||
"attachToInboundsTargets": "ورودیهای مقصد",
|
||
"attachToInboundsNoTargets": "هیچ ورودی چندکاربرهای برای الصاق در دسترس نیست.",
|
||
"detach": "جداسازی",
|
||
"detachFromInboundsTitle": "جداسازی {count} کاربر از ورودی(ها)",
|
||
"detachFromInboundsDesc": "{count} کاربر انتخابشده را از ورودیهای انتخابی حذف میکند. در مواردی که کاربر الصاق نبوده، نادیده گرفته میشود. رکورد کاربر حفظ میشود (برای حذف کامل از Delete استفاده کنید).",
|
||
"detachFromInboundsTargets": "ورودیهایی برای جداسازی",
|
||
"detachFromInboundsNoTargets": "هیچ ورودی چندکاربرهای در دسترس نیست.",
|
||
"detachFromInboundsResult": "جدا شد {detached}، نادیده گرفته شد {skipped}.",
|
||
"detachFromInboundsResultMixed": "جدا شد {detached}، نادیده {skipped}، خطا {errors}.",
|
||
"subLinksTitle": "لینکهای اشتراک ({count})",
|
||
"subLinkColumn": "آدرس اشتراک",
|
||
"subJsonLinkColumn": "آدرس JSON اشتراک",
|
||
"subLinksCopyAll": "کپی همه",
|
||
"subLinksCopiedAll": "{count} لینک کپی شد",
|
||
"subLinksEmpty": "هیچکدام از کاربران انتخابی شناسه اشتراک ندارند.",
|
||
"subLinksDisabled": "سرویس اشتراک غیرفعال است.",
|
||
"subLinksDisabledHint": "برای ساخت لینک، اشتراک را در تنظیمات پنل ← اشتراک فعال کنید.",
|
||
"bulkDeleteConfirmTitle": "حذف {count} کلاینت؟",
|
||
"bulkDeleteConfirmContent": "هر کلاینت انتخابشده از تمام اینباندهای متصل حذف و سابقه ترافیک آن پاک میشود. این عمل غیرقابل بازگشت است.",
|
||
"bulkAdjustTitle": "تنظیم {count} کلاینت",
|
||
"bulkAdjustHint": "مقادیر مثبت اضافه و منفی کم میکنند. کلاینتهایی که زمان یا ترافیک نامحدود دارند برای همان فیلد رد میشوند.",
|
||
"bulkAdjustNothing": "قبل از اعمال، روز یا ترافیک را تنظیم کنید.",
|
||
"addDays": "افزودن روز",
|
||
"addTrafficGB": "افزودن ترافیک (گیگابایت)",
|
||
"bulkFlow": "تنظیم flow",
|
||
"bulkFlowNoChange": "بدون تغییر",
|
||
"bulkFlowDisable": "غیرفعال (پاک کردن flow)",
|
||
"delDepleted": "حذف اتمامیافتهها",
|
||
"delDepletedConfirmTitle": "حذف کلاینتهای اتمامیافته؟",
|
||
"delDepletedConfirmContent": "هر کلاینتی که سهمیه ترافیکاش تمام شده یا تاریخ انقضایش گذشته است حذف میشود. این عمل غیرقابل بازگشت است.",
|
||
"exportClients": "خروجی گرفتن از کلاینتها",
|
||
"importClients": "ورود کلاینتها",
|
||
"import": "ورود",
|
||
"delOrphans": "حذف کلاینتهای بدون اینباند",
|
||
"delOrphansConfirmTitle": "حذف کلاینتهای بدون اینباند؟",
|
||
"delOrphansConfirmContent": "هر کلاینتی که به هیچ اینباندی متصل نیست، همراه با رکورد ترافیکاش حذف میشود. این عمل غیرقابل بازگشت است.",
|
||
"auth": "احراز",
|
||
"hysteriaAuth": "احراز Hysteria",
|
||
"hysteriaAuthDesc": "اعتباری که فقط کلاینتهای Hysteria از آن استفاده میکنند. Trojan و Shadowsocks بهجای آن از فیلد «رمز عبور» استفاده میکنند.",
|
||
"uuid": "UUID",
|
||
"flow": "Flow",
|
||
"vmessSecurity": "امنیت VMess",
|
||
"wireguardPrivateKey": "کلید خصوصی وایرگارد",
|
||
"wireguardPublicKey": "کلید عمومی وایرگارد",
|
||
"wireguardPreSharedKey": "کلید پیشاشتراکی وایرگارد",
|
||
"wireguardAllowedIPs": "آیپیهای مجاز وایرگارد",
|
||
"wireguardAllowedIPsHint": "برای تخصیص خودکار خالی بگذارید؛ ورودیها را با کاما جدا کنید",
|
||
"amneziaWgPrivateKey": "کلید خصوصی AmneziaWG",
|
||
"amneziaWgPublicKey": "کلید عمومی AmneziaWG",
|
||
"amneziaWgPreSharedKey": "کلید پیشاشتراکی AmneziaWG",
|
||
"amneziaWgAllowedIPs": "آیپیهای مجاز AmneziaWG",
|
||
"amneziaWgAllowedIPsHint": "برای تخصیص خودکار خالی بگذارید؛ ورودیها را با کاما جدا کنید",
|
||
"amneziaWgForwardedPorts": "پورتهای هدایتشده",
|
||
"amneziaWgForwardedPortsHint": "پورتها/محدودههای DNAT شده به این کلاینت، مثلاً 80, 443, 8000-8100. برای غیرفعال بودن خالی بگذارید.",
|
||
"amneziaWgConfig": "پیکربندی AmneziaWG",
|
||
"mtprotoSecret": "سکرت MTProto",
|
||
"mtprotoSecretHint": "سکرت FakeTLS این کلاینت. برای تعویض، دوباره تولید کنید.",
|
||
"mtprotoAdTag": "برچسب تبلیغاتی (کانال حامی)",
|
||
"mtprotoAdTagHint": "برچسب هگزادسیمال اختیاری ۳۲ کاراکتری که هنگام ثبت پروکسی در تلگرام دریافت میشود. با تنظیم آن، این کلاینت از طریق پروکسیهای میانی تلگرام هدایت میشود و یک کانال حامی در بالای فهرست گفتگوهایش نمایش داده میشود.",
|
||
"reverseTag": "تگ معکوس",
|
||
"reverseTagPlaceholder": "Reverse tag اختیاری",
|
||
"telegramId": "شناسه کاربر تلگرام",
|
||
"telegramIdPlaceholder": "شناسه عددی کاربر تلگرام (۰ = هیچ)",
|
||
"ipLimit": "محدودیت IP",
|
||
"toasts": {
|
||
"deleted": "کلاینت حذف شد",
|
||
"trafficReset": "ترافیک بازنشانی شد",
|
||
"allTrafficsReset": "ترافیک همه کلاینتها بازنشانی شد",
|
||
"bulkDeleted": "{count} کلاینت حذف شد",
|
||
"bulkDeletedMixed": "{ok} حذف، {failed} ناموفق",
|
||
"bulkEnabled": "{count} کلاینت فعال شد",
|
||
"bulkEnabledMixed": "{ok} فعال، {failed} ناموفق",
|
||
"bulkDisabled": "{count} کلاینت غیرفعال شد",
|
||
"bulkDisabledMixed": "{ok} غیرفعال، {failed} ناموفق",
|
||
"bulkCreated": "{count} کلاینت ساخته شد",
|
||
"bulkCreatedMixed": "{ok} ساخته شد، {failed} ناموفق",
|
||
"bulkAdjusted": "{count} کلاینت تنظیم شد",
|
||
"bulkAdjustedMixed": "{ok} تنظیم، {skipped} رد شد",
|
||
"delDepleted": "{count} کلاینت اتمامیافته حذف شد",
|
||
"delOrphans": "{count} کلاینت بدون اینباند حذف شد",
|
||
"imported": "{count} کلاینت وارد شد",
|
||
"importedMixed": "{ok} وارد شد، {failed} رد شد"
|
||
},
|
||
"renewMax": "حداکثر تعداد تمدید",
|
||
"renewMaxDesc": "تمدید خودکار حداکثر چند بار اجرا شود پیش از آنکه کلاینت منقضی بماند. مقدار ۰ یعنی بدون محدودیت. جبران چند دورهٔ ازدسترفته، برای هر دوره یک تمدید مصرف میکند.",
|
||
"renewOnDay": "روز تمدید",
|
||
"renewOnDayDesc": "در این روز از هر ماه تقویمی، در نیمهشب به وقت پنل تمدید میشود، به جای هر N روز. اگر ماه کوتاهتر از روز انتخابی باشد، در آخرین روز آن ماه تمدید میشود. مقدار ۰ حالت بازهٔ روزانه را حفظ میکند.",
|
||
"renewsUsed": "تمدیدهای استفادهشده"
|
||
},
|
||
"nodes": {
|
||
"addNode": "افزودن نود",
|
||
"editNode": "ویرایش نود",
|
||
"totalNodes": "کل نودها",
|
||
"onlineNodes": "آنلاین",
|
||
"offlineNodes": "آفلاین",
|
||
"avgLatency": "میانگین تاخیر",
|
||
"name": "نام",
|
||
"namePlaceholder": "مثلاً de-frankfurt-1",
|
||
"addressPlaceholder": "panel.example.com یا 1.2.3.4",
|
||
"remark": "توضیحات",
|
||
"scheme": "پروتکل",
|
||
"address": "آدرس",
|
||
"port": "پورت",
|
||
"basePath": "مسیر پایه",
|
||
"apiToken": "توکن API",
|
||
"apiTokenPlaceholder": "توکن از صفحه تنظیمات پنل ریموت",
|
||
"apiTokenHint": "پنل ریموت توکن API خودش را در بخش احرازهویت → توکن API نمایش میدهد.",
|
||
"apiTokenKeepHint": "برای حفظ توکن فعلی خالی بگذارید",
|
||
"allowPrivateAddress": "اجازه آدرس خصوصی",
|
||
"allowPrivateAddressHint": "فقط برای نودهای روی شبکه خصوصی یا VPN فعال شود.",
|
||
"outboundTag": "خروجی اتصال",
|
||
"outboundTagHint": "ترافیک API پنل این نود را از طریق خروجی Xray انتخابشده مسیریابی کنید. یک inbound پل loopback بهصورت خودکار به پیکربندی در حال اجرا اضافه شده و بهصورت زنده اعمال میشود. برای اتصال مستقیم خالی بگذارید.",
|
||
"outboundTagPlaceholder": "اتصال مستقیم",
|
||
"inboundSyncMode": "وارد کردن اینباندها",
|
||
"inboundSyncModeHint": "اینباندهای قابل وارد کردن از این نود را انتخاب کنید. نودهای موجود بهطور پیشفرض همه را وارد میکنند.",
|
||
"allInbounds": "همه اینباندها",
|
||
"selectedInbounds": "اینباندهای انتخابشده",
|
||
"inboundTags": "اینباندها",
|
||
"inboundTagsHint": "انتخاب بر اساس تگ اینباند تطبیق داده میشود. انتخاب خالی چیزی وارد نمیکند.",
|
||
"inboundTagsPlaceholder": "اینباندها را بارگیری و انتخاب کنید",
|
||
"loadInbounds": "بارگیری اینباندها از نود",
|
||
"inboundsLoaded": "{{count}} اینباند بارگیری شد",
|
||
"inboundsLoadFailed": "بارگیری اینباندها ناموفق بود",
|
||
"enable": "فعال",
|
||
"status": "وضعیت",
|
||
"cpu": "CPU",
|
||
"mem": "حافظه",
|
||
"netUp": "آپلود شبکه (KB/s)",
|
||
"netDown": "دانلود شبکه (KB/s)",
|
||
"uptime": "مدت فعالیت",
|
||
"latency": "تاخیر",
|
||
"lastHeartbeat": "آخرین ضربان",
|
||
"xrayVersion": "نسخه Xray",
|
||
"panelVersion": "نسخه پنل",
|
||
"actions": "عملیات",
|
||
"probe": "بررسی فوری",
|
||
"updatePanel": "بهروزرسانی پنل",
|
||
"updateSelected": "بهروزرسانی انتخابشدهها ({count})",
|
||
"updateAvailable": "بهروزرسانی موجود",
|
||
"updateConfirmTitle": "{count} نود به آخرین نسخه بهروزرسانی شوند؟",
|
||
"updateConfirmContent": "هر نود انتخابشده آخرین نسخه را دانلود و روی آن ریاستارت میشود. فقط نودهای فعال و آنلاین بهروزرسانی میشوند.",
|
||
"updateDevChannel": "بهروزرسانی به کانال دِو (آخرین کامیت)",
|
||
"testConnection": "تست اتصال",
|
||
"connectionOk": "اتصال موفق ({ms} میلیثانیه)",
|
||
"connectionFailed": "اتصال ناموفق",
|
||
"never": "هرگز",
|
||
"justNow": "هماکنون",
|
||
"subNode": "نود فرعی",
|
||
"subNodeTip": "فقطخواندنی: یک نود پاییندستی که از طریق {parent} در دسترس است. آن را از پنل خودِ {parent} مدیریت کنید.",
|
||
"deleteConfirmTitle": "نود «{name}» حذف شود؟",
|
||
"deleteConfirmContent": "نظارت روی این نود متوقف میشود. خود پنل ریموت تغییری نمیکند.",
|
||
"statusValues": {
|
||
"online": "آنلاین",
|
||
"offline": "آفلاین",
|
||
"unknown": "نامشخص",
|
||
"xrayError": "خطای Xray",
|
||
"xrayStopped": "متوقف"
|
||
},
|
||
"toasts": {
|
||
"list": "بارگذاری نودها ناموفق",
|
||
"obtain": "بارگذاری نود ناموفق",
|
||
"add": "افزودن نود",
|
||
"update": "بهروزرسانی نود",
|
||
"delete": "حذف نود",
|
||
"deleted": "نود حذف شد",
|
||
"test": "تست اتصال",
|
||
"fillRequired": "نام، آدرس، پورت و توکن API الزامی است",
|
||
"probeFailed": "بررسی ناموفق",
|
||
"updateStarted": "بهروزرسانی پنل آغاز شد",
|
||
"updateResult": "بهروزرسانی روی {ok} نود آغاز شد، {failed} ناموفق",
|
||
"updateNoneEligible": "حداقل یک نود آنلاین و فعال انتخاب کنید",
|
||
"saveMtls": "ذخیره mTLS نود",
|
||
"reloadMtls": "Reload master mTLS credential"
|
||
},
|
||
"tlsVerifyMode": "اعتبارسنجی TLS",
|
||
"tlsVerifyModeHint": "اینکه پنل گواهی HTTPS نود را چطور بررسی کند. Pin یا Skip برای گواهیهای self-signed است (فقط نودهای https).",
|
||
"tlsVerify": "اعتبارسنجی (CA پیشفرض)",
|
||
"tlsPin": "Pin گواهی (SHA-256)",
|
||
"tlsSkip": "رد کردن اعتبارسنجی",
|
||
"tlsMtls": "TLS متقابل (گواهی کلاینت)",
|
||
"mtlsFormHint": "این نود با یک گواهی کلاینت، پنل را احراز هویت میکند. CA این پنل را از بخش mTLS نود به نود کپی کنید، CA مورد اعتماد آن را تنظیم کنید و سپس آن را راهاندازی مجدد کنید.",
|
||
"mtls": {
|
||
"title": "mTLS نود",
|
||
"intro": "TLS متقابل علاوه بر توکن API، یک عامل گواهی کلاینت برای ارتباط بین نودها اضافه میکند. اختیاری است: برای استفاده فقط از احراز هویت با توکن، آن را خالی بگذارید.",
|
||
"copyCa": "کپی CA این پنل",
|
||
"copyCaHint": "این CA را به نودهایی که این پنل مدیریت میکند بدهید، سپس حالت اعتبارسنجی TLS آنها را روی TLS متقابل تنظیم کنید.",
|
||
"caCopied": "گواهی CA در کلیپبورد کپی شد",
|
||
"caFailed": "دریافت گواهی CA ناموفق بود",
|
||
"trustLabel": "CA مورد اعتماد (پنل والد)",
|
||
"trustHint": "وقتی این پنل خود یک نود است، CA پنل مدیریتکننده را اینجا بچسبانید تا گواهی کلاینت آن الزامی شود. برای اعمال، پنل را راهاندازی مجدد کنید.",
|
||
"trustPlaceholder": "-----BEGIN CERTIFICATE-----",
|
||
"save": "ذخیره CA مورد اعتماد",
|
||
"saved": "CA مورد اعتماد ذخیره شد — برای اعمال، پنل را راهاندازی مجدد کنید"
|
||
},
|
||
"tlsSkipWarning": "رد کردن اعتبارسنجی محافظت در برابر حملهٔ مرد میانی را از بین میبرد و توکن API ممکن است شنود شود. ترجیحاً بهجای آن گواهی را Pin کنید.",
|
||
"pinnedCert": "SHA-256 گواهیِ Pinشده",
|
||
"pinnedCertHint": "SHA-256 گواهیِ نود بهصورت base64 یا hex. برای خواندنِ همین حالا از نود، از دکمهٔ Fetch استفاده کنید.",
|
||
"pinnedCertPlaceholder": "SHA-256 بهصورت base64 یا hex",
|
||
"fetchPin": "دریافت",
|
||
"pinFetched": "گواهیِ فعلیِ نود دریافت شد",
|
||
"pinFetchFailed": "دریافت گواهی ممکن نشد",
|
||
"nodeType": "Node Type",
|
||
"nodeTypeTraditional": "Traditional Panel Node",
|
||
"nodeTypeAgent": "Agent Lightweight Node",
|
||
"agentHint": "Agent nodes connect out to the master; no address, port or API token needed. An install command is generated on creation.",
|
||
"agentTokenTitle": "Agent Node Setup",
|
||
"agentTokenCreated": "Node {{name}} created successfully",
|
||
"agentTokenHint": "Copy the command below and run it on the node machine. This token is shown only once!",
|
||
"agentTokenInstructions": "The command downloads the installer, configures the master URL and token. The node comes online in ~30s.",
|
||
"agentTokenCopied": "Install command copied",
|
||
"agentTokenCopyFailed": "Copy failed, please copy manually",
|
||
"copyToken": "Copy Install Command",
|
||
"agentMasterUrlHint": "Master URL (used by agent to reach the master; change to public address if behind proxy):"
|
||
},
|
||
"settings": {
|
||
"defaultTag": "پیشفرض",
|
||
"title": "تنظیمات پنل",
|
||
"save": "ذخیره",
|
||
"infoDesc": "برای اعمال تغییرات در این بخش باید پس از ذخیره کردن، پنل را ریستارت کنید",
|
||
"restartPanel": "راهاندازی مجدد پنل",
|
||
"restartPanelDesc": "آیا مطمئن به ریستارت پنل هستید؟ اگر پساز ریستارت نمیتوانید به پنل دسترسی پیدا کنید، لطفاً گزارشهای موجود در اسکریپت پنل را بررسی کنید",
|
||
"restartPanelSuccess": "پنل با موفقیت راهاندازی مجدد شد",
|
||
"actions": "عملیات ها",
|
||
"resetDefaultConfig": "برگشت به پیشفرض",
|
||
"panelSettings": "پیکربندی",
|
||
"securitySettings": "احرازهویت",
|
||
"securityWarnings": "هشدارهای امنیتی",
|
||
"panelExposed": "ممکن است پنل شما در معرض خطر باشد:",
|
||
"warnHttp": "پنل از طریق HTTP ساده ارائه میشود — برای محیط عملیاتی TLS فعال کنید.",
|
||
"warnDefaultPort": "پورت پیشفرض 2053 شناختهشده است — آن را به یک پورت تصادفی تغییر دهید.",
|
||
"warnDefaultBasePath": "مسیر پایه پیشفرض «/» شناختهشده است — آن را به یک مسیر تصادفی تغییر دهید.",
|
||
"warnDefaultSubPath": "مسیر ساب پیشفرض «/sub/» شناختهشده است — تغییرش دهید.",
|
||
"warnDefaultJsonPath": "مسیر JSON ساب پیشفرض «/json/» شناختهشده است — تغییرش دهید.",
|
||
"panelListeningIP": "آدرس آیپی",
|
||
"panelListeningIPDesc": "آدرس آیپی برای وب پنل. برای گوشدادن بهتمام آیپیها خالیبگذارید",
|
||
"panelListeningDomain": "نام دامنه",
|
||
"panelListeningDomainDesc": "آدرس دامنه برای وب پنل. برای گوش دادن بهتمام دامنهها و آیپیها خالیبگذارید",
|
||
"panelPort": "پورت",
|
||
"panelPortDesc": "شماره پورت برای وب پنل. باید پورت استفاده نشدهباشد",
|
||
"publicKeyPath": "مسیر کلید عمومی",
|
||
"publicKeyPathDesc": "مسیر فایل کلیدعمومی برای وب پنل. با '/' شروعمیشود",
|
||
"privateKeyPath": "مسیر کلید خصوصی",
|
||
"privateKeyPathDesc": "مسیر فایل کلیدخصوصی برای وب پنل. با '/' شروعمیشود",
|
||
"panelUrlPath": "مسیر URI",
|
||
"panelUrlPathDesc": "برای وب پنل. با '/' شروع و با '/' خاتمه مییابد URI مسیر",
|
||
"pageSize": "اندازه صفحه بندی جدول",
|
||
"pageSizeDesc": "(اندازه صفحه برای جدول ورودیها.(0 = غیرفعال",
|
||
"panelOutbound": "اوتباند ترافیک پنل",
|
||
"panelOutboundDesc": "درخواستهای خود پنل — بررسی نسخه و دانلود پنل/Xray، تلگرام، و بهروزرسانی معمولی فایلهای geo — را از این اوتباند Xray عبور میدهد تا فیلترینگ GitHub/تلگرام در سمت سرور دور زده شود. یک ورودی پل لوکال بهصورت خودکار به کانفیگ در حال اجرا اضافه و زنده اعمال میشود. روی Geodata Auto-Update نِیتیو Xray اثری ندارد؛ آن اوتباند دانلود مخصوص خودش را دارد. برای اتصال مستقیم خالی بگذارید.",
|
||
"panelOutboundPh": "اتصال مستقیم",
|
||
"remarkTemplate": "قالب ریمارک",
|
||
"remarkTemplateDesc": "اگر پر شود، جای مدلِ ریمارک را برای همهی لینکهای اشتراک میگیرد — فرمت دلخواهت را با توکنهای متغیر بنویس (از دکمه برای درج استفاده کن). خالی = استفاده از مدلِ بالا.",
|
||
"subShowIdentityOnAllLinks": "نمایش هویت در همه لینکها",
|
||
"subShowIdentityOnAllLinksDesc": "در صورت فعال بودن، {{EMAIL}} و {{USERNAME}} در یادداشت هر لینک بدنه اشتراک باقی میمانند. توکنهای مصرف همچنان فقط در لینک اول نمایش داده میشوند.",
|
||
"datepicker": "نوع تقویم",
|
||
"datepickerPlaceholder": "انتخاب تاریخ",
|
||
"datepickerDescription": "وظایف برنامه ریزی شده بر اساس این تقویم اجرا میشود",
|
||
"oldUsername": "نامکاربری فعلی",
|
||
"currentPassword": "رمزعبور فعلی",
|
||
"newUsername": "نامکاربری جدید",
|
||
"newPassword": "رمزعبور جدید",
|
||
"sessionMaxAge": "بیشینه زمان جلسه وب",
|
||
"sessionMaxAgeDesc": "(بیشینه زمانی که میتوانید لاگین بمانید. (واحد: دقیقه",
|
||
"expireTimeDiff": "آستانه زمان باقی مانده",
|
||
"expireTimeDiffDesc": "(فاصله زمانی هشدار تا رسیدن به زمان انقضا. (واحد: روز",
|
||
"trafficDiff": "آستانه ترافیک باقی مانده",
|
||
"trafficDiffDesc": "(فاصله زمانی هشدار تا رسیدن به اتمام ترافیک. (واحد: گیگابایت",
|
||
"timeZone": "منطقه زمانی",
|
||
"timeZoneDesc": "وظایف برنامه ریزی شده بر اساس این منطقهزمانی اجرا میشود",
|
||
"subSettings": "سابسکریپشن",
|
||
"subEnable": "فعالسازی سرویس سابسکریپشن",
|
||
"subEnableDesc": "سرویس سابسکریپشن را فعالمیکند",
|
||
"subJsonEnable": "فعال/غیرفعالسازی مستقل نقطه دسترسی سابسکریپشن JSON.",
|
||
"subJsonEnableTitle": "اشتراک JSON",
|
||
"subClashEnableTitle": "اشتراک Clash / Mihomo",
|
||
"subFormatsTipTitle": "تنظیمات اشتراک ویژه هر قالب",
|
||
"subFormatsTipDesc": "مسیرهای URL، آدرسهای معکوس و تشخیص خودکار کلاینت را برای JSON و Clash / Mihomo جداگانه پیکربندی کنید.",
|
||
"subFormatsTipAction": "باز کردن قالبهای اشتراک",
|
||
"subJsonAutoDetect": "تشخیص خودکار کلاینتهای Xray JSON",
|
||
"subJsonAutoDetectDesc": "با فعالسازی، کلاینتهای سازگار و شناختهشده که آدرس استاندارد اشتراک را درخواست میکنند، بهطور خودکار آرایه تنظیمات Xray JSON دریافت میکنند. سایر کلاینتها پاسخ خام/Base64 را دریافت میکنند. برای اعمال تغییر، اشتراک JSON باید فعال باشد و پنل راهاندازی مجدد شود.",
|
||
"subJsonAlwaysArray": "همیشه آرایه JSON برگردان",
|
||
"subJsonAlwaysArrayDesc": "مسیر صریح اشتراک JSON را حتی برای یک پروفایل، مطابق استاندارد XTLS بهصورت آرایه برمیگرداند. پاسخهای JSON تشخیصدادهشده همیشه آرایه هستند. برای حفظ پاسخ قدیمی تکشیء غیرفعال بگذارید.",
|
||
"subJsonUserAgentRegex": "عبارت User-Agent برای Xray JSON",
|
||
"subJsonUserAgentRegexDesc": "عبارت منظم Go RE2 که با عامل کاربر (User-Agent) کلاینت مطابقت داده میشود تا صیغه Xray JSON روی آدرس استاندارد اشتراک بهطور خودکار انتخاب شود. بهطور پیشفرض خالی است، بنابراین تشخیص خودکار غیرفعال میماند تا زمانی که الگویی برای کلاینتهای موردنظر خود تعیین کنید. سایر کلاینتها پاسخ خام/Base64 را دریافت میکنند. پس از تغییر، پنل را راهاندازی مجدد کنید.",
|
||
"subClashAutoDetect": "تشخیص خودکار کلاینتهای Clash/Mihomo",
|
||
"subClashAutoDetectDesc": "با فعالسازی، کلاینتهای شناختهشده Clash/Mihomo که آدرس استاندارد اشتراک را درخواست میکنند، بهطور خودکار پیکربندی Clash با فرمت YAML دریافت میکنند. مرورگرها همچنان صفحه اشتراک را نمایش میدهند، سایر کلاینتها پاسخ خام/Base64 را دریافت میکنند و آدرسهای صریح JSON و Clash در دسترس میمانند. برای اعمال تغییر، اشتراک Clash/Mihomo باید فعال باشد و پنل راهاندازی مجدد شود.",
|
||
"subClashUserAgentRegex": "عبارت User-Agent برای Clash/Mihomo",
|
||
"subClashUserAgentRegexDesc": "عبارت منظم Go RE2 که با عامل کاربر (User-Agent) کلاینت مطابقت داده میشود تا کلاینتهای Clash/Mihomo در آدرس استاندارد اشتراک شناسایی شوند. برای استفاده از الگوی پیشفرض خالی بگذارید. پس از تغییر، پنل را راهاندازی مجدد کنید.",
|
||
"subTitle": "عنوان اشتراک",
|
||
"subTitleDesc": "عنوان نمایش داده شده در کلاینت VPN. از توکنهای هویت کلاینت پشتیبانی میکند: {{EMAIL}}, {{ID}}, {{SHORT_ID}}, {{SUB_ID}}, {{TELEGRAM_ID}}.",
|
||
"subSupportUrl": "آدرس پشتیبانی",
|
||
"subSupportUrlDesc": "لینک پشتیبانی فنی که در کلاینت VPN نمایش داده میشود. از توکنهای هویت کلاینت پشتیبانی میکند: {{EMAIL}}, {{ID}}, {{SHORT_ID}}, {{SUB_ID}}, {{TELEGRAM_ID}}.",
|
||
"subProfileUrl": "آدرس پروفایل",
|
||
"subProfileUrlDesc": "لینک وبسایت شما که در کلاینت VPN نمایش داده میشود. از توکنهای هویت کلاینت پشتیبانی میکند: {{EMAIL}}, {{ID}}, {{SHORT_ID}}, {{SUB_ID}}, {{TELEGRAM_ID}}.",
|
||
"subAnnounce": "اعلان",
|
||
"subAnnounceDesc": "متن اعلانی که در کلاینت VPN نمایش داده میشود. از توکنهای هویت کلاینت پشتیبانی میکند: {{EMAIL}}, {{ID}}, {{SHORT_ID}}, {{SUB_ID}}, {{TELEGRAM_ID}}.",
|
||
"subThemeDir": "پوشه قالب صفحه اشتراک",
|
||
"subThemeDirDesc": "مسیر مطلق پوشهای که شامل یک قالب سفارشی (index.html/sub.html) برای صفحه اشتراک است (مثلاً /etc/3x-ui/sub_templates/my-theme/). برای استفاده از صفحه پیشفرض خالی بگذارید.",
|
||
"subThemeDirDocs": "راهنمای قالب ↗",
|
||
"subEnableRouting": "فعالسازی مسیریابی",
|
||
"subEnableRoutingDesc": "تنظیمات سراسری برای فعالسازی مسیریابی در کلاینت VPN. (فقط برای Happ)",
|
||
"subRoutingRules": "قوانین مسیریابی",
|
||
"subRoutingRulesDesc": "یک پیوند آماده happ:// یا یک نشانی دائمی HTTPS وارد کنید. پنل قوانین راهدور را در پسزمینه بهروزرسانی و آخرین مقدار معتبر را نگه میدارد، بنابراین درخواست اشتراک منتظر منبع نمیماند. (فقط برای Happ)",
|
||
"subHideSettings": "پنهان کردن تنظیمات سرور",
|
||
"subHideSettingsDesc": "پنهان کردن توانایی مشاهده و ویرایش پیکربندی سرور در کلاینت VPN. (فقط برای Happ)",
|
||
"subIncyEnableRouting": "فعالسازی مسیریابی",
|
||
"subIncyEnableRoutingDesc": "تزریق پروفایل مسیریابی به بدنه اشتراک برای کلاینت Incy. (فقط برای Incy)",
|
||
"subIncyRoutingRules": "قوانین مسیریابی",
|
||
"subIncyRoutingRulesDesc": "یک پیوند آماده incy:// یا یک نشانی دائمی HTTPS برای JSON وارد کنید. Incy یک نمایه autorouting میسازد و آن را خودکار بهروزرسانی میکند. (فقط برای Incy)",
|
||
"subClashEnableRouting": "فعالسازی مسیریابی",
|
||
"subClashEnableRoutingDesc": "قوانین مسیریابی سراسری Clash/Mihomo را در اشتراکهای YAML تولیدشده وارد کن.",
|
||
"subClashRoutingRules": "قوانین مسیریابی سراسری",
|
||
"subClashRoutingRulesDesc": "قوانین/YAML یا یک نشانی دائمی HTTPS وارد کنید. پنل آن را در پسزمینه بهروزرسانی میکند، فقط گروهها، ارائهدهندگان قانون و قوانین را وارد میکند و گرههای VPN ساختهشده و آخرین مقدار معتبر را حفظ میکند.",
|
||
"subListen": "آدرس آیپی",
|
||
"subListenDesc": "آدرس آیپی برای سرویس سابسکریپشن. برای گوش دادن بهتمام آیپیها خالیبگذارید",
|
||
"subPort": "پورت",
|
||
"subPortDesc": "شماره پورت برای سرویس سابسکریپشن. باید پورت استفادهنشدهباشد. همچنین وقتی «مسیر پراکسی معکوس» خالی باشد، برای ساخت لینک/QR سابسکریپشن نمایشدادهشده در پنل استفاده میشود — اگر سابسکریپشن از پشت یک پراکسی معکوس روی پورت دیگری در دسترس است، به جای این، «مسیر پراکسی معکوس» را پر کنید.",
|
||
"subCertPath": "مسیر کلید عمومی",
|
||
"subCertPathDesc": "مسیر فایل کلیدعمومی برای سرویس سابیکریپشن. با '/' شروعمیشود",
|
||
"subKeyPath": "مسیر کلید خصوصی",
|
||
"subKeyPathDesc": "مسیر فایل کلیدخصوصی برای سرویس سابسکریپشن. با '/' شروعمیشود",
|
||
"subPath": "مسیر URI",
|
||
"subPathDesc": "برای سرویس سابسکریپشن. با '/' شروع و با '/' خاتمه مییابد URI مسیر",
|
||
"subDomain": "نام دامنه",
|
||
"subDomainDesc": "آدرس دامنه برای سرویس سابسکریپشن. برای گوش دادن به تمام دامنهها و آیپیها خالیبگذارید. همچنین وقتی «مسیر پراکسی معکوس» خالی باشد، به عنوان دامنه پیشفرض لینک سابسکریپشن نمایشدادهشده استفاده میشود — اگر پنل و سابسکریپشن از دامنههای متفاوتی در دسترس هستند (مثلاً پشت یک پراکسی معکوس)، «مسیر پراکسی معکوس» را پر کنید.",
|
||
"subUpdates": "فاصله بروزرسانی سابسکریپشن",
|
||
"subUpdatesDesc": "(فاصله مابین بروزرسانی در برنامههای کاربری. (واحد: ساعت",
|
||
"subEncrypt": "انکود",
|
||
"subEncryptDesc": "کدگذاری خواهدشد Base64 محتوای برگشتی سرویس سابسکریپشن برپایه",
|
||
"subURI": "پروکسی معکوس URI مسیر",
|
||
"subURIDesc": "آدرس پایه کامل (scheme://domain[:port]/path/) برای لینک سابسکریپشن و کد QR، به جای نام دامنه/پورت استفاده میشود. هر وقت سابسکریپشن از پشت یک پراکسی معکوس یا روی دامنه/پورت متفاوتی نسبت به موارد بالا در دسترس است، این را پر کنید.",
|
||
"restartXrayOnClientDisable": "ریاستارت Xray بعد از غیرفعالسازی خودکار",
|
||
"restartXrayOnClientDisableDesc": "وقتی کاربر بهصورت خودکار بهدلیل اتمام زمان یا ترافیک غیرفعال میشود، Xray ریاستارت شود.",
|
||
"fragment": "فرگمنت",
|
||
"fragmentDesc": "فعال کردن فرگمنت برای بستهی نخست تیالاس",
|
||
"fragmentSett": "تنظیمات فرگمنت",
|
||
"noisesDesc": "فعال کردن Noises.",
|
||
"noisesSett": "تنظیمات Noises",
|
||
"trustedProxyCidrs": "CIDRهای پراکسی مورد اعتماد",
|
||
"trustedProxyCidrsDesc": "IPها/CIDRها (با کاما) که مجازند هدرهای host، proto و client IP فوروارد را تنظیم کنند.",
|
||
"subFormats": {
|
||
"finalMask": "Final Mask",
|
||
"finalMaskDesc": "ماسکهای TCP/UDP مربوط به Xray finalmask و پارامترهای QUIC را به هر پروفایل Xray JSON تولیدشده اضافه میکند. به برنامهای با پشتیبانی از اشتراک Xray JSON و هسته جدید Xray نیاز دارد.",
|
||
"packets": "بستهها",
|
||
"length": "طول",
|
||
"interval": "بازه",
|
||
"maxSplit": "حداکثر تقسیم",
|
||
"noises": "نویزها",
|
||
"noiseItem": "نویز №{n}",
|
||
"type": "نوع",
|
||
"packet": "بسته",
|
||
"delayMs": "تأخیر (ms)",
|
||
"applyTo": "اعمال بر",
|
||
"addNoise": "+ نویز",
|
||
"concurrency": "همزمانی",
|
||
"xudpConcurrency": "همزمانی xudp",
|
||
"xudpUdp443": "xudp UDP 443"
|
||
},
|
||
"mux": "Mux",
|
||
"muxDesc": "چندین جریان داده مستقل را در یک جریان داده ثابت منتقل می کند",
|
||
"muxSett": "تنظیمات ماکس",
|
||
"direct": "اتصال مستقیم",
|
||
"directDesc": "به طور مستقیم با دامنه ها یا محدوده آیپی یک کشور خاص ارتباط برقرار می کند",
|
||
"certs": "گواهیها",
|
||
"dateAndTime": "تاریخ و زمان",
|
||
"proxyAndServer": "پراکسی و سرور",
|
||
"intervals": "فواصل",
|
||
"information": "اطلاعات",
|
||
"profile": "پروفایل",
|
||
"language": "زبان",
|
||
"security": {
|
||
"admin": "اعتبارنامههای ادمین",
|
||
"twoFactorModalError": "کد نادرست",
|
||
"show": "نمایش",
|
||
"hide": "پنهان",
|
||
"apiTokenNew": "توکن جدید",
|
||
"apiTokenName": "نام",
|
||
"apiTokenNamePlaceholder": "مثلاً central-panel-a",
|
||
"apiTokenNameRequired": "نام الزامی است",
|
||
"apiTokenEmpty": "هنوز توکنی وجود ندارد — برای احراز هویت رباتها یا پنلهای راه دور یکی بسازید.",
|
||
"apiTokenDeleteWarning": "هر کلاینتی که از این توکن استفاده میکند بلافاصله احراز هویتش قطع میشود.",
|
||
"apiTokenCreatedTitle": "توکن ساخته شد",
|
||
"apiTokenCreatedNotice": "اکنون این توکن را کپی کنید. بهدلیل امنیتی بهصورت قابلخواندن ذخیره نمیشود و دوباره نمایش داده نخواهد شد."
|
||
},
|
||
"toasts": {
|
||
"modifySettings": "پارامترها تغییر کردهاند.",
|
||
"getSettings": "خطا در دریافت پارامترها",
|
||
"modifyUserError": "خطا در تغییر اعتبارنامههای مدیر سیستم.",
|
||
"modifyUser": "شما با موفقیت اعتبارنامههای مدیر سیستم را تغییر دادید.",
|
||
"originalUserPassIncorrect": "نامکاربری یا رمزعبور فعلی اشتباهاست",
|
||
"userPassMustBeNotEmpty": "نامکاربری یا رمزعبور جدید خالیاست",
|
||
"getOutboundTrafficError": "خطا در دریافت ترافیک خروجی",
|
||
"resetOutboundTrafficError": "خطا در بازنشانی ترافیک خروجی"
|
||
},
|
||
"eventOutboundDown": "قطع",
|
||
"eventOutboundUp": "وصل",
|
||
"eventXrayCrash": "کرش",
|
||
"eventNodeDown": "قطع",
|
||
"eventNodeUp": "وصل",
|
||
"eventCPUHigh": "بالا بودن CPU (٪)",
|
||
"requestFailed": "درخواست ناموفق بود",
|
||
"eventLoginAttempt": "تلاش برای ورود",
|
||
"eventMemoryHigh": "مصرف حافظه بالا (%)",
|
||
"validation": {
|
||
"pathLeadingSlash": "مسیر باید با / شروع شود"
|
||
},
|
||
"secretClear": "پاک کردن",
|
||
"secretClearUndo": "لغو پاک کردن",
|
||
"calendarGregorian": "Gregorian (Standard)",
|
||
"calendarJalalian": "Jalalian (شمسی)",
|
||
"ipLimitAllowlist": "فهرست مجاز محدودیت IP",
|
||
"ipLimitAllowlistDesc": "نشانیها و شبکههایی که محدودیت IP هرگز آنها را نمیشمارد و مسدود نمیکند، تا نشانی مشترک یک اداره یا دانشگاه محدودیت کاربر را مصرف نکند. IPها/CIDRها (با کاما).",
|
||
"subBalancers": {
|
||
"menu": "موزانکنندههای اشتراک",
|
||
"title": "موزانکننده اشتراک",
|
||
"add": "افزودن موزانکننده",
|
||
"desc": "هر موزانکنندهٔ فعال بهعنوان یک پروفایل اضافه به اشتراک JSON اضافه میشود و بهطور خودکار بهترین نقطهٔ پایانیِ اینباندهای انتخابشده را برمیگزیند.",
|
||
"remark": "توضیح",
|
||
"remarkPlaceholder": "خودکار · سریعترین",
|
||
"strategy": "استراتژی",
|
||
"strategyLeastLoad": "کمترین بار",
|
||
"strategyLeastPing": "کمترین پینگ",
|
||
"strategyRandom": "تصادفی",
|
||
"strategyRoundRobin": "گردشی",
|
||
"sortOrder": "ترتیب",
|
||
"sortOrderHelp": "جایگاه در فهرست اشتراک، درهمتنیده با ترتیب اینباندها؛ با شمارهٔ برابر، موزانکننده بعد از اینباند میآید.",
|
||
"inbounds": "اینباندها",
|
||
"inboundsCount": "{count} اینباندها",
|
||
"enabled": "فعال",
|
||
"empty": "هنوز موزانکنندهای وجود ندارد",
|
||
"deleteConfirm": "این موزانکننده حذف شود؟",
|
||
"errRemarkRequired": "توضیح الزامی است",
|
||
"errInboundsRequired": "حداقل یک اینباند انتخاب کنید",
|
||
"errSortOrder": "ترتیب باید عدد صحیح ≥ ۱ باشد",
|
||
"toasts": {
|
||
"list": "فهرستسازی موزانکنندههای اشتراک ناموفق بود",
|
||
"create": "ایجاد موزانکننده اشتراک ناموفق بود",
|
||
"update": "بهروزرسانی موزانکننده اشتراک ناموفق بود",
|
||
"delete": "حذف موزانکننده اشتراک ناموفق بود",
|
||
"invalidId": "شناسه نامعتبر"
|
||
},
|
||
"tabBalancers": "بالانسرها",
|
||
"tabObservatory": "رصدخانه",
|
||
"observatory": {
|
||
"title": "رصدگر موزانکننده",
|
||
"desc": "پارامترهای probe برای burstObservatory که در هر پروفایل leastPing/leastLoad نوشته میشود. random/roundRobin رصدگر ندارند. بهصورت تنظیم سراسری اشتراک JSON ذخیره میشود.",
|
||
"destination": "آدرس probe",
|
||
"destinationDesc": "آدرسی که کلاینت برای سنجش هر خروجی عضو آن را probe میکند.",
|
||
"connectivity": "آدرس اتصال",
|
||
"connectivityDesc": "آدرس اختیاری برای بررسی یکبارهٔ دسترسی به هدف. خالی بگذارید تا رد شود.",
|
||
"interval": "بازه probe",
|
||
"intervalDesc": "زمان بین دورهای probe، مثلاً 1m.",
|
||
"timeout": "مهلت probe",
|
||
"timeoutDesc": "مهلت هر probe، مثلاً 5s.",
|
||
"sampling": "نمونهبرداری",
|
||
"samplingDesc": "تعداد probe متوالی برای میانگین پایداری.",
|
||
"httpMethod": "متد HTTP",
|
||
"httpMethodDesc": "متد استفادهشده برای درخواستهای probe.",
|
||
"note": "موزانکنندههای leastPing/leastLoad همیشه burstObservatory دارند. این کلید پارامترهای probe آن را سفارشی میکند — آن را خاموش کنید تا از پیشفرضهای داخلی استفاده شود. تغییرات پس از راهاندازی مجدد پنل اعمال میشوند."
|
||
}
|
||
}
|
||
},
|
||
"xray": {
|
||
"save": "ذخیره",
|
||
"basicTemplate": "پایه",
|
||
"advancedTemplate": "پیشرفته",
|
||
"generalConfigs": "استراتژی کلی",
|
||
"generalConfigsDesc": "این گزینهها استراتژی کلی ترافیک را تعیین میکنند",
|
||
"logConfigs": "لاگ",
|
||
"logConfigsDesc": "گزارشها ممکن است بر کارایی سرور شما تأثیر بگذارد. توصیه می شود فقط در صورت نیاز آن را عاقلانه فعال کنید",
|
||
"basicRouting": "مسیریابی پایه",
|
||
"blockConnectionsConfigsDesc": "این گزینهها ترافیک را بر اساس کشور درخواستشده خاص مسدود میکنند.",
|
||
"directConnectionsConfigsDesc": "یک اتصال مستقیم تضمین میکند که ترافیک خاص از طریق سرور دیگری مسیریابی نشود.",
|
||
"blockips": "مسدود کردن آیپیها",
|
||
"blockdomains": "مسدود کردن دامنهها",
|
||
"directips": "آیپیهای مستقیم",
|
||
"directdomains": "دامنههای مستقیم",
|
||
"ipv4Routing": "IPv4 مسیریابی",
|
||
"ipv4RoutingDesc": "این گزینهها ترافیک را از طریق آیپی نسخه4 سرور، به مقصد هدایت میکند",
|
||
"FreedomStrategy": "Freedom استراتژی پروتکل",
|
||
"FreedomStrategyDesc": "تعیین میکند Freedom استراتژی خروجی شبکه را برای پروتکل",
|
||
"FreedomHappyEyeballs": "Freedom Happy Eyeballs (IPv4/IPv6)",
|
||
"FreedomHappyEyeballsDesc": "اتصال دوپشتهای برای خروجی مستقیم (freedom) — برای سرورهای خروج دارای هر دو IPv4 و IPv6 مفید است.",
|
||
"FreedomHappyEyeballsTryDelayDesc": "تعداد میلیثانیه پیش از امتحان خانوادهٔ آدرس دیگر. مقدار 150 تا 250 میلیثانیه نقطهٔ شروع خوبی است.",
|
||
"RoutingStrategy": "استراتژی کلی مسیریابی",
|
||
"RoutingStrategyDesc": "استراتژی کلی مسیریابی برای حل تمام درخواستها را تعیین میکند",
|
||
"Torrent": "مسدودسازی پروتکل بیتتورنت",
|
||
"Inbounds": "ورودیها",
|
||
"Outbounds": "خروجیها",
|
||
"Balancers": "بالانسرها",
|
||
"balancerTagRequired": "تگ الزامی است",
|
||
"balancerSelectorRequired": "حداقل یک خروجی انتخاب کنید",
|
||
"routeTester": "آزمایش مسیر",
|
||
"routeTesterDesc": "از Xray در حال اجرا بپرسید یک اتصال از کدام خروجی عبور میکند. هیچ ترافیکی ارسال نمیشود — پاسخ مستقیماً از موتور مسیریابی زنده میآید.",
|
||
"routeTesterDest": "دامنه یا IP",
|
||
"routeTesterPort": "پورت",
|
||
"routeTesterInbound": "ورودی",
|
||
"routeTesterProtocol": "پروتکل تشخیصی",
|
||
"routeTesterTest": "آزمایش مسیر",
|
||
"routeTesterMatchedOutbound": "خروجی منطبق",
|
||
"routeTesterViaBalancer": "از طریق بالانسر",
|
||
"routeTesterDefaultOutbound": "هیچ قانونی منطبق نشد — ترافیک به خروجی پیشفرض (اولین خروجی) میرود.",
|
||
"Routings": "قوانین مسیریابی",
|
||
"importRules": "ورود قوانین",
|
||
"exportRules": "خروج قوانین",
|
||
"importOutbounds": "ورود خروجیها",
|
||
"exportOutbounds": "خروج خروجیها",
|
||
"importInvalidJson": "JSON نامعتبر — یک آرایه یا یک شیء با کلید متناظر انتظار میرود.",
|
||
"logLevel": "سطح گزارش",
|
||
"logLevelDesc": "سطح گزارش برای گزارش های خطا، نشان دهنده اطلاعاتی است که باید ثبت شوند.",
|
||
"accessLog": "مسیر گزارش",
|
||
"accessLogDesc": "مسیر فایل برای گزارش دسترسی. مقدار ویژه «هیچ» گزارشهای دسترسی را غیرفعال میکند.",
|
||
"errorLog": "گزارش خطا",
|
||
"errorLogDesc": "مسیر فایل برای ورود به سیستم خطا. مقدار ویژه «هیچ» گزارش های خطا را غیرفعال میکند",
|
||
"dnsLog": "گزارش DNS",
|
||
"dnsLogDesc": "آیا ثبتهای درخواست DNS را فعال کنید",
|
||
"maskAddress": "پنهان کردن آدرس",
|
||
"maskAddressDesc": "پوشش آدرس IP، هنگامی که فعال میشود، به طور خودکار آدرس IP که در لاگ ظاهر میشود را جایگزین میکند.",
|
||
"statistics": "آمار",
|
||
"statsInboundUplink": "آمار آپلود ورودی",
|
||
"statsInboundDownlink": "آمار دانلود ورودی",
|
||
"statsOutboundUplink": "آمار آپلود خروجی",
|
||
"statsOutboundDownlink": "آمار دانلود خروجی",
|
||
"metricsListen": "نقطه پایانی متریک",
|
||
"metricsListenDesc": "متریکهای Xray (سبک Prometheus) را روی این آدرس:پورت در دسترس قرار میدهد (مثلاً 127.0.0.1:11111). برای غیرفعالکردن خالی بگذارید. روی localhost ببندید و با ریورسپروکسی ارائه دهید — احراز هویت ندارد.",
|
||
"metricsTag": "تگ متریک",
|
||
"connectionLimits": "محدودیت اتصال",
|
||
"connectionLimitsDesc": "سیاستهای سطح اتصال برای کاربرانِ سطح ۰. هر فیلد را خالی بگذارید تا مقدار پیشفرض Xray استفاده شود.",
|
||
"connIdle": "مهلت بیکاری",
|
||
"connIdleDesc": "اتصال را پس از این تعداد ثانیه بیکار ماندن میبندد. کمکردن آن، روی سرورهای شلوغ حافظه و file descriptor را زودتر آزاد میکند (پیشفرض Xray: ۳۰۰).",
|
||
"bufferSize": "اندازهٔ بافر",
|
||
"bufferSizeDesc": "اندازهٔ بافر داخلی هر اتصال بر حسب کیلوبایت. برای کمکردن مصرف حافظه روی سرورهای کمرم روی ۰ بگذارید (پیشفرض Xray به پلتفرم بستگی دارد).",
|
||
"bufferSizePlaceholder": "خودکار",
|
||
"seconds": "ثانیه",
|
||
"rules": {
|
||
"source": "مبدا",
|
||
"dest": "مقصد",
|
||
"inbound": "ورودی",
|
||
"useComma": "موارد جدا شده با کاما"
|
||
},
|
||
"routing": {
|
||
"dragToReorder": "برای تغییر ترتیب بکشید"
|
||
},
|
||
"geoBrowser": {
|
||
"title": "دستههای پایگاه geo",
|
||
"openTooltip": "مرور دستههای geo",
|
||
"database": "پایگاه داده",
|
||
"searchCategory": "جستجوی دسته",
|
||
"searchEntries": "فیلتر درون دسته",
|
||
"selectFound": "انتخاب موارد یافتشده",
|
||
"selected": "انتخابشده: {count}",
|
||
"clearAll": "پاک کردن همه",
|
||
"apply": "اعمال",
|
||
"emptySelection": "دستهها را علامت بزنید تا به مقادیر قانون تبدیل شوند",
|
||
"pickCategory": "برای دیدن محتوا، یک دسته را از فهرست انتخاب کنید",
|
||
"noMatches": "چیزی یافت نشد",
|
||
"noFiles": "در پوشه Xray هیچ پایگاه geo وجود ندارد",
|
||
"noFilesHint": "پس از آنکه Xray فایلهای geosite.dat و geoip.dat را دانلود کند، نمایش داده میشوند",
|
||
"fileMeta": "{count} دسته · {size} · بهروزرسانی {date}",
|
||
"entriesCount": "{count} مورد",
|
||
"subnetsCount": "{count} زیرشبکه",
|
||
"shownRange": "نمایش {from}–{to} از {total}",
|
||
"loadFailed": "بارگذاری پایگاههای geo ناموفق بود",
|
||
"checkFailed": "بررسی این مقادیر در برابر پایگاههای geo ممکن نشد",
|
||
"parseFailed": "فایل خراب است یا پایگاه geosite/geoip نیست",
|
||
"tooLarge": "فایل برای مرور بسیار بزرگ است",
|
||
"unknownCategories": "در پایگاه داده وجود ندارد: {tokens}",
|
||
"missingDatabase": "فایل پایگاه داده وجود ندارد: {tokens}. آن را در بخش Geodata اضافه کنید",
|
||
"unknownAttribute": "ویژگی یافت نشد و قانون با هیچ چیزی مطابقت نخواهد کرد: {tokens}",
|
||
"invalidToken": "Xray چنین مقداری را نمیپذیرد: {tokens}",
|
||
"wrongKind": "نوع پایگاه داده برای این فیلد نادرست است: {tokens}"
|
||
},
|
||
"ruleForm": {
|
||
"sourceIps": "IPهای مبدا",
|
||
"sourcePort": "پورت مبدا",
|
||
"vlessRoute": "مسیر VLESS",
|
||
"attributes": "صفتها",
|
||
"value": "مقدار",
|
||
"user": "کاربر",
|
||
"userPlaceholder": "انتخاب کاربران",
|
||
"userEmpty": "هیچ کاربری موجود نیست",
|
||
"userLoadError": "بارگیری کاربران ناموفق بود",
|
||
"inboundTags": "تگهای ورودی",
|
||
"outboundTag": "تگ خروجی",
|
||
"balancerTag": "تگ بالانسر",
|
||
"balancerTagTooltip": "ترافیک را از یکی از بالانسرهای پیکربندیشده عبور میدهد"
|
||
},
|
||
"outboundForm": {
|
||
"tagDuplicate": "این تگ توسط خروجی دیگری استفاده شده است",
|
||
"tagRequired": "تگ الزامی است",
|
||
"tagPlaceholder": "تگ-منحصربهفرد",
|
||
"localIpPlaceholder": "IP محلی",
|
||
"dialerProxyPlaceholder": "یک خروجی برای زنجیره کردن انتخاب کنید",
|
||
"dialerProxyHint": "این خروجی را از طریق خروجی دیگری (با تگ) برقرار کن تا یک زنجیره پروکسی ساخته شود. برای اتصال مستقیم خالی بگذار.",
|
||
"targetStrategyHint": "نحوه تبدیل دامنه مقصد پیش از اتصال: AsIs (پیشفرض) آن را بدون تغییر میفرستد، UseIP… با امکان بازگشت تبدیل میکند، ForceIP… تبدیل موفق را الزامی میکند.",
|
||
"addressRequired": "آدرس الزامی است",
|
||
"portRequired": "پورت الزامی است",
|
||
"optional": "اختیاری",
|
||
"udpOverTcp": "UDP over TCP",
|
||
"uotVersion": "نسخه UoT",
|
||
"inboundTag": "تگ ورودی",
|
||
"inboundTagPlaceholder": "تگ ورودی استفادهشده در قوانین مسیریابی",
|
||
"responseType": "نوع پاسخ",
|
||
"rewriteNetwork": "بازنویسی شبکه",
|
||
"unchanged": "(بدون تغییر)",
|
||
"unchangedAddress": "(بدون تغییر) مثل 1.1.1.1",
|
||
"rules": "قوانین",
|
||
"ruleN": "قانون {n}",
|
||
"action": "عمل",
|
||
"redirect": "بازهدایت",
|
||
"finalRules": "قوانین نهایی",
|
||
"overrideXrayPrivateIp": "override بلاک پیشفرض IP خصوصی Xray",
|
||
"blockDelay": "تأخیر بلاک (ms)",
|
||
"reverseSniffing": "Sniffing معکوس",
|
||
"reserved": "رزرو شده",
|
||
"minUploadInterval": "حداقل بازه آپلود (ms)",
|
||
"maxUploadSizeBytes": "حداکثر اندازه آپلود (بایت)",
|
||
"uplinkChunkSize": "اندازه قطعه آپلینک",
|
||
"noGrpcHeader": "بدون هدر gRPC",
|
||
"maxConcurrency": "حداکثر همزمانی",
|
||
"maxConnections": "حداکثر اتصالها",
|
||
"maxReuseTimes": "حداکثر استفاده مجدد",
|
||
"maxRequestTimes": "حداکثر تعداد درخواست",
|
||
"maxReusableSecs": "حداکثر ثانیه قابل استفاده مجدد",
|
||
"keepAlivePeriod": "دوره Keep alive",
|
||
"authPassword": "رمز احراز",
|
||
"visionTestpre": "Vision testpre",
|
||
"serverNamePlaceholder": "نام سرور",
|
||
"verifyPeerName": "تایید نام Peer",
|
||
"pinnedSha256": "SHA256 پینشده",
|
||
"shortId": "Short ID",
|
||
"sockopts": "Sockopts",
|
||
"keepAliveInterval": "بازه Keep alive",
|
||
"markFwmark": "علامت (fwmark)",
|
||
"interface": "رابط",
|
||
"proxyProtocol": "Proxy Protocol",
|
||
"tcpUserTimeoutMs": "TCP user timeout (ms)",
|
||
"tcpKeepAliveIdleS": "TCP keep-alive idle (s)"
|
||
},
|
||
"outbound": {
|
||
"tag": "تگ",
|
||
"outboundStatus": "وضعیت خروجی",
|
||
"sendThrough": "ارسال با",
|
||
"targetStrategy": "استراتژی مقصد",
|
||
"country": "کشور",
|
||
"server": "سرور",
|
||
"city": "شهر",
|
||
"allCities": "همه شهرها",
|
||
"moveToTop": "انتقال به بالا"
|
||
},
|
||
"outboundSub": {
|
||
"manage": "سابسکریپشنها",
|
||
"title": "سابسکریپشنهای خروجی",
|
||
"remark": "نام (اختیاری)",
|
||
"remarkPlaceholder": "مثلاً نودهای هنگکنگ",
|
||
"url": "آدرس سابسکریپشن",
|
||
"urlPlaceholder": "https://... (فهرست base64 از لینکها)",
|
||
"tagPrefix": "پیشوند تگ",
|
||
"tagPrefixPlaceholder": "hk-",
|
||
"interval": "بازه بهروزرسانی",
|
||
"hours": "ساعت",
|
||
"minutes": "دقیقه",
|
||
"intervalHint": "پیشفرض ۱۰ دقیقه. وظیفهٔ پسزمینه بهطور مکرر بررسی میکند؛ هر سابسکریپشن فقط زمانی دوباره دریافت میشود که بازهٔ خودش سپری شده باشد.",
|
||
"enabled": "فعال",
|
||
"allowPrivate": "اجازهٔ آدرس خصوصی",
|
||
"allowPrivateHint": "اجازه به localhost / شبکهٔ محلی (LAN) / IPهای خصوصی برای آدرس این سابسکریپشن. بهدلایل امنیتی بهطور پیشفرض غیرفعال است؛ فقط برای یک منبع محلی مورد اعتماد فعال کنید.",
|
||
"prepend": "پیش از خروجیهای دستی",
|
||
"prependHint": "خروجیهای این سابسکریپشن را پیش از خروجیهای دستی شما قرار میدهد تا یکی از آنها بتواند پیشفرض شود.",
|
||
"preview": "پیشنمایش",
|
||
"previewEmpty": "هیچ خروجیای در این آدرس یافت نشد.",
|
||
"refreshAll": "تازهسازی همه",
|
||
"statusOk": "موفق",
|
||
"toastUpdated": "سابسکریپشن بهروزرسانی شد",
|
||
"addButton": "افزودن",
|
||
"active": "سابسکریپشنهای فعال",
|
||
"empty": "هنوز سابسکریپشنی وجود ندارد. از بالا یکی اضافه کنید.",
|
||
"colRemark": "نام",
|
||
"colLastFetch": "آخرین دریافت",
|
||
"colEnabled": "فعال",
|
||
"auto": "خودکار",
|
||
"never": "هرگز",
|
||
"refreshNow": "تازهسازی اکنون",
|
||
"deleteConfirm": "این سابسکریپشن حذف شود؟",
|
||
"restartHint": "پس از افزودن یا تازهسازی، برای فعالشدن خروجیها Xray را راهاندازی مجدد کنید (یا منتظر بارگذاری مجدد خودکار بعدی بمانید).",
|
||
"fromSubsTitle": "از سابسکریپشنهای خروجی (فقطخواندنی)",
|
||
"fromSubsDesc": "از سابسکریپشنهای فعال شما وارد شدهاند. آنها را از پنل سابسکریپشنها در بالا مدیریت کنید.",
|
||
"toastLoadFailed": "بارگذاری سابسکریپشنها ناموفق بود",
|
||
"toastUrlRequired": "آدرس سابسکریپشن الزامی است",
|
||
"toastAdded": "سابسکریپشن افزوده شد",
|
||
"toastAddFailed": "افزودن سابسکریپشن ناموفق بود",
|
||
"toastRefreshed": "تازهسازی شد",
|
||
"toastRefreshFailed": "تازهسازی ناموفق بود",
|
||
"toastDeleted": "حذف شد",
|
||
"toastDeleteFailed": "حذف ناموفق بود"
|
||
},
|
||
"pia": {
|
||
"menu": "PIA",
|
||
"username": "نام کاربری PIA",
|
||
"password": "رمز عبور PIA",
|
||
"account": "حساب",
|
||
"region": "منطقه",
|
||
"allRegions": "همه منطقهها",
|
||
"noServers": "برای کشور انتخابشده سروری پیدا نشد",
|
||
"outboundAdded": "خروجی PIA افزوده شد",
|
||
"outboundUpdated": "خروجی PIA بهروز شد",
|
||
"addedServers": "سرورهای افزودهشده",
|
||
"alreadyAdded": "این سرور از قبل در فهرست خروجی است. برای تمدید کلید {reset} را بزنید.",
|
||
"provisionFailed": "ساخت خروجی PIA ممکن نشد. دوباره تلاش کنید."
|
||
},
|
||
"observatory": {
|
||
"deleteAlsoObservatory": "این آخرین بالانسری است که از Observatory استفاده میکند، بنابراین آن هم حذف خواهد شد.",
|
||
"deleteAlsoBurst": "این آخرین بالانسری است که از Burst Observatory استفاده میکند، بنابراین آن هم حذف خواهد شد."
|
||
},
|
||
"refCleanup": {
|
||
"header": "حذف این مورد مسیریابی شما را هم بهروز میکند:",
|
||
"ruleRemoved": "قاعده {label} — حذف شد (مقصدی باقی نماند)",
|
||
"ruleModified": "قاعده {label} — حفظ شد (اکنون از {keeps} استفاده میکند)",
|
||
"balancerRemoved": "بالانسر {tag} — حذف شد (هدفی باقی نماند)"
|
||
},
|
||
"balancer": {
|
||
"balancerStrategy": "استراتژی",
|
||
"balancerFallbackCycle": "امکان تنظیم این بالانسر به عنوان پشتیبان وجود ندارد — وابستگی دایرهای ایجاد میکند.",
|
||
"reservedPrefix": "پیشوند _bl_ برای اشیاء loopback داخلی بالانسر رزرو شده است"
|
||
},
|
||
"wireguard": {
|
||
"secretKey": "کلید شخصی",
|
||
"publicKey": "کلید عمومی",
|
||
"subnetIp": "زیرشبکه",
|
||
"subnetCidr": "پیشوند زیرشبکه (CIDR)",
|
||
"allowedIPs": "آیپیهای مجاز",
|
||
"endpoint": "نقطه پایانی",
|
||
"domainStrategy": "استراتژی حل دامنه"
|
||
},
|
||
"amneziawg": {
|
||
"privateKey": "کلید خصوصی",
|
||
"publicKey": "کلید عمومی",
|
||
"subnetIp": "زیرشبکه",
|
||
"subnetCidr": "پیشوند زیرشبکه (CIDR)",
|
||
"mtu": "MTU",
|
||
"primaryDns": "DNS اصلی",
|
||
"secondaryDns": "DNS ثانویه",
|
||
"externalInterface": "رابط خارجی",
|
||
"externalInterfaceHint": "رابط شبکه میزبان برای NAT (PostUp/PostDown). برای تشخیص خودکار خالی بگذارید.",
|
||
"ipv6Enabled": "فعالسازی IPv6",
|
||
"ipv6Subnet": "زیرشبکه IPv6",
|
||
"ipv6SubnetHint": "مثلاً fd86:ea04:1115::/64. هنگام فعال بودن IPv6 الزامی است.",
|
||
"ipv6ExternalInterface": "رابط خارجی IPv6",
|
||
"ipv6ExternalInterfaceHint": "رابط شبکه میزبان برای ورودیهای پراکسی NDP. برای استفاده از رابط خارجی خالی بگذارید.",
|
||
"obfuscation": "پارامترهای مبهمسازی",
|
||
"regenerateObfuscation": "بازتولید",
|
||
"jc": "Jc (تعداد بستههای زباله)",
|
||
"jmin": "Jmin (حداقل اندازه بسته زباله)",
|
||
"jmax": "Jmax (حداکثر اندازه بسته زباله)",
|
||
"s1": "S1 (اندازه پرکننده بسته init)",
|
||
"s2": "S2 (اندازه پرکننده بسته response)",
|
||
"s3": "S3 (پرکننده cookie reply)",
|
||
"s4": "S4 (پرکننده بسته انتقال)",
|
||
"h1": "H1 (سرصفحه جادویی)",
|
||
"h2": "H2 (سرصفحه جادویی)",
|
||
"h3": "H3 (سرصفحه جادویی)",
|
||
"h4": "H4 (سرصفحه جادویی)",
|
||
"hHint": "یک عدد صحیح یا یک بازه. برای مقادیر پیشفرض کلاسیک ۱/۲/۳/۴ خالی بگذارید.",
|
||
"i1": "I1 (بسته امضا)",
|
||
"i1Hint": "بسته امضای اختیاری. برای حذف آن خالی بگذارید.",
|
||
"i2": "I2 (بسته امضا)",
|
||
"i3": "I3 (بسته امضا)",
|
||
"i4": "I4 (بسته امضا)",
|
||
"i5": "I5 (بسته امضا)",
|
||
"headerProtectionKey": "HeaderProtectionKey (محافظت سرآیند)",
|
||
"headerProtectionKeyHint": "کلید Base64 با طول ۳۲ بایت؛ باید در پیکربندی همه کلاینتها یکسان باشد. برای غیرفعال کردن محافظت سرآیند خالی بگذارید.",
|
||
"contentPaddingAddition": "ContentPaddingAddition (پرکننده محتوا)",
|
||
"contentPaddingAdditionHint": "یک عدد صحیح یا بازه بایت که به بستههای محتوا افزوده میشود. برای غیرفعال کردن خالی بگذارید.",
|
||
"rekeyAfterTime": "RekeyAfterTime (ثانیه)",
|
||
"rekeyTimeout": "RekeyTimeout (ثانیه)",
|
||
"rejectAfterTime": "RejectAfterTime (ثانیه)",
|
||
"keepaliveTimeout": "KeepaliveTimeout (ثانیه)",
|
||
"maxHandshakeAttempts": "MaxHandshakeAttempts",
|
||
"timingRangeHint": "یک عدد صحیح یا یک بازه. برای استفاده از مقدار پیشفرض WireGuard خالی بگذارید.",
|
||
"maxHandshakeAttemptsHint": "تعداد تلاشهای دوباره دستدهی پیش از انصراف. برای مقدار پیشفرض خالی بگذارید.",
|
||
"randomTrailers": "RandomTrailers",
|
||
"randomTrailersHint": "به انتهای هر بسته بایتهای تصادفی میافزاید. هر دو طرف باید AmneziaWG 3.1+ باشند.",
|
||
"disableCookies": "DisableCookies",
|
||
"disableCookiesHint": "هرگز پاسخ کوکی ارسال نشود — اثر انگشت DPI را حذف میکند اما دفاع در برابر سیلآسا را ضعیف میکند."
|
||
},
|
||
"tun": {
|
||
"userLevel": "سطح کاربر"
|
||
},
|
||
"nord": {
|
||
"accessToken": "توکن دسترسی",
|
||
"privateKey": "کلید خصوصی",
|
||
"noServers": "سروری برای کشور انتخابی پیدا نشد",
|
||
"noPublicKey": "سرور انتخابی کلید عمومی NordLynx اعلام نمیکند.",
|
||
"outboundAdded": "خروجی NordVPN اضافه شد",
|
||
"outboundUpdated": "خروجی NordVPN بهروزرسانی شد"
|
||
},
|
||
"warp": {
|
||
"changeIp": "تغییر IP",
|
||
"changeIpSuccess": "آدرس IP وارپ با موفقیت تغییر کرد!",
|
||
"autoUpdateIp": "بهروزرسانی خودکار آدرس IP",
|
||
"intervalDays": "بازه (روز)",
|
||
"intervalDesc": "برای غیرفعالسازی ۰ بگذارید. آدرس IP را بهصورت خودکار تغییر میدهد.",
|
||
"licenseError": "تنظیم لایسنس WARP ناموفق بود.",
|
||
"fetchFirst": "ابتدا پیکربندی WARP را دریافت کنید.",
|
||
"createAccount": "ایجاد حساب WARP",
|
||
"accessToken": "توکن دسترسی",
|
||
"deviceId": "شناسه دستگاه",
|
||
"licenseKey": "کلید لایسنس",
|
||
"privateKey": "کلید خصوصی",
|
||
"deleteAccount": "حذف حساب",
|
||
"settings": "تنظیمات",
|
||
"licenseKeyLabel": "کلید لایسنس WARP / WARP+",
|
||
"key": "کلید",
|
||
"keyPlaceholder": "کلید ۲۶ کاراکتری WARP+",
|
||
"accountInfo": "اطلاعات حساب",
|
||
"deviceName": "نام دستگاه",
|
||
"deviceModel": "مدل دستگاه",
|
||
"deviceEnabled": "دستگاه فعال",
|
||
"accountType": "نوع حساب",
|
||
"role": "نقش",
|
||
"warpPlusData": "داده WARP+",
|
||
"quota": "سهمیه",
|
||
"usage": "مصرف",
|
||
"addOutbound": "افزودن خروجی"
|
||
},
|
||
"dns": {},
|
||
"fakedns": {},
|
||
"defaultOutbound": "خروجی پیشفرض",
|
||
"defaultOutboundDesc": "ترافیکی که با هیچ قانون مسیریابی جور نشود از این خروجی استفاده میکند (اولین خروجی در فهرست)."
|
||
},
|
||
"hosts": {
|
||
"addHost": "افزودن میزبان",
|
||
"editHost": "ویرایش میزبان",
|
||
"selectInbound": "یک اینباند انتخاب کنید",
|
||
"selectedCount": "{count} انتخابشده",
|
||
"summary": {
|
||
"total": "کل",
|
||
"enabled": "فعال",
|
||
"disabled": "غیرفعال"
|
||
},
|
||
"moveUp": "انتقال به بالا",
|
||
"moveDown": "انتقال به پایین",
|
||
"bulkEnable": "فعالسازی",
|
||
"bulkDisable": "غیرفعالسازی",
|
||
"bulkDelete": "حذف",
|
||
"bulkDeleteConfirm": "{count} میزبان انتخابشده حذف شود؟",
|
||
"deleteConfirmTitle": "میزبان «{name}» حذف شود؟",
|
||
"sections": {
|
||
"basic": "پایه",
|
||
"security": "امنیت",
|
||
"advanced": "پیشرفته",
|
||
"general": "عمومی",
|
||
"clash": "Clash (mihomo)"
|
||
},
|
||
"fields": {
|
||
"remark": "نام",
|
||
"serverDescription": "توضیحات",
|
||
"inbound": "اینباندها",
|
||
"address": "آدرس",
|
||
"port": "پورت",
|
||
"endpoint": "نقطه پایانی",
|
||
"enable": "فعال",
|
||
"actions": "عملیات",
|
||
"security": "امنیت",
|
||
"sni": "SNI",
|
||
"overrideSniFromAddress": "استفاده از آدرس بهعنوان SNI",
|
||
"keepSniBlank": "SNI خالی بماند",
|
||
"hostHeader": "هدر Host",
|
||
"path": "مسیر",
|
||
"alpn": "ALPN",
|
||
"fingerprint": "اثرانگشت",
|
||
"pins": "SHA-256 پینشدهٔ گواهی",
|
||
"verifyPeerCertByName": "بررسی گواهی همتا بر اساس نام",
|
||
"allowInsecure": "اجازهٔ اتصال ناامن",
|
||
"echConfigList": "فهرست پیکربندی ECH",
|
||
"muxParams": "Mux",
|
||
"sockoptParams": "Sockopt",
|
||
"finalMask": "ماسک نهایی",
|
||
"vlessRoute": "مسیر VLESS",
|
||
"mihomoIpVersion": "نسخه IP",
|
||
"mihomoX25519": "Mihomo X25519",
|
||
"shuffleHost": "درهمسازی میزبان",
|
||
"tags": "برچسبها",
|
||
"nodeGuids": "نودها",
|
||
"excludeFromSubTypes": "حذف از فرمتها",
|
||
"inheritAddress": "ارثبری آدرس"
|
||
},
|
||
"hints": {
|
||
"address": "برای ارثبری آدرس خودِ اینباند خالی بگذارید.",
|
||
"port": "مقدار ۰ پورت اینباند را به ارث میبرد.",
|
||
"tags": "برای کاربران نهایی قابل مشاهده نیست؛ فقط با اشتراک RAW ارسال میشود. تنها حروف بزرگ، ارقام، _ و : مجاز است.",
|
||
"nodeGuids": "نودهایی را که از این میزبان resolve میشوند انتخاب کنید. صرفاً انتساب نمایشی است.",
|
||
"serverDescription": "یادداشت اختیاری که زیر نام نمایش داده میشود.",
|
||
"allowInsecure": "رد کردن بررسی گواهی TLS (allowInsecure / skip-cert-verify).",
|
||
"vlessRoute": "یک مقدار مسیر VLESS (0 تا 65535) که در UUID جاسازی میشود، مثلاً 443. برای هیچکدام خالی بگذارید.",
|
||
"remark": "یک برچسب ساده برای این میزبان. تنها زمانی بهعنوان نام کانفیگ نمایش داده میشود که اینباند نام مخصوص خود را نداشته باشد."
|
||
},
|
||
"remarkVars": {
|
||
"title": "متغیرهای قالب",
|
||
"intro": "برای افزودن یک متغیر روی آن کلیک کنید. هنگام ساخت اشتراک، برای هر کاربر جایگزین میشود.",
|
||
"preview": "پیشنمایش",
|
||
"groups": {
|
||
"client": "کاربر",
|
||
"traffic": "ترافیک",
|
||
"time": "زمان و وضعیت",
|
||
"connection": "اتصال"
|
||
},
|
||
"descEMAIL": "ایمیل کاربر",
|
||
"descINBOUND": "نام خود اینباند (نام کانفیگ)",
|
||
"descHOST": "نام میزبان",
|
||
"descID": "UUID کاربر",
|
||
"descSHORT_ID": "۸ کاراکتر اول UUID",
|
||
"descTELEGRAM_ID": "شناسهٔ تلگرام کاربر (در صورت عدم تنظیم خالی)",
|
||
"descSUB_ID": "شناسهٔ اشتراک",
|
||
"descCOMMENT": "توضیحات کاربر",
|
||
"descTRAFFIC_USED": "ترافیک مصرفشده (قابل خواندن برای انسان)",
|
||
"descTRAFFIC_LEFT": "ترافیک باقیمانده (در صورت نامحدود بودن پنهان میشود)",
|
||
"descTRAFFIC_TOTAL": "ترافیک کل (در صورت نامحدود بودن پنهان میشود)",
|
||
"descTRAFFIC_USED_BYTES": "ترافیک مصرفشده به بایت",
|
||
"descTRAFFIC_LEFT_BYTES": "ترافیک باقیمانده به بایت",
|
||
"descTRAFFIC_TOTAL_BYTES": "ترافیک کل به بایت",
|
||
"descUP": "ترافیک آپلود",
|
||
"descDOWN": "ترافیک دانلود",
|
||
"descSTATUS": "فعال / منقضیشده / غیرفعال / مصرفشده",
|
||
"descSTATUS_EMOJI": "وضعیت بهصورت ایموجی (✅ ⏳ 🚫)",
|
||
"descDAYS_LEFT": "روزهای باقیمانده تا انقضا (در صورت نامحدود بودن پنهان میشود)",
|
||
"descTIME_LEFT": "زمان باقیمانده (مثلاً 12d 4h 30m)",
|
||
"descUSAGE_PERCENTAGE": "ترافیک مصرفشده به درصد (در صورت نامحدود بودن پنهان میشود)",
|
||
"descEXPIRE_DATE": "تاریخ انقضا (YYYY-MM-DD)",
|
||
"descJALALI_EXPIRE_DATE": "تاریخ انقضا در تقویم جلالی (YYYY/MM/DD)",
|
||
"descEXPIRE_UNIX": "انقضا بهصورت مهر زمانی Unix (ثانیه)",
|
||
"descCREATED_UNIX": "زمان ایجاد بهصورت مهر زمانی Unix (ثانیه)",
|
||
"descRESET_DAYS": "دورهٔ بازنشانی ترافیک به روز",
|
||
"descRESET_DAY": "روز ماه برای تمدید تقویمی",
|
||
"descPROTOCOL": "پروتکل اینباند (VLESS، VMess، Trojan، …)",
|
||
"descTRANSPORT": "شبکهٔ انتقال (tcp، ws، grpc، …)",
|
||
"descSECURITY": "امنیت انتقال (TLS، REALITY، NONE)"
|
||
},
|
||
"toasts": {
|
||
"list": "بارگذاری میزبانها ناموفق",
|
||
"obtain": "بارگذاری میزبان ناموفق",
|
||
"add": "افزودن میزبان",
|
||
"update": "بهروزرسانی میزبان",
|
||
"delete": "حذف میزبان",
|
||
"badTag": "برچسب نامعتبر",
|
||
"badVlessRoute": "یک عدد بین 0 تا 65535 وارد کنید"
|
||
}
|
||
}
|
||
},
|
||
"tgbot": {
|
||
"noIpRecord": "❗ رکورد آی پی وجود ندارد!"
|
||
},
|
||
"email": {}
|
||
}
|