♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "شناسه سرویس",
"clientIdDescription": "شناسه سرویس اپل، می‌توانید آن را از پورتال توسعه‌دهندگان اپل دریافت کنید",
"clientSecret": "کلید خصوصی",
"clientSecretDescription": "محتوای کلید خصوصی (فایل .p8) که برای احراز هویت با اپل استفاده می‌شود",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با Apple ID خود وارد شوند",
"keyId": "شناسه کلید",
"keyIdDescription": "شناسه کلید خصوصی شما از پورتال توسعه‌دهنده اپل",
"redirectUri": "آدرس بازگشت",
"redirectUriDescription": "لطفاً آدرس API URL هدایت شده را پس از موفقیت در احراز هویت اپل پر کنید. از / در انتها استفاده نکنید.",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"teamId": "شناسه تیم",
"teamIdDescription": "شناسه تیم توسعه‌دهنده اپل"
}
+188 -56
View File
@@ -1,14 +1,149 @@
{
"invite": {
"commissionFirstTimeOnly": "کمیسیون فقط برای خرید اول",
"commissionFirstTimeOnlyDescription": "زمانی که فعال باشد، کمیسیون فقط بر روی اولین پرداخت دعوت‌کننده تولید می‌شود؛ می‌توانید کاربران فردی را در مدیریت کاربران پیکربندی کنید",
"enableForcedInvite": "فعال‌سازی دعوت اجباری",
"enableForcedInviteDescription": "زمانی که فعال باشد، فقط کاربران دعوت‌شده می‌توانند ثبت‌نام کنند",
"inputPlaceholder": "وارد کنید",
"inviteCommissionPercentage": "درصد کمیسیون دعوت",
"inviteCommissionPercentageDescription": "نسبت توزیع کمیسیون جهانی پیش‌فرض؛ می‌توانید نسبت‌های فردی را در مدیریت کاربران پیکربندی کنید",
"inviteSettings": "تنظیمات دعوت",
"saveSuccess": "ذخیره با موفقیت انجام شد"
"apple": {
"clientId": "شناسه سرویس",
"clientIdDescription": "شناسه سرویس اپل، می‌توانید آن را از پورتال توسعه‌دهندگان اپل دریافت کنید",
"clientSecret": "کلید خصوصی",
"clientSecretDescription": "محتوای کلید خصوصی (فایل .p8) که برای احراز هویت با اپل استفاده می‌شود",
"description": "احراز هویت کاربران با حساب‌های اپل",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با Apple ID خود وارد شوند",
"keyId": "شناسه کلید",
"keyIdDescription": "شناسه کلید خصوصی شما از پورتال توسعه‌دهنده اپل",
"redirectUri": "آدرس بازگشت",
"redirectUriDescription": "لطفاً آدرس API URL هدایت شده را پس از موفقیت در احراز هویت اپل پر کنید. از / در انتها استفاده نکنید.",
"teamId": "شناسه تیم",
"teamIdDescription": "شناسه تیم توسعه‌دهنده اپل",
"title": "ورود با اپل"
},
"common": {
"cancel": "لغو",
"save": "ذخیره",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "با موفقیت ذخیره شد"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "مسدود کردن ماشین مجازی",
"blockVirtualMachineDescription": "هنگامی که فعال باشد، دستگاه‌ها از اجرای ماشین‌های مجازی یا شبیه‌سازها جلوگیری خواهند شد",
"communicationKey": "کلید ارتباطی",
"communicationKeyDescription": "کلید ارتباطی برای ارتباط امن بین دستگاه‌ها و سرورها استفاده می‌شود",
"description": "احراز هویت کاربران با شناسه‌های دستگاه",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، شناسه‌های دستگاه‌های مختلف مانند IMEI/IDFA/IDFV/AndroidID/آدرس مک برای ورود و ثبت‌نام پشتیبانی می‌شوند",
"enableSecurity": "فعال‌سازی رمزنگاری ارتباطات",
"enableSecurityDescription": "هنگامی که فعال باشد، ارتباط بین دستگاه‌ها و سرورها رمزنگاری خواهد شد",
"showAds": "نمایش تبلیغات",
"showAdsDescription": "هنگامی که فعال باشد، تبلیغات بر روی دستگاه‌ها نمایش داده خواهد شد",
"title": "احراز هویت دستگاه"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "تنظیمات پایه",
"description": "احراز هویت کاربران با آدرس‌های ایمیل",
"emailSuffixWhitelist": "لیست سفید پسوند ایمیل",
"emailSuffixWhitelistDescription": "هنگامی که فعال شود، تنها ایمیل‌هایی با پسوندهای موجود در فهرست می‌توانند ثبت‌نام کنند",
"emailVerification": "تأیید ایمیل",
"emailVerificationDescription": "هنگامی که فعال شود، کاربران باید ایمیل خود را تأیید کنند",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، ثبت‌نام ایمیلی، ورود، پیوند و جداسازی عملکردها فعال خواهند شد",
"expirationEmailTemplate": "قالب اطلاعیه انقضا",
"expirationTemplate": "اطلاعیه انقضا",
"inputPlaceholder": "مقدار را وارد کنید...",
"logs": "گزارشات",
"logsDescription": "مشاهده تاریخچه ایمیل‌های ارسال شده و وضعیت آن‌ها",
"maintenanceEmailTemplate": "قالب اطلاعیه نگهداری",
"maintenanceTemplate": "اطلاعیه نگهداری",
"sendFailure": "ارسال ایمیل آزمایشی ناموفق بود، لطفاً تنظیمات را بررسی کنید.",
"sendSuccess": "ایمیل آزمایشی با موفقیت ارسال شد.",
"sendTestEmail": "ارسال ایمیل آزمایشی",
"sendTestEmailDescription": "ارسال یک ایمیل آزمایشی برای تأیید پیکربندی.",
"senderAddress": "آدرس فرستنده",
"senderAddressDescription": "آدرس ایمیل پیش‌فرض برای ارسال ایمیل‌ها استفاده می‌شود.",
"smtpAccount": "حساب SMTP",
"smtpAccountDescription": "حساب ایمیلی که برای احراز هویت استفاده می‌شود.",
"smtpEncryptionMethod": "روش رمزگذاری SMTP",
"smtpEncryptionMethodDescription": "انتخاب کنید که آیا می‌خواهید رمزگذاری SSL/TLS را فعال کنید.",
"smtpPassword": "رمز عبور SMTP",
"smtpPasswordDescription": "رمز عبور برای حساب SMTP.",
"smtpServerAddress": "آدرس سرور SMTP",
"smtpServerAddressDescription": "آدرس سروری را که برای ارسال ایمیل‌ها استفاده می‌شود مشخص کنید.",
"smtpServerPort": "پورت سرور SMTP",
"smtpServerPortDescription": "پورت مورد استفاده برای اتصال به سرور SMTP را مشخص کنید.",
"smtpSettings": "تنظیمات SMTP",
"templateVariables": {
"code": {
"description": "کد تأیید ۶ رقمی",
"title": "کد تأیید"
},
"expire": {
"description": "زمان اعتبار کد تأیید (دقیقه)",
"title": "مدت اعتبار"
},
"expireDate": {
"description": "تاریخ انقضای سرویس، به کاربران یادآوری می‌کند که کی سرویس منقضی می‌شود",
"title": "تاریخ انقضا"
},
"maintenanceDate": {
"description": "تاریخ نگهداری سیستم، تاریخ شروع نگهداری را نمایش می‌دهد",
"title": "تاریخ نگهداری"
},
"maintenanceTime": {
"description": "زمان تخمینی نگهداری، دوره یا مدت زمان نگهداری را نمایش می‌دهد",
"title": "مدت زمان نگهداری"
},
"siteLogo": {
"description": "آدرس تصویر لوگوی وب‌سایت",
"title": "لوگوی سایت"
},
"siteName": {
"description": "نام وب‌سایت فعلی",
"title": "نام سایت"
},
"title": "متغیرهای قالب ایمیل",
"type": {
"conditionalSyntax": "از نحو شرطی برای تغییر محتوا بر اساس نوع پشتیبانی می‌کند",
"description": "شناسه نوع ایمیل، ۱ برای کد تأیید ثبت‌نام، سایرین برای کد تأیید بازنشانی رمز عبور",
"title": "نوع ایمیل"
}
},
"title": "احراز هویت ایمیل",
"trafficExceedEmailTemplate": "قالب اطلاعیه محدودیت ترافیک",
"trafficTemplate": "محدودیت ترافیک",
"verifyEmailTemplate": "قالب ایمیل تأیید",
"verifyTemplate": "ایمیل تأیید",
"whitelistSuffixes": "پسوندهای لیست سفید",
"whitelistSuffixesDescription": "برای تأیید ایمیل در هنگام ثبت‌نام استفاده می‌شود؛ هر خط یک مورد",
"whitelistSuffixesPlaceholder": "پسوندهای ایمیل را وارد کنید، هر کدام در یک خط"
},
"facebook": {
"clientId": "شناسه مشتری",
"clientIdDescription": "شناسه برنامه فیسبوک از کنسول توسعه‌دهندگان فیسبوک",
"clientSecret": "رمز مشتری",
"clientSecretDescription": "رمز مخفی برنامه فیسبوک از کنسول توسعه‌دهندگان فیسبوک",
"description": "احراز هویت کاربران با حساب‌های فیسبوک",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با حساب فیسبوک خود وارد شوند",
"title": "ورود با فیسبوک"
},
"github": {
"clientId": "شناسه مشتری GitHub",
"clientIdDescription": "شناسه مشتری از تنظیمات برنامه OAuth GitHub شما",
"clientSecret": "رمز مشتری GitHub",
"clientSecretDescription": "رمز مخفی مشتری از تنظیمات برنامه OAuth گیت‌هاب شما",
"description": "احراز هویت کاربران با حساب‌های گیت‌هاب",
"enable": "فعال‌سازی احراز هویت GitHub",
"enableDescription": "اجازه دهید کاربران با حساب‌های GitHub خود وارد شوند",
"title": "ورود با گیت‌هاب"
},
"google": {
"clientId": "شناسه مشتری",
"clientIdDescription": "شناسه مشتری OAuth 2.0 گوگل از کنسول ابری گوگل",
"clientSecret": "راز مشتری",
"clientSecretDescription": "رمز مشتری OAuth 2.0 گوگل از کنسول Google Cloud",
"description": "احراز هویت کاربران با حساب‌های گوگل",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با حساب گوگل خود وارد شوند",
"title": "ورود با گوگل"
},
"log": {
"content": "محتوا",
@@ -23,52 +158,49 @@
"to": "گیرنده",
"updatedAt": "تاریخ به‌روزرسانی"
},
"register": {
"day": "روز",
"hour": "ساعت",
"ipRegistrationLimit": "محدودیت ثبت‌نام IP",
"ipRegistrationLimitDescription": "زمانی که فعال باشد، IPهایی که شرایط قوانین را برآورده می‌کنند از ثبت‌نام محدود خواهند شد؛ توجه داشته باشید که تعیین IP ممکن است به دلیل CDNها یا پروکسی‌های جلویی مشکلاتی ایجاد کند",
"minute": "دقیقه",
"month": "ماه",
"noLimit": "بدون محدودیت",
"penaltyTime": "زمان جریمه (دقیقه)",
"penaltyTimeDescription": "کاربران باید منتظر بمانند تا زمان جریمه به پایان برسد قبل از اینکه دوباره ثبت‌نام کنند",
"registerSettings": "تنظیمات ثبت‌نام",
"registrationLimitCount": "تعداد محدودیت ثبت‌نام",
"registrationLimitCountDescription": "پس از رسیدن به محدودیت ثبت‌نام، جریمه را فعال کنید",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"stopNewUserRegistration": "متوقف کردن ثبت‌نام کاربران جدید",
"stopNewUserRegistrationDescription": "زمانی که فعال باشد، هیچ‌کس نمی‌تواند ثبت‌نام کند",
"trialDuration": "مدت آزمایشی",
"trialRegistration": "ثبت‌نام آزمایشی",
"trialRegistrationDescription": "فعال‌سازی ثبت‌نام آزمایشی؛ ابتدا بسته آزمایشی و مدت زمان را تغییر دهید",
"trialSubscribePlan": "طرح اشتراک آزمایشی",
"trialSubscribePlanDescription": "طرح اشتراک آزمایشی را انتخاب کنید",
"year": "سال"
"phone": {
"accessLabel": "دسترسی",
"applyPlatform": "اعمال پلتفرم",
"description": "احراز هویت کاربران با شماره‌های تلفن",
"enable": "فعال کردن",
"enableTip": "پس از فعال‌سازی، عملکردهای ثبت‌نام، ورود، اتصال و قطع اتصال تلفن همراه فعال خواهند شد",
"endpointLabel": "نقطه پایانی",
"logs": "لاگ‌ها",
"logsDescription": "مشاهده تاریخچه پیامک‌های ارسال شده و وضعیت آن‌ها",
"phoneNumberLabel": "شماره تلفن",
"placeholders": {
"template": "کد تأیید شما {code} است و به مدت ۵ دقیقه معتبر است"
},
"platform": "پلتفرم پیامک",
"platformConfigTip": "لطفاً پیکربندی {key} ارائه شده را پر کنید",
"platformTip": "لطفاً پلتفرم پیامک را انتخاب کنید",
"secretLabel": "رمز",
"sendFailed": "ارسال ناموفق بود",
"sendSuccess": "ارسال موفقیت‌آمیز",
"settings": "تنظیمات",
"signNameLabel": "نام امضا",
"template": "قالب پیامک",
"templateCodeLabel": "کد الگو",
"templateTip": "لطفاً الگوی پیامک را پر کنید، {code} را در وسط نگه دارید، در غیر این صورت عملکرد پیامک کار نخواهد کرد",
"testSms": "ارسال پیامک آزمایشی",
"testSmsPhone": "شماره تلفن را وارد کنید",
"testSmsTip": "ارسال یک پیامک آزمایشی برای تأیید تنظیمات شما",
"title": "احراز هویت تلفن",
"updateSuccess": "به‌روزرسانی با موفقیت انجام شد",
"whitelistAreaCode": "کد منطقه لیست سفید",
"whitelistAreaCodeTip": "لطفاً کدهای منطقه لیست سفید را وارد کنید، مثلاً 1، 852، 886، 888",
"whitelistValidation": "تأیید لیست سفید",
"whitelistValidationTip": "زمانی که فعال باشد، فقط کدهای منطقه در لیست سفید می‌توانند پیامک ارسال کنند"
},
"verify": {
"inputPlaceholder": "وارد کنید",
"loginVerificationCode": "کد تأیید ورود",
"loginVerificationCodeDescription": "تأیید انسانی در حین ورود",
"registrationVerificationCode": "کد تأیید ثبت‌نام",
"registrationVerificationCodeDescription": "تأیید انسانی در حین ثبت‌نام",
"resetPasswordVerificationCode": "کد تأیید بازنشانی رمز عبور",
"resetPasswordVerificationCodeDescription": "تأیید انسانی در حین بازنشانی رمز عبور",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"turnstileSecretDescription": "کلید مخفی ترنستایل ارائه شده توسط Cloudflare",
"turnstileSiteKeyDescription": "کلید سایت ترنستایل ارائه شده توسط Cloudflare",
"verifySettings": "تنظیمات تأیید"
},
"verify-code": {
"dailyLimit": "حداکثر روزانه",
"dailyLimitDescription": "حداکثر تعداد کدهای تأیید که می‌توان در روز ارسال کرد",
"expireTime": "زمان انقضا",
"expireTimeDescription": "زمان انقضای کد تأیید (ثانیه)",
"interval": "فاصله ارسال",
"intervalDescription": "حداقل فاصله بین ارسال کدهای تأیید (ثانیه)",
"saveSuccess": "ذخیره با موفقیت",
"second": "ثانیه",
"times": "بار",
"verifyCodeSettings": "تنظیمات کد تأیید"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "شناسه ربات",
"clientIdDescription": "شناسه ربات تلگرام، می‌توانید آن را از @BotFather دریافت کنید",
"clientSecret": "توکن ربات",
"clientSecretDescription": "توکن ربات تلگرام، می‌توانید آن را از @BotFather دریافت کنید",
"description": "احراز هویت کاربران با حساب‌های تلگرام",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، عملکردهای ثبت‌نام، ورود، اتصال و قطع اتصال تلفن همراه فعال خواهند شد",
"title": "ورود با تلگرام"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "مسدود کردن ماشین مجازی",
"blockVirtualMachineDescription": "هنگامی که فعال باشد، دستگاه‌ها از اجرای ماشین‌های مجازی یا شبیه‌سازها جلوگیری خواهند شد",
"communicationKey": "کلید ارتباطی",
"communicationKeyDescription": "کلید ارتباطی برای ارتباط امن بین دستگاه‌ها و سرورها استفاده می‌شود",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، شناسه‌های دستگاه‌های مختلف مانند IMEI/IDFA/IDFV/AndroidID/آدرس مک برای ورود و ثبت‌نام پشتیبانی می‌شوند",
"enableSecurity": "فعال‌سازی رمزنگاری ارتباطات",
"enableSecurityDescription": "هنگامی که فعال باشد، ارتباط بین دستگاه‌ها و سرورها رمزنگاری خواهد شد",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "ذخیره‌سازی با موفقیت انجام شد",
"showAds": "نمایش تبلیغات",
"showAdsDescription": "هنگامی که فعال باشد، تبلیغات بر روی دستگاه‌ها نمایش داده خواهد شد"
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "تنظیمات سرور SMTP و گزینه‌های تأیید ایمیل را پیکربندی کنید",
"emailLogsDescription": "مشاهده تاریخچه ایمیل‌های ارسال شده و وضعیت آن‌ها",
"emailSuffixWhitelist": "لیست سفید پسوند ایمیل",
"emailSuffixWhitelistDescription": "هنگامی که فعال شود، تنها ایمیل‌هایی با پسوندهای موجود در فهرست می‌توانند ثبت‌نام کنند",
"emailVerification": "تأیید ایمیل",
"emailVerificationDescription": "هنگامی که فعال شود، کاربران باید ایمیل خود را تأیید کنند",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، ثبت‌نام ایمیلی، ورود، پیوند و جداسازی عملکردها فعال خواهند شد",
"expiration_email_template": "قالب اطلاعیه انقضا",
"expiration_email_templateDescription": "جای‌گذاری‌های {after}.variable{before} با داده‌های واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
"failed": "ناموفق",
"inputPlaceholder": "مقدار را وارد کنید...",
"logs": "گزارشات",
"maintenance_email_template": "قالب اطلاعیه نگهداری",
"maintenance_email_templateDescription": "جایگزین‌های {after}.variable{before} با داده‌های واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
"recipient": "گیرنده",
"saveFailed": "ذخیره‌سازی پیکربندی ناموفق بود",
"saveSuccess": "پیکربندی با موفقیت ذخیره شد.",
"sendFailure": "ارسال ایمیل آزمایشی ناموفق بود، لطفاً تنظیمات را بررسی کنید.",
"sendSuccess": "ایمیل آزمایشی با موفقیت ارسال شد.",
"sendTestEmail": "ارسال ایمیل آزمایشی",
"sendTestEmailDescription": "ارسال یک ایمیل آزمایشی برای تأیید پیکربندی.",
"senderAddress": "آدرس فرستنده",
"senderAddressDescription": "آدرس ایمیل پیش‌فرض برای ارسال ایمیل‌ها استفاده می‌شود.",
"sent": "ارسال شد",
"sentAt": "ارسال شده در",
"settings": "تنظیمات",
"smtpAccount": "حساب SMTP",
"smtpAccountDescription": "حساب ایمیلی که برای احراز هویت استفاده می‌شود.",
"smtpEncryptionMethod": "روش رمزگذاری SMTP",
"smtpEncryptionMethodDescription": "انتخاب کنید که آیا می‌خواهید رمزگذاری SSL/TLS را فعال کنید.",
"smtpPassword": "رمز عبور SMTP",
"smtpPasswordDescription": "رمز عبور برای حساب SMTP.",
"smtpServerAddress": "آدرس سرور SMTP",
"smtpServerAddressDescription": "آدرس سروری را که برای ارسال ایمیل‌ها استفاده می‌شود مشخص کنید.",
"smtpServerPort": "پورت سرور SMTP",
"smtpServerPortDescription": "پورت مورد استفاده برای اتصال به سرور SMTP را مشخص کنید.",
"status": "وضعیت",
"subject": "موضوع",
"template": "الگو",
"traffic_exceed_email_template": "الگوی اعلان ترافیک بیش از حد",
"traffic_exceed_email_templateDescription": "جایگزین‌های {after}.variable{before} با داده‌های واقعی خواهد شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
"verify_email_template": "قالب ایمیل تأیید",
"verify_email_templateDescription": "جای‌گذاری‌های {after}.variable{before} با داده‌های واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
"whitelistSuffixes": "پسوندهای لیست سفید",
"whitelistSuffixesDescription": "برای تأیید ایمیل در هنگام ثبت‌نام استفاده می‌شود؛ هر خط یک مورد",
"whitelistSuffixesPlaceholder": "پسوندهای ایمیل را وارد کنید، هر کدام در یک خط"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "شناسه مشتری",
"clientIdDescription": "شناسه برنامه فیسبوک از کنسول توسعه‌دهندگان فیسبوک",
"clientSecret": "رمز مشتری",
"clientSecretDescription": "رمز مخفی برنامه فیسبوک از کنسول توسعه‌دهندگان فیسبوک",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با حساب فیسبوک خود وارد شوند",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "شناسه مشتری GitHub",
"clientIdDescription": "شناسه مشتری از تنظیمات برنامه OAuth GitHub شما",
"clientSecret": "رمز مشتری GitHub",
"clientSecretDescription": "رمز مخفی مشتری از تنظیمات برنامه OAuth گیت‌هاب شما",
"enable": "فعال‌سازی احراز هویت GitHub",
"enableDescription": "اجازه دهید کاربران با حساب‌های GitHub خود وارد شوند",
"saveFailed": "ذخیره تنظیمات GitHub ناموفق بود",
"saveSuccess": "تنظیمات GitHub با موفقیت ذخیره شد"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "شناسه مشتری",
"clientIdDescription": "شناسه مشتری OAuth 2.0 گوگل از کنسول ابری گوگل",
"clientSecret": "راز مشتری",
"clientSecretDescription": "رمز مشتری OAuth 2.0 گوگل از کنسول Google Cloud",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، کاربران می‌توانند با حساب گوگل خود وارد شوند",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "دسترسی",
"applyPlatform": "اعمال پلتفرم",
"enable": "فعال کردن",
"enableTip": "پس از فعال‌سازی، عملکردهای ثبت‌نام، ورود، اتصال و قطع اتصال تلفن همراه فعال خواهند شد",
"endpointLabel": "نقطه پایانی",
"logs": "لاگ‌ها",
"phoneNumberLabel": "شماره تلفن",
"placeholders": {
"template": "کد تأیید شما {code} است و به مدت ۵ دقیقه معتبر است",
"templateCode": "کد قالب را وارد کنید"
},
"platform": "پلتفرم پیامک",
"platformConfigTip": "لطفاً پیکربندی {key} ارائه شده را پر کنید",
"platformTip": "لطفاً پلتفرم پیامک را انتخاب کنید",
"secretLabel": "رمز",
"sendFailed": "ارسال ناموفق بود",
"sendSuccess": "ارسال موفقیت‌آمیز",
"settings": "تنظیمات",
"signNameLabel": "نام امضا",
"template": "قالب پیامک",
"templateCodeLabel": "کد الگو",
"templateTip": "لطفاً الگوی پیامک را پر کنید، {code} را در وسط نگه دارید، در غیر این صورت عملکرد پیامک کار نخواهد کرد",
"testSms": "ارسال پیامک آزمایشی",
"testSmsPhone": "شماره تلفن را وارد کنید",
"testSmsTip": "ارسال یک پیامک آزمایشی برای تأیید تنظیمات شما",
"updateSuccess": "به‌روزرسانی با موفقیت انجام شد",
"whitelistAreaCode": "کد منطقه لیست سفید",
"whitelistAreaCodeTip": "لطفاً کدهای منطقه لیست سفید را وارد کنید، مثلاً 1، 852، 886، 888",
"whitelistValidation": "تأیید لیست سفید",
"whitelistValidationTip": "زمانی که فعال باشد، فقط کدهای منطقه در لیست سفید می‌توانند پیامک ارسال کنند"
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "افزودن قانون",
"createSuccess": "قانون با موفقیت ایجاد شد",
"createdAt": "تاریخ ایجاد",
"default": "پیش‌فرض",
"defaultRule": "قانون پیش‌فرض",
"delete": "حذف",
"deleteSuccess": "قانون با موفقیت حذف شد",
"deleteWarning": "آیا مطمئن هستید که می‌خواهید این قانون را حذف کنید؟ این عمل قابل بازگشت نیست.",
"direct": "مستقیم",
"downloadTemplate": "دانلود الگو",
"edit": "ویرایش",
"editRule": "ویرایش قانون",
@@ -29,11 +32,14 @@
"noValidRules": "هیچ قانونی یافت نشد",
"pleaseUploadFile": "لطفاً یک فایل YAML بارگذاری کنید",
"preview": "پیش‌نمایش",
"reject": "رد کردن",
"rulesFormat": "فرمت قانون: نوع قانون، محتوای تطابق، [سیاست]، که سیاست اختیاری است.\nاگر سیاست مشخص نشود، نام گروه قانونی فعلی به طور خودکار استفاده خواهد شد. مثال‌ها:",
"rulesLabel": "محتوای قانون",
"searchRule": "جستجوی نام قانون",
"selectTags": "انتخاب برچسب‌های گره",
"selectType": "نوع قانون را انتخاب کنید",
"tags": "برچسب‌های گره",
"tagsLabel": "برچسب‌های گره",
"type": "نوع قانون",
"updateSuccess": "قانون با موفقیت به‌روزرسانی شد"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "توضیحات",
"edit": "ویرایش",
"editNodeGroup": "ویرایش گروه نود",
"form": {
"cancel": "لغو",
"confirm": "تأیید",
"description": "توضیحات",
"name": "نام"
},
"name": "نام",
"title": "فهرست گروه نود",
"updatedAt": "به‌روزرسانی شده در"
},
"groupForm": {
"cancel": "لغو",
"confirm": "تأیید",
"description": "توضیحات",
"name": "نام"
},
"node": {
"abnormal": "غیرعادی",
"actions": "اقدامات",
"address": "آدرس",
"all": "همه",
"basicInfo": "اطلاعات پایه",
"cancel": "لغو",
"confirm": "تأیید",
"confirmDelete": "آیا مطمئن هستید که می‌خواهید حذف کنید؟",
@@ -59,96 +60,120 @@
"delete": "حذف",
"deleteSuccess": "با موفقیت حذف شد",
"deleteWarning": "پس از حذف، داده‌ها قابل بازیابی نخواهند بود. لطفاً با احتیاط ادامه دهید.",
"detail": "جزئیات",
"disabled": "غیرفعال",
"disk": "دیسک",
"edit": "ویرایش",
"editNode": "ویرایش گره",
"enable": "فعال‌سازی",
"form": {
"allowInsecure": "اجازه به ناامن",
"cancel": "لغو",
"city": "شهر",
"confirm": "تأیید",
"country": "کشور",
"edit": "ویرایش",
"editSecurity": "ویرایش تنظیمات امنیتی",
"enableTLS": "فعال‌سازی TLS",
"encryptionMethod": "روش رمزنگاری",
"flow": "الگوریتم کنترل جریان",
"groupId": "گروه نود",
"hopInterval": "فاصله پرش",
"hopPorts": "پورت‌های پرش",
"hopPortsPlaceholder": "پورت‌های متعدد را با کاما جدا کنید",
"name": "نام",
"obfsPassword": "رمز عبور مبهم‌سازی",
"obfsPasswordPlaceholder": "برای عدم مبهم‌سازی خالی بگذارید",
"path": "مسیر",
"pleaseSelect": "لطفاً انتخاب کنید",
"port": "پورت سرور",
"protocol": "پروتکل",
"relayHost": "میزبان رله",
"relayMode": "حالت رله",
"relayModeOptions": {
"all": "همه",
"none": "هیچ‌کدام",
"random": "تصادفی"
},
"relayPort": "پورت رله",
"relayPrefix": "پیشوند رله",
"remarks": "توضیحات",
"security": "امنیت",
"securityConfig": "پیکربندی امنیتی",
"security_config": {
"fingerprint": "اثر انگشت",
"privateKey": "کلید خصوصی",
"privateKeyPlaceholder": "برای تولید خودکار خالی بگذارید",
"publicKey": "کلید عمومی",
"publicKeyPlaceholder": "برای تولید خودکار خالی بگذارید",
"serverAddress": "آدرس سرور",
"serverAddressPlaceholder": "آدرس هدف REALITY، به‌طور پیش‌فرض استفاده از SNI",
"serverName": "نام سرور (SNI)",
"serverNamePlaceholder": "REALITY لازم است، با بک‌اند سازگار باشد",
"serverPort": "پورت سرور",
"serverPortPlaceholder": "پورت هدف REALITY، به‌طور پیش‌فرض ۴۴۳",
"shortId": "شناسه کوتاه",
"shortIdPlaceholder": "برای تولید خودکار خالی بگذارید",
"sni": "اشاره‌گر نام سرور (SNI)"
},
"selectEncryptionMethod": "انتخاب روش رمزنگاری",
"selectNodeGroup": "انتخاب گروه گره",
"selectProtocol": "انتخاب پروتکل",
"selectRelayMode": "انتخاب حالت رله",
"serverAddr": "آدرس سرور",
"serverKey": "کلید سرور",
"serverName": "نام سرویس",
"speedLimit": "محدودیت سرعت",
"speedLimitPlaceholder": "نامحدود",
"tags": "برچسب‌ها",
"tagsPlaceholder": "برای وارد کردن چندین برچسب از Enter یا ویرگول (,) استفاده کنید",
"trafficRatio": "نرخ ترافیک",
"transport": "پیکربندی پروتکل انتقال",
"transportConfig": "پیکربندی پروتکل انتقال",
"transportHost": "آدرس سرور انتقال",
"transportPath": "مسیر انتقال",
"transportServerName": "نام سرور انتقال"
},
"enabled": "فعال",
"expireTime": "زمان انقضا",
"hide": "پنهان کردن",
"id": ناسه",
"ipAddresses": "آدرس‌های IP",
"lastUpdated": "آخرین به‌روزرسانی",
"location": "مکان",
"memory": "حافظه",
"name": "نام",
"noData": "--",
"node": "گره",
"nodeDetail": "جزئیات گره",
"nodeGroup": "گروه گره",
"nodeStatus": "وضعیت گره",
"normal": "عادی",
"onlineCount": "کاربران آنلاین",
"onlineUsers": "کاربران آنلاین",
"protocol": "پروتکل",
"rate": "نرخ",
"relay": "رله",
"serverAddr": "آدرس سرور",
"speedLimit": "محدودیت سرعت",
"status": "وضعیت",
"subscribeId": "شناسه اشتراک",
"subscribeName": "نام اشتراک",
"subscription": "اشتراک",
"tags": "برچسب‌ها",
"trafficRatio": "نرخ ترافیک",
"trafficUsage": "استفاده از ترافیک",
"type": "نوع",
"updateSuccess": "به‌روزرسانی موفقیت‌آمیز بود",
"updatedAt": "به‌روزرسانی در"
"updatedAt": "به‌روزرسانی در",
"userAccount": "حساب کاربری",
"userDetail": "جزئیات کاربر",
"userId": "شناسه کاربر"
},
"nodeForm": {
"allowInsecure": "اجازه به ناامن",
"cancel": "لغو",
"city": "شهر",
"confirm": "تأیید",
"congestionController": "کنترل ترافیک",
"country": "کشور",
"disableSni": "غیرفعال کردن SNI",
"edit": "ویرایش",
"editSecurity": "ویرایش تنظیمات امنیتی",
"enableTLS": "فعال کردن TLS",
"encryptionMethod": "روش رمزنگاری",
"fingerprint": "اثر انگشت",
"flow": "الگوریتم کنترل جریان",
"groupId": "گروه گره",
"hopInterval": "فاصله پرش",
"hopPorts": "پورت‌های پرش",
"hopPortsPlaceholder": "پورت‌های متعدد را با کاما جدا کنید",
"name": "نام",
"obfsPassword": "رمز عبور پنهان‌سازی",
"obfsPasswordPlaceholder": "برای عدم پنهان‌سازی خالی بگذارید",
"path": "مسیر",
"pleaseSelect": "لطفاً انتخاب کنید",
"port": "پورت سرور",
"protocol": "پروتکل",
"reduceRtt": "کاهش RTT",
"relayHost": "میزبان رله",
"relayMode": "حالت رله",
"relayPort": "پورت رله",
"relayPrefix": "پیشوند رله",
"remarks": "یادداشت‌ها",
"security": "امنیت",
"securityConfig": "تنظیمات امنیتی",
"selectEncryptionMethod": "انتخاب روش رمزنگاری",
"selectNodeGroup": "انتخاب گروه گره",
"selectProtocol": "انتخاب پروتکل",
"selectRelayMode": "انتخاب حالت رله",
"serverAddr": "آدرس سرور",
"serverKey": "کلید سرور",
"serverName": "نام سرویس",
"speedLimit": "محدودیت سرعت",
"speedLimitPlaceholder": "نامحدود",
"tags": "برچسب‌ها",
"tagsPlaceholder": "برای وارد کردن چندین برچسب از Enter یا کاما (,) استفاده کنید",
"trafficRatio": "نسبت ترافیک",
"transport": "تنظیمات پروتکل حمل و نقل",
"transportConfig": "تنظیمات پروتکل حمل و نقل",
"transportHost": "آدرس سرور حمل و نقل",
"transportPath": "مسیر حمل و نقل",
"transportServerName": "نام سرور حمل و نقل",
"udpRelayMode": "حالت رله UDP"
},
"relayModeOptions": {
"all": "همه",
"none": "هیچ‌کدام",
"random": "تصادفی"
},
"securityConfig": {
"fingerprint": "اثر انگشت",
"privateKey": "کلید خصوصی",
"privateKeyPlaceholder": "برای تولید خودکار خالی بگذارید",
"publicKey": "کلید عمومی",
"publicKeyPlaceholder": "برای تولید خودکار خالی بگذارید",
"serverAddress": "آدرس سرور",
"serverAddressPlaceholder": "آدرس هدف REALITY، به‌طور پیش‌فرض از SNI استفاده می‌کند",
"serverName": "نام سرور (SNI)",
"serverNamePlaceholder": "نیاز به REALITY، با backend سازگار باشد",
"serverPort": "پورت سرور",
"serverPortPlaceholder": "پورت هدف REALITY، به‌طور پیش‌فرض 443",
"shortId": "شناسه کوتاه",
"shortIdPlaceholder": "برای تولید خودکار خالی بگذارید",
"sni": "نشان‌دهنده نام سرور (SNI)"
},
"tabs": {
"node": "نود",
+92 -11
View File
@@ -1,28 +1,77 @@
{
"authSettings": "تنظیمات احراز هویت",
"basicSettings": "تنظیمات پایه",
"common": {
"cancel": "لغو",
"save": "ذخیره تنظیمات",
"saveFailed": "ذخیره ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد"
},
"currency": {
"accessKey": "کلید دسترسی",
"accessKeyDescription": "کلید API که به صورت رایگان توسط https://exchangerate.host ارائه می‌شود",
"accessKeyDescription": "کلید API که به صورت رایگان توسط {url} ارائه می‌شود",
"accessKeyPlaceholder": "کلید API را وارد کنید",
"currencySymbol": "نماد ارز",
"currencySymbolDescription": "فقط برای نمایش استفاده می‌شود؛ تغییر این مورد بر تمام واحدهای ارزی در سیستم تأثیر خواهد گذاشت",
"currencySymbolPlaceholder": "تومان",
"currencyUnit": "واحد ارز",
"currencyUnitDescription": "فقط برای نمایش استفاده می‌شود؛ تغییر این مورد بر تمام واحدهای ارزی در سیستم تأثیر خواهد گذاشت",
"saveSuccess": "ذخیره‌سازی موفقیت‌آمیز"
"currencyUnitPlaceholder": "IRR",
"description": "تنظیم واحدهای ارزی، نمادها و تنظیمات API نرخ ارز",
"title": "تنظیمات ارز"
},
"privacy-policy": {
"invite": {
"description": "تنظیمات دعوت کاربران و پاداش ارجاع را پیکربندی کنید",
"forcedInvite": "نیاز به دعوتنامه برای ثبت‌نام",
"forcedInviteDescription": "با فعال‌سازی، کاربران باید از طریق لینک دعوتنامه ثبت‌نام کنند",
"inputPlaceholder": "لطفاً وارد کنید",
"onlyFirstPurchase": "فقط پاداش خرید اول",
"onlyFirstPurchaseDescription": "با فعال‌سازی، ارجاع‌دهندگان فقط برای خرید اول کاربران ارجاعی پاداش دریافت می‌کنند",
"referralPercentage": "درصد پاداش ارجاع",
"referralPercentageDescription": "درصد پاداشی که به ارجاع‌دهندگان داده می‌شود",
"saveFailed": "ذخیره ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"title": "تنظیمات دعوتنامه"
},
"privacyPolicy": {
"description": "محتوای سیاست حفظ حریم خصوصی را ویرایش و مدیریت کنید",
"title": "سیاست حفظ حریم خصوصی"
},
"register": {
"day": "روز(ها)",
"defaultSubscribe": "اشتراک پیش‌فرض",
"defaultSubscribeDescription": "طرح اشتراک پیش‌فرض برای کاربران جدید",
"description": "تنظیمات مربوط به ثبت‌نام کاربران را پیکربندی کنید",
"inputPlaceholder": "لطفاً وارد کنید",
"ipRegistrationLimit": "محدودیت ثبت‌نام IP",
"ipRegistrationLimitDescription": "تعداد ثبت‌نام‌ها از یک آدرس IP را محدود کنید",
"registrationLimitCount": "تعداد محدودیت ثبت‌نام",
"registrationLimitCountDescription": "تعداد ثبت‌نام‌های مجاز در هر IP در دوره محدودیت",
"registrationLimitExpire": "دوره محدودیت",
"registrationLimitExpireDescription": "مدت زمان برای محدودیت ثبت‌نام IP",
"saveFailed": "ذخیره ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"selectPlaceholder": "لطفاً انتخاب کنید",
"stopNewUserRegistration": "متوقف کردن ثبت‌نام کاربران جدید",
"stopNewUserRegistrationDescription": "با فعال‌سازی، ثبت‌نام کاربران جدید غیرفعال خواهد شد",
"title": "تنظیمات ثبت‌نام",
"trialDay": "روزهای آزمایشی",
"trialDayDescription": "روزهای آزمایشی به کاربران جدید در زمان ثبت‌نام داده می‌شود",
"trialFlow": "ترافیک آزمایشی",
"trialFlowDescription": "ترافیک آزمایشی به کاربران جدید در زمان ثبت‌نام داده می‌شود"
},
"site": {
"customData": "داده‌های سفارشی",
"customDataDescription": "داده‌های سفارشی، استفاده شده برای داده‌های سفارشی سایت",
"customHtml": "HTML سفارشی",
"customHtmlDescription": "کد HTML سفارشی که باید در انتهای تگ body سایت وارد شود.",
"description": "اطلاعات پایه سایت، لوگو، دامنه و سایر تنظیمات را پیکربندی کنید",
"keywords": "کلمات کلیدی",
"keywordsDescription": "برای اهداف سئو استفاده می‌شود",
"keywordsPlaceholder": "کلیدواژه1، کلیدواژه2، کلیدواژه3",
"logo": "لوگو",
"logoDescription": "برای نمایش لوگو در مکان‌های تعیین‌شده استفاده می‌شود",
"logoPlaceholder": "آدرس URL لوگو را وارد کنید، بدون '/' در انتها",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"siteDesc": "توضیحات سایت",
"siteDescDescription": "برای نمایش توضیحات سایت در مکان‌های تعیین‌شده استفاده می‌شود",
"siteDescPlaceholder": "توضیحات سایت را وارد کنید",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "لطفاً آدرس دامنه را وارد کنید. برای چندین دامنه، لطفاً هر کدام را در یک خط وارد کنید.",
"siteName": "نام سایت",
"siteNameDescription": "برای نمایش نام سایت در مکان‌های تعیین‌شده استفاده می‌شود",
"siteNamePlaceholder": "نام سایت را وارد کنید"
},
"tabs": {
"currency": "ارز",
"site": "سایت",
"tos": "شرایط خدمات"
"siteNamePlaceholder": "نام سایت را وارد کنید",
"title": "تنظیمات سایت"
},
"siteSettings": "تنظیمات سایت",
"tos": {
"saveSuccess": "ذخیره با موفقیت انجام شد",
"description": "محتوای شرایط خدمات را ویرایش و مدیریت کنید",
"title": "شرایط خدمات"
},
"userSecuritySettings": "کاربر و امنیت",
"verify": {
"description": "تنظیمات CAPTCHA و تأیید هویت Turnstile را پیکربندی کنید",
"enableLoginVerify": "فعال‌سازی تأیید در ورود",
"enableLoginVerifyDescription": "با فعال‌سازی، کاربران باید در زمان ورود تأیید هویت انسانی را بگذرانند",
"enablePasswordVerify": "فعال‌سازی تأیید در بازنشانی رمز عبور",
"enablePasswordVerifyDescription": "با فعال‌سازی، کاربران باید در زمان بازنشانی رمز عبور تأیید هویت انسانی را بگذرانند",
"enableRegisterVerify": "فعال‌سازی تأیید در ثبت‌نام",
"enableRegisterVerifyDescription": "با فعال‌سازی، کاربران باید در زمان ثبت‌نام تأیید هویت انسانی را بگذرانند",
"inputPlaceholder": "لطفاً وارد کنید",
"saveFailed": "ذخیره ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"title": "تأیید امنیتی",
"turnstileSecret": "کلید مخفی Turnstile",
"turnstileSecretDescription": "کلید مخفی Turnstile Cloudflare برای تأیید در backend",
"turnstileSecretPlaceholder": "کلید مخفی Turnstile را وارد کنید",
"turnstileSiteKey": "کلید سایت Turnstile",
"turnstileSiteKeyDescription": "کلید سایت Turnstile Cloudflare برای تأیید در frontend",
"turnstileSiteKeyPlaceholder": "کلید سایت Turnstile را وارد کنید"
},
"verifyCode": {
"dailyLimit": "محدودیت ارسال روزانه",
"dailyLimitDescription": "حداکثر تعداد کدهای تأیید که هر کاربر می‌تواند در روز ارسال کند",
"description": "قوانین و محدودیت‌های ارسال کد تأیید ایمیل را پیکربندی کنید",
"expireTime": "مدت اعتبار کد تأیید",
"expireTimeDescription": "مدت اعتبار کدهای تأیید (ثانیه)",
"inputPlaceholder": "لطفاً وارد کنید",
"interval": "فاصله ارسال",
"intervalDescription": "حداقل فاصله بین دو ارسال کد تأیید (ثانیه)",
"saveFailed": "ذخیره ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد",
"seconds": "ثانیه",
"times": "بار(ها)",
"title": "تنظیمات کد تأیید"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "شناسه ربات",
"clientIdDescription": "شناسه ربات تلگرام، می‌توانید آن را از @BotFather دریافت کنید",
"clientSecret": "توکن ربات",
"clientSecretDescription": "توکن ربات تلگرام، می‌توانید آن را از @BotFather دریافت کنید",
"enable": "فعال کردن",
"enableDescription": "پس از فعال‌سازی، عملکردهای ثبت‌نام، ورود، اتصال و قطع اتصال تلفن همراه فعال خواهند شد",
"saveFailed": "ذخیره‌سازی ناموفق بود",
"saveSuccess": "ذخیره با موفقیت انجام شد"
}